@warp-drive/core 5.9.0-beta.0 → 5.9.0-beta.2
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/dist/-private-BYn1Vh-L.js +22 -0
- package/dist/-private-BYn1Vh-L.js.map +1 -0
- package/dist/-private-CyhhcK1a.js +120 -0
- package/dist/-private-CyhhcK1a.js.map +1 -0
- package/dist/-private-zrP4VGAf.js +3530 -0
- package/dist/-private-zrP4VGAf.js.map +1 -0
- package/dist/aliases-BWYW5EhX.d.ts +17 -0
- package/dist/aliases-BWYW5EhX.d.ts.map +1 -0
- package/dist/build-config/babel-macros.d.ts +2 -0
- package/dist/build-config/babel-macros.js +3 -1
- package/dist/build-config/canary-features.d.ts +1 -0
- package/dist/build-config/canary-features.js +1 -1
- package/dist/build-config/debugging.d.ts +1 -0
- package/dist/build-config/debugging.js +1 -1
- package/dist/build-config/deprecations.d.ts +1 -0
- package/dist/build-config/deprecations.js +1 -1
- package/dist/build-config/env.d.ts +2 -0
- package/dist/build-config/env.js +3 -1
- package/dist/build-config/macros.d.ts +2 -0
- package/dist/build-config/macros.js +3 -1
- package/dist/build-config.d.ts +2 -0
- package/dist/build-config.js +3 -1
- package/dist/change-C7kqv2kW.d.ts +41 -0
- package/dist/change-C7kqv2kW.d.ts.map +1 -0
- package/dist/concepts-DFldVwEM.d.ts +77 -0
- package/dist/concepts-DFldVwEM.d.ts.map +1 -0
- package/dist/configure-B_F639tN.d.ts +134 -0
- package/dist/configure-B_F639tN.d.ts.map +1 -0
- package/dist/configure.d.ts +2 -0
- package/dist/configure.js +3 -2
- package/dist/document-BEn91SwT.d.ts +129 -0
- package/dist/document-BEn91SwT.d.ts.map +1 -0
- package/dist/error-50OSEhsF.d.ts +77 -0
- package/dist/error-50OSEhsF.d.ts.map +1 -0
- package/dist/fields-FM7peCiM.d.ts +2327 -0
- package/dist/fields-FM7peCiM.d.ts.map +1 -0
- package/dist/graph/-private.d.ts +2 -0
- package/dist/graph/-private.js +2200 -3196
- package/dist/graph/-private.js.map +1 -0
- package/dist/graph-DLqYXP2z.d.ts +186 -0
- package/dist/graph-DLqYXP2z.d.ts.map +1 -0
- package/dist/identifier-DQnqOSJK.d.ts +112 -0
- package/dist/identifier-DQnqOSJK.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -8
- package/dist/internal-DtWOpxrR.d.ts +9182 -0
- package/dist/internal-DtWOpxrR.d.ts.map +1 -0
- package/dist/json-api-raw-C5APJHHB.d.ts +378 -0
- package/dist/json-api-raw-C5APJHHB.d.ts.map +1 -0
- package/dist/mutations-CqtoGB4t.d.ts +165 -0
- package/dist/mutations-CqtoGB4t.d.ts.map +1 -0
- package/dist/operations-D1qA6r0_.d.ts +244 -0
- package/dist/operations-D1qA6r0_.d.ts.map +1 -0
- package/dist/params-DrEx3bf8.d.ts +41 -0
- package/dist/params-DrEx3bf8.d.ts.map +1 -0
- package/dist/raw-D5hnjiq7.d.ts +31 -0
- package/dist/raw-D5hnjiq7.d.ts.map +1 -0
- package/dist/reactive/-private.d.ts +2 -0
- package/dist/reactive/-private.js +3 -1
- package/dist/reactive.d.ts +2 -0
- package/dist/reactive.js +5 -4
- package/dist/record-D3QQcaIR.d.ts +254 -0
- package/dist/record-D3QQcaIR.d.ts.map +1 -0
- package/dist/relationship-CmHzMPKf.d.ts +65 -0
- package/dist/relationship-CmHzMPKf.d.ts.map +1 -0
- package/dist/request-7BJFgSu_.js +766 -0
- package/dist/request-7BJFgSu_.js.map +1 -0
- package/dist/request.d.ts +2 -0
- package/dist/request.js +2 -48
- package/dist/signals/-leaked.d.ts +1060 -0
- package/dist/signals/-leaked.d.ts.map +1 -0
- package/dist/signals/-leaked.js +3 -1
- package/dist/src-BOAWJH_S.js +9227 -0
- package/dist/src-BOAWJH_S.js.map +1 -0
- package/dist/store/-private.d.ts +2 -0
- package/dist/store/-private.js +3 -1
- package/dist/store-DNF9Rgoh.js +462 -0
- package/dist/store-DNF9Rgoh.js.map +1 -0
- package/dist/store.d.ts +2 -0
- package/dist/store.js +3 -1
- package/dist/symbols-DjRDCeX0.d.ts +88 -0
- package/dist/symbols-DjRDCeX0.d.ts.map +1 -0
- package/dist/types/-private.d.ts +76 -0
- package/dist/types/-private.d.ts.map +1 -0
- package/dist/types/-private.js +1 -77
- package/dist/types/cache/aliases.d.ts +2 -0
- package/dist/types/cache/change.d.ts +2 -0
- package/dist/types/cache/mutations.d.ts +2 -0
- package/dist/types/cache/operations.d.ts +2 -0
- package/dist/types/cache/relationship.d.ts +2 -0
- package/dist/types/cache.d.ts +2 -0
- package/dist/types/graph.d.ts +2 -0
- package/dist/types/identifier.d.ts +2 -0
- package/dist/types/identifier.js +60 -52
- package/dist/types/identifier.js.map +1 -0
- package/dist/types/json/raw.d.ts +2 -0
- package/dist/types/params.d.ts +2 -0
- package/dist/types/record.d.ts +2 -0
- package/dist/types/record.js +211 -181
- package/dist/types/record.js.map +1 -0
- package/dist/types/request.d.ts +2 -0
- package/dist/types/request.js +138 -69
- package/dist/types/request.js.map +1 -0
- package/dist/types/runtime.d.ts +55 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/runtime.js +54 -26
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/schema/concepts.d.ts +2 -0
- package/dist/types/schema/fields.d.ts +2 -0
- package/dist/types/schema/fields.js +501 -495
- package/dist/types/schema/fields.js.map +1 -0
- package/dist/types/schema/fields.type-test.d.ts +1 -0
- package/dist/types/schema/fields.type-test.js +79 -0
- package/dist/types/schema/fields.type-test.js.map +1 -0
- package/dist/types/schema/schema-service.d.ts +2 -0
- package/dist/types/spec/document.d.ts +2 -0
- package/dist/types/spec/error.d.ts +2 -0
- package/dist/types/spec/json-api-raw.d.ts +2 -0
- package/dist/types/symbols.d.ts +2 -0
- package/dist/types/symbols.js +84 -77
- package/dist/types/symbols.js.map +1 -0
- package/dist/types/utils.d.ts +2 -0
- package/dist/types.d.ts +3 -0
- package/dist/unpkg/dev/-private-BoSTJwp9.js +3519 -0
- package/dist/unpkg/dev/-private-BoSTJwp9.js.map +1 -0
- package/dist/unpkg/dev/-private-CUkeqUhO.js +22 -0
- package/dist/unpkg/dev/-private-CUkeqUhO.js.map +1 -0
- package/dist/unpkg/dev/-private-D6Tw25AD.js +111 -0
- package/dist/unpkg/dev/-private-D6Tw25AD.js.map +1 -0
- package/dist/unpkg/dev/build-config/babel-macros.js +3 -1
- package/dist/unpkg/dev/build-config/canary-features.js +1 -1
- package/dist/unpkg/dev/build-config/debugging.js +1 -1
- package/dist/unpkg/dev/build-config/deprecations.js +1 -1
- package/dist/unpkg/dev/build-config/env.js +3 -1
- package/dist/unpkg/dev/build-config/macros.js +3 -1
- package/dist/unpkg/dev/build-config.js +3 -1
- package/dist/unpkg/dev/configure.js +3 -1
- package/dist/unpkg/dev/graph/-private.js +1958 -2953
- package/dist/unpkg/dev/graph/-private.js.map +1 -0
- package/dist/unpkg/dev/index.js +3 -6
- package/dist/unpkg/dev/reactive/-private.js +3 -1
- package/dist/unpkg/dev/reactive.js +5 -3
- package/dist/unpkg/dev/request-CwjpJB3r.js +756 -0
- package/dist/unpkg/dev/request-CwjpJB3r.js.map +1 -0
- package/dist/unpkg/dev/request.js +2 -48
- package/dist/unpkg/dev/runtime-DoDtzXJb.js +110 -0
- package/dist/unpkg/dev/runtime-DoDtzXJb.js.map +1 -0
- package/dist/unpkg/dev/signals/-leaked.js +3 -1
- package/dist/unpkg/dev/src-CP6e_ozt.js +8331 -0
- package/dist/unpkg/dev/src-CP6e_ozt.js.map +1 -0
- package/dist/unpkg/dev/store/-private.js +3 -55
- package/dist/unpkg/dev/store-DamE3C4y.js +427 -0
- package/dist/unpkg/dev/store-DamE3C4y.js.map +1 -0
- package/dist/unpkg/dev/store.js +1 -556
- package/dist/unpkg/dev/types/-private.js +1 -67
- package/dist/unpkg/dev/types/identifier.js +63 -56
- package/dist/unpkg/dev/types/identifier.js.map +1 -0
- package/dist/unpkg/dev/types/record.js +211 -181
- package/dist/unpkg/dev/types/record.js.map +1 -0
- package/dist/unpkg/dev/types/request.js +138 -69
- package/dist/unpkg/dev/types/request.js.map +1 -0
- package/dist/unpkg/dev/types/runtime.js +54 -26
- package/dist/unpkg/dev/types/runtime.js.map +1 -0
- package/dist/unpkg/dev/types/schema/fields.js +501 -495
- package/dist/unpkg/dev/types/schema/fields.js.map +1 -0
- package/dist/unpkg/dev/types/schema/fields.type-test.js +79 -0
- package/dist/unpkg/dev/types/schema/fields.type-test.js.map +1 -0
- package/dist/unpkg/dev/types/symbols.js +84 -77
- package/dist/unpkg/dev/types/symbols.js.map +1 -0
- package/dist/unpkg/dev/utils/string.js +79 -85
- package/dist/unpkg/dev/utils/string.js.map +1 -0
- package/dist/unpkg/dev-deprecated/-private-BoSTJwp9.js +3519 -0
- package/dist/unpkg/dev-deprecated/-private-BoSTJwp9.js.map +1 -0
- package/dist/unpkg/dev-deprecated/-private-CUkeqUhO.js +22 -0
- package/dist/unpkg/dev-deprecated/-private-CUkeqUhO.js.map +1 -0
- package/dist/unpkg/dev-deprecated/-private-D6Tw25AD.js +111 -0
- package/dist/unpkg/dev-deprecated/-private-D6Tw25AD.js.map +1 -0
- package/dist/unpkg/dev-deprecated/build-config/babel-macros.js +3 -1
- package/dist/unpkg/dev-deprecated/build-config/canary-features.js +1 -1
- package/dist/unpkg/dev-deprecated/build-config/debugging.js +1 -1
- package/dist/unpkg/dev-deprecated/build-config/deprecations.js +1 -1
- package/dist/unpkg/dev-deprecated/build-config/env.js +3 -1
- package/dist/unpkg/dev-deprecated/build-config/macros.js +3 -1
- package/dist/unpkg/dev-deprecated/build-config.js +3 -1
- package/dist/unpkg/dev-deprecated/configure.js +3 -1
- package/dist/unpkg/dev-deprecated/graph/-private.js +2077 -3147
- package/dist/unpkg/dev-deprecated/graph/-private.js.map +1 -0
- package/dist/unpkg/dev-deprecated/index.js +3 -5
- package/dist/unpkg/dev-deprecated/reactive/-private.js +3 -1
- package/dist/unpkg/dev-deprecated/reactive.js +5 -3
- package/dist/unpkg/dev-deprecated/request-CwjpJB3r.js +756 -0
- package/dist/unpkg/dev-deprecated/request-CwjpJB3r.js.map +1 -0
- package/dist/unpkg/dev-deprecated/request.js +2 -48
- package/dist/unpkg/dev-deprecated/runtime-CPL2BGgT.js +110 -0
- package/dist/unpkg/dev-deprecated/runtime-CPL2BGgT.js.map +1 -0
- package/dist/unpkg/dev-deprecated/signals/-leaked.js +3 -1
- package/dist/unpkg/dev-deprecated/src-De8OV58h.js +8884 -0
- package/dist/unpkg/dev-deprecated/src-De8OV58h.js.map +1 -0
- package/dist/unpkg/dev-deprecated/store/-private.js +3 -1
- package/dist/unpkg/dev-deprecated/store-Bsdz5mRe.js +427 -0
- package/dist/unpkg/dev-deprecated/store-Bsdz5mRe.js.map +1 -0
- package/dist/unpkg/dev-deprecated/store.js +1 -556
- package/dist/unpkg/dev-deprecated/types/-private.js +1 -67
- package/dist/unpkg/dev-deprecated/types/identifier.js +63 -56
- package/dist/unpkg/dev-deprecated/types/identifier.js.map +1 -0
- package/dist/unpkg/dev-deprecated/types/record.js +211 -181
- package/dist/unpkg/dev-deprecated/types/record.js.map +1 -0
- package/dist/unpkg/dev-deprecated/types/request.js +138 -69
- package/dist/unpkg/dev-deprecated/types/request.js.map +1 -0
- package/dist/unpkg/dev-deprecated/types/runtime.js +54 -26
- package/dist/unpkg/dev-deprecated/types/runtime.js.map +1 -0
- package/dist/unpkg/dev-deprecated/types/schema/fields.js +501 -495
- package/dist/unpkg/dev-deprecated/types/schema/fields.js.map +1 -0
- package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js +79 -0
- package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js.map +1 -0
- package/dist/unpkg/dev-deprecated/types/symbols.js +84 -77
- package/dist/unpkg/dev-deprecated/types/symbols.js.map +1 -0
- package/dist/unpkg/dev-deprecated/utils/string.js +79 -85
- package/dist/unpkg/dev-deprecated/utils/string.js.map +1 -0
- package/dist/unpkg/prod/-private-B36B1ztP.js +22 -0
- package/dist/unpkg/prod/-private-B36B1ztP.js.map +1 -0
- package/dist/unpkg/prod/-private-DHco-h0q.js +3294 -0
- package/dist/unpkg/prod/-private-DHco-h0q.js.map +1 -0
- package/dist/unpkg/prod/-private-Dhl123OI.js +99 -0
- package/dist/unpkg/prod/-private-Dhl123OI.js.map +1 -0
- package/dist/unpkg/prod/build-config/babel-macros.js +3 -1
- package/dist/unpkg/prod/build-config/canary-features.js +1 -1
- package/dist/unpkg/prod/build-config/debugging.js +1 -1
- package/dist/unpkg/prod/build-config/deprecations.js +1 -1
- package/dist/unpkg/prod/build-config/env.js +3 -1
- package/dist/unpkg/prod/build-config/macros.js +3 -1
- package/dist/unpkg/prod/build-config.js +3 -1
- package/dist/unpkg/prod/configure.js +3 -2
- package/dist/unpkg/prod/graph/-private.js +1494 -2101
- package/dist/unpkg/prod/graph/-private.js.map +1 -0
- package/dist/unpkg/prod/index.js +2 -482
- package/dist/unpkg/prod/reactive/-private.js +3 -1
- package/dist/unpkg/prod/reactive.js +5 -30
- package/dist/unpkg/prod/request-BBdC1Sz7.js +480 -0
- package/dist/unpkg/prod/request-BBdC1Sz7.js.map +1 -0
- package/dist/unpkg/prod/request.js +3 -2
- package/dist/unpkg/prod/signals/-leaked.js +3 -1
- package/dist/unpkg/prod/src-nFHlZgKa.js +6942 -0
- package/dist/unpkg/prod/src-nFHlZgKa.js.map +1 -0
- package/dist/unpkg/prod/store/-private.js +3 -126
- package/dist/unpkg/prod/store-BWhmb7Ob.js +359 -0
- package/dist/unpkg/prod/store-BWhmb7Ob.js.map +1 -0
- package/dist/unpkg/prod/store.js +1 -435
- package/dist/unpkg/prod/types/-private.js +1 -47
- package/dist/unpkg/prod/types/identifier.js +63 -56
- package/dist/unpkg/prod/types/identifier.js.map +1 -0
- package/dist/unpkg/prod/types/record.js +211 -181
- package/dist/unpkg/prod/types/record.js.map +1 -0
- package/dist/unpkg/prod/types/request.js +138 -69
- package/dist/unpkg/prod/types/request.js.map +1 -0
- package/dist/unpkg/prod/types/runtime.js +54 -26
- package/dist/unpkg/prod/types/runtime.js.map +1 -0
- package/dist/unpkg/prod/types/schema/fields.js +501 -495
- package/dist/unpkg/prod/types/schema/fields.js.map +1 -0
- package/dist/unpkg/prod/types/schema/fields.type-test.js +79 -0
- package/dist/unpkg/prod/types/schema/fields.type-test.js.map +1 -0
- package/dist/unpkg/prod/types/symbols.js +84 -77
- package/dist/unpkg/prod/types/symbols.js.map +1 -0
- package/dist/unpkg/prod/utils/string.js +70 -66
- package/dist/unpkg/prod/utils/string.js.map +1 -0
- package/dist/unpkg/prod-deprecated/-private-B36B1ztP.js +22 -0
- package/dist/unpkg/prod-deprecated/-private-B36B1ztP.js.map +1 -0
- package/dist/unpkg/prod-deprecated/-private-DHco-h0q.js +3294 -0
- package/dist/unpkg/prod-deprecated/-private-DHco-h0q.js.map +1 -0
- package/dist/unpkg/prod-deprecated/-private-Dhl123OI.js +99 -0
- package/dist/unpkg/prod-deprecated/-private-Dhl123OI.js.map +1 -0
- package/dist/unpkg/prod-deprecated/build-config/babel-macros.js +3 -1
- package/dist/unpkg/prod-deprecated/build-config/canary-features.js +1 -1
- package/dist/unpkg/prod-deprecated/build-config/debugging.js +1 -1
- package/dist/unpkg/prod-deprecated/build-config/deprecations.js +1 -1
- package/dist/unpkg/prod-deprecated/build-config/env.js +3 -1
- package/dist/unpkg/prod-deprecated/build-config/macros.js +3 -1
- package/dist/unpkg/prod-deprecated/build-config.js +3 -1
- package/dist/unpkg/prod-deprecated/configure.js +3 -2
- package/dist/unpkg/prod-deprecated/graph/-private.js +1603 -2272
- package/dist/unpkg/prod-deprecated/graph/-private.js.map +1 -0
- package/dist/unpkg/prod-deprecated/index.js +2 -482
- package/dist/unpkg/prod-deprecated/reactive/-private.js +3 -1
- package/dist/unpkg/prod-deprecated/reactive.js +5 -5
- package/dist/unpkg/prod-deprecated/request-BBdC1Sz7.js +480 -0
- package/dist/unpkg/prod-deprecated/request-BBdC1Sz7.js.map +1 -0
- package/dist/unpkg/prod-deprecated/request.js +3 -2
- package/dist/unpkg/prod-deprecated/signals/-leaked.js +3 -1
- package/dist/unpkg/prod-deprecated/src-Cku5ymUJ.js +7375 -0
- package/dist/unpkg/prod-deprecated/src-Cku5ymUJ.js.map +1 -0
- package/dist/unpkg/prod-deprecated/store/-private.js +3 -88
- package/dist/unpkg/prod-deprecated/store-BWhmb7Ob.js +359 -0
- package/dist/unpkg/prod-deprecated/store-BWhmb7Ob.js.map +1 -0
- package/dist/unpkg/prod-deprecated/store.js +1 -435
- package/dist/unpkg/prod-deprecated/types/-private.js +1 -47
- package/dist/unpkg/prod-deprecated/types/identifier.js +63 -56
- package/dist/unpkg/prod-deprecated/types/identifier.js.map +1 -0
- package/dist/unpkg/prod-deprecated/types/record.js +211 -181
- package/dist/unpkg/prod-deprecated/types/record.js.map +1 -0
- package/dist/unpkg/prod-deprecated/types/request.js +138 -69
- package/dist/unpkg/prod-deprecated/types/request.js.map +1 -0
- package/dist/unpkg/prod-deprecated/types/runtime.js +54 -26
- package/dist/unpkg/prod-deprecated/types/runtime.js.map +1 -0
- package/dist/unpkg/prod-deprecated/types/schema/fields.js +501 -495
- package/dist/unpkg/prod-deprecated/types/schema/fields.js.map +1 -0
- package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js +79 -0
- package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js.map +1 -0
- package/dist/unpkg/prod-deprecated/types/symbols.js +84 -77
- package/dist/unpkg/prod-deprecated/types/symbols.js.map +1 -0
- package/dist/unpkg/prod-deprecated/utils/string.js +70 -66
- package/dist/unpkg/prod-deprecated/utils/string.js.map +1 -0
- package/dist/utils/string.d.ts +54 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +84 -85
- package/dist/utils/string.js.map +1 -0
- package/dist/utils-BtURiy8l.d.ts +24 -0
- package/dist/utils-BtURiy8l.d.ts.map +1 -0
- package/package.json +17 -21
- package/declarations/build-config/babel-macros.d.ts +0 -1
- package/declarations/build-config/canary-features.d.ts +0 -1
- package/declarations/build-config/debugging.d.ts +0 -1
- package/declarations/build-config/deprecations.d.ts +0 -1
- package/declarations/build-config/env.d.ts +0 -1
- package/declarations/build-config/macros.d.ts +0 -1
- package/declarations/build-config.d.ts +0 -18
- package/declarations/configure.d.ts +0 -7
- package/declarations/graph/-private/-diff.d.ts +0 -19
- package/declarations/graph/-private/-edge-definition.d.ts +0 -149
- package/declarations/graph/-private/-state.d.ts +0 -9
- package/declarations/graph/-private/-utils.d.ts +0 -25
- package/declarations/graph/-private/coerce-id.d.ts +0 -4
- package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +0 -6
- package/declarations/graph/-private/edges/collection.d.ts +0 -39
- package/declarations/graph/-private/edges/implicit.d.ts +0 -43
- package/declarations/graph/-private/edges/resource.d.ts +0 -23
- package/declarations/graph/-private/graph.d.ts +0 -56
- package/declarations/graph/-private/normalize-link.d.ts +0 -2
- package/declarations/graph/-private/operations/add-to-related-records.d.ts +0 -4
- package/declarations/graph/-private/operations/merge-identifier.d.ts +0 -3
- package/declarations/graph/-private/operations/remove-from-related-records.d.ts +0 -4
- package/declarations/graph/-private/operations/replace-related-record.d.ts +0 -3
- package/declarations/graph/-private/operations/replace-related-records.d.ts +0 -7
- package/declarations/graph/-private/operations/update-relationship.d.ts +0 -9
- package/declarations/graph/-private.d.ts +0 -13
- package/declarations/index.d.ts +0 -96
- package/declarations/reactive/-private/default-mode.d.ts +0 -73
- package/declarations/reactive/-private/document.d.ts +0 -142
- package/declarations/reactive/-private/fields/extension.d.ts +0 -8
- package/declarations/reactive/-private/fields/get-field-key.d.ts +0 -8
- package/declarations/reactive/-private/fields/managed-array.d.ts +0 -18
- package/declarations/reactive/-private/fields/managed-object.d.ts +0 -17
- package/declarations/reactive/-private/fields/many-array-manager.d.ts +0 -19
- package/declarations/reactive/-private/hooks.d.ts +0 -5
- package/declarations/reactive/-private/kind/alias-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/array-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/attribute-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/belongs-to-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/collection-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/derived-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/generic-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/has-many-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/hash-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/identity-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/local-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/object-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/resource-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/schema-array-field.d.ts +0 -4
- package/declarations/reactive/-private/kind/schema-object-field.d.ts +0 -4
- package/declarations/reactive/-private/record.d.ts +0 -83
- package/declarations/reactive/-private/schema.d.ts +0 -326
- package/declarations/reactive/-private/symbols.d.ts +0 -5
- package/declarations/reactive/-private.d.ts +0 -2
- package/declarations/reactive.d.ts +0 -286
- package/declarations/request/-private/context.d.ts +0 -39
- package/declarations/request/-private/debug.d.ts +0 -4
- package/declarations/request/-private/fetch.d.ts +0 -33
- package/declarations/request/-private/future.d.ts +0 -7
- package/declarations/request/-private/manager.d.ts +0 -158
- package/declarations/request/-private/promise-cache.d.ts +0 -28
- package/declarations/request/-private/types.d.ts +0 -234
- package/declarations/request/-private/utils.d.ts +0 -57
- package/declarations/request.d.ts +0 -52
- package/declarations/signals/-leaked.d.ts +0 -2
- package/declarations/signals/-private.d.ts +0 -6
- package/declarations/signals/promise-state.d.ts +0 -264
- package/declarations/signals/reactivity/configure.d.ts +0 -138
- package/declarations/signals/reactivity/internal.d.ts +0 -154
- package/declarations/signals/reactivity/signal.d.ts +0 -56
- package/declarations/signals/request-state.d.ts +0 -372
- package/declarations/signals/request-subscription.d.ts +0 -177
- package/declarations/store/-private/cache-handler/handler.d.ts +0 -56
- package/declarations/store/-private/cache-handler/types.d.ts +0 -84
- package/declarations/store/-private/cache-handler/utils.d.ts +0 -31
- package/declarations/store/-private/caches/instance-cache.d.ts +0 -58
- package/declarations/store/-private/caches/resource-utils.d.ts +0 -9
- package/declarations/store/-private/debug/utils.d.ts +0 -7
- package/declarations/store/-private/default-cache-policy.d.ts +0 -387
- package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +0 -34
- package/declarations/store/-private/managers/cache-key-manager.d.ts +0 -304
- package/declarations/store/-private/managers/cache-manager.d.ts +0 -367
- package/declarations/store/-private/managers/notification-manager.d.ts +0 -83
- package/declarations/store/-private/managers/record-array-manager.d.ts +0 -100
- package/declarations/store/-private/network/request-cache.d.ts +0 -103
- package/declarations/store/-private/record-arrays/-utils.d.ts +0 -80
- package/declarations/store/-private/record-arrays/legacy-live-array.d.ts +0 -81
- package/declarations/store/-private/record-arrays/legacy-many-array.d.ts +0 -133
- package/declarations/store/-private/record-arrays/legacy-query.d.ts +0 -81
- package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +0 -3
- package/declarations/store/-private/record-arrays/resource-array.d.ts +0 -67
- package/declarations/store/-private/store-service.d.ts +0 -874
- package/declarations/store/-private/utils/coerce-id.d.ts +0 -4
- package/declarations/store/-private/utils/construct-resource.d.ts +0 -6
- package/declarations/store/-private/utils/is-non-empty-string.d.ts +0 -1
- package/declarations/store/-private/utils/normalize-model-name.d.ts +0 -1
- package/declarations/store/-private/utils/uuid-polyfill.d.ts +0 -1
- package/declarations/store/-private.d.ts +0 -24
- package/declarations/store/-types/q/cache-capabilities-manager.d.ts +0 -90
- package/declarations/store/-types/q/identifier.d.ts +0 -23
- package/declarations/store/-types/q/record-instance.d.ts +0 -22
- package/declarations/store/-types/q/store.d.ts +0 -31
- package/declarations/store/deprecated/-private.d.ts +0 -223
- package/declarations/store/deprecated/store.d.ts +0 -784
- package/declarations/store.d.ts +0 -2
- package/declarations/types/-private.d.ts +0 -22
- package/declarations/types/cache/aliases.d.ts +0 -1
- package/declarations/types/cache/change.d.ts +0 -6
- package/declarations/types/cache/mutations.d.ts +0 -38
- package/declarations/types/cache/operations.d.ts +0 -168
- package/declarations/types/cache/relationship.d.ts +0 -13
- package/declarations/types/cache.d.ts +0 -429
- package/declarations/types/graph.d.ts +0 -47
- package/declarations/types/identifier.d.ts +0 -86
- package/declarations/types/json/raw.d.ts +0 -6
- package/declarations/types/params.d.ts +0 -8
- package/declarations/types/record.d.ts +0 -269
- package/declarations/types/request.d.ts +0 -367
- package/declarations/types/runtime.d.ts +0 -14
- package/declarations/types/schema/concepts.d.ts +0 -23
- package/declarations/types/schema/fields.d.ts +0 -2200
- package/declarations/types/schema/fields.type-test.d.ts +0 -1
- package/declarations/types/schema/schema-service.d.ts +0 -380
- package/declarations/types/spec/document.d.ts +0 -67
- package/declarations/types/spec/error.d.ts +0 -18
- package/declarations/types/spec/json-api-raw.d.ts +0 -139
- package/declarations/types/symbols.d.ts +0 -78
- package/declarations/types/utils.d.ts +0 -5
- package/declarations/types.d.ts +0 -11
- package/declarations/utils/string.d.ts +0 -47
- package/dist/configure-DPUFCemT.js +0 -1940
- package/dist/default-cache-policy-D7_u4YRH.js +0 -572
- package/dist/future-BKkJJkj7.js +0 -678
- package/dist/index-CQP2NSqg.js +0 -9982
- package/dist/symbols-3C1OkYtZ.js +0 -39
- package/dist/unpkg/dev/-leaked-Co0EI6Go.js +0 -1939
- package/dist/unpkg/dev/-private-sql1_mdx.js +0 -39
- package/dist/unpkg/dev/future-DFfOzSoe.js +0 -672
- package/dist/unpkg/dev/index-BzcBOnw9.js +0 -9392
- package/dist/unpkg/dev/runtime-E1M51_-O.js +0 -135
- package/dist/unpkg/dev-deprecated/-leaked-DjMeRqdU.js +0 -1939
- package/dist/unpkg/dev-deprecated/-private-3C1OkYtZ.js +0 -39
- package/dist/unpkg/dev-deprecated/future-DFfOzSoe.js +0 -672
- package/dist/unpkg/dev-deprecated/index-6TnTv-WG.js +0 -10007
- package/dist/unpkg/dev-deprecated/runtime-DAu5b0IR.js +0 -135
- package/dist/unpkg/prod/-leaked-DUONXQDB.js +0 -1676
- package/dist/unpkg/prod/-private-sql1_mdx.js +0 -39
- package/dist/unpkg/prod/handler-EU_8ncB2.js +0 -1619
- package/dist/unpkg/prod/promise-cache-DIT8Ypjq.js +0 -19
- package/dist/unpkg/prod/request-BrJSCG6r.js +0 -421
- package/dist/unpkg/prod/schema-BSkHyoWz.js +0 -5219
- package/dist/unpkg/prod-deprecated/-leaked-DRNv9VIX.js +0 -1676
- package/dist/unpkg/prod-deprecated/-private-3C1OkYtZ.js +0 -39
- package/dist/unpkg/prod-deprecated/handler-CCIu4sQ3.js +0 -334
- package/dist/unpkg/prod-deprecated/hooks-Dv4Np0MY.js +0 -26
- package/dist/unpkg/prod-deprecated/promise-cache-DIT8Ypjq.js +0 -19
- package/dist/unpkg/prod-deprecated/request-BrJSCG6r.js +0 -421
- package/dist/unpkg/prod-deprecated/schema-CJcjHv0E.js +0 -6939
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* # About
|
|
3
|
-
*
|
|
4
|
-
* This module provides an implementation of reactive objects that a Store may use for creating
|
|
5
|
-
* reactive representations of the raw data for requests, resources and their relationships
|
|
6
|
-
* stored in the cache.
|
|
7
|
-
*
|
|
8
|
-
* - For configuring the store to use these reactive objects, see [The Setup Guide](/guides/configuration/)
|
|
9
|
-
* - For defining resource schemas, see [The Schema Guide](/guides/the-manual/schemas/)
|
|
10
|
-
*
|
|
11
|
-
* Any method that returns a record instance will use the `instantiateRecord`
|
|
12
|
-
* hook configured above to instantiate a ReactiveResource once this is in place.
|
|
13
|
-
* After that, its up to you what ReactiveResource can do.
|
|
14
|
-
*
|
|
15
|
-
* ## Modes
|
|
16
|
-
*
|
|
17
|
-
* ReactiveResource has two modes: `legacy` and `polaris`.
|
|
18
|
-
*
|
|
19
|
-
* **LegacyMode** can be used to emulate the behaviors and capabilities of WarpDrive's `Model` class,
|
|
20
|
-
* and because there is little distinction between Model and a ReactiveResource in LegacyMode we refer
|
|
21
|
-
* to both of these approaches as LegacyMode. This mode is the default experience in V5.
|
|
22
|
-
*
|
|
23
|
-
* In LegacyMode:
|
|
24
|
-
*
|
|
25
|
-
* - records are mutable
|
|
26
|
-
* - local changes immediately reflect app wide
|
|
27
|
-
* - records have all the APIs of Model (references, state props, currentState, methods etc)
|
|
28
|
-
* - the continued use of `@warp-drive/legacy` is required (though most imports from it can be removed)
|
|
29
|
-
* - `async: true` relationships are supported (but not recommended outside of [LinksMode](/guides/the-manual/misc/links-mode.md))
|
|
30
|
-
*
|
|
31
|
-
* ---
|
|
32
|
-
*
|
|
33
|
-
* **PolarisMode** is an upcoming suite of features that will become the default experience in V6.
|
|
34
|
-
*
|
|
35
|
-
* In PolarisMode:
|
|
36
|
-
*
|
|
37
|
-
* - records are immutable, unless creating a new resource or explicitly checking out a record for editing
|
|
38
|
-
* - local changes are isolated until committed, displaying only via the editable version of the record
|
|
39
|
-
* - records have a more limited API, focused on only what is in their schema.
|
|
40
|
-
* - some common operations may have more friction to perform because intended utilities are not yet available
|
|
41
|
-
* - `async: true` relationships are not supported (see [LinksMode](/guides/the-manual/misc/links-mode.md))
|
|
42
|
-
* - The `@warp-drive/legacy` package is not required
|
|
43
|
-
*
|
|
44
|
-
* These modes are interopable. The reactive object (record) for a resource in PolarisMode can relate to
|
|
45
|
-
* a record in LegacyMode and vice-versa. This interopability is true whether the record in LegacyMode is
|
|
46
|
-
* a ReactiveResource or a Model.
|
|
47
|
-
*
|
|
48
|
-
* ---
|
|
49
|
-
*
|
|
50
|
-
* ## Basic Usage
|
|
51
|
-
*
|
|
52
|
-
* ReactiveResource is a reactive object that transforms raw data from an associated
|
|
53
|
-
* cache into reactive data backed by Signals.
|
|
54
|
-
*
|
|
55
|
-
* The shape of the object and the transformation of raw cache data into its
|
|
56
|
-
* reactive form is controlled by a resource schema.
|
|
57
|
-
*
|
|
58
|
-
* For instance, lets say your API is a [{json:api}](https://jsonapi.org) and your store is using
|
|
59
|
-
* the Cache provided by {@link @warp-drive/json-api! | @warp-drive/json-api}, and a request
|
|
60
|
-
* returns the following raw data:
|
|
61
|
-
*
|
|
62
|
-
* ```ts
|
|
63
|
-
* {
|
|
64
|
-
* data: {
|
|
65
|
-
* type: 'user',
|
|
66
|
-
* id: '1',
|
|
67
|
-
* attributes: { firstName: 'Chris', lastName: 'Thoburn' },
|
|
68
|
-
* relationships: { pets: { data: [{ type: 'dog', id: '1' }] }}
|
|
69
|
-
* },
|
|
70
|
-
* included: [
|
|
71
|
-
* {
|
|
72
|
-
* type: 'dog',
|
|
73
|
-
* id: '1',
|
|
74
|
-
* attributes: { name: 'Rey' },
|
|
75
|
-
* relationships: { owner: { data: { type: 'user', id: '1' }}}
|
|
76
|
-
* }
|
|
77
|
-
* ]
|
|
78
|
-
* }
|
|
79
|
-
* ```
|
|
80
|
-
*
|
|
81
|
-
* We could describe the `'user'` and `'dog'` resources in the above payload
|
|
82
|
-
* with the following schemas:
|
|
83
|
-
*
|
|
84
|
-
* ```ts
|
|
85
|
-
* store.schema.registerResources([
|
|
86
|
-
* {
|
|
87
|
-
* type: 'user',
|
|
88
|
-
* identity: { type: '@id', name: 'id' },
|
|
89
|
-
* fields: [
|
|
90
|
-
* {
|
|
91
|
-
* type: '@identity',
|
|
92
|
-
* name: '$type',
|
|
93
|
-
* kind: 'derived',
|
|
94
|
-
* options: { key: 'type' },
|
|
95
|
-
* },
|
|
96
|
-
* { kind: 'field', name: 'firstName' },
|
|
97
|
-
* { kind: 'field', name: 'lastName' },
|
|
98
|
-
* {
|
|
99
|
-
* kind: 'derived',
|
|
100
|
-
* name: 'name',
|
|
101
|
-
* type: 'concat',
|
|
102
|
-
* options: { fields: ['firstName', 'lastName'], separator: ' ' }
|
|
103
|
-
* },
|
|
104
|
-
* {
|
|
105
|
-
* kind: 'hasMany',
|
|
106
|
-
* name: 'pets',
|
|
107
|
-
* type: 'pet',
|
|
108
|
-
* options: {
|
|
109
|
-
* async: false,
|
|
110
|
-
* inverse: 'owner',
|
|
111
|
-
* polymorphic: true,
|
|
112
|
-
* linksMode: true,
|
|
113
|
-
* }
|
|
114
|
-
* }
|
|
115
|
-
* ]
|
|
116
|
-
* },
|
|
117
|
-
* {
|
|
118
|
-
* type: 'dog',
|
|
119
|
-
* identity: { type: '@id', name: 'id' },
|
|
120
|
-
* fields: [
|
|
121
|
-
* {
|
|
122
|
-
* type: '@identity',
|
|
123
|
-
* name: '$type',
|
|
124
|
-
* kind: 'derived',
|
|
125
|
-
* options: { key: 'type' },
|
|
126
|
-
* },
|
|
127
|
-
* { kind: 'field', name: 'name' },
|
|
128
|
-
* {
|
|
129
|
-
* kind: 'belongsTo',
|
|
130
|
-
* name: 'owner',
|
|
131
|
-
* type: 'user',
|
|
132
|
-
* options: {
|
|
133
|
-
* async: false,
|
|
134
|
-
* inverse: 'pets',
|
|
135
|
-
* as: 'pet',
|
|
136
|
-
* linksMode: true,
|
|
137
|
-
* }
|
|
138
|
-
* }
|
|
139
|
-
* ]
|
|
140
|
-
* }
|
|
141
|
-
* ]);
|
|
142
|
-
* ```
|
|
143
|
-
*
|
|
144
|
-
* With these schemas in place, the reactive objects that the store would
|
|
145
|
-
* provide us whenever we encountered a `'user'` or a `'dog'` would be:
|
|
146
|
-
*
|
|
147
|
-
* ```ts
|
|
148
|
-
* interface Pet {
|
|
149
|
-
* readonly id: string;
|
|
150
|
-
* readonly owner: User;
|
|
151
|
-
* }
|
|
152
|
-
*
|
|
153
|
-
* interface Dog extends Pet {
|
|
154
|
-
* readonly $type: 'dog';
|
|
155
|
-
* readonly name: string;
|
|
156
|
-
* }
|
|
157
|
-
*
|
|
158
|
-
* interface EditableUser {
|
|
159
|
-
* readonly $type: 'user';
|
|
160
|
-
* readonly id: string;
|
|
161
|
-
* firstName: string;
|
|
162
|
-
* lastName: string;
|
|
163
|
-
* readonly name: string;
|
|
164
|
-
* pets: Array<Dog | Pet>;
|
|
165
|
-
* }
|
|
166
|
-
*
|
|
167
|
-
* interface User {
|
|
168
|
-
* readonly $type: 'user';
|
|
169
|
-
* readonly id: string;
|
|
170
|
-
* readonly firstName: string;
|
|
171
|
-
* readonly lastName: string;
|
|
172
|
-
* readonly name: string;
|
|
173
|
-
* readonly pets: Readonly<Array<Dog | Pet>>;
|
|
174
|
-
* [Checkout](): Promise<EditableUser>
|
|
175
|
-
* }>
|
|
176
|
-
* ```
|
|
177
|
-
*
|
|
178
|
-
* Note how based on the schema the reactive object we receive is able to produce
|
|
179
|
-
* `name` on user (despite no name field being in the cache), provide `$type`
|
|
180
|
-
* pulled from the identity of the resource, and flatten the individual attributes
|
|
181
|
-
* and relationships onto the record for easier use.
|
|
182
|
-
*
|
|
183
|
-
* Notice also how we typed this object with `readonly`. This is because while
|
|
184
|
-
* ReactiveResource instances are ***deeply reactive***, they are also ***immutable***.
|
|
185
|
-
*
|
|
186
|
-
* We can mutate a ReactiveResource only be explicitly asking permission to do so, and
|
|
187
|
-
* in the process gaining access to an editable copy. The immutable version will
|
|
188
|
-
* not show any in-process edits made to this editable copy.
|
|
189
|
-
*
|
|
190
|
-
* ```ts
|
|
191
|
-
* import { Checkout } from '@warp-drive/schema-record';
|
|
192
|
-
*
|
|
193
|
-
* const editable = await user[Checkout]();
|
|
194
|
-
* ```
|
|
195
|
-
*
|
|
196
|
-
* ## Utilities
|
|
197
|
-
*
|
|
198
|
-
* ReactiveResource provides a schema builder that simplifies setting up a couple of
|
|
199
|
-
* conventional fields like identity and `$type`. We can rewrite the schema
|
|
200
|
-
* definition above using this utility like so:
|
|
201
|
-
*
|
|
202
|
-
* ```ts
|
|
203
|
-
* import { withDefaults } from '@warp-drive/core/reactive';
|
|
204
|
-
*
|
|
205
|
-
* store.schema.registerResources([
|
|
206
|
-
* withDefaults({
|
|
207
|
-
* type: 'user',
|
|
208
|
-
* fields: [
|
|
209
|
-
* { kind: 'field', name: 'firstName' },
|
|
210
|
-
* { kind: 'field', name: 'lastName' },
|
|
211
|
-
* {
|
|
212
|
-
* kind: 'derived',
|
|
213
|
-
* name: 'name',
|
|
214
|
-
* type: 'concat',
|
|
215
|
-
* options: { fields: ['firstName', 'lastName'], separator: ' ' }
|
|
216
|
-
* },
|
|
217
|
-
* {
|
|
218
|
-
* kind: 'hasMany',
|
|
219
|
-
* name: 'pets',
|
|
220
|
-
* type: 'pet',
|
|
221
|
-
* options: {
|
|
222
|
-
* async: false,
|
|
223
|
-
* inverse: 'owner',
|
|
224
|
-
* polymorphic: true,
|
|
225
|
-
* linksMode: true,
|
|
226
|
-
* resetOnRemoteUpdate: false,
|
|
227
|
-
* }
|
|
228
|
-
* }
|
|
229
|
-
* ]
|
|
230
|
-
* }),
|
|
231
|
-
* withDefaults({
|
|
232
|
-
* type: 'dog',
|
|
233
|
-
* fields: [
|
|
234
|
-
* { kind: 'field', name: 'name' },
|
|
235
|
-
* {
|
|
236
|
-
* kind: 'belongsTo',
|
|
237
|
-
* name: 'owner',
|
|
238
|
-
* type: 'user',
|
|
239
|
-
* options: {
|
|
240
|
-
* async: false,
|
|
241
|
-
* inverse: 'pets',
|
|
242
|
-
* as: 'pet',
|
|
243
|
-
* linksMode: true,
|
|
244
|
-
* resetOnRemoteUpdate: false,
|
|
245
|
-
* }
|
|
246
|
-
* }
|
|
247
|
-
* ]
|
|
248
|
-
* })
|
|
249
|
-
* ]);
|
|
250
|
-
* ```
|
|
251
|
-
*
|
|
252
|
-
* ## Type Support
|
|
253
|
-
*
|
|
254
|
-
* ### Resource Schemas
|
|
255
|
-
*
|
|
256
|
-
* - {@link PolarisResourceSchema}
|
|
257
|
-
* - {@link LegacyResourceSchema}
|
|
258
|
-
* - {@link ObjectSchema}
|
|
259
|
-
*
|
|
260
|
-
* ### Resource Schema Type Utils
|
|
261
|
-
*
|
|
262
|
-
* - {@link resourceSchema}
|
|
263
|
-
* - {@link objectSchema}
|
|
264
|
-
* - {@link isResourceSchema}
|
|
265
|
-
* - {@link isLegacyResourceSchema}
|
|
266
|
-
*
|
|
267
|
-
* ### Field Schemas
|
|
268
|
-
*
|
|
269
|
-
* - {@link LegacyModeFieldSchema}
|
|
270
|
-
* - {@link PolarisModeFieldSchema}
|
|
271
|
-
*
|
|
272
|
-
* @module
|
|
273
|
-
*/
|
|
274
|
-
import { checkout } from "./reactive/-private/record.js";
|
|
275
|
-
export { instantiateRecord, teardownRecord } from "./reactive/-private/hooks.js";
|
|
276
|
-
export { type CAUTION_MEGA_DANGER_ZONE_Extension, type ProcessedExtension, type ExtensionDef, type Transformation, SchemaService, withDefaults, fromIdentity, registerDerivations } from "./reactive/-private/schema.js";
|
|
277
|
-
export { commit, type ReactiveResource } from "./reactive/-private/record.js";
|
|
278
|
-
export { checkout };
|
|
279
|
-
export { Checkout } from "./reactive/-private/symbols.js";
|
|
280
|
-
export { type ReactiveDocument, type ReactiveDataDocument, type ReactiveErrorDocument } from "./reactive/-private/document.js";
|
|
281
|
-
export { createRequestSubscription, getRequestState, type RequestSubscription, type RequestLoadingState, type RequestState } from "./signals/-private.js";
|
|
282
|
-
export { getPromiseState, type PromiseState, type ResolvedPromise, type RejectedPromise, type PendingPromise } from "./signals/-private.js";
|
|
283
|
-
export type { LegacyLiveArray } from "./store/-private/record-arrays/legacy-live-array.js";
|
|
284
|
-
export type { LegacyManyArray } from "./store/-private/record-arrays/legacy-many-array.js";
|
|
285
|
-
export type { LegacyQueryArray } from "./store/-private/record-arrays/legacy-query.js";
|
|
286
|
-
export type { ReactiveResourceArray } from "./store/-private/record-arrays/resource-array.js";
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { RequestKey } from "../../types/identifier.js";
|
|
2
|
-
import type { ImmutableHeaders, ImmutableRequestInfo, RequestInfo, ResponseInfo } from "../../types/request.js";
|
|
3
|
-
import type { DeferredStream, GodContext } from "./types.js";
|
|
4
|
-
export declare function upgradeHeaders(headers: Headers | ImmutableHeaders): ImmutableHeaders;
|
|
5
|
-
export declare function cloneResponseProperties(response: Response): ResponseInfo;
|
|
6
|
-
export declare class ContextOwner {
|
|
7
|
-
hasSetStream: boolean;
|
|
8
|
-
hasSetResponse: boolean;
|
|
9
|
-
hasSubscribers: boolean;
|
|
10
|
-
stream: DeferredStream;
|
|
11
|
-
response: ResponseInfo | null;
|
|
12
|
-
request: ImmutableRequestInfo;
|
|
13
|
-
enhancedRequest: ImmutableRequestInfo;
|
|
14
|
-
nextCalled: number;
|
|
15
|
-
god: GodContext;
|
|
16
|
-
controller: AbortController;
|
|
17
|
-
requestId: number;
|
|
18
|
-
isRoot: boolean;
|
|
19
|
-
constructor(request: RequestInfo, god: GodContext, isRoot?: boolean);
|
|
20
|
-
get hasRequestedStream(): boolean;
|
|
21
|
-
getResponse(): ResponseInfo | null;
|
|
22
|
-
getStream(): Promise<ReadableStream | null>;
|
|
23
|
-
abort(reason: DOMException): void;
|
|
24
|
-
setStream(stream: ReadableStream | Promise<ReadableStream | null> | null): void;
|
|
25
|
-
resolveStream(): void;
|
|
26
|
-
setResponse(response: ResponseInfo | Response | null): void;
|
|
27
|
-
}
|
|
28
|
-
export declare class Context {
|
|
29
|
-
request: ImmutableRequestInfo;
|
|
30
|
-
id: number;
|
|
31
|
-
constructor(owner: ContextOwner, isCacheHandler: boolean);
|
|
32
|
-
setStream(stream: ReadableStream | Promise<ReadableStream | null>): void;
|
|
33
|
-
setResponse(response: ResponseInfo | Response | null): void;
|
|
34
|
-
setIdentifier(identifier: RequestKey): void;
|
|
35
|
-
get hasRequestedStream(): boolean;
|
|
36
|
-
/** @private */
|
|
37
|
-
_finalize(): void;
|
|
38
|
-
}
|
|
39
|
-
export type HandlerRequestContext = Context;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { RequestInfo } from "../../types/request.js";
|
|
2
|
-
import { Context } from "./context.js";
|
|
3
|
-
export declare function deepFreeze<T = unknown>(value: T): T;
|
|
4
|
-
export declare function assertValidRequest(request: RequestInfo | Context, isTopLevel: boolean): asserts request is RequestInfo;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type Context } from "./context.js";
|
|
2
|
-
import type { FetchError } from "./utils.js";
|
|
3
|
-
export type { FetchError };
|
|
4
|
-
interface FastbootRequest extends Request {
|
|
5
|
-
protocol: string;
|
|
6
|
-
host: string;
|
|
7
|
-
}
|
|
8
|
-
export interface FastBoot {
|
|
9
|
-
require(moduleName: string): unknown;
|
|
10
|
-
isFastBoot: boolean;
|
|
11
|
-
request: FastbootRequest;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { Fetch } from '@warp-drive/core';
|
|
16
|
-
* ```
|
|
17
|
-
*
|
|
18
|
-
* A basic Fetch Handler which converts a request into a
|
|
19
|
-
* `fetch` call presuming the response to be `json`.
|
|
20
|
-
*
|
|
21
|
-
* ```ts
|
|
22
|
-
* import { RequestManager, Fetch } from '@warp-drive/core';
|
|
23
|
-
*
|
|
24
|
-
* const manager = new RequestManager()
|
|
25
|
-
* .use([Fetch]);
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* @public
|
|
29
|
-
*/
|
|
30
|
-
declare const Fetch: {
|
|
31
|
-
request<T>(context: Context): Promise<T>;
|
|
32
|
-
};
|
|
33
|
-
export { Fetch };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type StructuredDocument } from "../../types/request.js";
|
|
2
|
-
import type { ContextOwner } from "./context.js";
|
|
3
|
-
import type { Deferred, DeferredFuture, Future } from "./types.js";
|
|
4
|
-
export declare function isFuture<T>(maybe: unknown): maybe is Future<T>;
|
|
5
|
-
export declare function createDeferred<T>(): Deferred<T>;
|
|
6
|
-
export declare function upgradePromise<T>(promise: Promise<StructuredDocument<T>>, future: Future<T>): Future<T>;
|
|
7
|
-
export declare function createFuture<T>(owner: ContextOwner): DeferredFuture<T>;
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import type { RequestKey } from "../../types/identifier.js";
|
|
2
|
-
import { type RequestInfo } from "../../types/request.js";
|
|
3
|
-
import type { CacheHandler, Future, GenericCreateArgs, Handler, ManagedRequestPriority } from "./types.js";
|
|
4
|
-
import { IS_CACHE_HANDLER } from "./utils.js";
|
|
5
|
-
/**
|
|
6
|
-
* ## Import
|
|
7
|
-
*
|
|
8
|
-
* ```js
|
|
9
|
-
* import { RequestManager } from '@warp-drive/core';
|
|
10
|
-
* ```
|
|
11
|
-
*
|
|
12
|
-
* For complete usage guide see the [RequestManager Documentation](/guides/).
|
|
13
|
-
*
|
|
14
|
-
* ## How It Works
|
|
15
|
-
*
|
|
16
|
-
* ```ts
|
|
17
|
-
* interface RequestManager {
|
|
18
|
-
* request<T>(req: RequestInfo): Future<T>;
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* A RequestManager provides a request/response flow in which configured
|
|
23
|
-
* handlers are successively given the opportunity to handle, modify, or
|
|
24
|
-
* pass-along a request.
|
|
25
|
-
*
|
|
26
|
-
* <img src="/images/handlers-all-labeled.gif" alt="RequestManager Flow Animation" width="100%" />
|
|
27
|
-
*
|
|
28
|
-
* For example:
|
|
29
|
-
*
|
|
30
|
-
* ::: code-group
|
|
31
|
-
*
|
|
32
|
-
* ```ts [Setup.ts]
|
|
33
|
-
* import { RequestManager, Fetch } from '@warp-drive/core';
|
|
34
|
-
* import { AutoCompress } from '@warp-drive/utilities/handlers';
|
|
35
|
-
* import Auth from 'ember-simple-auth/handler';
|
|
36
|
-
*
|
|
37
|
-
* // ... create manager
|
|
38
|
-
* const manager = new RequestManager()
|
|
39
|
-
* .use([Auth, new AutoCompress(), Fetch]); // [!code focus]
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* ```ts [Usage.ts]
|
|
43
|
-
* import Config from './config';
|
|
44
|
-
*
|
|
45
|
-
* const { apiUrl } = Config;
|
|
46
|
-
*
|
|
47
|
-
* // ... execute a request
|
|
48
|
-
* const response = await manager.request({
|
|
49
|
-
* url: `${apiUrl}/users`
|
|
50
|
-
* });
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* :::
|
|
54
|
-
*
|
|
55
|
-
* ### Futures
|
|
56
|
-
*
|
|
57
|
-
* The return value of `manager.request` is a `Future`, which allows
|
|
58
|
-
* access to limited information about the request while it is still
|
|
59
|
-
* pending and fulfills with the final state when the request completes.
|
|
60
|
-
*
|
|
61
|
-
* A `Future` is cancellable via `abort`.
|
|
62
|
-
*
|
|
63
|
-
* Handlers may optionally expose a `ReadableStream` to the `Future` for
|
|
64
|
-
* streaming data; however, when doing so the future should not resolve
|
|
65
|
-
* until the response stream is fully read.
|
|
66
|
-
*
|
|
67
|
-
* ```ts
|
|
68
|
-
* interface Future<T> extends Promise<StructuredDocument<T>> {
|
|
69
|
-
* abort(): void;
|
|
70
|
-
*
|
|
71
|
-
* async getStream(): ReadableStream | null;
|
|
72
|
-
* }
|
|
73
|
-
* ```
|
|
74
|
-
*
|
|
75
|
-
* ### StructuredDocuments
|
|
76
|
-
*
|
|
77
|
-
* A Future resolves with a `StructuredDataDocument` or rejects with a `StructuredErrorDocument`.
|
|
78
|
-
*
|
|
79
|
-
* ```ts
|
|
80
|
-
* interface StructuredDataDocument<T> {
|
|
81
|
-
* request: ImmutableRequestInfo;
|
|
82
|
-
* response: ImmutableResponseInfo;
|
|
83
|
-
* content: T;
|
|
84
|
-
* }
|
|
85
|
-
* interface StructuredErrorDocument extends Error {
|
|
86
|
-
* request: ImmutableRequestInfo;
|
|
87
|
-
* response: ImmutableResponseInfo;
|
|
88
|
-
* error: string | object;
|
|
89
|
-
* }
|
|
90
|
-
* type StructuredDocument<T> = StructuredDataDocument<T> | StructuredErrorDocument;
|
|
91
|
-
* ```
|
|
92
|
-
*
|
|
93
|
-
* @public
|
|
94
|
-
*/
|
|
95
|
-
export declare class RequestManager {
|
|
96
|
-
constructor(options?: GenericCreateArgs);
|
|
97
|
-
/**
|
|
98
|
-
* Register a handler to use for primary cache intercept.
|
|
99
|
-
*
|
|
100
|
-
* Only one such handler may exist. If using the same
|
|
101
|
-
* RequestManager as the Store instance the Store
|
|
102
|
-
* registers itself as a Cache handler.
|
|
103
|
-
*
|
|
104
|
-
* @public
|
|
105
|
-
*/
|
|
106
|
-
useCache(cacheHandler: CacheHandler & {
|
|
107
|
-
[IS_CACHE_HANDLER]?: true;
|
|
108
|
-
}): this;
|
|
109
|
-
/**
|
|
110
|
-
* Register handler(s) to use when a request is issued.
|
|
111
|
-
*
|
|
112
|
-
* Handlers will be invoked in the order they are registered.
|
|
113
|
-
* Each Handler is given the opportunity to handle the request,
|
|
114
|
-
* curry the request, or pass along a modified request.
|
|
115
|
-
*
|
|
116
|
-
* @public
|
|
117
|
-
*/
|
|
118
|
-
use(newHandlers: Handler[]): this;
|
|
119
|
-
/**
|
|
120
|
-
* Issue a Request.
|
|
121
|
-
*
|
|
122
|
-
* Returns a Future that fulfills with a StructuredDocument
|
|
123
|
-
*
|
|
124
|
-
* @public
|
|
125
|
-
*/
|
|
126
|
-
request<RT>(request: RequestInfo<RT>): Future<RT>;
|
|
127
|
-
/**
|
|
128
|
-
* This method exists so that the RequestManager can be created
|
|
129
|
-
* can be created by container/factory systems that expect to
|
|
130
|
-
* call a static `create` method to instantiate the class.
|
|
131
|
-
*
|
|
132
|
-
* Using `new RequestManager()` directly is preferred.
|
|
133
|
-
*
|
|
134
|
-
* @private
|
|
135
|
-
*/
|
|
136
|
-
static create(options?: GenericCreateArgs): RequestManager;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* This type exists for internal use only for
|
|
140
|
-
* where intimate contracts still exist either for
|
|
141
|
-
* the Test Suite or for Legacy code.
|
|
142
|
-
*
|
|
143
|
-
* @private
|
|
144
|
-
*/
|
|
145
|
-
export interface PrivateRequestManager extends RequestManager {
|
|
146
|
-
/**
|
|
147
|
-
* A map of pending requests from request.id to their
|
|
148
|
-
* associated CacheHandler promise.
|
|
149
|
-
*
|
|
150
|
-
* This queue is managed by the CacheHandler
|
|
151
|
-
*
|
|
152
|
-
*/
|
|
153
|
-
_pending: Map<number, Promise<unknown>>;
|
|
154
|
-
_deduped: Map<RequestKey, {
|
|
155
|
-
priority: ManagedRequestPriority;
|
|
156
|
-
promise: Promise<unknown>;
|
|
157
|
-
}>;
|
|
158
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export type CacheResult<
|
|
2
|
-
T = unknown,
|
|
3
|
-
E = unknown
|
|
4
|
-
> = {
|
|
5
|
-
isError: true;
|
|
6
|
-
result: E;
|
|
7
|
-
} | {
|
|
8
|
-
isError: false;
|
|
9
|
-
result: T;
|
|
10
|
-
};
|
|
11
|
-
export type Awaitable<
|
|
12
|
-
T = unknown,
|
|
13
|
-
E = unknown
|
|
14
|
-
> = {
|
|
15
|
-
then: (onFulfilled: (value: T) => unknown, onRejected: (reason: E) => unknown) => unknown;
|
|
16
|
-
catch: (onRejected: (reason: E) => unknown) => unknown;
|
|
17
|
-
finally: (onFinally: () => unknown) => unknown;
|
|
18
|
-
};
|
|
19
|
-
export declare const PromiseCache: WeakMap<Awaitable, CacheResult>;
|
|
20
|
-
export declare const RequestMap: Map<number, CacheResult>;
|
|
21
|
-
export declare function setRequestResult(requestId: number, result: CacheResult): void;
|
|
22
|
-
export declare function clearRequestResult(requestId: number): void;
|
|
23
|
-
export declare function getRequestResult(requestId: number): CacheResult | undefined;
|
|
24
|
-
export declare function setPromiseResult(promise: Promise<unknown> | Awaitable, result: CacheResult): void;
|
|
25
|
-
export declare function getPromiseResult<
|
|
26
|
-
T,
|
|
27
|
-
E
|
|
28
|
-
>(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined;
|