@party-stack/ontology 0.19.0 → 0.20.0
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/lib/OntologyPullConfig.d.ts +15 -13
- package/lib/OntologyPullConfig.d.ts.map +1 -1
- package/lib/OntologyPullConfig.js +0 -1
- package/lib/cli/format.d.ts +4 -0
- package/lib/cli/format.d.ts.map +1 -0
- package/lib/cli/format.js +19 -0
- package/lib/cli/format.js.map +1 -0
- package/lib/cli/generate.d.ts +6 -5
- package/lib/cli/generate.d.ts.map +1 -1
- package/lib/cli/generate.js +86 -110
- package/lib/cli/generate.js.map +1 -1
- package/lib/cli/index.d.ts +1 -3
- package/lib/cli/index.js +42 -59
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/pull.d.ts +3 -1
- package/lib/cli/pull.d.ts.map +1 -1
- package/lib/cli/pull.js +42 -60
- package/lib/cli/pull.js.map +1 -1
- package/lib/examples/blog.d.ts +347 -345
- package/lib/examples/blog.d.ts.map +1 -1
- package/lib/examples/blog.js +350 -337
- package/lib/examples/blog.js.map +1 -1
- package/lib/examples/blog.live-queries.d.ts +8 -3
- package/lib/examples/blog.live-queries.d.ts.map +1 -1
- package/lib/examples/blog.live-queries.js +28 -44
- package/lib/examples/blog.live-queries.js.map +1 -1
- package/lib/examples/generated/constants.d.ts +1 -2
- package/lib/examples/generated/constants.js +0 -2
- package/lib/examples/generated/live.d.ts +5 -3
- package/lib/examples/generated/live.d.ts.map +1 -1
- package/lib/examples/generated/live.js +12 -8
- package/lib/examples/generated/live.js.map +1 -1
- package/lib/examples/generated/types.d.ts +52 -50
- package/lib/examples/generated/types.d.ts.map +1 -1
- package/lib/examples/generated/types.js +0 -2
- package/lib/generate/builders.d.ts +8 -5
- package/lib/generate/builders.d.ts.map +1 -1
- package/lib/generate/builders.js +53 -55
- package/lib/generate/builders.js.map +1 -1
- package/lib/generate/constants.d.ts +3 -1
- package/lib/generate/constants.d.ts.map +1 -1
- package/lib/generate/constants.js +23 -26
- package/lib/generate/constants.js.map +1 -1
- package/lib/generate/index.d.ts +6 -6
- package/lib/generate/index.js +6 -6
- package/lib/generate/live.d.ts +8 -6
- package/lib/generate/live.d.ts.map +1 -1
- package/lib/generate/live.js +43 -42
- package/lib/generate/live.js.map +1 -1
- package/lib/generate/ontology.d.ts +4 -2
- package/lib/generate/ontology.d.ts.map +1 -1
- package/lib/generate/ontology.js +453 -354
- package/lib/generate/ontology.js.map +1 -1
- package/lib/generate/types.d.ts +7 -5
- package/lib/generate/types.d.ts.map +1 -1
- package/lib/generate/types.js +190 -262
- package/lib/generate/types.js.map +1 -1
- package/lib/generate/utils/buildJsDocs.d.ts +7 -4
- package/lib/generate/utils/buildJsDocs.d.ts.map +1 -1
- package/lib/generate/utils/buildJsDocs.js +14 -10
- package/lib/generate/utils/buildJsDocs.js.map +1 -1
- package/lib/index.d.ts +30 -13
- package/lib/index.js +18 -10
- package/lib/infer.d.ts +129 -151
- package/lib/infer.d.ts.map +1 -1
- package/lib/infer.js +10 -6
- package/lib/infer.js.map +1 -1
- package/lib/installation/createMetaOntologyConfiguration.d.ts +6 -3
- package/lib/installation/createMetaOntologyConfiguration.d.ts.map +1 -1
- package/lib/installation/createMetaOntologyConfiguration.js +13 -11
- package/lib/installation/createMetaOntologyConfiguration.js.map +1 -1
- package/lib/installation/createOntologyBackendInstallation.d.ts +3 -1
- package/lib/installation/createOntologyBackendInstallation.d.ts.map +1 -1
- package/lib/installation/createOntologyBackendInstallation.js +205 -268
- package/lib/installation/createOntologyBackendInstallation.js.map +1 -1
- package/lib/installation/index.d.ts +4 -4
- package/lib/installation/index.js +3 -3
- package/lib/installation/types.d.ts +83 -80
- package/lib/installation/types.d.ts.map +1 -1
- package/lib/installation/types.js +0 -1
- package/lib/ir/generated/builders.d.ts +294 -382
- package/lib/ir/generated/builders.d.ts.map +1 -1
- package/lib/ir/generated/builders.js +180 -119
- package/lib/ir/generated/builders.js.map +1 -1
- package/lib/ir/generated/constants.d.ts +137 -135
- package/lib/ir/generated/constants.d.ts.map +1 -1
- package/lib/ir/generated/constants.js +162 -129
- package/lib/ir/generated/constants.js.map +1 -1
- package/lib/ir/generated/types.d.ts +236 -234
- package/lib/ir/generated/types.d.ts.map +1 -1
- package/lib/ir/generated/types.js +0 -2
- package/lib/ir/index.d.ts +4 -4
- package/lib/ir/index.js +3 -4
- package/lib/ir/schema.d.ts +2174 -2172
- package/lib/ir/schema.d.ts.map +1 -1
- package/lib/ir/schema.js +1184 -1343
- package/lib/ir/schema.js.map +1 -1
- package/lib/ir/validate.d.ts +5 -3
- package/lib/ir/validate.d.ts.map +1 -1
- package/lib/ir/validate.js +589 -707
- package/lib/ir/validate.js.map +1 -1
- package/lib/json/index.d.ts +10 -8
- package/lib/json/index.d.ts.map +1 -1
- package/lib/json/index.js +101 -135
- package/lib/json/index.js.map +1 -1
- package/lib/lenses.d.ts +7 -4
- package/lib/lenses.d.ts.map +1 -1
- package/lib/lenses.js +96 -132
- package/lib/lenses.js.map +1 -1
- package/lib/live/LiveOntology.d.ts +55 -60
- package/lib/live/LiveOntology.d.ts.map +1 -1
- package/lib/live/LiveOntology.js +98 -124
- package/lib/live/LiveOntology.js.map +1 -1
- package/lib/live/OntologyBackendAdapter.d.ts +84 -77
- package/lib/live/OntologyBackendAdapter.d.ts.map +1 -1
- package/lib/live/OntologyBackendAdapter.js +0 -1
- package/lib/live/actions/createLiveOntologyAction.d.ts +27 -24
- package/lib/live/actions/createLiveOntologyAction.d.ts.map +1 -1
- package/lib/live/actions/createLiveOntologyAction.js +24 -21
- package/lib/live/actions/createLiveOntologyAction.js.map +1 -1
- package/lib/live/actions/createLiveOntologyActions.d.ts +23 -20
- package/lib/live/actions/createLiveOntologyActions.d.ts.map +1 -1
- package/lib/live/actions/createLiveOntologyActions.js +131 -161
- package/lib/live/actions/createLiveOntologyActions.js.map +1 -1
- package/lib/live/actions/prepareActionParameters.d.ts +14 -11
- package/lib/live/actions/prepareActionParameters.d.ts.map +1 -1
- package/lib/live/actions/prepareActionParameters.js +190 -228
- package/lib/live/actions/prepareActionParameters.js.map +1 -1
- package/lib/live/attachments/attachmentSources.d.ts +7 -4
- package/lib/live/attachments/attachmentSources.d.ts.map +1 -1
- package/lib/live/attachments/attachmentSources.js +55 -71
- package/lib/live/attachments/attachmentSources.js.map +1 -1
- package/lib/live/attachments/createLiveOntologyAttachments.d.ts +47 -44
- package/lib/live/attachments/createLiveOntologyAttachments.d.ts.map +1 -1
- package/lib/live/attachments/createLiveOntologyAttachments.js +65 -83
- package/lib/live/attachments/createLiveOntologyAttachments.js.map +1 -1
- package/lib/live/attachments/types.d.ts +10 -8
- package/lib/live/attachments/types.d.ts.map +1 -1
- package/lib/live/attachments/types.js +0 -1
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts +3 -1
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.d.ts.map +1 -1
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js +5 -3
- package/lib/live/attachments/unsupportedOntologyAttachmentsAdapter.js.map +1 -1
- package/lib/live/expression.d.ts +16 -13
- package/lib/live/expression.d.ts.map +1 -1
- package/lib/live/expression.js +142 -223
- package/lib/live/expression.js.map +1 -1
- package/lib/live/index.d.ts +12 -9
- package/lib/live/index.js +6 -8
- package/lib/live/mutators/OntologyEdits.d.ts +12 -9
- package/lib/live/mutators/OntologyEdits.d.ts.map +1 -1
- package/lib/live/mutators/OntologyEdits.js +57 -74
- package/lib/live/mutators/OntologyEdits.js.map +1 -1
- package/lib/live/mutators/createMutatorTx.d.ts +7 -5
- package/lib/live/mutators/createMutatorTx.d.ts.map +1 -1
- package/lib/live/mutators/createMutatorTx.js +53 -69
- package/lib/live/mutators/createMutatorTx.js.map +1 -1
- package/lib/live/mutators/runOptimisticAction.d.ts +16 -13
- package/lib/live/mutators/runOptimisticAction.d.ts.map +1 -1
- package/lib/live/mutators/runOptimisticAction.js +26 -26
- package/lib/live/mutators/runOptimisticAction.js.map +1 -1
- package/lib/live/mutators/types.d.ts +18 -16
- package/lib/live/mutators/types.d.ts.map +1 -1
- package/lib/live/mutators/types.js +0 -1
- package/lib/live/objects/OntologyObject.d.ts +2 -0
- package/lib/live/objects/OntologyObject.d.ts.map +1 -1
- package/lib/live/objects/OntologyObject.js +0 -1
- package/lib/live/objects/createLiveOntologyObjectCollection.d.ts +14 -11
- package/lib/live/objects/createLiveOntologyObjectCollection.d.ts.map +1 -1
- package/lib/live/objects/createLiveOntologyObjectCollection.js +62 -49
- package/lib/live/objects/createLiveOntologyObjectCollection.js.map +1 -1
- package/lib/live/objects/ontologyObjectCollectionId.d.ts +2 -0
- package/lib/live/objects/ontologyObjectCollectionId.d.ts.map +1 -1
- package/lib/live/objects/ontologyObjectCollectionId.js +6 -2
- package/lib/live/objects/ontologyObjectCollectionId.js.map +1 -1
- package/lib/live/outbox/createOntologyOutbox.d.ts +16 -14
- package/lib/live/outbox/createOntologyOutbox.d.ts.map +1 -1
- package/lib/live/outbox/createOntologyOutbox.js +275 -326
- package/lib/live/outbox/createOntologyOutbox.js.map +1 -1
- package/lib/live/outbox/leaderExecutor.d.ts +15 -13
- package/lib/live/outbox/leaderExecutor.d.ts.map +1 -1
- package/lib/live/outbox/leaderExecutor.js +114 -153
- package/lib/live/outbox/leaderExecutor.js.map +1 -1
- package/lib/live/outbox/outboxService.d.ts +4 -2
- package/lib/live/outbox/outboxService.d.ts.map +1 -1
- package/lib/live/outbox/outboxService.js +66 -71
- package/lib/live/outbox/outboxService.js.map +1 -1
- package/lib/live/outbox/projectionManager.d.ts +26 -24
- package/lib/live/outbox/projectionManager.d.ts.map +1 -1
- package/lib/live/outbox/projectionManager.js +121 -147
- package/lib/live/outbox/projectionManager.js.map +1 -1
- package/lib/live/outbox/repository.d.ts +27 -25
- package/lib/live/outbox/repository.d.ts.map +1 -1
- package/lib/live/outbox/repository.js +192 -241
- package/lib/live/outbox/repository.js.map +1 -1
- package/lib/live/outbox/service.d.ts +52 -50
- package/lib/live/outbox/service.d.ts.map +1 -1
- package/lib/live/outbox/service.js +5 -1
- package/lib/live/outbox/service.js.map +1 -1
- package/lib/live/outbox/types.d.ts +35 -33
- package/lib/live/outbox/types.d.ts.map +1 -1
- package/lib/live/outbox/types.js +10 -6
- package/lib/live/outbox/types.js.map +1 -1
- package/lib/live/waitForCollectionReady.d.ts +3 -1
- package/lib/live/waitForCollectionReady.d.ts.map +1 -1
- package/lib/live/waitForCollectionReady.js +44 -65
- package/lib/live/waitForCollectionReady.js.map +1 -1
- package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts +5 -2
- package/lib/meta/createLocalMetaOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/meta/createLocalMetaOntologyBackendAdapter.js +37 -39
- package/lib/meta/createLocalMetaOntologyBackendAdapter.js.map +1 -1
- package/lib/meta/generated/constants.d.ts +137 -135
- package/lib/meta/generated/constants.d.ts.map +1 -1
- package/lib/meta/generated/constants.js +162 -129
- package/lib/meta/generated/constants.js.map +1 -1
- package/lib/meta/generated/live.d.ts +5 -2
- package/lib/meta/generated/live.d.ts.map +1 -1
- package/lib/meta/generated/live.js +12 -8
- package/lib/meta/generated/live.js.map +1 -1
- package/lib/meta/generated/types.d.ts +233 -231
- package/lib/meta/generated/types.d.ts.map +1 -1
- package/lib/meta/generated/types.js +0 -2
- package/lib/meta/ontology.d.ts +23 -21
- package/lib/meta/ontology.d.ts.map +1 -1
- package/lib/meta/ontology.js +100 -104
- package/lib/meta/ontology.js.map +1 -1
- package/lib/meta/pull.d.ts +8 -6
- package/lib/meta/pull.d.ts.map +1 -1
- package/lib/meta/pull.js +39 -52
- package/lib/meta/pull.js.map +1 -1
- package/lib/utils/index.d.ts +8 -8
- package/lib/utils/index.js +5 -6
- package/lib/utils/links.d.ts +34 -31
- package/lib/utils/links.d.ts.map +1 -1
- package/lib/utils/links.js +10 -17
- package/lib/utils/links.js.map +1 -1
- package/lib/utils/paths.d.ts +2 -0
- package/lib/utils/paths.d.ts.map +1 -1
- package/lib/utils/paths.js +32 -44
- package/lib/utils/paths.js.map +1 -1
- package/lib/utils/provide.d.ts +2 -0
- package/lib/utils/provide.d.ts.map +1 -1
- package/lib/utils/provide.js +7 -9
- package/lib/utils/provide.js.map +1 -1
- package/lib/utils/targets.d.ts +20 -18
- package/lib/utils/targets.d.ts.map +1 -1
- package/lib/utils/targets.js +0 -1
- package/lib/utils/typeNames.d.ts +10 -8
- package/lib/utils/typeNames.d.ts.map +1 -1
- package/lib/utils/typeNames.js +0 -1
- package/lib/utils/types.d.ts +6 -4
- package/lib/utils/types.d.ts.map +1 -1
- package/lib/utils/types.js +38 -38
- package/lib/utils/types.js.map +1 -1
- package/lib/utils/uncertain.d.ts +5 -3
- package/lib/utils/uncertain.d.ts.map +1 -1
- package/lib/utils/uncertain.js +11 -9
- package/lib/utils/uncertain.js.map +1 -1
- package/lib/utils/validation.d.ts +4 -2
- package/lib/utils/validation.d.ts.map +1 -1
- package/lib/utils/validation.js +0 -1
- package/lib/utils/values.d.ts +18 -18
- package/lib/utils/values.d.ts.map +1 -1
- package/lib/utils/values.js +0 -1
- package/package.json +22 -26
- package/lib/OntologyPullConfig.js.map +0 -1
- package/lib/cli/index.d.ts.map +0 -1
- package/lib/cli/index.test.d.ts +0 -2
- package/lib/cli/index.test.d.ts.map +0 -1
- package/lib/cli/index.test.js +0 -34
- package/lib/cli/index.test.js.map +0 -1
- package/lib/cli/pull.test.d.ts +0 -2
- package/lib/cli/pull.test.d.ts.map +0 -1
- package/lib/cli/pull.test.js +0 -125
- package/lib/cli/pull.test.js.map +0 -1
- package/lib/examples/generated/constants.d.ts.map +0 -1
- package/lib/examples/generated/constants.js.map +0 -1
- package/lib/examples/generated/types.js.map +0 -1
- package/lib/generate/builders.test.d.ts +0 -2
- package/lib/generate/builders.test.d.ts.map +0 -1
- package/lib/generate/builders.test.js +0 -49
- package/lib/generate/builders.test.js.map +0 -1
- package/lib/generate/index.d.ts.map +0 -1
- package/lib/generate/index.js.map +0 -1
- package/lib/generate/live.test.d.ts +0 -2
- package/lib/generate/live.test.d.ts.map +0 -1
- package/lib/generate/live.test.js +0 -22
- package/lib/generate/live.test.js.map +0 -1
- package/lib/generate/ontology.test.d.ts +0 -2
- package/lib/generate/ontology.test.d.ts.map +0 -1
- package/lib/generate/ontology.test.js +0 -157
- package/lib/generate/ontology.test.js.map +0 -1
- package/lib/generate/types.test.d.ts +0 -2
- package/lib/generate/types.test.d.ts.map +0 -1
- package/lib/generate/types.test.js +0 -304
- package/lib/generate/types.test.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/infer.test.d.ts +0 -2
- package/lib/infer.test.d.ts.map +0 -1
- package/lib/infer.test.js +0 -125
- package/lib/infer.test.js.map +0 -1
- package/lib/installation/createMetaOntologyConfiguration.test.d.ts +0 -2
- package/lib/installation/createMetaOntologyConfiguration.test.d.ts.map +0 -1
- package/lib/installation/createMetaOntologyConfiguration.test.js +0 -20
- package/lib/installation/createMetaOntologyConfiguration.test.js.map +0 -1
- package/lib/installation/createOntologyBackendInstallation.test.d.ts +0 -2
- package/lib/installation/createOntologyBackendInstallation.test.d.ts.map +0 -1
- package/lib/installation/createOntologyBackendInstallation.test.js +0 -320
- package/lib/installation/createOntologyBackendInstallation.test.js.map +0 -1
- package/lib/installation/index.d.ts.map +0 -1
- package/lib/installation/index.js.map +0 -1
- package/lib/installation/types.js.map +0 -1
- package/lib/ir/generated/types.js.map +0 -1
- package/lib/ir/index.d.ts.map +0 -1
- package/lib/ir/index.js.map +0 -1
- package/lib/ir/validate.test.d.ts +0 -2
- package/lib/ir/validate.test.d.ts.map +0 -1
- package/lib/ir/validate.test.js +0 -1061
- package/lib/ir/validate.test.js.map +0 -1
- package/lib/json/index.test.d.ts +0 -2
- package/lib/json/index.test.d.ts.map +0 -1
- package/lib/json/index.test.js +0 -142
- package/lib/json/index.test.js.map +0 -1
- package/lib/lenses.test.d.ts +0 -2
- package/lib/lenses.test.d.ts.map +0 -1
- package/lib/lenses.test.js +0 -80
- package/lib/lenses.test.js.map +0 -1
- package/lib/live/LiveOntology.test.d.ts +0 -2
- package/lib/live/LiveOntology.test.d.ts.map +0 -1
- package/lib/live/LiveOntology.test.js +0 -507
- package/lib/live/LiveOntology.test.js.map +0 -1
- package/lib/live/OntologyBackendAdapter.js.map +0 -1
- package/lib/live/actions/createLiveOntologyAction.test.d.ts +0 -2
- package/lib/live/actions/createLiveOntologyAction.test.d.ts.map +0 -1
- package/lib/live/actions/createLiveOntologyAction.test.js +0 -232
- package/lib/live/actions/createLiveOntologyAction.test.js.map +0 -1
- package/lib/live/actions/prepareActionParameters.test.d.ts +0 -2
- package/lib/live/actions/prepareActionParameters.test.d.ts.map +0 -1
- package/lib/live/actions/prepareActionParameters.test.js +0 -165
- package/lib/live/actions/prepareActionParameters.test.js.map +0 -1
- package/lib/live/attachments/attachmentMetadata.test.d.ts +0 -2
- package/lib/live/attachments/attachmentMetadata.test.d.ts.map +0 -1
- package/lib/live/attachments/attachmentMetadata.test.js +0 -73
- package/lib/live/attachments/attachmentMetadata.test.js.map +0 -1
- package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts +0 -2
- package/lib/live/attachments/createLiveOntologyAttachments.test.d.ts.map +0 -1
- package/lib/live/attachments/createLiveOntologyAttachments.test.js +0 -363
- package/lib/live/attachments/createLiveOntologyAttachments.test.js.map +0 -1
- package/lib/live/attachments/types.js.map +0 -1
- package/lib/live/expression.test.d.ts +0 -2
- package/lib/live/expression.test.d.ts.map +0 -1
- package/lib/live/expression.test.js +0 -311
- package/lib/live/expression.test.js.map +0 -1
- package/lib/live/index.d.ts.map +0 -1
- package/lib/live/index.js.map +0 -1
- package/lib/live/mutators/OntologyEdits.test.d.ts +0 -2
- package/lib/live/mutators/OntologyEdits.test.d.ts.map +0 -1
- package/lib/live/mutators/OntologyEdits.test.js +0 -85
- package/lib/live/mutators/OntologyEdits.test.js.map +0 -1
- package/lib/live/mutators/createMutatorTx.test.d.ts +0 -2
- package/lib/live/mutators/createMutatorTx.test.d.ts.map +0 -1
- package/lib/live/mutators/createMutatorTx.test.js +0 -180
- package/lib/live/mutators/createMutatorTx.test.js.map +0 -1
- package/lib/live/mutators/types.js.map +0 -1
- package/lib/live/objects/OntologyObject.js.map +0 -1
- package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts +0 -2
- package/lib/live/objects/createLiveOntologyObjectCollection.test.d.ts.map +0 -1
- package/lib/live/objects/createLiveOntologyObjectCollection.test.js +0 -310
- package/lib/live/objects/createLiveOntologyObjectCollection.test.js.map +0 -1
- package/lib/live/outbox/createOntologyOutbox.test.d.ts +0 -2
- package/lib/live/outbox/createOntologyOutbox.test.d.ts.map +0 -1
- package/lib/live/outbox/createOntologyOutbox.test.js +0 -1030
- package/lib/live/outbox/createOntologyOutbox.test.js.map +0 -1
- package/lib/meta/generated/types.js.map +0 -1
- package/lib/meta/ontology.test.d.ts +0 -2
- package/lib/meta/ontology.test.d.ts.map +0 -1
- package/lib/meta/ontology.test.js +0 -84
- package/lib/meta/ontology.test.js.map +0 -1
- package/lib/utils/index.d.ts.map +0 -1
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/links.test.d.ts +0 -2
- package/lib/utils/links.test.d.ts.map +0 -1
- package/lib/utils/links.test.js +0 -109
- package/lib/utils/links.test.js.map +0 -1
- package/lib/utils/paths.test.d.ts +0 -2
- package/lib/utils/paths.test.d.ts.map +0 -1
- package/lib/utils/paths.test.js +0 -33
- package/lib/utils/paths.test.js.map +0 -1
- package/lib/utils/targets.js.map +0 -1
- package/lib/utils/typeNames.js.map +0 -1
- package/lib/utils/types.test.d.ts +0 -2
- package/lib/utils/types.test.d.ts.map +0 -1
- package/lib/utils/types.test.js +0 -157
- package/lib/utils/types.test.js.map +0 -1
- package/lib/utils/uncertain.test.d.ts +0 -2
- package/lib/utils/uncertain.test.d.ts.map +0 -1
- package/lib/utils/uncertain.test.js +0 -14
- package/lib/utils/uncertain.test.js.map +0 -1
- package/lib/utils/validation.js.map +0 -1
- package/lib/utils/values.js.map +0 -1
|
@@ -1,82 +1,65 @@
|
|
|
1
|
-
import { setAtPath } from "../../utils/paths.js";
|
|
2
1
|
import { unwrapValueType } from "../../utils/types.js";
|
|
3
|
-
import {
|
|
2
|
+
import { setAtPath } from "../../utils/paths.js";
|
|
4
3
|
import { evaluateExpression, getObjectReferenceObjectType } from "../expression.js";
|
|
4
|
+
import { decorateObjectAttachmentSources } from "../attachments/attachmentSources.js";
|
|
5
|
+
//#region src/live/mutators/OntologyEdits.ts
|
|
5
6
|
function objectType(ir, name) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return type;
|
|
7
|
+
const type = ir.objectTypes.find((candidate) => candidate.name === name);
|
|
8
|
+
if (!type) throw new Error(`Unknown object type "${name}".`);
|
|
9
|
+
return type;
|
|
10
10
|
}
|
|
11
11
|
async function propertyChanges(options) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
return changes;
|
|
12
|
+
const changes = [];
|
|
13
|
+
for (const assignment of options.assignments) {
|
|
14
|
+
const value = await evaluateExpression({
|
|
15
|
+
ir: options.ir,
|
|
16
|
+
actionTypeName: options.actionTypeName,
|
|
17
|
+
expression: assignment.value,
|
|
18
|
+
resolveParameter: (name) => Promise.resolve(options.parameters[name]),
|
|
19
|
+
context: options.context,
|
|
20
|
+
tx: options.tx
|
|
21
|
+
});
|
|
22
|
+
if (value !== void 0) changes.push({
|
|
23
|
+
path: assignment.property,
|
|
24
|
+
value
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return changes;
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
object[type.primaryKey] =
|
|
64
|
-
`optimistic:${options.idempotencyKey}:${type.name}:${stepIndex}`;
|
|
65
|
-
}
|
|
66
|
-
await options.tx.mutate[type.name].create(object);
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
const type = getObjectReferenceObjectType(options.ir, options.actionTypeName, step.value.object);
|
|
70
|
-
const key = options.parameters[step.value.object.name];
|
|
71
|
-
if (step.kind === "updateObject") {
|
|
72
|
-
await options.tx.mutate[type.name].update(key, await propertyChanges({
|
|
73
|
-
...options,
|
|
74
|
-
assignments: step.value.values,
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
await options.tx.mutate[type.name].delete(key);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
29
|
+
async function applyActionLogicToMutatorTx(options) {
|
|
30
|
+
const action = options.ir.actionTypes.find((candidate) => candidate.name === options.actionTypeName);
|
|
31
|
+
if (!action) throw new Error(`Unknown action "${options.actionTypeName}".`);
|
|
32
|
+
for (const [stepIndex, step] of action.logic.entries()) {
|
|
33
|
+
if (step.kind === "createObject") {
|
|
34
|
+
const type = objectType(options.ir, step.value.objectType);
|
|
35
|
+
let object = {};
|
|
36
|
+
for (const change of await propertyChanges({
|
|
37
|
+
...options,
|
|
38
|
+
assignments: step.value.values
|
|
39
|
+
})) object = setAtPath(object, change.path, change.value);
|
|
40
|
+
decorateObjectAttachmentSources({
|
|
41
|
+
ir: options.ir,
|
|
42
|
+
objectType: type,
|
|
43
|
+
object
|
|
44
|
+
});
|
|
45
|
+
if (object[type.primaryKey] === void 0) {
|
|
46
|
+
const primaryKey = type.properties.find((property) => property.name === type.primaryKey);
|
|
47
|
+
if (!options.idempotencyKey || !primaryKey || unwrapValueType(options.ir, primaryKey.type).kind !== "string") continue;
|
|
48
|
+
object[type.primaryKey] = `optimistic:${options.idempotencyKey}:${type.name}:${stepIndex}`;
|
|
49
|
+
}
|
|
50
|
+
await options.tx.mutate[type.name].create(object);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const type = getObjectReferenceObjectType(options.ir, options.actionTypeName, step.value.object);
|
|
54
|
+
const key = options.parameters[step.value.object.name];
|
|
55
|
+
if (step.kind === "updateObject") await options.tx.mutate[type.name].update(key, await propertyChanges({
|
|
56
|
+
...options,
|
|
57
|
+
assignments: step.value.values
|
|
58
|
+
}));
|
|
59
|
+
else await options.tx.mutate[type.name].delete(key);
|
|
60
|
+
}
|
|
81
61
|
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { applyActionLogicToMutatorTx };
|
|
64
|
+
|
|
82
65
|
//# sourceMappingURL=OntologyEdits.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OntologyEdits.js","
|
|
1
|
+
{"version":3,"file":"OntologyEdits.js","names":[],"sources":["../../../src/live/mutators/OntologyEdits.ts"],"sourcesContent":["import { setAtPath } from \"../../utils/paths.js\";\nimport { unwrapValueType } from \"../../utils/types.js\";\nimport { decorateObjectAttachmentSources } from \"../attachments/attachmentSources.js\";\nimport { evaluateExpression, getObjectReferenceObjectType } from \"../expression.js\";\nimport type { ObjectTypeDef, OntologyIR, PropertyAssignment } from \"../../ir/index.js\";\nimport type {\n OntologyMutatorObjects,\n OntologyMutatorTx,\n OntologyPropertyChange,\n OntologyReadTx,\n} from \"./types.js\";\n\nfunction objectType(ir: OntologyIR, name: string): ObjectTypeDef {\n const type = ir.objectTypes.find((candidate) => candidate.name === name);\n if (!type) throw new Error(`Unknown object type \"${name}\".`);\n return type;\n}\n\nasync function propertyChanges(options: {\n ir: OntologyIR;\n actionTypeName: string;\n assignments: PropertyAssignment[];\n parameters: Record<string, unknown>;\n context: Record<string, unknown>;\n tx: OntologyReadTx;\n}): Promise<OntologyPropertyChange[]> {\n const changes: OntologyPropertyChange[] = [];\n for (const assignment of options.assignments) {\n const value = await evaluateExpression({\n ir: options.ir,\n actionTypeName: options.actionTypeName,\n expression: assignment.value,\n resolveParameter: (name) => Promise.resolve(options.parameters[name]),\n context: options.context,\n tx: options.tx,\n });\n if (value !== undefined) {\n changes.push({\n path: assignment.property,\n value,\n });\n }\n }\n return changes;\n}\n\nexport async function applyActionLogicToMutatorTx(options: {\n ir: OntologyIR;\n actionTypeName: string;\n parameters: Record<string, unknown>;\n context: Record<string, unknown>;\n idempotencyKey?: string;\n objects: OntologyMutatorObjects;\n tx: OntologyMutatorTx;\n}): Promise<void> {\n const action = options.ir.actionTypes.find((candidate) => candidate.name === options.actionTypeName);\n if (!action) {\n throw new Error(`Unknown action \"${options.actionTypeName}\".`);\n }\n\n for (const [stepIndex, step] of action.logic.entries()) {\n if (step.kind === \"createObject\") {\n const type = objectType(options.ir, step.value.objectType);\n let object: Record<string, unknown> = {};\n for (const change of await propertyChanges({\n ...options,\n assignments: step.value.values,\n })) {\n object = setAtPath(object, change.path, change.value);\n }\n decorateObjectAttachmentSources({\n ir: options.ir,\n objectType: type,\n object,\n });\n if (object[type.primaryKey] === undefined) {\n const primaryKey = type.properties.find((property) => property.name === type.primaryKey);\n if (\n !options.idempotencyKey ||\n !primaryKey ||\n unwrapValueType(options.ir, primaryKey.type).kind !== \"string\"\n ) {\n continue;\n }\n // Temporary view key for backend-assigned IDs. This is stable\n // across outbox projection replay, but it cannot support\n // dependent edits until local-to-remote view-key mapping exists.\n object[type.primaryKey] = `optimistic:${options.idempotencyKey}:${type.name}:${stepIndex}`;\n }\n await options.tx.mutate[type.name]!.create(object);\n continue;\n }\n\n const type = getObjectReferenceObjectType(options.ir, options.actionTypeName, step.value.object);\n const key = options.parameters[step.value.object.name] as string | number;\n if (step.kind === \"updateObject\") {\n await options.tx.mutate[type.name]!.update(\n key,\n await propertyChanges({\n ...options,\n assignments: step.value.values,\n })\n );\n } else {\n await options.tx.mutate[type.name]!.delete(key);\n }\n }\n}\n"],"mappings":";;;;;AAYA,SAAS,WAAW,IAAgB,MAA6B;CAC7D,MAAM,OAAO,GAAG,YAAY,MAAM,cAAc,UAAU,SAAS,IAAI;CACvE,IAAI,CAAC,MAAM,MAAM,IAAI,MAAM,wBAAwB,KAAK,GAAG;CAC3D,OAAO;AACX;AAEA,eAAe,gBAAgB,SAOO;CAClC,MAAM,UAAoC,CAAC;CAC3C,KAAK,MAAM,cAAc,QAAQ,aAAa;EAC1C,MAAM,QAAQ,MAAM,mBAAmB;GACnC,IAAI,QAAQ;GACZ,gBAAgB,QAAQ;GACxB,YAAY,WAAW;GACvB,mBAAmB,SAAS,QAAQ,QAAQ,QAAQ,WAAW,KAAK;GACpE,SAAS,QAAQ;GACjB,IAAI,QAAQ;EAChB,CAAC;EACD,IAAI,UAAU,KAAA,GACV,QAAQ,KAAK;GACT,MAAM,WAAW;GACjB;EACJ,CAAC;CAET;CACA,OAAO;AACX;AAEA,eAAsB,4BAA4B,SAQhC;CACd,MAAM,SAAS,QAAQ,GAAG,YAAY,MAAM,cAAc,UAAU,SAAS,QAAQ,cAAc;CACnG,IAAI,CAAC,QACD,MAAM,IAAI,MAAM,mBAAmB,QAAQ,eAAe,GAAG;CAGjE,KAAK,MAAM,CAAC,WAAW,SAAS,OAAO,MAAM,QAAQ,GAAG;EACpD,IAAI,KAAK,SAAS,gBAAgB;GAC9B,MAAM,OAAO,WAAW,QAAQ,IAAI,KAAK,MAAM,UAAU;GACzD,IAAI,SAAkC,CAAC;GACvC,KAAK,MAAM,UAAU,MAAM,gBAAgB;IACvC,GAAG;IACH,aAAa,KAAK,MAAM;GAC5B,CAAC,GACG,SAAS,UAAU,QAAQ,OAAO,MAAM,OAAO,KAAK;GAExD,gCAAgC;IAC5B,IAAI,QAAQ;IACZ,YAAY;IACZ;GACJ,CAAC;GACD,IAAI,OAAO,KAAK,gBAAgB,KAAA,GAAW;IACvC,MAAM,aAAa,KAAK,WAAW,MAAM,aAAa,SAAS,SAAS,KAAK,UAAU;IACvF,IACI,CAAC,QAAQ,kBACT,CAAC,cACD,gBAAgB,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,UAEtD;IAKJ,OAAO,KAAK,cAAc,cAAc,QAAQ,eAAe,GAAG,KAAK,KAAK,GAAG;GACnF;GACA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAE,OAAO,MAAM;GACjD;EACJ;EAEA,MAAM,OAAO,6BAA6B,QAAQ,IAAI,QAAQ,gBAAgB,KAAK,MAAM,MAAM;EAC/F,MAAM,MAAM,QAAQ,WAAW,KAAK,MAAM,OAAO;EACjD,IAAI,KAAK,SAAS,gBACd,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAE,OAChC,KACA,MAAM,gBAAgB;GAClB,GAAG;GACH,aAAa,KAAK,MAAM;EAC5B,CAAC,CACL;OAEA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAE,OAAO,GAAG;CAEtD;AACJ"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { OntologyMutatorObjects, OntologyMutatorTx, OntologyReadTx } from "./types.js";
|
|
2
|
+
import { Transaction } from "@tanstack/db";
|
|
3
|
+
//#region src/live/mutators/createMutatorTx.d.ts
|
|
3
4
|
export declare function createReadTx(objects: OntologyMutatorObjects): OntologyReadTx;
|
|
4
5
|
export declare function createMutatorTx(options: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
transaction: Transaction;
|
|
7
|
+
objects: OntologyMutatorObjects;
|
|
8
|
+
primaryKeys?: Record<string, string>;
|
|
8
9
|
}): OntologyMutatorTx;
|
|
10
|
+
//#endregion
|
|
9
11
|
//# sourceMappingURL=createMutatorTx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMutatorTx.d.ts","
|
|
1
|
+
{"version":3,"file":"createMutatorTx.d.ts","names":[],"sources":["../../../src/live/mutators/createMutatorTx.ts"],"mappings":";;;wBASgB,aAAa,SAAS,yBAAyB;wBAM/C,gBAAgB;EAC5B,aAAa;EACb,SAAS;EACT,cAAc;IACd"}
|
|
@@ -1,77 +1,61 @@
|
|
|
1
|
-
import { eq, queryOnce } from "@tanstack/db";
|
|
2
1
|
import { setAtPath } from "../../utils/paths.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { eq, queryOnce } from "@tanstack/db";
|
|
3
|
+
//#region src/live/mutators/createMutatorTx.ts
|
|
4
|
+
function createReadTx(objects) {
|
|
5
|
+
return { query: (build) => queryOnce((query) => build(query, objects)) };
|
|
7
6
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
},
|
|
43
|
-
}),
|
|
44
|
-
};
|
|
7
|
+
function createMutatorTx(options) {
|
|
8
|
+
return {
|
|
9
|
+
...createReadTx(options.objects),
|
|
10
|
+
mutate: new Proxy({}, { get: (_target, objectType) => {
|
|
11
|
+
if (typeof objectType !== "string") return;
|
|
12
|
+
const collection = options.objects[objectType];
|
|
13
|
+
if (!collection) throw new Error(`Unknown object type "${objectType}".`);
|
|
14
|
+
return {
|
|
15
|
+
create: (object) => {
|
|
16
|
+
options.transaction.mutate(() => {
|
|
17
|
+
collection.insert(object);
|
|
18
|
+
});
|
|
19
|
+
return Promise.resolve();
|
|
20
|
+
},
|
|
21
|
+
update: async (key, changes) => {
|
|
22
|
+
await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);
|
|
23
|
+
options.transaction.mutate(() => {
|
|
24
|
+
collection.update(key, (draft) => {
|
|
25
|
+
applyChanges(draft, changes);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
delete: async (key) => {
|
|
30
|
+
await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);
|
|
31
|
+
options.transaction.mutate(() => {
|
|
32
|
+
collection.delete(key);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
} })
|
|
37
|
+
};
|
|
45
38
|
}
|
|
46
39
|
async function ensureObjectLoaded(collection, objectType, primaryKeys, key) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return;
|
|
52
|
-
await queryOnce((query) => query
|
|
53
|
-
.from({ object: collection })
|
|
54
|
-
.where(({ object }) => eq(object[primaryKey], key))
|
|
55
|
-
.findOne());
|
|
40
|
+
if (collection.has(key)) return;
|
|
41
|
+
const primaryKey = primaryKeys?.[objectType];
|
|
42
|
+
if (!primaryKey) return;
|
|
43
|
+
await queryOnce((query) => query.from({ object: collection }).where(({ object }) => eq(object[primaryKey], key)).findOne());
|
|
56
44
|
}
|
|
57
45
|
function applyChanges(object, changes) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
for (const property of changedProperties) {
|
|
70
|
-
object[property] = updated[property];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
Object.assign(object, changes);
|
|
75
|
-
}
|
|
46
|
+
if (Array.isArray(changes)) {
|
|
47
|
+
let updated = { ...object };
|
|
48
|
+
const changedProperties = /* @__PURE__ */ new Set();
|
|
49
|
+
for (const change of changes) {
|
|
50
|
+
const [property] = change.path;
|
|
51
|
+
if (property === void 0) throw new Error("Ontology property change paths must not be empty.");
|
|
52
|
+
updated = setAtPath(updated, change.path, change.value);
|
|
53
|
+
changedProperties.add(property);
|
|
54
|
+
}
|
|
55
|
+
for (const property of changedProperties) object[property] = updated[property];
|
|
56
|
+
} else Object.assign(object, changes);
|
|
76
57
|
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { createMutatorTx, createReadTx };
|
|
60
|
+
|
|
77
61
|
//# sourceMappingURL=createMutatorTx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMutatorTx.js","
|
|
1
|
+
{"version":3,"file":"createMutatorTx.js","names":[],"sources":["../../../src/live/mutators/createMutatorTx.ts"],"sourcesContent":["import { eq, queryOnce, type Collection, type Transaction } from \"@tanstack/db\";\nimport { setAtPath } from \"../../utils/paths.js\";\nimport type {\n OntologyMutatorObjects,\n OntologyMutatorTx,\n OntologyPropertyChange,\n OntologyReadTx,\n} from \"./types.js\";\n\nexport function createReadTx(objects: OntologyMutatorObjects): OntologyReadTx {\n return {\n query: (build) => queryOnce((query) => build(query, objects) as never),\n };\n}\n\nexport function createMutatorTx(options: {\n transaction: Transaction;\n objects: OntologyMutatorObjects;\n primaryKeys?: Record<string, string>;\n}): OntologyMutatorTx {\n return {\n ...createReadTx(options.objects),\n mutate: new Proxy(\n {},\n {\n get: (_target, objectType) => {\n if (typeof objectType !== \"string\") {\n return undefined;\n }\n const collection = options.objects[objectType];\n if (!collection) {\n throw new Error(`Unknown object type \"${objectType}\".`);\n }\n return {\n create: (object: Record<string, unknown>) => {\n options.transaction.mutate(() => {\n collection.insert(object);\n });\n return Promise.resolve();\n },\n update: async (\n key: string | number,\n changes: Record<string, unknown> | OntologyPropertyChange[]\n ) => {\n await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);\n options.transaction.mutate(() => {\n collection.update(key, (draft) => {\n applyChanges(draft, changes);\n });\n });\n },\n delete: async (key: string | number) => {\n await ensureObjectLoaded(collection, objectType, options.primaryKeys, key);\n options.transaction.mutate(() => {\n collection.delete(key);\n });\n },\n };\n },\n }\n ),\n };\n}\n\nasync function ensureObjectLoaded(\n collection: Collection<Record<string, unknown>, string | number>,\n objectType: string,\n primaryKeys: Record<string, string> | undefined,\n key: string | number\n): Promise<void> {\n if (collection.has(key)) return;\n const primaryKey = primaryKeys?.[objectType];\n if (!primaryKey) return;\n\n await queryOnce((query) =>\n query\n .from({ object: collection })\n .where(({ object }) => eq(object[primaryKey], key))\n .findOne()\n );\n}\n\nfunction applyChanges(\n object: Record<string, unknown>,\n changes: Record<string, unknown> | OntologyPropertyChange[]\n): void {\n if (Array.isArray(changes)) {\n let updated = { ...object };\n const changedProperties = new Set<string>();\n for (const change of changes) {\n const [property] = change.path;\n if (property === undefined) {\n throw new Error(\"Ontology property change paths must not be empty.\");\n }\n updated = setAtPath(updated, change.path, change.value);\n changedProperties.add(property);\n }\n for (const property of changedProperties) {\n object[property] = updated[property];\n }\n } else {\n Object.assign(object, changes);\n }\n}\n"],"mappings":";;;AASA,SAAgB,aAAa,SAAiD;CAC1E,OAAO,EACH,QAAQ,UAAU,WAAW,UAAU,MAAM,OAAO,OAAO,CAAU,EACzE;AACJ;AAEA,SAAgB,gBAAgB,SAIV;CAClB,OAAO;EACH,GAAG,aAAa,QAAQ,OAAO;EAC/B,QAAQ,IAAI,MACR,CAAC,GACD,EACI,MAAM,SAAS,eAAe;GAC1B,IAAI,OAAO,eAAe,UACtB;GAEJ,MAAM,aAAa,QAAQ,QAAQ;GACnC,IAAI,CAAC,YACD,MAAM,IAAI,MAAM,wBAAwB,WAAW,GAAG;GAE1D,OAAO;IACH,SAAS,WAAoC;KACzC,QAAQ,YAAY,aAAa;MAC7B,WAAW,OAAO,MAAM;KAC5B,CAAC;KACD,OAAO,QAAQ,QAAQ;IAC3B;IACA,QAAQ,OACJ,KACA,YACC;KACD,MAAM,mBAAmB,YAAY,YAAY,QAAQ,aAAa,GAAG;KACzE,QAAQ,YAAY,aAAa;MAC7B,WAAW,OAAO,MAAM,UAAU;OAC9B,aAAa,OAAO,OAAO;MAC/B,CAAC;KACL,CAAC;IACL;IACA,QAAQ,OAAO,QAAyB;KACpC,MAAM,mBAAmB,YAAY,YAAY,QAAQ,aAAa,GAAG;KACzE,QAAQ,YAAY,aAAa;MAC7B,WAAW,OAAO,GAAG;KACzB,CAAC;IACL;GACJ;EACJ,EACJ,CACJ;CACJ;AACJ;AAEA,eAAe,mBACX,YACA,YACA,aACA,KACa;CACb,IAAI,WAAW,IAAI,GAAG,GAAG;CACzB,MAAM,aAAa,cAAc;CACjC,IAAI,CAAC,YAAY;CAEjB,MAAM,WAAW,UACb,MACK,KAAK,EAAE,QAAQ,WAAW,CAAC,CAAC,CAC5B,OAAO,EAAE,aAAa,GAAG,OAAO,aAAa,GAAG,CAAC,CAAC,CAClD,QAAQ,CACjB;AACJ;AAEA,SAAS,aACL,QACA,SACI;CACJ,IAAI,MAAM,QAAQ,OAAO,GAAG;EACxB,IAAI,UAAU,EAAE,GAAG,OAAO;EAC1B,MAAM,oCAAoB,IAAI,IAAY;EAC1C,KAAK,MAAM,UAAU,SAAS;GAC1B,MAAM,CAAC,YAAY,OAAO;GAC1B,IAAI,aAAa,KAAA,GACb,MAAM,IAAI,MAAM,mDAAmD;GAEvE,UAAU,UAAU,SAAS,OAAO,MAAM,OAAO,KAAK;GACtD,kBAAkB,IAAI,QAAQ;EAClC;EACA,KAAK,MAAM,YAAY,mBACnB,OAAO,YAAY,QAAQ;CAEnC,OACI,OAAO,OAAO,QAAQ,OAAO;AAErC"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import { OntologyIR } from "../../ir/generated/types.js";
|
|
2
|
+
import "../../ir/index.js";
|
|
3
|
+
import { OntologyObject } from "../objects/OntologyObject.js";
|
|
4
|
+
import { OntologyCollection } from "../objects/createLiveOntologyObjectCollection.js";
|
|
5
|
+
import { OntologyMutatorRegistry } from "./types.js";
|
|
6
|
+
import { Transaction } from "@tanstack/db";
|
|
7
|
+
//#region src/live/mutators/runOptimisticAction.d.ts
|
|
6
8
|
export declare function runOptimisticAction(options: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
transaction: Transaction;
|
|
10
|
+
ir: OntologyIR;
|
|
11
|
+
actionTypeName: string;
|
|
12
|
+
parameters: Record<string, unknown>;
|
|
13
|
+
context: Record<string, unknown>;
|
|
14
|
+
idempotencyKey: string;
|
|
15
|
+
objects: Record<string, OntologyCollection<OntologyObject>>;
|
|
16
|
+
mutators?: OntologyMutatorRegistry;
|
|
15
17
|
}): Promise<void>;
|
|
18
|
+
//#endregion
|
|
16
19
|
//# sourceMappingURL=runOptimisticAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runOptimisticAction.d.ts","
|
|
1
|
+
{"version":3,"file":"runOptimisticAction.d.ts","names":[],"sources":["../../../src/live/mutators/runOptimisticAction.ts"],"mappings":";;;;;;;wBAQsB,oBAAoB;EACtC,aAAa;EACb,IAAI;EACJ;EACA,YAAY;EACZ,SAAS;EACT;EACA,SAAS,eAAe,mBAAmB;EAC3C,WAAW;IACX"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { createMutatorTx } from "./createMutatorTx.js";
|
|
2
2
|
import { applyActionLogicToMutatorTx } from "./OntologyEdits.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
args: options.parameters,
|
|
27
|
-
context: options.context,
|
|
28
|
-
});
|
|
3
|
+
//#region src/live/mutators/runOptimisticAction.ts
|
|
4
|
+
async function runOptimisticAction(options) {
|
|
5
|
+
const tx = createMutatorTx({
|
|
6
|
+
transaction: options.transaction,
|
|
7
|
+
objects: options.objects,
|
|
8
|
+
primaryKeys: Object.fromEntries(options.ir.objectTypes.map((objectType) => [objectType.name, objectType.primaryKey]))
|
|
9
|
+
});
|
|
10
|
+
await applyActionLogicToMutatorTx({
|
|
11
|
+
ir: options.ir,
|
|
12
|
+
actionTypeName: options.actionTypeName,
|
|
13
|
+
parameters: options.parameters,
|
|
14
|
+
context: options.context,
|
|
15
|
+
idempotencyKey: options.idempotencyKey,
|
|
16
|
+
objects: options.objects,
|
|
17
|
+
tx
|
|
18
|
+
});
|
|
19
|
+
const mutator = options.mutators?.[options.actionTypeName];
|
|
20
|
+
if (!mutator) return;
|
|
21
|
+
await mutator({
|
|
22
|
+
tx,
|
|
23
|
+
args: options.parameters,
|
|
24
|
+
context: options.context
|
|
25
|
+
});
|
|
29
26
|
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { runOptimisticAction };
|
|
29
|
+
|
|
30
30
|
//# sourceMappingURL=runOptimisticAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runOptimisticAction.js","
|
|
1
|
+
{"version":3,"file":"runOptimisticAction.js","names":[],"sources":["../../../src/live/mutators/runOptimisticAction.ts"],"sourcesContent":["import { createMutatorTx } from \"./createMutatorTx.js\";\nimport { applyActionLogicToMutatorTx } from \"./OntologyEdits.js\";\nimport type { OntologyIR } from \"../../ir/index.js\";\nimport type { OntologyCollection } from \"../objects/createLiveOntologyObjectCollection.js\";\nimport type { OntologyObject } from \"../objects/OntologyObject.js\";\nimport type { OntologyMutatorRegistry } from \"./types.js\";\nimport type { Transaction } from \"@tanstack/db\";\n\nexport async function runOptimisticAction(options: {\n transaction: Transaction;\n ir: OntologyIR;\n actionTypeName: string;\n parameters: Record<string, unknown>;\n context: Record<string, unknown>;\n idempotencyKey: string;\n objects: Record<string, OntologyCollection<OntologyObject>>;\n mutators?: OntologyMutatorRegistry;\n}): Promise<void> {\n const tx = createMutatorTx({\n transaction: options.transaction,\n objects: options.objects,\n primaryKeys: Object.fromEntries(\n options.ir.objectTypes.map((objectType) => [objectType.name, objectType.primaryKey])\n ),\n });\n await applyActionLogicToMutatorTx({\n ir: options.ir,\n actionTypeName: options.actionTypeName,\n parameters: options.parameters,\n context: options.context,\n idempotencyKey: options.idempotencyKey,\n objects: options.objects,\n tx,\n });\n\n const mutator = options.mutators?.[options.actionTypeName];\n if (!mutator) return;\n\n await mutator({\n tx,\n args: options.parameters,\n context: options.context,\n });\n}\n"],"mappings":";;;AAQA,eAAsB,oBAAoB,SASxB;CACd,MAAM,KAAK,gBAAgB;EACvB,aAAa,QAAQ;EACrB,SAAS,QAAQ;EACjB,aAAa,OAAO,YAChB,QAAQ,GAAG,YAAY,KAAK,eAAe,CAAC,WAAW,MAAM,WAAW,UAAU,CAAC,CACvF;CACJ,CAAC;CACD,MAAM,4BAA4B;EAC9B,IAAI,QAAQ;EACZ,gBAAgB,QAAQ;EACxB,YAAY,QAAQ;EACpB,SAAS,QAAQ;EACjB,gBAAgB,QAAQ;EACxB,SAAS,QAAQ;EACjB;CACJ,CAAC;CAED,MAAM,UAAU,QAAQ,WAAW,QAAQ;CAC3C,IAAI,CAAC,SAAS;CAEd,MAAM,QAAQ;EACV;EACA,MAAM,QAAQ;EACd,SAAS,QAAQ;CACrB,CAAC;AACL"}
|
|
@@ -1,30 +1,32 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { OntologyObject } from "../objects/OntologyObject.js";
|
|
2
|
+
import { Collection, InitialQueryBuilder } from "@tanstack/db";
|
|
3
|
+
//#region src/live/mutators/types.d.ts
|
|
3
4
|
export interface OntologyPropertyChange {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
path: string[];
|
|
6
|
+
value: unknown;
|
|
6
7
|
}
|
|
7
8
|
export type OntologyMutatorObjects = Record<string, Collection<OntologyObject>>;
|
|
8
9
|
export interface OntologyReadTx {
|
|
9
|
-
|
|
10
|
+
query<T>(build: (query: InitialQueryBuilder, objects: OntologyMutatorObjects) => unknown): Promise<T>;
|
|
10
11
|
}
|
|
11
12
|
export interface OntologyMutatorTx extends OntologyReadTx {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
mutate: Record<string, {
|
|
14
|
+
create(object: Record<string, unknown>): Promise<void>;
|
|
15
|
+
update(key: string | number, changes: Record<string, unknown> | OntologyPropertyChange[]): Promise<void>;
|
|
16
|
+
delete(key: string | number): Promise<void>;
|
|
17
|
+
}>;
|
|
17
18
|
}
|
|
18
19
|
export type OntologyMutator = (options: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
tx: OntologyMutatorTx;
|
|
21
|
+
args: Record<string, unknown>;
|
|
22
|
+
context: Record<string, unknown>;
|
|
22
23
|
}) => void | Promise<void>;
|
|
23
24
|
export type OntologyMutatorRegistry = Record<string, OntologyMutator>;
|
|
24
25
|
export type OntologyQueryFunctionHandler = (options: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
tx: OntologyReadTx;
|
|
27
|
+
args: Record<string, unknown>;
|
|
28
|
+
context: Record<string, unknown>;
|
|
28
29
|
}) => unknown;
|
|
29
30
|
export type OntologyQueryFunctionRegistry = Record<string, OntologyQueryFunctionHandler>;
|
|
31
|
+
//#endregion
|
|
30
32
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/live/mutators/types.ts"],"mappings":";;;iBAGiB;EACb;EACA;;YAGQ,yBAAyB,eAAe,WAAW;iBAE9C;EACb,MAAM,GAAG,QAAQ,OAAO,qBAAqB,SAAS,qCAAqC,QAAQ;;iBAGtF,0BAA0B;EACvC,QAAQ;IAGA,OAAO,QAAQ,0BAA0B;IACzC,OACI,sBACA,SAAS,0BAA0B,2BACpC;IACH,OAAO,uBAAuB;;;YAK9B,mBAAmB;EAC3B,IAAI;EACJ,MAAM;EACN,SAAS;aACA;YAED,0BAA0B,eAAe;YAEzC,gCAAgC;EACxC,IAAI;EACJ,MAAM;EACN,SAAS;;YAGD,gCAAgC,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OntologyObject.d.ts","
|
|
1
|
+
{"version":3,"file":"OntologyObject.d.ts","names":[],"sources":["../../../src/live/objects/OntologyObject.ts"],"mappings":";YAAY,iBAAiB"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import { OntologyIR } from "../../ir/generated/types.js";
|
|
2
|
+
import "../../ir/index.js";
|
|
3
|
+
import { OntologyBackendAdapter, OntologyCollectionUtils } from "../OntologyBackendAdapter.js";
|
|
4
|
+
import { OntologyObject } from "./OntologyObject.js";
|
|
5
|
+
import { RuntimeAdapter } from "@party-stack/runtime";
|
|
6
|
+
import { Collection } from "@tanstack/db";
|
|
7
|
+
//#region src/live/objects/createLiveOntologyObjectCollection.d.ts
|
|
8
|
+
export type OntologyCollection<T extends OntologyObject> = Collection<T, string | number, OntologyCollectionUtils>;
|
|
7
9
|
export declare function createLiveOntologyObjectCollection(opts: {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
ir: OntologyIR;
|
|
11
|
+
objectType: OntologyIR["objectTypes"][number];
|
|
12
|
+
backendAdapter: OntologyBackendAdapter;
|
|
13
|
+
runtime: RuntimeAdapter;
|
|
14
|
+
persistObjects: boolean;
|
|
13
15
|
}): OntologyCollection<OntologyObject>;
|
|
16
|
+
//#endregion
|
|
14
17
|
//# sourceMappingURL=createLiveOntologyObjectCollection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLiveOntologyObjectCollection.d.ts","
|
|
1
|
+
{"version":3,"file":"createLiveOntologyObjectCollection.d.ts","names":[],"sources":["../../../src/live/objects/createLiveOntologyObjectCollection.ts"],"mappings":";;;;;;;YASY,mBAAmB,UAAU,kBAAkB,WACvD,oBAEA;wBAkCY,mCAAmC;EAC/C,IAAI;EACJ,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT;IACA,mBAAmB"}
|