joist-core 2.3.0 → 2.4.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/BaseEntity.cjs +112 -0
- package/build/BaseEntity.cjs.map +1 -0
- package/build/BaseEntity.d.cts +73 -0
- package/build/BaseEntity.d.cts.map +1 -0
- package/build/BaseEntity.d.mts +73 -0
- package/build/BaseEntity.d.mts.map +1 -0
- package/build/BaseEntity.js +99 -110
- package/build/BaseEntity.js.map +1 -1
- package/build/Entity.cjs +12 -0
- package/build/Entity.cjs.map +1 -0
- package/build/Entity.d.cts +42 -0
- package/build/Entity.d.cts.map +1 -0
- package/build/Entity.d.mts +42 -0
- package/build/Entity.d.mts.map +1 -0
- package/build/Entity.js +8 -5
- package/build/Entity.js.map +1 -1
- package/build/EntityFields.cjs +1 -0
- package/build/EntityFields.d.cts +36 -0
- package/build/EntityFields.d.cts.map +1 -0
- package/build/EntityFields.d.mts +36 -0
- package/build/EntityFields.d.mts.map +1 -0
- package/build/EntityFields.js +1 -3
- package/build/EntityManager.cjs +1935 -0
- package/build/EntityManager.cjs.map +1 -0
- package/build/EntityManager.d.cts +835 -0
- package/build/EntityManager.d.cts.map +1 -0
- package/build/EntityManager.d.mts +835 -0
- package/build/EntityManager.d.mts.map +1 -0
- package/build/EntityManager.js +1812 -2211
- package/build/EntityManager.js.map +1 -1
- package/build/EntityMetadata.cjs +75 -0
- package/build/EntityMetadata.cjs.map +1 -0
- package/build/EntityMetadata.d.cts +262 -0
- package/build/EntityMetadata.d.cts.map +1 -0
- package/build/EntityMetadata.d.mts +262 -0
- package/build/EntityMetadata.d.mts.map +1 -0
- package/build/EntityMetadata.js +31 -48
- package/build/EntityMetadata.js.map +1 -1
- package/build/EnumMetadata.cjs +1 -0
- package/build/EnumMetadata.d.cts +18 -0
- package/build/EnumMetadata.d.cts.map +1 -0
- package/build/EnumMetadata.d.mts +18 -0
- package/build/EnumMetadata.d.mts.map +1 -0
- package/build/EnumMetadata.js +1 -3
- package/build/IndexManager.cjs +178 -0
- package/build/IndexManager.cjs.map +1 -0
- package/build/IndexManager.d.cts +36 -0
- package/build/IndexManager.d.cts.map +1 -0
- package/build/IndexManager.d.mts +36 -0
- package/build/IndexManager.d.mts.map +1 -0
- package/build/IndexManager.js +169 -218
- package/build/IndexManager.js.map +1 -1
- package/build/InstanceData.cjs +218 -0
- package/build/InstanceData.cjs.map +1 -0
- package/build/InstanceData.d.cts +98 -0
- package/build/InstanceData.d.cts.map +1 -0
- package/build/InstanceData.d.mts +98 -0
- package/build/InstanceData.d.mts.map +1 -0
- package/build/InstanceData.js +215 -222
- package/build/InstanceData.js.map +1 -1
- package/build/PluginManager.cjs +89 -0
- package/build/PluginManager.cjs.map +1 -0
- package/build/PluginManager.d.cts +112 -0
- package/build/PluginManager.d.cts.map +1 -0
- package/build/PluginManager.d.mts +112 -0
- package/build/PluginManager.d.mts.map +1 -0
- package/build/PluginManager.js +80 -106
- package/build/PluginManager.js.map +1 -1
- package/build/RowData.cjs +37 -0
- package/build/RowData.cjs.map +1 -0
- package/build/RowData.d.cts +53 -0
- package/build/RowData.d.cts.map +1 -0
- package/build/RowData.d.mts +53 -0
- package/build/RowData.d.mts.map +1 -0
- package/build/RowData.js +35 -0
- package/build/RowData.js.map +1 -0
- package/build/_virtual/_rolldown/runtime.cjs +23 -0
- package/build/batchloaders/BatchLoader.cjs +49 -0
- package/build/batchloaders/BatchLoader.cjs.map +1 -0
- package/build/batchloaders/BatchLoader.d.cts +17 -0
- package/build/batchloaders/BatchLoader.d.cts.map +1 -0
- package/build/batchloaders/BatchLoader.d.mts +17 -0
- package/build/batchloaders/BatchLoader.d.mts.map +1 -0
- package/build/batchloaders/BatchLoader.js +45 -54
- package/build/batchloaders/BatchLoader.js.map +1 -1
- package/build/batchloaders/enumCollectionBatchLoader.cjs +66 -0
- package/build/batchloaders/enumCollectionBatchLoader.cjs.map +1 -0
- package/build/batchloaders/enumCollectionBatchLoader.d.cts +11 -0
- package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/enumCollectionBatchLoader.d.mts +11 -0
- package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/enumCollectionBatchLoader.js +58 -48
- package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -1
- package/build/batchloaders/loadBatchLoader.cjs +78 -0
- package/build/batchloaders/loadBatchLoader.cjs.map +1 -0
- package/build/batchloaders/loadBatchLoader.d.cts +20 -0
- package/build/batchloaders/loadBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/loadBatchLoader.d.mts +20 -0
- package/build/batchloaders/loadBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/loadBatchLoader.js +72 -51
- package/build/batchloaders/loadBatchLoader.js.map +1 -1
- package/build/batchloaders/manyToManyBatchLoader.cjs +78 -0
- package/build/batchloaders/manyToManyBatchLoader.cjs.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.d.cts +11 -0
- package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.d.mts +11 -0
- package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.js +70 -61
- package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/oneToManyBatchLoader.cjs +63 -0
- package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -0
- package/build/batchloaders/oneToManyBatchLoader.d.cts +11 -0
- package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/oneToManyBatchLoader.d.mts +11 -0
- package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/oneToManyBatchLoader.js +58 -48
- package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/oneToOneBatchLoader.cjs +64 -0
- package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -0
- package/build/batchloaders/oneToOneBatchLoader.d.cts +10 -0
- package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/oneToOneBatchLoader.d.mts +10 -0
- package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/oneToOneBatchLoader.js +59 -50
- package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
- package/build/batchloaders/populateBatchLoader.cjs +155 -0
- package/build/batchloaders/populateBatchLoader.cjs.map +1 -0
- package/build/batchloaders/populateBatchLoader.d.cts +17 -0
- package/build/batchloaders/populateBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/populateBatchLoader.d.mts +17 -0
- package/build/batchloaders/populateBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/populateBatchLoader.js +147 -203
- package/build/batchloaders/populateBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.cjs +78 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +10 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +10 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.js +71 -72
- package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.cjs +83 -0
- package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -0
- package/build/batchloaders/recursiveM2mBatchLoader.d.cts +10 -0
- package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/recursiveM2mBatchLoader.d.mts +10 -0
- package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/recursiveM2mBatchLoader.js +76 -79
- package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.cjs +65 -0
- package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -0
- package/build/batchloaders/recursiveParentsBatchLoader.d.cts +10 -0
- package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -0
- package/build/batchloaders/recursiveParentsBatchLoader.d.mts +10 -0
- package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -0
- package/build/batchloaders/recursiveParentsBatchLoader.js +58 -55
- package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
- package/build/changes.cjs +221 -0
- package/build/changes.cjs.map +1 -0
- package/build/changes.d.cts +95 -0
- package/build/changes.d.cts.map +1 -0
- package/build/changes.d.mts +95 -0
- package/build/changes.d.mts.map +1 -0
- package/build/changes.js +208 -285
- package/build/changes.js.map +1 -1
- package/build/config.cjs +295 -0
- package/build/config.cjs.map +1 -0
- package/build/config.d.cts +277 -0
- package/build/config.d.cts.map +1 -0
- package/build/config.d.mts +277 -0
- package/build/config.d.mts.map +1 -0
- package/build/config.js +255 -301
- package/build/config.js.map +1 -1
- package/build/configure.cjs +324 -0
- package/build/configure.cjs.map +1 -0
- package/build/configure.d.cts +19 -0
- package/build/configure.d.cts.map +1 -0
- package/build/configure.d.mts +19 -0
- package/build/configure.d.mts.map +1 -0
- package/build/configure.js +265 -348
- package/build/configure.js.map +1 -1
- package/build/dataloaders/fastWhereFilterHash.cjs +140 -0
- package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.d.cts +18 -0
- package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.d.mts +18 -0
- package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.js +108 -133
- package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
- package/build/dataloaders/findByUniqueDataLoader.cjs +58 -0
- package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -0
- package/build/dataloaders/findByUniqueDataLoader.d.cts +10 -0
- package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -0
- package/build/dataloaders/findByUniqueDataLoader.d.mts +10 -0
- package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -0
- package/build/dataloaders/findByUniqueDataLoader.js +53 -44
- package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
- package/build/dataloaders/findCountDataLoader.cjs +123 -0
- package/build/dataloaders/findCountDataLoader.cjs.map +1 -0
- package/build/dataloaders/findCountDataLoader.d.cts +19 -0
- package/build/dataloaders/findCountDataLoader.d.cts.map +1 -0
- package/build/dataloaders/findCountDataLoader.d.mts +19 -0
- package/build/dataloaders/findCountDataLoader.d.mts.map +1 -0
- package/build/dataloaders/findCountDataLoader.js +112 -109
- package/build/dataloaders/findCountDataLoader.js.map +1 -1
- package/build/dataloaders/findDataLoader.cjs +365 -0
- package/build/dataloaders/findDataLoader.cjs.map +1 -0
- package/build/dataloaders/findDataLoader.d.cts +79 -0
- package/build/dataloaders/findDataLoader.d.cts.map +1 -0
- package/build/dataloaders/findDataLoader.d.mts +79 -0
- package/build/dataloaders/findDataLoader.d.mts.map +1 -0
- package/build/dataloaders/findDataLoader.js +298 -382
- package/build/dataloaders/findDataLoader.js.map +1 -1
- package/build/dataloaders/findIdsDataLoader.cjs +82 -0
- package/build/dataloaders/findIdsDataLoader.cjs.map +1 -0
- package/build/dataloaders/findIdsDataLoader.d.cts +9 -0
- package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -0
- package/build/dataloaders/findIdsDataLoader.d.mts +9 -0
- package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -0
- package/build/dataloaders/findIdsDataLoader.js +77 -74
- package/build/dataloaders/findIdsDataLoader.js.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.cjs +120 -0
- package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -0
- package/build/dataloaders/findOrCreateDataLoader.d.cts +15 -0
- package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -0
- package/build/dataloaders/findOrCreateDataLoader.d.mts +15 -0
- package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -0
- package/build/dataloaders/findOrCreateDataLoader.js +102 -164
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.cjs +98 -0
- package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -0
- package/build/dataloaders/findPaginatedDataLoader.d.cts +10 -0
- package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -0
- package/build/dataloaders/findPaginatedDataLoader.d.mts +10 -0
- package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -0
- package/build/dataloaders/findPaginatedDataLoader.js +93 -80
- package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
- package/build/dataloaders/lensDataLoader.cjs +178 -0
- package/build/dataloaders/lensDataLoader.cjs.map +1 -0
- package/build/dataloaders/lensDataLoader.d.cts +15 -0
- package/build/dataloaders/lensDataLoader.d.cts.map +1 -0
- package/build/dataloaders/lensDataLoader.d.mts +15 -0
- package/build/dataloaders/lensDataLoader.d.mts.map +1 -0
- package/build/dataloaders/lensDataLoader.js +172 -176
- package/build/dataloaders/lensDataLoader.js.map +1 -1
- package/build/dataloaders/manyToManyFindDataLoader.cjs +84 -0
- package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -0
- package/build/dataloaders/manyToManyFindDataLoader.d.cts +12 -0
- package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -0
- package/build/dataloaders/manyToManyFindDataLoader.d.mts +12 -0
- package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -0
- package/build/dataloaders/manyToManyFindDataLoader.js +76 -70
- package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
- package/build/dataloaders/oneToManyFindDataLoader.cjs +77 -0
- package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -0
- package/build/dataloaders/oneToManyFindDataLoader.d.cts +12 -0
- package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -0
- package/build/dataloaders/oneToManyFindDataLoader.d.mts +12 -0
- package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -0
- package/build/dataloaders/oneToManyFindDataLoader.js +71 -67
- package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
- package/build/defaults.cjs +195 -0
- package/build/defaults.cjs.map +1 -0
- package/build/defaults.d.cts +56 -0
- package/build/defaults.d.cts.map +1 -0
- package/build/defaults.d.mts +56 -0
- package/build/defaults.d.mts.map +1 -0
- package/build/defaults.js +171 -271
- package/build/defaults.js.map +1 -1
- package/build/drivers/Driver.cjs +3 -0
- package/build/drivers/Driver.d.cts +51 -0
- package/build/drivers/Driver.d.cts.map +1 -0
- package/build/drivers/Driver.d.mts +51 -0
- package/build/drivers/Driver.d.mts.map +1 -0
- package/build/drivers/Driver.js +3 -3
- package/build/drivers/EntityWriter.cjs +208 -0
- package/build/drivers/EntityWriter.cjs.map +1 -0
- package/build/drivers/EntityWriter.d.cts +66 -0
- package/build/drivers/EntityWriter.d.cts.map +1 -0
- package/build/drivers/EntityWriter.d.mts +66 -0
- package/build/drivers/EntityWriter.d.mts.map +1 -0
- package/build/drivers/EntityWriter.js +183 -219
- package/build/drivers/EntityWriter.js.map +1 -1
- package/build/drivers/IdAssigner.cjs +89 -0
- package/build/drivers/IdAssigner.cjs.map +1 -0
- package/build/drivers/IdAssigner.d.cts +50 -0
- package/build/drivers/IdAssigner.d.cts.map +1 -0
- package/build/drivers/IdAssigner.d.mts +50 -0
- package/build/drivers/IdAssigner.d.mts.map +1 -0
- package/build/drivers/IdAssigner.js +80 -124
- 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 +7 -0
- package/build/drivers/index.d.cts +4 -0
- package/build/drivers/index.d.mts +4 -0
- package/build/drivers/index.js +3 -22
- package/build/fields.cjs +127 -0
- package/build/fields.cjs.map +1 -0
- package/build/fields.d.cts +29 -0
- package/build/fields.d.cts.map +1 -0
- package/build/fields.d.mts +29 -0
- package/build/fields.d.mts.map +1 -0
- package/build/fields.js +98 -160
- 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.cjs +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/PendingChanges.js +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 +87 -0
- package/build/getProperties.cjs.map +1 -0
- package/build/getProperties.d.cts +30 -0
- package/build/getProperties.d.cts.map +1 -0
- package/build/getProperties.d.mts +30 -0
- package/build/getProperties.d.mts.map +1 -0
- package/build/getProperties.js +71 -128
- package/build/getProperties.js.map +1 -1
- package/build/index.cjs +524 -0
- package/build/index.cjs.map +1 -0
- package/build/index.d.cts +180 -0
- package/build/index.d.cts.map +1 -0
- package/build/index.d.mts +180 -0
- package/build/index.d.mts.map +1 -0
- package/build/index.js +171 -292
- package/build/index.js.map +1 -1
- package/build/json.cjs +79 -0
- package/build/json.cjs.map +1 -0
- package/build/json.d.cts +76 -0
- package/build/json.d.cts.map +1 -0
- package/build/json.d.mts +76 -0
- package/build/json.d.mts.map +1 -0
- package/build/json.js +68 -106
- package/build/json.js.map +1 -1
- package/build/k.cjs +9 -0
- package/build/k.cjs.map +1 -0
- package/build/k.d.cts +1 -0
- package/build/k.d.mts +1 -0
- package/build/k.js +6 -6
- package/build/k.js.map +1 -1
- package/build/keys.cjs +181 -0
- package/build/keys.cjs.map +1 -0
- package/build/keys.d.cts +55 -0
- package/build/keys.d.cts.map +1 -0
- package/build/keys.d.mts +55 -0
- package/build/keys.d.mts.map +1 -0
- package/build/keys.js +129 -162
- package/build/keys.js.map +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 +66 -0
- package/build/logging/FactoryLogger.cjs.map +1 -0
- package/build/logging/FactoryLogger.d.cts +27 -0
- package/build/logging/FactoryLogger.d.cts.map +1 -0
- package/build/logging/FactoryLogger.d.mts +27 -0
- package/build/logging/FactoryLogger.d.mts.map +1 -0
- package/build/logging/FactoryLogger.js +58 -73
- package/build/logging/FactoryLogger.js.map +1 -1
- package/build/logging/FieldLogger.cjs +57 -0
- package/build/logging/FieldLogger.cjs.map +1 -0
- package/build/logging/FieldLogger.d.cts +32 -0
- package/build/logging/FieldLogger.d.cts.map +1 -0
- package/build/logging/FieldLogger.d.mts +32 -0
- package/build/logging/FieldLogger.d.mts.map +1 -0
- package/build/logging/FieldLogger.js +51 -67
- package/build/logging/FieldLogger.js.map +1 -1
- package/build/logging/ReactionLogger.cjs +93 -0
- package/build/logging/ReactionLogger.cjs.map +1 -0
- package/build/logging/ReactionLogger.d.cts +37 -0
- package/build/logging/ReactionLogger.d.cts.map +1 -0
- package/build/logging/ReactionLogger.d.mts +37 -0
- package/build/logging/ReactionLogger.d.mts.map +1 -0
- package/build/logging/ReactionLogger.js +76 -66
- package/build/logging/ReactionLogger.js.map +1 -1
- package/build/newEntity.cjs +89 -0
- package/build/newEntity.cjs.map +1 -0
- package/build/newEntity.d.cts +48 -0
- package/build/newEntity.d.cts.map +1 -0
- package/build/newEntity.d.mts +48 -0
- package/build/newEntity.d.mts.map +1 -0
- package/build/newEntity.js +71 -94
- package/build/newEntity.js.map +1 -1
- package/build/newTestInstance.cjs +539 -0
- package/build/newTestInstance.cjs.map +1 -0
- package/build/newTestInstance.d.cts +207 -0
- package/build/newTestInstance.d.cts.map +1 -0
- package/build/newTestInstance.d.mts +207 -0
- package/build/newTestInstance.d.mts.map +1 -0
- package/build/newTestInstance.js +459 -721
- package/build/newTestInstance.js.map +1 -1
- package/build/normalizeHints.cjs +58 -0
- package/build/normalizeHints.cjs.map +1 -0
- package/build/normalizeHints.d.cts +24 -0
- package/build/normalizeHints.d.cts.map +1 -0
- package/build/normalizeHints.d.mts +24 -0
- package/build/normalizeHints.d.mts.map +1 -0
- package/build/normalizeHints.js +40 -55
- package/build/normalizeHints.js.map +1 -1
- package/build/nowUTC.cjs +15 -0
- package/build/nowUTC.cjs.map +1 -0
- package/build/nowUTC.d.cts +10 -0
- package/build/nowUTC.d.cts.map +1 -0
- package/build/nowUTC.d.mts +10 -0
- package/build/nowUTC.d.mts.map +1 -0
- package/build/nowUTC.js +14 -0
- package/build/nowUTC.js.map +1 -0
- package/build/plugins/ImmutableEntitiesPlugin.cjs +21 -0
- package/build/plugins/ImmutableEntitiesPlugin.cjs.map +1 -0
- package/build/plugins/ImmutableEntitiesPlugin.d.cts +12 -0
- package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -0
- package/build/plugins/ImmutableEntitiesPlugin.d.mts +12 -0
- package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -0
- package/build/plugins/ImmutableEntitiesPlugin.js +19 -20
- package/build/plugins/ImmutableEntitiesPlugin.js.map +1 -1
- package/build/plugins/PreloadPlugin.cjs +3 -0
- package/build/plugins/PreloadPlugin.d.cts +77 -0
- package/build/plugins/PreloadPlugin.d.cts.map +1 -0
- package/build/plugins/PreloadPlugin.d.mts +77 -0
- package/build/plugins/PreloadPlugin.d.mts.map +1 -0
- package/build/plugins/PreloadPlugin.js +3 -3
- package/build/preloading/JsonAggregatePreloader.cjs +280 -0
- package/build/preloading/JsonAggregatePreloader.cjs.map +1 -0
- package/build/preloading/JsonAggregatePreloader.d.cts +19 -0
- package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -0
- package/build/preloading/JsonAggregatePreloader.d.mts +19 -0
- package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -0
- package/build/preloading/JsonAggregatePreloader.js +270 -320
- package/build/preloading/JsonAggregatePreloader.js.map +1 -1
- package/build/preloading/canPreload.cjs +19 -0
- package/build/preloading/canPreload.cjs.map +1 -0
- package/build/preloading/canPreload.d.cts +6 -0
- package/build/preloading/canPreload.d.cts.map +1 -0
- package/build/preloading/canPreload.d.mts +6 -0
- package/build/preloading/canPreload.d.mts.map +1 -0
- package/build/preloading/canPreload.js +15 -21
- package/build/preloading/canPreload.js.map +1 -1
- package/build/preloading/partitionHint.cjs +43 -0
- package/build/preloading/partitionHint.cjs.map +1 -0
- package/build/preloading/partitionHint.d.cts +8 -0
- package/build/preloading/partitionHint.d.cts.map +1 -0
- package/build/preloading/partitionHint.d.mts +8 -0
- package/build/preloading/partitionHint.d.mts.map +1 -0
- package/build/preloading/partitionHint.js +36 -56
- 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 +553 -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 +546 -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 +77 -0
- package/build/queries/find/QueryVisitor.cjs.map +1 -0
- package/build/queries/find/QueryVisitor.d.cts +24 -0
- package/build/queries/find/QueryVisitor.d.cts.map +1 -0
- package/build/queries/find/QueryVisitor.d.mts +24 -0
- package/build/queries/find/QueryVisitor.d.mts.map +1 -0
- package/build/queries/find/QueryVisitor.js +74 -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 +529 -0
- package/build/queries/sql/Expr.cjs.map +1 -0
- package/build/queries/sql/Expr.d.cts +284 -0
- package/build/queries/sql/Expr.d.cts.map +1 -0
- package/build/queries/sql/Expr.d.mts +284 -0
- package/build/queries/sql/Expr.d.mts.map +1 -0
- package/build/queries/sql/Expr.js +512 -0
- package/build/queries/sql/Expr.js.map +1 -0
- package/build/queries/sql/JoinTree.cjs +72 -0
- package/build/queries/sql/JoinTree.cjs.map +1 -0
- package/build/queries/sql/JoinTree.d.cts +107 -0
- package/build/queries/sql/JoinTree.d.cts.map +1 -0
- package/build/queries/sql/JoinTree.d.mts +107 -0
- package/build/queries/sql/JoinTree.d.mts.map +1 -0
- package/build/queries/sql/JoinTree.js +71 -0
- package/build/queries/sql/JoinTree.js.map +1 -0
- package/build/queries/sql/Tables.cjs +803 -0
- package/build/queries/sql/Tables.cjs.map +1 -0
- package/build/queries/sql/Tables.d.cts +322 -0
- package/build/queries/sql/Tables.d.cts.map +1 -0
- package/build/queries/sql/Tables.d.mts +322 -0
- package/build/queries/sql/Tables.d.mts.map +1 -0
- package/build/queries/sql/Tables.js +786 -0
- package/build/queries/sql/Tables.js.map +1 -0
- package/build/queries/sql/custom.cjs +52 -0
- package/build/queries/sql/custom.cjs.map +1 -0
- package/build/queries/sql/custom.d.cts +85 -0
- package/build/queries/sql/custom.d.cts.map +1 -0
- package/build/queries/sql/custom.d.mts +85 -0
- package/build/queries/sql/custom.d.mts.map +1 -0
- package/build/queries/sql/custom.js +49 -0
- package/build/queries/sql/custom.js.map +1 -0
- package/build/queries/sql/execute.cjs +276 -0
- package/build/queries/sql/execute.cjs.map +1 -0
- package/build/queries/sql/execute.d.cts +294 -0
- package/build/queries/sql/execute.d.cts.map +1 -0
- package/build/queries/sql/execute.d.mts +294 -0
- package/build/queries/sql/execute.d.mts.map +1 -0
- package/build/queries/sql/execute.js +273 -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 +1610 -0
- package/build/queries/sql/query.cjs.map +1 -0
- package/build/queries/sql/query.d.cts +844 -0
- package/build/queries/sql/query.d.cts.map +1 -0
- package/build/queries/sql/query.d.mts +844 -0
- package/build/queries/sql/query.d.mts.map +1 -0
- package/build/queries/sql/query.js +1592 -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 +240 -0
- package/build/queries/valueFilters.cjs.map +1 -0
- package/build/queries/valueFilters.d.cts +26 -0
- package/build/queries/valueFilters.d.cts.map +1 -0
- package/build/queries/valueFilters.d.mts +26 -0
- package/build/queries/valueFilters.d.mts.map +1 -0
- package/build/queries/valueFilters.js +236 -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/AbstractPropertyImpl.cjs +16 -0
- package/build/relations/AbstractPropertyImpl.cjs.map +1 -0
- package/build/relations/AbstractPropertyImpl.d.cts +11 -0
- package/build/relations/AbstractPropertyImpl.d.cts.map +1 -0
- package/build/relations/AbstractPropertyImpl.d.mts +11 -0
- package/build/relations/AbstractPropertyImpl.d.mts.map +1 -0
- package/build/relations/AbstractPropertyImpl.js +13 -13
- package/build/relations/AbstractPropertyImpl.js.map +1 -1
- package/build/relations/AbstractRelationImpl.cjs +15 -0
- package/build/relations/AbstractRelationImpl.cjs.map +1 -0
- package/build/relations/AbstractRelationImpl.d.cts +43 -0
- package/build/relations/AbstractRelationImpl.d.cts.map +1 -0
- package/build/relations/AbstractRelationImpl.d.mts +43 -0
- package/build/relations/AbstractRelationImpl.d.mts.map +1 -0
- package/build/relations/AbstractRelationImpl.js +12 -17
- package/build/relations/AbstractRelationImpl.js.map +1 -1
- package/build/relations/AsyncProperty.cjs +75 -0
- package/build/relations/AsyncProperty.cjs.map +1 -0
- package/build/relations/AsyncProperty.d.cts +40 -0
- package/build/relations/AsyncProperty.d.cts.map +1 -0
- package/build/relations/AsyncProperty.d.mts +40 -0
- package/build/relations/AsyncProperty.d.mts.map +1 -0
- package/build/relations/AsyncProperty.js +61 -70
- package/build/relations/AsyncProperty.js.map +1 -1
- package/build/relations/AsyncReactiveField.cjs +110 -0
- package/build/relations/AsyncReactiveField.cjs.map +1 -0
- package/build/relations/AsyncReactiveField.d.cts +50 -0
- package/build/relations/AsyncReactiveField.d.cts.map +1 -0
- package/build/relations/AsyncReactiveField.d.mts +50 -0
- package/build/relations/AsyncReactiveField.d.mts.map +1 -0
- package/build/relations/AsyncReactiveField.js +97 -116
- package/build/relations/AsyncReactiveField.js.map +1 -1
- package/build/relations/Collection.cjs +23 -0
- package/build/relations/Collection.cjs.map +1 -0
- package/build/relations/Collection.d.cts +37 -0
- package/build/relations/Collection.d.cts.map +1 -0
- package/build/relations/Collection.d.mts +37 -0
- package/build/relations/Collection.d.mts.map +1 -0
- package/build/relations/Collection.js +14 -11
- package/build/relations/Collection.js.map +1 -1
- package/build/relations/CustomCollection.cjs +144 -0
- package/build/relations/CustomCollection.cjs.map +1 -0
- package/build/relations/CustomCollection.d.cts +74 -0
- package/build/relations/CustomCollection.d.cts.map +1 -0
- package/build/relations/CustomCollection.d.mts +74 -0
- package/build/relations/CustomCollection.d.mts.map +1 -0
- package/build/relations/CustomCollection.js +138 -162
- package/build/relations/CustomCollection.js.map +1 -1
- package/build/relations/CustomReference.cjs +142 -0
- package/build/relations/CustomReference.cjs.map +1 -0
- package/build/relations/CustomReference.d.cts +76 -0
- package/build/relations/CustomReference.d.cts.map +1 -0
- package/build/relations/CustomReference.d.mts +76 -0
- package/build/relations/CustomReference.d.mts.map +1 -0
- package/build/relations/CustomReference.js +135 -147
- package/build/relations/CustomReference.js.map +1 -1
- package/build/relations/EnumCollection.cjs +178 -0
- package/build/relations/EnumCollection.cjs.map +1 -0
- package/build/relations/EnumCollection.d.cts +86 -0
- package/build/relations/EnumCollection.d.cts.map +1 -0
- package/build/relations/EnumCollection.d.mts +86 -0
- package/build/relations/EnumCollection.d.mts.map +1 -0
- package/build/relations/EnumCollection.js +172 -207
- package/build/relations/EnumCollection.js.map +1 -1
- package/build/relations/LargeCollection.cjs +4 -0
- package/build/relations/LargeCollection.d.cts +22 -0
- package/build/relations/LargeCollection.d.cts.map +1 -0
- package/build/relations/LargeCollection.d.mts +22 -0
- package/build/relations/LargeCollection.d.mts.map +1 -0
- package/build/relations/LargeCollection.js +4 -3
- package/build/relations/LazyField.cjs +140 -0
- package/build/relations/LazyField.cjs.map +1 -0
- package/build/relations/LazyField.d.cts +51 -0
- package/build/relations/LazyField.d.cts.map +1 -0
- package/build/relations/LazyField.d.mts +51 -0
- package/build/relations/LazyField.d.mts.map +1 -0
- package/build/relations/LazyField.js +134 -0
- package/build/relations/LazyField.js.map +1 -0
- package/build/relations/ManyToManyCollection.cjs +421 -0
- package/build/relations/ManyToManyCollection.cjs.map +1 -0
- package/build/relations/ManyToManyCollection.d.cts +59 -0
- package/build/relations/ManyToManyCollection.d.cts.map +1 -0
- package/build/relations/ManyToManyCollection.d.mts +59 -0
- package/build/relations/ManyToManyCollection.d.mts.map +1 -0
- package/build/relations/ManyToManyCollection.js +411 -471
- package/build/relations/ManyToManyCollection.js.map +1 -1
- package/build/relations/ManyToManyLargeCollection.cjs +91 -0
- package/build/relations/ManyToManyLargeCollection.cjs.map +1 -0
- package/build/relations/ManyToManyLargeCollection.d.cts +34 -0
- package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -0
- package/build/relations/ManyToManyLargeCollection.d.mts +34 -0
- package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -0
- package/build/relations/ManyToManyLargeCollection.js +85 -118
- package/build/relations/ManyToManyLargeCollection.js.map +1 -1
- package/build/relations/ManyToOneReference.cjs +364 -0
- package/build/relations/ManyToOneReference.cjs.map +1 -0
- package/build/relations/ManyToOneReference.d.cts +121 -0
- package/build/relations/ManyToOneReference.d.cts.map +1 -0
- package/build/relations/ManyToOneReference.d.mts +121 -0
- package/build/relations/ManyToOneReference.d.mts.map +1 -0
- package/build/relations/ManyToOneReference.js +344 -411
- package/build/relations/ManyToOneReference.js.map +1 -1
- package/build/relations/OneToManyCollection.cjs +492 -0
- package/build/relations/OneToManyCollection.cjs.map +1 -0
- package/build/relations/OneToManyCollection.d.cts +69 -0
- package/build/relations/OneToManyCollection.d.cts.map +1 -0
- package/build/relations/OneToManyCollection.d.mts +69 -0
- package/build/relations/OneToManyCollection.d.mts.map +1 -0
- package/build/relations/OneToManyCollection.js +480 -579
- package/build/relations/OneToManyCollection.js.map +1 -1
- package/build/relations/OneToManyLargeCollection.cjs +85 -0
- package/build/relations/OneToManyLargeCollection.cjs.map +1 -0
- package/build/relations/OneToManyLargeCollection.d.cts +29 -0
- package/build/relations/OneToManyLargeCollection.d.cts.map +1 -0
- package/build/relations/OneToManyLargeCollection.d.mts +29 -0
- package/build/relations/OneToManyLargeCollection.d.mts.map +1 -0
- package/build/relations/OneToManyLargeCollection.js +79 -99
- package/build/relations/OneToManyLargeCollection.js.map +1 -1
- package/build/relations/OneToOneReference.cjs +209 -0
- package/build/relations/OneToOneReference.cjs.map +1 -0
- package/build/relations/OneToOneReference.d.cts +97 -0
- package/build/relations/OneToOneReference.d.cts.map +1 -0
- package/build/relations/OneToOneReference.d.mts +97 -0
- package/build/relations/OneToOneReference.d.mts.map +1 -0
- package/build/relations/OneToOneReference.js +193 -221
- package/build/relations/OneToOneReference.js.map +1 -1
- package/build/relations/PolymorphicReference.cjs +210 -0
- package/build/relations/PolymorphicReference.cjs.map +1 -0
- package/build/relations/PolymorphicReference.d.cts +93 -0
- package/build/relations/PolymorphicReference.d.cts.map +1 -0
- package/build/relations/PolymorphicReference.d.mts +93 -0
- package/build/relations/PolymorphicReference.d.mts.map +1 -0
- package/build/relations/PolymorphicReference.js +200 -237
- package/build/relations/PolymorphicReference.js.map +1 -1
- package/build/relations/PropertySymbols.cjs +7 -0
- package/build/relations/PropertySymbols.cjs.map +1 -0
- package/build/relations/PropertySymbols.d.cts +5 -0
- package/build/relations/PropertySymbols.d.cts.map +1 -0
- package/build/relations/PropertySymbols.d.mts +5 -0
- package/build/relations/PropertySymbols.d.mts.map +1 -0
- package/build/relations/PropertySymbols.js +6 -0
- package/build/relations/PropertySymbols.js.map +1 -0
- package/build/relations/ReactiveField.cjs +114 -0
- package/build/relations/ReactiveField.cjs.map +1 -0
- package/build/relations/ReactiveField.d.cts +88 -0
- package/build/relations/ReactiveField.d.cts.map +1 -0
- package/build/relations/ReactiveField.d.mts +88 -0
- package/build/relations/ReactiveField.d.mts.map +1 -0
- package/build/relations/ReactiveField.js +104 -137
- package/build/relations/ReactiveField.js.map +1 -1
- package/build/relations/ReactiveGetter.cjs +40 -0
- package/build/relations/ReactiveGetter.cjs.map +1 -0
- package/build/relations/ReactiveGetter.d.cts +33 -0
- package/build/relations/ReactiveGetter.d.cts.map +1 -0
- package/build/relations/ReactiveGetter.d.mts +33 -0
- package/build/relations/ReactiveGetter.d.mts.map +1 -0
- package/build/relations/ReactiveGetter.js +30 -31
- package/build/relations/ReactiveGetter.js.map +1 -1
- package/build/relations/ReactiveManyToMany.cjs +198 -0
- package/build/relations/ReactiveManyToMany.cjs.map +1 -0
- package/build/relations/ReactiveManyToMany.d.cts +63 -0
- package/build/relations/ReactiveManyToMany.d.cts.map +1 -0
- package/build/relations/ReactiveManyToMany.d.mts +63 -0
- package/build/relations/ReactiveManyToMany.d.mts.map +1 -0
- package/build/relations/ReactiveManyToMany.js +187 -238
- package/build/relations/ReactiveManyToMany.js.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.cjs +148 -0
- package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -0
- package/build/relations/ReactiveManyToManyOtherSide.d.cts +53 -0
- package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -0
- package/build/relations/ReactiveManyToManyOtherSide.d.mts +53 -0
- package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -0
- package/build/relations/ReactiveManyToManyOtherSide.js +139 -152
- package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
- package/build/relations/ReactiveReference.cjs +336 -0
- package/build/relations/ReactiveReference.cjs.map +1 -0
- package/build/relations/ReactiveReference.d.cts +124 -0
- package/build/relations/ReactiveReference.d.cts.map +1 -0
- package/build/relations/ReactiveReference.d.mts +124 -0
- package/build/relations/ReactiveReference.d.mts.map +1 -0
- package/build/relations/ReactiveReference.js +321 -385
- package/build/relations/ReactiveReference.js.map +1 -1
- package/build/relations/ReadOnlyCollection.cjs +18 -0
- package/build/relations/ReadOnlyCollection.cjs.map +1 -0
- package/build/relations/ReadOnlyCollection.d.cts +22 -0
- package/build/relations/ReadOnlyCollection.d.cts.map +1 -0
- package/build/relations/ReadOnlyCollection.d.mts +22 -0
- package/build/relations/ReadOnlyCollection.d.mts.map +1 -0
- package/build/relations/ReadOnlyCollection.js +9 -9
- package/build/relations/ReadOnlyCollection.js.map +1 -1
- package/build/relations/RecursiveCollection.cjs +386 -0
- package/build/relations/RecursiveCollection.cjs.map +1 -0
- package/build/relations/RecursiveCollection.d.cts +112 -0
- package/build/relations/RecursiveCollection.d.cts.map +1 -0
- package/build/relations/RecursiveCollection.d.mts +112 -0
- package/build/relations/RecursiveCollection.d.mts.map +1 -0
- package/build/relations/RecursiveCollection.js +367 -427
- package/build/relations/RecursiveCollection.js.map +1 -1
- package/build/relations/RecursiveCycleError.cjs +17 -0
- package/build/relations/RecursiveCycleError.cjs.map +1 -0
- package/build/relations/RecursiveCycleError.d.cts +15 -0
- package/build/relations/RecursiveCycleError.d.cts.map +1 -0
- package/build/relations/RecursiveCycleError.d.mts +15 -0
- package/build/relations/RecursiveCycleError.d.mts.map +1 -0
- package/build/relations/RecursiveCycleError.js +14 -13
- package/build/relations/RecursiveCycleError.js.map +1 -1
- package/build/relations/Reference.cjs +25 -0
- package/build/relations/Reference.cjs.map +1 -0
- package/build/relations/Reference.d.cts +39 -0
- package/build/relations/Reference.d.cts.map +1 -0
- package/build/relations/Reference.d.mts +39 -0
- package/build/relations/Reference.d.mts.map +1 -0
- package/build/relations/Reference.js +15 -14
- package/build/relations/Reference.js.map +1 -1
- package/build/relations/ReferenceSymbols.cjs +7 -0
- package/build/relations/ReferenceSymbols.cjs.map +1 -0
- package/build/relations/ReferenceSymbols.d.cts +5 -0
- package/build/relations/ReferenceSymbols.d.cts.map +1 -0
- package/build/relations/ReferenceSymbols.d.mts +5 -0
- package/build/relations/ReferenceSymbols.d.mts.map +1 -0
- package/build/relations/ReferenceSymbols.js +6 -0
- package/build/relations/ReferenceSymbols.js.map +1 -0
- package/build/relations/Relation.cjs +17 -0
- package/build/relations/Relation.cjs.map +1 -0
- package/build/relations/Relation.d.cts +16 -0
- package/build/relations/Relation.d.cts.map +1 -0
- package/build/relations/Relation.d.mts +16 -0
- package/build/relations/Relation.d.mts.map +1 -0
- package/build/relations/Relation.js +10 -8
- package/build/relations/Relation.js.map +1 -1
- package/build/relations/RelationSymbols.cjs +9 -0
- package/build/relations/RelationSymbols.cjs.map +1 -0
- package/build/relations/RelationSymbols.d.cts +6 -0
- package/build/relations/RelationSymbols.d.cts.map +1 -0
- package/build/relations/RelationSymbols.d.mts +6 -0
- package/build/relations/RelationSymbols.d.mts.map +1 -0
- package/build/relations/RelationSymbols.js +7 -0
- package/build/relations/RelationSymbols.js.map +1 -0
- package/build/relations/hasAsyncMethod.cjs +47 -0
- package/build/relations/hasAsyncMethod.cjs.map +1 -0
- package/build/relations/hasAsyncMethod.d.cts +29 -0
- package/build/relations/hasAsyncMethod.d.cts.map +1 -0
- package/build/relations/hasAsyncMethod.d.mts +29 -0
- package/build/relations/hasAsyncMethod.d.mts.map +1 -0
- package/build/relations/hasAsyncMethod.js +40 -43
- package/build/relations/hasAsyncMethod.js.map +1 -1
- package/build/relations/hasManyDerived.cjs +35 -0
- package/build/relations/hasManyDerived.cjs.map +1 -0
- package/build/relations/hasManyDerived.d.cts +25 -0
- package/build/relations/hasManyDerived.d.cts.map +1 -0
- package/build/relations/hasManyDerived.d.mts +25 -0
- package/build/relations/hasManyDerived.d.mts.map +1 -0
- package/build/relations/hasManyDerived.js +30 -28
- package/build/relations/hasManyDerived.js.map +1 -1
- package/build/relations/hasManyThrough.cjs +29 -0
- package/build/relations/hasManyThrough.cjs.map +1 -0
- package/build/relations/hasManyThrough.d.cts +16 -0
- package/build/relations/hasManyThrough.d.cts.map +1 -0
- package/build/relations/hasManyThrough.d.mts +16 -0
- package/build/relations/hasManyThrough.d.mts.map +1 -0
- package/build/relations/hasManyThrough.js +24 -20
- package/build/relations/hasManyThrough.js.map +1 -1
- package/build/relations/hasOneDerived.cjs +32 -0
- package/build/relations/hasOneDerived.cjs.map +1 -0
- package/build/relations/hasOneDerived.d.cts +15 -0
- package/build/relations/hasOneDerived.d.cts.map +1 -0
- package/build/relations/hasOneDerived.d.mts +15 -0
- package/build/relations/hasOneDerived.d.mts.map +1 -0
- package/build/relations/hasOneDerived.js +27 -20
- package/build/relations/hasOneDerived.js.map +1 -1
- package/build/relations/hasOneThrough.cjs +31 -0
- package/build/relations/hasOneThrough.cjs.map +1 -0
- package/build/relations/hasOneThrough.d.cts +16 -0
- package/build/relations/hasOneThrough.d.cts.map +1 -0
- package/build/relations/hasOneThrough.d.mts +16 -0
- package/build/relations/hasOneThrough.d.mts.map +1 -0
- package/build/relations/hasOneThrough.js +26 -22
- package/build/relations/hasOneThrough.js.map +1 -1
- package/build/relations/hasProperty.cjs +109 -0
- package/build/relations/hasProperty.cjs.map +1 -0
- package/build/relations/hasProperty.d.cts +53 -0
- package/build/relations/hasProperty.d.cts.map +1 -0
- package/build/relations/hasProperty.d.mts +53 -0
- package/build/relations/hasProperty.d.mts.map +1 -0
- package/build/relations/hasProperty.js +90 -95
- package/build/relations/hasProperty.js.map +1 -1
- package/build/relations/index.cjs +99 -0
- package/build/relations/index.d.cts +32 -0
- package/build/relations/index.d.mts +32 -0
- package/build/relations/index.js +31 -97
- 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 +74 -0
- package/build/resurrection.cjs.map +1 -0
- package/build/resurrection.d.cts +13 -0
- package/build/resurrection.d.cts.map +1 -0
- package/build/resurrection.d.mts +13 -0
- package/build/resurrection.d.mts.map +1 -0
- package/build/resurrection.js +48 -69
- package/build/resurrection.js.map +1 -1
- package/build/rules.cjs +227 -0
- package/build/rules.cjs.map +1 -0
- package/build/rules.d.cts +145 -0
- package/build/rules.d.cts.map +1 -0
- package/build/rules.d.mts +145 -0
- package/build/rules.d.mts.map +1 -0
- package/build/rules.js +189 -204
- package/build/rules.js.map +1 -1
- package/build/runtimeConfig.cjs +25 -0
- package/build/runtimeConfig.cjs.map +1 -0
- package/build/runtimeConfig.d.cts +24 -0
- package/build/runtimeConfig.d.cts.map +1 -0
- package/build/runtimeConfig.d.mts +24 -0
- package/build/runtimeConfig.d.mts.map +1 -0
- package/build/runtimeConfig.js +16 -12
- package/build/runtimeConfig.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/trusted.cjs +16 -0
- package/build/trusted.cjs.map +1 -0
- package/build/trusted.d.cts +8 -0
- package/build/trusted.d.cts.map +1 -0
- package/build/trusted.d.mts +8 -0
- package/build/trusted.d.mts.map +1 -0
- package/build/trusted.js +8 -8
- package/build/trusted.js.map +1 -1
- package/build/typeMap.cjs +3 -0
- package/build/typeMap.d.cts +88 -0
- package/build/typeMap.d.cts.map +1 -0
- package/build/typeMap.d.mts +88 -0
- package/build/typeMap.d.mts.map +1 -0
- package/build/typeMap.js +3 -3
- package/build/upsert.cjs +175 -0
- package/build/upsert.cjs.map +1 -0
- package/build/upsert.d.cts +42 -0
- package/build/upsert.d.cts.map +1 -0
- package/build/upsert.d.mts +42 -0
- package/build/upsert.d.mts.map +1 -0
- package/build/upsert.js +159 -274
- package/build/upsert.js.map +1 -1
- package/build/utils.cjs +204 -0
- package/build/utils.cjs.map +1 -0
- package/build/utils.d.cts +65 -0
- package/build/utils.d.cts.map +1 -0
- package/build/utils.d.mts +65 -0
- package/build/utils.d.mts.map +1 -0
- package/build/utils.js +123 -192
- package/build/utils.js.map +1 -1
- package/package.json +34 -14
- package/build/AliasAssigner.d.ts +0 -10
- package/build/AliasAssigner.d.ts.map +0 -1
- package/build/AliasAssigner.js +0 -39
- package/build/AliasAssigner.js.map +0 -1
- package/build/Aliases.d.ts +0 -117
- package/build/Aliases.d.ts.map +0 -1
- package/build/Aliases.js +0 -457
- package/build/Aliases.js.map +0 -1
- package/build/BaseEntity.d.ts +0 -68
- package/build/BaseEntity.d.ts.map +0 -1
- package/build/ConditionBuilder.d.ts +0 -29
- package/build/ConditionBuilder.d.ts.map +0 -1
- package/build/ConditionBuilder.js +0 -112
- package/build/ConditionBuilder.js.map +0 -1
- package/build/Entity.d.ts +0 -39
- package/build/Entity.d.ts.map +0 -1
- package/build/EntityFields.d.ts +0 -37
- package/build/EntityFields.d.ts.map +0 -1
- package/build/EntityFields.js.map +0 -1
- package/build/EntityFilter.d.ts +0 -134
- package/build/EntityFilter.d.ts.map +0 -1
- package/build/EntityFilter.js +0 -21
- package/build/EntityFilter.js.map +0 -1
- package/build/EntityGraphQLFilter.d.ts +0 -56
- package/build/EntityGraphQLFilter.d.ts.map +0 -1
- package/build/EntityGraphQLFilter.js +0 -53
- package/build/EntityGraphQLFilter.js.map +0 -1
- package/build/EntityManager.d.ts +0 -740
- package/build/EntityManager.d.ts.map +0 -1
- package/build/EntityMetadata.d.ts +0 -233
- package/build/EntityMetadata.d.ts.map +0 -1
- package/build/EnumMetadata.d.ts +0 -15
- package/build/EnumMetadata.d.ts.map +0 -1
- package/build/EnumMetadata.js.map +0 -1
- package/build/FlushLock.d.ts +0 -26
- package/build/FlushLock.d.ts.map +0 -1
- package/build/FlushLock.js +0 -57
- package/build/FlushLock.js.map +0 -1
- package/build/HintTree.d.ts +0 -42
- package/build/HintTree.d.ts.map +0 -1
- package/build/HintTree.js +0 -64
- package/build/HintTree.js.map +0 -1
- package/build/IndexManager.d.ts +0 -31
- package/build/IndexManager.d.ts.map +0 -1
- package/build/InstanceData.d.ts +0 -79
- package/build/InstanceData.d.ts.map +0 -1
- package/build/IsLoadedCache.d.ts +0 -32
- package/build/IsLoadedCache.d.ts.map +0 -1
- package/build/IsLoadedCache.js +0 -91
- package/build/IsLoadedCache.js.map +0 -1
- package/build/JoinRows.d.ts +0 -117
- package/build/JoinRows.d.ts.map +0 -1
- package/build/JoinRows.js +0 -320
- package/build/JoinRows.js.map +0 -1
- package/build/PendingChanges.d.ts +0 -26
- package/build/PendingChanges.d.ts.map +0 -1
- package/build/PendingChanges.js +0 -3
- package/build/PendingChanges.js.map +0 -1
- package/build/PluginManager.d.ts +0 -102
- package/build/PluginManager.d.ts.map +0 -1
- package/build/QueryParser.collectionJoins.d.ts +0 -27
- package/build/QueryParser.collectionJoins.d.ts.map +0 -1
- package/build/QueryParser.collectionJoins.js +0 -466
- package/build/QueryParser.collectionJoins.js.map +0 -1
- package/build/QueryParser.collectionJoins.test.d.ts +0 -2
- package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
- package/build/QueryParser.collectionJoins.test.js +0 -772
- package/build/QueryParser.collectionJoins.test.js.map +0 -1
- package/build/QueryParser.d.ts +0 -336
- package/build/QueryParser.d.ts.map +0 -1
- package/build/QueryParser.js +0 -965
- package/build/QueryParser.js.map +0 -1
- package/build/QueryParser.pruning.d.ts +0 -7
- package/build/QueryParser.pruning.d.ts.map +0 -1
- package/build/QueryParser.pruning.js +0 -195
- package/build/QueryParser.pruning.js.map +0 -1
- package/build/QueryParser.pruning.test.d.ts +0 -2
- package/build/QueryParser.pruning.test.d.ts.map +0 -1
- package/build/QueryParser.pruning.test.js +0 -106
- package/build/QueryParser.pruning.test.js.map +0 -1
- package/build/QueryParser.test.d.ts +0 -2
- package/build/QueryParser.test.d.ts.map +0 -1
- package/build/QueryParser.test.js +0 -27
- package/build/QueryParser.test.js.map +0 -1
- package/build/QueryVisitor.d.ts +0 -19
- package/build/QueryVisitor.d.ts.map +0 -1
- package/build/QueryVisitor.js +0 -106
- package/build/QueryVisitor.js.map +0 -1
- package/build/ReactionsManager.d.ts +0 -85
- package/build/ReactionsManager.d.ts.map +0 -1
- package/build/ReactionsManager.js +0 -315
- package/build/ReactionsManager.js.map +0 -1
- package/build/Todo.d.ts +0 -35
- package/build/Todo.d.ts.map +0 -1
- package/build/Todo.js +0 -73
- package/build/Todo.js.map +0 -1
- package/build/batchloaders/BatchLoader.d.ts +0 -14
- package/build/batchloaders/BatchLoader.d.ts.map +0 -1
- package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -7
- package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/loadBatchLoader.d.ts +0 -17
- package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -7
- package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -7
- package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -7
- package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/populateBatchLoader.d.ts +0 -13
- package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -7
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -7
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -7
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
- package/build/changes.d.ts +0 -92
- package/build/changes.d.ts.map +0 -1
- package/build/config.d.ts +0 -250
- package/build/config.d.ts.map +0 -1
- package/build/config.test.d.ts +0 -2
- package/build/config.test.d.ts.map +0 -1
- package/build/config.test.js +0 -53
- package/build/config.test.js.map +0 -1
- package/build/configure.d.ts +0 -15
- package/build/configure.d.ts.map +0 -1
- package/build/dataloaders/fastWhereFilterHash.d.ts +0 -15
- package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
- package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
- package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
- package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
- package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
- package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
- package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findCountDataLoader.d.ts +0 -16
- package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findDataLoader.d.ts +0 -76
- package/build/dataloaders/findDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findIdsDataLoader.d.ts +0 -6
- package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
- package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -7
- package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
- package/build/dataloaders/lensDataLoader.d.ts +0 -12
- package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
- package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
- package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
- package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
- package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
- package/build/defaults.d.ts +0 -54
- package/build/defaults.d.ts.map +0 -1
- package/build/driverApi.d.ts +0 -19
- package/build/driverApi.d.ts.map +0 -1
- package/build/driverApi.js +0 -17
- package/build/driverApi.js.map +0 -1
- package/build/drivers/Driver.d.ts +0 -26
- package/build/drivers/Driver.d.ts.map +0 -1
- package/build/drivers/Driver.js.map +0 -1
- package/build/drivers/EntityWriter.d.ts +0 -64
- package/build/drivers/EntityWriter.d.ts.map +0 -1
- package/build/drivers/IdAssigner.d.ts +0 -48
- package/build/drivers/IdAssigner.d.ts.map +0 -1
- package/build/drivers/buildRawQuery.d.ts +0 -22
- package/build/drivers/buildRawQuery.d.ts.map +0 -1
- package/build/drivers/buildRawQuery.js +0 -153
- package/build/drivers/buildRawQuery.js.map +0 -1
- package/build/drivers/buildUtils.d.ts +0 -9
- package/build/drivers/buildUtils.d.ts.map +0 -1
- package/build/drivers/buildUtils.js +0 -88
- package/build/drivers/buildUtils.js.map +0 -1
- package/build/drivers/index.d.ts +0 -6
- package/build/drivers/index.d.ts.map +0 -1
- package/build/drivers/index.js.map +0 -1
- package/build/fields.d.ts +0 -26
- package/build/fields.d.ts.map +0 -1
- package/build/getProperties.d.ts +0 -28
- package/build/getProperties.d.ts.map +0 -1
- package/build/index.d.ts +0 -133
- package/build/index.d.ts.map +0 -1
- package/build/json.d.ts +0 -77
- package/build/json.d.ts.map +0 -1
- package/build/k.d.ts +0 -2
- package/build/k.d.ts.map +0 -1
- package/build/keys.d.ts +0 -49
- package/build/keys.d.ts.map +0 -1
- package/build/keywords.d.ts +0 -5
- package/build/keywords.d.ts.map +0 -1
- package/build/keywords.js +0 -124
- package/build/keywords.js.map +0 -1
- package/build/loadHints.d.ts +0 -121
- package/build/loadHints.d.ts.map +0 -1
- package/build/loadHints.js +0 -129
- package/build/loadHints.js.map +0 -1
- package/build/loadLens.d.ts +0 -77
- package/build/loadLens.d.ts.map +0 -1
- package/build/loadLens.js +0 -320
- package/build/loadLens.js.map +0 -1
- package/build/logging/FactoryLogger.d.ts +0 -24
- package/build/logging/FactoryLogger.d.ts.map +0 -1
- package/build/logging/FieldLogger.d.ts +0 -27
- package/build/logging/FieldLogger.d.ts.map +0 -1
- package/build/logging/ReactionLogger.d.ts +0 -27
- package/build/logging/ReactionLogger.d.ts.map +0 -1
- package/build/newEntity.d.ts +0 -45
- package/build/newEntity.d.ts.map +0 -1
- package/build/newTestInstance.d.ts +0 -208
- package/build/newTestInstance.d.ts.map +0 -1
- package/build/normalizeHints.d.ts +0 -23
- package/build/normalizeHints.d.ts.map +0 -1
- package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
- package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
- package/build/plugins/PreloadPlugin.d.ts +0 -69
- package/build/plugins/PreloadPlugin.d.ts.map +0 -1
- package/build/plugins/PreloadPlugin.js.map +0 -1
- package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
- package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
- package/build/preloading/canPreload.d.ts +0 -3
- package/build/preloading/canPreload.d.ts.map +0 -1
- package/build/preloading/partitionHint.d.ts +0 -5
- package/build/preloading/partitionHint.d.ts.map +0 -1
- package/build/reactiveHints.d.ts +0 -146
- package/build/reactiveHints.d.ts.map +0 -1
- package/build/reactiveHints.js +0 -509
- package/build/reactiveHints.js.map +0 -1
- package/build/relations/AbstractPropertyImpl.d.ts +0 -8
- package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
- package/build/relations/AbstractRelationImpl.d.ts +0 -41
- package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
- package/build/relations/AsyncProperty.d.ts +0 -36
- package/build/relations/AsyncProperty.d.ts.map +0 -1
- package/build/relations/AsyncReactiveField.d.ts +0 -41
- package/build/relations/AsyncReactiveField.d.ts.map +0 -1
- package/build/relations/Collection.d.ts +0 -33
- package/build/relations/Collection.d.ts.map +0 -1
- package/build/relations/CustomCollection.d.ts +0 -69
- package/build/relations/CustomCollection.d.ts.map +0 -1
- package/build/relations/CustomReference.d.ts +0 -71
- package/build/relations/CustomReference.d.ts.map +0 -1
- package/build/relations/EnumCollection.d.ts +0 -81
- package/build/relations/EnumCollection.d.ts.map +0 -1
- package/build/relations/LargeCollection.d.ts +0 -19
- package/build/relations/LargeCollection.d.ts.map +0 -1
- package/build/relations/LargeCollection.js.map +0 -1
- package/build/relations/ManyToManyCollection.d.ts +0 -52
- package/build/relations/ManyToManyCollection.d.ts.map +0 -1
- package/build/relations/ManyToManyLargeCollection.d.ts +0 -31
- package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
- package/build/relations/ManyToOneReference.d.ts +0 -117
- package/build/relations/ManyToOneReference.d.ts.map +0 -1
- package/build/relations/OneToManyCollection.d.ts +0 -62
- package/build/relations/OneToManyCollection.d.ts.map +0 -1
- package/build/relations/OneToManyLargeCollection.d.ts +0 -26
- package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
- package/build/relations/OneToOneReference.d.ts +0 -93
- package/build/relations/OneToOneReference.d.ts.map +0 -1
- package/build/relations/PolymorphicReference.d.ts +0 -89
- package/build/relations/PolymorphicReference.d.ts.map +0 -1
- package/build/relations/ReactiveField.d.ts +0 -85
- package/build/relations/ReactiveField.d.ts.map +0 -1
- package/build/relations/ReactiveGetter.d.ts +0 -30
- package/build/relations/ReactiveGetter.d.ts.map +0 -1
- package/build/relations/ReactiveManyToMany.d.ts +0 -57
- package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
- package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -48
- package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
- package/build/relations/ReactiveReference.d.ts +0 -119
- package/build/relations/ReactiveReference.d.ts.map +0 -1
- package/build/relations/ReadOnlyCollection.d.ts +0 -19
- package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
- package/build/relations/RecursiveCollection.d.ts +0 -108
- package/build/relations/RecursiveCollection.d.ts.map +0 -1
- package/build/relations/RecursiveCycleError.d.ts +0 -13
- package/build/relations/RecursiveCycleError.d.ts.map +0 -1
- package/build/relations/Reference.d.ts +0 -35
- package/build/relations/Reference.d.ts.map +0 -1
- package/build/relations/Relation.d.ts +0 -14
- package/build/relations/Relation.d.ts.map +0 -1
- package/build/relations/hasAsyncMethod.d.ts +0 -27
- package/build/relations/hasAsyncMethod.d.ts.map +0 -1
- package/build/relations/hasManyDerived.d.ts +0 -22
- package/build/relations/hasManyDerived.d.ts.map +0 -1
- package/build/relations/hasManyThrough.d.ts +0 -10
- package/build/relations/hasManyThrough.d.ts.map +0 -1
- package/build/relations/hasOneDerived.d.ts +0 -12
- package/build/relations/hasOneDerived.d.ts.map +0 -1
- package/build/relations/hasOneThrough.d.ts +0 -10
- package/build/relations/hasOneThrough.d.ts.map +0 -1
- package/build/relations/hasProperty.d.ts +0 -50
- package/build/relations/hasProperty.d.ts.map +0 -1
- package/build/relations/index.d.ts +0 -30
- package/build/relations/index.d.ts.map +0 -1
- package/build/relations/index.js.map +0 -1
- package/build/resurrection.d.ts +0 -10
- package/build/resurrection.d.ts.map +0 -1
- package/build/rules.d.ts +0 -123
- package/build/rules.d.ts.map +0 -1
- package/build/runtimeConfig.d.ts +0 -17
- package/build/runtimeConfig.d.ts.map +0 -1
- package/build/scopes.d.ts +0 -185
- package/build/scopes.d.ts.map +0 -1
- package/build/scopes.js +0 -302
- package/build/scopes.js.map +0 -1
- package/build/serde.d.ts +0 -277
- package/build/serde.d.ts.map +0 -1
- package/build/serde.js +0 -517
- package/build/serde.js.map +0 -1
- package/build/temporal.d.ts +0 -46
- package/build/temporal.d.ts.map +0 -1
- package/build/temporal.js +0 -66
- package/build/temporal.js.map +0 -1
- package/build/temporalMappers.d.ts +0 -25
- package/build/temporalMappers.d.ts.map +0 -1
- package/build/temporalMappers.js +0 -59
- package/build/temporalMappers.js.map +0 -1
- package/build/trusted.d.ts +0 -5
- package/build/trusted.d.ts.map +0 -1
- package/build/typeMap.d.ts +0 -68
- package/build/typeMap.d.ts.map +0 -1
- package/build/typeMap.js.map +0 -1
- package/build/unnest.d.ts +0 -13
- package/build/unnest.d.ts.map +0 -1
- package/build/unnest.js +0 -85
- package/build/unnest.js.map +0 -1
- package/build/upsert.d.ts +0 -42
- package/build/upsert.d.ts.map +0 -1
- package/build/utils.d.ts +0 -60
- package/build/utils.d.ts.map +0 -1
- package/build/withLoaded.d.ts +0 -56
- package/build/withLoaded.d.ts.map +0 -1
- package/build/withLoaded.js +0 -76
- package/build/withLoaded.js.map +0 -1
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
exports.ImmutableEntitiesPlugin = ImmutableEntitiesPlugin;
|
|
1
|
+
import { fail } from "../utils.js";
|
|
2
|
+
import { Plugin } from "../PluginManager.js";
|
|
3
|
+
import "../Entity.js";
|
|
4
|
+
//#region src/plugins/ImmutableEntitiesPlugin.ts
|
|
5
|
+
var ImmutableEntitiesPlugin = class extends Plugin {
|
|
6
|
+
entities = /* @__PURE__ */ new Set();
|
|
7
|
+
beforeSetField(entity, field, newValue) {
|
|
8
|
+
if (this.entities.has(entity)) fail(`Cannot set field ${field} on immutable entity ${entity}`);
|
|
9
|
+
}
|
|
10
|
+
addEntity(entity) {
|
|
11
|
+
this.entities.add(entity);
|
|
12
|
+
}
|
|
13
|
+
removeEntity(entity) {
|
|
14
|
+
this.entities.delete(entity);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { ImmutableEntitiesPlugin };
|
|
19
|
+
|
|
21
20
|
//# sourceMappingURL=ImmutableEntitiesPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImmutableEntitiesPlugin.js","
|
|
1
|
+
{"version":3,"file":"ImmutableEntitiesPlugin.js","names":[],"sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport { Plugin } from \"src/PluginManager.ts\";\nimport { fail } from \"src/utils.ts\";\n\nexport class ImmutableEntitiesPlugin extends Plugin {\n readonly entities: Set<Entity> = new Set();\n\n beforeSetField(entity: Entity, field: string, newValue: any): void {\n if (this.entities.has(entity)) {\n fail(`Cannot set field ${field} on immutable entity ${entity}`);\n }\n }\n\n addEntity(entity: Entity) {\n this.entities.add(entity);\n }\n\n removeEntity(entity: Entity) {\n this.entities.delete(entity);\n }\n}\n"],"mappings":";;;;AAIA,IAAa,0BAAb,cAA6C,OAAO;CAClD,2BAAiC,IAAI,IAAI;CAEzC,eAAe,QAAgB,OAAe,UAAqB;EACjE,IAAI,KAAK,SAAS,IAAI,MAAM,GAC1B,KAAK,oBAAoB,MAAM,uBAAuB,QAAQ;CAElE;CAEA,UAAU,QAAgB;EACxB,KAAK,SAAS,IAAI,MAAM;CAC1B;CAEA,aAAa,QAAgB;EAC3B,KAAK,SAAS,OAAO,MAAM;CAC7B;AACF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { LateralJoinTable, ParsedFindQuery } from "../queries/find/QueryParser.cjs";
|
|
2
|
+
import { LoadHint, NestedLoadHint } from "../loading/loadHints.cjs";
|
|
3
|
+
import { RowData } from "../RowData.cjs";
|
|
4
|
+
import { EntityMetadata } from "../EntityMetadata.cjs";
|
|
5
|
+
import { EntityOrId, HintNode } from "../loading/HintTree.cjs";
|
|
6
|
+
import { Entity } from "../Entity.cjs";
|
|
7
|
+
//#region src/plugins/PreloadPlugin.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* This is a plugin API dedicated to preloading data for subtrees of entities.
|
|
10
|
+
*
|
|
11
|
+
* I.e. when evaluating `em.load(Author, "a:1", { books: "reviews" })`, loading both the
|
|
12
|
+
* Author `a:1` plus all the author's books, and all the author's books' reviews, in a single
|
|
13
|
+
* SQL call.
|
|
14
|
+
*
|
|
15
|
+
* Implementations of this API should execute the SQL queries necessary to load the data, and
|
|
16
|
+
* then store the preloaded data in the `EntityManager.preloadedRelations` cache, which the
|
|
17
|
+
* `OneToManyCollection`, `ManyToOneReference`, etc. relation implementations check before
|
|
18
|
+
* issuing their own `.load()` SQL calls.
|
|
19
|
+
*/
|
|
20
|
+
interface PreloadPlugin {
|
|
21
|
+
/**
|
|
22
|
+
* Given a single load hint, partitions it into the sql-able and non-sql-able parts.
|
|
23
|
+
*
|
|
24
|
+
* The sql-able hints will later be passed to `preloadPopulate` to fetch as a single
|
|
25
|
+
* SQL call.
|
|
26
|
+
*/
|
|
27
|
+
partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
|
|
28
|
+
/**
|
|
29
|
+
* Given an existing `ParsedFindQuery`, adds extra selects & joins directly
|
|
30
|
+
* to the `query` that will preload any child data requested in `tree`.
|
|
31
|
+
*
|
|
32
|
+
* The caller is still responsible for executing `query`, and then also
|
|
33
|
+
* calling the `PreloadHydrator` with the database results for the preload
|
|
34
|
+
* plugin to instantiate & populate the EM's preload cache.
|
|
35
|
+
*
|
|
36
|
+
* Note that the actual relations themselves won't be loaded, just the preload
|
|
37
|
+
* cache populated to make the relation `.preload()` / `.load()` fast.
|
|
38
|
+
*/
|
|
39
|
+
addPreloading<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): PreloadHydrator | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Given an anticipated `ParsedFindQuery`, returns lower-level `JoinResult` that
|
|
42
|
+
* are the fragments of SELECTs and JOINs that the caller can work into their custom
|
|
43
|
+
* query.
|
|
44
|
+
*
|
|
45
|
+
* This is primarily for callers who aren't going to call `driver.executeFind`, but instead
|
|
46
|
+
* are crafting their own SQL query for `driver.executeQuery` (basically this is `em.findAll`
|
|
47
|
+
* because it uses a complicated CTE + join strategy to do batching).
|
|
48
|
+
*/
|
|
49
|
+
getPreloadJoins<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): JoinResult[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Given the query's rows — classic POJO rows, or a `RowData` result in lazy-rows mode — and the
|
|
53
|
+
* already-hydrated `entities` for each row, reads the preload-specific columns out of the result
|
|
54
|
+
* set, and pushes them into the EM preload cache, hydrating the child entities in the process,
|
|
55
|
+
* but not marking any relations as loaded.
|
|
56
|
+
*
|
|
57
|
+
* Classic loaders keep passing plain row arrays (the pre-RowData contract), so existing plugin
|
|
58
|
+
* implementations that only handle arrays continue to work everywhere except lazy-rows mode.
|
|
59
|
+
*
|
|
60
|
+
* The order of the rows and `entities` must match.
|
|
61
|
+
*/
|
|
62
|
+
type PreloadHydrator = (rows: any[] | RowData, entities: any[]) => void;
|
|
63
|
+
/** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */
|
|
64
|
+
type JoinResult = {
|
|
65
|
+
/** The select clause(s) for this join, i.e. `b._ as _b` or `c._ as _c`. */
|
|
66
|
+
selects: {
|
|
67
|
+
value: string;
|
|
68
|
+
as: string;
|
|
69
|
+
}[];
|
|
70
|
+
/** The SQL for this child's lateral join, which itself might have recursive lateral joins. */
|
|
71
|
+
join: LateralJoinTable;
|
|
72
|
+
/** The processor for this child's lateral join, which itself might recursively processor subjoins. */
|
|
73
|
+
hydrator: PreloadHydrator;
|
|
74
|
+
};
|
|
75
|
+
//#endregion
|
|
76
|
+
export { JoinResult, PreloadHydrator, PreloadPlugin };
|
|
77
|
+
//# sourceMappingURL=PreloadPlugin.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreloadPlugin.d.cts","names":[],"sources":["../../src/plugins/PreloadPlugin.ts"],"mappings":";;;;;;;;;;;;;;;;;;;UAmBiB;;;;;;;EAOf,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;;;;;;;;;;;;EAarC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;EAWH,gBAAgB,UAAU,QACxB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;;;;KAcO,mBAAmB,cAAc,SAAS;;KAG1C;;EAEV;IAAW;IAAe;;;EAE1B,MAAM;;EAEN,UAAU"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { LateralJoinTable, ParsedFindQuery } from "../queries/find/QueryParser.mjs";
|
|
2
|
+
import { LoadHint, NestedLoadHint } from "../loading/loadHints.mjs";
|
|
3
|
+
import { RowData } from "../RowData.mjs";
|
|
4
|
+
import { EntityMetadata } from "../EntityMetadata.mjs";
|
|
5
|
+
import { EntityOrId, HintNode } from "../loading/HintTree.mjs";
|
|
6
|
+
import { Entity } from "../Entity.mjs";
|
|
7
|
+
//#region src/plugins/PreloadPlugin.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* This is a plugin API dedicated to preloading data for subtrees of entities.
|
|
10
|
+
*
|
|
11
|
+
* I.e. when evaluating `em.load(Author, "a:1", { books: "reviews" })`, loading both the
|
|
12
|
+
* Author `a:1` plus all the author's books, and all the author's books' reviews, in a single
|
|
13
|
+
* SQL call.
|
|
14
|
+
*
|
|
15
|
+
* Implementations of this API should execute the SQL queries necessary to load the data, and
|
|
16
|
+
* then store the preloaded data in the `EntityManager.preloadedRelations` cache, which the
|
|
17
|
+
* `OneToManyCollection`, `ManyToOneReference`, etc. relation implementations check before
|
|
18
|
+
* issuing their own `.load()` SQL calls.
|
|
19
|
+
*/
|
|
20
|
+
interface PreloadPlugin {
|
|
21
|
+
/**
|
|
22
|
+
* Given a single load hint, partitions it into the sql-able and non-sql-able parts.
|
|
23
|
+
*
|
|
24
|
+
* The sql-able hints will later be passed to `preloadPopulate` to fetch as a single
|
|
25
|
+
* SQL call.
|
|
26
|
+
*/
|
|
27
|
+
partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
|
|
28
|
+
/**
|
|
29
|
+
* Given an existing `ParsedFindQuery`, adds extra selects & joins directly
|
|
30
|
+
* to the `query` that will preload any child data requested in `tree`.
|
|
31
|
+
*
|
|
32
|
+
* The caller is still responsible for executing `query`, and then also
|
|
33
|
+
* calling the `PreloadHydrator` with the database results for the preload
|
|
34
|
+
* plugin to instantiate & populate the EM's preload cache.
|
|
35
|
+
*
|
|
36
|
+
* Note that the actual relations themselves won't be loaded, just the preload
|
|
37
|
+
* cache populated to make the relation `.preload()` / `.load()` fast.
|
|
38
|
+
*/
|
|
39
|
+
addPreloading<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): PreloadHydrator | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Given an anticipated `ParsedFindQuery`, returns lower-level `JoinResult` that
|
|
42
|
+
* are the fragments of SELECTs and JOINs that the caller can work into their custom
|
|
43
|
+
* query.
|
|
44
|
+
*
|
|
45
|
+
* This is primarily for callers who aren't going to call `driver.executeFind`, but instead
|
|
46
|
+
* are crafting their own SQL query for `driver.executeQuery` (basically this is `em.findAll`
|
|
47
|
+
* because it uses a complicated CTE + join strategy to do batching).
|
|
48
|
+
*/
|
|
49
|
+
getPreloadJoins<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): JoinResult[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Given the query's rows — classic POJO rows, or a `RowData` result in lazy-rows mode — and the
|
|
53
|
+
* already-hydrated `entities` for each row, reads the preload-specific columns out of the result
|
|
54
|
+
* set, and pushes them into the EM preload cache, hydrating the child entities in the process,
|
|
55
|
+
* but not marking any relations as loaded.
|
|
56
|
+
*
|
|
57
|
+
* Classic loaders keep passing plain row arrays (the pre-RowData contract), so existing plugin
|
|
58
|
+
* implementations that only handle arrays continue to work everywhere except lazy-rows mode.
|
|
59
|
+
*
|
|
60
|
+
* The order of the rows and `entities` must match.
|
|
61
|
+
*/
|
|
62
|
+
type PreloadHydrator = (rows: any[] | RowData, entities: any[]) => void;
|
|
63
|
+
/** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */
|
|
64
|
+
type JoinResult = {
|
|
65
|
+
/** The select clause(s) for this join, i.e. `b._ as _b` or `c._ as _c`. */
|
|
66
|
+
selects: {
|
|
67
|
+
value: string;
|
|
68
|
+
as: string;
|
|
69
|
+
}[];
|
|
70
|
+
/** The SQL for this child's lateral join, which itself might have recursive lateral joins. */
|
|
71
|
+
join: LateralJoinTable;
|
|
72
|
+
/** The processor for this child's lateral join, which itself might recursively processor subjoins. */
|
|
73
|
+
hydrator: PreloadHydrator;
|
|
74
|
+
};
|
|
75
|
+
//#endregion
|
|
76
|
+
export { JoinResult, PreloadHydrator, PreloadPlugin };
|
|
77
|
+
//# sourceMappingURL=PreloadPlugin.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreloadPlugin.d.mts","names":[],"sources":["../../src/plugins/PreloadPlugin.ts"],"mappings":";;;;;;;;;;;;;;;;;;;UAmBiB;;;;;;;EAOf,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;;;;;;;;;;;;EAarC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;EAWH,gBAAgB,UAAU,QACxB,MAAM,gBACN,MAAM,SAAS,aACf,OAAO,kBACN;;;;;;;;;;;;;KAcO,mBAAmB,cAAc,SAAS;;KAG1C;;EAEV;IAAW;IAAe;;;EAE1B,MAAM;;EAEN,UAAU"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import "../EntityMetadata.js";
|
|
2
|
+
import "../Entity.js";
|
|
3
|
+
export {};
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_keys = require("../keys.cjs");
|
|
3
|
+
const require_queries_sql_keywords = require("../queries/sql/keywords.cjs");
|
|
4
|
+
const require_queries_ConditionBuilder = require("../queries/ConditionBuilder.cjs");
|
|
5
|
+
const require_queries_find_QueryParser = require("../queries/find/QueryParser.cjs");
|
|
6
|
+
const require_utils = require("../utils.cjs");
|
|
7
|
+
const require_EntityMetadata = require("../EntityMetadata.cjs");
|
|
8
|
+
const require_preloading_canPreload = require("./canPreload.cjs");
|
|
9
|
+
const require_preloading_partitionHint = require("./partitionHint.cjs");
|
|
10
|
+
const require_queries_sql_AliasAssigner = require("../queries/sql/AliasAssigner.cjs");
|
|
11
|
+
require("../plugins/PreloadPlugin.cjs");
|
|
12
|
+
const require_EntityManager = require("../EntityManager.cjs");
|
|
13
|
+
require("../Entity.cjs");
|
|
14
|
+
//#region src/preloading/JsonAggregatePreloader.ts
|
|
15
|
+
/**
|
|
16
|
+
* A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
|
|
17
|
+
* to preload/reduce a subtree of data while still being a single row of data.
|
|
18
|
+
*/
|
|
19
|
+
var JsonAggregatePreloader = class {
|
|
20
|
+
partitionHint(meta, hint) {
|
|
21
|
+
return require_preloading_partitionHint.partitionHint(meta, hint);
|
|
22
|
+
}
|
|
23
|
+
addPreloading(meta, root, query) {
|
|
24
|
+
const assigner = new require_queries_sql_AliasAssigner.AliasAssigner(query);
|
|
25
|
+
const alias = require_queries_find_QueryParser.getTables(query)[0].alias;
|
|
26
|
+
const joins = calcLateralJoins(assigner, {
|
|
27
|
+
tree: root,
|
|
28
|
+
alias,
|
|
29
|
+
meta
|
|
30
|
+
}, root, alias, meta);
|
|
31
|
+
if (joins.length === 0) return void 0;
|
|
32
|
+
for (const { alias, relationAlias, join } of joins) {
|
|
33
|
+
query.selects.push({
|
|
34
|
+
sql: `${require_queries_sql_keywords.kqDot(alias, "_")} as ${require_queries_sql_keywords.kq(relationAlias)}`,
|
|
35
|
+
aliases: [alias],
|
|
36
|
+
bindings: []
|
|
37
|
+
});
|
|
38
|
+
query.tables.push(join);
|
|
39
|
+
}
|
|
40
|
+
return (rows, entities) => {
|
|
41
|
+
for (let i = 0; i < entities.length; i++) {
|
|
42
|
+
const parent = entities[i];
|
|
43
|
+
for (const { relationAlias, hydrator } of joins) hydrator(parent, parent, readRowValue(rows, i, relationAlias) ?? []);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
getPreloadJoins(meta, root, query) {
|
|
48
|
+
const assigner = new require_queries_sql_AliasAssigner.AliasAssigner(query);
|
|
49
|
+
const alias = require_queries_find_QueryParser.getTables(query)[0].alias;
|
|
50
|
+
return calcLateralJoins(assigner, {
|
|
51
|
+
tree: root,
|
|
52
|
+
alias,
|
|
53
|
+
meta
|
|
54
|
+
}, root, alias, meta).map((join) => {
|
|
55
|
+
return {
|
|
56
|
+
selects: [{
|
|
57
|
+
value: require_queries_sql_keywords.kqDot(join.alias, "_"),
|
|
58
|
+
as: join.relationAlias
|
|
59
|
+
}],
|
|
60
|
+
join: join.join,
|
|
61
|
+
hydrator: (rows, entities) => {
|
|
62
|
+
for (let i = 0; i < entities.length; i++) {
|
|
63
|
+
const parent = entities[i];
|
|
64
|
+
join.hydrator(parent, parent, readRowValue(rows, i, join.relationAlias) ?? []);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* For a given hint tree `hint`, finds all SQL-able relations and preloads them.
|
|
73
|
+
*
|
|
74
|
+
* Specifically we use `json_agg` & `json_build_array` to `CROSS LATERAL JOIN`
|
|
75
|
+
* children/grand children back as arbitrarily-deeply nested arrays, and then
|
|
76
|
+
* stash the results in the `EntityManager` `joinLoadedRelations` cache, which
|
|
77
|
+
* each join-instrumented relation will check before making its SQL calls.
|
|
78
|
+
*
|
|
79
|
+
* https://sqlfum.pt/?n=60&indent=2&spaces=1&simplify=1&align=0&case=lower&sql=c2VsZWN0IGEuaWQsIGIuXyBhcyBiLCBjMS5fIGFzIGMxLCBhMS5fIGFzIGExIGZyb20gYXV0aG9ycyBhIGNyb3NzIGpvaW4gbGF0ZXJhbCAoIHNlbGVjdCBqc29uX2FnZyhqc29uX2J1aWxkX2FycmF5KGIuaWQsIGIudGl0bGUsIGIuIm9yZGVyIiwgYi5kZWxldGVkX2F0LCBiLmNyZWF0ZWRfYXQsIGIudXBkYXRlZF9hdCwgYi5hdXRob3JfaWQsIGJyLl8pKSBhcyBfIGZyb20gYm9va3MgYiBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShici5pZCwgYnIucmF0aW5nLCBici5pc19wdWJsaWMsIGJyLmlzX3Rlc3QsIGJyLmNyZWF0ZWRfYXQsIGJyLnVwZGF0ZWRfYXQsIGJyLmJvb2tfaWQsIGMuXykpIGFzIF8gZnJvbSBib29rX3Jldmlld3MgYnIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYy5pZCwgYy50ZXh0LCBjLmNyZWF0ZWRfYXQsIGMudXBkYXRlZF9hdCwgYy51c2VyX2lkLCBjLnBhcmVudF9hdXRob3JfaWQsIGMucGFyZW50X2Jvb2tfaWQsIGMucGFyZW50X2Jvb2tfcmV2aWV3X2lkLCBjLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYyB3aGVyZSBjLnBhcmVudF9ib29rX3Jldmlld19pZCA9IGJyLmlkICkgYyB3aGVyZSBici5ib29rX2lkID0gYi5pZCApIGJyIHdoZXJlIGIuYXV0aG9yX2lkID0gYS5pZCApIGIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYzEuaWQsIGMxLnRleHQsIGMxLmNyZWF0ZWRfYXQsIGMxLnVwZGF0ZWRfYXQsIGMxLnVzZXJfaWQsIGMxLnBhcmVudF9hdXRob3JfaWQsIGMxLnBhcmVudF9ib29rX2lkLCBjMS5wYXJlbnRfYm9va19yZXZpZXdfaWQsIGMxLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYzEgd2hlcmUgYzEucGFyZW50X2F1dGhvcl9pZCA9IGEuaWQgKSBjMSBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShhMS5pZCwgYTEuZmlyc3RfbmFtZSwgYTEubGFzdF9uYW1lLCBhMS5zc24sIGExLmluaXRpYWxzLCBhMS5udW1iZXJfb2ZfYm9va3MsIGExLmJvb2tfY29tbWVudHMsIGExLmlzX3BvcHVsYXIsIGExLmFnZSwgYTEuZ3JhZHVhdGVkLCBhMS5uaWNrX25hbWVzLCBhMS53YXNfZXZlcl9wb3B1bGFyLCBhMS5hZGRyZXNzLCBhMS5idXNpbmVzc19hZGRyZXNzLCBhMS5xdW90ZXMsIGExLm51bWJlcl9vZl9hdG9tcywgYTEuZGVsZXRlZF9hdCwgYTEubnVtYmVyX29mX3B1YmxpY19yZXZpZXdzLCBhMS4ibnVtYmVyT2ZQdWJsaWNSZXZpZXdzMiIsIGExLnRhZ3Nfb2ZfYWxsX2Jvb2tzLCBhMS5jcmVhdGVkX2F0LCBhMS51cGRhdGVkX2F0LCBhMS5mYXZvcml0ZV9zaGFwZSwgYTEuZmF2b3JpdGVfY29sb3JzLCBhMS5tZW50b3JfaWQsIGExLmN1cnJlbnRfZHJhZnRfYm9va19pZCwgYTEuZmF2b3JpdGVfYm9va19pZCwgYTEucHVibGlzaGVyX2lkKSkgYXMgXyBmcm9tIGF1dGhvcnMgYTEgd2hlcmUgYTEuaWQgPSBhLm1lbnRvcl9pZCApIGExIHdoZXJlIGEuaWQgPSAxOw%3D%3D
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
82
|
+
* Given a `parent` like Author, and a hint of `{ books: ..., comments: ... }`, create `CROSS JOIN LATERAL`s
|
|
83
|
+
* that will pull in the `books` & `comments` children.
|
|
84
|
+
*/
|
|
85
|
+
function calcLateralJoins(assigner, root, tree, parentAlias, parentMeta, pathPrefix = "") {
|
|
86
|
+
const results = [];
|
|
87
|
+
Object.entries(tree.hints).forEach(([key, subTree]) => {
|
|
88
|
+
const field = parentMeta.allFields[key];
|
|
89
|
+
if (field && require_preloading_canPreload.canPreload(parentMeta, field)) {
|
|
90
|
+
if (field.kind === "m2mEnum") {
|
|
91
|
+
results.push(calcEnumLateralJoin(assigner, root, subTree, parentAlias, field, key, pathPrefix));
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const otherMeta = field.otherMetadata();
|
|
95
|
+
const otherField = otherMeta.allFields[field.otherFieldName];
|
|
96
|
+
const otherAlias = `_${assigner.getAlias(otherMeta.tableName)}`;
|
|
97
|
+
const pathKey = key.toLowerCase();
|
|
98
|
+
const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${pathKey}`)}`;
|
|
99
|
+
const subJoins = calcLateralJoins(assigner, root, subTree, otherAlias, otherMeta, `${pathPrefix}${pathKey}_`);
|
|
100
|
+
const columns = Object.values(otherMeta.allFields).filter((f) => f.serde && !(f.kind === "primitive" && f.lazy)).flatMap((f) => f.serde.columns);
|
|
101
|
+
const selects = [...columns.map((c) => require_queries_sql_keywords.kqDot(otherAlias, c.columnName)), ...subJoins.map((sb) => require_queries_sql_keywords.kqDot(sb.alias, "_"))];
|
|
102
|
+
const aliasMaybeSuffix = require_queries_sql_keywords.kq(`${parentAlias}${field.aliasSuffix}`);
|
|
103
|
+
const cb = new require_queries_ConditionBuilder.ConditionBuilder();
|
|
104
|
+
let m2mTable;
|
|
105
|
+
let m2mAlias;
|
|
106
|
+
if (otherField.kind === "m2o") cb.addRawCondition({
|
|
107
|
+
aliases: [otherAlias, parentAlias],
|
|
108
|
+
condition: `${require_queries_sql_keywords.kqDot(otherAlias, otherField.serde.columns[0].columnName)} = ${require_queries_sql_keywords.kqDot(parentAlias, "id")}`,
|
|
109
|
+
pruneable: true
|
|
110
|
+
});
|
|
111
|
+
else if (otherField.kind === "poly") {
|
|
112
|
+
const comp = otherField.components.find((c) => parentMeta.cstr === c.otherMetadata().cstr) ?? require_utils.fail(`No component found for ${field.fieldName} -> ${otherField.fieldName}`);
|
|
113
|
+
cb.addRawCondition({
|
|
114
|
+
aliases: [otherAlias, parentAlias],
|
|
115
|
+
condition: `${require_queries_sql_keywords.kqDot(otherAlias, comp.columnName)} = ${require_queries_sql_keywords.kqDot(parentAlias, "id")}`,
|
|
116
|
+
pruneable: true
|
|
117
|
+
});
|
|
118
|
+
} else if (otherField.kind === "o2m" || otherField.kind === "lo2m") cb.addRawCondition({
|
|
119
|
+
aliases: [otherAlias, aliasMaybeSuffix],
|
|
120
|
+
condition: `${require_queries_sql_keywords.kqDot(otherAlias, "id")} = ${aliasMaybeSuffix}.${require_queries_sql_keywords.kq(field.serde.columns[0].columnName)}`,
|
|
121
|
+
pruneable: true
|
|
122
|
+
});
|
|
123
|
+
else if (otherField.kind === "o2o") cb.addRawCondition({
|
|
124
|
+
aliases: [otherAlias, aliasMaybeSuffix],
|
|
125
|
+
condition: `${require_queries_sql_keywords.kqDot(otherAlias, "id")} = ${aliasMaybeSuffix}.${require_queries_sql_keywords.kq(field.serde.columns[0].columnName)}`,
|
|
126
|
+
pruneable: true
|
|
127
|
+
});
|
|
128
|
+
else if (otherField.kind === "m2m") {
|
|
129
|
+
m2mAlias = assigner.getAlias(otherField.joinTableName);
|
|
130
|
+
if (otherField.hasJoinTableId) selects.unshift(require_queries_sql_keywords.kqDot(m2mAlias, "id"));
|
|
131
|
+
m2mTable = {
|
|
132
|
+
join: "inner",
|
|
133
|
+
table: otherField.joinTableName,
|
|
134
|
+
alias: m2mAlias,
|
|
135
|
+
col1: require_queries_sql_keywords.kqDot(parentAlias, "id"),
|
|
136
|
+
col2: require_queries_sql_keywords.kqDot(m2mAlias, otherField.columnNames[1])
|
|
137
|
+
};
|
|
138
|
+
cb.addRawCondition({
|
|
139
|
+
aliases: [m2mAlias, otherAlias],
|
|
140
|
+
condition: `${require_queries_sql_keywords.kqDot(m2mAlias, otherField.columnNames[0])} = ${require_queries_sql_keywords.kqDot(otherAlias, "id")}`,
|
|
141
|
+
pruneable: true
|
|
142
|
+
});
|
|
143
|
+
} else throw new Error(`Unsupported otherField.kind ${otherField.kind}`);
|
|
144
|
+
if (subTree.entities.size !== root.tree.entities.size) cb.addRawCondition({
|
|
145
|
+
aliases: [root.alias],
|
|
146
|
+
condition: `${require_queries_sql_keywords.kqDot(root.alias, "id")} = ANY(?)`,
|
|
147
|
+
bindings: [[...subTree.entities].filter((e) => typeof e === "string" || !e.isNewEntity).map((e) => require_keys.keyToNumber(root.meta, typeof e === "string" ? e : e.id))],
|
|
148
|
+
pruneable: true
|
|
149
|
+
});
|
|
150
|
+
const orderBy = otherField.kind === "m2m" && !otherField.hasJoinTableId ? `${require_queries_sql_keywords.kq(m2mAlias)}.${require_queries_sql_keywords.kq(otherField.columnNames[0])}` : `${require_queries_sql_keywords.kq(m2mAlias ?? otherAlias)}.id`;
|
|
151
|
+
const join = {
|
|
152
|
+
join: "lateral",
|
|
153
|
+
alias: otherAlias,
|
|
154
|
+
fromAlias: "unset",
|
|
155
|
+
table: otherMeta.tableName,
|
|
156
|
+
query: {
|
|
157
|
+
selects: [`json_agg(json_build_array(${selects.join(", ")}) order by ${orderBy}) as _`],
|
|
158
|
+
tables: [
|
|
159
|
+
{
|
|
160
|
+
join: "primary",
|
|
161
|
+
table: otherMeta.tableName,
|
|
162
|
+
alias: otherAlias
|
|
163
|
+
},
|
|
164
|
+
...m2mTable ? [m2mTable] : [],
|
|
165
|
+
...subJoins.map((sj) => sj.join)
|
|
166
|
+
],
|
|
167
|
+
condition: cb.toExpressionFilter(),
|
|
168
|
+
orderBys: []
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
const columnNames = columns.map((c) => c.columnName);
|
|
172
|
+
const m2mOffset = field.kind === "m2m" && field.hasJoinTableId ? 1 : 0;
|
|
173
|
+
const hydrator = (root, parent, arrays) => {
|
|
174
|
+
const { em } = root;
|
|
175
|
+
if (subTree.entitiesKind === "instances" && !subTree.entities.has(root)) return;
|
|
176
|
+
if (subTree.entitiesKind === "ids" && !subTree.entities.has(root.idTagged)) return;
|
|
177
|
+
const children = arrays.map((array) => {
|
|
178
|
+
const taggedId = require_keys.keyToTaggedId(otherMeta, array[m2mOffset]);
|
|
179
|
+
const row = {};
|
|
180
|
+
for (let i = 0; i < columns.length; i++) row[columnNames[i]] = columns[i].mapFromJsonAgg(array[m2mOffset + i]);
|
|
181
|
+
const entity = em.findExistingInstance(taggedId) ?? em.hydrate(otherMeta.cstr, [row], { overwriteExisting: false })[0];
|
|
182
|
+
if (field.kind === "m2m") {
|
|
183
|
+
const m2m = parent[key];
|
|
184
|
+
require_EntityManager.getEmInternalApi(em).joinRows(m2m).addPreloadedRow(m2m, field.hasJoinTableId ? array[0] : void 0, parent, entity);
|
|
185
|
+
}
|
|
186
|
+
subJoins.forEach((sub, i) => {
|
|
187
|
+
sub.hydrator(root, entity, array[m2mOffset + columns.length + i] ?? []);
|
|
188
|
+
});
|
|
189
|
+
return entity;
|
|
190
|
+
});
|
|
191
|
+
require_EntityManager.getEmInternalApi(em).setPreloadedRelation(parent.idTagged, key, children);
|
|
192
|
+
};
|
|
193
|
+
results.push({
|
|
194
|
+
alias: otherAlias,
|
|
195
|
+
relationAlias,
|
|
196
|
+
join,
|
|
197
|
+
hydrator
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
return results;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Builds the `CROSS JOIN LATERAL` that aggregates an enum-m2m join table (e.g. `publisher_logo_colors`)
|
|
205
|
+
* into a json array of enum ids, e.g. `[[1], [3]]` (or `[[1, id], [3, id]]` for id-ful join tables).
|
|
206
|
+
*/
|
|
207
|
+
function calcEnumLateralJoin(assigner, root, subTree, parentAlias, field, key, pathPrefix) {
|
|
208
|
+
const [entityColumn, enumColumn] = field.columnNames;
|
|
209
|
+
const jtAlias = `_${assigner.getAlias(field.joinTableName)}`;
|
|
210
|
+
const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${key.toLowerCase()}`)}`;
|
|
211
|
+
const parts = [require_queries_sql_keywords.kqDot(jtAlias, enumColumn)];
|
|
212
|
+
if (field.hasJoinTableId) parts.push(require_queries_sql_keywords.kqDot(jtAlias, "id"));
|
|
213
|
+
const cb = new require_queries_ConditionBuilder.ConditionBuilder();
|
|
214
|
+
cb.addRawCondition({
|
|
215
|
+
aliases: [jtAlias, parentAlias],
|
|
216
|
+
condition: `${require_queries_sql_keywords.kqDot(jtAlias, entityColumn)} = ${require_queries_sql_keywords.kqDot(parentAlias, "id")}`,
|
|
217
|
+
pruneable: true
|
|
218
|
+
});
|
|
219
|
+
if (subTree.entities.size !== root.tree.entities.size) cb.addRawCondition({
|
|
220
|
+
aliases: [root.alias],
|
|
221
|
+
condition: `${require_queries_sql_keywords.kqDot(root.alias, "id")} = ANY(?)`,
|
|
222
|
+
bindings: [[...subTree.entities].filter((e) => typeof e === "string" || !e.isNewEntity).map((e) => require_keys.keyToNumber(root.meta, typeof e === "string" ? e : e.id))],
|
|
223
|
+
pruneable: true
|
|
224
|
+
});
|
|
225
|
+
const orderBy = `${require_queries_sql_keywords.kq(jtAlias)}.${require_queries_sql_keywords.kq(field.hasJoinTableId ? "id" : enumColumn)}`;
|
|
226
|
+
const join = {
|
|
227
|
+
join: "lateral",
|
|
228
|
+
alias: jtAlias,
|
|
229
|
+
fromAlias: "unset",
|
|
230
|
+
table: field.joinTableName,
|
|
231
|
+
query: {
|
|
232
|
+
selects: [`json_agg(json_build_array(${parts.join(", ")}) order by ${orderBy}) as _`],
|
|
233
|
+
tables: [{
|
|
234
|
+
join: "primary",
|
|
235
|
+
table: field.joinTableName,
|
|
236
|
+
alias: jtAlias
|
|
237
|
+
}],
|
|
238
|
+
condition: cb.toExpressionFilter(),
|
|
239
|
+
orderBys: []
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
const hydrator = (root, parent, arrays) => {
|
|
243
|
+
const { em } = root;
|
|
244
|
+
if (subTree.entitiesKind === "instances" && !subTree.entities.has(root)) return;
|
|
245
|
+
if (subTree.entitiesKind === "ids" && !subTree.entities.has(root.idTagged)) return;
|
|
246
|
+
const like = {
|
|
247
|
+
entity: parent,
|
|
248
|
+
joinTableName: field.joinTableName,
|
|
249
|
+
columnName: entityColumn,
|
|
250
|
+
otherColumnName: enumColumn,
|
|
251
|
+
fieldName: key,
|
|
252
|
+
meta: require_EntityMetadata.getMetadataForField(require_EntityMetadata.getMetadata(parent), key),
|
|
253
|
+
otherEnum: field.enumDetailType,
|
|
254
|
+
hasJoinTableId: field.hasJoinTableId
|
|
255
|
+
};
|
|
256
|
+
const api = require_EntityManager.getEmInternalApi(em);
|
|
257
|
+
const joinRows = api.joinRows(like);
|
|
258
|
+
const codes = [];
|
|
259
|
+
for (const array of arrays) {
|
|
260
|
+
const enumId = array[0];
|
|
261
|
+
joinRows.addPreloadedRow(like, field.hasJoinTableId ? array[1] : void 0, parent, enumId);
|
|
262
|
+
codes.push(field.enumDetailType.findById(enumId).code);
|
|
263
|
+
}
|
|
264
|
+
api.setPreloadedRelation(parent.idTagged, key, codes);
|
|
265
|
+
};
|
|
266
|
+
return {
|
|
267
|
+
alias: jtAlias,
|
|
268
|
+
relationAlias,
|
|
269
|
+
join,
|
|
270
|
+
hydrator
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/** Reads one column from either classic POJO rows or a lazy `RowData` result. */
|
|
274
|
+
function readRowValue(rows, rowIndex, columnName) {
|
|
275
|
+
return Array.isArray(rows) ? rows[rowIndex][columnName] : rows.get(rowIndex, columnName);
|
|
276
|
+
}
|
|
277
|
+
//#endregion
|
|
278
|
+
exports.JsonAggregatePreloader = JsonAggregatePreloader;
|
|
279
|
+
|
|
280
|
+
//# sourceMappingURL=JsonAggregatePreloader.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonAggregatePreloader.cjs","names":["partitionHint","AliasAssigner","getTables","kqDot","kq","canPreload","ConditionBuilder","fail","keyToNumber","keyToTaggedId","getMetadataForField","getMetadata","getEmInternalApi"],"sources":["../../src/preloading/JsonAggregatePreloader.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport { getEmInternalApi } from \"src/EntityManager.ts\";\nimport { type EntityMetadata, type ManyToManyEnumField, getMetadata, getMetadataForField } from \"src/EntityMetadata.ts\";\nimport type { ManyToManyLike } from \"src/flush/JoinRows.ts\";\nimport { keyToNumber, keyToTaggedId } from \"src/keys.ts\";\nimport type { EntityOrId, HintNode } from \"src/loading/HintTree.ts\";\nimport type { LoadHint, NestedLoadHint } from \"src/loading/loadHints.ts\";\nimport { type JoinResult, type PreloadHydrator, type PreloadPlugin } from \"src/plugins/PreloadPlugin.ts\";\nimport { canPreload } from \"src/preloading/canPreload.ts\";\nimport { partitionHint } from \"src/preloading/partitionHint.ts\";\nimport { ConditionBuilder } from \"src/queries/ConditionBuilder.ts\";\nimport {\n type JoinTable,\n type LateralJoinTable,\n type ParsedFindQuery,\n getTables,\n} from \"src/queries/find/QueryParser.ts\";\nimport { AliasAssigner } from \"src/queries/sql/AliasAssigner.ts\";\nimport { kq, kqDot } from \"src/queries/sql/keywords.ts\";\nimport { type RowData } from \"src/RowData.ts\";\nimport { fail } from \"src/utils.ts\";\n\n/**\n * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`\n * to preload/reduce a subtree of data while still being a single row of data.\n */\nexport class JsonAggregatePreloader implements PreloadPlugin {\n partitionHint(\n meta: EntityMetadata | undefined,\n hint: LoadHint<any>,\n ): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined] {\n return partitionHint(meta, hint);\n }\n\n addPreloading<T extends Entity>(\n meta: EntityMetadata,\n root: HintNode<T>,\n query: ParsedFindQuery,\n ): PreloadHydrator | undefined {\n const assigner = new AliasAssigner(query);\n\n // Get the existing primary alias\n const alias = getTables(query)[0].alias;\n const joins = calcLateralJoins(assigner, { tree: root, alias, meta }, root, alias, meta);\n // If there are no sql-based preload in the hints, just return\n if (joins.length === 0) return undefined;\n\n // Include the aggregate `_b1._ as _prequel`, `_c._ as _randomComment`\n for (const { alias, relationAlias, join } of joins) {\n query.selects.push({\n sql: `${kqDot(alias, \"_\")} as ${kq(relationAlias)}`,\n aliases: [alias],\n bindings: [],\n });\n query.tables.push(join);\n }\n\n return (rows, entities) => {\n for (let i = 0; i < entities.length; i++) {\n const parent = entities[i];\n for (const { relationAlias, hydrator } of joins) {\n hydrator(parent, parent, readRowValue(rows, i, relationAlias) ?? []);\n }\n }\n };\n }\n\n getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[] {\n const assigner = new AliasAssigner(query);\n\n // Get the existing primary alias\n const alias = getTables(query)[0].alias;\n const joins = calcLateralJoins(assigner, { tree: root, alias, meta }, root, alias, meta);\n // If there are no sql-based preload in the hints, just return\n\n // Adapt our json aggregate joins to the higher-level JoinResult\n return joins.map((join) => {\n return {\n selects: [{ value: kqDot(join.alias, \"_\"), as: join.relationAlias }],\n join: join.join,\n hydrator: (rows, entities) => {\n for (let i = 0; i < entities.length; i++) {\n const parent = entities[i];\n join.hydrator(parent, parent, readRowValue(rows, i, join.relationAlias) ?? []);\n }\n },\n };\n });\n }\n}\n\n/** Decodes an array-of-arrays of children entries, and stores them the `parent`'s relation. */\ntype AggregateJsonHydrator = (root: Entity, parent: Entity, arrays: unknown[][]) => void;\n\n/**\n * For a given hint tree `hint`, finds all SQL-able relations and preloads them.\n *\n * Specifically we use `json_agg` & `json_build_array` to `CROSS LATERAL JOIN`\n * children/grand children back as arbitrarily-deeply nested arrays, and then\n * stash the results in the `EntityManager` `joinLoadedRelations` cache, which\n * each join-instrumented relation will check before making its SQL calls.\n *\n * https://sqlfum.pt/?n=60&indent=2&spaces=1&simplify=1&align=0&case=lower&sql=c2VsZWN0IGEuaWQsIGIuXyBhcyBiLCBjMS5fIGFzIGMxLCBhMS5fIGFzIGExIGZyb20gYXV0aG9ycyBhIGNyb3NzIGpvaW4gbGF0ZXJhbCAoIHNlbGVjdCBqc29uX2FnZyhqc29uX2J1aWxkX2FycmF5KGIuaWQsIGIudGl0bGUsIGIuIm9yZGVyIiwgYi5kZWxldGVkX2F0LCBiLmNyZWF0ZWRfYXQsIGIudXBkYXRlZF9hdCwgYi5hdXRob3JfaWQsIGJyLl8pKSBhcyBfIGZyb20gYm9va3MgYiBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShici5pZCwgYnIucmF0aW5nLCBici5pc19wdWJsaWMsIGJyLmlzX3Rlc3QsIGJyLmNyZWF0ZWRfYXQsIGJyLnVwZGF0ZWRfYXQsIGJyLmJvb2tfaWQsIGMuXykpIGFzIF8gZnJvbSBib29rX3Jldmlld3MgYnIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYy5pZCwgYy50ZXh0LCBjLmNyZWF0ZWRfYXQsIGMudXBkYXRlZF9hdCwgYy51c2VyX2lkLCBjLnBhcmVudF9hdXRob3JfaWQsIGMucGFyZW50X2Jvb2tfaWQsIGMucGFyZW50X2Jvb2tfcmV2aWV3X2lkLCBjLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYyB3aGVyZSBjLnBhcmVudF9ib29rX3Jldmlld19pZCA9IGJyLmlkICkgYyB3aGVyZSBici5ib29rX2lkID0gYi5pZCApIGJyIHdoZXJlIGIuYXV0aG9yX2lkID0gYS5pZCApIGIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYzEuaWQsIGMxLnRleHQsIGMxLmNyZWF0ZWRfYXQsIGMxLnVwZGF0ZWRfYXQsIGMxLnVzZXJfaWQsIGMxLnBhcmVudF9hdXRob3JfaWQsIGMxLnBhcmVudF9ib29rX2lkLCBjMS5wYXJlbnRfYm9va19yZXZpZXdfaWQsIGMxLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYzEgd2hlcmUgYzEucGFyZW50X2F1dGhvcl9pZCA9IGEuaWQgKSBjMSBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShhMS5pZCwgYTEuZmlyc3RfbmFtZSwgYTEubGFzdF9uYW1lLCBhMS5zc24sIGExLmluaXRpYWxzLCBhMS5udW1iZXJfb2ZfYm9va3MsIGExLmJvb2tfY29tbWVudHMsIGExLmlzX3BvcHVsYXIsIGExLmFnZSwgYTEuZ3JhZHVhdGVkLCBhMS5uaWNrX25hbWVzLCBhMS53YXNfZXZlcl9wb3B1bGFyLCBhMS5hZGRyZXNzLCBhMS5idXNpbmVzc19hZGRyZXNzLCBhMS5xdW90ZXMsIGExLm51bWJlcl9vZl9hdG9tcywgYTEuZGVsZXRlZF9hdCwgYTEubnVtYmVyX29mX3B1YmxpY19yZXZpZXdzLCBhMS4ibnVtYmVyT2ZQdWJsaWNSZXZpZXdzMiIsIGExLnRhZ3Nfb2ZfYWxsX2Jvb2tzLCBhMS5jcmVhdGVkX2F0LCBhMS51cGRhdGVkX2F0LCBhMS5mYXZvcml0ZV9zaGFwZSwgYTEuZmF2b3JpdGVfY29sb3JzLCBhMS5tZW50b3JfaWQsIGExLmN1cnJlbnRfZHJhZnRfYm9va19pZCwgYTEuZmF2b3JpdGVfYm9va19pZCwgYTEucHVibGlzaGVyX2lkKSkgYXMgXyBmcm9tIGF1dGhvcnMgYTEgd2hlcmUgYTEuaWQgPSBhLm1lbnRvcl9pZCApIGExIHdoZXJlIGEuaWQgPSAxOw%3D%3D\n */\n\n/**\n * Given a `parent` like Author, and a hint of `{ books: ..., comments: ... }`, create `CROSS JOIN LATERAL`s\n * that will pull in the `books` & `comments` children.\n */\nfunction calcLateralJoins<I extends EntityOrId>(\n assigner: AliasAssigner,\n root: { tree: HintNode<I>; alias: string; meta: EntityMetadata },\n tree: HintNode<I>,\n parentAlias: string,\n parentMeta: EntityMetadata,\n pathPrefix: string = \"\",\n): AggregateJoinResult[] {\n const results: AggregateJoinResult[] = [];\n\n // Join in SQL-able hints from parent\n Object.entries(tree.hints).forEach(([key, subTree]) => {\n const field = parentMeta.allFields[key];\n // AsyncProperties don't have fields, which is fine, skip for now...\n if (field && canPreload(parentMeta, field)) {\n // Enum m2ms have no \"other\" entity to join/hydrate; just aggregate the join table's enum ids.\n if (field.kind === \"m2mEnum\") {\n results.push(calcEnumLateralJoin(assigner, root, subTree, parentAlias, field, key, pathPrefix));\n return;\n }\n const otherMeta = field.otherMetadata();\n const otherField = otherMeta.allFields[field.otherFieldName];\n\n // Short table alias for column refs inside the subquery, e.g. `_b1`\n const otherAlias = `_${assigner.getAlias(otherMeta.tableName)}`;\n // Readable path-based column alias for the outer AS clause, e.g. `_books_reviews`\n const pathKey = key.toLowerCase();\n const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${pathKey}`)}`;\n\n // Do the recursion up-front, so we can work it into our own join/hydrator\n const subJoins = calcLateralJoins(assigner, root, subTree, otherAlias, otherMeta, `${pathPrefix}${pathKey}_`);\n\n // Get all fields with serdes and flatten out the columns, skipping `lazy` columns (fetched on-demand)\n const columns = Object.values(otherMeta.allFields)\n .filter((f) => f.serde && !(f.kind === \"primitive\" && f.lazy))\n .flatMap((f) => f.serde!.columns);\n const selects = [\n ...columns.map((c) => kqDot(otherAlias, c.columnName)),\n // We eventually need to handle parent types/subtypes here...\n // Combine any grandchilden\n ...subJoins.map((sb) => kqDot(sb.alias, \"_\")),\n ];\n\n const aliasMaybeSuffix = kq(`${parentAlias}${field.aliasSuffix}`);\n\n const cb = new ConditionBuilder();\n let m2mTable: JoinTable | undefined;\n let m2mAlias: string | undefined;\n if (otherField.kind === \"m2o\") {\n cb.addRawCondition({\n aliases: [otherAlias, parentAlias],\n condition: `${kqDot(otherAlias, otherField.serde.columns[0].columnName)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"poly\") {\n // Get the component that points to us\n // const comp = otherField.components.find((c) => getAllMetas(parentMeta).some((m) => m.cstr === c.otherMetadata().cstr)) ??\n const comp =\n otherField.components.find((c) => parentMeta.cstr === c.otherMetadata().cstr) ??\n fail(`No component found for ${field.fieldName} -> ${otherField.fieldName}`);\n cb.addRawCondition({\n aliases: [otherAlias, parentAlias],\n condition: `${kqDot(otherAlias, comp.columnName)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"o2m\" || otherField.kind === \"lo2m\") {\n cb.addRawCondition({\n aliases: [otherAlias, aliasMaybeSuffix],\n condition: `${kqDot(otherAlias, \"id\")} = ${aliasMaybeSuffix}.${kq(field.serde!.columns[0].columnName)}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"o2o\") {\n cb.addRawCondition({\n aliases: [otherAlias, aliasMaybeSuffix],\n condition: `${kqDot(otherAlias, \"id\")} = ${aliasMaybeSuffix}.${kq(field.serde!.columns[0].columnName)}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"m2m\") {\n m2mAlias = assigner.getAlias(otherField.joinTableName);\n // Get the m2m row's id to track in JoinRows; id-less tables have no surrogate id.\n if (otherField.hasJoinTableId) selects.unshift(kqDot(m2mAlias, \"id\"));\n m2mTable = {\n join: \"inner\",\n table: otherField.joinTableName,\n alias: m2mAlias,\n col1: kqDot(parentAlias, \"id\"),\n col2: kqDot(m2mAlias, otherField.columnNames[1]),\n };\n cb.addRawCondition({\n aliases: [m2mAlias, otherAlias],\n condition: `${kqDot(m2mAlias, otherField.columnNames[0])} = ${kqDot(otherAlias, \"id\")}`,\n pruneable: true,\n });\n } else {\n throw new Error(`Unsupported otherField.kind ${otherField.kind}`);\n }\n\n const needsSubSelect = subTree.entities.size !== root.tree.entities.size;\n if (needsSubSelect) {\n cb.addRawCondition({\n aliases: [root.alias],\n condition: `${kqDot(root.alias, \"id\")} = ANY(?)`,\n bindings: [\n [...subTree.entities]\n .filter((e) => typeof e === \"string\" || !e.isNewEntity)\n .map((e) => keyToNumber(root.meta, typeof e === \"string\" ? e : e.id)),\n ],\n pruneable: true,\n });\n }\n\n // For m2m, order by the join-row's id so preloaded results match the order the lazy batch\n // loader returns (which orders by join-row id). Id-less join tables have no surrogate id,\n // so order by the other entity's FK column (matching the lazy loader & getOthers). Otherwise,\n // order by the target entity's id.\n const orderBy =\n otherField.kind === \"m2m\" && !otherField.hasJoinTableId\n ? `${kq(m2mAlias!)}.${kq(otherField.columnNames[0])}`\n : `${kq(m2mAlias ?? otherAlias)}.id`;\n\n const join: LateralJoinTable = {\n join: \"lateral\",\n alias: otherAlias,\n // Do we need to say which alias we're coming from, to avoid having it pruned?\n // ...maybe not because preloading is always on the primary table?\n fromAlias: \"unset\",\n table: otherMeta.tableName,\n query: {\n selects: [`json_agg(json_build_array(${selects.join(\", \")}) order by ${orderBy}) as _`],\n tables: [\n { join: \"primary\", table: otherMeta.tableName, alias: otherAlias },\n ...(m2mTable ? [m2mTable] : []),\n ...subJoins.map((sj) => sj.join),\n ],\n condition: cb.toExpressionFilter(),\n orderBys: [],\n },\n };\n\n // Pre-compute column names so we don't re-read them per entity\n const columnNames = columns.map((c) => c.columnName);\n // If we've snuck the m2m row id into the json array, ignore it (id-less tables have no id)\n const m2mOffset = field.kind === \"m2m\" && field.hasJoinTableId ? 1 : 0;\n\n const hydrator: AggregateJsonHydrator = (root, parent, arrays) => {\n const { em } = root;\n\n // If we had overlapping load hints, i.e. `author.books` for [a1, a2] and `author.comments` for [a1], and\n // we're processing the arrays of comments, but for a root author like `a2` that didn't ask for our load\n // hint, then skip it to keep the relation unloaded.\n if (subTree.entitiesKind === \"instances\" && !subTree.entities.has(root as any)) return;\n if (subTree.entitiesKind === \"ids\" && !subTree.entities.has(root.idTagged as any)) return;\n\n // We get back an array of [[1, title], [2, title], [3, title]]\n const children = arrays.map((array) => {\n const taggedId = keyToTaggedId(otherMeta, array[m2mOffset] as any)!;\n const row: Record<string, any> = {};\n for (let i = 0; i < columns.length; i++) {\n row[columnNames[i]] = columns[i].mapFromJsonAgg(array[m2mOffset + i]);\n }\n const entity =\n em.findExistingInstance<Entity>(taggedId) ??\n (em.hydrate(otherMeta.cstr, [row], { overwriteExisting: false }) as Entity[])[0];\n // Tell the internal JoinRow booking-keeping about this m2m row\n if (field.kind === \"m2m\") {\n // TODO This `addExisting` needs to be pulled up, out of the `arrays.map`, so we can do a `loadRows`-ish\n // call that passes all now-known m2m rows into JoinRows as a single list, so that it can mark any\n // deleted-from-under-us m2m rows as deleted.\n const m2m = (parent as any)[key];\n getEmInternalApi(em)\n .joinRows(m2m)\n .addPreloadedRow(m2m, field.hasJoinTableId ? (array[0] as any) : undefined, parent, entity);\n }\n // Within each child, look for grandchildren\n subJoins.forEach((sub, i) => {\n // array[i] could be null if there are no grandchildren, but still call `sub` to\n // process it so that we store the empty array into the em.joinLoadedRelations, to\n // avoid the relation.load method later doing a SQL for rows we know are not there.\n sub.hydrator(root, entity, (array[m2mOffset + columns.length + i] as any) ?? []);\n });\n return entity;\n });\n // Cache the entities so `.load`s will see them\n getEmInternalApi(em).setPreloadedRelation(parent.idTagged, key, children);\n };\n\n results.push({ alias: otherAlias, relationAlias, join, hydrator });\n }\n });\n\n return results;\n}\n\n/**\n * Builds the `CROSS JOIN LATERAL` that aggregates an enum-m2m join table (e.g. `publisher_logo_colors`)\n * into a json array of enum ids, e.g. `[[1], [3]]` (or `[[1, id], [3, id]]` for id-ful join tables).\n */\nfunction calcEnumLateralJoin<I extends EntityOrId>(\n assigner: AliasAssigner,\n root: { tree: HintNode<I>; alias: string; meta: EntityMetadata },\n subTree: HintNode<I>,\n parentAlias: string,\n field: ManyToManyEnumField,\n key: string,\n pathPrefix: string,\n): AggregateJoinResult {\n const [entityColumn, enumColumn] = field.columnNames;\n const jtAlias = `_${assigner.getAlias(field.joinTableName)}`;\n const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${key.toLowerCase()}`)}`;\n\n const parts = [kqDot(jtAlias, enumColumn)];\n if (field.hasJoinTableId) parts.push(kqDot(jtAlias, \"id\"));\n\n const cb = new ConditionBuilder();\n cb.addRawCondition({\n aliases: [jtAlias, parentAlias],\n condition: `${kqDot(jtAlias, entityColumn)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n\n const needsSubSelect = subTree.entities.size !== root.tree.entities.size;\n if (needsSubSelect) {\n cb.addRawCondition({\n aliases: [root.alias],\n condition: `${kqDot(root.alias, \"id\")} = ANY(?)`,\n bindings: [\n [...subTree.entities]\n .filter((e) => typeof e === \"string\" || !e.isNewEntity)\n .map((e) => keyToNumber(root.meta, typeof e === \"string\" ? e : e.id)),\n ],\n pruneable: true,\n });\n }\n\n const orderBy = `${kq(jtAlias)}.${kq(field.hasJoinTableId ? \"id\" : enumColumn)}`;\n const join: LateralJoinTable = {\n join: \"lateral\",\n alias: jtAlias,\n fromAlias: \"unset\",\n table: field.joinTableName,\n query: {\n selects: [`json_agg(json_build_array(${parts.join(\", \")}) order by ${orderBy}) as _`],\n tables: [{ join: \"primary\", table: field.joinTableName, alias: jtAlias }],\n condition: cb.toExpressionFilter(),\n orderBys: [],\n },\n };\n\n const hydrator: AggregateJsonHydrator = (root, parent, arrays) => {\n const { em } = root;\n if (subTree.entitiesKind === \"instances\" && !subTree.entities.has(root as any)) return;\n if (subTree.entitiesKind === \"ids\" && !subTree.entities.has(root.idTagged as any)) return;\n const like: ManyToManyLike = {\n entity: parent,\n joinTableName: field.joinTableName,\n columnName: entityColumn,\n otherColumnName: enumColumn,\n fieldName: key,\n meta: getMetadataForField(getMetadata(parent), key),\n otherEnum: field.enumDetailType,\n hasJoinTableId: field.hasJoinTableId,\n };\n const api = getEmInternalApi(em);\n const joinRows = api.joinRows(like);\n const codes: any[] = [];\n for (const array of arrays) {\n const enumId = array[0] as number;\n joinRows.addPreloadedRow(like, field.hasJoinTableId ? (array[1] as number) : undefined, parent, enumId);\n codes.push(field.enumDetailType.findById(enumId)!.code);\n }\n api.setPreloadedRelation(parent.idTagged, key, codes);\n };\n\n return { alias: jtAlias, relationAlias, join, hydrator };\n}\n\n/** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */\ntype AggregateJoinResult = {\n /** The short table alias used for column references inside the subquery, e.g. `_b1`. */\n alias: string;\n /** The readable relation-name alias used in the outer `AS` clause, e.g. `_prequel`. */\n relationAlias: string;\n /** The SQL for this child's lateral join, which itself might have recursive lateral joins. */\n join: LateralJoinTable;\n /** The hydrator for this child's lateral join, which itself might recursively hydrator subjoins. */\n hydrator: AggregateJsonHydrator;\n};\n\n/** Reads one column from either classic POJO rows or a lazy `RowData` result. */\nfunction readRowValue(rows: any[] | RowData, rowIndex: number, columnName: string): any {\n return Array.isArray(rows) ? rows[rowIndex][columnName] : rows.get(rowIndex, columnName);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ParsedFindQuery } from "../queries/find/QueryParser.cjs";
|
|
2
|
+
import { LoadHint, NestedLoadHint } from "../loading/loadHints.cjs";
|
|
3
|
+
import { EntityMetadata } from "../EntityMetadata.cjs";
|
|
4
|
+
import { HintNode } from "../loading/HintTree.cjs";
|
|
5
|
+
import { JoinResult, PreloadHydrator, PreloadPlugin } from "../plugins/PreloadPlugin.cjs";
|
|
6
|
+
import { Entity } from "../Entity.cjs";
|
|
7
|
+
//#region src/preloading/JsonAggregatePreloader.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
|
|
10
|
+
* to preload/reduce a subtree of data while still being a single row of data.
|
|
11
|
+
*/
|
|
12
|
+
declare class JsonAggregatePreloader implements PreloadPlugin {
|
|
13
|
+
partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
|
|
14
|
+
addPreloading<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): PreloadHydrator | undefined;
|
|
15
|
+
getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[];
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { JsonAggregatePreloader };
|
|
19
|
+
//# sourceMappingURL=JsonAggregatePreloader.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonAggregatePreloader.d.cts","names":[],"sources":["../../src/preloading/JsonAggregatePreloader.ts"],"mappings":";;;;;;;;;;;cA0Ba,kCAAkC;EAC7C,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;EAIrC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,IACf,OAAO,kBACN;EA6BH,gBAAgB,UAAU,QAAQ,MAAM,gBAAgB,MAAM,SAAS,IAAI,OAAO,kBAAkB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ParsedFindQuery } from "../queries/find/QueryParser.mjs";
|
|
2
|
+
import { LoadHint, NestedLoadHint } from "../loading/loadHints.mjs";
|
|
3
|
+
import { EntityMetadata } from "../EntityMetadata.mjs";
|
|
4
|
+
import { HintNode } from "../loading/HintTree.mjs";
|
|
5
|
+
import { JoinResult, PreloadHydrator, PreloadPlugin } from "../plugins/PreloadPlugin.mjs";
|
|
6
|
+
import { Entity } from "../Entity.mjs";
|
|
7
|
+
//#region src/preloading/JsonAggregatePreloader.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
|
|
10
|
+
* to preload/reduce a subtree of data while still being a single row of data.
|
|
11
|
+
*/
|
|
12
|
+
declare class JsonAggregatePreloader implements PreloadPlugin {
|
|
13
|
+
partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
|
|
14
|
+
addPreloading<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): PreloadHydrator | undefined;
|
|
15
|
+
getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[];
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { JsonAggregatePreloader };
|
|
19
|
+
//# sourceMappingURL=JsonAggregatePreloader.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonAggregatePreloader.d.mts","names":[],"sources":["../../src/preloading/JsonAggregatePreloader.ts"],"mappings":";;;;;;;;;;;cA0Ba,kCAAkC;EAC7C,cACE,MAAM,4BACN,MAAM,iBACJ,iCAAiC;EAIrC,cAAc,UAAU,QACtB,MAAM,gBACN,MAAM,SAAS,IACf,OAAO,kBACN;EA6BH,gBAAgB,UAAU,QAAQ,MAAM,gBAAgB,MAAM,SAAS,IAAI,OAAO,kBAAkB"}
|