joist-core 2.3.0-next.96 → 2.3.0-next.98
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/build/EntityManager.cjs +55 -59
- package/build/EntityManager.cjs.map +1 -1
- package/build/EntityManager.d.cts +11 -11
- package/build/EntityManager.d.mts +11 -11
- package/build/EntityManager.js +30 -34
- package/build/EntityManager.js.map +1 -1
- package/build/EntityMetadata.cjs +2 -4
- package/build/EntityMetadata.cjs.map +1 -1
- package/build/EntityMetadata.d.cts +3 -3
- package/build/EntityMetadata.d.mts +3 -3
- package/build/EntityMetadata.js +2 -4
- package/build/EntityMetadata.js.map +1 -1
- package/build/IndexManager.cjs +1 -1
- package/build/IndexManager.js +1 -1
- package/build/InstanceData.cjs +1 -1
- package/build/InstanceData.js +1 -1
- package/build/PluginManager.cjs +0 -2
- package/build/PluginManager.cjs.map +1 -1
- package/build/PluginManager.d.cts +2 -2
- package/build/PluginManager.d.mts +2 -2
- package/build/PluginManager.js +0 -2
- package/build/PluginManager.js.map +1 -1
- package/build/batchloaders/enumCollectionBatchLoader.d.cts +1 -1
- package/build/batchloaders/enumCollectionBatchLoader.d.mts +1 -1
- package/build/batchloaders/loadBatchLoader.cjs +7 -7
- package/build/batchloaders/loadBatchLoader.cjs.map +1 -1
- package/build/batchloaders/loadBatchLoader.d.cts +1 -1
- package/build/batchloaders/loadBatchLoader.d.cts.map +1 -1
- package/build/batchloaders/loadBatchLoader.d.mts +1 -1
- package/build/batchloaders/loadBatchLoader.d.mts.map +1 -1
- package/build/batchloaders/loadBatchLoader.js +4 -4
- package/build/batchloaders/loadBatchLoader.js.map +1 -1
- package/build/batchloaders/manyToManyBatchLoader.d.cts +1 -1
- package/build/batchloaders/manyToManyBatchLoader.d.mts +1 -1
- package/build/batchloaders/oneToManyBatchLoader.cjs +3 -3
- package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -1
- package/build/batchloaders/oneToManyBatchLoader.js +2 -2
- package/build/batchloaders/oneToOneBatchLoader.cjs +5 -5
- package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -1
- package/build/batchloaders/oneToOneBatchLoader.js +4 -4
- package/build/batchloaders/populateBatchLoader.cjs +15 -16
- package/build/batchloaders/populateBatchLoader.cjs.map +1 -1
- package/build/batchloaders/populateBatchLoader.d.cts +1 -1
- package/build/batchloaders/populateBatchLoader.d.mts +1 -1
- package/build/batchloaders/populateBatchLoader.js +8 -9
- package/build/batchloaders/populateBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.cjs +8 -8
- package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.js +5 -5
- package/build/batchloaders/recursiveM2mBatchLoader.cjs +5 -5
- package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js +2 -2
- package/build/batchloaders/recursiveParentsBatchLoader.cjs +7 -7
- package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.js +4 -4
- package/build/changes.cjs +3 -4
- package/build/changes.cjs.map +1 -1
- package/build/changes.js +3 -4
- package/build/changes.js.map +1 -1
- package/build/config.cjs +6 -6
- package/build/config.cjs.map +1 -1
- package/build/config.d.cts +2 -2
- package/build/config.d.mts +2 -2
- package/build/config.js +4 -4
- package/build/config.js.map +1 -1
- package/build/configure.cjs +13 -13
- package/build/configure.cjs.map +1 -1
- package/build/configure.js +8 -8
- package/build/configure.js.map +1 -1
- package/build/dataloaders/fastWhereFilterHash.cjs +9 -9
- package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -1
- package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -1
- package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -1
- package/build/dataloaders/fastWhereFilterHash.js +3 -3
- package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
- package/build/dataloaders/findByUniqueDataLoader.cjs +5 -6
- package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -1
- package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -1
- package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -1
- package/build/dataloaders/findByUniqueDataLoader.js +3 -4
- package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
- package/build/dataloaders/findCountDataLoader.cjs +12 -15
- package/build/dataloaders/findCountDataLoader.cjs.map +1 -1
- package/build/dataloaders/findCountDataLoader.d.cts +2 -2
- package/build/dataloaders/findCountDataLoader.d.mts +2 -2
- package/build/dataloaders/findCountDataLoader.js +5 -8
- package/build/dataloaders/findCountDataLoader.js.map +1 -1
- package/build/dataloaders/findDataLoader.cjs +21 -25
- package/build/dataloaders/findDataLoader.cjs.map +1 -1
- package/build/dataloaders/findDataLoader.d.cts +3 -3
- package/build/dataloaders/findDataLoader.d.cts.map +1 -1
- package/build/dataloaders/findDataLoader.d.mts +3 -3
- package/build/dataloaders/findDataLoader.d.mts.map +1 -1
- package/build/dataloaders/findDataLoader.js +8 -12
- package/build/dataloaders/findDataLoader.js.map +1 -1
- package/build/dataloaders/findIdsDataLoader.cjs +8 -11
- package/build/dataloaders/findIdsDataLoader.cjs.map +1 -1
- package/build/dataloaders/findIdsDataLoader.d.cts +1 -1
- package/build/dataloaders/findIdsDataLoader.d.mts +1 -1
- package/build/dataloaders/findIdsDataLoader.js +4 -7
- package/build/dataloaders/findIdsDataLoader.js.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.cjs +1 -2
- package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.js +1 -2
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.cjs +8 -11
- package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.d.cts +2 -2
- package/build/dataloaders/findPaginatedDataLoader.d.mts +2 -2
- package/build/dataloaders/findPaginatedDataLoader.js +4 -7
- package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
- package/build/dataloaders/lensDataLoader.cjs +6 -6
- package/build/dataloaders/lensDataLoader.cjs.map +1 -1
- package/build/dataloaders/lensDataLoader.js +3 -3
- package/build/dataloaders/lensDataLoader.js.map +1 -1
- package/build/dataloaders/manyToManyFindDataLoader.cjs +0 -3
- package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -1
- package/build/dataloaders/manyToManyFindDataLoader.d.cts +0 -1
- package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -1
- package/build/dataloaders/manyToManyFindDataLoader.d.mts +0 -1
- package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -1
- package/build/dataloaders/manyToManyFindDataLoader.js +0 -3
- package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
- package/build/dataloaders/oneToManyFindDataLoader.cjs +2 -5
- package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -1
- package/build/dataloaders/oneToManyFindDataLoader.d.cts +0 -1
- package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -1
- package/build/dataloaders/oneToManyFindDataLoader.d.mts +0 -1
- package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -1
- package/build/dataloaders/oneToManyFindDataLoader.js +1 -4
- package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
- package/build/defaults.cjs +6 -6
- package/build/defaults.cjs.map +1 -1
- package/build/defaults.d.cts +1 -1
- package/build/defaults.d.mts +1 -1
- package/build/defaults.js +5 -5
- package/build/defaults.js.map +1 -1
- package/build/drivers/Driver.cjs +0 -2
- package/build/drivers/Driver.d.cts +2 -2
- package/build/drivers/Driver.d.mts +2 -2
- package/build/drivers/Driver.js +0 -2
- package/build/drivers/EntityWriter.cjs +7 -8
- package/build/drivers/EntityWriter.cjs.map +1 -1
- package/build/drivers/EntityWriter.d.cts +1 -1
- package/build/drivers/EntityWriter.d.mts +1 -1
- package/build/drivers/EntityWriter.js +3 -4
- package/build/drivers/EntityWriter.js.map +1 -1
- package/build/drivers/IdAssigner.cjs +0 -1
- package/build/drivers/IdAssigner.cjs.map +1 -1
- package/build/drivers/IdAssigner.d.cts +1 -1
- package/build/drivers/IdAssigner.d.mts +1 -1
- package/build/drivers/IdAssigner.js +0 -1
- package/build/drivers/IdAssigner.js.map +1 -1
- package/build/drivers/driverApi.cjs +19 -0
- package/build/drivers/driverApi.cjs.map +1 -0
- package/build/drivers/driverApi.d.cts +22 -0
- package/build/drivers/driverApi.d.cts.map +1 -0
- package/build/drivers/driverApi.d.mts +22 -0
- package/build/drivers/driverApi.d.mts.map +1 -0
- package/build/drivers/driverApi.js +18 -0
- package/build/drivers/driverApi.js.map +1 -0
- package/build/drivers/index.cjs +0 -6
- package/build/drivers/index.d.cts +1 -3
- package/build/drivers/index.d.mts +1 -3
- package/build/drivers/index.js +1 -3
- package/build/fields.cjs +3 -3
- package/build/fields.cjs.map +1 -1
- package/build/fields.js +2 -2
- package/build/fields.js.map +1 -1
- package/build/flush/FlushLock.cjs +51 -0
- package/build/flush/FlushLock.cjs.map +1 -0
- package/build/flush/FlushLock.d.cts +29 -0
- package/build/flush/FlushLock.d.cts.map +1 -0
- package/build/flush/FlushLock.d.mts +29 -0
- package/build/flush/FlushLock.d.mts.map +1 -0
- package/build/flush/FlushLock.js +51 -0
- package/build/flush/FlushLock.js.map +1 -0
- package/build/flush/JoinRows.cjs +263 -0
- package/build/flush/JoinRows.cjs.map +1 -0
- package/build/flush/JoinRows.d.cts +120 -0
- package/build/flush/JoinRows.d.cts.map +1 -0
- package/build/flush/JoinRows.d.mts +120 -0
- package/build/flush/JoinRows.d.mts.map +1 -0
- package/build/flush/JoinRows.js +261 -0
- package/build/flush/JoinRows.js.map +1 -0
- package/build/flush/PendingChanges.d.cts +29 -0
- package/build/flush/PendingChanges.d.cts.map +1 -0
- package/build/flush/PendingChanges.d.mts +29 -0
- package/build/flush/PendingChanges.d.mts.map +1 -0
- package/build/flush/Todo.cjs +71 -0
- package/build/flush/Todo.cjs.map +1 -0
- package/build/flush/Todo.d.cts +38 -0
- package/build/flush/Todo.d.cts.map +1 -0
- package/build/flush/Todo.d.mts +38 -0
- package/build/flush/Todo.d.mts.map +1 -0
- package/build/flush/Todo.js +67 -0
- package/build/flush/Todo.js.map +1 -0
- package/build/getProperties.cjs +1 -1
- package/build/getProperties.js +1 -1
- package/build/index.cjs +168 -166
- package/build/index.cjs.map +1 -1
- package/build/index.d.cts +42 -39
- package/build/index.d.cts.map +1 -1
- package/build/index.d.mts +42 -39
- package/build/index.d.mts.map +1 -1
- package/build/index.js +52 -50
- package/build/index.js.map +1 -1
- package/build/json.cjs +4 -4
- package/build/json.cjs.map +1 -1
- package/build/json.js +3 -3
- package/build/json.js.map +1 -1
- package/build/keys.cjs +1 -1
- package/build/keys.js +1 -1
- package/build/loading/HintTree.cjs +67 -0
- package/build/loading/HintTree.cjs.map +1 -0
- package/build/loading/HintTree.d.cts +45 -0
- package/build/loading/HintTree.d.cts.map +1 -0
- package/build/loading/HintTree.d.mts +45 -0
- package/build/loading/HintTree.d.mts.map +1 -0
- package/build/loading/HintTree.js +66 -0
- package/build/loading/HintTree.js.map +1 -0
- package/build/loading/IsLoadedCache.cjs +58 -0
- package/build/loading/IsLoadedCache.cjs.map +1 -0
- package/build/loading/IsLoadedCache.d.cts +35 -0
- package/build/loading/IsLoadedCache.d.cts.map +1 -0
- package/build/loading/IsLoadedCache.d.mts +35 -0
- package/build/loading/IsLoadedCache.d.mts.map +1 -0
- package/build/loading/IsLoadedCache.js +57 -0
- package/build/loading/IsLoadedCache.js.map +1 -0
- package/build/loading/loadHints.cjs +95 -0
- package/build/loading/loadHints.cjs.map +1 -0
- package/build/loading/loadHints.d.cts +116 -0
- package/build/loading/loadHints.d.cts.map +1 -0
- package/build/loading/loadHints.d.mts +116 -0
- package/build/loading/loadHints.d.mts.map +1 -0
- package/build/loading/loadHints.js +88 -0
- package/build/loading/loadHints.js.map +1 -0
- package/build/loading/loadLens.cjs +212 -0
- package/build/loading/loadLens.cjs.map +1 -0
- package/build/loading/loadLens.d.cts +77 -0
- package/build/loading/loadLens.d.cts.map +1 -0
- package/build/loading/loadLens.d.mts +77 -0
- package/build/loading/loadLens.d.mts.map +1 -0
- package/build/loading/loadLens.js +201 -0
- package/build/loading/loadLens.js.map +1 -0
- package/build/loading/withLoaded.cjs +64 -0
- package/build/loading/withLoaded.cjs.map +1 -0
- package/build/loading/withLoaded.d.cts +65 -0
- package/build/loading/withLoaded.d.cts.map +1 -0
- package/build/loading/withLoaded.d.mts +65 -0
- package/build/loading/withLoaded.d.mts.map +1 -0
- package/build/loading/withLoaded.js +61 -0
- package/build/loading/withLoaded.js.map +1 -0
- package/build/logging/FactoryLogger.cjs +1 -1
- package/build/logging/FactoryLogger.js +1 -1
- package/build/logging/FieldLogger.cjs +1 -1
- package/build/logging/FieldLogger.js +1 -1
- package/build/logging/ReactionLogger.cjs +1 -3
- package/build/logging/ReactionLogger.cjs.map +1 -1
- package/build/logging/ReactionLogger.d.cts +2 -2
- package/build/logging/ReactionLogger.d.mts +2 -2
- package/build/logging/ReactionLogger.js +1 -3
- package/build/logging/ReactionLogger.js.map +1 -1
- package/build/newEntity.cjs +1 -1
- package/build/newEntity.js +1 -1
- package/build/newTestInstance.cjs +4 -4
- package/build/newTestInstance.cjs.map +1 -1
- package/build/newTestInstance.d.cts +1 -1
- package/build/newTestInstance.d.mts +1 -1
- package/build/newTestInstance.js +3 -3
- package/build/newTestInstance.js.map +1 -1
- package/build/normalizeHints.cjs +0 -2
- package/build/normalizeHints.cjs.map +1 -1
- package/build/normalizeHints.d.cts +2 -2
- package/build/normalizeHints.d.mts +2 -2
- package/build/normalizeHints.js +0 -2
- package/build/normalizeHints.js.map +1 -1
- package/build/nowUTC.cjs +2 -2
- package/build/nowUTC.cjs.map +1 -1
- package/build/nowUTC.d.cts +1 -1
- package/build/nowUTC.d.mts +1 -1
- package/build/nowUTC.js +1 -1
- package/build/nowUTC.js.map +1 -1
- package/build/plugins/PreloadPlugin.cjs +0 -3
- package/build/plugins/PreloadPlugin.d.cts +3 -3
- package/build/plugins/PreloadPlugin.d.mts +3 -3
- package/build/plugins/PreloadPlugin.js +0 -3
- package/build/preloading/JsonAggregatePreloader.cjs +30 -33
- package/build/preloading/JsonAggregatePreloader.cjs.map +1 -1
- package/build/preloading/JsonAggregatePreloader.d.cts +3 -3
- package/build/preloading/JsonAggregatePreloader.d.mts +3 -3
- package/build/preloading/JsonAggregatePreloader.js +5 -8
- package/build/preloading/JsonAggregatePreloader.js.map +1 -1
- package/build/preloading/partitionHint.cjs +2 -3
- package/build/preloading/partitionHint.cjs.map +1 -1
- package/build/preloading/partitionHint.d.cts +1 -1
- package/build/preloading/partitionHint.d.mts +1 -1
- package/build/preloading/partitionHint.js +2 -3
- package/build/preloading/partitionHint.js.map +1 -1
- package/build/queries/ConditionBuilder.cjs +106 -0
- package/build/queries/ConditionBuilder.cjs.map +1 -0
- package/build/queries/ConditionBuilder.d.cts +31 -0
- package/build/queries/ConditionBuilder.d.cts.map +1 -0
- package/build/queries/ConditionBuilder.d.mts +31 -0
- package/build/queries/ConditionBuilder.d.mts.map +1 -0
- package/build/queries/ConditionBuilder.js +105 -0
- package/build/queries/ConditionBuilder.js.map +1 -0
- package/build/queries/conditions.cjs +15 -0
- package/build/queries/conditions.cjs.map +1 -0
- package/build/queries/conditions.d.cts +38 -0
- package/build/queries/conditions.d.cts.map +1 -0
- package/build/queries/conditions.d.mts +38 -0
- package/build/queries/conditions.d.mts.map +1 -0
- package/build/queries/conditions.js +13 -0
- package/build/queries/conditions.js.map +1 -0
- package/build/queries/entityQueryUtils.cjs +60 -0
- package/build/queries/entityQueryUtils.cjs.map +1 -0
- package/build/queries/entityQueryUtils.d.cts +19 -0
- package/build/queries/entityQueryUtils.d.cts.map +1 -0
- package/build/queries/entityQueryUtils.d.mts +19 -0
- package/build/queries/entityQueryUtils.d.mts.map +1 -0
- package/build/queries/entityQueryUtils.js +56 -0
- package/build/queries/entityQueryUtils.js.map +1 -0
- package/build/queries/find/Aliases.cjs +301 -0
- package/build/queries/find/Aliases.cjs.map +1 -0
- package/build/queries/find/Aliases.d.cts +122 -0
- package/build/queries/find/Aliases.d.cts.map +1 -0
- package/build/queries/find/Aliases.d.mts +122 -0
- package/build/queries/find/Aliases.d.mts.map +1 -0
- package/build/queries/find/Aliases.js +293 -0
- package/build/queries/find/Aliases.js.map +1 -0
- package/build/queries/find/DeferredAlias.cjs +25 -0
- package/build/queries/find/DeferredAlias.cjs.map +1 -0
- package/build/queries/find/DeferredAlias.d.cts +22 -0
- package/build/queries/find/DeferredAlias.d.cts.map +1 -0
- package/build/queries/find/DeferredAlias.d.mts +22 -0
- package/build/queries/find/DeferredAlias.d.mts.map +1 -0
- package/build/queries/find/DeferredAlias.js +22 -0
- package/build/queries/find/DeferredAlias.js.map +1 -0
- package/build/queries/find/EntityFilter.cjs +27 -0
- package/build/queries/find/EntityFilter.cjs.map +1 -0
- package/build/queries/find/EntityFilter.d.cts +127 -0
- package/build/queries/find/EntityFilter.d.cts.map +1 -0
- package/build/queries/find/EntityFilter.d.mts +127 -0
- package/build/queries/find/EntityFilter.d.mts.map +1 -0
- package/build/queries/find/EntityFilter.js +26 -0
- package/build/queries/find/EntityFilter.js.map +1 -0
- package/build/queries/find/EntityGraphQLFilter.cjs +52 -0
- package/build/queries/find/EntityGraphQLFilter.cjs.map +1 -0
- package/build/queries/find/EntityGraphQLFilter.d.cts +59 -0
- package/build/queries/find/EntityGraphQLFilter.d.cts.map +1 -0
- package/build/queries/find/EntityGraphQLFilter.d.mts +59 -0
- package/build/queries/find/EntityGraphQLFilter.d.mts.map +1 -0
- package/build/queries/find/EntityGraphQLFilter.js +50 -0
- package/build/queries/find/EntityGraphQLFilter.js.map +1 -0
- package/build/queries/find/QueryParser.cjs +554 -0
- package/build/queries/find/QueryParser.cjs.map +1 -0
- package/build/queries/find/QueryParser.collectionJoins.cjs +353 -0
- package/build/queries/find/QueryParser.collectionJoins.cjs.map +1 -0
- package/build/queries/find/QueryParser.collectionJoins.d.cts +30 -0
- package/build/queries/find/QueryParser.collectionJoins.d.cts.map +1 -0
- package/build/queries/find/QueryParser.collectionJoins.d.mts +30 -0
- package/build/queries/find/QueryParser.collectionJoins.d.mts.map +1 -0
- package/build/queries/find/QueryParser.collectionJoins.js +352 -0
- package/build/queries/find/QueryParser.collectionJoins.js.map +1 -0
- package/build/queries/find/QueryParser.d.cts +192 -0
- package/build/queries/find/QueryParser.d.cts.map +1 -0
- package/build/queries/find/QueryParser.d.mts +192 -0
- package/build/queries/find/QueryParser.d.mts.map +1 -0
- package/build/queries/find/QueryParser.js +547 -0
- package/build/queries/find/QueryParser.js.map +1 -0
- package/build/queries/find/QueryParser.pruning.cjs +115 -0
- package/build/queries/find/QueryParser.pruning.cjs.map +1 -0
- package/build/queries/find/QueryParser.pruning.d.cts +8 -0
- package/build/queries/find/QueryParser.pruning.d.cts.map +1 -0
- package/build/queries/find/QueryParser.pruning.d.mts +8 -0
- package/build/queries/find/QueryParser.pruning.d.mts.map +1 -0
- package/build/queries/find/QueryParser.pruning.js +113 -0
- package/build/queries/find/QueryParser.pruning.js.map +1 -0
- package/build/queries/find/QueryVisitor.cjs +60 -0
- package/build/queries/find/QueryVisitor.cjs.map +1 -0
- package/build/queries/find/QueryVisitor.d.cts +22 -0
- package/build/queries/find/QueryVisitor.d.cts.map +1 -0
- package/build/queries/find/QueryVisitor.d.mts +22 -0
- package/build/queries/find/QueryVisitor.d.mts.map +1 -0
- package/build/queries/find/QueryVisitor.js +58 -0
- package/build/queries/find/QueryVisitor.js.map +1 -0
- package/build/queries/find/buildFindQuery.cjs +112 -0
- package/build/queries/find/buildFindQuery.cjs.map +1 -0
- package/build/queries/find/buildFindQuery.d.cts +24 -0
- package/build/queries/find/buildFindQuery.d.cts.map +1 -0
- package/build/queries/find/buildFindQuery.d.mts +24 -0
- package/build/queries/find/buildFindQuery.d.mts.map +1 -0
- package/build/queries/find/buildFindQuery.js +110 -0
- package/build/queries/find/buildFindQuery.js.map +1 -0
- package/build/queries/find/scopes.cjs +301 -0
- package/build/queries/find/scopes.cjs.map +1 -0
- package/build/queries/find/scopes.d.cts +188 -0
- package/build/queries/find/scopes.d.cts.map +1 -0
- package/build/queries/find/scopes.d.mts +188 -0
- package/build/queries/find/scopes.d.mts.map +1 -0
- package/build/queries/find/scopes.js +296 -0
- package/build/queries/find/scopes.js.map +1 -0
- package/build/queries/parsedConditions.cjs +21 -0
- package/build/queries/parsedConditions.cjs.map +1 -0
- package/build/queries/parsedConditions.d.cts +127 -0
- package/build/queries/parsedConditions.d.cts.map +1 -0
- package/build/queries/parsedConditions.d.mts +127 -0
- package/build/queries/parsedConditions.d.mts.map +1 -0
- package/build/queries/parsedConditions.js +20 -0
- package/build/queries/parsedConditions.js.map +1 -0
- package/build/queries/renderConditions.cjs +66 -0
- package/build/queries/renderConditions.cjs.map +1 -0
- package/build/queries/renderConditions.d.cts +15 -0
- package/build/queries/renderConditions.d.cts.map +1 -0
- package/build/queries/renderConditions.d.mts +15 -0
- package/build/queries/renderConditions.d.mts.map +1 -0
- package/build/queries/renderConditions.js +64 -0
- package/build/queries/renderConditions.js.map +1 -0
- package/build/queries/skipCondition.cjs +14 -0
- package/build/queries/skipCondition.cjs.map +1 -0
- package/build/queries/skipCondition.d.cts +7 -0
- package/build/queries/skipCondition.d.cts.map +1 -0
- package/build/queries/skipCondition.d.mts +7 -0
- package/build/queries/skipCondition.d.mts.map +1 -0
- package/build/queries/skipCondition.js +13 -0
- package/build/queries/skipCondition.js.map +1 -0
- package/build/queries/sql/AliasAssigner.cjs +35 -0
- package/build/queries/sql/AliasAssigner.cjs.map +1 -0
- package/build/queries/sql/AliasAssigner.d.cts +13 -0
- package/build/queries/sql/AliasAssigner.d.cts.map +1 -0
- package/build/queries/sql/AliasAssigner.d.mts +13 -0
- package/build/queries/sql/AliasAssigner.d.mts.map +1 -0
- package/build/queries/sql/AliasAssigner.js +34 -0
- package/build/queries/sql/AliasAssigner.js.map +1 -0
- package/build/queries/sql/Expr.cjs +512 -0
- package/build/queries/sql/Expr.cjs.map +1 -0
- package/build/queries/sql/Expr.d.cts +274 -0
- package/build/queries/sql/Expr.d.cts.map +1 -0
- package/build/queries/sql/Expr.d.mts +274 -0
- package/build/queries/sql/Expr.d.mts.map +1 -0
- package/build/queries/sql/Expr.js +496 -0
- package/build/queries/sql/Expr.js.map +1 -0
- package/build/queries/sql/Tables.cjs +706 -0
- package/build/queries/sql/Tables.cjs.map +1 -0
- package/build/queries/sql/Tables.d.cts +263 -0
- package/build/queries/sql/Tables.d.cts.map +1 -0
- package/build/queries/sql/Tables.d.mts +263 -0
- package/build/queries/sql/Tables.d.mts.map +1 -0
- package/build/queries/sql/Tables.js +695 -0
- package/build/queries/sql/Tables.js.map +1 -0
- package/build/queries/sql/execute.cjs +236 -0
- package/build/queries/sql/execute.cjs.map +1 -0
- package/build/queries/sql/execute.d.cts +195 -0
- package/build/queries/sql/execute.d.cts.map +1 -0
- package/build/queries/sql/execute.d.mts +195 -0
- package/build/queries/sql/execute.d.mts.map +1 -0
- package/build/queries/sql/execute.js +233 -0
- package/build/queries/sql/execute.js.map +1 -0
- package/build/queries/sql/expressions/arrayAgg.cjs +63 -0
- package/build/queries/sql/expressions/arrayAgg.cjs.map +1 -0
- package/build/queries/sql/expressions/arrayAgg.d.cts +24 -0
- package/build/queries/sql/expressions/arrayAgg.d.cts.map +1 -0
- package/build/queries/sql/expressions/arrayAgg.d.mts +24 -0
- package/build/queries/sql/expressions/arrayAgg.d.mts.map +1 -0
- package/build/queries/sql/expressions/arrayAgg.js +61 -0
- package/build/queries/sql/expressions/arrayAgg.js.map +1 -0
- package/build/queries/sql/expressions/case.cjs +71 -0
- package/build/queries/sql/expressions/case.cjs.map +1 -0
- package/build/queries/sql/expressions/case.d.cts +57 -0
- package/build/queries/sql/expressions/case.d.cts.map +1 -0
- package/build/queries/sql/expressions/case.d.mts +57 -0
- package/build/queries/sql/expressions/case.d.mts.map +1 -0
- package/build/queries/sql/expressions/case.js +68 -0
- package/build/queries/sql/expressions/case.js.map +1 -0
- package/build/queries/sql/expressions/coalesce.cjs +25 -0
- package/build/queries/sql/expressions/coalesce.cjs.map +1 -0
- package/build/queries/sql/expressions/coalesce.d.cts +21 -0
- package/build/queries/sql/expressions/coalesce.d.cts.map +1 -0
- package/build/queries/sql/expressions/coalesce.d.mts +21 -0
- package/build/queries/sql/expressions/coalesce.d.mts.map +1 -0
- package/build/queries/sql/expressions/coalesce.js +22 -0
- package/build/queries/sql/expressions/coalesce.js.map +1 -0
- package/build/queries/sql/expressions/codecs.cjs +126 -0
- package/build/queries/sql/expressions/codecs.cjs.map +1 -0
- package/build/queries/sql/expressions/codecs.d.cts +11 -0
- package/build/queries/sql/expressions/codecs.d.cts.map +1 -0
- package/build/queries/sql/expressions/codecs.d.mts +11 -0
- package/build/queries/sql/expressions/codecs.d.mts.map +1 -0
- package/build/queries/sql/expressions/codecs.js +125 -0
- package/build/queries/sql/expressions/codecs.js.map +1 -0
- package/build/queries/sql/expressions/expression.cjs +102 -0
- package/build/queries/sql/expressions/expression.cjs.map +1 -0
- package/build/queries/sql/expressions/expression.d.cts +23 -0
- package/build/queries/sql/expressions/expression.d.cts.map +1 -0
- package/build/queries/sql/expressions/expression.d.mts +23 -0
- package/build/queries/sql/expressions/expression.d.mts.map +1 -0
- package/build/queries/sql/expressions/expression.js +97 -0
- package/build/queries/sql/expressions/expression.js.map +1 -0
- package/build/queries/sql/expressions/greatest.cjs +25 -0
- package/build/queries/sql/expressions/greatest.cjs.map +1 -0
- package/build/queries/sql/expressions/greatest.d.cts +21 -0
- package/build/queries/sql/expressions/greatest.d.cts.map +1 -0
- package/build/queries/sql/expressions/greatest.d.mts +21 -0
- package/build/queries/sql/expressions/greatest.d.mts.map +1 -0
- package/build/queries/sql/expressions/greatest.js +22 -0
- package/build/queries/sql/expressions/greatest.js.map +1 -0
- package/build/queries/sql/expressions/least.cjs +25 -0
- package/build/queries/sql/expressions/least.cjs.map +1 -0
- package/build/queries/sql/expressions/least.d.cts +21 -0
- package/build/queries/sql/expressions/least.d.cts.map +1 -0
- package/build/queries/sql/expressions/least.d.mts +21 -0
- package/build/queries/sql/expressions/least.d.mts.map +1 -0
- package/build/queries/sql/expressions/least.js +22 -0
- package/build/queries/sql/expressions/least.js.map +1 -0
- package/build/queries/sql/expressions/nullIf.cjs +27 -0
- package/build/queries/sql/expressions/nullIf.cjs.map +1 -0
- package/build/queries/sql/expressions/nullIf.d.cts +22 -0
- package/build/queries/sql/expressions/nullIf.d.cts.map +1 -0
- package/build/queries/sql/expressions/nullIf.d.mts +22 -0
- package/build/queries/sql/expressions/nullIf.d.mts.map +1 -0
- package/build/queries/sql/expressions/nullIf.js +24 -0
- package/build/queries/sql/expressions/nullIf.js.map +1 -0
- package/build/queries/sql/expressions/parseExpression.cjs +75 -0
- package/build/queries/sql/expressions/parseExpression.cjs.map +1 -0
- package/build/queries/sql/expressions/parseExpression.d.cts +19 -0
- package/build/queries/sql/expressions/parseExpression.d.cts.map +1 -0
- package/build/queries/sql/expressions/parseExpression.d.mts +19 -0
- package/build/queries/sql/expressions/parseExpression.d.mts.map +1 -0
- package/build/queries/sql/expressions/parseExpression.js +70 -0
- package/build/queries/sql/expressions/parseExpression.js.map +1 -0
- package/build/queries/sql/expressions/types.cjs +1 -0
- package/build/queries/sql/expressions/types.d.cts +114 -0
- package/build/queries/sql/expressions/types.d.cts.map +1 -0
- package/build/queries/sql/expressions/types.d.mts +114 -0
- package/build/queries/sql/expressions/types.d.mts.map +1 -0
- package/build/queries/sql/expressions/types.js +1 -0
- package/build/queries/sql/keywords.cjs +136 -0
- package/build/queries/sql/keywords.cjs.map +1 -0
- package/build/queries/sql/keywords.d.cts +18 -0
- package/build/queries/sql/keywords.d.cts.map +1 -0
- package/build/queries/sql/keywords.d.mts +18 -0
- package/build/queries/sql/keywords.d.mts.map +1 -0
- package/build/queries/sql/keywords.js +132 -0
- package/build/queries/sql/keywords.js.map +1 -0
- package/build/queries/sql/query.cjs +1548 -0
- package/build/queries/sql/query.cjs.map +1 -0
- package/build/queries/sql/query.d.cts +794 -0
- package/build/queries/sql/query.d.cts.map +1 -0
- package/build/queries/sql/query.d.mts +794 -0
- package/build/queries/sql/query.d.mts.map +1 -0
- package/build/queries/sql/query.js +1530 -0
- package/build/queries/sql/query.js.map +1 -0
- package/build/queries/unnest.cjs +62 -0
- package/build/queries/unnest.cjs.map +1 -0
- package/build/queries/unnest.d.cts +16 -0
- package/build/queries/unnest.d.cts.map +1 -0
- package/build/queries/unnest.d.mts +16 -0
- package/build/queries/unnest.d.mts.map +1 -0
- package/build/queries/unnest.js +60 -0
- package/build/queries/unnest.js.map +1 -0
- package/build/queries/valueFilters.cjs +248 -0
- package/build/queries/valueFilters.cjs.map +1 -0
- package/build/queries/valueFilters.d.cts +28 -0
- package/build/queries/valueFilters.d.cts.map +1 -0
- package/build/queries/valueFilters.d.mts +28 -0
- package/build/queries/valueFilters.d.mts.map +1 -0
- package/build/queries/valueFilters.js +243 -0
- package/build/queries/valueFilters.js.map +1 -0
- package/build/reactivity/ReactionsManager.cjs +264 -0
- package/build/reactivity/ReactionsManager.cjs.map +1 -0
- package/build/reactivity/ReactionsManager.d.cts +98 -0
- package/build/reactivity/ReactionsManager.d.cts.map +1 -0
- package/build/reactivity/ReactionsManager.d.mts +98 -0
- package/build/reactivity/ReactionsManager.d.mts.map +1 -0
- package/build/reactivity/ReactionsManager.js +263 -0
- package/build/reactivity/ReactionsManager.js.map +1 -0
- package/build/reactivity/reactiveHints.cjs +328 -0
- package/build/reactivity/reactiveHints.cjs.map +1 -0
- package/build/reactivity/reactiveHints.d.cts +143 -0
- package/build/reactivity/reactiveHints.d.cts.map +1 -0
- package/build/reactivity/reactiveHints.d.mts +143 -0
- package/build/reactivity/reactiveHints.d.mts.map +1 -0
- package/build/reactivity/reactiveHints.js +321 -0
- package/build/reactivity/reactiveHints.js.map +1 -0
- package/build/relations/AbstractRelationImpl.cjs +0 -5
- package/build/relations/AbstractRelationImpl.cjs.map +1 -1
- package/build/relations/AbstractRelationImpl.d.cts +1 -2
- package/build/relations/AbstractRelationImpl.d.cts.map +1 -1
- package/build/relations/AbstractRelationImpl.d.mts +1 -2
- package/build/relations/AbstractRelationImpl.d.mts.map +1 -1
- package/build/relations/AbstractRelationImpl.js +1 -5
- package/build/relations/AbstractRelationImpl.js.map +1 -1
- package/build/relations/AsyncProperty.cjs +1 -1
- package/build/relations/AsyncProperty.js +1 -1
- package/build/relations/AsyncReactiveField.cjs +7 -7
- package/build/relations/AsyncReactiveField.cjs.map +1 -1
- package/build/relations/AsyncReactiveField.d.cts +1 -1
- package/build/relations/AsyncReactiveField.d.mts +1 -1
- package/build/relations/AsyncReactiveField.js +5 -5
- package/build/relations/AsyncReactiveField.js.map +1 -1
- package/build/relations/CustomCollection.cjs +1 -1
- package/build/relations/CustomCollection.d.cts +1 -1
- package/build/relations/CustomCollection.d.mts +1 -1
- package/build/relations/CustomCollection.js +1 -1
- package/build/relations/CustomReference.cjs +3 -3
- package/build/relations/CustomReference.d.cts +1 -1
- package/build/relations/CustomReference.d.mts +1 -1
- package/build/relations/CustomReference.js +3 -3
- package/build/relations/EnumCollection.cjs +2 -2
- package/build/relations/EnumCollection.d.cts +1 -1
- package/build/relations/EnumCollection.d.mts +1 -1
- package/build/relations/EnumCollection.js +2 -2
- package/build/relations/LazyField.cjs +6 -7
- package/build/relations/LazyField.cjs.map +1 -1
- package/build/relations/LazyField.js +5 -6
- package/build/relations/LazyField.js.map +1 -1
- package/build/relations/ManyToManyCollection.cjs +5 -4
- package/build/relations/ManyToManyCollection.cjs.map +1 -1
- package/build/relations/ManyToManyCollection.d.cts.map +1 -1
- package/build/relations/ManyToManyCollection.d.mts.map +1 -1
- package/build/relations/ManyToManyCollection.js +5 -4
- package/build/relations/ManyToManyCollection.js.map +1 -1
- package/build/relations/ManyToManyLargeCollection.cjs +3 -3
- package/build/relations/ManyToManyLargeCollection.js +3 -3
- package/build/relations/ManyToOneReference.cjs +6 -5
- package/build/relations/ManyToOneReference.cjs.map +1 -1
- package/build/relations/ManyToOneReference.d.cts.map +1 -1
- package/build/relations/ManyToOneReference.d.mts.map +1 -1
- package/build/relations/ManyToOneReference.js +6 -5
- package/build/relations/ManyToOneReference.js.map +1 -1
- package/build/relations/OneToManyCollection.cjs +7 -7
- package/build/relations/OneToManyCollection.cjs.map +1 -1
- package/build/relations/OneToManyCollection.d.cts +1 -1
- package/build/relations/OneToManyCollection.d.cts.map +1 -1
- package/build/relations/OneToManyCollection.d.mts +1 -1
- package/build/relations/OneToManyCollection.d.mts.map +1 -1
- package/build/relations/OneToManyCollection.js +5 -5
- package/build/relations/OneToManyCollection.js.map +1 -1
- package/build/relations/OneToManyLargeCollection.cjs +2 -2
- package/build/relations/OneToManyLargeCollection.js +2 -2
- package/build/relations/OneToOneReference.cjs +5 -4
- package/build/relations/OneToOneReference.cjs.map +1 -1
- package/build/relations/OneToOneReference.d.cts.map +1 -1
- package/build/relations/OneToOneReference.d.mts.map +1 -1
- package/build/relations/OneToOneReference.js +5 -4
- package/build/relations/OneToOneReference.js.map +1 -1
- package/build/relations/PolymorphicReference.cjs +7 -6
- package/build/relations/PolymorphicReference.cjs.map +1 -1
- package/build/relations/PolymorphicReference.d.cts.map +1 -1
- package/build/relations/PolymorphicReference.d.mts.map +1 -1
- package/build/relations/PolymorphicReference.js +7 -6
- package/build/relations/PolymorphicReference.js.map +1 -1
- package/build/relations/ReactiveField.cjs +6 -7
- package/build/relations/ReactiveField.cjs.map +1 -1
- package/build/relations/ReactiveField.d.cts +2 -2
- package/build/relations/ReactiveField.d.mts +2 -2
- package/build/relations/ReactiveField.js +4 -5
- package/build/relations/ReactiveField.js.map +1 -1
- package/build/relations/ReactiveGetter.cjs +1 -2
- package/build/relations/ReactiveGetter.cjs.map +1 -1
- package/build/relations/ReactiveGetter.d.cts +1 -1
- package/build/relations/ReactiveGetter.d.mts +1 -1
- package/build/relations/ReactiveGetter.js +1 -2
- package/build/relations/ReactiveGetter.js.map +1 -1
- package/build/relations/ReactiveManyToMany.cjs +8 -8
- package/build/relations/ReactiveManyToMany.cjs.map +1 -1
- package/build/relations/ReactiveManyToMany.d.cts +2 -2
- package/build/relations/ReactiveManyToMany.d.cts.map +1 -1
- package/build/relations/ReactiveManyToMany.d.mts +2 -2
- package/build/relations/ReactiveManyToMany.d.mts.map +1 -1
- package/build/relations/ReactiveManyToMany.js +6 -6
- package/build/relations/ReactiveManyToMany.js.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.cjs +1 -3
- package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.d.cts +2 -2
- package/build/relations/ReactiveManyToManyOtherSide.d.mts +2 -2
- package/build/relations/ReactiveManyToManyOtherSide.js +1 -3
- package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
- package/build/relations/ReactiveReference.cjs +10 -10
- package/build/relations/ReactiveReference.cjs.map +1 -1
- package/build/relations/ReactiveReference.d.cts +2 -2
- package/build/relations/ReactiveReference.d.cts.map +1 -1
- package/build/relations/ReactiveReference.d.mts +2 -2
- package/build/relations/ReactiveReference.d.mts.map +1 -1
- package/build/relations/ReactiveReference.js +8 -8
- package/build/relations/ReactiveReference.js.map +1 -1
- package/build/relations/RecursiveCollection.cjs +5 -6
- package/build/relations/RecursiveCollection.cjs.map +1 -1
- package/build/relations/RecursiveCollection.d.cts +1 -1
- package/build/relations/RecursiveCollection.d.mts +1 -1
- package/build/relations/RecursiveCollection.js +5 -6
- package/build/relations/RecursiveCollection.js.map +1 -1
- package/build/relations/hasAsyncMethod.cjs +2 -2
- package/build/relations/hasAsyncMethod.cjs.map +1 -1
- package/build/relations/hasAsyncMethod.d.cts +1 -1
- package/build/relations/hasAsyncMethod.d.mts +1 -1
- package/build/relations/hasAsyncMethod.js +1 -1
- package/build/relations/hasAsyncMethod.js.map +1 -1
- package/build/relations/hasManyDerived.cjs +3 -3
- package/build/relations/hasManyDerived.cjs.map +1 -1
- package/build/relations/hasManyDerived.d.cts +1 -1
- package/build/relations/hasManyDerived.d.mts +1 -1
- package/build/relations/hasManyDerived.js +2 -2
- package/build/relations/hasManyDerived.js.map +1 -1
- package/build/relations/hasManyThrough.cjs +6 -6
- package/build/relations/hasManyThrough.cjs.map +1 -1
- package/build/relations/hasManyThrough.d.cts +1 -1
- package/build/relations/hasManyThrough.d.mts +1 -1
- package/build/relations/hasManyThrough.js +2 -2
- package/build/relations/hasOneDerived.cjs +3 -3
- package/build/relations/hasOneDerived.cjs.map +1 -1
- package/build/relations/hasOneDerived.d.cts +1 -1
- package/build/relations/hasOneDerived.d.mts +1 -1
- package/build/relations/hasOneDerived.js +2 -2
- package/build/relations/hasOneDerived.js.map +1 -1
- package/build/relations/hasOneThrough.cjs +7 -7
- package/build/relations/hasOneThrough.cjs.map +1 -1
- package/build/relations/hasOneThrough.d.cts +1 -1
- package/build/relations/hasOneThrough.d.mts +1 -1
- package/build/relations/hasOneThrough.js +2 -2
- package/build/relations/hasProperty.cjs +6 -6
- package/build/relations/hasProperty.cjs.map +1 -1
- package/build/relations/hasProperty.d.cts +2 -2
- package/build/relations/hasProperty.d.mts +2 -2
- package/build/relations/hasProperty.js +4 -4
- package/build/relations/hasProperty.js.map +1 -1
- package/build/relations/index.cjs +5 -5
- package/build/relations/index.js +5 -5
- package/build/relations/isCascadeDelete.cjs +11 -0
- package/build/relations/isCascadeDelete.cjs.map +1 -0
- package/build/relations/isCascadeDelete.d.cts +7 -0
- package/build/relations/isCascadeDelete.d.cts.map +1 -0
- package/build/relations/isCascadeDelete.d.mts +7 -0
- package/build/relations/isCascadeDelete.d.mts.map +1 -0
- package/build/relations/isCascadeDelete.js +10 -0
- package/build/relations/isCascadeDelete.js.map +1 -0
- package/build/resurrection.cjs +1 -1
- package/build/resurrection.js +1 -1
- package/build/rules.cjs +3 -4
- package/build/rules.cjs.map +1 -1
- package/build/rules.d.cts +1 -1
- package/build/rules.d.mts +1 -1
- package/build/rules.js +3 -4
- package/build/rules.js.map +1 -1
- package/build/serde/TypeInfo.cjs +80 -0
- package/build/serde/TypeInfo.cjs.map +1 -0
- package/build/serde/TypeInfo.d.cts +57 -0
- package/build/serde/TypeInfo.d.cts.map +1 -0
- package/build/serde/TypeInfo.d.mts +57 -0
- package/build/serde/TypeInfo.d.mts.map +1 -0
- package/build/serde/TypeInfo.js +78 -0
- package/build/serde/TypeInfo.js.map +1 -0
- package/build/serde/columns.cjs +63 -0
- package/build/serde/columns.cjs.map +1 -0
- package/build/serde/columns.d.cts +38 -0
- package/build/serde/columns.d.cts.map +1 -0
- package/build/serde/columns.d.mts +38 -0
- package/build/serde/columns.d.mts.map +1 -0
- package/build/serde/columns.js +62 -0
- package/build/serde/columns.js.map +1 -0
- package/build/serde/fieldSerde.cjs +188 -0
- package/build/serde/fieldSerde.cjs.map +1 -0
- package/build/serde/fieldSerde.d.cts +87 -0
- package/build/serde/fieldSerde.d.cts.map +1 -0
- package/build/serde/fieldSerde.d.mts +87 -0
- package/build/serde/fieldSerde.d.mts.map +1 -0
- package/build/serde/fieldSerde.js +182 -0
- package/build/serde/fieldSerde.js.map +1 -0
- package/build/serde/serde.cjs +499 -0
- package/build/serde/serde.cjs.map +1 -0
- package/build/serde/serde.d.cts +248 -0
- package/build/serde/serde.d.cts.map +1 -0
- package/build/serde/serde.d.mts +248 -0
- package/build/serde/serde.d.mts.map +1 -0
- package/build/serde/serde.js +485 -0
- package/build/serde/serde.js.map +1 -0
- package/build/serde/temporal.cjs +57 -0
- package/build/serde/temporal.cjs.map +1 -0
- package/build/serde/temporal.d.cts +44 -0
- package/build/serde/temporal.d.cts.map +1 -0
- package/build/serde/temporal.d.mts +44 -0
- package/build/serde/temporal.d.mts.map +1 -0
- package/build/serde/temporal.js +55 -0
- package/build/serde/temporal.js.map +1 -0
- package/build/serde/temporalMappers.cjs +62 -0
- package/build/serde/temporalMappers.cjs.map +1 -0
- package/build/serde/temporalMappers.d.cts +36 -0
- package/build/serde/temporalMappers.d.cts.map +1 -0
- package/build/serde/temporalMappers.d.mts +36 -0
- package/build/serde/temporalMappers.d.mts.map +1 -0
- package/build/serde/temporalMappers.js +58 -0
- package/build/serde/temporalMappers.js.map +1 -0
- package/build/upsert.cjs +4 -4
- package/build/upsert.js +4 -4
- package/build/utils.cjs +0 -2
- package/build/utils.cjs.map +1 -1
- package/build/utils.d.cts +2 -2
- package/build/utils.d.mts +2 -2
- package/build/utils.js +0 -2
- package/build/utils.js.map +1 -1
- package/package.json +2 -2
- package/build/AliasAssigner.cjs +0 -36
- package/build/AliasAssigner.cjs.map +0 -1
- package/build/AliasAssigner.d.cts +0 -13
- package/build/AliasAssigner.d.cts.map +0 -1
- package/build/AliasAssigner.d.mts +0 -13
- package/build/AliasAssigner.d.mts.map +0 -1
- package/build/AliasAssigner.js +0 -35
- package/build/AliasAssigner.js.map +0 -1
- package/build/Aliases.cjs +0 -306
- package/build/Aliases.cjs.map +0 -1
- package/build/Aliases.d.cts +0 -122
- package/build/Aliases.d.cts.map +0 -1
- package/build/Aliases.d.mts +0 -122
- package/build/Aliases.d.mts.map +0 -1
- package/build/Aliases.js +0 -298
- package/build/Aliases.js.map +0 -1
- package/build/ConditionBuilder.cjs +0 -107
- package/build/ConditionBuilder.cjs.map +0 -1
- package/build/ConditionBuilder.d.cts +0 -31
- package/build/ConditionBuilder.d.cts.map +0 -1
- package/build/ConditionBuilder.d.mts +0 -31
- package/build/ConditionBuilder.d.mts.map +0 -1
- package/build/ConditionBuilder.js +0 -106
- package/build/ConditionBuilder.js.map +0 -1
- package/build/DeferredAlias.cjs +0 -28
- package/build/DeferredAlias.cjs.map +0 -1
- package/build/DeferredAlias.d.cts +0 -22
- package/build/DeferredAlias.d.cts.map +0 -1
- package/build/DeferredAlias.d.mts +0 -22
- package/build/DeferredAlias.d.mts.map +0 -1
- package/build/DeferredAlias.js +0 -25
- package/build/DeferredAlias.js.map +0 -1
- package/build/EntityFilter.cjs +0 -32
- package/build/EntityFilter.cjs.map +0 -1
- package/build/EntityFilter.d.cts +0 -127
- package/build/EntityFilter.d.cts.map +0 -1
- package/build/EntityFilter.d.mts +0 -127
- package/build/EntityFilter.d.mts.map +0 -1
- package/build/EntityFilter.js +0 -31
- package/build/EntityFilter.js.map +0 -1
- package/build/EntityGraphQLFilter.cjs +0 -56
- package/build/EntityGraphQLFilter.cjs.map +0 -1
- package/build/EntityGraphQLFilter.d.cts +0 -59
- package/build/EntityGraphQLFilter.d.cts.map +0 -1
- package/build/EntityGraphQLFilter.d.mts +0 -59
- package/build/EntityGraphQLFilter.d.mts.map +0 -1
- package/build/EntityGraphQLFilter.js +0 -54
- package/build/EntityGraphQLFilter.js.map +0 -1
- package/build/Expr.cjs +0 -512
- package/build/Expr.cjs.map +0 -1
- package/build/Expr.d.cts +0 -274
- package/build/Expr.d.cts.map +0 -1
- package/build/Expr.d.mts +0 -274
- package/build/Expr.d.mts.map +0 -1
- package/build/Expr.js +0 -496
- package/build/Expr.js.map +0 -1
- package/build/FlushLock.cjs +0 -51
- package/build/FlushLock.cjs.map +0 -1
- package/build/FlushLock.d.cts +0 -29
- package/build/FlushLock.d.cts.map +0 -1
- package/build/FlushLock.d.mts +0 -29
- package/build/FlushLock.d.mts.map +0 -1
- package/build/FlushLock.js +0 -51
- package/build/FlushLock.js.map +0 -1
- package/build/HintTree.cjs +0 -70
- package/build/HintTree.cjs.map +0 -1
- package/build/HintTree.d.cts +0 -45
- package/build/HintTree.d.cts.map +0 -1
- package/build/HintTree.d.mts +0 -45
- package/build/HintTree.d.mts.map +0 -1
- package/build/HintTree.js +0 -69
- package/build/HintTree.js.map +0 -1
- package/build/IsLoadedCache.cjs +0 -59
- package/build/IsLoadedCache.cjs.map +0 -1
- package/build/IsLoadedCache.d.cts +0 -35
- package/build/IsLoadedCache.d.cts.map +0 -1
- package/build/IsLoadedCache.d.mts +0 -35
- package/build/IsLoadedCache.d.mts.map +0 -1
- package/build/IsLoadedCache.js +0 -58
- package/build/IsLoadedCache.js.map +0 -1
- package/build/JoinRows.cjs +0 -266
- package/build/JoinRows.cjs.map +0 -1
- package/build/JoinRows.d.cts +0 -120
- package/build/JoinRows.d.cts.map +0 -1
- package/build/JoinRows.d.mts +0 -120
- package/build/JoinRows.d.mts.map +0 -1
- package/build/JoinRows.js +0 -264
- package/build/JoinRows.js.map +0 -1
- package/build/PendingChanges.cjs +0 -2
- package/build/PendingChanges.d.cts +0 -29
- package/build/PendingChanges.d.cts.map +0 -1
- package/build/PendingChanges.d.mts +0 -29
- package/build/PendingChanges.d.mts.map +0 -1
- package/build/PendingChanges.js +0 -2
- package/build/QueryParser.cjs +0 -842
- package/build/QueryParser.cjs.map +0 -1
- package/build/QueryParser.collectionJoins.cjs +0 -353
- package/build/QueryParser.collectionJoins.cjs.map +0 -1
- package/build/QueryParser.collectionJoins.d.cts +0 -30
- package/build/QueryParser.collectionJoins.d.cts.map +0 -1
- package/build/QueryParser.collectionJoins.d.mts +0 -30
- package/build/QueryParser.collectionJoins.d.mts.map +0 -1
- package/build/QueryParser.collectionJoins.js +0 -352
- package/build/QueryParser.collectionJoins.js.map +0 -1
- package/build/QueryParser.d.cts +0 -346
- package/build/QueryParser.d.cts.map +0 -1
- package/build/QueryParser.d.mts +0 -346
- package/build/QueryParser.d.mts.map +0 -1
- package/build/QueryParser.js +0 -827
- package/build/QueryParser.js.map +0 -1
- package/build/QueryParser.pruning.cjs +0 -129
- package/build/QueryParser.pruning.cjs.map +0 -1
- package/build/QueryParser.pruning.d.cts +0 -10
- package/build/QueryParser.pruning.d.cts.map +0 -1
- package/build/QueryParser.pruning.d.mts +0 -10
- package/build/QueryParser.pruning.d.mts.map +0 -1
- package/build/QueryParser.pruning.js +0 -126
- package/build/QueryParser.pruning.js.map +0 -1
- package/build/QueryVisitor.cjs +0 -61
- package/build/QueryVisitor.cjs.map +0 -1
- package/build/QueryVisitor.d.cts +0 -21
- package/build/QueryVisitor.d.cts.map +0 -1
- package/build/QueryVisitor.d.mts +0 -21
- package/build/QueryVisitor.d.mts.map +0 -1
- package/build/QueryVisitor.js +0 -59
- package/build/QueryVisitor.js.map +0 -1
- package/build/ReactionsManager.cjs +0 -266
- package/build/ReactionsManager.cjs.map +0 -1
- package/build/ReactionsManager.d.cts +0 -99
- package/build/ReactionsManager.d.cts.map +0 -1
- package/build/ReactionsManager.d.mts +0 -99
- package/build/ReactionsManager.d.mts.map +0 -1
- package/build/ReactionsManager.js +0 -265
- package/build/ReactionsManager.js.map +0 -1
- package/build/Tables.cjs +0 -710
- package/build/Tables.cjs.map +0 -1
- package/build/Tables.d.cts +0 -264
- package/build/Tables.d.cts.map +0 -1
- package/build/Tables.d.mts +0 -264
- package/build/Tables.d.mts.map +0 -1
- package/build/Tables.js +0 -699
- package/build/Tables.js.map +0 -1
- package/build/Todo.cjs +0 -73
- package/build/Todo.cjs.map +0 -1
- package/build/Todo.d.cts +0 -38
- package/build/Todo.d.cts.map +0 -1
- package/build/Todo.d.mts +0 -38
- package/build/Todo.d.mts.map +0 -1
- package/build/Todo.js +0 -69
- package/build/Todo.js.map +0 -1
- package/build/TypeInfo.cjs +0 -80
- package/build/TypeInfo.cjs.map +0 -1
- package/build/TypeInfo.d.cts +0 -57
- package/build/TypeInfo.d.cts.map +0 -1
- package/build/TypeInfo.d.mts +0 -57
- package/build/TypeInfo.d.mts.map +0 -1
- package/build/TypeInfo.js +0 -78
- package/build/TypeInfo.js.map +0 -1
- package/build/columns.cjs +0 -63
- package/build/columns.cjs.map +0 -1
- package/build/columns.d.cts +0 -38
- package/build/columns.d.cts.map +0 -1
- package/build/columns.d.mts +0 -38
- package/build/columns.d.mts.map +0 -1
- package/build/columns.js +0 -62
- package/build/columns.js.map +0 -1
- package/build/conditions.cjs +0 -16
- package/build/conditions.cjs.map +0 -1
- package/build/conditions.d.cts +0 -38
- package/build/conditions.d.cts.map +0 -1
- package/build/conditions.d.mts +0 -38
- package/build/conditions.d.mts.map +0 -1
- package/build/conditions.js +0 -14
- package/build/conditions.js.map +0 -1
- package/build/driverApi.cjs +0 -19
- package/build/driverApi.cjs.map +0 -1
- package/build/driverApi.d.cts +0 -22
- package/build/driverApi.d.cts.map +0 -1
- package/build/driverApi.d.mts +0 -22
- package/build/driverApi.d.mts.map +0 -1
- package/build/driverApi.js +0 -18
- package/build/driverApi.js.map +0 -1
- package/build/drivers/buildRawQuery.cjs +0 -113
- package/build/drivers/buildRawQuery.cjs.map +0 -1
- package/build/drivers/buildRawQuery.d.cts +0 -24
- package/build/drivers/buildRawQuery.d.cts.map +0 -1
- package/build/drivers/buildRawQuery.d.mts +0 -24
- package/build/drivers/buildRawQuery.d.mts.map +0 -1
- package/build/drivers/buildRawQuery.js +0 -111
- package/build/drivers/buildRawQuery.js.map +0 -1
- package/build/drivers/buildUtils.cjs +0 -67
- package/build/drivers/buildUtils.cjs.map +0 -1
- package/build/drivers/buildUtils.d.cts +0 -14
- package/build/drivers/buildUtils.d.cts.map +0 -1
- package/build/drivers/buildUtils.d.mts +0 -14
- package/build/drivers/buildUtils.d.mts.map +0 -1
- package/build/drivers/buildUtils.js +0 -65
- package/build/drivers/buildUtils.js.map +0 -1
- package/build/execute.cjs +0 -241
- package/build/execute.cjs.map +0 -1
- package/build/execute.d.cts +0 -195
- package/build/execute.d.cts.map +0 -1
- package/build/execute.d.mts +0 -195
- package/build/execute.d.mts.map +0 -1
- package/build/execute.js +0 -238
- package/build/execute.js.map +0 -1
- package/build/expressions/arrayAgg.cjs +0 -63
- package/build/expressions/arrayAgg.cjs.map +0 -1
- package/build/expressions/arrayAgg.d.cts +0 -24
- package/build/expressions/arrayAgg.d.cts.map +0 -1
- package/build/expressions/arrayAgg.d.mts +0 -24
- package/build/expressions/arrayAgg.d.mts.map +0 -1
- package/build/expressions/arrayAgg.js +0 -61
- package/build/expressions/arrayAgg.js.map +0 -1
- package/build/expressions/case.cjs +0 -71
- package/build/expressions/case.cjs.map +0 -1
- package/build/expressions/case.d.cts +0 -57
- package/build/expressions/case.d.cts.map +0 -1
- package/build/expressions/case.d.mts +0 -57
- package/build/expressions/case.d.mts.map +0 -1
- package/build/expressions/case.js +0 -68
- package/build/expressions/case.js.map +0 -1
- package/build/expressions/coalesce.cjs +0 -25
- package/build/expressions/coalesce.cjs.map +0 -1
- package/build/expressions/coalesce.d.cts +0 -21
- package/build/expressions/coalesce.d.cts.map +0 -1
- package/build/expressions/coalesce.d.mts +0 -21
- package/build/expressions/coalesce.d.mts.map +0 -1
- package/build/expressions/coalesce.js +0 -22
- package/build/expressions/coalesce.js.map +0 -1
- package/build/expressions/codecs.cjs +0 -126
- package/build/expressions/codecs.cjs.map +0 -1
- package/build/expressions/codecs.d.cts +0 -11
- package/build/expressions/codecs.d.cts.map +0 -1
- package/build/expressions/codecs.d.mts +0 -11
- package/build/expressions/codecs.d.mts.map +0 -1
- package/build/expressions/codecs.js +0 -125
- package/build/expressions/codecs.js.map +0 -1
- package/build/expressions/expression.cjs +0 -102
- package/build/expressions/expression.cjs.map +0 -1
- package/build/expressions/expression.d.cts +0 -23
- package/build/expressions/expression.d.cts.map +0 -1
- package/build/expressions/expression.d.mts +0 -23
- package/build/expressions/expression.d.mts.map +0 -1
- package/build/expressions/expression.js +0 -97
- package/build/expressions/expression.js.map +0 -1
- package/build/expressions/greatest.cjs +0 -25
- package/build/expressions/greatest.cjs.map +0 -1
- package/build/expressions/greatest.d.cts +0 -21
- package/build/expressions/greatest.d.cts.map +0 -1
- package/build/expressions/greatest.d.mts +0 -21
- package/build/expressions/greatest.d.mts.map +0 -1
- package/build/expressions/greatest.js +0 -22
- package/build/expressions/greatest.js.map +0 -1
- package/build/expressions/least.cjs +0 -25
- package/build/expressions/least.cjs.map +0 -1
- package/build/expressions/least.d.cts +0 -21
- package/build/expressions/least.d.cts.map +0 -1
- package/build/expressions/least.d.mts +0 -21
- package/build/expressions/least.d.mts.map +0 -1
- package/build/expressions/least.js +0 -22
- package/build/expressions/least.js.map +0 -1
- package/build/expressions/nullIf.cjs +0 -27
- package/build/expressions/nullIf.cjs.map +0 -1
- package/build/expressions/nullIf.d.cts +0 -22
- package/build/expressions/nullIf.d.cts.map +0 -1
- package/build/expressions/nullIf.d.mts +0 -22
- package/build/expressions/nullIf.d.mts.map +0 -1
- package/build/expressions/nullIf.js +0 -24
- package/build/expressions/nullIf.js.map +0 -1
- package/build/expressions/parseExpression.cjs +0 -75
- package/build/expressions/parseExpression.cjs.map +0 -1
- package/build/expressions/parseExpression.d.cts +0 -19
- package/build/expressions/parseExpression.d.cts.map +0 -1
- package/build/expressions/parseExpression.d.mts +0 -19
- package/build/expressions/parseExpression.d.mts.map +0 -1
- package/build/expressions/parseExpression.js +0 -70
- package/build/expressions/parseExpression.js.map +0 -1
- package/build/expressions/types.d.cts +0 -114
- package/build/expressions/types.d.cts.map +0 -1
- package/build/expressions/types.d.mts +0 -114
- package/build/expressions/types.d.mts.map +0 -1
- package/build/fieldSerde.cjs +0 -188
- package/build/fieldSerde.cjs.map +0 -1
- package/build/fieldSerde.d.cts +0 -87
- package/build/fieldSerde.d.cts.map +0 -1
- package/build/fieldSerde.d.mts +0 -87
- package/build/fieldSerde.d.mts.map +0 -1
- package/build/fieldSerde.js +0 -182
- package/build/fieldSerde.js.map +0 -1
- package/build/keywords.cjs +0 -136
- package/build/keywords.cjs.map +0 -1
- package/build/keywords.d.cts +0 -18
- package/build/keywords.d.cts.map +0 -1
- package/build/keywords.d.mts +0 -18
- package/build/keywords.d.mts.map +0 -1
- package/build/keywords.js +0 -132
- package/build/keywords.js.map +0 -1
- package/build/loadHints.cjs +0 -100
- package/build/loadHints.cjs.map +0 -1
- package/build/loadHints.d.cts +0 -116
- package/build/loadHints.d.cts.map +0 -1
- package/build/loadHints.d.mts +0 -116
- package/build/loadHints.d.mts.map +0 -1
- package/build/loadHints.js +0 -93
- package/build/loadHints.js.map +0 -1
- package/build/loadLens.cjs +0 -213
- package/build/loadLens.cjs.map +0 -1
- package/build/loadLens.d.cts +0 -77
- package/build/loadLens.d.cts.map +0 -1
- package/build/loadLens.d.mts +0 -77
- package/build/loadLens.d.mts.map +0 -1
- package/build/loadLens.js +0 -202
- package/build/loadLens.js.map +0 -1
- package/build/query.cjs +0 -1549
- package/build/query.cjs.map +0 -1
- package/build/query.d.cts +0 -794
- package/build/query.d.cts.map +0 -1
- package/build/query.d.mts +0 -794
- package/build/query.d.mts.map +0 -1
- package/build/query.js +0 -1531
- package/build/query.js.map +0 -1
- package/build/reactiveHints.cjs +0 -332
- package/build/reactiveHints.cjs.map +0 -1
- package/build/reactiveHints.d.cts +0 -143
- package/build/reactiveHints.d.cts.map +0 -1
- package/build/reactiveHints.d.mts +0 -143
- package/build/reactiveHints.d.mts.map +0 -1
- package/build/reactiveHints.js +0 -325
- package/build/reactiveHints.js.map +0 -1
- package/build/scopes.cjs +0 -302
- package/build/scopes.cjs.map +0 -1
- package/build/scopes.d.cts +0 -188
- package/build/scopes.d.cts.map +0 -1
- package/build/scopes.d.mts +0 -188
- package/build/scopes.d.mts.map +0 -1
- package/build/scopes.js +0 -297
- package/build/scopes.js.map +0 -1
- package/build/serde.cjs +0 -500
- package/build/serde.cjs.map +0 -1
- package/build/serde.d.cts +0 -248
- package/build/serde.d.cts.map +0 -1
- package/build/serde.d.mts +0 -248
- package/build/serde.d.mts.map +0 -1
- package/build/serde.js +0 -486
- package/build/serde.js.map +0 -1
- package/build/skipCondition.cjs +0 -15
- package/build/skipCondition.cjs.map +0 -1
- package/build/skipCondition.d.cts +0 -7
- package/build/skipCondition.d.cts.map +0 -1
- package/build/skipCondition.d.mts +0 -7
- package/build/skipCondition.d.mts.map +0 -1
- package/build/skipCondition.js +0 -14
- package/build/skipCondition.js.map +0 -1
- package/build/temporal.cjs +0 -57
- package/build/temporal.cjs.map +0 -1
- package/build/temporal.d.cts +0 -44
- package/build/temporal.d.cts.map +0 -1
- package/build/temporal.d.mts +0 -44
- package/build/temporal.d.mts.map +0 -1
- package/build/temporal.js +0 -55
- package/build/temporal.js.map +0 -1
- package/build/temporalMappers.cjs +0 -63
- package/build/temporalMappers.cjs.map +0 -1
- package/build/temporalMappers.d.cts +0 -36
- package/build/temporalMappers.d.cts.map +0 -1
- package/build/temporalMappers.d.mts +0 -36
- package/build/temporalMappers.d.mts.map +0 -1
- package/build/temporalMappers.js +0 -59
- package/build/temporalMappers.js.map +0 -1
- package/build/unnest.cjs +0 -64
- package/build/unnest.cjs.map +0 -1
- package/build/unnest.d.cts +0 -16
- package/build/unnest.d.cts.map +0 -1
- package/build/unnest.d.mts +0 -16
- package/build/unnest.d.mts.map +0 -1
- package/build/unnest.js +0 -62
- package/build/unnest.js.map +0 -1
- package/build/withLoaded.cjs +0 -65
- package/build/withLoaded.cjs.map +0 -1
- package/build/withLoaded.d.cts +0 -65
- package/build/withLoaded.d.cts.map +0 -1
- package/build/withLoaded.d.mts +0 -65
- package/build/withLoaded.d.mts.map +0 -1
- package/build/withLoaded.js +0 -62
- package/build/withLoaded.js.map +0 -1
- /package/build/{expressions/types.cjs → flush/PendingChanges.cjs} +0 -0
- /package/build/{expressions/types.js → flush/PendingChanges.js} +0 -0
package/build/JoinRows.js
DELETED
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import "./Todo.js";
|
|
2
|
-
import "./ReactionsManager.js";
|
|
3
|
-
import { keyToNumber, keyToTaggedId } from "./keys.js";
|
|
4
|
-
import { getBaseAndSelfMetas } from "./EntityMetadata.js";
|
|
5
|
-
import { remove } from "./utils.js";
|
|
6
|
-
import { getEmInternalApi } from "./EntityManager.js";
|
|
7
|
-
import "./Entity.js";
|
|
8
|
-
//#region src/JoinRows.ts
|
|
9
|
-
/** Whether a join column points at a not-yet-inserted entity (enum ids are never "new"). */
|
|
10
|
-
function isNewColumn(value) {
|
|
11
|
-
return typeof value !== "number" && value.isNewEntity;
|
|
12
|
-
}
|
|
13
|
-
/** A small holder around m2m join rows, which we treat as psuedo-entities. */
|
|
14
|
-
var JoinRows = class {
|
|
15
|
-
m2m;
|
|
16
|
-
rm;
|
|
17
|
-
rows = [];
|
|
18
|
-
index;
|
|
19
|
-
constructor(m2m, rm) {
|
|
20
|
-
this.m2m = m2m;
|
|
21
|
-
this.rm = rm;
|
|
22
|
-
this.index = new ManyToManyIndex(m2m);
|
|
23
|
-
}
|
|
24
|
-
/** Adds a new join row to this table. */
|
|
25
|
-
addNew(m2m, e1, e2) {
|
|
26
|
-
if (!e1) throw new Error(`Cannot add a m2m row with an entity that is ${e1}`);
|
|
27
|
-
if (!e2) throw new Error(`Cannot add a m2m row with an entity that is ${e2}`);
|
|
28
|
-
const existing = this.index.get(m2m, e1, e2);
|
|
29
|
-
if (existing) {
|
|
30
|
-
existing.deleted = false;
|
|
31
|
-
existing.op = "pending";
|
|
32
|
-
} else {
|
|
33
|
-
const row = {
|
|
34
|
-
op: "pending",
|
|
35
|
-
id: void 0,
|
|
36
|
-
persisted: false,
|
|
37
|
-
columns: {
|
|
38
|
-
[m2m.columnName]: e1,
|
|
39
|
-
[m2m.otherColumnName]: e2
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
this.rows.push(row);
|
|
43
|
-
this.index.add(m2m, e1, e2, row);
|
|
44
|
-
}
|
|
45
|
-
this.#reactToChange(m2m, e1, e2);
|
|
46
|
-
}
|
|
47
|
-
/** Adds a new remove to this table. */
|
|
48
|
-
addRemove(m2m, e1, e2) {
|
|
49
|
-
const existing = this.index.get(m2m, e1, e2);
|
|
50
|
-
if (existing) {
|
|
51
|
-
if (!existing.persisted) {
|
|
52
|
-
remove(this.rows, existing);
|
|
53
|
-
this.index.remove(existing);
|
|
54
|
-
} else existing.deleted = true;
|
|
55
|
-
existing.op = "pending";
|
|
56
|
-
} else {
|
|
57
|
-
const row = {
|
|
58
|
-
op: "pending",
|
|
59
|
-
id: void 0,
|
|
60
|
-
persisted: true,
|
|
61
|
-
columns: {
|
|
62
|
-
[m2m.columnName]: e1,
|
|
63
|
-
[m2m.otherColumnName]: e2
|
|
64
|
-
},
|
|
65
|
-
deleted: true
|
|
66
|
-
};
|
|
67
|
-
this.rows.push(row);
|
|
68
|
-
this.index.add(m2m, e1, e2, row);
|
|
69
|
-
}
|
|
70
|
-
this.#reactToChange(m2m, e1, e2);
|
|
71
|
-
}
|
|
72
|
-
/** Return any "old values" for a m2m collection that might need reactivity checks. */
|
|
73
|
-
removedFor(m2m, e1) {
|
|
74
|
-
const { otherColumnName } = m2m;
|
|
75
|
-
return this.index.getOthers(m2m.columnName, e1).filter((r) => r.deleted).map((r) => r.columns[otherColumnName]);
|
|
76
|
-
}
|
|
77
|
-
addedFor(m2m, e1) {
|
|
78
|
-
const { otherColumnName } = m2m;
|
|
79
|
-
return this.index.getOthers(m2m.columnName, e1).filter((r) => (!r.persisted && r.op === "pending" || r.op === "flushed") && r.deleted !== true).map((r) => r.columns[otherColumnName]);
|
|
80
|
-
}
|
|
81
|
-
/** Adds an existing join row to this table. */
|
|
82
|
-
addPreloadedRow(m2m, id, e1, e2) {
|
|
83
|
-
if (this.index.get(m2m, e1, e2)) {} else {
|
|
84
|
-
const row = {
|
|
85
|
-
op: "pending",
|
|
86
|
-
id,
|
|
87
|
-
persisted: true,
|
|
88
|
-
columns: {
|
|
89
|
-
[m2m.columnName]: e1,
|
|
90
|
-
[m2m.otherColumnName]: e2
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
this.rows.push(row);
|
|
94
|
-
this.index.add(m2m, e1, e2, row);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/** Look up/create our internal JoinRow psuedo-entities for the db rows. */
|
|
98
|
-
async loadRows(tuples, dbRows) {
|
|
99
|
-
const { em } = this.m2m.entity;
|
|
100
|
-
const { columnName: column1, otherColumnName: column2, meta: meta1, otherMeta: meta2, otherEnum } = this.m2m;
|
|
101
|
-
const oneIds = [];
|
|
102
|
-
const twoVals = [];
|
|
103
|
-
for (const dbRow of dbRows) {
|
|
104
|
-
oneIds.push(keyToTaggedId(meta1, dbRow[column1]));
|
|
105
|
-
twoVals.push(otherEnum ? dbRow[column2] : em.getEntity(keyToTaggedId(meta2, dbRow[column2])));
|
|
106
|
-
}
|
|
107
|
-
await Promise.all([em.loadAll(meta1.cstr, oneIds), otherEnum ? Promise.resolve([]) : em.loadAll(meta2.cstr, dbRows.map((dbRow) => keyToTaggedId(meta2, dbRow[column2])))]);
|
|
108
|
-
const existingRows = /* @__PURE__ */ new Set();
|
|
109
|
-
for (const [columnName, id] of tuples) {
|
|
110
|
-
const others = this.index.getOthers(columnName, em.getEntity(id));
|
|
111
|
-
for (const row of others) if (!otherEnum || row.persisted) existingRows.add(row);
|
|
112
|
-
}
|
|
113
|
-
let i = 0;
|
|
114
|
-
for (const dbRow of dbRows) {
|
|
115
|
-
const e1 = em.getEntity(oneIds[i]);
|
|
116
|
-
const e2 = otherEnum ? dbRow[column2] : em.getEntity(keyToTaggedId(meta2, dbRow[column2]));
|
|
117
|
-
i++;
|
|
118
|
-
let row = this.index.get(this.m2m, e1, e2);
|
|
119
|
-
if (!row) {
|
|
120
|
-
row = {
|
|
121
|
-
op: "completed",
|
|
122
|
-
id: dbRow.id,
|
|
123
|
-
persisted: true,
|
|
124
|
-
columns: {
|
|
125
|
-
[column1]: e1,
|
|
126
|
-
[column2]: e2
|
|
127
|
-
},
|
|
128
|
-
created_at: dbRow.created_at
|
|
129
|
-
};
|
|
130
|
-
this.rows.push(row);
|
|
131
|
-
this.index.add(this.m2m, e1, e2, row);
|
|
132
|
-
} else {
|
|
133
|
-
row.id = dbRow.id;
|
|
134
|
-
row.persisted = true;
|
|
135
|
-
existingRows.delete(row);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
for (const row of existingRows) row.deleted = true;
|
|
139
|
-
}
|
|
140
|
-
getOthers(columnName, entity) {
|
|
141
|
-
const others = this.index.getOthers(columnName, entity);
|
|
142
|
-
if (others.length === 0) return [];
|
|
143
|
-
const [c1, c2] = Object.keys(others[0].columns);
|
|
144
|
-
const c = others[0].columns[c1] === entity ? c2 : c1;
|
|
145
|
-
return others.filter((o) => !o.deleted).map((row) => row.columns[c]);
|
|
146
|
-
}
|
|
147
|
-
/** Drops all in-memory rows where `entity` is on `columnName`, e.g. when it is being deleted. */
|
|
148
|
-
removeAllFor(columnName, entity) {
|
|
149
|
-
for (const row of this.index.getOthers(columnName, entity)) {
|
|
150
|
-
remove(this.rows, row);
|
|
151
|
-
this.index.remove(row);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
/** Drops a single `(e1, e2)` row without queuing a flush, e.g. when mirroring another em's removal. */
|
|
155
|
-
removePreloadedRow(m2m, e1, e2) {
|
|
156
|
-
const row = this.index.get(m2m, e1, e2);
|
|
157
|
-
if (row) {
|
|
158
|
-
remove(this.rows, row);
|
|
159
|
-
this.index.remove(row);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/** Scans our `rows` for newly-added/newly-deleted rows that need `INSERT`s/`UPDATE`s. */
|
|
163
|
-
toTodo() {
|
|
164
|
-
const newRows = this.rows.filter((r) => !r.persisted && r.deleted !== true && r.op === "pending");
|
|
165
|
-
const deletedRows = this.rows.filter((r) => r.persisted && r.deleted === true && r.op === "pending");
|
|
166
|
-
if (newRows.length === 0 && deletedRows.length === 0) return;
|
|
167
|
-
return {
|
|
168
|
-
m2m: this.m2m,
|
|
169
|
-
newRows,
|
|
170
|
-
deletedRows,
|
|
171
|
-
resetAfterFlushed: () => {
|
|
172
|
-
for (const row of this.rows) if (row.op === "pending" || row.op === "flushed") row.op = "completed";
|
|
173
|
-
},
|
|
174
|
-
dbValue: (row, columnName) => this.#dbValue(row, columnName),
|
|
175
|
-
isNew: (row, columnName) => isNewColumn(row.columns[columnName])
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
get hasChanges() {
|
|
179
|
-
return this.rows.some(({ op }) => op === "pending" || op === "flushed");
|
|
180
|
-
}
|
|
181
|
-
/** The db int value for `row`'s `columnName`: an entity's id, or (for enums) the enum's id itself. */
|
|
182
|
-
#dbValue(row, columnName) {
|
|
183
|
-
const value = row.columns[columnName];
|
|
184
|
-
if (typeof value === "number") return value;
|
|
185
|
-
const meta = columnName === this.m2m.columnName ? this.m2m.meta : this.m2m.otherMeta;
|
|
186
|
-
return keyToNumber(meta, value.idTagged);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Invalidates caches & queues reactivity for a join-row change.
|
|
190
|
-
*
|
|
191
|
-
* The owning entity (`e1`) always reacts; the "other" side only reacts when it is an entity,
|
|
192
|
-
* since enum other-sides have no `em`/reverse-field to keep in sync.
|
|
193
|
-
*/
|
|
194
|
-
#reactToChange(m2m, e1, e2) {
|
|
195
|
-
const { em } = this.m2m.entity;
|
|
196
|
-
const api = getEmInternalApi(e1.em);
|
|
197
|
-
api.isLoadedCache.resetIsLoaded(e1, m2m.fieldName);
|
|
198
|
-
this.rm.queueDownstreamReactables(e1, m2m.fieldName);
|
|
199
|
-
if (getBaseAndSelfMetas(e1).some((meta) => meta.config.__data.touchOnChange.has(m2m.fieldName))) em.touch(e1);
|
|
200
|
-
if (!m2m.otherEnum) {
|
|
201
|
-
const other = e2;
|
|
202
|
-
const otherFieldName = m2m.otherFieldName;
|
|
203
|
-
api.isLoadedCache.resetIsLoaded(other, otherFieldName);
|
|
204
|
-
this.rm.queueDownstreamReactables(other, otherFieldName);
|
|
205
|
-
if (getBaseAndSelfMetas(other).some((meta) => meta.config.__data.touchOnChange.has(otherFieldName))) em.touch(other);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
|
-
/** An enum to track our insert/delete state progression. */
|
|
210
|
-
let JoinRowOperation = /* @__PURE__ */ function(JoinRowOperation) {
|
|
211
|
-
JoinRowOperation["Pending"] = "pending";
|
|
212
|
-
JoinRowOperation["Flushed"] = "flushed";
|
|
213
|
-
JoinRowOperation["Completed"] = "completed";
|
|
214
|
-
return JoinRowOperation;
|
|
215
|
-
}({});
|
|
216
|
-
/** Keep an in-memory index to avoid sequentially scanning `rows`. */
|
|
217
|
-
var ManyToManyIndex = class {
|
|
218
|
-
m2m;
|
|
219
|
-
indexes = {};
|
|
220
|
-
constructor(m2m) {
|
|
221
|
-
this.m2m = m2m;
|
|
222
|
-
this.indexes[m2m.columnName] = /* @__PURE__ */ new Map();
|
|
223
|
-
this.indexes[m2m.otherColumnName] = /* @__PURE__ */ new Map();
|
|
224
|
-
}
|
|
225
|
-
add(m2m, e1, e2, value) {
|
|
226
|
-
this.#doAdd(this.indexes[m2m.columnName], e1, e2, value);
|
|
227
|
-
this.#doAdd(this.indexes[m2m.otherColumnName], e2, e1, value);
|
|
228
|
-
}
|
|
229
|
-
remove(value) {
|
|
230
|
-
const [[column1, e1], [column2, e2]] = Object.entries(value.columns);
|
|
231
|
-
this.#doRemove(this.indexes[column1], e1, e2);
|
|
232
|
-
this.#doRemove(this.indexes[column2], e2, e1);
|
|
233
|
-
}
|
|
234
|
-
get(m2m, e1, e2) {
|
|
235
|
-
return this.indexes[m2m.columnName].get(e1)?.get(e2);
|
|
236
|
-
}
|
|
237
|
-
/** Cheat and use the index to return "the other entities" for `entity`. */
|
|
238
|
-
getOthers(columnName, entity) {
|
|
239
|
-
const map = this.indexes[columnName].get(entity);
|
|
240
|
-
if (!map) return [];
|
|
241
|
-
const rows = Array.from(map.values());
|
|
242
|
-
if (this.m2m.hasJoinTableId) return rows.sort((a, b) => (a.id ?? Infinity) - (b.id ?? Infinity));
|
|
243
|
-
const otherColumn = columnName === this.m2m.columnName ? this.m2m.otherColumnName : this.m2m.columnName;
|
|
244
|
-
if (this.m2m.otherEnum && otherColumn === this.m2m.otherColumnName) return rows.sort((a, b) => a.columns[otherColumn] - b.columns[otherColumn]);
|
|
245
|
-
const otherMeta = columnName === this.m2m.columnName ? this.m2m.otherMeta : this.m2m.meta;
|
|
246
|
-
const key = (r) => {
|
|
247
|
-
const other = r.columns[otherColumn];
|
|
248
|
-
return other.isNewEntity ? Infinity : keyToNumber(otherMeta, other.id);
|
|
249
|
-
};
|
|
250
|
-
return rows.sort((a, b) => key(a) - key(b));
|
|
251
|
-
}
|
|
252
|
-
#doAdd(index, e1, e2, value) {
|
|
253
|
-
const map = index.get(e1) ?? /* @__PURE__ */ new Map();
|
|
254
|
-
if (map.size === 0) index.set(e1, map);
|
|
255
|
-
map.set(e2, value);
|
|
256
|
-
}
|
|
257
|
-
#doRemove(index, e1, e2) {
|
|
258
|
-
index.get(e1)?.delete(e2);
|
|
259
|
-
}
|
|
260
|
-
};
|
|
261
|
-
//#endregion
|
|
262
|
-
export { JoinRowOperation, JoinRows };
|
|
263
|
-
|
|
264
|
-
//# sourceMappingURL=JoinRows.js.map
|
package/build/JoinRows.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JoinRows.js","names":["#reactToChange","#dbValue","#doAdd","#doRemove"],"sources":["../src/JoinRows.ts"],"sourcesContent":["import { type Entity } from \"./Entity.ts\";\nimport { getEmInternalApi } from \"./EntityManager.ts\";\nimport { type EntityMetadata, getBaseAndSelfMetas } from \"./EntityMetadata.ts\";\nimport { type EnumMetadata } from \"./EnumMetadata.ts\";\nimport { keyToNumber, keyToTaggedId } from \"./keys.ts\";\nimport { type ReactionsManager } from \"./ReactionsManager.ts\";\nimport { type JoinRowTodo } from \"./Todo.ts\";\nimport { remove } from \"./utils.ts\";\n\n/**\n * A simplified interface for ManyToManyCollection-like relations.\n *\n * Specifically lets ReactiveManyToMany & ReactiveManyToManyOtherSide use JoinRows\n * as if they were full-fledged m2m relations.\n *\n * The \"other\" side of the join table is usually a second entity, but for `EnumCollection`s\n * (i.e. `Publisher.logoColors`) it is an enum table; in that case `otherEnum` is set and the\n * other column's value is the enum's numeric id rather than an `Entity` (there is also no\n * `otherMeta`/`otherFieldName`, since enums have no reverse collection to keep in sync).\n */\nexport type ManyToManyLike = {\n entity: Entity;\n joinTableName: string;\n columnName: string;\n otherColumnName: string;\n fieldName: string;\n meta: EntityMetadata;\n /** Undefined when the other side is an enum. */\n otherFieldName?: string;\n /** Undefined when the other side is an enum. */\n otherMeta?: EntityMetadata;\n /** Set when the other side is an enum table, for mapping enum codes <-> their numeric ids. */\n otherEnum?: EnumMetadata<any, any, number>;\n /** Whether the join table has a surrogate `id` PK; if false the FK pair is the composite PK. */\n hasJoinTableId: boolean;\n};\n\n/** The value of a join row's column: an `Entity`, or an enum's numeric id for `EnumCollection`s. */\nexport type JoinColumnValue = Entity | number;\n\n/** Whether a join column points at a not-yet-inserted entity (enum ids are never \"new\"). */\nfunction isNewColumn(value: JoinColumnValue): boolean {\n return typeof value !== \"number\" && value.isNewEntity;\n}\n\n/** A small holder around m2m join rows, which we treat as psuedo-entities. */\nexport class JoinRows {\n // The in-memory rows for our m2m table.\n private readonly rows: JoinRow[] = [];\n private readonly index: ManyToManyIndex;\n\n constructor(\n // This could be either side of the m2m relation, depending on which is accessed first.\n // Regardless of which m2m side, we still have a single `JoinRows` instance in memory per m2m table.\n readonly m2m: ManyToManyLike,\n private rm: ReactionsManager,\n ) {\n this.index = new ManyToManyIndex(m2m);\n }\n\n /** Adds a new join row to this table. */\n addNew(m2m: ManyToManyLike, e1: Entity, e2: JoinColumnValue): void {\n if (!e1) throw new Error(`Cannot add a m2m row with an entity that is ${e1}`);\n if (!e2) throw new Error(`Cannot add a m2m row with an entity that is ${e2}`);\n const existing = this.index.get(m2m, e1, e2);\n if (existing) {\n existing.deleted = false;\n existing.op = JoinRowOperation.Pending;\n } else {\n const row = {\n op: JoinRowOperation.Pending,\n id: undefined,\n persisted: false,\n columns: { [m2m.columnName]: e1, [m2m.otherColumnName]: e2 },\n } satisfies JoinRow;\n this.rows.push(row);\n this.index.add(m2m, e1, e2, row);\n }\n this.#reactToChange(m2m, e1, e2);\n }\n\n /** Adds a new remove to this table. */\n addRemove(m2m: ManyToManyLike, e1: Entity, e2: JoinColumnValue): void {\n const existing = this.index.get(m2m, e1, e2);\n if (existing) {\n if (!existing.persisted) {\n // It was only added in-memory and never persisted, so just drop it\n remove(this.rows, existing);\n this.index.remove(existing);\n } else {\n existing.deleted = true;\n }\n existing.op = JoinRowOperation.Pending;\n } else {\n // We're removing against an unloaded collection, so assume the row exists in the database\n // (persisted: true) and queue a delete; the delete keys off the (col1, col2) composite.\n const row = {\n op: JoinRowOperation.Pending,\n id: undefined,\n persisted: true,\n columns: { [m2m.columnName]: e1, [m2m.otherColumnName]: e2 },\n deleted: true,\n } satisfies JoinRow;\n this.rows.push(row);\n this.index.add(m2m, e1, e2, row);\n }\n this.#reactToChange(m2m, e1, e2);\n }\n\n /** Return any \"old values\" for a m2m collection that might need reactivity checks. */\n removedFor(m2m: ManyToManyLike, e1: Entity): JoinColumnValue[] {\n const { otherColumnName } = m2m;\n // I.e. if we did `t1.books.remove(b1)` find all join rows that have\n // `tag_id=t1`, are marked for deletion, and then `.map` them to the removed book.\n const removedRows = this.index.getOthers(m2m.columnName, e1).filter((r) => r.deleted);\n return removedRows.map((r) => r.columns[otherColumnName]);\n }\n\n addedFor(m2m: ManyToManyLike, e1: Entity): JoinColumnValue[] {\n const { otherColumnName } = m2m;\n const addedRows = this.index\n .getOthers(m2m.columnName, e1)\n .filter(\n (r) =>\n ((!r.persisted && r.op === JoinRowOperation.Pending) || r.op === JoinRowOperation.Flushed) &&\n r.deleted !== true,\n );\n return addedRows.map((r) => r.columns[otherColumnName]);\n }\n\n /** Adds an existing join row to this table. */\n addPreloadedRow(m2m: ManyToManyLike, id: number | undefined, e1: Entity, e2: JoinColumnValue): void {\n const existing = this.index.get(m2m, e1, e2);\n if (existing) {\n // Treat any existing WIP change as source-of-truth, so leave it alone\n } else {\n const row = {\n op: JoinRowOperation.Pending,\n id,\n persisted: true,\n columns: { [m2m.columnName]: e1, [m2m.otherColumnName]: e2 },\n } satisfies JoinRow;\n this.rows.push(row);\n this.index.add(m2m, e1, e2, row);\n }\n }\n\n /** Look up/create our internal JoinRow psuedo-entities for the db rows. */\n async loadRows(tuples: [string, string][], dbRows: any[]): Promise<void> {\n const { em } = this.m2m.entity;\n const { columnName: column1, otherColumnName: column2, meta: meta1, otherMeta: meta2, otherEnum } = this.m2m;\n\n const oneIds: string[] = [];\n // Tagged ids for an entity other-side, or raw enum ids for an enum other-side.\n const twoVals: JoinColumnValue[] = [];\n for (const dbRow of dbRows) {\n oneIds.push(keyToTaggedId(meta1, dbRow[column1])!);\n twoVals.push(\n otherEnum ? (dbRow[column2] as number) : (em.getEntity(keyToTaggedId(meta2!, dbRow[column2])!) as any),\n );\n }\n\n // Make sure we have entities in memory for all the joined-to tables. The enum side has no\n // entities to load; the entity sides do (and `twoVals` is re-resolved to entities below).\n await Promise.all([\n em.loadAll(meta1.cstr, oneIds),\n otherEnum\n ? Promise.resolve([])\n : em.loadAll(\n meta2!.cstr,\n dbRows.map((dbRow) => keyToTaggedId(meta2!, dbRow[column2])!),\n ),\n ]);\n\n // If we're doing a em.refresh/reload, we need to watch for rows that are no longer here. For an\n // enum other-side, only persisted rows are delete-candidates (pending in-memory adds are kept,\n // since `EnumCollection` relies on `JoinRows` to hold them rather than re-asserting on load).\n const existingRows = new Set<JoinRow>();\n for (const [columnName, id] of tuples) {\n const others = this.index.getOthers(columnName, em.getEntity(id)!);\n for (const row of others) if (!otherEnum || row.persisted) existingRows.add(row);\n }\n\n let i = 0;\n for (const dbRow of dbRows) {\n const e1 = em.getEntity(oneIds[i])!;\n const e2 = otherEnum ? (dbRow[column2] as number) : em.getEntity(keyToTaggedId(meta2!, dbRow[column2])!)!;\n i++;\n let row = this.index.get(this.m2m, e1, e2);\n if (!row) {\n row = {\n op: JoinRowOperation.Completed,\n id: dbRow.id,\n persisted: true,\n columns: { [column1]: e1, [column2]: e2 },\n created_at: dbRow.created_at,\n };\n this.rows.push(row);\n this.index.add(this.m2m, e1, e2, row);\n } else {\n // If a placeholder row was created while a ManyToManyCollection was unloaded, and we find it during\n // a subsequent load/query, update its id to be what is in the database and mark it persisted.\n row.id = dbRow.id;\n row.persisted = true;\n // Mark this row as still valid\n existingRows.delete(row);\n }\n }\n\n // Mark all no-longer-there rows as deleted\n for (const row of existingRows) row.deleted = true;\n }\n\n getOthers(columnName: string, entity: Entity): JoinColumnValue[] {\n const others = this.index.getOthers(columnName, entity);\n if (others.length === 0) return [];\n const [c1, c2] = Object.keys(others[0].columns);\n const c = others[0].columns[c1] === entity ? c2 : c1;\n return others.filter((o) => !o.deleted).map((row) => row.columns[c]);\n }\n\n /** Drops all in-memory rows where `entity` is on `columnName`, e.g. when it is being deleted. */\n removeAllFor(columnName: string, entity: Entity): void {\n for (const row of this.index.getOthers(columnName, entity)) {\n remove(this.rows, row);\n this.index.remove(row);\n }\n }\n\n /** Drops a single `(e1, e2)` row without queuing a flush, e.g. when mirroring another em's removal. */\n removePreloadedRow(m2m: ManyToManyLike, e1: Entity, e2: JoinColumnValue): void {\n const row = this.index.get(m2m, e1, e2);\n if (row) {\n remove(this.rows, row);\n this.index.remove(row);\n }\n }\n\n /** Scans our `rows` for newly-added/newly-deleted rows that need `INSERT`s/`UPDATE`s. */\n toTodo(): JoinRowTodo | undefined {\n const newRows = this.rows.filter((r) => !r.persisted && r.deleted !== true && r.op === \"pending\");\n const deletedRows = this.rows.filter((r) => r.persisted && r.deleted === true && r.op === \"pending\");\n if (newRows.length === 0 && deletedRows.length === 0) {\n return undefined;\n }\n return {\n m2m: this.m2m,\n newRows,\n deletedRows,\n resetAfterFlushed: () => {\n for (const row of this.rows) {\n if (row.op === JoinRowOperation.Pending || row.op === JoinRowOperation.Flushed)\n row.op = JoinRowOperation.Completed;\n }\n },\n // The driver flushes pure (int, int) FK pairs; resolve them here so it never has to know\n // whether a column points at an entity (use its id) or an enum (its value is already the id).\n dbValue: (row, columnName) => this.#dbValue(row, columnName),\n isNew: (row, columnName) => isNewColumn(row.columns[columnName]),\n };\n }\n\n get hasChanges() {\n return this.rows.some(({ op }) => op === JoinRowOperation.Pending || op === JoinRowOperation.Flushed);\n }\n\n /** The db int value for `row`'s `columnName`: an entity's id, or (for enums) the enum's id itself. */\n #dbValue(row: JoinRow, columnName: string): number {\n const value = row.columns[columnName];\n if (typeof value === \"number\") return value;\n const meta = columnName === this.m2m.columnName ? this.m2m.meta : this.m2m.otherMeta!;\n return keyToNumber(meta, value.idTagged)!;\n }\n\n /**\n * Invalidates caches & queues reactivity for a join-row change.\n *\n * The owning entity (`e1`) always reacts; the \"other\" side only reacts when it is an entity,\n * since enum other-sides have no `em`/reverse-field to keep in sync.\n */\n #reactToChange(m2m: ManyToManyLike, e1: Entity, e2: JoinColumnValue): void {\n const { em } = this.m2m.entity;\n const api = getEmInternalApi(e1.em);\n api.isLoadedCache.resetIsLoaded(e1, m2m.fieldName);\n this.rm.queueDownstreamReactables(e1, m2m.fieldName);\n if (getBaseAndSelfMetas(e1).some((meta) => meta.config.__data.touchOnChange.has(m2m.fieldName))) {\n em.touch(e1);\n }\n if (!m2m.otherEnum) {\n const other = e2 as Entity;\n const otherFieldName = m2m.otherFieldName!;\n api.isLoadedCache.resetIsLoaded(other, otherFieldName);\n this.rm.queueDownstreamReactables(other, otherFieldName);\n if (getBaseAndSelfMetas(other).some((meta) => meta.config.__data.touchOnChange.has(otherFieldName))) {\n em.touch(other);\n }\n }\n }\n}\n\n/**\n * A \"psuedo-entity\" for a join row.\n *\n * We treat this as a special entity, i.e. it has two \"relations\" to each entity for the current\n * row, an optional surrogate `id` primary key, and an optional `created_at` column.\n *\n * These rows are immutable, i.e. once created we don't change either FK, and instead make\n * collection changes only by inserting new rows and deleting old rows.\n *\n * This makes the column1+column2 combination a composite key. For id-less join tables, that\n * composite is the actual primary key and `id` is always undefined.\n */\nexport interface JoinRow {\n /**\n * Whether our relation has been processed or not.\n *\n * - `pending` means we've not flushed it to the Database\n * - `flushed` means we've flushed but `em.flush` hasn't fully completed yet, likely due to AsyncReactiveField calcs\n * - `completed` means we've been flushed and `em.flush` has completed\n */\n op: JoinRowOperation;\n /** The surrogate key for id-ful join tables; always undefined for id-less tables. */\n id: number | undefined;\n /**\n * Whether this row exists (or is assumed to exist) in the database.\n *\n * This is orthogonal to `op` (the flush lifecycle) and is what distinguishes a pending insert\n * from a pending delete: a `pending` row that is `!persisted` is a pending INSERT (added in\n * memory, not yet in the db), while a `pending` row that is `persisted` is a pending DELETE\n * (in the db, marked `deleted`). `op` alone cannot tell these apart, because both inserts and\n * deletes walk the same `pending -> flushed -> completed` progression.\n *\n * We track this as its own flag rather than inferring it from `id` being set/unset, because\n * id-less join tables (whose PK is just the composite of the two FKs) never have an `id` — so\n * `id === undefined` would be ambiguous. `persisted` is the id-agnostic generalization of the\n * `id`-is-set check that id-ful tables historically relied on.\n *\n * It must survive add/remove/re-add sequences: e.g. loading a row (persisted), removing it\n * (pending delete), then re-adding it (`deleted` flipped back to false, `op` back to `pending`)\n * leaves a `pending && !deleted` row that looks identical to a fresh insert — but it is still in\n * the db, so a subsequent remove must issue a DELETE, which only `persisted` can tell us.\n */\n persisted: boolean;\n /** Maps each FK column to its value: an `Entity`, or (for `EnumCollection`s) an enum's numeric id. */\n columns: Record<string, JoinColumnValue>;\n created_at?: Date;\n deleted?: boolean;\n}\n\n/** An enum to track our insert/delete state progression. */\nexport enum JoinRowOperation {\n Pending = \"pending\",\n Flushed = \"flushed\",\n Completed = \"completed\",\n}\n\n/** Keep an in-memory index to avoid sequentially scanning `rows`. */\nclass ManyToManyIndex {\n private indexes: Record<string, Map<JoinColumnValue, Map<JoinColumnValue, JoinRow>>> = {};\n\n constructor(private readonly m2m: ManyToManyLike) {\n this.indexes[m2m.columnName] = new Map();\n this.indexes[m2m.otherColumnName] = new Map();\n }\n\n add(m2m: ManyToManyLike, e1: JoinColumnValue, e2: JoinColumnValue, value: JoinRow): void {\n // Store both e1+e2 => value and e2+e1 => value so we can do lookups from either side\n this.#doAdd(this.indexes[m2m.columnName], e1, e2, value);\n this.#doAdd(this.indexes[m2m.otherColumnName], e2, e1, value);\n }\n\n remove(value: JoinRow): void {\n const [[column1, e1], [column2, e2]] = Object.entries(value.columns);\n this.#doRemove(this.indexes[column1], e1, e2);\n this.#doRemove(this.indexes[column2], e2, e1);\n }\n\n get(m2m: ManyToManyLike, e1: JoinColumnValue, e2: JoinColumnValue): JoinRow | undefined {\n return this.indexes[m2m.columnName].get(e1)?.get(e2);\n }\n\n /** Cheat and use the index to return \"the other entities\" for `entity`. */\n getOthers(columnName: string, entity: JoinColumnValue): JoinRow[] {\n // It's empty m2m collection won't have any other entities, and so no index entries\n const map = this.indexes[columnName].get(entity);\n if (!map) return [];\n // Sort for a stable order regardless of how many batches contributed rows — the underlying\n // Map preserves insertion order, which depends on DataLoader timing and is non-deterministic\n // across processes. New rows (no key yet) sort last.\n const rows = Array.from(map.values());\n if (this.m2m.hasJoinTableId) {\n // Sort by join-row id.\n return rows.sort((a, b) => (a.id ?? Infinity) - (b.id ?? Infinity));\n }\n // Id-less tables have no surrogate id, so sort by the other side's id.\n const otherColumn = columnName === this.m2m.columnName ? this.m2m.otherColumnName : this.m2m.columnName;\n if (this.m2m.otherEnum && otherColumn === this.m2m.otherColumnName) {\n // The other side is an enum, so its column value is already its numeric id.\n return rows.sort((a, b) => (a.columns[otherColumn] as number) - (b.columns[otherColumn] as number));\n }\n const otherMeta = columnName === this.m2m.columnName ? this.m2m.otherMeta! : this.m2m.meta;\n const key = (r: JoinRow) => {\n const other = r.columns[otherColumn] as Entity;\n return other.isNewEntity ? Infinity : keyToNumber(otherMeta, other.id)!;\n };\n return rows.sort((a, b) => key(a) - key(b));\n }\n\n #doAdd(\n index: Map<JoinColumnValue, Map<JoinColumnValue, JoinRow>>,\n e1: JoinColumnValue,\n e2: JoinColumnValue,\n value: JoinRow,\n ): void {\n const map = index.get(e1) ?? new Map();\n if (map.size === 0) index.set(e1, map);\n map.set(e2, value);\n }\n\n #doRemove(\n index: Map<JoinColumnValue, Map<JoinColumnValue, JoinRow>>,\n e1: JoinColumnValue,\n e2: JoinColumnValue,\n ): void {\n index.get(e1)?.delete(e2);\n }\n}\n"],"mappings":"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"}
|
package/build/PendingChanges.cjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Entity } from "./Entity.cjs";
|
|
2
|
-
//#region src/PendingChanges.d.ts
|
|
3
|
-
/** A new entity that hasn't been flushed yet. */
|
|
4
|
-
interface PendingCreate {
|
|
5
|
-
kind: "create";
|
|
6
|
-
entity: Entity;
|
|
7
|
-
}
|
|
8
|
-
/** An existing entity with dirty fields or that was touched. */
|
|
9
|
-
interface PendingUpdate {
|
|
10
|
-
kind: "update";
|
|
11
|
-
entity: Entity;
|
|
12
|
-
}
|
|
13
|
-
/** An entity marked for deletion. */
|
|
14
|
-
interface PendingDelete {
|
|
15
|
-
kind: "delete";
|
|
16
|
-
entity: Entity;
|
|
17
|
-
}
|
|
18
|
-
/** A many-to-many join row being added or removed. */
|
|
19
|
-
interface PendingM2M {
|
|
20
|
-
kind: "m2m";
|
|
21
|
-
op: "add" | "remove";
|
|
22
|
-
joinTableName: string;
|
|
23
|
-
entities: [Entity, Entity];
|
|
24
|
-
}
|
|
25
|
-
/** A discriminated union of all pending changes tracked by the EntityManager. */
|
|
26
|
-
type PendingChange = PendingCreate | PendingUpdate | PendingDelete | PendingM2M;
|
|
27
|
-
//#endregion
|
|
28
|
-
export { PendingChange, PendingCreate, PendingDelete, PendingM2M, PendingUpdate };
|
|
29
|
-
//# sourceMappingURL=PendingChanges.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PendingChanges.d.cts","names":[],"sources":["../src/PendingChanges.ts"],"mappings":";;;UAGiB;EACf;EACA,QAAQ;;;UAIO;EACf;EACA,QAAQ;;;UAIO;EACf;EACA,QAAQ;;;UAIO;EACf;EACA;EACA;EACA,WAAW,QAAQ;;;KAIT,gBAAgB,gBAAgB,gBAAgB,gBAAgB"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Entity } from "./Entity.mjs";
|
|
2
|
-
//#region src/PendingChanges.d.ts
|
|
3
|
-
/** A new entity that hasn't been flushed yet. */
|
|
4
|
-
interface PendingCreate {
|
|
5
|
-
kind: "create";
|
|
6
|
-
entity: Entity;
|
|
7
|
-
}
|
|
8
|
-
/** An existing entity with dirty fields or that was touched. */
|
|
9
|
-
interface PendingUpdate {
|
|
10
|
-
kind: "update";
|
|
11
|
-
entity: Entity;
|
|
12
|
-
}
|
|
13
|
-
/** An entity marked for deletion. */
|
|
14
|
-
interface PendingDelete {
|
|
15
|
-
kind: "delete";
|
|
16
|
-
entity: Entity;
|
|
17
|
-
}
|
|
18
|
-
/** A many-to-many join row being added or removed. */
|
|
19
|
-
interface PendingM2M {
|
|
20
|
-
kind: "m2m";
|
|
21
|
-
op: "add" | "remove";
|
|
22
|
-
joinTableName: string;
|
|
23
|
-
entities: [Entity, Entity];
|
|
24
|
-
}
|
|
25
|
-
/** A discriminated union of all pending changes tracked by the EntityManager. */
|
|
26
|
-
type PendingChange = PendingCreate | PendingUpdate | PendingDelete | PendingM2M;
|
|
27
|
-
//#endregion
|
|
28
|
-
export { PendingChange, PendingCreate, PendingDelete, PendingM2M, PendingUpdate };
|
|
29
|
-
//# sourceMappingURL=PendingChanges.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PendingChanges.d.mts","names":[],"sources":["../src/PendingChanges.ts"],"mappings":";;;UAGiB;EACf;EACA,QAAQ;;;UAIO;EACf;EACA,QAAQ;;;UAIO;EACf;EACA,QAAQ;;;UAIO;EACf;EACA;EACA;EACA,WAAW,QAAQ;;;KAIT,gBAAgB,gBAAgB,gBAAgB,gBAAgB"}
|
package/build/PendingChanges.js
DELETED