@whatwg-node/server
Advanced tools
Comparing version 0.9.55-rc-20241113153244-a8ed3b0fa2d9db5ff5f58bceb02eacd62b7c39ce to 0.9.55-rc-20241114092224-004cd6c3ed1bb8d9dc93f357ebcfd1d8b6061327
104
cjs/utils.js
@@ -448,99 +448,13 @@ "use strict"; | ||
} | ||
originalCtx = {}; | ||
return { | ||
waitUntil(promise) { | ||
waitUntilPromises.push(promise.catch(err => console.error(err))); | ||
}, | ||
}; | ||
} | ||
const extraPropsByReceiver = new WeakMap(); | ||
const deletedPropsByReceiver = new WeakMap(); | ||
function getExtraProps(receiver) { | ||
let extraProps = extraPropsByReceiver.get(receiver); | ||
if (!extraProps) { | ||
extraProps = {}; | ||
extraPropsByReceiver.set(receiver, extraProps); | ||
} | ||
return extraProps; | ||
} | ||
function getDeletedProps(receiver) { | ||
let deletedProps = deletedPropsByReceiver.get(receiver); | ||
if (!deletedProps) { | ||
deletedProps = new Set(); | ||
deletedPropsByReceiver.set(receiver, deletedProps); | ||
} | ||
return deletedProps; | ||
} | ||
return new Proxy(originalCtx, { | ||
get(originalCtx, prop, receiver) { | ||
if (waitUntilPromises != null && prop === 'waitUntil') { | ||
return function waitUntil(promise) { | ||
waitUntilPromises.push(promise.catch(err => console.error(err))); | ||
}; | ||
} | ||
const extraProps = getExtraProps(receiver); | ||
const extraPropVal = extraProps[prop]; | ||
if (extraPropVal != null) { | ||
if (typeof extraPropVal === 'function') { | ||
return extraPropVal.bind(extraProps); | ||
} | ||
return extraPropVal; | ||
} | ||
const deletedProps = getDeletedProps(receiver); | ||
if (deletedProps.has(prop)) { | ||
return undefined; | ||
} | ||
return originalCtx[prop]; | ||
return completeAssign(Object.create(originalCtx), { | ||
waitUntil(promise) { | ||
waitUntilPromises?.push(promise.catch(err => console.error(err))); | ||
}, | ||
set(_originalCtx, prop, value, receiver) { | ||
const extraProps = getExtraProps(receiver); | ||
extraProps[prop] = value; | ||
return true; | ||
}, | ||
has(originalCtx, prop) { | ||
if (waitUntilPromises != null && prop === 'waitUntil') { | ||
return true; | ||
} | ||
const deletedProps = getDeletedProps(originalCtx); | ||
if (deletedProps.has(prop)) { | ||
return false; | ||
} | ||
const extraProps = getExtraProps(originalCtx); | ||
if (prop in extraProps) { | ||
return true; | ||
} | ||
return prop in originalCtx; | ||
}, | ||
defineProperty(originalCtx, prop, descriptor) { | ||
const extraProps = getExtraProps(originalCtx); | ||
return Reflect.defineProperty(extraProps, prop, descriptor); | ||
}, | ||
deleteProperty(originalCtx, prop) { | ||
const extraProps = getExtraProps(originalCtx); | ||
if (prop in extraProps) { | ||
return Reflect.deleteProperty(extraProps, prop); | ||
} | ||
const deletedProps = getDeletedProps(originalCtx); | ||
deletedProps.add(prop); | ||
return true; | ||
}, | ||
ownKeys(originalCtx) { | ||
const extraProps = getExtraProps(originalCtx); | ||
const extraKeys = Reflect.ownKeys(extraProps); | ||
const originalKeys = Reflect.ownKeys(originalCtx); | ||
const deletedProps = getDeletedProps(originalCtx); | ||
const deletedKeys = Array.from(deletedProps); | ||
const allKeys = new Set(extraKeys.concat(originalKeys.filter(keys => !deletedKeys.includes(keys)))); | ||
if (waitUntilPromises != null) { | ||
allKeys.add('waitUntil'); | ||
} | ||
return Array.from(allKeys); | ||
}, | ||
getOwnPropertyDescriptor(originalCtx, prop) { | ||
const extraProps = getExtraProps(originalCtx); | ||
if (prop in extraProps) { | ||
return Reflect.getOwnPropertyDescriptor(extraProps, prop); | ||
} | ||
const deletedProps = getDeletedProps(originalCtx); | ||
if (deletedProps.has(prop)) { | ||
return undefined; | ||
} | ||
return Reflect.getOwnPropertyDescriptor(originalCtx, prop); | ||
}, | ||
}); | ||
}, originalCtx); | ||
} | ||
@@ -547,0 +461,0 @@ function createDeferredPromise() { |
104
esm/utils.js
@@ -426,99 +426,13 @@ export function isAsyncIterable(body) { | ||
} | ||
originalCtx = {}; | ||
return { | ||
waitUntil(promise) { | ||
waitUntilPromises.push(promise.catch(err => console.error(err))); | ||
}, | ||
}; | ||
} | ||
const extraPropsByReceiver = new WeakMap(); | ||
const deletedPropsByReceiver = new WeakMap(); | ||
function getExtraProps(receiver) { | ||
let extraProps = extraPropsByReceiver.get(receiver); | ||
if (!extraProps) { | ||
extraProps = {}; | ||
extraPropsByReceiver.set(receiver, extraProps); | ||
} | ||
return extraProps; | ||
} | ||
function getDeletedProps(receiver) { | ||
let deletedProps = deletedPropsByReceiver.get(receiver); | ||
if (!deletedProps) { | ||
deletedProps = new Set(); | ||
deletedPropsByReceiver.set(receiver, deletedProps); | ||
} | ||
return deletedProps; | ||
} | ||
return new Proxy(originalCtx, { | ||
get(originalCtx, prop, receiver) { | ||
if (waitUntilPromises != null && prop === 'waitUntil') { | ||
return function waitUntil(promise) { | ||
waitUntilPromises.push(promise.catch(err => console.error(err))); | ||
}; | ||
} | ||
const extraProps = getExtraProps(receiver); | ||
const extraPropVal = extraProps[prop]; | ||
if (extraPropVal != null) { | ||
if (typeof extraPropVal === 'function') { | ||
return extraPropVal.bind(extraProps); | ||
} | ||
return extraPropVal; | ||
} | ||
const deletedProps = getDeletedProps(receiver); | ||
if (deletedProps.has(prop)) { | ||
return undefined; | ||
} | ||
return originalCtx[prop]; | ||
return completeAssign(Object.create(originalCtx), { | ||
waitUntil(promise) { | ||
waitUntilPromises?.push(promise.catch(err => console.error(err))); | ||
}, | ||
set(_originalCtx, prop, value, receiver) { | ||
const extraProps = getExtraProps(receiver); | ||
extraProps[prop] = value; | ||
return true; | ||
}, | ||
has(originalCtx, prop) { | ||
if (waitUntilPromises != null && prop === 'waitUntil') { | ||
return true; | ||
} | ||
const deletedProps = getDeletedProps(originalCtx); | ||
if (deletedProps.has(prop)) { | ||
return false; | ||
} | ||
const extraProps = getExtraProps(originalCtx); | ||
if (prop in extraProps) { | ||
return true; | ||
} | ||
return prop in originalCtx; | ||
}, | ||
defineProperty(originalCtx, prop, descriptor) { | ||
const extraProps = getExtraProps(originalCtx); | ||
return Reflect.defineProperty(extraProps, prop, descriptor); | ||
}, | ||
deleteProperty(originalCtx, prop) { | ||
const extraProps = getExtraProps(originalCtx); | ||
if (prop in extraProps) { | ||
return Reflect.deleteProperty(extraProps, prop); | ||
} | ||
const deletedProps = getDeletedProps(originalCtx); | ||
deletedProps.add(prop); | ||
return true; | ||
}, | ||
ownKeys(originalCtx) { | ||
const extraProps = getExtraProps(originalCtx); | ||
const extraKeys = Reflect.ownKeys(extraProps); | ||
const originalKeys = Reflect.ownKeys(originalCtx); | ||
const deletedProps = getDeletedProps(originalCtx); | ||
const deletedKeys = Array.from(deletedProps); | ||
const allKeys = new Set(extraKeys.concat(originalKeys.filter(keys => !deletedKeys.includes(keys)))); | ||
if (waitUntilPromises != null) { | ||
allKeys.add('waitUntil'); | ||
} | ||
return Array.from(allKeys); | ||
}, | ||
getOwnPropertyDescriptor(originalCtx, prop) { | ||
const extraProps = getExtraProps(originalCtx); | ||
if (prop in extraProps) { | ||
return Reflect.getOwnPropertyDescriptor(extraProps, prop); | ||
} | ||
const deletedProps = getDeletedProps(originalCtx); | ||
if (deletedProps.has(prop)) { | ||
return undefined; | ||
} | ||
return Reflect.getOwnPropertyDescriptor(originalCtx, prop); | ||
}, | ||
}); | ||
}, originalCtx); | ||
} | ||
@@ -525,0 +439,0 @@ export function createDeferredPromise() { |
{ | ||
"name": "@whatwg-node/server", | ||
"version": "0.9.55-rc-20241113153244-a8ed3b0fa2d9db5ff5f58bceb02eacd62b7c39ce", | ||
"version": "0.9.55-rc-20241114092224-004cd6c3ed1bb8d9dc93f357ebcfd1d8b6061327", | ||
"description": "Fetch API compliant HTTP Server adapter", | ||
@@ -5,0 +5,0 @@ "sideEffects": false, |
@@ -77,3 +77,3 @@ import type { RequestListener } from 'http'; | ||
}; | ||
export type WaitUntilFn = (promise: Promise<unknown>) => void; | ||
export type WaitUntilFn = (promise: Promise<void> | void) => void; | ||
export type FetchAPI = ReturnType<typeof import('@whatwg-node/fetch').createFetch>; | ||
@@ -80,0 +80,0 @@ export type ServerAdapterInitialContext = { |
Sorry, the diff of this file is not supported yet
147839
3144