@edge-runtime/primitives
Advanced tools
Comparing version 2.2.0-beta.2 to 2.2.0-beta.3
"use strict"; | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
return to; | ||
}; | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
// If the importer is in node compatibility mode or this is not an ESM | ||
// file that has been converted to a CommonJS file using a Babel- | ||
// compatible transform (i.e. "__esModule" has not been set), then set | ||
// "default" to the CommonJS "module.exports" for node compatibility. | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
// src/primitives/index.js | ||
var import_module = __toESM(require("module")); | ||
var import_path = require("path"); | ||
var import_fs = require("fs"); | ||
var path = require("path"); | ||
function load() { | ||
const context = {}; | ||
const encodingImpl = require("./encoding"); | ||
Object.assign(context, { | ||
TextDecoder: encodingImpl.TextDecoder, | ||
TextEncoder: encodingImpl.TextEncoder, | ||
atob: encodingImpl.atob, | ||
btoa: encodingImpl.btoa | ||
}); | ||
const consoleImpl = requireWithFakeGlobalScope({ | ||
context, | ||
path: path.resolve(__dirname, "./console.js"), | ||
scopedContext: {} | ||
}); | ||
Object.assign(context, { console: consoleImpl.console }); | ||
const eventsImpl = require("./events"); | ||
Object.assign(context, { | ||
Event: eventsImpl.Event, | ||
EventTarget: eventsImpl.EventTarget, | ||
FetchEvent: eventsImpl.FetchEvent, | ||
PromiseRejectionEvent: eventsImpl.PromiseRejectionEvent | ||
}); | ||
const streamsImpl = require("./streams"); | ||
const textEncodingStreamImpl = requireWithFakeGlobalScope({ | ||
context, | ||
path: path.resolve(__dirname, "./text-encoding-streams.js"), | ||
scopedContext: streamsImpl | ||
}); | ||
Object.assign(context, { | ||
ReadableStream: streamsImpl.ReadableStream, | ||
ReadableStreamBYOBReader: streamsImpl.ReadableStreamBYOBReader, | ||
ReadableStreamDefaultReader: streamsImpl.ReadableStreamDefaultReader, | ||
TextDecoderStream: textEncodingStreamImpl.TextDecoderStream, | ||
TextEncoderStream: textEncodingStreamImpl.TextEncoderStream, | ||
TransformStream: streamsImpl.TransformStream, | ||
WritableStream: streamsImpl.WritableStream, | ||
WritableStreamDefaultWriter: streamsImpl.WritableStreamDefaultWriter | ||
}); | ||
const abortControllerImpl = requireWithFakeGlobalScope({ | ||
context, | ||
path: path.resolve(__dirname, "./abort-controller.js"), | ||
scopedContext: eventsImpl | ||
}); | ||
Object.assign(context, abortControllerImpl); | ||
const urlImpl = require("./url"); | ||
Object.assign(context, { | ||
URL: urlImpl.URL, | ||
URLSearchParams: urlImpl.URLSearchParams, | ||
URLPattern: urlImpl.URLPattern | ||
}); | ||
const blobImpl = requireWithFakeGlobalScope({ | ||
context, | ||
path: path.resolve(__dirname, "./blob.js"), | ||
scopedContext: streamsImpl | ||
}); | ||
Object.assign(context, { | ||
Blob: blobImpl.Blob | ||
}); | ||
const structuredCloneImpl = requireWithFakeGlobalScope({ | ||
path: path.resolve(__dirname, "./structured-clone.js"), | ||
context, | ||
scopedContext: streamsImpl | ||
}); | ||
Object.assign(context, { | ||
structuredClone: structuredCloneImpl.structuredClone | ||
}); | ||
const fetchImpl = requireWithFakeGlobalScope({ | ||
context, | ||
path: path.resolve(__dirname, "./fetch.js"), | ||
cache: /* @__PURE__ */ new Map([ | ||
["abort-controller", { exports: abortControllerImpl }], | ||
["streams", { exports: streamsImpl }] | ||
]), | ||
scopedContext: { | ||
...streamsImpl, | ||
...urlImpl, | ||
...abortControllerImpl, | ||
...eventsImpl, | ||
structuredClone: context.structuredClone | ||
} | ||
}); | ||
Object.assign(context, { | ||
fetch: fetchImpl.fetch, | ||
File: fetchImpl.File, | ||
FormData: fetchImpl.FormData, | ||
Headers: fetchImpl.Headers, | ||
Request: fetchImpl.Request, | ||
Response: fetchImpl.Response, | ||
WebSocket: fetchImpl.WebSocket | ||
}); | ||
const cryptoImpl = require("./crypto"); | ||
Object.assign(context, { | ||
crypto: cryptoImpl.crypto, | ||
Crypto: cryptoImpl.Crypto, | ||
CryptoKey: cryptoImpl.CryptoKey, | ||
SubtleCrypto: cryptoImpl.SubtleCrypto | ||
}); | ||
return context; | ||
} | ||
__name(load, "load"); | ||
module.exports = load(); | ||
function requireWithFakeGlobalScope(params) { | ||
const resolved = path.resolve(params.path); | ||
const getModuleCode = `(function(module,exports,require,__dirname,__filename,globalThis,${Object.keys( | ||
params.scopedContext | ||
).join(",")}) {${(0, import_fs.readFileSync)(resolved, "utf-8")} | ||
})`; | ||
const module = { | ||
exports: {}, | ||
loaded: false, | ||
id: resolved | ||
}; | ||
const moduleRequire = (import_module.default.createRequire || import_module.default.createRequireFromPath)( | ||
resolved | ||
); | ||
function throwingRequire(path2) { | ||
if (path2.startsWith("./")) { | ||
const moduleName = path2.replace(/^\.\//, ""); | ||
if (!params.cache || !params.cache.has(moduleName)) { | ||
throw new Error(`Cannot find module '${moduleName}'`); | ||
} | ||
return params.cache.get(moduleName).exports; | ||
} | ||
return moduleRequire(path2); | ||
} | ||
__name(throwingRequire, "throwingRequire"); | ||
throwingRequire.resolve = moduleRequire.resolve.bind(moduleRequire); | ||
eval(getModuleCode)( | ||
module, | ||
module.exports, | ||
throwingRequire, | ||
(0, import_path.dirname)(resolved), | ||
resolved, | ||
params.context, | ||
...Object.values(params.scopedContext) | ||
); | ||
return module.exports; | ||
} | ||
__name(requireWithFakeGlobalScope, "requireWithFakeGlobalScope"); | ||
var import_load = require("./load"); | ||
module.exports = (0, import_load.load)({ WeakRef: global.WeakRef }); |
@@ -5,3 +5,3 @@ { | ||
"homepage": "https://edge-runtime.vercel.app/packages/primitives", | ||
"version": "2.2.0-beta.2", | ||
"version": "2.2.0-beta.3", | ||
"main": "dist/index.js", | ||
@@ -8,0 +8,0 @@ "repository": { |
@@ -7,2 +7,3 @@ declare class Headers extends globalThis.Headers { | ||
readonly headers: Headers | ||
readonly duplex: string | ||
} | ||
@@ -15,4 +16,4 @@ | ||
type RequestInfo = Parameters<typeof fetch>[0] | ||
type RequestInit = Parameters<typeof fetch>[1] | ||
type RequestInfo = string | Request | globalThis.Request | ||
type RequestInit = globalThis.RequestInit | ||
declare const fetchImplementation: ( | ||
@@ -19,0 +20,0 @@ info: RequestInfo, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1519250
54
34204