@miniflare/runner-vm
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -39,49 +39,61 @@ var __create = Object.create; | ||
// packages/runner-vm/src/instanceof.ts | ||
var import_util = __toModule(require("util")); | ||
var import_vm = __toModule(require("vm")); | ||
function isObject(value) { | ||
return value !== null && typeof value === "object"; | ||
function ordinaryHasInstance(C, O) { | ||
if (typeof C !== "function") | ||
return false; | ||
if (typeof O !== "object" && typeof O !== "function") | ||
return false; | ||
const P = C.prototype; | ||
if (typeof P !== "object" && typeof P !== "function") { | ||
throw new TypeError(`Function has non-object prototype '${P}' in instanceof check`); | ||
} | ||
while ((O = Object.getPrototypeOf(O)) !== null) { | ||
if (P === O) | ||
return true; | ||
} | ||
return false; | ||
} | ||
function isFunction(value) { | ||
return typeof value === "function"; | ||
function instanceOf(V, insideTarget, outsideTarget) { | ||
return ordinaryHasInstance(insideTarget, V) || ordinaryHasInstance(outsideTarget, V); | ||
} | ||
function isError(errorCtor) { | ||
const name = errorCtor.prototype.name; | ||
return function(value) { | ||
if (!import_util.default.types.isNativeError(value)) | ||
return false; | ||
let prototype = value; | ||
while ((prototype = Object.getPrototypeOf(prototype)) !== null) { | ||
if (prototype.name === name) | ||
return true; | ||
var outsideTargets = { | ||
Object, | ||
Function, | ||
Array, | ||
Promise, | ||
RegExp, | ||
Error, | ||
EvalError, | ||
RangeError, | ||
ReferenceError, | ||
SyntaxError, | ||
TypeError, | ||
URIError | ||
}; | ||
function defineHasInstance(insideTarget) { | ||
const outsideTarget = outsideTargets[insideTarget.name]; | ||
Object.defineProperty(insideTarget, Symbol.hasInstance, { | ||
value(value) { | ||
return instanceOf(value, insideTarget, outsideTarget); | ||
} | ||
return false; | ||
}; | ||
}); | ||
} | ||
var types = { | ||
isObject, | ||
isFunction, | ||
isArray: Array.isArray, | ||
isPromise: import_util.default.types.isPromise, | ||
isRegExp: import_util.default.types.isRegExp, | ||
isError | ||
}; | ||
var defineHasInstancesScript = new import_vm.default.Script(`(function(types) { | ||
// Only define properties once, will throw if we try doing this twice | ||
if (Object[Symbol.hasInstance] === types.isObject) return; | ||
Object.defineProperty(Object, Symbol.hasInstance, { value: types.isObject }); | ||
Object.defineProperty(Function, Symbol.hasInstance, { value: types.isFunction }); | ||
Object.defineProperty(Array, Symbol.hasInstance, { value: types.isArray }); | ||
Object.defineProperty(Promise, Symbol.hasInstance, { value: types.isPromise }); | ||
Object.defineProperty(RegExp, Symbol.hasInstance, { value: types.isRegExp }); | ||
Object.defineProperty(Error, Symbol.hasInstance, { value: types.isError(Error) }); | ||
Object.defineProperty(EvalError, Symbol.hasInstance, { value: types.isError(EvalError) }); | ||
Object.defineProperty(RangeError, Symbol.hasInstance, { value: types.isError(RangeError) }); | ||
Object.defineProperty(ReferenceError, Symbol.hasInstance, { value: types.isError(ReferenceError) }); | ||
Object.defineProperty(SyntaxError, Symbol.hasInstance, { value: types.isError(SyntaxError) }); | ||
Object.defineProperty(TypeError, Symbol.hasInstance, { value: types.isError(TypeError) }); | ||
Object.defineProperty(URIError, Symbol.hasInstance, { value: types.isError(URIError) }); | ||
var defineHasInstancesScript = new import_vm.default.Script(`(function(defineHasInstance) { | ||
// Only define properties once, would throw if we tried doing this twice | ||
if (Object.hasOwnProperty(Symbol.hasInstance)) return; | ||
defineHasInstance(Object); | ||
defineHasInstance(Function); | ||
defineHasInstance(Array); | ||
defineHasInstance(Promise); | ||
defineHasInstance(RegExp); | ||
defineHasInstance(Error); | ||
defineHasInstance(EvalError); | ||
defineHasInstance(RangeError); | ||
defineHasInstance(ReferenceError); | ||
defineHasInstance(SyntaxError); | ||
defineHasInstance(TypeError); | ||
defineHasInstance(URIError); | ||
})`, { filename: "<defineHasInstancesScript>" }); | ||
function defineHasInstances(ctx) { | ||
defineHasInstancesScript.runInContext(ctx)(types); | ||
defineHasInstancesScript.runInContext(ctx)(defineHasInstance); | ||
} | ||
@@ -88,0 +100,0 @@ |
{ | ||
"name": "@miniflare/runner-vm", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "VM script runner module for Miniflare: a fun, full-featured, fully-local simulator for Cloudflare Workers", | ||
@@ -38,7 +38,7 @@ "keywords": [ | ||
"dependencies": { | ||
"@miniflare/shared": "2.0.0" | ||
"@miniflare/shared": "2.1.0" | ||
}, | ||
"devDependencies": { | ||
"@miniflare/shared-test": "2.0.0" | ||
"@miniflare/shared-test": "2.1.0" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
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
315
19867
+ Added@miniflare/shared@2.1.0(transitive)
- Removed@miniflare/shared@2.0.0(transitive)
Updated@miniflare/shared@2.1.0