{"version":3,"file":"nodenext.cjs","sources":["../../src/_shims/node20-runtime.ts","../../src/shims/nodenext.ts"],"sourcesContent":["import { ReadStream as FsReadStream } from 'node:fs';\nimport { type Agent } from 'node:http';\nimport { Readable } from 'node:stream';\nimport { ReadableStream } from 'node:stream/web';\n\nimport KeepAliveAgent from 'agentkeepalive';\nimport { FormDataEncoder } from 'form-data-encoder';\n\nimport { type RequestOptions } from '../types';\nimport { MultipartBody } from './MultipartBody';\nimport { type Shims } from './registry';\n\nconst defaultHttpAgent: Agent = new KeepAliveAgent({\n  keepAlive: true,\n  timeout: 5 * 60 * 1000,\n});\nconst defaultHttpsAgent: Agent = new KeepAliveAgent.HttpsAgent({\n  keepAlive: true,\n  timeout: 5 * 60 * 1000,\n});\n\nasync function getMultipartRequestOptions<\n  T extends NonNullable<unknown> = Record<string, unknown>,\n>(\n  form: globalThis.FormData,\n  opts: RequestOptions<T>,\n): Promise<RequestOptions<T>> {\n  const encoder = new FormDataEncoder(form);\n  const readable = Readable.from(encoder);\n  const body = new MultipartBody(readable);\n\n  const headers = {\n    ...opts.headers,\n    ...encoder.headers,\n    'Content-Length': encoder.contentLength,\n  };\n\n  return { ...opts, body: body as any, headers };\n}\n\nexport function getRuntime(): Shims {\n  return {\n    kind: 'node',\n    getMultipartRequestOptions,\n    getDefaultAgent: (url: string): Agent =>\n      url.startsWith('https') ? defaultHttpsAgent : defaultHttpAgent,\n    isFsReadStream: (value: any): value is FsReadStream =>\n      value instanceof FsReadStream,\n\n    // Added in: v16.15.0\n    fetch: globalThis.fetch,\n    Request: globalThis.Request,\n    Response: globalThis.Response,\n    Headers: globalThis.Headers,\n    FormData: globalThis.FormData,\n\n    // Added in: v18.0.0\n    Blob: globalThis.Blob,\n    ReadableStream,\n\n    // Added in: v20.0.0\n    File: globalThis.File,\n  };\n}\n","import { getRuntime } from '../_shims/node20-runtime';\nimport { setShims } from '../_shims/registry';\n\nsetShims(getRuntime());\n"],"names":["defaultHttpAgent","KeepAliveAgent","defaultHttpsAgent","getMultipartRequestOptions","form","opts","encoder","FormDataEncoder","readable","Readable","body","MultipartBody","headers","getRuntime","url","value","FsReadStream","ReadableStream","setShims"],"mappings":"mPAYMA,EAA0B,IAAIC,EAAe,CACjD,UAAW,GACX,QAAS,EAAI,GAAK,GACpB,CAAC,EACKC,EAA2B,IAAID,EAAe,WAAW,CAC7D,UAAW,GACX,QAAS,EAAI,GAAK,GACpB,CAAC,EAED,eAAeE,EAGbC,EACAC,EAC4B,CACtB,MAAAC,EAAU,IAAIC,kBAAgBH,CAAI,EAClCI,EAAWC,EAAAA,SAAS,KAAKH,CAAO,EAChCI,EAAO,IAAIC,gBAAcH,CAAQ,EAEjCI,EAAU,CACd,GAAGP,EAAK,QACR,GAAGC,EAAQ,QACX,iBAAkBA,EAAQ,aAAA,EAG5B,MAAO,CAAE,GAAGD,EAAM,KAAAK,EAAmB,QAAAE,CAAQ,CAC/C,CAEO,SAASC,GAAoB,CAC3B,MAAA,CACL,KAAM,OACN,2BAAAV,EACA,gBAAkBW,GAChBA,EAAI,WAAW,OAAO,EAAIZ,EAAoBF,EAChD,eAAiBe,GACfA,aAAiBC,EAAA,WAGnB,MAAO,WAAW,MAClB,QAAS,WAAW,QACpB,SAAU,WAAW,SACrB,QAAS,WAAW,QACpB,SAAU,WAAW,SAGrB,KAAM,WAAW,KAAA,eACjBC,EAAA,eAGA,KAAM,WAAW,IAAA,CAErB,CC5DAC,EAAA,SAASL,GAAY"}