{"version":3,"sources":["../src/runtime.ts","../src/index.ts"],"names":["options"],"mappings":"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","file":"index.mjs","sourcesContent":["import type {\n  HTTPClient,\n  HTTPResponse,\n  HTTPOptions,\n  HTTPMethod,\n  BatchRequest,\n  ExtendedHTTPClient,\n} from './types';\n\nfunction isR6Runtime(): boolean {\n  return (\n    typeof globalThis !== 'undefined' &&\n    typeof (globalThis as any).Deno !== 'undefined' &&\n    typeof (globalThis as any).Deno.core !== 'undefined'\n  );\n}\nclass R6HTTPClient implements ExtendedHTTPClient {\n  async get(url: string, options?: HTTPOptions): Promise<HTTPResponse> {\n    if (!isR6Runtime()) {\n      throw new Error('HTTP operations are only available in r6-rs runtime. Please run with: r6 your-script.ts');\n    }\n    return (globalThis as any).Deno.core.ops.op_http_get(url, options);\n  }\n\n  async post(\n    url: string,\n    body?: any,\n    options?: HTTPOptions\n  ): Promise<HTTPResponse> {\n    if (!isR6Runtime()) {\n      throw new Error('HTTP operations are only available in r6-rs runtime. Please run with: r6 your-script.ts');\n    }\n    return (globalThis as any).Deno.core.ops.op_http_post(url, body, options);\n  }\n\n  async put(\n    url: string,\n    body?: any,\n    options?: HTTPOptions\n  ): Promise<HTTPResponse> {\n    if (!isR6Runtime()) {\n      throw new Error('HTTP operations are only available in r6-rs runtime. Please run with: r6 your-script.ts');\n    }\n    return (globalThis as any).Deno.core.ops.op_http_put(url, body, options);\n  }\n\n  async patch(\n    url: string,\n    body?: any,\n    options?: HTTPOptions\n  ): Promise<HTTPResponse> {\n    if (!isR6Runtime()) {\n      throw new Error('HTTP operations are only available in r6-rs runtime. Please run with: r6 your-script.ts');\n    }\n    return (globalThis as any).Deno.core.ops.op_http_patch(url, body, options);\n  }\n\n  async del(url: string, options?: HTTPOptions): Promise<HTTPResponse> {\n    if (!isR6Runtime()) {\n      throw new Error('HTTP operations are only available in r6-rs runtime. Please run with: r6 your-script.ts');\n    }\n    return (globalThis as any).Deno.core.ops.op_http_delete(url, options);\n  }\n\n  async head(url: string, options?: HTTPOptions): Promise<HTTPResponse> {\n    if (!isR6Runtime()) {\n      throw new Error('HTTP operations are only available in r6-rs runtime. Please run with: r6 your-script.ts');\n    }\n    const response = await (globalThis as any).Deno.core.ops.op_http_get(url, options);\n    return { ...response, body: undefined };\n  }\n\n  async options(url: string, options?: HTTPOptions): Promise<HTTPResponse> {\n    if (!isR6Runtime()) {\n      throw new Error('HTTP operations are only available in r6-rs runtime. Please run with: r6 your-script.ts');\n    }\n    return this.request('OPTIONS', url, undefined, options);\n  }\n\n  async request(\n    method: HTTPMethod,\n    url: string,\n    body?: any,\n    options?: HTTPOptions\n  ): Promise<HTTPResponse> {\n    switch (method.toUpperCase() as HTTPMethod) {\n      case 'GET':\n        return this.get(url, options);\n      case 'POST':\n        return this.post(url, body, options);\n      case 'PUT':\n        return this.put(url, body, options);\n      case 'PATCH':\n        return this.patch(url, body, options);\n      case 'DELETE':\n        return this.del(url, options);\n      case 'HEAD':\n        return this.head(url, options);\n      case 'OPTIONS':\n        return this.options(url, options);\n      default:\n        throw new Error(`Unsupported HTTP method: ${method}`);\n    }\n  }\n\n  async batch(requests: BatchRequest[]): Promise<HTTPResponse[]> {\n    const promises = requests.map((req) =>\n      this.request(req.method, req.url, req.body, req.options)\n    );\n    return Promise.all(promises);\n  }\n\n}\n\nconst httpClient = new R6HTTPClient();\n\nexport const get = httpClient.get.bind(httpClient);\nexport const post = httpClient.post.bind(httpClient);\nexport const put = httpClient.put.bind(httpClient);\nexport const patch = httpClient.patch.bind(httpClient);\nexport const del = httpClient.del.bind(httpClient);\nexport const head = httpClient.head.bind(httpClient);\nexport const options = httpClient.options.bind(httpClient);\nexport const request = httpClient.request.bind(httpClient);\nexport const batch = httpClient.batch.bind(httpClient);\n\nexport { httpClient as http };\nexport default httpClient;\n","/**\n * @r6-rs/http - TypeScript definitions and runtime types for r6-rs HTTP module\n *\n * This package provides TypeScript support for r6-rs load testing tool,\n * offering full compatibility with k6 HTTP module while adding r6-rs specific features.\n *\n * @example Basic usage\n * ```typescript\n * import http from '@r6-rs/http';\n *\n * async function defaultTest() {\n *   const response = await http.get('https://api.example.com/health');\n *   console.log(`Status: ${response.status}`);\n *   return response.ok;\n * }\n * ```\n *\n * @example k6 compatibility\n * ```typescript\n * import http from '@r6-rs/http/k6';\n * // Now use exactly like k6 http module\n * ```\n */\n\nexport * from './types';\nexport * from './runtime';\n\nimport * as http from './runtime';\nexport default http;\n"]}