@warp-drive/core 5.6.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/LICENSE.md +23 -0
- package/README.md +70 -0
- package/addon-main.cjs +5 -0
- package/cjs-dist/addon-shim.cjs +1 -0
- package/cjs-dist/cjs-set-config.cjs +1 -0
- package/declarations/build-config/babel-macros.d.ts +2 -0
- package/declarations/build-config/babel-macros.d.ts.map +1 -0
- package/declarations/build-config/canary-features.d.ts +2 -0
- package/declarations/build-config/canary-features.d.ts.map +1 -0
- package/declarations/build-config/debugging.d.ts +2 -0
- package/declarations/build-config/debugging.d.ts.map +1 -0
- package/declarations/build-config/deprecations.d.ts +2 -0
- package/declarations/build-config/deprecations.d.ts.map +1 -0
- package/declarations/build-config/env.d.ts +2 -0
- package/declarations/build-config/env.d.ts.map +1 -0
- package/declarations/build-config/macros.d.ts +2 -0
- package/declarations/build-config/macros.d.ts.map +1 -0
- package/declarations/build-config.d.ts +2 -0
- package/declarations/build-config.d.ts.map +1 -0
- package/declarations/configure.d.ts +8 -0
- package/declarations/configure.d.ts.map +1 -0
- package/declarations/graph/-private/-diff.d.ts +33 -0
- package/declarations/graph/-private/-diff.d.ts.map +1 -0
- package/declarations/graph/-private/-edge-definition.d.ts +149 -0
- package/declarations/graph/-private/-edge-definition.d.ts.map +1 -0
- package/declarations/graph/-private/-state.d.ts +10 -0
- package/declarations/graph/-private/-state.d.ts.map +1 -0
- package/declarations/graph/-private/-utils.d.ts +26 -0
- package/declarations/graph/-private/-utils.d.ts.map +1 -0
- package/declarations/graph/-private/coerce-id.d.ts +5 -0
- package/declarations/graph/-private/coerce-id.d.ts.map +1 -0
- package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +7 -0
- package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts.map +1 -0
- package/declarations/graph/-private/edges/collection.d.ts +40 -0
- package/declarations/graph/-private/edges/collection.d.ts.map +1 -0
- package/declarations/graph/-private/edges/implicit.d.ts +14 -0
- package/declarations/graph/-private/edges/implicit.d.ts.map +1 -0
- package/declarations/graph/-private/edges/resource.d.ts +25 -0
- package/declarations/graph/-private/edges/resource.d.ts.map +1 -0
- package/declarations/graph/-private/graph.d.ts +55 -0
- package/declarations/graph/-private/graph.d.ts.map +1 -0
- package/declarations/graph/-private/normalize-link.d.ts +3 -0
- package/declarations/graph/-private/normalize-link.d.ts.map +1 -0
- package/declarations/graph/-private/operations/add-to-related-records.d.ts +5 -0
- package/declarations/graph/-private/operations/add-to-related-records.d.ts.map +1 -0
- package/declarations/graph/-private/operations/merge-identifier.d.ts +4 -0
- package/declarations/graph/-private/operations/merge-identifier.d.ts.map +1 -0
- package/declarations/graph/-private/operations/remove-from-related-records.d.ts +5 -0
- package/declarations/graph/-private/operations/remove-from-related-records.d.ts.map +1 -0
- package/declarations/graph/-private/operations/replace-related-record.d.ts +4 -0
- package/declarations/graph/-private/operations/replace-related-record.d.ts.map +1 -0
- package/declarations/graph/-private/operations/replace-related-records.d.ts +8 -0
- package/declarations/graph/-private/operations/replace-related-records.d.ts.map +1 -0
- package/declarations/graph/-private/operations/update-relationship.d.ts +11 -0
- package/declarations/graph/-private/operations/update-relationship.d.ts.map +1 -0
- package/declarations/graph/-private.d.ts +14 -0
- package/declarations/graph/-private.d.ts.map +1 -0
- package/declarations/index.d.ts +15 -0
- package/declarations/index.d.ts.map +1 -0
- package/declarations/reactive/-private/document.d.ts +147 -0
- package/declarations/reactive/-private/document.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/compute.d.ts +40 -0
- package/declarations/reactive/-private/fields/compute.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/managed-array.d.ts +23 -0
- package/declarations/reactive/-private/fields/managed-array.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/managed-object.d.ts +21 -0
- package/declarations/reactive/-private/fields/managed-object.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/many-array-manager.d.ts +20 -0
- package/declarations/reactive/-private/fields/many-array-manager.d.ts.map +1 -0
- package/declarations/reactive/-private/hooks.d.ts +6 -0
- package/declarations/reactive/-private/hooks.d.ts.map +1 -0
- package/declarations/reactive/-private/record.d.ts +61 -0
- package/declarations/reactive/-private/record.d.ts.map +1 -0
- package/declarations/reactive/-private/schema.d.ts +180 -0
- package/declarations/reactive/-private/schema.d.ts.map +1 -0
- package/declarations/reactive/-private/symbols.d.ts +11 -0
- package/declarations/reactive/-private/symbols.d.ts.map +1 -0
- package/declarations/reactive/-private.d.ts +2 -0
- package/declarations/reactive/-private.d.ts.map +1 -0
- package/declarations/reactive.d.ts +5 -0
- package/declarations/reactive.d.ts.map +1 -0
- package/declarations/request/-private/context.d.ts +42 -0
- package/declarations/request/-private/context.d.ts.map +1 -0
- package/declarations/request/-private/debug.d.ts +5 -0
- package/declarations/request/-private/debug.d.ts.map +1 -0
- package/declarations/request/-private/fetch.d.ts +40 -0
- package/declarations/request/-private/fetch.d.ts.map +1 -0
- package/declarations/request/-private/future.d.ts +8 -0
- package/declarations/request/-private/future.d.ts.map +1 -0
- package/declarations/request/-private/manager.d.ts +160 -0
- package/declarations/request/-private/manager.d.ts.map +1 -0
- package/declarations/request/-private/promise-cache.d.ts +20 -0
- package/declarations/request/-private/promise-cache.d.ts.map +1 -0
- package/declarations/request/-private/types.d.ts +236 -0
- package/declarations/request/-private/types.d.ts.map +1 -0
- package/declarations/request/-private/utils.d.ts +16 -0
- package/declarations/request/-private/utils.d.ts.map +1 -0
- package/declarations/request.d.ts +6 -0
- package/declarations/request.d.ts.map +1 -0
- package/declarations/store/-private/cache-handler/handler.d.ts +57 -0
- package/declarations/store/-private/cache-handler/handler.d.ts.map +1 -0
- package/declarations/store/-private/cache-handler/types.d.ts +99 -0
- package/declarations/store/-private/cache-handler/types.d.ts.map +1 -0
- package/declarations/store/-private/cache-handler/utils.d.ts +32 -0
- package/declarations/store/-private/cache-handler/utils.d.ts.map +1 -0
- package/declarations/store/-private/caches/cache-utils.d.ts +9 -0
- package/declarations/store/-private/caches/cache-utils.d.ts.map +1 -0
- package/declarations/store/-private/caches/identifier-cache.d.ts +316 -0
- package/declarations/store/-private/caches/identifier-cache.d.ts.map +1 -0
- package/declarations/store/-private/caches/instance-cache.d.ts +65 -0
- package/declarations/store/-private/caches/instance-cache.d.ts.map +1 -0
- package/declarations/store/-private/caches/resource-utils.d.ts +10 -0
- package/declarations/store/-private/caches/resource-utils.d.ts.map +1 -0
- package/declarations/store/-private/debug/utils.d.ts +7 -0
- package/declarations/store/-private/debug/utils.d.ts.map +1 -0
- package/declarations/store/-private/default-cache-policy.d.ts +383 -0
- package/declarations/store/-private/default-cache-policy.d.ts.map +1 -0
- package/declarations/store/-private/legacy-model-support/record-reference.d.ts +164 -0
- package/declarations/store/-private/legacy-model-support/record-reference.d.ts.map +1 -0
- package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts +17 -0
- package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts.map +1 -0
- package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +26 -0
- package/declarations/store/-private/managers/cache-capabilities-manager.d.ts.map +1 -0
- package/declarations/store/-private/managers/cache-manager.d.ts +428 -0
- package/declarations/store/-private/managers/cache-manager.d.ts.map +1 -0
- package/declarations/store/-private/managers/notification-manager.d.ts +93 -0
- package/declarations/store/-private/managers/notification-manager.d.ts.map +1 -0
- package/declarations/store/-private/managers/record-array-manager.d.ts +98 -0
- package/declarations/store/-private/managers/record-array-manager.d.ts.map +1 -0
- package/declarations/store/-private/network/request-cache.d.ts +104 -0
- package/declarations/store/-private/network/request-cache.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/promise-state.d.ts +255 -0
- package/declarations/store/-private/new-core-tmp/promise-state.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +93 -0
- package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +170 -0
- package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +30 -0
- package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/request-state.d.ts +255 -0
- package/declarations/store/-private/new-core-tmp/request-state.d.ts.map +1 -0
- package/declarations/store/-private/record-arrays/identifier-array.d.ts +141 -0
- package/declarations/store/-private/record-arrays/identifier-array.d.ts.map +1 -0
- package/declarations/store/-private/record-arrays/many-array.d.ts +199 -0
- package/declarations/store/-private/record-arrays/many-array.d.ts.map +1 -0
- package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +116 -0
- package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts.map +1 -0
- package/declarations/store/-private/store-service.d.ts +1597 -0
- package/declarations/store/-private/store-service.d.ts.map +1 -0
- package/declarations/store/-private/store-service.type-test.d.ts +2 -0
- package/declarations/store/-private/store-service.type-test.d.ts.map +1 -0
- package/declarations/store/-private/utils/coerce-id.d.ts +5 -0
- package/declarations/store/-private/utils/coerce-id.d.ts.map +1 -0
- package/declarations/store/-private/utils/construct-resource.d.ts +7 -0
- package/declarations/store/-private/utils/construct-resource.d.ts.map +1 -0
- package/declarations/store/-private/utils/is-non-empty-string.d.ts +2 -0
- package/declarations/store/-private/utils/is-non-empty-string.d.ts.map +1 -0
- package/declarations/store/-private/utils/normalize-model-name.d.ts +2 -0
- package/declarations/store/-private/utils/normalize-model-name.d.ts.map +1 -0
- package/declarations/store/-private/utils/uuid-polyfill.d.ts +2 -0
- package/declarations/store/-private/utils/uuid-polyfill.d.ts.map +1 -0
- package/declarations/store/-private.d.ts +27 -0
- package/declarations/store/-private.d.ts.map +1 -0
- package/declarations/store/-types/q/cache-capabilities-manager.d.ts +100 -0
- package/declarations/store/-types/q/cache-capabilities-manager.d.ts.map +1 -0
- package/declarations/store/-types/q/ds-model.d.ts +22 -0
- package/declarations/store/-types/q/ds-model.d.ts.map +1 -0
- package/declarations/store/-types/q/identifier.d.ts +21 -0
- package/declarations/store/-types/q/identifier.d.ts.map +1 -0
- package/declarations/store/-types/q/promise-proxies.d.ts +2 -0
- package/declarations/store/-types/q/promise-proxies.d.ts.map +1 -0
- package/declarations/store/-types/q/record-data-json-api.d.ts +31 -0
- package/declarations/store/-types/q/record-data-json-api.d.ts.map +1 -0
- package/declarations/store/-types/q/record-instance.d.ts +24 -0
- package/declarations/store/-types/q/record-instance.d.ts.map +1 -0
- package/declarations/store/-types/q/schema-service.d.ts +331 -0
- package/declarations/store/-types/q/schema-service.d.ts.map +1 -0
- package/declarations/store/-types/q/store.d.ts +35 -0
- package/declarations/store/-types/q/store.d.ts.map +1 -0
- package/declarations/store.d.ts +2 -0
- package/declarations/store.d.ts.map +1 -0
- package/declarations/types/-private.d.ts +14 -0
- package/declarations/types/-private.d.ts.map +1 -0
- package/declarations/types/cache/aliases.d.ts +2 -0
- package/declarations/types/cache/aliases.d.ts.map +1 -0
- package/declarations/types/cache/change.d.ts +7 -0
- package/declarations/types/cache/change.d.ts.map +1 -0
- package/declarations/types/cache/mutations.d.ts +39 -0
- package/declarations/types/cache/mutations.d.ts.map +1 -0
- package/declarations/types/cache/operations.d.ts +72 -0
- package/declarations/types/cache/operations.d.ts.map +1 -0
- package/declarations/types/cache/relationship.d.ts +14 -0
- package/declarations/types/cache/relationship.d.ts.map +1 -0
- package/declarations/types/cache.d.ts +492 -0
- package/declarations/types/cache.d.ts.map +1 -0
- package/declarations/types/graph.d.ts +48 -0
- package/declarations/types/graph.d.ts.map +1 -0
- package/declarations/types/identifier.d.ts +111 -0
- package/declarations/types/identifier.d.ts.map +1 -0
- package/declarations/types/json/raw.d.ts +7 -0
- package/declarations/types/json/raw.d.ts.map +1 -0
- package/declarations/types/params.d.ts +10 -0
- package/declarations/types/params.d.ts.map +1 -0
- package/declarations/types/record.d.ts +96 -0
- package/declarations/types/record.d.ts.map +1 -0
- package/declarations/types/record.type-test.d.ts +2 -0
- package/declarations/types/record.type-test.d.ts.map +1 -0
- package/declarations/types/request.d.ts +308 -0
- package/declarations/types/request.d.ts.map +1 -0
- package/declarations/types/request.type-test.d.ts +2 -0
- package/declarations/types/request.type-test.d.ts.map +1 -0
- package/declarations/types/runtime.d.ts +15 -0
- package/declarations/types/runtime.d.ts.map +1 -0
- package/declarations/types/schema/concepts.d.ts +17 -0
- package/declarations/types/schema/concepts.d.ts.map +1 -0
- package/declarations/types/schema/fields.d.ts +1674 -0
- package/declarations/types/schema/fields.d.ts.map +1 -0
- package/declarations/types/schema/fields.type-test.d.ts +2 -0
- package/declarations/types/schema/fields.type-test.d.ts.map +1 -0
- package/declarations/types/spec/document.d.ts +31 -0
- package/declarations/types/spec/document.d.ts.map +1 -0
- package/declarations/types/spec/error.d.ts +19 -0
- package/declarations/types/spec/error.d.ts.map +1 -0
- package/declarations/types/spec/json-api-raw.d.ts +142 -0
- package/declarations/types/spec/json-api-raw.d.ts.map +1 -0
- package/declarations/types/symbols.d.ts +79 -0
- package/declarations/types/symbols.d.ts.map +1 -0
- package/declarations/types/utils.d.ts +5 -0
- package/declarations/types/utils.d.ts.map +1 -0
- package/declarations/types.d.ts +12 -0
- package/declarations/types.d.ts.map +1 -0
- package/declarations/utils/string.d.ts +45 -0
- package/declarations/utils/string.d.ts.map +1 -0
- package/dist/build-config/babel-macros.js +1 -0
- package/dist/build-config/babel-macros.js.map +1 -0
- package/dist/build-config/canary-features.js +1 -0
- package/dist/build-config/canary-features.js.map +1 -0
- package/dist/build-config/debugging.js +1 -0
- package/dist/build-config/debugging.js.map +1 -0
- package/dist/build-config/deprecations.js +1 -0
- package/dist/build-config/deprecations.js.map +1 -0
- package/dist/build-config/env.js +1 -0
- package/dist/build-config/env.js.map +1 -0
- package/dist/build-config/macros.js +1 -0
- package/dist/build-config/macros.js.map +1 -0
- package/dist/build-config.js +1 -0
- package/dist/build-config.js.map +1 -0
- package/dist/configure-Bz49BEZQ.js +145 -0
- package/dist/configure-Bz49BEZQ.js.map +1 -0
- package/dist/configure.js +1 -0
- package/dist/configure.js.map +1 -0
- package/dist/context-DE5sFezZ.js +636 -0
- package/dist/context-DE5sFezZ.js.map +1 -0
- package/dist/graph/-private.js +3364 -0
- package/dist/graph/-private.js.map +1 -0
- package/dist/handler-DYUefHNU.js +339 -0
- package/dist/handler-DYUefHNU.js.map +1 -0
- package/dist/index.js +382 -0
- package/dist/index.js.map +1 -0
- package/dist/reactive/-private.js +1 -0
- package/dist/reactive/-private.js.map +1 -0
- package/dist/reactive.js +1802 -0
- package/dist/reactive.js.map +1 -0
- package/dist/request-state-Bv5CY_H0.js +7358 -0
- package/dist/request-state-Bv5CY_H0.js.map +1 -0
- package/dist/request.js +1 -0
- package/dist/request.js.map +1 -0
- package/dist/store/-private.js +3 -0
- package/dist/store/-private.js.map +1 -0
- package/dist/store.js +545 -0
- package/dist/store.js.map +1 -0
- package/dist/symbols-DyqeYQTe.js +44 -0
- package/dist/symbols-DyqeYQTe.js.map +1 -0
- package/dist/types/-private.js +79 -0
- package/dist/types/-private.js.map +1 -0
- package/dist/types/cache/aliases.js +0 -0
- package/dist/types/cache/aliases.js.map +1 -0
- package/dist/types/cache/change.js +0 -0
- package/dist/types/cache/change.js.map +1 -0
- package/dist/types/cache/mutations.js +0 -0
- package/dist/types/cache/mutations.js.map +1 -0
- package/dist/types/cache/operations.js +0 -0
- package/dist/types/cache/operations.js.map +1 -0
- package/dist/types/cache/relationship.js +0 -0
- package/dist/types/cache/relationship.js.map +1 -0
- package/dist/types/cache.js +0 -0
- package/dist/types/cache.js.map +1 -0
- package/dist/types/graph.js +0 -0
- package/dist/types/graph.js.map +1 -0
- package/dist/types/identifier.js +89 -0
- package/dist/types/identifier.js.map +1 -0
- package/dist/types/json/raw.js +0 -0
- package/dist/types/json/raw.js.map +1 -0
- package/dist/types/params.js +0 -0
- package/dist/types/params.js.map +1 -0
- package/dist/types/record.js +64 -0
- package/dist/types/record.js.map +1 -0
- package/dist/types/request.js +33 -0
- package/dist/types/request.js.map +1 -0
- package/dist/types/runtime.js +34 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/schema/concepts.js +0 -0
- package/dist/types/schema/concepts.js.map +1 -0
- package/dist/types/schema/fields.js +470 -0
- package/dist/types/schema/fields.js.map +1 -0
- package/dist/types/schema/fields.type-test.js +0 -0
- package/dist/types/schema/fields.type-test.js.map +1 -0
- package/dist/types/spec/document.js +0 -0
- package/dist/types/spec/document.js.map +1 -0
- package/dist/types/spec/error.js +0 -0
- package/dist/types/spec/error.js.map +1 -0
- package/dist/types/spec/json-api-raw.js +0 -0
- package/dist/types/spec/json-api-raw.js.map +1 -0
- package/dist/types/symbols.js +84 -0
- package/dist/types/symbols.js.map +1 -0
- package/dist/types/utils.js +0 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types.js +0 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/string.js +92 -0
- package/dist/utils/string.js.map +1 -0
- package/logos/NCC-1701-a-blue.svg +4 -0
- package/logos/NCC-1701-a-gold.svg +4 -0
- package/logos/NCC-1701-a-gold_100.svg +1 -0
- package/logos/NCC-1701-a-gold_base-64.txt +1 -0
- package/logos/NCC-1701-a.svg +4 -0
- package/logos/README.md +4 -0
- package/logos/docs-badge.svg +2 -0
- package/logos/ember-data-logo-dark.svg +12 -0
- package/logos/ember-data-logo-light.svg +12 -0
- package/logos/github-header.svg +444 -0
- package/logos/social1.png +0 -0
- package/logos/social2.png +0 -0
- package/logos/warp-drive-logo-dark.svg +4 -0
- package/logos/warp-drive-logo-gold.svg +4 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-DE5sFezZ.js","sources":["../src/request/-private/debug.ts","../src/request/-private/promise-cache.ts","../src/request/-private/utils.ts","../src/request/-private/future.ts","../src/request/-private/context.ts"],"sourcesContent":["import { DEBUG } from '@warp-drive/core/build-config/env';\n\nimport { getOrSetGlobal } from '../../types/-private';\nimport type { ImmutableHeaders, RequestInfo } from '../../types/request';\nimport { Context, upgradeHeaders } from './context';\n\nconst BODY_TYPES = {\n type: 'string',\n klass: ['Blob', 'ArrayBuffer', 'TypedArray', 'DataView', 'FormData', 'URLSearchParams', 'ReadableStream'],\n};\nconst ValidKeys = new Map<string, string | string[] | typeof BODY_TYPES>([\n ['duplex', ['half']],\n ['records', 'array'],\n ['data', 'json'],\n ['body', BODY_TYPES],\n ['disableTestWaiter', 'boolean'],\n ['options', 'object'],\n ['cacheOptions', 'object'],\n ['op', 'string'],\n ['store', 'object'],\n ['url', 'string'],\n ['cache', ['default', 'force-cache', 'no-cache', 'no-store', 'only-if-cached', 'reload']],\n ['credentials', ['include', 'omit', 'same-origin']],\n [\n 'destination',\n [\n '',\n 'object',\n 'audio',\n 'audioworklet',\n 'document',\n 'embed',\n 'font',\n 'frame',\n 'iframe',\n 'image',\n 'manifest',\n 'paintworklet',\n 'report',\n 'script',\n 'sharedworker',\n 'style',\n 'track',\n 'video',\n 'worker',\n 'xslt',\n ],\n ],\n ['headers', 'headers'],\n ['integrity', 'string'],\n ['keepalive', 'boolean'],\n ['method', ['QUERY', 'GET', 'PUT', 'PATCH', 'DELETE', 'POST', 'OPTIONS', 'HEAD', 'CONNECT', 'TRACE']],\n ['mode', ['same-origin', 'cors', 'navigate', 'no-cors']],\n ['redirect', ['error', 'follow', 'manual']],\n ['referrer', 'string'],\n ['signal', 'AbortSignal'],\n ['controller', 'AbortController'],\n [\n 'referrerPolicy',\n [\n '',\n 'same-origin',\n 'no-referrer',\n 'no-referrer-when-downgrade',\n 'origin',\n 'origin-when-cross-origin',\n 'strict-origin',\n 'strict-origin-when-cross-origin',\n 'unsafe-url',\n ],\n ],\n]);\n\nconst IS_FROZEN = getOrSetGlobal('IS_FROZEN', Symbol('FROZEN'));\nconst IS_COLLECTION = getOrSetGlobal('IS_COLLECTION', Symbol.for('Collection'));\n\nfunction freezeHeaders(headers: Headers | ImmutableHeaders): ImmutableHeaders {\n headers.delete =\n headers.set =\n headers.append =\n () => {\n throw new Error(`Cannot Mutate Immutatable Headers, use headers.clone to get a copy`);\n };\n upgradeHeaders(headers);\n return headers as ImmutableHeaders;\n}\n\nexport function deepFreeze<T = unknown>(value: T): T {\n if (value && (value as { [IS_FROZEN]?: true })[IS_FROZEN]) {\n return value;\n }\n const _type = typeof value;\n switch (_type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'undefined':\n case 'bigint':\n return value;\n case 'function':\n throw new Error(`Cannot deep-freeze a function`);\n case 'object': {\n const _niceType = niceTypeOf(value);\n switch (_niceType) {\n case 'array': {\n if ((value as unknown[] & { [IS_COLLECTION]?: true })[IS_COLLECTION]) {\n return value;\n }\n const arr = (value as unknown[]).map(deepFreeze);\n arr[IS_FROZEN as unknown as number] = true;\n return Object.freeze(arr) as T;\n }\n case 'null':\n return value;\n case 'object':\n Object.keys(value as Record<string, unknown>).forEach((key) => {\n try {\n (value as Record<string, unknown>)[key] = deepFreeze((value as Record<string, unknown>)[key]) as object;\n } catch {\n // continue\n }\n });\n (value as Record<string | symbol, unknown>)[IS_FROZEN] = true;\n return Object.freeze(value);\n case 'headers':\n return freezeHeaders(value as Headers) as T;\n case 'Collection':\n case 'Store':\n case 'AbortSignal':\n return value;\n case 'date':\n case 'map':\n case 'set':\n case 'error':\n case 'stream':\n default:\n // console.log(`Cannot deep-freeze ${_niceType}`);\n return value;\n }\n }\n }\n}\n\nfunction isMaybeContext(request: unknown) {\n if (request && typeof request === 'object') {\n const keys = Object.keys(request);\n if (keys.length === 1 && keys[0] === 'request') {\n return true;\n }\n }\n return false;\n}\n\nfunction niceTypeOf(v: unknown) {\n if (v === null) {\n return 'null';\n }\n if (typeof v === 'string') {\n return v ? 'non-empty-string' : 'empty-string';\n }\n if (!v) {\n return typeof v;\n }\n if (Array.isArray(v)) {\n return 'array';\n }\n if (v instanceof Date) {\n return 'date';\n }\n if (v instanceof Map) {\n return 'map';\n }\n if (v instanceof Set) {\n return 'set';\n }\n if (v instanceof Error) {\n return 'error';\n }\n if (v instanceof ReadableStream || v instanceof WritableStream || v instanceof TransformStream) {\n return 'stream';\n }\n if (v instanceof Headers) {\n return 'headers';\n }\n if (typeof v === 'object' && v.constructor && v.constructor.name !== 'Object') {\n return v.constructor.name;\n }\n return typeof v;\n}\n\nfunction validateKey(key: string, value: unknown, errors: string[]) {\n const schema = ValidKeys.get(key);\n if (!schema && !IgnoredKeys.has(key)) {\n errors.push(`InvalidKey: '${key}'`);\n return;\n }\n if (schema) {\n if (schema === BODY_TYPES) {\n if (typeof value === 'string' || value instanceof ReadableStream) {\n return;\n }\n const type = niceTypeOf(value);\n if (schema.klass.includes(type)) {\n return;\n }\n errors.push(\n `InvalidValue: key 'body' should be a string or one of '${schema.klass.join(\"', '\")}', received ${\n '<a value of type ' + niceTypeOf(value) + '>'\n }`\n );\n return;\n }\n if (Array.isArray(schema)) {\n if (!schema.includes(value as string)) {\n errors.push(\n `InvalidValue: key ${key} should be one of '${schema.join(\"', '\")}', received ${\n typeof value === 'string' ? value : '<a value of type ' + niceTypeOf(value) + '>'\n }`\n );\n }\n return;\n } else if (schema === 'json') {\n try {\n JSON.stringify(value);\n } catch (e) {\n errors.push(\n `InvalidValue: key ${key} should be a JSON serializable value, but failed to serialize with Error - ${\n (e as Error).message\n }`\n );\n }\n return;\n } else if (schema === 'headers') {\n if (!(value instanceof Headers)) {\n errors.push(`InvalidValue: key ${key} should be an instance of Headers, received ${niceTypeOf(value)}`);\n }\n return;\n } else if (schema === 'record') {\n const _type = typeof value;\n // record must extend plain object or Object.create(null)\n if (!value || _type !== 'object' || (value.constructor && value.constructor !== Object)) {\n errors.push(\n `InvalidValue: key ${key} should be a dictionary of string keys to string values, received ${niceTypeOf(\n value\n )}`\n );\n return;\n }\n const keys = Object.keys(value);\n keys.forEach((k) => {\n const v: unknown = (value as Record<string, unknown>)[k];\n if (typeof k !== 'string') {\n errors.push(`\\tThe key ${String(k)} on ${key} should be a string key`);\n } else if (typeof v !== 'string') {\n errors.push(`\\tThe value of ${key}.${k} should be a string not ${niceTypeOf(v)}`);\n }\n });\n return;\n } else if (schema === 'string') {\n if (typeof value !== 'string' || value.length === 0) {\n errors.push(\n `InvalidValue: key ${key} should be a non-empty string, received ${\n typeof value === 'string' ? \"''\" : typeof value\n }`\n );\n }\n return;\n } else if (schema === 'object') {\n if (!value || Array.isArray(value) || typeof value !== 'object') {\n errors.push(`InvalidValue: key ${key} should be an object`);\n }\n return;\n } else if (schema === 'boolean') {\n if (typeof value !== 'boolean') {\n errors.push(`InvalidValue: key ${key} should be a boolean, received ${typeof value}`);\n }\n return;\n } else if (schema === 'array') {\n if (!Array.isArray(value)) {\n errors.push(`InvalidValue: key ${key} should be an array, received ${typeof value}`);\n }\n return;\n }\n }\n}\n\nconst IgnoredKeys = new Set<string>([]);\n\nexport function assertValidRequest(\n request: RequestInfo | Context,\n isTopLevel: boolean\n): asserts request is RequestInfo {\n if (DEBUG) {\n // handle basic shape\n if (!request) {\n throw new Error(\n `Expected ${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>) to be called with a request, but none was provided.`\n );\n }\n if (Array.isArray(request) || typeof request !== 'object') {\n throw new Error(\n `The \\`request\\` passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` should be an object, received \\`${niceTypeOf(request)}\\``\n );\n }\n if (Object.keys(request).length === 0) {\n throw new Error(\n `The \\`request\\` passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` was empty (\\`{}\\`). Requests need at least one valid key.`\n );\n }\n\n // handle accidentally passing context entirely\n if (request instanceof Context) {\n throw new Error(\n `Expected a request passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` but received the previous handler's context instead`\n );\n }\n // handle Object.assign({}, context);\n if (isMaybeContext(request)) {\n throw new Error(\n `Expected a request passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\` but received an object with a request key instead.`\n );\n }\n\n // handle schema\n const keys = Object.keys(request) as Array<keyof RequestInfo>;\n const validationErrors: string[] = [];\n const isLegacyRequest = Boolean('op' in request && !request.url);\n keys.forEach((key) => {\n if (isLegacyRequest && key === 'data') {\n return;\n }\n validateKey(key, request[key], validationErrors);\n });\n if (validationErrors.length) {\n const error: Error & { errors: string[] } = new Error(\n `Invalid Request passed to \\`${\n isTopLevel ? 'RequestManager.request' : 'next'\n }(<request>)\\`.\\n\\nThe following issues were found:\\n\\n\\t${validationErrors.join('\\n\\t')}`\n ) as Error & { errors: string[] };\n error.errors = validationErrors;\n throw error;\n }\n }\n}\n","import { getOrSetUniversal } from '../../types/-private';\n\nexport type CacheResult<T = unknown, E = unknown> = { isError: true; result: E } | { isError: false; result: T };\n\nexport type Awaitable<T = unknown, E = unknown> = {\n then: (onFulfilled: (value: T) => unknown, onRejected: (reason: E) => unknown) => unknown;\n catch: (onRejected: (reason: E) => unknown) => unknown;\n finally: (onFinally: () => unknown) => unknown;\n};\n\nexport const PromiseCache = getOrSetUniversal('PromiseCache', new WeakMap<Awaitable, CacheResult>());\nexport const RequestMap = getOrSetUniversal('RequestMap', new Map<number, CacheResult>());\n\nexport function setRequestResult(requestId: number, result: CacheResult) {\n RequestMap.set(requestId, result);\n}\nexport function clearRequestResult(requestId: number) {\n RequestMap.delete(requestId);\n}\nexport function getRequestResult(requestId: number): CacheResult | undefined {\n return RequestMap.get(requestId);\n}\n\nexport function setPromiseResult(promise: Promise<unknown> | Awaitable, result: CacheResult) {\n PromiseCache.set(promise, result);\n}\n\nexport function getPromiseResult<T, E>(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined {\n return PromiseCache.get(promise) as CacheResult<T, E> | undefined;\n}\n","import { DEBUG } from '@warp-drive/core/build-config/env';\n\nimport { getOrSetGlobal } from '../../types/-private';\nimport type {\n RequestInfo,\n StructuredDataDocument,\n StructuredDocument,\n StructuredErrorDocument,\n} from '../../types/request';\nimport { STRUCTURED } from '../../types/request';\nimport { Context, ContextOwner } from './context';\nimport { assertValidRequest } from './debug';\nimport { createFuture, isFuture } from './future';\nimport { setRequestResult } from './promise-cache';\nimport type { DeferredFuture, Future, GodContext, Handler } from './types';\n\nexport const IS_CACHE_HANDLER = getOrSetGlobal('IS_CACHE_HANDLER', Symbol('IS_CACHE_HANDLER'));\nexport function curryFuture<T>(owner: ContextOwner, inbound: Future<T>, outbound: DeferredFuture<T>): Future<T> {\n owner.setStream(inbound.getStream());\n\n inbound.then(\n (doc: StructuredDataDocument<T>) => {\n const document = {\n [STRUCTURED]: true as const,\n request: owner.request,\n response: doc.response,\n content: doc.content,\n };\n outbound.resolve(document);\n },\n (error: Error & StructuredErrorDocument) => {\n if (isDoc(error)) {\n owner.setStream(owner.god.stream);\n }\n if (!error || !(error instanceof Error)) {\n try {\n throw new Error(error ? error : `Request Rejected with an Unknown Error`);\n } catch (e: unknown) {\n if (error && typeof error === 'object') {\n Object.assign(e as Error, error);\n (e as Error & StructuredErrorDocument).message =\n (error as Error).message || `Request Rejected with an Unknown Error`;\n }\n error = e as Error & StructuredErrorDocument;\n }\n }\n\n error[STRUCTURED] = true;\n error.request = owner.request;\n error.response = owner.getResponse();\n error.error = error.error || error.message;\n\n outbound.reject(error);\n }\n );\n return outbound.promise;\n}\n\nfunction isDoc<T>(doc: T | StructuredDataDocument<T>): doc is StructuredDataDocument<T> {\n return doc && (doc as StructuredDataDocument<T>)[STRUCTURED] === true;\n}\n\nfunction ensureDoc<T>(owner: ContextOwner, content: T | Error, isError: boolean): StructuredDocument<T> {\n if (isDoc(content)) {\n return content as StructuredDocument<T>;\n }\n\n if (isError) {\n return {\n [STRUCTURED]: true,\n request: owner.request,\n response: owner.getResponse(),\n error: content as Error,\n } as StructuredErrorDocument<T>;\n }\n\n return {\n [STRUCTURED]: true,\n request: owner.request,\n response: owner.getResponse(),\n content: content as T,\n };\n}\n\nexport interface HttpErrorProps extends DOMException {\n code: number;\n name: string;\n status: number;\n statusText: string;\n isRequestError: boolean;\n}\n\nexport function enhanceReason(reason?: string): DOMException {\n return new DOMException(reason || 'The user aborted a request.', 'AbortError');\n}\n\nexport function handleOutcome<T>(\n owner: ContextOwner,\n inbound: Promise<T | StructuredDataDocument<T>>,\n outbound: DeferredFuture<T>\n): Future<T> {\n inbound.then(\n (content: T | StructuredDataDocument<T>) => {\n if (owner.controller.signal.aborted) {\n // the next function did not respect the signal, we handle it here\n outbound.reject(enhanceReason(owner.controller.signal.reason as string));\n return;\n }\n if (isDoc(content)) {\n owner.setStream(owner.god.stream);\n content = content.content;\n }\n const document = {\n [STRUCTURED]: true as const,\n request: owner.request,\n response: owner.getResponse(),\n content,\n };\n outbound.resolve(document);\n },\n (error: Error & StructuredErrorDocument) => {\n if (isDoc(error)) {\n owner.setStream(owner.god.stream);\n }\n if (!error || !(error instanceof Error)) {\n try {\n throw new Error(error ? error : `Request Rejected with an Unknown Error`);\n } catch (e: unknown) {\n if (error && typeof error === 'object') {\n Object.assign(e as Error, error);\n (e as Error & StructuredErrorDocument).message =\n (error as Error).message || `Request Rejected with an Unknown Error`;\n }\n error = e as Error & StructuredErrorDocument;\n }\n }\n\n error[STRUCTURED] = true;\n error.request = owner.request;\n error.response = owner.getResponse();\n error.error = error.error || error.message;\n outbound.reject(error);\n }\n );\n return outbound.promise;\n}\n\nfunction isCacheHandler(handler: Handler & { [IS_CACHE_HANDLER]?: boolean }, index: number): boolean {\n return index === 0 && Boolean(handler[IS_CACHE_HANDLER]);\n}\n\nexport function executeNextHandler<T>(\n wares: Readonly<Handler[]>,\n request: RequestInfo,\n i: number,\n god: GodContext\n): Future<T> {\n if (DEBUG) {\n if (i === wares.length) {\n throw new Error(`No handler was able to handle this request.`);\n }\n assertValidRequest(request, false);\n }\n const owner = new ContextOwner(request, god, i === 0);\n\n function next(r: RequestInfo): Future<T> {\n owner.nextCalled++;\n return executeNextHandler(wares, r, i + 1, god);\n }\n\n const _isCacheHandler = isCacheHandler(wares[i], i);\n const context = new Context(owner, _isCacheHandler);\n let outcome: Promise<T | StructuredDataDocument<T>> | Future<T>;\n try {\n outcome = wares[i].request<T>(context, next);\n if (_isCacheHandler) {\n context._finalize();\n }\n if (!!outcome && _isCacheHandler) {\n if (!(outcome instanceof Promise)) {\n setRequestResult(owner.requestId, { isError: false, result: ensureDoc(owner, outcome, false) });\n outcome = Promise.resolve(outcome);\n }\n } else if (DEBUG) {\n if (!outcome || (!(outcome instanceof Promise) && !(typeof outcome === 'object' && 'then' in outcome))) {\n // eslint-disable-next-line no-console\n console.log({ request, handler: wares[i], outcome });\n if (outcome === undefined) {\n throw new Error(`Expected handler.request to return a promise, instead received undefined.`);\n }\n throw new Error(`Expected handler.request to return a promise, instead received a synchronous value.`);\n }\n }\n } catch (e) {\n if (_isCacheHandler) {\n setRequestResult(owner.requestId, { isError: true, result: ensureDoc(owner, e, true) });\n }\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n outcome = Promise.reject<StructuredDataDocument<T>>(e);\n }\n const future = createFuture<T>(owner);\n\n if (isFuture<T>(outcome)) {\n return curryFuture(owner, outcome, future);\n }\n\n return handleOutcome(owner, outcome, future);\n}\n","import { IS_FUTURE, type StructuredDocument } from '../../types/request';\nimport type { ContextOwner } from './context';\nimport type { Deferred, DeferredFuture, Future } from './types';\nimport { enhanceReason } from './utils';\n\nexport function isFuture<T>(maybe: unknown): maybe is Future<T> {\n return Boolean(maybe && maybe instanceof Promise && (maybe as Future<T>)[IS_FUTURE] === true);\n}\n\nexport function createDeferred<T>(): Deferred<T> {\n let resolve!: (v: T) => void;\n let reject!: (v: unknown) => void;\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { resolve, reject, promise };\n}\n\nexport function upgradePromise<T>(promise: Promise<StructuredDocument<T>>, future: Future<T>): Future<T> {\n (promise as Future<T>)[IS_FUTURE] = true;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n (promise as Future<T>).getStream = future.getStream;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n (promise as Future<T>).abort = future.abort;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n (promise as Future<T>).onFinalize = future.onFinalize;\n (promise as Future<T>).id = future.id;\n (promise as Future<T>).lid = future.lid;\n\n return promise as Future<T>;\n}\n\nexport function createFuture<T>(owner: ContextOwner): DeferredFuture<T> {\n const deferred = createDeferred<T>() as unknown as DeferredFuture<T>;\n let { promise } = deferred;\n let cbs: Array<() => void> | undefined;\n promise = promise.finally(() => {\n owner.resolveStream();\n if (cbs) {\n cbs.forEach((cb) => cb());\n }\n }) as Future<T>;\n promise.onFinalize = (fn: () => void) => {\n cbs = cbs || [];\n cbs.push(fn);\n };\n promise[IS_FUTURE] = true;\n promise.getStream = () => {\n return owner.getStream();\n };\n promise.abort = (reason?: string) => {\n owner.abort(enhanceReason(reason));\n };\n promise.id = owner.requestId;\n promise.lid = owner.god.identifier;\n\n deferred.promise = promise;\n return deferred;\n}\n","import { DEBUG } from '@warp-drive/core/build-config/env';\nimport { assert } from '@warp-drive/core/build-config/macros';\n\nimport type { StableDocumentIdentifier } from '../../types/identifier';\nimport type { ImmutableHeaders, ImmutableRequestInfo, RequestInfo, ResponseInfo } from '../../types/request';\nimport { SkipCache } from '../../types/request';\nimport { deepFreeze } from './debug';\nimport { createDeferred } from './future';\nimport type { DeferredStream, GodContext } from './types';\n\nexport function upgradeHeaders(headers: Headers | ImmutableHeaders): ImmutableHeaders {\n (headers as ImmutableHeaders).clone = () => {\n return new Headers(headers);\n };\n (headers as ImmutableHeaders).toJSON = () => {\n return Array.from(headers as unknown as Iterable<[string, string]>);\n };\n return headers as ImmutableHeaders;\n}\n\nexport function cloneResponseProperties(response: Response): ResponseInfo {\n const { headers, ok, redirected, status, statusText, type, url } = response;\n upgradeHeaders(headers);\n return {\n headers: headers as ImmutableHeaders,\n ok,\n redirected,\n status,\n statusText,\n type,\n url,\n };\n}\n\nexport class ContextOwner {\n hasSetStream = false;\n hasSetResponse = false;\n hasSubscribers = false;\n stream: DeferredStream = createDeferred<ReadableStream | null>();\n response: ResponseInfo | null = null;\n declare request: ImmutableRequestInfo;\n declare enhancedRequest: ImmutableRequestInfo;\n nextCalled = 0;\n declare god: GodContext;\n declare controller: AbortController;\n declare requestId: number;\n declare isRoot: boolean;\n\n constructor(request: RequestInfo, god: GodContext, isRoot = false) {\n this.isRoot = isRoot;\n this.requestId = god.id;\n this.controller = request.controller || god.controller;\n this.stream.promise.sizeHint = 0;\n\n if (request.controller) {\n if (request.controller !== god.controller) {\n god.controller.signal.addEventListener('abort', () => {\n this.controller.abort(god.controller.signal.reason);\n });\n }\n delete request.controller;\n }\n let enhancedRequest: ImmutableRequestInfo = Object.assign(\n { signal: this.controller.signal },\n request\n ) as ImmutableRequestInfo;\n if (DEBUG) {\n if (!request?.cacheOptions?.[SkipCache]) {\n request = deepFreeze(request) as ImmutableRequestInfo;\n enhancedRequest = deepFreeze(enhancedRequest);\n }\n } else {\n if (request.headers) {\n upgradeHeaders(request.headers);\n }\n }\n this.enhancedRequest = enhancedRequest;\n this.request = request as ImmutableRequestInfo;\n this.god = god;\n this.stream.promise = this.stream.promise.then((stream: ReadableStream | null) => {\n if (this.god.stream === stream && this.hasSubscribers) {\n this.god.stream = null;\n }\n return stream;\n });\n }\n\n get hasRequestedStream(): boolean {\n return this.god.hasRequestedStream;\n }\n\n getResponse(): ResponseInfo | null {\n if (this.hasSetResponse) {\n return this.response;\n }\n if (this.nextCalled === 1) {\n return this.god.response;\n }\n return null;\n }\n getStream(): Promise<ReadableStream | null> {\n if (this.isRoot) {\n this.god.hasRequestedStream = true;\n }\n if (!this.hasSetResponse) {\n const hint = this.god.response?.headers?.get('content-length');\n this.stream.promise.sizeHint = hint ? parseInt(hint, 10) : 0;\n }\n this.hasSubscribers = true;\n return this.stream.promise;\n }\n abort(reason: DOMException) {\n this.controller.abort(reason);\n }\n\n setStream(stream: ReadableStream | Promise<ReadableStream | null> | null) {\n if (!this.hasSetStream) {\n this.hasSetStream = true;\n\n if (!(stream instanceof Promise)) {\n this.god.stream = stream;\n }\n // @ts-expect-error\n this.stream.resolve(stream);\n }\n }\n\n resolveStream() {\n this.setStream(this.nextCalled === 1 ? this.god.stream : null);\n }\n\n setResponse(response: ResponseInfo | Response | null) {\n if (this.hasSetResponse) {\n if (DEBUG) {\n throw new Error(`Cannot setResponse when a response has already been set`);\n }\n return;\n }\n this.hasSetResponse = true;\n if (response instanceof Response) {\n // TODO potentially avoid cloning in prod\n let responseData = cloneResponseProperties(response);\n\n if (DEBUG) {\n responseData = deepFreeze(responseData);\n }\n this.response = responseData;\n this.god.response = responseData;\n const sizeHint = response.headers?.get('content-length');\n this.stream.promise.sizeHint = sizeHint ? parseInt(sizeHint, 10) : 0;\n } else {\n this.response = response;\n this.god.response = response;\n }\n }\n}\n\nexport class Context {\n #owner: ContextOwner;\n declare request: ImmutableRequestInfo;\n declare id: number;\n declare private _isCacheHandler: boolean;\n declare private _finalized: boolean;\n\n constructor(owner: ContextOwner, isCacheHandler: boolean) {\n this.id = owner.requestId;\n this.#owner = owner;\n this.request = owner.enhancedRequest;\n this._isCacheHandler = isCacheHandler;\n this._finalized = false;\n }\n setStream(stream: ReadableStream | Promise<ReadableStream | null>) {\n this.#owner.setStream(stream);\n }\n setResponse(response: ResponseInfo | Response | null) {\n this.#owner.setResponse(response);\n }\n\n setIdentifier(identifier: StableDocumentIdentifier) {\n assert(\n `setIdentifier may only be used synchronously from a CacheHandler`,\n identifier && this._isCacheHandler && !this._finalized\n );\n this.#owner.god.identifier = identifier;\n }\n\n get hasRequestedStream() {\n return this.#owner.hasRequestedStream;\n }\n\n _finalize() {\n this._finalized = true;\n }\n}\nexport type HandlerRequestContext = Context;\n"],"names":["BODY_TYPES","type","klass","ValidKeys","Map","IS_FROZEN","getOrSetGlobal","Symbol","IS_COLLECTION","for","freezeHeaders","headers","delete","set","append","Error","upgradeHeaders","deepFreeze","value","_type","_niceType","niceTypeOf","arr","map","Object","freeze","keys","forEach","key","isMaybeContext","request","length","v","Array","isArray","Date","Set","ReadableStream","WritableStream","TransformStream","Headers","constructor","name","validateKey","errors","schema","get","IgnoredKeys","has","push","includes","join","JSON","stringify","e","message","k","String","assertValidRequest","isTopLevel","macroCondition","getGlobalConfig","WarpDrive","env","DEBUG","Context","validationErrors","isLegacyRequest","Boolean","url","error","PromiseCache","getOrSetUniversal","WeakMap","RequestMap","setRequestResult","requestId","result","clearRequestResult","getRequestResult","setPromiseResult","promise","getPromiseResult","IS_CACHE_HANDLER","curryFuture","owner","inbound","outbound","setStream","getStream","then","doc","document","STRUCTURED","response","content","resolve","isDoc","god","stream","assign","getResponse","reject","ensureDoc","isError","enhanceReason","reason","DOMException","handleOutcome","controller","signal","aborted","isCacheHandler","handler","index","executeNextHandler","wares","i","ContextOwner","next","r","nextCalled","_isCacheHandler","context","outcome","_finalize","Promise","console","log","undefined","future","createFuture","isFuture","maybe","IS_FUTURE","createDeferred","res","rej","upgradePromise","abort","onFinalize","id","lid","deferred","cbs","finally","resolveStream","cb","fn","identifier","clone","toJSON","from","cloneResponseProperties","ok","redirected","status","statusText","hasSetStream","hasSetResponse","hasSubscribers","isRoot","sizeHint","addEventListener","enhancedRequest","cacheOptions","SkipCache","hasRequestedStream","hint","parseInt","setResponse","Response","responseData","_finalized","setIdentifier","test"],"mappings":"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"}
|