@warp-drive/legacy 5.10.0-alpha.2 → 5.10.0-alpha.21
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/README.md +91 -8
- package/blueprints/adapter/files/__root__/__path__/__name__.js +1 -0
- package/blueprints/adapter/index.js +27 -0
- package/blueprints/adapter-test/index.js +33 -0
- package/blueprints/adapter-test/qunit-files/__root__/__path__/__test__.js +1 -0
- package/blueprints/model/HELP.md +26 -0
- package/blueprints/model/files/__root__/__path__/__name__.js +1 -0
- package/blueprints/model/index.js +27 -0
- package/blueprints/model-test/index.js +33 -0
- package/blueprints/model-test/qunit-files/__root__/__path__/__test__.js +1 -0
- package/blueprints/serializer/files/__root__/__path__/__name__.js +1 -0
- package/blueprints/serializer/index.js +27 -0
- package/blueprints/serializer-test/index.js +33 -0
- package/blueprints/serializer-test/qunit-files/__root__/__path__/__test__.js +1 -0
- package/blueprints/transform/files/__root__/__path__/__name__.js +1 -0
- package/blueprints/transform/index.js +17 -0
- package/blueprints/transform-test/index.js +33 -0
- package/blueprints/transform-test/qunit-files/__root__/__path__/__test__.js +1 -0
- package/dist/{-private-DccRZQsm.js → -private-0_Oc-M3x.js} +10 -17
- package/dist/-private-0_Oc-M3x.js.map +1 -0
- package/dist/{-private-DQ6Iap2t.js → -private-L2BtGGYa.js} +8 -14
- package/dist/{-private-DQ6Iap2t.js.map → -private-L2BtGGYa.js.map} +1 -1
- package/dist/adapter/-private.d.ts +2 -12
- package/dist/adapter/-private.d.ts.map +1 -1
- package/dist/adapter/-private.js +1 -1
- package/dist/adapter/error.d.ts +1 -1
- package/dist/adapter/error.js +54 -2
- package/dist/adapter/error.js.map +1 -1
- package/dist/adapter/json-api.d.ts +5 -5
- package/dist/adapter/json-api.d.ts.map +1 -1
- package/dist/adapter/json-api.js +10 -4
- package/dist/adapter/json-api.js.map +1 -1
- package/dist/adapter/rest.d.ts +1 -1
- package/dist/adapter/rest.js +23 -5
- package/dist/adapter/rest.js.map +1 -1
- package/dist/{adapter-eYo2pIuM.js → adapter-AwGvdMSZ.js} +45 -6
- package/dist/adapter-AwGvdMSZ.js.map +1 -0
- package/dist/{adapter-CARrK3-8.d.ts → adapter-DvDVeaCc.d.ts} +9 -6
- package/dist/adapter-DvDVeaCc.d.ts.map +1 -0
- package/dist/adapter.d.ts +1 -1
- package/dist/adapter.js +1 -1
- package/dist/compat/-private.d.ts +1 -1
- package/dist/compat/-private.js +1 -1
- package/dist/compat/builders.d.ts +10 -8
- package/dist/compat/builders.d.ts.map +1 -1
- package/dist/compat/builders.js +15 -9
- package/dist/compat/builders.js.map +1 -1
- package/dist/compat/extensions.d.ts +1 -1
- package/dist/compat/extensions.js +23 -2
- package/dist/compat/extensions.js.map +1 -1
- package/dist/compat/utils.d.ts +17 -2
- package/dist/compat/utils.d.ts.map +1 -1
- package/dist/compat/utils.js +19 -2
- package/dist/compat/utils.js.map +1 -1
- package/dist/{compat-DcHVxuuZ.js → compat-C-yQnbkF.js} +61 -8
- package/dist/compat-C-yQnbkF.js.map +1 -0
- package/dist/{compat-BbNNmTM-.d.ts → compat-DoWEarkU.d.ts} +30 -17
- package/dist/compat-DoWEarkU.d.ts.map +1 -0
- package/dist/compat.d.ts +1 -1
- package/dist/compat.js +1 -1
- package/dist/{error-CzkyXr1Q.d.ts → error-798wGD3r.d.ts} +49 -3
- package/dist/error-798wGD3r.d.ts.map +1 -0
- package/dist/{errors-CS110tMl.js → errors-BEExAZtv.js} +42 -32
- package/dist/errors-BEExAZtv.js.map +1 -0
- package/dist/{extensions-DumNm4dA.d.ts → extensions-DcEz1lKv.d.ts} +18 -3
- package/dist/extensions-DcEz1lKv.d.ts.map +1 -0
- package/dist/index.d.ts +17 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -7
- package/dist/index.js.map +1 -1
- package/dist/{json-BXNPTlcH.js → json-Baaga4BP.js} +10 -5
- package/dist/json-Baaga4BP.js.map +1 -0
- package/dist/model/-private.d.ts +1 -1
- package/dist/model/-private.js +1 -1
- package/dist/model/migration-support.d.ts +19 -4
- package/dist/model/migration-support.d.ts.map +1 -1
- package/dist/model/migration-support.js +25 -7
- package/dist/model/migration-support.js.map +1 -1
- package/dist/{model-DWH9f__L.js → model-Be-e84FX.js} +19 -12
- package/dist/model-Be-e84FX.js.map +1 -0
- package/dist/{model-62hn5_PD.d.ts → model-DAdY1ibr.d.ts} +13 -26
- package/dist/model-DAdY1ibr.d.ts.map +1 -0
- package/dist/{unpkg/dev-deprecated/model-fragments-DSqu0ptR.js → model-fragments-DCHMDr5f.js} +32 -18
- package/dist/model-fragments-DCHMDr5f.js.map +1 -0
- package/dist/model-fragments.d.ts +31 -19
- package/dist/model-fragments.d.ts.map +1 -1
- package/dist/model-fragments.js +1 -1
- package/dist/model.d.ts +12 -11
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +2 -2
- package/dist/{rest-0NhtexIq.d.ts → rest-CmFneLJH.d.ts} +18 -8
- package/dist/rest-CmFneLJH.d.ts.map +1 -0
- package/dist/{runtime--fcdnjmJ-DMTJ0Kb3.js → runtime--fcdnjmJ-5yaSpa-d.js} +2 -3
- package/dist/{runtime--fcdnjmJ-DMTJ0Kb3.js.map → runtime--fcdnjmJ-5yaSpa-d.js.map} +1 -1
- package/dist/{schema-provider-DguGmQDS.js → schema-provider-BAB8DyMr.js} +22 -21
- package/dist/schema-provider-BAB8DyMr.js.map +1 -0
- package/dist/serializer/json-api.d.ts +1 -2
- package/dist/serializer/json-api.d.ts.map +1 -1
- package/dist/serializer/json-api.js +7 -3
- package/dist/serializer/json-api.js.map +1 -1
- package/dist/serializer/json.d.ts +2 -2
- package/dist/serializer/json.d.ts.map +1 -1
- package/dist/serializer/json.js +1 -1
- package/dist/serializer/rest.d.ts +4 -4
- package/dist/serializer/rest.d.ts.map +1 -1
- package/dist/serializer/rest.js +12 -5
- package/dist/serializer/rest.js.map +1 -1
- package/dist/serializer/transform.d.ts +9 -10
- package/dist/serializer/transform.d.ts.map +1 -1
- package/dist/serializer/transform.js +14 -10
- package/dist/serializer/transform.js.map +1 -1
- package/dist/serializer.d.ts +2 -2
- package/dist/serializer.d.ts.map +1 -1
- package/dist/serializer.js +42 -3
- package/dist/serializer.js.map +1 -1
- package/dist/{store-C4qYzXei.js → store-BLKEsJyw.js} +13 -7
- package/dist/store-BLKEsJyw.js.map +1 -0
- package/dist/store.d.ts +3 -2
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +1 -1
- package/dist/unpkg/dev/{-private-CrEyBE-B.js → -private-BprUAEe_.js} +8 -14
- package/dist/unpkg/{dev-deprecated/-private-CrEyBE-B.js.map → dev/-private-BprUAEe_.js.map} +1 -1
- package/dist/unpkg/dev/{-private-vOhxVExH.js → -private-Dch4SxkU.js} +10 -17
- package/dist/unpkg/dev/-private-Dch4SxkU.js.map +1 -0
- package/dist/unpkg/dev/adapter/-private.js +1 -1
- package/dist/unpkg/dev/adapter/error.js +54 -2
- package/dist/unpkg/dev/adapter/error.js.map +1 -1
- package/dist/unpkg/dev/adapter/json-api.js +10 -4
- package/dist/unpkg/dev/adapter/json-api.js.map +1 -1
- package/dist/unpkg/dev/adapter/rest.js +23 -5
- package/dist/unpkg/dev/adapter/rest.js.map +1 -1
- package/dist/unpkg/dev/{adapter-oLwyr47q.js → adapter-BAn4SeUA.js} +45 -6
- package/dist/unpkg/dev/adapter-BAn4SeUA.js.map +1 -0
- package/dist/unpkg/dev/adapter.js +1 -1
- package/dist/unpkg/dev/compat/-private.js +1 -1
- package/dist/unpkg/dev/compat/builders.js +15 -9
- package/dist/unpkg/dev/compat/builders.js.map +1 -1
- package/dist/unpkg/dev/compat/extensions.js +23 -2
- package/dist/unpkg/dev/compat/extensions.js.map +1 -1
- package/dist/unpkg/dev/compat/utils.js +19 -2
- package/dist/unpkg/dev/compat/utils.js.map +1 -1
- package/dist/unpkg/dev/{compat-DNQT2TQx.js → compat-BdovRRzQ.js} +62 -10
- package/dist/unpkg/dev/compat-BdovRRzQ.js.map +1 -0
- package/dist/unpkg/dev/compat.js +1 -1
- package/dist/unpkg/dev/{errors-DnzvLM2A.js → errors-CGvbM6WH.js} +42 -32
- package/dist/unpkg/dev/errors-CGvbM6WH.js.map +1 -0
- package/dist/unpkg/dev/index.js +25 -7
- package/dist/unpkg/dev/index.js.map +1 -1
- package/dist/unpkg/{dev-deprecated/json-DDJji3V3.js → dev/json-BlSBe84o.js} +10 -5
- package/dist/unpkg/dev/json-BlSBe84o.js.map +1 -0
- package/dist/unpkg/dev/model/-private.js +1 -1
- package/dist/unpkg/dev/model/migration-support.js +24 -6
- package/dist/unpkg/dev/model/migration-support.js.map +1 -1
- package/dist/unpkg/dev/{model-BxPIR7m2.js → model-QCZr8eec.js} +19 -12
- package/dist/unpkg/dev/model-QCZr8eec.js.map +1 -0
- package/dist/{model-fragments-DSqu0ptR.js → unpkg/dev/model-fragments-DCHMDr5f.js} +32 -18
- package/dist/unpkg/dev/model-fragments-DCHMDr5f.js.map +1 -0
- package/dist/unpkg/dev/model-fragments.js +1 -1
- package/dist/unpkg/dev/model.js +2 -2
- package/dist/unpkg/dev/{runtime--fcdnjmJ-DMTJ0Kb3.js → runtime--fcdnjmJ-5yaSpa-d.js} +2 -3
- package/dist/unpkg/dev/{runtime--fcdnjmJ-DMTJ0Kb3.js.map → runtime--fcdnjmJ-5yaSpa-d.js.map} +1 -1
- package/dist/unpkg/dev/{schema-provider-CI_a48ja.js → schema-provider-IMFO9Kgw.js} +18 -17
- package/dist/unpkg/dev/schema-provider-IMFO9Kgw.js.map +1 -0
- package/dist/unpkg/dev/serializer/json-api.js +7 -3
- package/dist/unpkg/dev/serializer/json-api.js.map +1 -1
- package/dist/unpkg/dev/serializer/json.js +1 -1
- package/dist/unpkg/dev/serializer/rest.js +12 -5
- package/dist/unpkg/dev/serializer/rest.js.map +1 -1
- package/dist/unpkg/dev/serializer/transform.js +14 -10
- package/dist/unpkg/dev/serializer/transform.js.map +1 -1
- package/dist/unpkg/dev/serializer.js +42 -3
- package/dist/unpkg/dev/serializer.js.map +1 -1
- package/dist/unpkg/dev/{store-D_V8-HQl.js → store-BiXsLLAu.js} +13 -7
- package/dist/unpkg/dev/store-BiXsLLAu.js.map +1 -0
- package/dist/unpkg/dev/store.js +1 -1
- package/dist/unpkg/dev/{util-dSKEgQDp.js → util-CI7b4vAE.js} +2 -3
- package/dist/unpkg/dev/{util-dSKEgQDp.js.map → util-CI7b4vAE.js.map} +1 -1
- package/dist/unpkg/{prod/utils-DYC9utVJ.js → dev/utils-_O0MjUTU.js} +2 -3
- package/dist/unpkg/dev/{utils-DYC9utVJ.js.map → utils-_O0MjUTU.js.map} +1 -1
- package/dist/unpkg/dev-deprecated/{-private-CrEyBE-B.js → -private-BprUAEe_.js} +8 -14
- package/dist/unpkg/{dev/-private-CrEyBE-B.js.map → dev-deprecated/-private-BprUAEe_.js.map} +1 -1
- package/dist/unpkg/dev-deprecated/{-private-vOhxVExH.js → -private-Dch4SxkU.js} +10 -17
- package/dist/unpkg/dev-deprecated/-private-Dch4SxkU.js.map +1 -0
- package/dist/unpkg/dev-deprecated/adapter/-private.js +1 -1
- package/dist/unpkg/dev-deprecated/adapter/error.js +54 -2
- package/dist/unpkg/dev-deprecated/adapter/error.js.map +1 -1
- package/dist/unpkg/dev-deprecated/adapter/json-api.js +10 -4
- package/dist/unpkg/dev-deprecated/adapter/json-api.js.map +1 -1
- package/dist/unpkg/dev-deprecated/adapter/rest.js +23 -5
- package/dist/unpkg/dev-deprecated/adapter/rest.js.map +1 -1
- package/dist/unpkg/dev-deprecated/{adapter-oLwyr47q.js → adapter-BAn4SeUA.js} +45 -6
- package/dist/unpkg/dev-deprecated/adapter-BAn4SeUA.js.map +1 -0
- package/dist/unpkg/dev-deprecated/adapter.js +1 -1
- package/dist/unpkg/dev-deprecated/compat/-private.js +1 -1
- package/dist/unpkg/dev-deprecated/compat/builders.js +15 -9
- package/dist/unpkg/dev-deprecated/compat/builders.js.map +1 -1
- package/dist/unpkg/dev-deprecated/compat/extensions.js +23 -2
- package/dist/unpkg/dev-deprecated/compat/extensions.js.map +1 -1
- package/dist/unpkg/dev-deprecated/compat/utils.js +19 -2
- package/dist/unpkg/dev-deprecated/compat/utils.js.map +1 -1
- package/dist/unpkg/dev-deprecated/{compat-CeT0PnVX.js → compat-CPVriwH0.js} +62 -10
- package/dist/unpkg/dev-deprecated/compat-CPVriwH0.js.map +1 -0
- package/dist/unpkg/dev-deprecated/compat.js +1 -1
- package/dist/unpkg/dev-deprecated/{errors-jHQESeNQ.js → errors-yPc7D7r3.js} +42 -32
- package/dist/unpkg/dev-deprecated/errors-yPc7D7r3.js.map +1 -0
- package/dist/unpkg/dev-deprecated/index.js +25 -7
- package/dist/unpkg/dev-deprecated/index.js.map +1 -1
- package/dist/unpkg/{dev/json-DDJji3V3.js → dev-deprecated/json-BlSBe84o.js} +10 -5
- package/dist/unpkg/dev-deprecated/json-BlSBe84o.js.map +1 -0
- package/dist/unpkg/dev-deprecated/model/-private.js +1 -1
- package/dist/unpkg/dev-deprecated/model/migration-support.js +24 -6
- package/dist/unpkg/dev-deprecated/model/migration-support.js.map +1 -1
- package/dist/unpkg/dev-deprecated/{model-BeGORt6h.js → model-B0ZNLaHO.js} +19 -12
- package/dist/unpkg/dev-deprecated/model-B0ZNLaHO.js.map +1 -0
- package/dist/unpkg/{prod-deprecated/model-fragments-DSqu0ptR.js → dev-deprecated/model-fragments-DCHMDr5f.js} +32 -18
- package/dist/unpkg/dev-deprecated/model-fragments-DCHMDr5f.js.map +1 -0
- package/dist/unpkg/dev-deprecated/model-fragments.js +1 -1
- package/dist/unpkg/dev-deprecated/model.js +2 -2
- package/dist/unpkg/dev-deprecated/{runtime--fcdnjmJ-DMTJ0Kb3.js → runtime--fcdnjmJ-5yaSpa-d.js} +2 -3
- package/dist/unpkg/dev-deprecated/{runtime--fcdnjmJ-DMTJ0Kb3.js.map → runtime--fcdnjmJ-5yaSpa-d.js.map} +1 -1
- package/dist/unpkg/dev-deprecated/{schema-provider-NmtdR4n_.js → schema-provider-DGWYnFno.js} +18 -17
- package/dist/unpkg/dev-deprecated/schema-provider-DGWYnFno.js.map +1 -0
- package/dist/unpkg/dev-deprecated/serializer/json-api.js +7 -3
- package/dist/unpkg/dev-deprecated/serializer/json-api.js.map +1 -1
- package/dist/unpkg/dev-deprecated/serializer/json.js +1 -1
- package/dist/unpkg/dev-deprecated/serializer/rest.js +12 -5
- package/dist/unpkg/dev-deprecated/serializer/rest.js.map +1 -1
- package/dist/unpkg/dev-deprecated/serializer/transform.js +14 -10
- package/dist/unpkg/dev-deprecated/serializer/transform.js.map +1 -1
- package/dist/unpkg/dev-deprecated/serializer.js +42 -3
- package/dist/unpkg/dev-deprecated/serializer.js.map +1 -1
- package/dist/unpkg/dev-deprecated/{store-BCOLSC6z.js → store-Ci8k7Lh6.js} +13 -7
- package/dist/unpkg/dev-deprecated/store-Ci8k7Lh6.js.map +1 -0
- package/dist/unpkg/dev-deprecated/store.js +1 -1
- package/dist/unpkg/dev-deprecated/{util-CXA3RNYH.js → util-DL_8JecH.js} +2 -3
- package/dist/unpkg/dev-deprecated/{util-CXA3RNYH.js.map → util-DL_8JecH.js.map} +1 -1
- package/dist/unpkg/dev-deprecated/{utils-DQkMqhDv.js → utils-DyGjRZ14.js} +2 -3
- package/dist/unpkg/dev-deprecated/{utils-DQkMqhDv.js.map → utils-DyGjRZ14.js.map} +1 -1
- package/dist/unpkg/{prod-deprecated/-private-B4bxoTuK.js → prod/-private-Dc9yg98O.js} +8 -14
- package/dist/unpkg/{prod-deprecated/-private-B4bxoTuK.js.map → prod/-private-Dc9yg98O.js.map} +1 -1
- package/dist/unpkg/prod/{-private-SfXkkHKd.js → -private-DuRzYAyW.js} +9 -15
- package/dist/unpkg/prod/-private-DuRzYAyW.js.map +1 -0
- package/dist/unpkg/prod/adapter/-private.js +1 -1
- package/dist/unpkg/prod/adapter/error.js +54 -2
- package/dist/unpkg/prod/adapter/error.js.map +1 -1
- package/dist/unpkg/prod/adapter/json-api.js +10 -4
- package/dist/unpkg/prod/adapter/json-api.js.map +1 -1
- package/dist/unpkg/prod/adapter/rest.js +23 -5
- package/dist/unpkg/prod/adapter/rest.js.map +1 -1
- package/dist/unpkg/prod/{adapter-DQ9UA7FC.js → adapter-D0HCLrwm.js} +45 -6
- package/dist/unpkg/prod/adapter-D0HCLrwm.js.map +1 -0
- package/dist/unpkg/prod/adapter.js +1 -1
- package/dist/unpkg/prod/compat/-private.js +1 -1
- package/dist/unpkg/prod/compat/builders.js +15 -9
- package/dist/unpkg/prod/compat/builders.js.map +1 -1
- package/dist/unpkg/prod/compat/extensions.js +23 -2
- package/dist/unpkg/prod/compat/extensions.js.map +1 -1
- package/dist/unpkg/prod/compat/utils.js +19 -2
- package/dist/unpkg/prod/compat/utils.js.map +1 -1
- package/dist/unpkg/{prod-deprecated/compat-DxiVkCUb.js → prod/compat-PrUuencH.js} +62 -10
- package/dist/unpkg/prod/compat-PrUuencH.js.map +1 -0
- package/dist/unpkg/prod/compat.js +1 -1
- package/dist/unpkg/prod/{errors-DQDfNqVx.js → errors-Bw8niCo8.js} +38 -27
- package/dist/unpkg/prod/errors-Bw8niCo8.js.map +1 -0
- package/dist/unpkg/prod/index.js +25 -7
- package/dist/unpkg/prod/index.js.map +1 -1
- package/dist/unpkg/prod/{json-BD1kRTfB.js → json-D1bH8enA.js} +10 -5
- package/dist/unpkg/prod/json-D1bH8enA.js.map +1 -0
- package/dist/unpkg/prod/model/-private.js +1 -1
- package/dist/unpkg/prod/model/migration-support.js +24 -6
- package/dist/unpkg/prod/model/migration-support.js.map +1 -1
- package/dist/unpkg/prod/{model-CYMA-e_S.js → model-QtC0IWbE.js} +19 -12
- package/dist/unpkg/prod/model-QtC0IWbE.js.map +1 -0
- package/dist/unpkg/prod/model-fragments-DCHMDr5f.js +348 -0
- package/dist/unpkg/prod/model-fragments-DCHMDr5f.js.map +1 -0
- package/dist/unpkg/prod/model-fragments.js +1 -1
- package/dist/unpkg/prod/model.js +2 -2
- package/dist/unpkg/prod/runtime--fcdnjmJ-5yaSpa-d.js +52 -0
- package/dist/unpkg/prod/{runtime--fcdnjmJ-DMTJ0Kb3.js.map → runtime--fcdnjmJ-5yaSpa-d.js.map} +1 -1
- package/dist/unpkg/prod/{schema-provider-05U1H-Kl.js → schema-provider-DPOzTa8e.js} +18 -17
- package/dist/unpkg/prod/schema-provider-DPOzTa8e.js.map +1 -0
- package/dist/unpkg/prod/serializer/json-api.js +7 -3
- package/dist/unpkg/prod/serializer/json-api.js.map +1 -1
- package/dist/unpkg/prod/serializer/json.js +1 -1
- package/dist/unpkg/prod/serializer/rest.js +12 -5
- package/dist/unpkg/prod/serializer/rest.js.map +1 -1
- package/dist/unpkg/prod/serializer/transform.js +14 -10
- package/dist/unpkg/prod/serializer/transform.js.map +1 -1
- package/dist/unpkg/prod/serializer.js +42 -3
- package/dist/unpkg/prod/serializer.js.map +1 -1
- package/dist/unpkg/{prod-deprecated/store-0L2CkYzh.js → prod/store-BsSkzWgk.js} +13 -7
- package/dist/unpkg/{prod-deprecated/store-0L2CkYzh.js.map → prod/store-BsSkzWgk.js.map} +1 -1
- package/dist/unpkg/prod/store.js +1 -1
- package/dist/unpkg/prod/{util-dSKEgQDp.js → util-CI7b4vAE.js} +2 -3
- package/dist/unpkg/prod/{util-dSKEgQDp.js.map → util-CI7b4vAE.js.map} +1 -1
- package/dist/unpkg/{dev/utils-DYC9utVJ.js → prod/utils-_O0MjUTU.js} +2 -3
- package/dist/unpkg/prod/{utils-DYC9utVJ.js.map → utils-_O0MjUTU.js.map} +1 -1
- package/dist/unpkg/{prod/-private-B4bxoTuK.js → prod-deprecated/-private-Dc9yg98O.js} +8 -14
- package/dist/unpkg/{prod/-private-B4bxoTuK.js.map → prod-deprecated/-private-Dc9yg98O.js.map} +1 -1
- package/dist/unpkg/prod-deprecated/{-private-SfXkkHKd.js → -private-DuRzYAyW.js} +9 -15
- package/dist/unpkg/prod-deprecated/-private-DuRzYAyW.js.map +1 -0
- package/dist/unpkg/prod-deprecated/adapter/-private.js +1 -1
- package/dist/unpkg/prod-deprecated/adapter/error.js +54 -2
- package/dist/unpkg/prod-deprecated/adapter/error.js.map +1 -1
- package/dist/unpkg/prod-deprecated/adapter/json-api.js +10 -4
- package/dist/unpkg/prod-deprecated/adapter/json-api.js.map +1 -1
- package/dist/unpkg/prod-deprecated/adapter/rest.js +23 -5
- package/dist/unpkg/prod-deprecated/adapter/rest.js.map +1 -1
- package/dist/unpkg/prod-deprecated/{adapter-DQ9UA7FC.js → adapter-D0HCLrwm.js} +45 -6
- package/dist/unpkg/prod-deprecated/adapter-D0HCLrwm.js.map +1 -0
- package/dist/unpkg/prod-deprecated/adapter.js +1 -1
- package/dist/unpkg/prod-deprecated/compat/-private.js +1 -1
- package/dist/unpkg/prod-deprecated/compat/builders.js +15 -9
- package/dist/unpkg/prod-deprecated/compat/builders.js.map +1 -1
- package/dist/unpkg/prod-deprecated/compat/extensions.js +23 -2
- package/dist/unpkg/prod-deprecated/compat/extensions.js.map +1 -1
- package/dist/unpkg/prod-deprecated/compat/utils.js +19 -2
- package/dist/unpkg/prod-deprecated/compat/utils.js.map +1 -1
- package/dist/unpkg/{prod/compat-DxiVkCUb.js → prod-deprecated/compat-PrUuencH.js} +62 -10
- package/dist/unpkg/prod-deprecated/compat-PrUuencH.js.map +1 -0
- package/dist/unpkg/prod-deprecated/compat.js +1 -1
- package/dist/unpkg/prod-deprecated/{errors-ii4L43_1.js → errors-D20lKboZ.js} +38 -27
- package/dist/unpkg/prod-deprecated/errors-D20lKboZ.js.map +1 -0
- package/dist/unpkg/prod-deprecated/index.js +25 -7
- package/dist/unpkg/prod-deprecated/index.js.map +1 -1
- package/dist/unpkg/prod-deprecated/{json-BD1kRTfB.js → json-D1bH8enA.js} +10 -5
- package/dist/unpkg/prod-deprecated/json-D1bH8enA.js.map +1 -0
- package/dist/unpkg/prod-deprecated/model/-private.js +1 -1
- package/dist/unpkg/prod-deprecated/model/migration-support.js +24 -6
- package/dist/unpkg/prod-deprecated/model/migration-support.js.map +1 -1
- package/dist/unpkg/prod-deprecated/{model-D3oCPHtM.js → model-B946S2pl.js} +19 -12
- package/dist/unpkg/prod-deprecated/model-B946S2pl.js.map +1 -0
- package/dist/unpkg/{dev/model-fragments-DSqu0ptR.js → prod-deprecated/model-fragments-DCHMDr5f.js} +32 -18
- package/dist/unpkg/prod-deprecated/model-fragments-DCHMDr5f.js.map +1 -0
- package/dist/unpkg/prod-deprecated/model-fragments.js +1 -1
- package/dist/unpkg/prod-deprecated/model.js +2 -2
- package/dist/unpkg/prod-deprecated/{runtime--fcdnjmJ-DMTJ0Kb3.js → runtime--fcdnjmJ-5yaSpa-d.js} +2 -3
- package/dist/unpkg/prod-deprecated/{runtime--fcdnjmJ-DMTJ0Kb3.js.map → runtime--fcdnjmJ-5yaSpa-d.js.map} +1 -1
- package/dist/unpkg/prod-deprecated/{schema-provider-CKH_bnnS.js → schema-provider-xcaytn9y.js} +18 -17
- package/dist/unpkg/prod-deprecated/schema-provider-xcaytn9y.js.map +1 -0
- package/dist/unpkg/prod-deprecated/serializer/json-api.js +7 -3
- package/dist/unpkg/prod-deprecated/serializer/json-api.js.map +1 -1
- package/dist/unpkg/prod-deprecated/serializer/json.js +1 -1
- package/dist/unpkg/prod-deprecated/serializer/rest.js +12 -5
- package/dist/unpkg/prod-deprecated/serializer/rest.js.map +1 -1
- package/dist/unpkg/prod-deprecated/serializer/transform.js +14 -10
- package/dist/unpkg/prod-deprecated/serializer/transform.js.map +1 -1
- package/dist/unpkg/prod-deprecated/serializer.js +42 -3
- package/dist/unpkg/prod-deprecated/serializer.js.map +1 -1
- package/dist/unpkg/{prod/store-RGGc1ilN.js → prod-deprecated/store-Dsw2f4s-.js} +13 -7
- package/dist/unpkg/{prod/store-RGGc1ilN.js.map → prod-deprecated/store-Dsw2f4s-.js.map} +1 -1
- package/dist/unpkg/prod-deprecated/store.js +1 -1
- package/dist/unpkg/prod-deprecated/{util-CQQdHX3n.js → util-CVu5_VeN.js} +2 -3
- package/dist/unpkg/prod-deprecated/{util-CQQdHX3n.js.map → util-CVu5_VeN.js.map} +1 -1
- package/dist/unpkg/prod-deprecated/{utils-BMI_JwFP.js → utils-z1h-zTls.js} +2 -3
- package/dist/unpkg/prod-deprecated/{utils-BMI_JwFP.js.map → utils-z1h-zTls.js.map} +1 -1
- package/dist/{util-Bnx8nm-D.js → util-fMuLguoj.js} +2 -3
- package/dist/{util-Bnx8nm-D.js.map → util-fMuLguoj.js.map} +1 -1
- package/dist/{utils-ZAytYep8.js → utils-UqBsN9IU.js} +2 -3
- package/dist/{utils-ZAytYep8.js.map → utils-UqBsN9IU.js.map} +1 -1
- package/logos/README.md +1 -1
- package/package.json +17 -12
- package/dist/-private-DccRZQsm.js.map +0 -1
- package/dist/adapter-CARrK3-8.d.ts.map +0 -1
- package/dist/adapter-eYo2pIuM.js.map +0 -1
- package/dist/compat-BbNNmTM-.d.ts.map +0 -1
- package/dist/compat-DcHVxuuZ.js.map +0 -1
- package/dist/error-CzkyXr1Q.d.ts.map +0 -1
- package/dist/errors-CS110tMl.js.map +0 -1
- package/dist/extensions-DumNm4dA.d.ts.map +0 -1
- package/dist/json-BXNPTlcH.js.map +0 -1
- package/dist/model-62hn5_PD.d.ts.map +0 -1
- package/dist/model-DWH9f__L.js.map +0 -1
- package/dist/model-fragments-DSqu0ptR.js.map +0 -1
- package/dist/rest-0NhtexIq.d.ts.map +0 -1
- package/dist/schema-provider-DguGmQDS.js.map +0 -1
- package/dist/store-C4qYzXei.js.map +0 -1
- package/dist/unpkg/dev/-private-vOhxVExH.js.map +0 -1
- package/dist/unpkg/dev/adapter-oLwyr47q.js.map +0 -1
- package/dist/unpkg/dev/compat-DNQT2TQx.js.map +0 -1
- package/dist/unpkg/dev/errors-DnzvLM2A.js.map +0 -1
- package/dist/unpkg/dev/json-DDJji3V3.js.map +0 -1
- package/dist/unpkg/dev/model-BxPIR7m2.js.map +0 -1
- package/dist/unpkg/dev/model-fragments-DSqu0ptR.js.map +0 -1
- package/dist/unpkg/dev/schema-provider-CI_a48ja.js.map +0 -1
- package/dist/unpkg/dev/store-D_V8-HQl.js.map +0 -1
- package/dist/unpkg/dev-deprecated/-private-vOhxVExH.js.map +0 -1
- package/dist/unpkg/dev-deprecated/adapter-oLwyr47q.js.map +0 -1
- package/dist/unpkg/dev-deprecated/compat-CeT0PnVX.js.map +0 -1
- package/dist/unpkg/dev-deprecated/errors-jHQESeNQ.js.map +0 -1
- package/dist/unpkg/dev-deprecated/json-DDJji3V3.js.map +0 -1
- package/dist/unpkg/dev-deprecated/model-BeGORt6h.js.map +0 -1
- package/dist/unpkg/dev-deprecated/model-fragments-DSqu0ptR.js.map +0 -1
- package/dist/unpkg/dev-deprecated/schema-provider-NmtdR4n_.js.map +0 -1
- package/dist/unpkg/dev-deprecated/store-BCOLSC6z.js.map +0 -1
- package/dist/unpkg/prod/-private-SfXkkHKd.js.map +0 -1
- package/dist/unpkg/prod/adapter-DQ9UA7FC.js.map +0 -1
- package/dist/unpkg/prod/compat-DxiVkCUb.js.map +0 -1
- package/dist/unpkg/prod/errors-DQDfNqVx.js.map +0 -1
- package/dist/unpkg/prod/json-BD1kRTfB.js.map +0 -1
- package/dist/unpkg/prod/model-CYMA-e_S.js.map +0 -1
- package/dist/unpkg/prod/model-fragments-DSqu0ptR.js +0 -334
- package/dist/unpkg/prod/model-fragments-DSqu0ptR.js.map +0 -1
- package/dist/unpkg/prod/runtime--fcdnjmJ-DMTJ0Kb3.js +0 -53
- package/dist/unpkg/prod/schema-provider-05U1H-Kl.js.map +0 -1
- package/dist/unpkg/prod-deprecated/-private-SfXkkHKd.js.map +0 -1
- package/dist/unpkg/prod-deprecated/adapter-DQ9UA7FC.js.map +0 -1
- package/dist/unpkg/prod-deprecated/compat-DxiVkCUb.js.map +0 -1
- package/dist/unpkg/prod-deprecated/errors-ii4L43_1.js.map +0 -1
- package/dist/unpkg/prod-deprecated/json-BD1kRTfB.js.map +0 -1
- package/dist/unpkg/prod-deprecated/model-D3oCPHtM.js.map +0 -1
- package/dist/unpkg/prod-deprecated/model-fragments-DSqu0ptR.js.map +0 -1
- package/dist/unpkg/prod-deprecated/schema-provider-CKH_bnnS.js.map +0 -1
package/dist/{unpkg/dev-deprecated/model-fragments-DSqu0ptR.js → model-fragments-DCHMDr5f.js}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { n as decorateMethodV2, r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-
|
|
1
|
+
import { n as decorateMethodV2, r as initializeDeferredDecorator, t as decorateFieldV2 } from "./runtime--fcdnjmJ-5yaSpa-d.js";
|
|
2
2
|
import { withDefaults } from "./model/migration-support.js";
|
|
3
3
|
import { Context } from "@warp-drive/core/reactive/-private";
|
|
4
4
|
import { pluralize, singularize } from "@warp-drive/utilities/string";
|
|
5
5
|
import { cached, tracked } from "@glimmer/tracking";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/model-fragments/utilities/with-array-defaults.ts
|
|
8
8
|
function withArrayDefaults(arrayName, primitiveType) {
|
|
9
9
|
return {
|
|
10
10
|
kind: "array",
|
|
@@ -18,12 +18,13 @@ function withArrayDefaults(arrayName, primitiveType) {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
//#region src/model-fragments/utilities/with-fragment-defaults.ts
|
|
21
|
+
// src/model-fragments/utilities/with-fragment-defaults.ts
|
|
23
22
|
/**
|
|
24
23
|
* Used as a helper to setup the relevant parts of a fragment schema
|
|
25
24
|
* and add extensions etc.
|
|
26
25
|
*
|
|
26
|
+
* @summary Legacy ModelFragments migration helper that builds a `schema-object` field for a single `fragment:`
|
|
27
|
+
* type with the `ember-object` and `fragment` extensions.
|
|
27
28
|
* @param fragmentType The type of the fragment
|
|
28
29
|
* @param fragmentName The optional name of the fragment. If not provided, it will default to the fragmentType.
|
|
29
30
|
* @returns The schema for a fragment
|
|
@@ -37,12 +38,13 @@ function withFragmentDefaults(fragmentType, fragmentName) {
|
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
//#region src/model-fragments/utilities/with-fragment-array-defaults.ts
|
|
41
|
+
// src/model-fragments/utilities/with-fragment-array-defaults.ts
|
|
42
42
|
/**
|
|
43
43
|
* Used as a helper to setup the relevant parts of a fragment-array
|
|
44
44
|
* schema and add extensions etc.
|
|
45
45
|
*
|
|
46
|
+
* @summary Legacy ModelFragments migration helper that builds a `schema-array` field of `fragment:` items,
|
|
47
|
+
* defaulting to an empty array, with Ember and fragment-array extensions.
|
|
46
48
|
* @param fragmentArrayType The type of the fragment-array
|
|
47
49
|
* @param fragmentArrayName The name of the fragment-array
|
|
48
50
|
* @returns The schema for a fragment-array
|
|
@@ -63,13 +65,14 @@ function withFragmentArrayDefaults(fragmentArrayType, fragmentArrayName) {
|
|
|
63
65
|
};
|
|
64
66
|
}
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
//#region src/model-fragments/utilities/with-legacy.ts
|
|
68
|
+
// src/model-fragments/utilities/with-legacy.ts
|
|
68
69
|
/**
|
|
69
70
|
* Used as a helper to setup the relevant parts of a legacy resource schema
|
|
70
71
|
* migrated from `Model`, applying the `ember-object` and `fragment` object
|
|
71
72
|
* extensions and a default `@id` identity field.
|
|
72
73
|
*
|
|
74
|
+
* @summary Legacy ModelFragments migration helper that completes a legacy resource schema with an `id` identity,
|
|
75
|
+
* `Model` defaults, and the `ember-object` and `fragment` extensions.
|
|
73
76
|
* @param schema the partial legacy resource schema to complete
|
|
74
77
|
* @returns the completed resource schema
|
|
75
78
|
*/
|
|
@@ -84,11 +87,13 @@ function withLegacy(schema) {
|
|
|
84
87
|
});
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
|
|
88
|
-
//#region src/model-fragments/extensions/fragment-array.ts
|
|
90
|
+
// src/model-fragments/extensions/fragment-array.ts
|
|
89
91
|
/**
|
|
90
92
|
* The features added to an array resource by {@link FragmentArrayExtension}, providing
|
|
91
93
|
* a subset of the legacy `ModelFragments` fragment-array API for migrated resources.
|
|
94
|
+
*
|
|
95
|
+
* @summary Legacy `ModelFragments`-compatible array API, such as `addFragment`, `removeFragment`, and
|
|
96
|
+
* `rollbackAttributes`, for reactive arrays migrated off fragments.
|
|
92
97
|
*/
|
|
93
98
|
var FragmentArray = class {
|
|
94
99
|
static {
|
|
@@ -153,6 +158,9 @@ var FragmentArray = class {
|
|
|
153
158
|
/**
|
|
154
159
|
* A schema extension that adds the {@link FragmentArray} API to migrated
|
|
155
160
|
* `ModelFragments` array resources.
|
|
161
|
+
*
|
|
162
|
+
* @summary Legacy schema extension named `fragment-array` that adds the `FragmentArray` API to reactive arrays
|
|
163
|
+
* migrated from `ModelFragments`.
|
|
156
164
|
*/
|
|
157
165
|
const FragmentArrayExtension = {
|
|
158
166
|
kind: "array",
|
|
@@ -160,11 +168,13 @@ const FragmentArrayExtension = {
|
|
|
160
168
|
features: FragmentArray
|
|
161
169
|
};
|
|
162
170
|
|
|
163
|
-
|
|
164
|
-
//#region src/model-fragments/extensions/fragment.ts
|
|
171
|
+
// src/model-fragments/extensions/fragment.ts
|
|
165
172
|
/**
|
|
166
173
|
* The features added to an object resource by {@link FragmentExtension}, providing
|
|
167
174
|
* a subset of the legacy `ModelFragments` fragment API for migrated resources.
|
|
175
|
+
*
|
|
176
|
+
* @summary Legacy `ModelFragments`-compatible object API, such as `hasDirtyAttributes`, `isFragment`, and
|
|
177
|
+
* `rollbackAttributes`, for reactive objects migrated off fragments.
|
|
168
178
|
*/
|
|
169
179
|
var Fragment = class {
|
|
170
180
|
static {
|
|
@@ -224,6 +234,9 @@ var Fragment = class {
|
|
|
224
234
|
/**
|
|
225
235
|
* A schema extension that adds the {@link Fragment} API to migrated
|
|
226
236
|
* `ModelFragments` object resources.
|
|
237
|
+
*
|
|
238
|
+
* @summary Legacy schema extension named `fragment` that adds the `Fragment` API to reactive objects migrated from
|
|
239
|
+
* `ModelFragments`.
|
|
227
240
|
*/
|
|
228
241
|
const FragmentExtension = {
|
|
229
242
|
kind: "object",
|
|
@@ -231,12 +244,13 @@ const FragmentExtension = {
|
|
|
231
244
|
features: Fragment
|
|
232
245
|
};
|
|
233
246
|
|
|
234
|
-
|
|
235
|
-
//#region src/model-fragments/instance-initializers/fragment-extensions.ts
|
|
247
|
+
// src/model-fragments/instance-initializers/fragment-extensions.ts
|
|
236
248
|
/**
|
|
237
249
|
* Registers the {@link FragmentExtension}/{@link FragmentArrayExtension} schema
|
|
238
250
|
* extensions on the given `SchemaService`, enabling ModelFragments migration support.
|
|
239
251
|
*
|
|
252
|
+
* @summary Legacy setup function that registers the fragment and fragment-array schema extensions on a
|
|
253
|
+
* `SchemaService` to support migrating off ModelFragments.
|
|
240
254
|
* @public
|
|
241
255
|
*/
|
|
242
256
|
function registerFragmentExtensions(schema) {
|
|
@@ -244,8 +258,7 @@ function registerFragmentExtensions(schema) {
|
|
|
244
258
|
schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentArrayExtension);
|
|
245
259
|
}
|
|
246
260
|
|
|
247
|
-
|
|
248
|
-
//#region src/model-fragments/hooks/model-for.ts
|
|
261
|
+
// src/model-fragments/hooks/model-for.ts
|
|
249
262
|
const AvailableShims = /* @__PURE__ */ new WeakMap();
|
|
250
263
|
function getShimClass(store, modelName) {
|
|
251
264
|
let shims = AvailableShims.get(store);
|
|
@@ -325,10 +338,11 @@ function fragmentsModelFor(modelName) {
|
|
|
325
338
|
* type when ModelFragments support is enabled and no real `Model` subclass
|
|
326
339
|
* is registered for that type.
|
|
327
340
|
*
|
|
341
|
+
* @summary Legacy `store.modelFor` fallback that returns a schema-backed `ShimModelClass` for a type when
|
|
342
|
+
* ModelFragments support is on and no `Model` class exists.
|
|
328
343
|
* @public
|
|
329
344
|
*/
|
|
330
345
|
const modelFor = fragmentsModelFor;
|
|
331
346
|
|
|
332
|
-
//#endregion
|
|
333
347
|
export { FragmentExtension as a, withLegacy as c, withArrayDefaults as d, Fragment as i, withFragmentArrayDefaults as l, modelFor as n, FragmentArray as o, registerFragmentExtensions as r, FragmentArrayExtension as s, fragmentsModelFor as t, withFragmentDefaults as u };
|
|
334
|
-
//# sourceMappingURL=model-fragments-
|
|
348
|
+
//# sourceMappingURL=model-fragments-DCHMDr5f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-fragments-DCHMDr5f.js","names":["cached","tracked","Context","g","i","n","FragmentArray","prototype","isDestroying","isDestroyed","hasDirtyAttributes","array","context","path","resourceKey","store","record","peekRecord","root","at","changedAttributes","addFragment","fragment","addObject","createFragment","pushObject","removeFragment","index","indexOf","splice","rollbackAttributes","FragmentArrayExtension","kind","name","features","i","cached","tracked","Context","g","i","n","Fragment","prototype","isDestroying","isDestroyed","hasDirtyAttributes","path","resourceKey","store","record","peekRecord","root","at","changedAttributes","isFragment","$type","field","type","rollbackAttributes","oldValue","cache","getRemoteAttr","setAttr","FragmentExtension","kind","name","features","i","FragmentArrayExtension","FragmentExtension","registerFragmentExtensions","schema","CAUTION_MEGA_DANGER_ZONE_registerExtension","initialize","application","store","lookup","console","warn","name"],"sources":["../src/model-fragments/utilities/with-array-defaults.ts","../src/model-fragments/utilities/with-fragment-defaults.ts","../src/model-fragments/utilities/with-fragment-array-defaults.ts","../src/model-fragments/utilities/with-legacy.ts","../src/model-fragments/extensions/fragment-array.ts","../src/model-fragments/extensions/fragment.ts","../src/model-fragments/instance-initializers/fragment-extensions.ts","../src/model-fragments/hooks/model-for.ts"],"sourcesContent":["/**\n * Used as a helper to setup the relevant parts of an array\n * schema and add extensions etc.\n *\n * @summary Legacy ModelFragments migration helper that builds an `array` schema field preconfigured with the\n * `ember-object`, `ember-array-like`, and `fragment-array` extensions.\n * @param arrayName The name of the array\n * @param primitiveType The primitive type of items in the array (optional)\n * @returns The schema for an array\n */\nexport function withArrayDefaults<ArrayName extends string, PrimitiveType extends string>(\n arrayName: ArrayName,\n primitiveType?: PrimitiveType\n): PrimitiveType extends undefined\n ? {\n /**\n * This field is an `'array'` schema field.\n */\n kind: 'array';\n /**\n * The name of the array field.\n */\n name: ArrayName;\n /**\n * The array's item type, `'array'` since no `primitiveType` was given.\n */\n type: 'array';\n /**\n * The schema options for this array field.\n */\n options: {\n /**\n * The registered array-schema extensions to apply to this array.\n */\n arrayExtensions: string[];\n };\n }\n : {\n /**\n * This field is an `'array'` schema field.\n */\n kind: 'array';\n /**\n * The name of the array field.\n */\n name: ArrayName;\n /**\n * The array's item type, derived from `primitiveType`.\n */\n type: `array:${PrimitiveType}`;\n /**\n * The schema options for this array field.\n */\n options: {\n /**\n * The registered array-schema extensions to apply to this array.\n */\n arrayExtensions: string[];\n };\n };\n\nexport function withArrayDefaults<ArrayName extends string, PrimitiveType extends string>(\n arrayName: ArrayName,\n primitiveType?: PrimitiveType\n) {\n const type = primitiveType ? (`array:${primitiveType}` as const) : ('array' as const);\n return {\n kind: 'array' as const,\n name: arrayName,\n type,\n options: {\n arrayExtensions: ['ember-object', 'ember-array-like', 'fragment-array'],\n },\n };\n}\n","/**\n * Used as a helper to setup the relevant parts of a fragment schema\n * and add extensions etc.\n *\n * @summary Legacy ModelFragments migration helper that builds a `schema-object` field for a single `fragment:`\n * type with the `ember-object` and `fragment` extensions.\n * @param fragmentType The type of the fragment\n * @param fragmentName The optional name of the fragment. If not provided, it will default to the fragmentType.\n * @returns The schema for a fragment\n */\nexport function withFragmentDefaults<FragmentType extends string, FragmentName extends string>(\n fragmentType: FragmentType,\n fragmentName?: FragmentName\n): {\n /**\n * This field is a `'schema-object'` field, a single fragment.\n */\n kind: 'schema-object';\n /**\n * The resource type of the fragment.\n */\n type: `fragment:${FragmentType}`;\n /**\n * The name of the fragment field.\n */\n name: FragmentType | FragmentName;\n /**\n * The schema options for this fragment field.\n */\n options: {\n /**\n * The registered object-schema extensions to apply to this fragment.\n */\n objectExtensions: string[];\n };\n} {\n return {\n kind: 'schema-object' as const,\n type: `fragment:${fragmentType}` as const,\n name: fragmentName ?? fragmentType,\n options: {\n objectExtensions: ['ember-object', 'fragment'],\n },\n };\n}\n","import { pluralize, singularize } from '@warp-drive/utilities/string';\n\n/**\n * Used as a helper to setup the relevant parts of a fragment-array\n * schema and add extensions etc.\n *\n * @summary Legacy ModelFragments migration helper that builds a `schema-array` field of `fragment:` items,\n * defaulting to an empty array, with Ember and fragment-array extensions.\n * @param fragmentArrayType The type of the fragment-array\n * @param fragmentArrayName The name of the fragment-array\n * @returns The schema for a fragment-array\n */\nexport function withFragmentArrayDefaults<FragmentArrayType extends string, FragmentArrayName extends string>(\n fragmentArrayType: FragmentArrayType,\n fragmentArrayName?: FragmentArrayName\n): {\n /**\n * This field is a `'schema-array'` field, an array of fragments.\n */\n kind: 'schema-array';\n /**\n * The resource type of the fragments contained in this array.\n */\n type: `fragment:${string}`;\n /**\n * The name of the fragment-array field.\n */\n name: string;\n /**\n * The schema options for this fragment-array field.\n */\n options: {\n /**\n * The registered array-schema extensions to apply to this array.\n */\n arrayExtensions: string[];\n /**\n * Whether the array defaults to a non-null empty array when unset.\n */\n defaultValue: boolean;\n };\n} {\n return {\n kind: 'schema-array' as const,\n type: `fragment:${singularize(fragmentArrayType)}` as const,\n name: fragmentArrayName ?? pluralize(fragmentArrayType),\n options: {\n arrayExtensions: ['ember-object', 'ember-array-like', 'fragment-array'],\n defaultValue: true,\n },\n };\n}\n","import type { LegacyResourceSchema, ResourceSchema } from '@warp-drive/core/types/schema/fields';\nimport type { WithPartial } from '@warp-drive/core/types/utils';\n\nimport { withDefaults } from '../../model/migration-support';\n\n/**\n * Used as a helper to setup the relevant parts of a legacy resource schema\n * migrated from `Model`, applying the `ember-object` and `fragment` object\n * extensions and a default `@id` identity field.\n *\n * @summary Legacy ModelFragments migration helper that completes a legacy resource schema with an `id` identity,\n * `Model` defaults, and the `ember-object` and `fragment` extensions.\n * @param schema the partial legacy resource schema to complete\n * @returns the completed resource schema\n */\nexport function withLegacy(schema: WithPartial<LegacyResourceSchema, 'legacy' | 'identity'>): ResourceSchema {\n return withDefaults({\n ...schema,\n identity: { kind: '@id', name: 'id' },\n objectExtensions: ['ember-object', 'fragment'],\n });\n}\n","import { cached, tracked } from '@glimmer/tracking';\n\nimport type { CAUTION_MEGA_DANGER_ZONE_Extension } from '@warp-drive/core/reactive';\nimport { Context, type ManagedArray } from '@warp-drive/core/reactive/-private';\n\nimport type Model from '../../model.ts';\nimport type { WithFragmentArray } from '../index.ts';\nimport type { Fragment } from './fragment.ts';\n\n/**\n * The features added to an array resource by {@link FragmentArrayExtension}, providing\n * a subset of the legacy `ModelFragments` fragment-array API for migrated resources.\n *\n * @summary Legacy `ModelFragments`-compatible array API, such as `addFragment`, `removeFragment`, and\n * `rollbackAttributes`, for reactive arrays migrated off fragments.\n */\nexport class FragmentArray<T extends Fragment> {\n // We might want to check the parent values once we move this code to warp-drive.\n /**\n * Whether this fragment array is in the process of being destroyed.\n */\n @tracked isDestroying = false;\n /**\n * Whether this fragment array has been destroyed.\n */\n @tracked isDestroyed = false;\n\n /**\n * Whether this fragment array (or any of its members) has uncommitted changes.\n */\n @cached\n get hasDirtyAttributes(): boolean {\n const array = this as unknown as ManagedArray;\n const context = array[Context];\n const { path, resourceKey, store } = context;\n const record = store.peekRecord(resourceKey) as Model;\n\n if (record.hasDirtyAttributes && path) {\n const root = path.at(0) as string;\n return root in record.changedAttributes();\n }\n\n return false;\n }\n\n /**\n * Adds an existing fragment to this array, if one was given.\n */\n addFragment(fragment?: T): Fragment[] | undefined {\n if (!fragment) {\n return;\n }\n\n return (this as unknown as WithFragmentArray<T>).addObject(fragment);\n }\n\n /**\n * Appends a new fragment to the end of this array, if one was given.\n */\n createFragment(fragment?: T): Fragment | undefined {\n if (!fragment) {\n return;\n }\n\n return (this as unknown as WithFragmentArray<T>).pushObject(fragment);\n }\n\n /**\n * Removes the given fragment from this array, if present.\n */\n removeFragment(fragment?: T): void {\n if (!fragment) {\n return;\n }\n\n const index = (this as unknown as WithFragmentArray<T>).indexOf(fragment);\n\n if (index !== -1) {\n (this as unknown as WithFragmentArray<T>).splice(index, 1);\n }\n }\n\n /**\n * Reverts each member fragment's attribute back to its last known remote value.\n */\n rollbackAttributes(): void {\n for (const fragment of this as unknown as WithFragmentArray<T>) {\n // @ts-expect-error TODO: fix these types\n fragment?.rollbackAttributes?.();\n }\n }\n}\n\n/**\n * A schema extension that adds the {@link FragmentArray} API to migrated\n * `ModelFragments` array resources.\n *\n * @summary Legacy schema extension named `fragment-array` that adds the `FragmentArray` API to reactive arrays\n * migrated from `ModelFragments`.\n */\nexport const FragmentArrayExtension: {\n /**\n * This extension applies to `'array'` schemas.\n */\n kind: 'array';\n /**\n * The registered name of this extension.\n */\n name: 'fragment-array';\n /**\n * The features ({@link FragmentArray}) added by this extension.\n */\n features: typeof FragmentArray;\n} = {\n kind: 'array' as const,\n name: 'fragment-array' as const,\n features: FragmentArray,\n} satisfies CAUTION_MEGA_DANGER_ZONE_Extension;\n\nexport default FragmentArrayExtension;\n","import { cached, tracked } from '@glimmer/tracking';\n\nimport type { CAUTION_MEGA_DANGER_ZONE_Extension } from '@warp-drive/core/reactive';\nimport type { PrivateReactiveResource } from '@warp-drive/core/reactive/-private';\nimport { Context } from '@warp-drive/core/reactive/-private';\nimport type { Value } from '@warp-drive/core/types/json/raw';\n\nimport type Model from '../../model.ts';\n\n/**\n * The features added to an object resource by {@link FragmentExtension}, providing\n * a subset of the legacy `ModelFragments` fragment API for migrated resources.\n *\n * @summary Legacy `ModelFragments`-compatible object API, such as `hasDirtyAttributes`, `isFragment`, and\n * `rollbackAttributes`, for reactive objects migrated off fragments.\n */\nexport class Fragment {\n // We might want to check the parent values once we move this code to warp-drive.\n /**\n * Whether this fragment is in the process of being destroyed.\n */\n @tracked isDestroying = false;\n /**\n * Whether this fragment has been destroyed.\n */\n @tracked isDestroyed = false;\n\n /**\n * Whether this fragment (or the attribute it is rooted at) has uncommitted changes.\n */\n @cached\n get hasDirtyAttributes(): boolean {\n const { path, resourceKey, store } = (this as unknown as PrivateReactiveResource)[Context];\n const record = store.peekRecord(resourceKey) as Model;\n\n if (record.hasDirtyAttributes && path) {\n const root = path.at(0) as string;\n return root in record.changedAttributes();\n }\n\n return false;\n }\n\n /**\n * Always `true`. Used to distinguish fragments from other resources.\n */\n get isFragment() {\n return true;\n }\n\n /**\n * The resource type of this fragment, if known.\n */\n get $type(): string | null | undefined {\n const { field } = (this as unknown as PrivateReactiveResource)[Context];\n return field?.type;\n }\n\n /**\n * Reverts this fragment's attribute back to its last known remote value.\n */\n rollbackAttributes(this: PrivateReactiveResource): void {\n const { path, resourceKey, store } = this[Context];\n\n if (path) {\n const oldValue = store.cache.getRemoteAttr(resourceKey, path) as Value;\n store.cache.setAttr(resourceKey, path, oldValue);\n }\n }\n}\n\n/**\n * A schema extension that adds the {@link Fragment} API to migrated\n * `ModelFragments` object resources.\n *\n * @summary Legacy schema extension named `fragment` that adds the `Fragment` API to reactive objects migrated from\n * `ModelFragments`.\n */\nexport const FragmentExtension: {\n /**\n * This extension applies to `'object'` schemas.\n */\n kind: 'object';\n /**\n * The registered name of this extension.\n */\n name: 'fragment';\n /**\n * The features ({@link Fragment}) added by this extension.\n */\n features: typeof Fragment;\n} = {\n kind: 'object' as const,\n name: 'fragment' as const,\n features: Fragment,\n} satisfies CAUTION_MEGA_DANGER_ZONE_Extension;\n\nexport default FragmentExtension;\n","import type ApplicationInstance from '@ember/application/instance';\n\nimport type { Store } from '@warp-drive/core';\nimport type { SchemaService } from '@warp-drive/core/types';\n\nimport FragmentArrayExtension from '../extensions/fragment-array.ts';\nimport FragmentExtension from '../extensions/fragment.ts';\n\n/**\n * Registers the {@link FragmentExtension}/{@link FragmentArrayExtension} schema\n * extensions on the given `SchemaService`, enabling ModelFragments migration support.\n *\n * @summary Legacy setup function that registers the fragment and fragment-array schema extensions on a\n * `SchemaService` to support migrating off ModelFragments.\n * @public\n */\nexport function registerFragmentExtensions(schema: SchemaService): void {\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentExtension);\n schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentArrayExtension);\n}\n\nexport function initialize(application: ApplicationInstance): void {\n const store = application.lookup('service:store') as Store | undefined;\n\n if (store) {\n registerFragmentExtensions(store.schema);\n } else {\n // oxlint-disable-next-line no-console\n console.warn(\n 'No store service was found, you will need to call `registerFragmentExtensions` manually in your app.'\n );\n }\n}\n\nexport default {\n name: 'fragment-extensions',\n // the cast is required for isolatedDeclarations to determine this default\n // export's type without inference, even though it's a no-op for `tsc`'s checker\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion\n initialize: initialize as (application: ApplicationInstance) => void,\n};\n","import type { Store } from '@warp-drive/core';\nimport type { ModelSchema } from '@warp-drive/core/types';\nimport type { Value } from '@warp-drive/core/types/json/raw';\nimport type { TypedRecordInstance, TypeFromInstance } from '@warp-drive/core/types/record';\nimport type { LegacyAttributeField, LegacyRelationshipField } from '@warp-drive/core/types/schema/fields';\n\ntype KeyOrString<T> = keyof T & string extends never ? string : keyof T & string;\n\n// if modelFor turns out to be a bottleneck we should replace with a Map\n// and clear it during store teardown.\nconst AvailableShims = new WeakMap<Store, Record<string, ShimModelClass>>();\n\nexport function getShimClass<T>(\n store: Store,\n modelName: T extends TypedRecordInstance ? TypeFromInstance<T> : string\n): ShimModelClass<T> {\n let shims = AvailableShims.get(store);\n\n if (!shims) {\n shims = Object.create(null) as Record<string, ShimModelClass>;\n AvailableShims.set(store, shims);\n }\n\n let shim = shims[modelName];\n if (shim === undefined) {\n shim = shims[modelName] = new ShimModelClass<unknown>(store, modelName);\n }\n\n return shim;\n}\n\nconst AttributeKinds = ['field', 'attribute', 'object', 'array', 'schema-object', 'schema-array'] as const;\n\n// Mimics the static apis of @warp-drive/legacy/model\nexport class ShimModelClass<T = unknown> implements ModelSchema<T> {\n declare __store: Store;\n declare modelName: T extends TypedRecordInstance ? TypeFromInstance<T> : string;\n constructor(store: Store, modelName: T extends TypedRecordInstance ? TypeFromInstance<T> : string) {\n this.__store = store;\n this.modelName = modelName;\n }\n\n get fields(): Map<KeyOrString<T>, 'attribute' | 'belongsTo' | 'hasMany'> {\n const fields = new Map<KeyOrString<T>, 'attribute' | 'belongsTo' | 'hasMany'>();\n const fieldSchemas = this.__store.schema.fields({ type: this.modelName });\n\n fieldSchemas.forEach((schema, key) => {\n // @ts-expect-error checking if a string is a valid string\n if (AttributeKinds.includes(schema.kind)) {\n fields.set(key as KeyOrString<T>, 'attribute');\n } else if (schema.kind === 'belongsTo' || schema.kind === 'hasMany') {\n fields.set(key as KeyOrString<T>, schema.kind);\n }\n });\n\n return fields;\n }\n\n get attributes(): Map<KeyOrString<T>, LegacyAttributeField> {\n const attrs = new Map<KeyOrString<T>, LegacyAttributeField>();\n const fields = this.__store.schema.fields({ type: this.modelName });\n\n fields.forEach((schema, key) => {\n if (schema.kind === 'attribute') {\n attrs.set(key as KeyOrString<T>, schema);\n // @ts-expect-error checking if a string is a valid string\n } else if (AttributeKinds.includes(schema.kind)) {\n attrs.set(key as KeyOrString<T>, {\n kind: 'attribute',\n name: key,\n type: null,\n options: (schema.options ?? {}) as Record<string, Value>,\n });\n }\n });\n\n return attrs;\n }\n\n get relationshipsByName(): Map<KeyOrString<T>, LegacyRelationshipField> {\n const rels = new Map<KeyOrString<T>, LegacyRelationshipField>();\n const fields = this.__store.schema.fields({ type: this.modelName });\n\n fields.forEach((schema, key) => {\n if (schema.kind === 'belongsTo' || schema.kind === 'hasMany') {\n rels.set(key as KeyOrString<T>, schema);\n }\n });\n\n return rels;\n }\n\n eachAttribute<K extends KeyOrString<T>>(\n callback: (key: K, attribute: LegacyAttributeField) => void,\n binding?: T\n ): void {\n this.attributes.forEach((schema, key) => {\n callback.call(binding, key as K, schema);\n });\n }\n\n eachRelationship<K extends KeyOrString<T>>(\n callback: (key: K, relationship: LegacyRelationshipField) => void,\n binding?: T\n ): void {\n this.__store.schema.fields({ type: this.modelName }).forEach((schema, key) => {\n if (schema.kind === 'belongsTo' || schema.kind === 'hasMany') {\n callback.call(binding, key as K, schema);\n }\n });\n }\n\n eachTransformedAttribute<K extends KeyOrString<T>>(\n callback: (key: K, type: string | null) => void,\n binding?: T\n ): void {\n this.__store.schema.fields({ type: this.modelName }).forEach((schema, key) => {\n if (schema.kind === 'attribute') {\n const type = schema.type;\n if (type) callback.call(binding, key as K, type);\n }\n });\n }\n}\n\nexport function fragmentsModelFor<T extends TypedRecordInstance>(\n this: Store,\n modelName: T extends TypedRecordInstance ? TypeFromInstance<T> : string\n): ShimModelClass<T> {\n return getShimClass(this, modelName);\n}\n\n/**\n * The `modelFor` fallback used to construct a `ShimModelClass` schema for a\n * type when ModelFragments support is enabled and no real `Model` subclass\n * is registered for that type.\n *\n * @summary Legacy `store.modelFor` fallback that returns a schema-backed `ShimModelClass` for a type when\n * ModelFragments support is on and no `Model` class exists.\n * @public\n */\nexport const modelFor: typeof fragmentsModelFor = fragmentsModelFor;\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as WithArrayLike, o as WithEmberObject } from "./extensions-
|
|
1
|
+
import { a as WithArrayLike, o as WithEmberObject } from "./extensions-DcEz1lKv.js";
|
|
2
2
|
import { Store } from "@warp-drive/core";
|
|
3
3
|
import { PrivateReactiveResource } from "@warp-drive/core/reactive/-private";
|
|
4
4
|
import { ModelSchema, SchemaService } from "@warp-drive/core/types";
|
|
@@ -6,11 +6,12 @@ import { TypeFromInstance, TypedRecordInstance } from "@warp-drive/core/types/re
|
|
|
6
6
|
import { LegacyAttributeField, LegacyRelationshipField, LegacyResourceSchema, ResourceSchema } from "@warp-drive/core/types/schema/fields";
|
|
7
7
|
import { WithPartial } from "@warp-drive/core/types/utils";
|
|
8
8
|
import "@ember/application/instance";
|
|
9
|
-
//#region src/model-fragments/utilities/with-array-defaults.d.ts
|
|
10
9
|
/**
|
|
11
10
|
* Used as a helper to setup the relevant parts of an array
|
|
12
11
|
* schema and add extensions etc.
|
|
13
12
|
*
|
|
13
|
+
* @summary Legacy ModelFragments migration helper that builds an `array` schema field preconfigured with the
|
|
14
|
+
* `ember-object`, `ember-array-like`, and `fragment-array` extensions.
|
|
14
15
|
* @param arrayName The name of the array
|
|
15
16
|
* @param primitiveType The primitive type of items in the array (optional)
|
|
16
17
|
* @returns The schema for an array
|
|
@@ -60,12 +61,12 @@ export declare function withArrayDefaults<ArrayName extends string, PrimitiveTyp
|
|
|
60
61
|
arrayExtensions: string[];
|
|
61
62
|
};
|
|
62
63
|
};
|
|
63
|
-
//#endregion
|
|
64
|
-
//#region src/model-fragments/utilities/with-fragment-defaults.d.ts
|
|
65
64
|
/**
|
|
66
65
|
* Used as a helper to setup the relevant parts of a fragment schema
|
|
67
66
|
* and add extensions etc.
|
|
68
67
|
*
|
|
68
|
+
* @summary Legacy ModelFragments migration helper that builds a `schema-object` field for a single `fragment:`
|
|
69
|
+
* type with the `ember-object` and `fragment` extensions.
|
|
69
70
|
* @param fragmentType The type of the fragment
|
|
70
71
|
* @param fragmentName The optional name of the fragment. If not provided, it will default to the fragmentType.
|
|
71
72
|
* @returns The schema for a fragment
|
|
@@ -93,12 +94,12 @@ export declare function withFragmentDefaults<FragmentType extends string, Fragme
|
|
|
93
94
|
objectExtensions: string[];
|
|
94
95
|
};
|
|
95
96
|
};
|
|
96
|
-
//#endregion
|
|
97
|
-
//#region src/model-fragments/utilities/with-fragment-array-defaults.d.ts
|
|
98
97
|
/**
|
|
99
98
|
* Used as a helper to setup the relevant parts of a fragment-array
|
|
100
99
|
* schema and add extensions etc.
|
|
101
100
|
*
|
|
101
|
+
* @summary Legacy ModelFragments migration helper that builds a `schema-array` field of `fragment:` items,
|
|
102
|
+
* defaulting to an empty array, with Ember and fragment-array extensions.
|
|
102
103
|
* @param fragmentArrayType The type of the fragment-array
|
|
103
104
|
* @param fragmentArrayName The name of the fragment-array
|
|
104
105
|
* @returns The schema for a fragment-array
|
|
@@ -130,28 +131,26 @@ export declare function withFragmentArrayDefaults<FragmentArrayType extends stri
|
|
|
130
131
|
defaultValue: boolean;
|
|
131
132
|
};
|
|
132
133
|
};
|
|
133
|
-
//#endregion
|
|
134
|
-
//#region src/model-fragments/utilities/with-legacy.d.ts
|
|
135
134
|
/**
|
|
136
135
|
* Used as a helper to setup the relevant parts of a legacy resource schema
|
|
137
136
|
* migrated from `Model`, applying the `ember-object` and `fragment` object
|
|
138
137
|
* extensions and a default `@id` identity field.
|
|
139
138
|
*
|
|
139
|
+
* @summary Legacy ModelFragments migration helper that completes a legacy resource schema with an `id` identity,
|
|
140
|
+
* `Model` defaults, and the `ember-object` and `fragment` extensions.
|
|
140
141
|
* @param schema the partial legacy resource schema to complete
|
|
141
142
|
* @returns the completed resource schema
|
|
142
143
|
*/
|
|
143
144
|
export declare function withLegacy(schema: WithPartial<LegacyResourceSchema, "legacy" | "identity">): ResourceSchema;
|
|
144
|
-
//#endregion
|
|
145
|
-
//#region src/model-fragments/instance-initializers/fragment-extensions.d.ts
|
|
146
145
|
/**
|
|
147
146
|
* Registers the {@link FragmentExtension}/{@link FragmentArrayExtension} schema
|
|
148
147
|
* extensions on the given `SchemaService`, enabling ModelFragments migration support.
|
|
149
148
|
*
|
|
149
|
+
* @summary Legacy setup function that registers the fragment and fragment-array schema extensions on a
|
|
150
|
+
* `SchemaService` to support migrating off ModelFragments.
|
|
150
151
|
* @public
|
|
151
152
|
*/
|
|
152
153
|
export declare function registerFragmentExtensions(schema: SchemaService): void;
|
|
153
|
-
//#endregion
|
|
154
|
-
//#region src/model-fragments/hooks/model-for.d.ts
|
|
155
154
|
type KeyOrString<T> = keyof T & string extends never ? string : keyof T & string;
|
|
156
155
|
declare class ShimModelClass<T = unknown> implements ModelSchema<T> {
|
|
157
156
|
__store: Store;
|
|
@@ -170,14 +169,17 @@ declare function fragmentsModelFor<T extends TypedRecordInstance>(this: Store, m
|
|
|
170
169
|
* type when ModelFragments support is enabled and no real `Model` subclass
|
|
171
170
|
* is registered for that type.
|
|
172
171
|
*
|
|
172
|
+
* @summary Legacy `store.modelFor` fallback that returns a schema-backed `ShimModelClass` for a type when
|
|
173
|
+
* ModelFragments support is on and no `Model` class exists.
|
|
173
174
|
* @public
|
|
174
175
|
*/
|
|
175
176
|
export declare const modelFor: typeof fragmentsModelFor;
|
|
176
|
-
//#endregion
|
|
177
|
-
//#region src/model-fragments/extensions/fragment.d.ts
|
|
178
177
|
/**
|
|
179
178
|
* The features added to an object resource by {@link FragmentExtension}, providing
|
|
180
179
|
* a subset of the legacy `ModelFragments` fragment API for migrated resources.
|
|
180
|
+
*
|
|
181
|
+
* @summary Legacy `ModelFragments`-compatible object API, such as `hasDirtyAttributes`, `isFragment`, and
|
|
182
|
+
* `rollbackAttributes`, for reactive objects migrated off fragments.
|
|
181
183
|
*/
|
|
182
184
|
export declare class Fragment {
|
|
183
185
|
/**
|
|
@@ -208,6 +210,9 @@ export declare class Fragment {
|
|
|
208
210
|
/**
|
|
209
211
|
* A schema extension that adds the {@link Fragment} API to migrated
|
|
210
212
|
* `ModelFragments` object resources.
|
|
213
|
+
*
|
|
214
|
+
* @summary Legacy schema extension named `fragment` that adds the `Fragment` API to reactive objects migrated from
|
|
215
|
+
* `ModelFragments`.
|
|
211
216
|
*/
|
|
212
217
|
export declare const FragmentExtension: {
|
|
213
218
|
/**
|
|
@@ -223,11 +228,12 @@ export declare const FragmentExtension: {
|
|
|
223
228
|
*/
|
|
224
229
|
features: typeof Fragment;
|
|
225
230
|
};
|
|
226
|
-
//#endregion
|
|
227
|
-
//#region src/model-fragments/extensions/fragment-array.d.ts
|
|
228
231
|
/**
|
|
229
232
|
* The features added to an array resource by {@link FragmentArrayExtension}, providing
|
|
230
233
|
* a subset of the legacy `ModelFragments` fragment-array API for migrated resources.
|
|
234
|
+
*
|
|
235
|
+
* @summary Legacy `ModelFragments`-compatible array API, such as `addFragment`, `removeFragment`, and
|
|
236
|
+
* `rollbackAttributes`, for reactive arrays migrated off fragments.
|
|
231
237
|
*/
|
|
232
238
|
export declare class FragmentArray<T extends Fragment> {
|
|
233
239
|
/**
|
|
@@ -262,6 +268,9 @@ export declare class FragmentArray<T extends Fragment> {
|
|
|
262
268
|
/**
|
|
263
269
|
* A schema extension that adds the {@link FragmentArray} API to migrated
|
|
264
270
|
* `ModelFragments` array resources.
|
|
271
|
+
*
|
|
272
|
+
* @summary Legacy schema extension named `fragment-array` that adds the `FragmentArray` API to reactive arrays
|
|
273
|
+
* migrated from `ModelFragments`.
|
|
265
274
|
*/
|
|
266
275
|
export declare const FragmentArrayExtension: {
|
|
267
276
|
/**
|
|
@@ -277,18 +286,21 @@ export declare const FragmentArrayExtension: {
|
|
|
277
286
|
*/
|
|
278
287
|
features: typeof FragmentArray;
|
|
279
288
|
};
|
|
280
|
-
//#endregion
|
|
281
|
-
//#region src/model-fragments/index.d.ts
|
|
282
289
|
/**
|
|
283
290
|
* Adds the classic `EmberObject` API (via {@link WithEmberObject}) and the
|
|
284
291
|
* {@link Fragment} API to the type of a migrated single-fragment resource.
|
|
292
|
+
*
|
|
293
|
+
* @summary Legacy type for a reactive object migrated from a `ModelFragments` fragment, adding the `EmberObject`
|
|
294
|
+
* and `Fragment` APIs to it.
|
|
285
295
|
*/
|
|
286
296
|
type WithFragment<T> = T & WithEmberObject<T> & Fragment;
|
|
287
297
|
/**
|
|
288
298
|
* Adds Ember's classic array-like API (via {@link WithArrayLike}) and the
|
|
289
299
|
* {@link FragmentArray} API to the type of a migrated fragment-array resource.
|
|
300
|
+
*
|
|
301
|
+
* @summary Legacy type for a reactive array migrated from a `ModelFragments` fragment array, adding Ember array
|
|
302
|
+
* methods and the `FragmentArray` API to it.
|
|
290
303
|
*/
|
|
291
304
|
type WithFragmentArray<T extends Fragment> = T & WithArrayLike<T> & FragmentArray<T>;
|
|
292
|
-
//#endregion
|
|
293
305
|
export type { WithFragment, WithFragmentArray };
|
|
294
306
|
//# sourceMappingURL=model-fragments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-fragments.d.ts","names":[],"sources":["../src/model-fragments/utilities/with-array-defaults.ts","../src/model-fragments/utilities/with-fragment-defaults.ts","../src/model-fragments/utilities/with-fragment-array-defaults.ts","../src/model-fragments/utilities/with-legacy.ts","../src/model-fragments/instance-initializers/fragment-extensions.ts","../src/model-fragments/hooks/model-for.ts","../src/model-fragments/extensions/fragment.ts","../src/model-fragments/extensions/fragment-array.ts","../src/model-fragments/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-fragments.d.ts","names":[],"sources":["../src/model-fragments/utilities/with-array-defaults.ts","../src/model-fragments/utilities/with-fragment-defaults.ts","../src/model-fragments/utilities/with-fragment-array-defaults.ts","../src/model-fragments/utilities/with-legacy.ts","../src/model-fragments/instance-initializers/fragment-extensions.ts","../src/model-fragments/hooks/model-for.ts","../src/model-fragments/extensions/fragment.ts","../src/model-fragments/extensions/fragment-array.ts","../src/model-fragments/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;wBAUgB,kBAAkB,0BAA0B,8BAC1D,WAAW,WACX,gBAAgB,gBACf;;;;EAKG;;;;EAIA,MAAM;;;;EAIN;;;;EAIA;;;;IAIE;;;;;;EAOF;;;;EAIA,MAAM;;;;EAIN,eAAe;;;;EAIf;;;;IAIE;;;;;;;;;;;;;wBC/CQ,qBAAqB,6BAA6B,6BAChE,cAAc,cACd,eAAe;;;;EAKf;;;;EAIA,kBAAkB;;;;EAIlB,MAAM,eAAe;;;;EAIrB;;;;IAIE;;;;;;;;;;;;;wBCrBY,0BAA0B,kCAAkC,kCAC1E,mBAAmB,mBACnB,oBAAoB;;;;EAKpB;;;;EAIA;;;;EAIA;;;;EAIA;;;;IAIE;;;;IAIA;;;;;;;;;;;;;wBCxBY,WAAW,QAAQ,YAAY,+CAA+C;;;;;;;;;wBCC9E,2BAA2B,QAAQ;KCV9C,YAAY,WAAW,0CAA0C;cA4BzD,eAAe,wBAAwB,YAAY;EAC9D,SAAiB;EACjB,WAAmB,UAAU,sBAAsB,iBAAiB;EACpE,YAAY,OAAO,OAAO,WAAW,UAAU,sBAAsB,iBAAiB;MAKlF,UAAU,IAAI,YAAY;MAgB1B,cAAc,IAAI,YAAY,IAAI;MAqBlC,uBAAuB,IAAI,YAAY,IAAI;EAa/C,cAAc,UAAU,YAAY,IAClC,WAAW,KAAK,GAAG,WAAW,+BAC9B,UAAU;EAOZ,iBAAiB,UAAU,YAAY,IACrC,WAAW,KAAK,GAAG,cAAc,kCACjC,UAAU;EASZ,yBAAyB,UAAU,YAAY,IAC7C,WAAW,KAAK,GAAG,8BACnB,UAAU;;iBAWE,kBAAkB,UAAU,qBAAA,MACpC,OACN,WAAW,UAAU,sBAAsB,iBAAiB,cAC3D,eAAe;;;;;;;;;;qBAaL,iBAAiB;;;;;;;;qBC7HjB;;;;EAKX;;;;EAIA;;;;MAMI;;;;MAeA;;;;MAOA;;;;EAQJ,mBAAA,MAAyB;;;;;;;;;qBAiBd;;;;EAIX;;;;EAIA;;;;EAIA,iBAAiB;;;;;;;;;qBC1EN,cAAc,UAAU;;;;EAKnC;;;;EAIA;;;;MAMI;;;;EAiBJ,YAAY,WAAW,IAAI;;;;EAW3B,eAAe,WAAW,IAAI;;;;EAW9B,eAAe,WAAW;;;;EAe1B;;;;;;;;;qBAeW;;;;EAIX;;;;EAIA;;;;EAIA,iBAAiB;;;;;;;;;KCrGP,aAAa,KAAK,IAAI,gBAAgB,KAAK;;;;;;;;KAQ3C,kBAAkB,UAAU,YAAY,IAAI,cAAc,KAAK,cAAc"}
|
package/dist/model-fragments.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as FragmentExtension, c as withLegacy, d as withArrayDefaults, i as Fragment, l as withFragmentArrayDefaults, n as modelFor, o as FragmentArray, r as registerFragmentExtensions, s as FragmentArrayExtension, u as withFragmentDefaults } from "./model-fragments-
|
|
1
|
+
import { a as FragmentExtension, c as withLegacy, d as withArrayDefaults, i as Fragment, l as withFragmentArrayDefaults, n as modelFor, o as FragmentArray, r as registerFragmentExtensions, s as FragmentArrayExtension, u as withFragmentDefaults } from "./model-fragments-DCHMDr5f.js";
|
|
2
2
|
|
|
3
3
|
export { Fragment, FragmentArray, FragmentArrayExtension, FragmentExtension, modelFor, registerFragmentExtensions, withArrayDefaults, withFragmentArrayDefaults, withFragmentDefaults, withLegacy };
|
package/dist/model.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as belongsTo, b as RelationshipDecorator, m as PromiseBelongsTo, r as restoreDeprecatedModelRequestBehaviors, t as Model, v as PromiseManyArray, x as RelationshipOptions, y as NoNull } from "./model-
|
|
1
|
+
import { S as belongsTo, b as RelationshipDecorator, m as PromiseBelongsTo, r as restoreDeprecatedModelRequestBehaviors, t as Model, v as PromiseManyArray, x as RelationshipOptions, y as NoNull } from "./model-DAdY1ibr.js";
|
|
2
2
|
import { Store } from "@warp-drive/core";
|
|
3
3
|
import { RelatedCollection as HasMany, RelatedCollection as ManyArray, Store as Store$1 } from "@warp-drive/core/store/-private";
|
|
4
4
|
import { TransformName } from "@warp-drive/core/types/symbols";
|
|
@@ -8,12 +8,9 @@ import { ResourceKey as ResourceKey$1 } from "@warp-drive/core/types/identifier"
|
|
|
8
8
|
import { TypeFromInstance } from "@warp-drive/core/types/record";
|
|
9
9
|
import { ArrayField, CacheableFieldSchema, DerivedField, GenericField, HashField, IdentityField, ObjectField, ObjectSchema, ResourceSchema } from "@warp-drive/core/types/schema/fields";
|
|
10
10
|
import { Derivation, HashFn, Transformation } from "@warp-drive/core/types/schema/concepts";
|
|
11
|
-
//#region src/model/-private/util.d.ts
|
|
12
11
|
type DecoratorPropertyDescriptor = (PropertyDescriptor & {
|
|
13
12
|
initializer?: () => unknown;
|
|
14
13
|
}) | undefined;
|
|
15
|
-
//#endregion
|
|
16
|
-
//#region src/model/-private/attr.d.ts
|
|
17
14
|
/**
|
|
18
15
|
* Options provided to the attr decorator are
|
|
19
16
|
* supplied to the associated transform. Any
|
|
@@ -182,6 +179,8 @@ return new this();
|
|
|
182
179
|
}
|
|
183
180
|
```
|
|
184
181
|
|
|
182
|
+
@summary Legacy `Model` decorator that declares an attribute field, optionally converted by a named transform and
|
|
183
|
+
given a `defaultValue`.
|
|
185
184
|
@public
|
|
186
185
|
@param type the attribute type
|
|
187
186
|
@param options a hash of options
|
|
@@ -193,8 +192,6 @@ export declare function attr(options: AttrOptions): DataDecorator;
|
|
|
193
192
|
export declare function attr<T>(type: TypeFromInstance$1<T>, options?: OptionsFromInstance<T>): DataDecorator;
|
|
194
193
|
export declare function attr(type: string, options?: AttrOptions & object): DataDecorator;
|
|
195
194
|
export declare function attr(target: object, key: string | symbol, desc?: PropertyDescriptor): void;
|
|
196
|
-
//#endregion
|
|
197
|
-
//#region src/model/-private/has-many.d.ts
|
|
198
195
|
/**
|
|
199
196
|
`hasMany` is used to define Many-To-One and Many-To-Many, and Many-To-None
|
|
200
197
|
relationships on a {@link Model}.
|
|
@@ -347,6 +344,8 @@ Polymorphic to polymorphic relationships are supported. Both sides of the relati
|
|
|
347
344
|
must be declared as polymorphic, and the `as` option must be used to declare the abstract
|
|
348
345
|
type each record satisfies on both sides.
|
|
349
346
|
|
|
347
|
+
@summary Legacy `Model` decorator that declares a to-many relationship to another resource type, configured with
|
|
348
|
+
required `async` and `inverse` options.
|
|
350
349
|
@public
|
|
351
350
|
@param type the name of the related resource
|
|
352
351
|
@param options a hash of options
|
|
@@ -355,13 +354,13 @@ export declare function hasMany(): never;
|
|
|
355
354
|
export declare function hasMany(type: string): never;
|
|
356
355
|
export declare function hasMany<T>(type: TypeFromInstance<NoNull<T>>, options: RelationshipOptions<T, boolean>): RelationshipDecorator<T>;
|
|
357
356
|
export declare function hasMany(type: string, options: RelationshipOptions<unknown, boolean>): RelationshipDecorator<unknown>;
|
|
358
|
-
//#endregion
|
|
359
|
-
//#region src/model/-private/hooks.d.ts
|
|
360
357
|
/**
|
|
361
358
|
* The `instantiateRecord` hook implementation for use with `Model`. Pass
|
|
362
359
|
* this to your store's `instantiateRecord` method when configuring the
|
|
363
360
|
* store to use `Model` for schema/record instantiation.
|
|
364
361
|
*
|
|
362
|
+
* @summary Legacy store hook that creates a `Model` instance for a resource key using the `Model` class registered
|
|
363
|
+
* for its type.
|
|
365
364
|
* @public
|
|
366
365
|
*/
|
|
367
366
|
export declare function instantiateRecord(this: Store$1, identifier: ResourceKey$1, createRecordArgs?: {
|
|
@@ -372,6 +371,7 @@ export declare function instantiateRecord(this: Store$1, identifier: ResourceKey
|
|
|
372
371
|
* to your store's `teardownRecord` method when configuring the store to
|
|
373
372
|
* use `Model` for schema/record instantiation.
|
|
374
373
|
*
|
|
374
|
+
* @summary Legacy store hook that destroys a `Model` instance when the store releases its record.
|
|
375
375
|
* @public
|
|
376
376
|
*/
|
|
377
377
|
export declare function teardownRecord(record: Model): void;
|
|
@@ -380,6 +380,8 @@ export declare function teardownRecord(record: Model): void;
|
|
|
380
380
|
* as `store.modelFor(type)` when the store is configured to use `Model`.
|
|
381
381
|
* Returns the `Model` subclass registered for the given type, if any.
|
|
382
382
|
*
|
|
383
|
+
* @summary Legacy `store.modelFor` implementation that returns the `Model` class registered for a resource type, if
|
|
384
|
+
* there is one.
|
|
383
385
|
* @public
|
|
384
386
|
*/
|
|
385
387
|
export declare function modelFor<T>(type: TypeFromInstance<T>): typeof Model | void;
|
|
@@ -389,16 +391,15 @@ export declare function modelFor<T>(type: TypeFromInstance<T>): typeof Model | v
|
|
|
389
391
|
* @public
|
|
390
392
|
*/
|
|
391
393
|
export declare function modelFor(type: string): typeof Model | void;
|
|
392
|
-
//#endregion
|
|
393
|
-
//#region src/model/-private/schema-provider.d.ts
|
|
394
394
|
/**
|
|
395
395
|
* The `createSchemaService` implementation for use with `Model`. Pass
|
|
396
396
|
* the result of this to your store's `createSchemaService` method when
|
|
397
397
|
* configuring the store to use `Model` for schema information.
|
|
398
398
|
*
|
|
399
|
+
* @summary Legacy factory for a schema service that reads resource schemas from an app's `Model` classes, returned from
|
|
400
|
+
* the store's `createSchemaService` hook.
|
|
399
401
|
* @public
|
|
400
402
|
*/
|
|
401
403
|
export declare function buildSchema(store: Store): SchemaService;
|
|
402
|
-
//#endregion
|
|
403
404
|
export { type PromiseBelongsTo as AsyncBelongsTo, type PromiseManyArray as AsyncHasMany, type HasMany, type ManyArray, Model, Model as default, belongsTo, restoreDeprecatedModelRequestBehaviors };
|
|
404
405
|
//# sourceMappingURL=model.d.ts.map
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","names":[],"sources":["../src/model/-private/util.ts","../src/model/-private/attr.ts","../src/model/-private/has-many.ts","../src/model/-private/hooks.ts","../src/model/-private/schema-provider.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","names":["TypeFromInstance","Store","ResourceKey"],"sources":["../src/model/-private/util.ts","../src/model/-private/attr.ts","../src/model/-private/has-many.ts","../src/model/-private/hooks.ts","../src/model/-private/schema-provider.ts"],"mappings":";;;;;;;;;;KAKY,+BAA+B;EAAuB;;;;;;;;;;;;;;;;;;;;;;;;;KC+BtD,YAAY,KAAK;;;;;;;;;;;EAW3B,eAAe,WAAW,iBAAiB,WAAW;;;;;;;;;;;;;;;;;;;;;EAsBtD;;KA8EG,uBAAuB,GAAG,KAAK;;;;;EAOlC,YAAY,OAAO,GAAG,iBAAiB;;;;;EAOvC,cAAc,OAAO,KAAK,iBAAiB;GAE1C,gBAAgB;;KAEP;GAAsB;;KAEtB,uBAAuB,GAAG,oBAClC,uBAAuB,WAAW,KAClC,uBAAuB,WAAW,KAClC,uBAAuB,YAAY,KACnC,uBAAuB,SAAS,KAChC,uBAAuB,GAAG,aAAa,KACvC,uBAAuB,GAAG,YAAY,KACtC,uBAAuB,kBAAkB,KACzC,uBAAuB,kBAAkB,KACzC,uBAAuB,mBAAmB,KAC1C,uBAAuB,GAAG,oBAAoB,KAC9C,uBAAuB,GAAG,mBAAmB;KAIrC,yBAAyB,KAAK;EAAY,iBAAiB;IACnE,WAAW;KAGHA,mBAAiB,KAAK,UAAU,mBAAmB,SAAS;KAG5D,oBAAoB,KAC9BA,mBAAiB,2BAEb,yBAAyB,2BAEvB,UAAU,uBAAuB,yBAAyB,IAAIA,mBAAiB,MAC7E,WAAW,uBAAuB,WAAW,qBAAqB,YAAY,WAAW;;;;;;;KASvF,iBAAiB,gBAAgB,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0FjD,QAAQ;wBACR,KAAK,GAAG,MAAMA,mBAAiB,KAAK;wBACpC,KAAK,eAAe;wBACpB,KAAK,SAAS,cAAc;wBAC5B,KAAK,GAAG,MAAMA,mBAAiB,IAAI,UAAU,oBAAoB,KAAK;wBACtE,KAAK,cAAc,UAAU,uBAAuB;wBACpD,KAAK,gBAAgB,sBAAsB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBC9ClD;wBACA,QAAQ;wBACR,QAAQ,GACtB,MAAM,iBAAiB,OAAO,KAC9B,SAAS,oBAAoB,cAC5B,sBAAsB;wBAKT,QAAQ,cAAc,SAAS,wCAAwC;;;;;;;;;;wBClPvE,kBAAA,MACRC,SACN,YAAYC,eACZ;;IACC;;;;;;;;;wBAgCa,eAAe,QAAQ;;;;;;;;;;wBAiBvB,SAAS,GAAG,MAAM,iBAAiB,YAAY;;;;;;wBAM/C,SAAS,sBAAsB;;;;;;;;;;wBCkM/B,YAAY,OAAO,QAAQ"}
|
package/dist/model.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as belongsTo, i as hasMany, n as modelFor, o as attr, r as teardownRecord, t as instantiateRecord } from "./model-
|
|
2
|
-
import { i as restoreDeprecatedModelRequestBehaviors, r as Model, t as buildSchema } from "./schema-provider-
|
|
1
|
+
import { a as belongsTo, i as hasMany, n as modelFor, o as attr, r as teardownRecord, t as instantiateRecord } from "./model-Be-e84FX.js";
|
|
2
|
+
import { i as restoreDeprecatedModelRequestBehaviors, r as Model, t as buildSchema } from "./schema-provider-BAB8DyMr.js";
|
|
3
3
|
|
|
4
4
|
export { Model, Model as default, attr, belongsTo, buildSchema, hasMany, instantiateRecord, modelFor, restoreDeprecatedModelRequestBehaviors, teardownRecord };
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { _ as AdapterPayload, m as Snapshot, p as SnapshotRecordArray } from "./compat-
|
|
2
|
-
import { r as MixtBuildURLMixin, t as Adapter } from "./adapter-
|
|
3
|
-
import { n as AdapterError } from "./error-
|
|
1
|
+
import { _ as AdapterPayload, m as Snapshot, p as SnapshotRecordArray } from "./compat-DoWEarkU.js";
|
|
2
|
+
import { r as MixtBuildURLMixin, t as Adapter } from "./adapter-DvDVeaCc.js";
|
|
3
|
+
import { n as AdapterError } from "./error-798wGD3r.js";
|
|
4
4
|
import { Store } from "@warp-drive/core";
|
|
5
5
|
import { HTTPMethod } from "@warp-drive/core/types/request";
|
|
6
6
|
import Mixin from "@ember/object/mixin";
|
|
7
7
|
import { ModelSchema } from "@warp-drive/core/types";
|
|
8
8
|
import Owner from "@ember/owner";
|
|
9
|
-
//#region src/adapter/-private/fastboot-interface.d.ts
|
|
10
9
|
interface Request {
|
|
11
10
|
protocol: string;
|
|
12
11
|
host: string;
|
|
@@ -15,12 +14,13 @@ interface FastBoot {
|
|
|
15
14
|
isFastBoot: boolean;
|
|
16
15
|
request: Request;
|
|
17
16
|
}
|
|
18
|
-
//#endregion
|
|
19
|
-
//#region src/adapter/rest.d.ts
|
|
20
17
|
type Payload = Error | Record<string, unknown> | unknown[] | string | undefined;
|
|
21
18
|
/**
|
|
22
19
|
* The query params built by {@link RESTAdapter.buildQuery | buildQuery} for a
|
|
23
20
|
* `findAll`/`findRecord` request.
|
|
21
|
+
*
|
|
22
|
+
* @summary Query params the legacy `RESTAdapter.buildQuery` adds to `findRecord` and `findAll` URLs, such as the
|
|
23
|
+
* `include` paths to sideload.
|
|
24
24
|
*/
|
|
25
25
|
type QueryState = {
|
|
26
26
|
/**
|
|
@@ -34,6 +34,9 @@ type QueryState = {
|
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* The options passed to the native `fetch` API by {@link RESTAdapter._fetchRequest | _fetchRequest}.
|
|
37
|
+
*
|
|
38
|
+
* @summary `fetch` options plus `url`, `method`, and `type` that the legacy `RESTAdapter` builds for a request sent
|
|
39
|
+
* with the native `fetch` API.
|
|
37
40
|
*/
|
|
38
41
|
interface FetchRequestInit extends RequestInit {
|
|
39
42
|
/**
|
|
@@ -51,6 +54,9 @@ interface FetchRequestInit extends RequestInit {
|
|
|
51
54
|
}
|
|
52
55
|
/**
|
|
53
56
|
* The options passed to jQuery's `$.ajax` by {@link RESTAdapter._ajaxRequest | _ajaxRequest}.
|
|
57
|
+
*
|
|
58
|
+
* @summary jQuery `$.ajax` settings plus `url`, `method`, and `type` that the legacy `RESTAdapter` builds when it
|
|
59
|
+
* sends a request through jQuery.
|
|
54
60
|
*/
|
|
55
61
|
interface JQueryRequestInit extends JQueryAjaxSettings {
|
|
56
62
|
/**
|
|
@@ -69,6 +75,9 @@ interface JQueryRequestInit extends JQueryAjaxSettings {
|
|
|
69
75
|
/**
|
|
70
76
|
* A minimal description of an in-flight request, used for building
|
|
71
77
|
* error messages when a request fails.
|
|
78
|
+
*
|
|
79
|
+
* @summary The url and HTTP method of a legacy `RESTAdapter` request, used to build error messages when that request
|
|
80
|
+
* fails.
|
|
72
81
|
*/
|
|
73
82
|
type RequestData = {
|
|
74
83
|
/**
|
|
@@ -302,6 +311,8 @@ return {
|
|
|
302
311
|
}
|
|
303
312
|
```
|
|
304
313
|
|
|
314
|
+
@summary Legacy adapter that exchanges conventional REST-style JSON with an HTTP server, building URLs from model
|
|
315
|
+
names and ids.
|
|
305
316
|
@public
|
|
306
317
|
*/
|
|
307
318
|
declare class RESTAdapter extends AdapterWithBuildURLMixin {
|
|
@@ -811,6 +822,5 @@ interface RESTAdapter extends MixtBuildURLMixin {}
|
|
|
811
822
|
* @private
|
|
812
823
|
*/
|
|
813
824
|
declare function fetchOptions(options: JQueryRequestInit & Partial<FetchRequestInit>, adapter: RESTAdapter): FetchRequestInit;
|
|
814
|
-
//#endregion
|
|
815
825
|
export { RequestData as a, RESTAdapter as i, JQueryRequestInit as n, fetchOptions as o, QueryState as r, FetchRequestInit as t };
|
|
816
|
-
//# sourceMappingURL=rest-
|
|
826
|
+
//# sourceMappingURL=rest-CmFneLJH.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-CmFneLJH.d.ts","names":[],"sources":["../src/adapter/-private/fastboot-interface.ts","../src/adapter/rest.ts"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// ../../node_modules/.pnpm/decorat_5d4eca388601a94e7fbc656401b751d1/node_modules/decorator-transforms/dist/runtime--fcdnjmJ.js
|
|
2
2
|
const deferred = /* @__PURE__ */ new WeakMap();
|
|
3
3
|
function deferDecorator(proto, prop, desc) {
|
|
4
4
|
let map = deferred.get(proto);
|
|
@@ -48,6 +48,5 @@ function initializeDeferredDecorator(target, prop) {
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
//#endregion
|
|
52
51
|
export { decorateMethodV2 as n, initializeDeferredDecorator as r, decorateFieldV2 as t };
|
|
53
|
-
//# sourceMappingURL=runtime--fcdnjmJ-
|
|
52
|
+
//# sourceMappingURL=runtime--fcdnjmJ-5yaSpa-d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime--fcdnjmJ-
|
|
1
|
+
{"version":3,"file":"runtime--fcdnjmJ-5yaSpa-d.js","names":[],"sources":["../../../node_modules/.pnpm/decorat_5d4eca388601a94e7fbc656401b751d1/node_modules/decorator-transforms/dist/runtime--fcdnjmJ.js"],"sourcesContent":["const deferred = /* @__PURE__ */ new WeakMap();\nfunction deferDecorator(proto, prop, desc) {\n let map = deferred.get(proto);\n if (!map) {\n map = /* @__PURE__ */ new Map();\n deferred.set(proto, map);\n }\n map.set(prop, desc);\n}\nfunction findDeferredDecorator(target, prop) {\n var _a;\n let cursor = target.prototype;\n while (cursor) {\n let desc = (_a = deferred.get(cursor)) == null ? void 0 : _a.get(prop);\n if (desc) {\n return desc;\n }\n cursor = Object.getPrototypeOf(cursor);\n }\n}\nfunction decorateFieldV1(target, prop, decorators, initializer) {\n return decorateFieldV2(target.prototype, prop, decorators, initializer);\n}\nfunction decorateFieldV2(prototype, prop, decorators, initializer) {\n let desc = {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n };\n if (initializer) {\n desc.initializer = initializer;\n }\n for (let decorator of decorators) {\n desc = decorator(prototype, prop, desc) || desc;\n }\n if (desc.initializer === void 0) {\n Object.defineProperty(prototype, prop, desc);\n } else {\n deferDecorator(prototype, prop, desc);\n }\n}\nfunction decorateMethodV1({ prototype }, prop, decorators) {\n return decorateMethodV2(prototype, prop, decorators);\n}\nfunction decorateMethodV2(prototype, prop, decorators) {\n const origDesc = Object.getOwnPropertyDescriptor(prototype, prop);\n let desc = { ...origDesc };\n for (let decorator of decorators) {\n desc = decorator(prototype, prop, desc) || desc;\n }\n if (desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(prototype) : void 0;\n desc.initializer = void 0;\n }\n Object.defineProperty(prototype, prop, desc);\n}\nfunction initializeDeferredDecorator(target, prop) {\n let desc = findDeferredDecorator(target.constructor, prop);\n if (desc) {\n Object.defineProperty(target, prop, {\n enumerable: desc.enumerable,\n configurable: desc.configurable,\n writable: desc.writable,\n value: desc.initializer ? desc.initializer.call(target) : void 0\n });\n }\n}\nfunction decorateClass(target, decorators) {\n return decorators.reduce(\n (accum, decorator) => decorator(accum) || accum,\n target\n );\n}\nfunction decoratePOJO(pojo, decorated) {\n for (let [type, prop, decorators] of decorated) {\n if (type === \"field\") {\n decoratePojoField(pojo, prop, decorators);\n } else {\n decorateMethodV2(pojo, prop, decorators);\n }\n }\n return pojo;\n}\nfunction decoratePojoField(pojo, prop, decorators) {\n let desc = {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: () => {\n var _a;\n return (_a = Object.getOwnPropertyDescriptor(pojo, prop)) == null ? void 0 : _a.value;\n }\n };\n for (let decorator of decorators) {\n desc = decorator(pojo, prop, desc) || desc;\n }\n if (desc.initializer) {\n desc.value = desc.initializer.call(pojo);\n delete desc.initializer;\n }\n Object.defineProperty(pojo, prop, desc);\n}\nconst runtime = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n c: decorateClass,\n f: decorateFieldV1,\n g: decorateFieldV2,\n i: initializeDeferredDecorator,\n m: decorateMethodV1,\n n: decorateMethodV2,\n p: decoratePOJO\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n decorateFieldV1 as a,\n decorateFieldV2 as b,\n decorateMethodV1 as c,\n decorateClass as d,\n decorateMethodV2 as e,\n decoratePOJO as f,\n initializeDeferredDecorator as i,\n runtime as r\n};\n//# sourceMappingURL=runtime--fcdnjmJ.js.map\n"],"ignoreList":[0],"mappings":";AAAA,MAAM,2BAA2B,IAAI,QAAQ;AAC7C,SAAS,eAAe,OAAO,MAAM,MAAM;CACzC,IAAI,MAAM,SAAS,IAAI,KAAK;CAC5B,IAAI,CAAC,KAAK;EACR,sBAAsB,IAAI,IAAI;EAC9B,SAAS,IAAI,OAAO,GAAG;CACzB;CACA,IAAI,IAAI,MAAM,IAAI;AACpB;AACA,SAAS,sBAAsB,QAAQ,MAAM;CAC3C,IAAI;CACJ,IAAI,SAAS,OAAO;CACpB,OAAO,QAAQ;EACb,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,MAAM,OAAO,KAAK,IAAI,GAAG,IAAI,IAAI;EACrE,IAAI,MACF,OAAO;EAET,SAAS,OAAO,eAAe,MAAM;CACvC;AACF;AAIA,SAAS,gBAAgB,WAAW,MAAM,YAAY,aAAa;CACjE,IAAI,OAAO;EACT,cAAc;EACd,YAAY;EACZ,UAAU;EACV,aAAa;CACf;CACA,IAAI,aACF,KAAK,cAAc;CAErB,KAAK,IAAI,aAAa,YACpB,OAAO,UAAU,WAAW,MAAM,IAAI,KAAK;CAE7C,IAAI,KAAK,gBAAgB,KAAK,GAC5B,OAAO,eAAe,WAAW,MAAM,IAAI;MAE3C,eAAe,WAAW,MAAM,IAAI;AAExC;AAIA,SAAS,iBAAiB,WAAW,MAAM,YAAY;CAErD,IAAI,OAAO,EAAE,GADI,OAAO,yBAAyB,WAAW,IACrC,EAAE;CACzB,KAAK,IAAI,aAAa,YACpB,OAAO,UAAU,WAAW,MAAM,IAAI,KAAK;CAE7C,IAAI,KAAK,gBAAgB,KAAK,GAAG;EAC/B,KAAK,QAAQ,KAAK,cAAc,KAAK,YAAY,KAAK,SAAS,IAAI,KAAK;EACxE,KAAK,cAAc,KAAK;CAC1B;CACA,OAAO,eAAe,WAAW,MAAM,IAAI;AAC7C;AACA,SAAS,4BAA4B,QAAQ,MAAM;CACjD,IAAI,OAAO,sBAAsB,OAAO,aAAa,IAAI;CACzD,IAAI,MACF,OAAO,eAAe,QAAQ,MAAM;EAClC,YAAY,KAAK;EACjB,cAAc,KAAK;EACnB,UAAU,KAAK;EACf,OAAO,KAAK,cAAc,KAAK,YAAY,KAAK,MAAM,IAAI,KAAK;CACjE,CAAC;AAEL"}
|