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
package/build/json.cjs
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_relations_AbstractRelationImpl = require("./relations/AbstractRelationImpl.cjs");
|
|
3
|
+
const require_normalizeHints = require("./normalizeHints.cjs");
|
|
4
|
+
const require_relations_ReactiveGetter = require("./relations/ReactiveGetter.cjs");
|
|
5
|
+
const require_reactivity_reactiveHints = require("./reactivity/reactiveHints.cjs");
|
|
6
|
+
const require_relations_hasProperty = require("./relations/hasProperty.cjs");
|
|
7
|
+
const require_relations_ReactiveField = require("./relations/ReactiveField.cjs");
|
|
8
|
+
const require_relations_AsyncReactiveField = require("./relations/AsyncReactiveField.cjs");
|
|
9
|
+
require("./relations/index.cjs");
|
|
10
|
+
const require_EntityMetadata = require("./EntityMetadata.cjs");
|
|
11
|
+
require("./EntityManager.cjs");
|
|
12
|
+
const require_Entity = require("./Entity.cjs");
|
|
13
|
+
//#region src/json.ts
|
|
14
|
+
async function toJSON(entityOrList, hint) {
|
|
15
|
+
if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];
|
|
16
|
+
const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;
|
|
17
|
+
const loadHint = require_reactivity_reactiveHints.convertToLoadHint(require_EntityMetadata.getMetadata(entity), hint, true);
|
|
18
|
+
await entity.em.populate(entityOrList, loadHint);
|
|
19
|
+
const normHint = require_normalizeHints.normalizeHint(hint);
|
|
20
|
+
if (Array.isArray(entityOrList)) {
|
|
21
|
+
const list = [];
|
|
22
|
+
await Promise.all(entityOrList.map((entity) => {
|
|
23
|
+
const json = {};
|
|
24
|
+
list.push(json);
|
|
25
|
+
return copyToPayload(json, entity, normHint);
|
|
26
|
+
}));
|
|
27
|
+
return list;
|
|
28
|
+
} else {
|
|
29
|
+
const json = {};
|
|
30
|
+
await copyToPayload(json, entity, normHint);
|
|
31
|
+
return json;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Recursively copies the fields of `hint` from `entity` into the `payload`. */
|
|
35
|
+
async function copyToPayload(payload, entity, hint) {
|
|
36
|
+
for (const [payloadKey, nestedHint] of Object.entries(hint)) {
|
|
37
|
+
const nextHint = require_normalizeHints.normalizeHint(nestedHint);
|
|
38
|
+
let entityKey = payloadKey;
|
|
39
|
+
if (!(entityKey in entity)) {
|
|
40
|
+
const field = Object.values(require_EntityMetadata.getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);
|
|
41
|
+
if (field) entityKey = field.fieldName;
|
|
42
|
+
}
|
|
43
|
+
if (!(entityKey in entity)) {
|
|
44
|
+
if (typeof nestedHint !== "function") throw new Error(`Entity does not have a property ${payloadKey}`);
|
|
45
|
+
payload[payloadKey] = await nestedHint(entity);
|
|
46
|
+
} else {
|
|
47
|
+
const value = entity[entityKey];
|
|
48
|
+
if (isPrimitive(value)) payload[payloadKey] = value;
|
|
49
|
+
else if (value instanceof require_relations_AbstractRelationImpl.AbstractRelationImpl || value instanceof require_relations_ReactiveField.ReactiveFieldImpl || value instanceof require_relations_ReactiveGetter.ReactiveGetterImpl || value instanceof require_relations_AsyncReactiveField.AsyncReactiveFieldImpl || value instanceof require_relations_hasProperty.PropertyImpl) await copyToPayloadValue(payload, payloadKey, value.get, nextHint);
|
|
50
|
+
else throw new Error(`Unable to encode value ${value} to JSON`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function copyToPayloadValue(payload, key, value, nextHint) {
|
|
55
|
+
if (value === void 0 || value === null || isPrimitive(value)) payload[key] = value;
|
|
56
|
+
else if (require_Entity.isEntity(value)) {
|
|
57
|
+
if (nextHint && Object.keys(nextHint).length > 0) {
|
|
58
|
+
payload[key] = {};
|
|
59
|
+
return copyToPayload(payload[key], value, nextHint);
|
|
60
|
+
} else payload[key] = value.id;
|
|
61
|
+
} else if (Array.isArray(value)) {
|
|
62
|
+
const list = [];
|
|
63
|
+
payload[key] = list;
|
|
64
|
+
if (nextHint && Object.keys(nextHint).length > 0) return Promise.all(value.map(async (item, i) => {
|
|
65
|
+
if (require_Entity.isEntity(item)) {
|
|
66
|
+
list[i] = {};
|
|
67
|
+
return copyToPayload(list[i], item, nextHint);
|
|
68
|
+
} else list[i] = item;
|
|
69
|
+
}));
|
|
70
|
+
else for (const item of value) list.push(item.id);
|
|
71
|
+
} else payload[key] = value;
|
|
72
|
+
}
|
|
73
|
+
function isPrimitive(value) {
|
|
74
|
+
return value === null || typeof value !== "object";
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
exports.toJSON = toJSON;
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=json.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.cjs","names":["convertToLoadHint","getMetadata","normalizeHint","AbstractRelationImpl","ReactiveFieldImpl","ReactiveGetterImpl","AsyncReactiveFieldImpl","PropertyImpl","isEntity"],"sources":["../src/json.ts"],"sourcesContent":["import { type Entity, isEntity } from \"src/Entity.ts\";\nimport { type IdOf } from \"src/EntityManager.ts\";\nimport { getMetadata } from \"src/EntityMetadata.ts\";\nimport { normalizeHint } from \"src/normalizeHints.ts\";\nimport { convertToLoadHint } from \"src/reactivity/reactiveHints.ts\";\nimport { AbstractRelationImpl } from \"src/relations/AbstractRelationImpl.ts\";\nimport { AsyncReactiveFieldImpl } from \"src/relations/AsyncReactiveField.ts\";\nimport { PropertyImpl } from \"src/relations/hasProperty.ts\";\nimport {\n type AsyncMethod,\n type Collection,\n type Property,\n type ReactiveGetter,\n type Reference,\n} from \"src/relations/index.ts\";\nimport { ReactiveFieldImpl } from \"src/relations/ReactiveField.ts\";\nimport { ReactiveGetterImpl } from \"src/relations/ReactiveGetter.ts\";\n\n/**\n * A JSON hint of a single key, multiple keys, or nested keys and sub-hints.\n *\n * JSON hints are much like load hints/reactive hints:\n *\n * - Similar to load hints, they specify which relations should be loaded from the database\n * - Similar to reactive hints, they include specific fields to output\n * - Unlike either, they can include completely custom keys that are lambdas to generate custom values\n */\nexport type JsonHint<T extends Entity> =\n | (keyof Jsonable<T> & string)\n | ReadonlyArray<keyof Jsonable<T> & string>\n | NestedJsonHint<T>;\n\n/** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */\nexport type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;\n\n/** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */\nexport type EntityKeyJsonHint<T extends Entity> = {\n // The `as K` makes `bookIds` as a hint work...\n [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends infer U extends Entity ? JsonHint<U> : {}) | boolean;\n};\n\nexport type CustomJsonKeyHint<T> = {\n [key: string]: (entity: T) => any;\n};\n\n/**\n * Describes the JSON payload for `Entity.toJSON` to produce.\n *\n * - `[\"firstName\", \"lastName\"]` will produce a JSON payload with just those fields\n * - `{ author: { books: \"title\" } }` will produce a JSON payload with the author's books' titles\n *\n * We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.\n */\nexport type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;\n\n/** The keys in `T` that we can put into a JSON payload. */\nexport type Jsonable<T extends Entity> = {\n -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>;\n};\n\n// this should probably be `keyof T` as long as they aren't methods/AsyncMethods.\n// so primitives, enums, references, collections, async properties, but also random getters.\nexport type JsonableValue<V> =\n V extends Reference<any, infer U, any>\n ? U\n : V extends Collection<any, infer U>\n ? U\n : V extends AsyncMethod<any, any, any>\n ? never\n : V extends Property<any, infer P>\n ? DropUndefined<P>\n : V extends ReactiveGetter<any, infer P>\n ? P\n : V;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entity: T,\n hint: H,\n): Promise<JsonPayload<T, H>>;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entities: readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H>[]>;\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entityOrList: T | readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H> | JsonPayload<T, H>[]> {\n // If called with a list, and nothing there, just early return\n if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];\n\n // Otherwise probe to get our first entity\n const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;\n const loadHint = convertToLoadHint(getMetadata(entity), hint as any, true);\n await entity.em.populate(entityOrList, loadHint);\n const normHint = normalizeHint(hint as any);\n\n if (Array.isArray(entityOrList)) {\n const list = [] as any;\n await Promise.all(\n entityOrList.map((entity) => {\n const json = {};\n list.push(json);\n return copyToPayload(json, entity, normHint);\n }),\n );\n return list;\n } else {\n const json = {};\n await copyToPayload(json, entity, normHint);\n return json as any;\n }\n}\n\n/**\n * Statically types the return value of `toJSON` based on the given `hint`.\n */\nexport type JsonPayload<T, H> = {\n [HK in keyof NormalizeHint<H> & string]: HK extends keyof T\n ? JsonPayloadKey<T, H, HK, HK>\n : HK extends `${infer TK extends string & keyof T}Id`\n ? JsonPayloadKey<T, H, TK, HK>\n : HK extends `${infer SK extends string}Ids` // bookIds -> books\n ? // Very naive singularization to see if the guessed bookIds -> books actually exists on T to map 1:1\n `${SK}s` extends keyof T\n ? JsonPayloadKey<T, H, `${SK}s`, HK>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>;\n};\n\ntype JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> =\n T[TK] extends Reference<any, infer U, any>\n ? JsonPayloadReference<U, NormalizeHint<H>[HK]>\n : T[TK] extends Collection<any, infer U>\n ? JsonPayloadCollection<U, NormalizeHint<H>[HK]>\n : T[TK] extends Property<any, infer U>\n ? JsonPayloadProperty<U, NormalizeHint<H>[HK]>\n : T[TK] extends ReactiveGetter<any, infer V>\n ? V\n : T[TK];\n\n// If the hint is empty, we just output the id as a string.\ntype JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;\n\ntype JsonPayloadCollection<U extends Entity, H> =\n // If this is `books: true`, use the id\n H extends true\n ? IdOf<U>[]\n : // If this is `{}`, use the id\n IsEmpty<H> extends true\n ? IdOf<U>[]\n : // Otherwise it's a nested hint\n JsonPayload<U, H>[];\n\ntype JsonPayloadProperty<P, H> =\n // If an async property returns an entity, treat it like a reference\n P extends Entity | undefined\n ? JsonPayloadReference<P, H>\n : // If an async property returns an entity[], treat it like a collection\n P extends (infer U extends Entity)[] | undefined\n ? JsonPayloadCollection<U, H>\n : // Otherwise leave it as-is\n P;\n\ntype JsonPayloadCustom<H> = H extends (...args: any) => infer V ? UnwrapPromise<V> : H;\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\n/** Recursively copies the fields of `hint` from `entity` into the `payload`. */\nasync function copyToPayload(payload: Record<string, {}>, entity: any, hint: object): Promise<void> {\n // Look at each key in the hint and determine\n for (const [payloadKey, nestedHint] of Object.entries(hint)) {\n const nextHint = normalizeHint(nestedHint);\n // Watch for `companyId`\n let entityKey = payloadKey;\n if (!(entityKey in entity)) {\n const field = Object.values(getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);\n if (field) {\n entityKey = field.fieldName;\n }\n }\n // Look for custom props\n if (!(entityKey in entity)) {\n if (typeof nestedHint !== \"function\") {\n throw new Error(`Entity does not have a property ${payloadKey}`);\n }\n payload[payloadKey] = await nestedHint(entity);\n } else {\n const value = entity[entityKey];\n if (isPrimitive(value)) {\n payload[payloadKey] = value;\n } else if (\n value instanceof AbstractRelationImpl ||\n value instanceof ReactiveFieldImpl ||\n value instanceof ReactiveGetterImpl ||\n value instanceof AsyncReactiveFieldImpl ||\n value instanceof PropertyImpl\n ) {\n await copyToPayloadValue(payload, payloadKey, value.get, nextHint);\n } else {\n throw new Error(`Unable to encode value ${value} to JSON`);\n }\n }\n }\n}\n\nfunction copyToPayloadValue(payload: any, key: any, value: any, nextHint: any): Promise<unknown> | undefined {\n if (value === undefined || value === null || isPrimitive(value)) {\n payload[key] = value;\n } else if (isEntity(value)) {\n if (nextHint && Object.keys(nextHint).length > 0) {\n payload[key] = {};\n return copyToPayload(payload[key], value, nextHint);\n } else {\n payload[key] = value.id;\n }\n } else if (Array.isArray(value)) {\n const list = [] as any[];\n payload[key] = list;\n if (nextHint && Object.keys(nextHint).length > 0) {\n return Promise.all(\n value.map(async (item, i) => {\n if (isEntity(item)) {\n list[i] = {};\n return copyToPayload(list[i], item, nextHint);\n } else {\n // This is probably undefined\n list[i] = item;\n }\n }),\n );\n } else {\n // This is assuming an array of entities...\n for (const item of value) list.push(item.id);\n }\n } else {\n payload[key] = value;\n }\n}\n\nfunction isPrimitive(value: any): boolean {\n return value === null || typeof value !== \"object\";\n}\n\ntype DropUndefined<T> = T extends infer U extends Entity | undefined ? U : T;\n\n// A copy/paste of NormalizeHint w/o the `DropSuffix` stuff\ntype NormalizeHint<H> = H extends string\n ? Record<H, {}>\n : H extends ReadonlyArray<any>\n ? Record<H[number], {}>\n : { [K in keyof H]: H[K] };\n\ntype IsEmpty<T> = keyof T extends never ? true : false;\n"],"mappings":";;;;;;;;;;;;;AAwGA,eAAsB,OACpB,cACA,MACkD;CAElD,IAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,GAAG,OAAO,CAAC;CAGtE,MAAM,SAAS,MAAM,QAAQ,YAAY,IAAI,aAAa,KAAK;CAC/D,MAAM,WAAWA,iCAAAA,kBAAkBC,uBAAAA,YAAY,MAAM,GAAG,MAAa,IAAI;CACzE,MAAM,OAAO,GAAG,SAAS,cAAc,QAAQ;CAC/C,MAAM,WAAWC,uBAAAA,cAAc,IAAW;CAE1C,IAAI,MAAM,QAAQ,YAAY,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,MAAM,QAAQ,IACZ,aAAa,KAAK,WAAW;GAC3B,MAAM,OAAO,CAAC;GACd,KAAK,KAAK,IAAI;GACd,OAAO,cAAc,MAAM,QAAQ,QAAQ;EAC7C,CAAC,CACH;EACA,OAAO;CACT,OAAO;EACL,MAAM,OAAO,CAAC;EACd,MAAM,cAAc,MAAM,QAAQ,QAAQ;EAC1C,OAAO;CACT;AACF;;AAyDA,eAAe,cAAc,SAA6B,QAAa,MAA6B;CAElG,KAAK,MAAM,CAAC,YAAY,eAAe,OAAO,QAAQ,IAAI,GAAG;EAC3D,MAAM,WAAWA,uBAAAA,cAAc,UAAU;EAEzC,IAAI,YAAY;EAChB,IAAI,EAAE,aAAa,SAAS;GAC1B,MAAM,QAAQ,OAAO,OAAOD,uBAAAA,YAAY,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,EAAE,gBAAgB,UAAU;GACnG,IAAI,OACF,YAAY,MAAM;EAEtB;EAEA,IAAI,EAAE,aAAa,SAAS;GAC1B,IAAI,OAAO,eAAe,YACxB,MAAM,IAAI,MAAM,mCAAmC,YAAY;GAEjE,QAAQ,cAAc,MAAM,WAAW,MAAM;EAC/C,OAAO;GACL,MAAM,QAAQ,OAAO;GACrB,IAAI,YAAY,KAAK,GACnB,QAAQ,cAAc;QACjB,IACL,iBAAiBE,uCAAAA,wBACjB,iBAAiBC,gCAAAA,qBACjB,iBAAiBC,iCAAAA,sBACjB,iBAAiBC,qCAAAA,0BACjB,iBAAiBC,8BAAAA,cAEjB,MAAM,mBAAmB,SAAS,YAAY,MAAM,KAAK,QAAQ;QAEjE,MAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;EAE7D;CACF;AACF;AAEA,SAAS,mBAAmB,SAAc,KAAU,OAAY,UAA6C;CAC3G,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,YAAY,KAAK,GAC5D,QAAQ,OAAO;MACV,IAAIC,eAAAA,SAAS,KAAK,GAAG;EAC1B,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAAG;GAChD,QAAQ,OAAO,CAAC;GAChB,OAAO,cAAc,QAAQ,MAAM,OAAO,QAAQ;EACpD,OACE,QAAQ,OAAO,MAAM;CAEzB,OAAO,IAAI,MAAM,QAAQ,KAAK,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,QAAQ,OAAO;EACf,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAC7C,OAAO,QAAQ,IACb,MAAM,IAAI,OAAO,MAAM,MAAM;GAC3B,IAAIA,eAAAA,SAAS,IAAI,GAAG;IAClB,KAAK,KAAK,CAAC;IACX,OAAO,cAAc,KAAK,IAAI,MAAM,QAAQ;GAC9C,OAEE,KAAK,KAAK;EAEd,CAAC,CACH;OAGA,KAAK,MAAM,QAAQ,OAAO,KAAK,KAAK,KAAK,EAAE;CAE/C,OACE,QAAQ,OAAO;AAEnB;AAEA,SAAS,YAAY,OAAqB;CACxC,OAAO,UAAU,QAAQ,OAAO,UAAU;AAC5C"}
|
package/build/json.d.cts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Collection } from "./relations/Collection.cjs";
|
|
2
|
+
import { AsyncMethod } from "./relations/hasAsyncMethod.cjs";
|
|
3
|
+
import { Property } from "./relations/hasProperty.cjs";
|
|
4
|
+
import { Reference } from "./relations/Reference.cjs";
|
|
5
|
+
import { ReactiveGetter } from "./relations/ReactiveGetter.cjs";
|
|
6
|
+
import "./relations/index.cjs";
|
|
7
|
+
import { IdOf } from "./EntityManager.cjs";
|
|
8
|
+
import { Entity } from "./Entity.cjs";
|
|
9
|
+
//#region src/json.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* A JSON hint of a single key, multiple keys, or nested keys and sub-hints.
|
|
12
|
+
*
|
|
13
|
+
* JSON hints are much like load hints/reactive hints:
|
|
14
|
+
*
|
|
15
|
+
* - Similar to load hints, they specify which relations should be loaded from the database
|
|
16
|
+
* - Similar to reactive hints, they include specific fields to output
|
|
17
|
+
* - Unlike either, they can include completely custom keys that are lambdas to generate custom values
|
|
18
|
+
*/
|
|
19
|
+
type JsonHint<T extends Entity> = (keyof Jsonable<T> & string) | ReadonlyArray<keyof Jsonable<T> & string> | NestedJsonHint<T>;
|
|
20
|
+
/** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */
|
|
21
|
+
type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;
|
|
22
|
+
/** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */
|
|
23
|
+
type EntityKeyJsonHint<T extends Entity> = { [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends (infer U extends Entity) ? JsonHint<U> : {}) | boolean; };
|
|
24
|
+
type CustomJsonKeyHint<T> = {
|
|
25
|
+
[key: string]: (entity: T) => any;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Describes the JSON payload for `Entity.toJSON` to produce.
|
|
29
|
+
*
|
|
30
|
+
* - `["firstName", "lastName"]` will produce a JSON payload with just those fields
|
|
31
|
+
* - `{ author: { books: "title" } }` will produce a JSON payload with the author's books' titles
|
|
32
|
+
*
|
|
33
|
+
* We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.
|
|
34
|
+
*/
|
|
35
|
+
type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;
|
|
36
|
+
/** The keys in `T` that we can put into a JSON payload. */
|
|
37
|
+
type Jsonable<T extends Entity> = { -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>; };
|
|
38
|
+
type JsonableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends AsyncMethod<any, any, any> ? never : V extends Property<any, infer P> ? DropUndefined<P> : V extends ReactiveGetter<any, infer P> ? P : V;
|
|
39
|
+
/**
|
|
40
|
+
* Provides an API to put an entity, or list of entities, into a JSON payload.
|
|
41
|
+
*
|
|
42
|
+
* The `hint` parameter is a JSON hint that describes what to include in the payload,
|
|
43
|
+
*
|
|
44
|
+
* - fields like `id`, `name`, etc.
|
|
45
|
+
* - relations like m2o, o2m, m2m, and o2o
|
|
46
|
+
* - relations are allowed to provide nested hints, just like nested load hints
|
|
47
|
+
* - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
|
|
48
|
+
*/
|
|
49
|
+
declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entity: T, hint: H): Promise<JsonPayload<T, H>>;
|
|
50
|
+
/**
|
|
51
|
+
* Provides an API to put an entity, or list of entities, into a JSON payload.
|
|
52
|
+
*
|
|
53
|
+
* The `hint` parameter is a JSON hint that describes what to include in the payload,
|
|
54
|
+
*
|
|
55
|
+
* - fields like `id`, `name`, etc.
|
|
56
|
+
* - relations like m2o, o2m, m2m, and o2o
|
|
57
|
+
* - relations are allowed to provide nested hints, just like nested load hints
|
|
58
|
+
* - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
|
|
59
|
+
*/
|
|
60
|
+
declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entities: readonly T[], hint: H): Promise<JsonPayload<T, H>[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Statically types the return value of `toJSON` based on the given `hint`.
|
|
63
|
+
*/
|
|
64
|
+
type JsonPayload<T, H> = { [HK in keyof NormalizeHint<H> & string]: HK extends keyof T ? JsonPayloadKey<T, H, HK, HK> : HK extends `${infer TK extends string & keyof T}Id` ? JsonPayloadKey<T, H, TK, HK> : HK extends `${infer SK extends string}Ids` ? `${SK}s` extends keyof T ? JsonPayloadKey<T, H, `${SK}s`, HK> : JsonPayloadCustom<NormalizeHint<H>[HK]> : JsonPayloadCustom<NormalizeHint<H>[HK]>; };
|
|
65
|
+
type JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> = T[TK] extends Reference<any, infer U, any> ? JsonPayloadReference<U, NormalizeHint<H>[HK]> : T[TK] extends Collection<any, infer U> ? JsonPayloadCollection<U, NormalizeHint<H>[HK]> : T[TK] extends Property<any, infer U> ? JsonPayloadProperty<U, NormalizeHint<H>[HK]> : T[TK] extends ReactiveGetter<any, infer V> ? V : T[TK];
|
|
66
|
+
type JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;
|
|
67
|
+
type JsonPayloadCollection<U extends Entity, H> = H extends true ? IdOf<U>[] : IsEmpty<H> extends true ? IdOf<U>[] : JsonPayload<U, H>[];
|
|
68
|
+
type JsonPayloadProperty<P, H> = P extends Entity | undefined ? JsonPayloadReference<P, H> : P extends (infer U extends Entity)[] | undefined ? JsonPayloadCollection<U, H> : P;
|
|
69
|
+
type JsonPayloadCustom<H> = H extends ((...args: any) => infer V) ? UnwrapPromise<V> : H;
|
|
70
|
+
type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
|
|
71
|
+
type DropUndefined<T> = T extends (infer U extends Entity | undefined) ? U : T;
|
|
72
|
+
type NormalizeHint<H> = H extends string ? Record<H, {}> : H extends ReadonlyArray<any> ? Record<H[number], {}> : { [K in keyof H]: H[K]; };
|
|
73
|
+
type IsEmpty<T> = keyof T extends never ? true : false;
|
|
74
|
+
//#endregion
|
|
75
|
+
export { CustomJsonKeyHint, EntityKeyJsonHint, JsonHint, JsonPayload, Jsonable, JsonableValue, NestedJsonHint, ToJsonHint, toJSON };
|
|
76
|
+
//# sourceMappingURL=json.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.cts","names":[],"sources":["../src/json.ts"],"mappings":";;;;;;;;;;;;;;;;;;KA2BY,SAAS,UAAU,iBACpB,SAAS,eAChB,oBAAoB,SAAS,eAC7B,eAAe;;KAGP,eAAe,UAAU,UAAU,kBAAkB,KAAK,kBAAkB;;KAG5E,kBAAkB,UAAU,aAErC,WAAW,SAAS,SAAS,QAAQ,SAAS,GAAG,kBAAiB,UAAU,UAAS,SAAS;KAGrF,kBAAkB;GAC3B,eAAe,QAAQ;;;;;;;;;;KAWd,WAAW,UAAU,UAAU,eAAe,KAAK,oBAAoB,SAAS;;KAGhF,SAAS,UAAU,uBAClB,WAAW,KAAK,cAAc,EAAE,4BAA4B,IAAI,cAAc,EAAE;KAKjF,cAAc,KACxB,UAAU,qBAAqB,UAC3B,IACA,UAAU,sBAAsB,KAC9B,IACA,UAAU,qCAER,UAAU,oBAAoB,KAC5B,cAAc,KACd,UAAU,0BAA0B,KAClC,IACA;;;;;;;;;;;iBAYQ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,QAAQ,GACR,MAAM,IACL,QAAQ,YAAY,GAAG;;;;;;;;;;;iBAYJ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,mBAAmB,KACnB,MAAM,IACL,QAAQ,YAAY,GAAG;;;;KAkCd,YAAY,GAAG,QACxB,YAAY,cAAc,cAAc,iBAAiB,IACtD,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,0BAA0B,QAC5C,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,4BAEf,oBAAoB,IACrB,eAAe,GAAG,MAAM,OAAO,MAC/B,kBAAkB,cAAc,GAAG,OACrC,kBAAkB,cAAc,GAAG;KAGxC,eAAe,GAAG,GAAG,iBAAiB,GAAG,iBAAiB,cAAc,MAC3E,EAAE,YAAY,qBAAqB,UAC/B,qBAAqB,GAAG,cAAc,GAAG,OACzC,EAAE,YAAY,sBAAsB,KAClC,sBAAsB,GAAG,cAAc,GAAG,OAC1C,EAAE,YAAY,oBAAoB,KAChC,oBAAoB,GAAG,cAAc,GAAG,OACxC,EAAE,YAAY,0BAA0B,KACtC,IACA,EAAE;KAGT,qBAAqB,GAAG,KAAK,QAAQ,2BAA2B,YAAY,GAAG;KAE/E,sBAAsB,UAAU,QAAQ,KAE3C,iBACI,KAAK,OAEL,QAAQ,kBACN,KAAK,OAEL,YAAY,GAAG;KAElB,oBAAoB,GAAG,KAE1B,UAAU,qBACN,qBAAqB,GAAG,KAExB,iBAAiB,UAAU,wBACzB,sBAAsB,GAAG,KAEzB;KAEH,kBAAkB,KAAK,eAAc,oBAAoB,KAAI,cAAc,KAAK;KAEhF,cAAc,KAAK,UAAU,cAAc,KAAK,IAAI;KA8EpD,cAAc,KAAK,iBAAgB,UAAU,sBAAqB,IAAI;KAGtE,cAAc,KAAK,mBACpB,OAAO,SACP,UAAU,qBACR,OAAO,oBACJ,WAAW,IAAI,EAAE;KAErB,QAAQ,WAAW"}
|
package/build/json.d.mts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Collection } from "./relations/Collection.mjs";
|
|
2
|
+
import { AsyncMethod } from "./relations/hasAsyncMethod.mjs";
|
|
3
|
+
import { Property } from "./relations/hasProperty.mjs";
|
|
4
|
+
import { Reference } from "./relations/Reference.mjs";
|
|
5
|
+
import { ReactiveGetter } from "./relations/ReactiveGetter.mjs";
|
|
6
|
+
import "./relations/index.mjs";
|
|
7
|
+
import { IdOf } from "./EntityManager.mjs";
|
|
8
|
+
import { Entity } from "./Entity.mjs";
|
|
9
|
+
//#region src/json.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* A JSON hint of a single key, multiple keys, or nested keys and sub-hints.
|
|
12
|
+
*
|
|
13
|
+
* JSON hints are much like load hints/reactive hints:
|
|
14
|
+
*
|
|
15
|
+
* - Similar to load hints, they specify which relations should be loaded from the database
|
|
16
|
+
* - Similar to reactive hints, they include specific fields to output
|
|
17
|
+
* - Unlike either, they can include completely custom keys that are lambdas to generate custom values
|
|
18
|
+
*/
|
|
19
|
+
type JsonHint<T extends Entity> = (keyof Jsonable<T> & string) | ReadonlyArray<keyof Jsonable<T> & string> | NestedJsonHint<T>;
|
|
20
|
+
/** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */
|
|
21
|
+
type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;
|
|
22
|
+
/** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */
|
|
23
|
+
type EntityKeyJsonHint<T extends Entity> = { [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends (infer U extends Entity) ? JsonHint<U> : {}) | boolean; };
|
|
24
|
+
type CustomJsonKeyHint<T> = {
|
|
25
|
+
[key: string]: (entity: T) => any;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Describes the JSON payload for `Entity.toJSON` to produce.
|
|
29
|
+
*
|
|
30
|
+
* - `["firstName", "lastName"]` will produce a JSON payload with just those fields
|
|
31
|
+
* - `{ author: { books: "title" } }` will produce a JSON payload with the author's books' titles
|
|
32
|
+
*
|
|
33
|
+
* We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.
|
|
34
|
+
*/
|
|
35
|
+
type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;
|
|
36
|
+
/** The keys in `T` that we can put into a JSON payload. */
|
|
37
|
+
type Jsonable<T extends Entity> = { -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>; };
|
|
38
|
+
type JsonableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends AsyncMethod<any, any, any> ? never : V extends Property<any, infer P> ? DropUndefined<P> : V extends ReactiveGetter<any, infer P> ? P : V;
|
|
39
|
+
/**
|
|
40
|
+
* Provides an API to put an entity, or list of entities, into a JSON payload.
|
|
41
|
+
*
|
|
42
|
+
* The `hint` parameter is a JSON hint that describes what to include in the payload,
|
|
43
|
+
*
|
|
44
|
+
* - fields like `id`, `name`, etc.
|
|
45
|
+
* - relations like m2o, o2m, m2m, and o2o
|
|
46
|
+
* - relations are allowed to provide nested hints, just like nested load hints
|
|
47
|
+
* - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
|
|
48
|
+
*/
|
|
49
|
+
declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entity: T, hint: H): Promise<JsonPayload<T, H>>;
|
|
50
|
+
/**
|
|
51
|
+
* Provides an API to put an entity, or list of entities, into a JSON payload.
|
|
52
|
+
*
|
|
53
|
+
* The `hint` parameter is a JSON hint that describes what to include in the payload,
|
|
54
|
+
*
|
|
55
|
+
* - fields like `id`, `name`, etc.
|
|
56
|
+
* - relations like m2o, o2m, m2m, and o2o
|
|
57
|
+
* - relations are allowed to provide nested hints, just like nested load hints
|
|
58
|
+
* - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
|
|
59
|
+
*/
|
|
60
|
+
declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entities: readonly T[], hint: H): Promise<JsonPayload<T, H>[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Statically types the return value of `toJSON` based on the given `hint`.
|
|
63
|
+
*/
|
|
64
|
+
type JsonPayload<T, H> = { [HK in keyof NormalizeHint<H> & string]: HK extends keyof T ? JsonPayloadKey<T, H, HK, HK> : HK extends `${infer TK extends string & keyof T}Id` ? JsonPayloadKey<T, H, TK, HK> : HK extends `${infer SK extends string}Ids` ? `${SK}s` extends keyof T ? JsonPayloadKey<T, H, `${SK}s`, HK> : JsonPayloadCustom<NormalizeHint<H>[HK]> : JsonPayloadCustom<NormalizeHint<H>[HK]>; };
|
|
65
|
+
type JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> = T[TK] extends Reference<any, infer U, any> ? JsonPayloadReference<U, NormalizeHint<H>[HK]> : T[TK] extends Collection<any, infer U> ? JsonPayloadCollection<U, NormalizeHint<H>[HK]> : T[TK] extends Property<any, infer U> ? JsonPayloadProperty<U, NormalizeHint<H>[HK]> : T[TK] extends ReactiveGetter<any, infer V> ? V : T[TK];
|
|
66
|
+
type JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;
|
|
67
|
+
type JsonPayloadCollection<U extends Entity, H> = H extends true ? IdOf<U>[] : IsEmpty<H> extends true ? IdOf<U>[] : JsonPayload<U, H>[];
|
|
68
|
+
type JsonPayloadProperty<P, H> = P extends Entity | undefined ? JsonPayloadReference<P, H> : P extends (infer U extends Entity)[] | undefined ? JsonPayloadCollection<U, H> : P;
|
|
69
|
+
type JsonPayloadCustom<H> = H extends ((...args: any) => infer V) ? UnwrapPromise<V> : H;
|
|
70
|
+
type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
|
|
71
|
+
type DropUndefined<T> = T extends (infer U extends Entity | undefined) ? U : T;
|
|
72
|
+
type NormalizeHint<H> = H extends string ? Record<H, {}> : H extends ReadonlyArray<any> ? Record<H[number], {}> : { [K in keyof H]: H[K]; };
|
|
73
|
+
type IsEmpty<T> = keyof T extends never ? true : false;
|
|
74
|
+
//#endregion
|
|
75
|
+
export { CustomJsonKeyHint, EntityKeyJsonHint, JsonHint, JsonPayload, Jsonable, JsonableValue, NestedJsonHint, ToJsonHint, toJSON };
|
|
76
|
+
//# sourceMappingURL=json.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.mts","names":[],"sources":["../src/json.ts"],"mappings":";;;;;;;;;;;;;;;;;;KA2BY,SAAS,UAAU,iBACpB,SAAS,eAChB,oBAAoB,SAAS,eAC7B,eAAe;;KAGP,eAAe,UAAU,UAAU,kBAAkB,KAAK,kBAAkB;;KAG5E,kBAAkB,UAAU,aAErC,WAAW,SAAS,SAAS,QAAQ,SAAS,GAAG,kBAAiB,UAAU,UAAS,SAAS;KAGrF,kBAAkB;GAC3B,eAAe,QAAQ;;;;;;;;;;KAWd,WAAW,UAAU,UAAU,eAAe,KAAK,oBAAoB,SAAS;;KAGhF,SAAS,UAAU,uBAClB,WAAW,KAAK,cAAc,EAAE,4BAA4B,IAAI,cAAc,EAAE;KAKjF,cAAc,KACxB,UAAU,qBAAqB,UAC3B,IACA,UAAU,sBAAsB,KAC9B,IACA,UAAU,qCAER,UAAU,oBAAoB,KAC5B,cAAc,KACd,UAAU,0BAA0B,KAClC,IACA;;;;;;;;;;;iBAYQ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,QAAQ,GACR,MAAM,IACL,QAAQ,YAAY,GAAG;;;;;;;;;;;iBAYJ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,mBAAmB,KACnB,MAAM,IACL,QAAQ,YAAY,GAAG;;;;KAkCd,YAAY,GAAG,QACxB,YAAY,cAAc,cAAc,iBAAiB,IACtD,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,0BAA0B,QAC5C,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,4BAEf,oBAAoB,IACrB,eAAe,GAAG,MAAM,OAAO,MAC/B,kBAAkB,cAAc,GAAG,OACrC,kBAAkB,cAAc,GAAG;KAGxC,eAAe,GAAG,GAAG,iBAAiB,GAAG,iBAAiB,cAAc,MAC3E,EAAE,YAAY,qBAAqB,UAC/B,qBAAqB,GAAG,cAAc,GAAG,OACzC,EAAE,YAAY,sBAAsB,KAClC,sBAAsB,GAAG,cAAc,GAAG,OAC1C,EAAE,YAAY,oBAAoB,KAChC,oBAAoB,GAAG,cAAc,GAAG,OACxC,EAAE,YAAY,0BAA0B,KACtC,IACA,EAAE;KAGT,qBAAqB,GAAG,KAAK,QAAQ,2BAA2B,YAAY,GAAG;KAE/E,sBAAsB,UAAU,QAAQ,KAE3C,iBACI,KAAK,OAEL,QAAQ,kBACN,KAAK,OAEL,YAAY,GAAG;KAElB,oBAAoB,GAAG,KAE1B,UAAU,qBACN,qBAAqB,GAAG,KAExB,iBAAiB,UAAU,wBACzB,sBAAsB,GAAG,KAEzB;KAEH,kBAAkB,KAAK,eAAc,oBAAoB,KAAI,cAAc,KAAK;KAEhF,cAAc,KAAK,UAAU,cAAc,KAAK,IAAI;KA8EpD,cAAc,KAAK,iBAAgB,UAAU,sBAAqB,IAAI;KAGtE,cAAc,KAAK,mBACpB,OAAO,SACP,UAAU,qBACR,OAAO,oBACJ,WAAW,IAAI,EAAE;KAErB,QAAQ,WAAW"}
|
package/build/json.js
CHANGED
|
@@ -1,116 +1,78 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { AbstractRelationImpl } from "./relations/AbstractRelationImpl.js";
|
|
2
|
+
import { normalizeHint } from "./normalizeHints.js";
|
|
3
|
+
import { ReactiveGetterImpl } from "./relations/ReactiveGetter.js";
|
|
4
|
+
import { convertToLoadHint } from "./reactivity/reactiveHints.js";
|
|
5
|
+
import { PropertyImpl } from "./relations/hasProperty.js";
|
|
6
|
+
import { ReactiveFieldImpl } from "./relations/ReactiveField.js";
|
|
7
|
+
import { AsyncReactiveFieldImpl } from "./relations/AsyncReactiveField.js";
|
|
8
|
+
import "./relations/index.js";
|
|
9
|
+
import { getMetadata } from "./EntityMetadata.js";
|
|
10
|
+
import "./EntityManager.js";
|
|
11
|
+
import { isEntity } from "./Entity.js";
|
|
12
|
+
//#region src/json.ts
|
|
13
13
|
async function toJSON(entityOrList, hint) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const json = {};
|
|
33
|
-
await copyToPayload(json, entity, normHint);
|
|
34
|
-
return json;
|
|
35
|
-
}
|
|
14
|
+
if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];
|
|
15
|
+
const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;
|
|
16
|
+
const loadHint = convertToLoadHint(getMetadata(entity), hint, true);
|
|
17
|
+
await entity.em.populate(entityOrList, loadHint);
|
|
18
|
+
const normHint = normalizeHint(hint);
|
|
19
|
+
if (Array.isArray(entityOrList)) {
|
|
20
|
+
const list = [];
|
|
21
|
+
await Promise.all(entityOrList.map((entity) => {
|
|
22
|
+
const json = {};
|
|
23
|
+
list.push(json);
|
|
24
|
+
return copyToPayload(json, entity, normHint);
|
|
25
|
+
}));
|
|
26
|
+
return list;
|
|
27
|
+
} else {
|
|
28
|
+
const json = {};
|
|
29
|
+
await copyToPayload(json, entity, normHint);
|
|
30
|
+
return json;
|
|
31
|
+
}
|
|
36
32
|
}
|
|
37
33
|
/** Recursively copies the fields of `hint` from `entity` into the `payload`. */
|
|
38
34
|
async function copyToPayload(payload, entity, hint) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
const value = entity[entityKey];
|
|
59
|
-
if (isPrimitive(value)) {
|
|
60
|
-
payload[payloadKey] = value;
|
|
61
|
-
}
|
|
62
|
-
else if (value instanceof AbstractRelationImpl_1.AbstractRelationImpl ||
|
|
63
|
-
value instanceof ReactiveField_1.ReactiveFieldImpl ||
|
|
64
|
-
value instanceof ReactiveGetter_1.ReactiveGetterImpl ||
|
|
65
|
-
value instanceof AsyncReactiveField_1.AsyncReactiveFieldImpl ||
|
|
66
|
-
value instanceof hasProperty_1.PropertyImpl) {
|
|
67
|
-
await copyToPayloadValue(payload, payloadKey, value.get, nextHint);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
throw new Error(`Unable to encode value ${value} to JSON`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
35
|
+
for (const [payloadKey, nestedHint] of Object.entries(hint)) {
|
|
36
|
+
const nextHint = normalizeHint(nestedHint);
|
|
37
|
+
let entityKey = payloadKey;
|
|
38
|
+
if (!(entityKey in entity)) {
|
|
39
|
+
const field = Object.values(getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);
|
|
40
|
+
if (field) entityKey = field.fieldName;
|
|
41
|
+
}
|
|
42
|
+
if (!(entityKey in entity)) {
|
|
43
|
+
if (typeof nestedHint !== "function") throw new Error(`Entity does not have a property ${payloadKey}`);
|
|
44
|
+
payload[payloadKey] = await nestedHint(entity);
|
|
45
|
+
} else {
|
|
46
|
+
const value = entity[entityKey];
|
|
47
|
+
if (isPrimitive(value)) payload[payloadKey] = value;
|
|
48
|
+
else if (value instanceof AbstractRelationImpl || value instanceof ReactiveFieldImpl || value instanceof ReactiveGetterImpl || value instanceof AsyncReactiveFieldImpl || value instanceof PropertyImpl) await copyToPayloadValue(payload, payloadKey, value.get, nextHint);
|
|
49
|
+
else throw new Error(`Unable to encode value ${value} to JSON`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
74
52
|
}
|
|
75
53
|
function copyToPayloadValue(payload, key, value, nextHint) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if ((0, Entity_1.isEntity)(item)) {
|
|
94
|
-
list[i] = {};
|
|
95
|
-
return copyToPayload(list[i], item, nextHint);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
// This is probably undefined
|
|
99
|
-
list[i] = item;
|
|
100
|
-
}
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
// This is assuming an array of entities...
|
|
105
|
-
for (const item of value)
|
|
106
|
-
list.push(item.id);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
payload[key] = value;
|
|
111
|
-
}
|
|
54
|
+
if (value === void 0 || value === null || isPrimitive(value)) payload[key] = value;
|
|
55
|
+
else if (isEntity(value)) {
|
|
56
|
+
if (nextHint && Object.keys(nextHint).length > 0) {
|
|
57
|
+
payload[key] = {};
|
|
58
|
+
return copyToPayload(payload[key], value, nextHint);
|
|
59
|
+
} else payload[key] = value.id;
|
|
60
|
+
} else if (Array.isArray(value)) {
|
|
61
|
+
const list = [];
|
|
62
|
+
payload[key] = list;
|
|
63
|
+
if (nextHint && Object.keys(nextHint).length > 0) return Promise.all(value.map(async (item, i) => {
|
|
64
|
+
if (isEntity(item)) {
|
|
65
|
+
list[i] = {};
|
|
66
|
+
return copyToPayload(list[i], item, nextHint);
|
|
67
|
+
} else list[i] = item;
|
|
68
|
+
}));
|
|
69
|
+
else for (const item of value) list.push(item.id);
|
|
70
|
+
} else payload[key] = value;
|
|
112
71
|
}
|
|
113
72
|
function isPrimitive(value) {
|
|
114
|
-
|
|
73
|
+
return value === null || typeof value !== "object";
|
|
115
74
|
}
|
|
75
|
+
//#endregion
|
|
76
|
+
export { toJSON };
|
|
77
|
+
|
|
116
78
|
//# sourceMappingURL=json.js.map
|
package/build/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":";;AAkGA,wBA4BC;AA9HD,qCAA4C;AAE5C,qDAA+C;AAC/C,qDAAiD;AACjD,mDAAoD;AAEpD,2EAAwE;AACxE,6DAA8D;AAC9D,+DAAgE;AAChE,uEAAwE;AACxE,yDAAuD;AAwFhD,KAAK,UAAU,MAAM,CAC1B,YAA8B,EAC9B,IAAO;IAEP,8DAA8D;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExE,0CAA0C;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,IAAA,4BAAW,EAAC,MAAM,CAAC,EAAE,IAAW,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,IAAW,CAAC,CAAC;IAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,EAAS,CAAC;QACvB,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAwDD,gFAAgF;AAChF,KAAK,UAAU,aAAa,CAAC,OAA2B,EAAE,MAAW,EAAE,IAAY;IACjF,6CAA6C;IAC7C,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,UAAU,CAAC,CAAC;QAC3C,wBAAwB;QACxB,IAAI,SAAS,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;YACrG,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,wBAAwB;QACxB,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC;iBAAM,IACL,KAAK,YAAY,2CAAoB;gBACrC,KAAK,YAAY,iCAAiB;gBAClC,KAAK,YAAY,mCAAkB;gBACnC,KAAK,YAAY,2CAAsB;gBACvC,KAAK,YAAY,0BAAY,EAC7B,CAAC;gBACD,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,UAAU,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAY,EAAE,GAAQ,EAAE,KAAU,EAAE,QAAa;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,EAAW,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACpB,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACb,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,6BAA6B;oBAC7B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAU;IAC7B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"json.js","names":[],"sources":["../src/json.ts"],"sourcesContent":["import { type Entity, isEntity } from \"src/Entity.ts\";\nimport { type IdOf } from \"src/EntityManager.ts\";\nimport { getMetadata } from \"src/EntityMetadata.ts\";\nimport { normalizeHint } from \"src/normalizeHints.ts\";\nimport { convertToLoadHint } from \"src/reactivity/reactiveHints.ts\";\nimport { AbstractRelationImpl } from \"src/relations/AbstractRelationImpl.ts\";\nimport { AsyncReactiveFieldImpl } from \"src/relations/AsyncReactiveField.ts\";\nimport { PropertyImpl } from \"src/relations/hasProperty.ts\";\nimport {\n type AsyncMethod,\n type Collection,\n type Property,\n type ReactiveGetter,\n type Reference,\n} from \"src/relations/index.ts\";\nimport { ReactiveFieldImpl } from \"src/relations/ReactiveField.ts\";\nimport { ReactiveGetterImpl } from \"src/relations/ReactiveGetter.ts\";\n\n/**\n * A JSON hint of a single key, multiple keys, or nested keys and sub-hints.\n *\n * JSON hints are much like load hints/reactive hints:\n *\n * - Similar to load hints, they specify which relations should be loaded from the database\n * - Similar to reactive hints, they include specific fields to output\n * - Unlike either, they can include completely custom keys that are lambdas to generate custom values\n */\nexport type JsonHint<T extends Entity> =\n | (keyof Jsonable<T> & string)\n | ReadonlyArray<keyof Jsonable<T> & string>\n | NestedJsonHint<T>;\n\n/** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */\nexport type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;\n\n/** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */\nexport type EntityKeyJsonHint<T extends Entity> = {\n // The `as K` makes `bookIds` as a hint work...\n [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends infer U extends Entity ? JsonHint<U> : {}) | boolean;\n};\n\nexport type CustomJsonKeyHint<T> = {\n [key: string]: (entity: T) => any;\n};\n\n/**\n * Describes the JSON payload for `Entity.toJSON` to produce.\n *\n * - `[\"firstName\", \"lastName\"]` will produce a JSON payload with just those fields\n * - `{ author: { books: \"title\" } }` will produce a JSON payload with the author's books' titles\n *\n * We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.\n */\nexport type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;\n\n/** The keys in `T` that we can put into a JSON payload. */\nexport type Jsonable<T extends Entity> = {\n -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>;\n};\n\n// this should probably be `keyof T` as long as they aren't methods/AsyncMethods.\n// so primitives, enums, references, collections, async properties, but also random getters.\nexport type JsonableValue<V> =\n V extends Reference<any, infer U, any>\n ? U\n : V extends Collection<any, infer U>\n ? U\n : V extends AsyncMethod<any, any, any>\n ? never\n : V extends Property<any, infer P>\n ? DropUndefined<P>\n : V extends ReactiveGetter<any, infer P>\n ? P\n : V;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entity: T,\n hint: H,\n): Promise<JsonPayload<T, H>>;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entities: readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H>[]>;\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entityOrList: T | readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H> | JsonPayload<T, H>[]> {\n // If called with a list, and nothing there, just early return\n if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];\n\n // Otherwise probe to get our first entity\n const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;\n const loadHint = convertToLoadHint(getMetadata(entity), hint as any, true);\n await entity.em.populate(entityOrList, loadHint);\n const normHint = normalizeHint(hint as any);\n\n if (Array.isArray(entityOrList)) {\n const list = [] as any;\n await Promise.all(\n entityOrList.map((entity) => {\n const json = {};\n list.push(json);\n return copyToPayload(json, entity, normHint);\n }),\n );\n return list;\n } else {\n const json = {};\n await copyToPayload(json, entity, normHint);\n return json as any;\n }\n}\n\n/**\n * Statically types the return value of `toJSON` based on the given `hint`.\n */\nexport type JsonPayload<T, H> = {\n [HK in keyof NormalizeHint<H> & string]: HK extends keyof T\n ? JsonPayloadKey<T, H, HK, HK>\n : HK extends `${infer TK extends string & keyof T}Id`\n ? JsonPayloadKey<T, H, TK, HK>\n : HK extends `${infer SK extends string}Ids` // bookIds -> books\n ? // Very naive singularization to see if the guessed bookIds -> books actually exists on T to map 1:1\n `${SK}s` extends keyof T\n ? JsonPayloadKey<T, H, `${SK}s`, HK>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>;\n};\n\ntype JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> =\n T[TK] extends Reference<any, infer U, any>\n ? JsonPayloadReference<U, NormalizeHint<H>[HK]>\n : T[TK] extends Collection<any, infer U>\n ? JsonPayloadCollection<U, NormalizeHint<H>[HK]>\n : T[TK] extends Property<any, infer U>\n ? JsonPayloadProperty<U, NormalizeHint<H>[HK]>\n : T[TK] extends ReactiveGetter<any, infer V>\n ? V\n : T[TK];\n\n// If the hint is empty, we just output the id as a string.\ntype JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;\n\ntype JsonPayloadCollection<U extends Entity, H> =\n // If this is `books: true`, use the id\n H extends true\n ? IdOf<U>[]\n : // If this is `{}`, use the id\n IsEmpty<H> extends true\n ? IdOf<U>[]\n : // Otherwise it's a nested hint\n JsonPayload<U, H>[];\n\ntype JsonPayloadProperty<P, H> =\n // If an async property returns an entity, treat it like a reference\n P extends Entity | undefined\n ? JsonPayloadReference<P, H>\n : // If an async property returns an entity[], treat it like a collection\n P extends (infer U extends Entity)[] | undefined\n ? JsonPayloadCollection<U, H>\n : // Otherwise leave it as-is\n P;\n\ntype JsonPayloadCustom<H> = H extends (...args: any) => infer V ? UnwrapPromise<V> : H;\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\n/** Recursively copies the fields of `hint` from `entity` into the `payload`. */\nasync function copyToPayload(payload: Record<string, {}>, entity: any, hint: object): Promise<void> {\n // Look at each key in the hint and determine\n for (const [payloadKey, nestedHint] of Object.entries(hint)) {\n const nextHint = normalizeHint(nestedHint);\n // Watch for `companyId`\n let entityKey = payloadKey;\n if (!(entityKey in entity)) {\n const field = Object.values(getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);\n if (field) {\n entityKey = field.fieldName;\n }\n }\n // Look for custom props\n if (!(entityKey in entity)) {\n if (typeof nestedHint !== \"function\") {\n throw new Error(`Entity does not have a property ${payloadKey}`);\n }\n payload[payloadKey] = await nestedHint(entity);\n } else {\n const value = entity[entityKey];\n if (isPrimitive(value)) {\n payload[payloadKey] = value;\n } else if (\n value instanceof AbstractRelationImpl ||\n value instanceof ReactiveFieldImpl ||\n value instanceof ReactiveGetterImpl ||\n value instanceof AsyncReactiveFieldImpl ||\n value instanceof PropertyImpl\n ) {\n await copyToPayloadValue(payload, payloadKey, value.get, nextHint);\n } else {\n throw new Error(`Unable to encode value ${value} to JSON`);\n }\n }\n }\n}\n\nfunction copyToPayloadValue(payload: any, key: any, value: any, nextHint: any): Promise<unknown> | undefined {\n if (value === undefined || value === null || isPrimitive(value)) {\n payload[key] = value;\n } else if (isEntity(value)) {\n if (nextHint && Object.keys(nextHint).length > 0) {\n payload[key] = {};\n return copyToPayload(payload[key], value, nextHint);\n } else {\n payload[key] = value.id;\n }\n } else if (Array.isArray(value)) {\n const list = [] as any[];\n payload[key] = list;\n if (nextHint && Object.keys(nextHint).length > 0) {\n return Promise.all(\n value.map(async (item, i) => {\n if (isEntity(item)) {\n list[i] = {};\n return copyToPayload(list[i], item, nextHint);\n } else {\n // This is probably undefined\n list[i] = item;\n }\n }),\n );\n } else {\n // This is assuming an array of entities...\n for (const item of value) list.push(item.id);\n }\n } else {\n payload[key] = value;\n }\n}\n\nfunction isPrimitive(value: any): boolean {\n return value === null || typeof value !== \"object\";\n}\n\ntype DropUndefined<T> = T extends infer U extends Entity | undefined ? U : T;\n\n// A copy/paste of NormalizeHint w/o the `DropSuffix` stuff\ntype NormalizeHint<H> = H extends string\n ? Record<H, {}>\n : H extends ReadonlyArray<any>\n ? Record<H[number], {}>\n : { [K in keyof H]: H[K] };\n\ntype IsEmpty<T> = keyof T extends never ? true : false;\n"],"mappings":";;;;;;;;;;;;AAwGA,eAAsB,OACpB,cACA,MACkD;CAElD,IAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,GAAG,OAAO,CAAC;CAGtE,MAAM,SAAS,MAAM,QAAQ,YAAY,IAAI,aAAa,KAAK;CAC/D,MAAM,WAAW,kBAAkB,YAAY,MAAM,GAAG,MAAa,IAAI;CACzE,MAAM,OAAO,GAAG,SAAS,cAAc,QAAQ;CAC/C,MAAM,WAAW,cAAc,IAAW;CAE1C,IAAI,MAAM,QAAQ,YAAY,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,MAAM,QAAQ,IACZ,aAAa,KAAK,WAAW;GAC3B,MAAM,OAAO,CAAC;GACd,KAAK,KAAK,IAAI;GACd,OAAO,cAAc,MAAM,QAAQ,QAAQ;EAC7C,CAAC,CACH;EACA,OAAO;CACT,OAAO;EACL,MAAM,OAAO,CAAC;EACd,MAAM,cAAc,MAAM,QAAQ,QAAQ;EAC1C,OAAO;CACT;AACF;;AAyDA,eAAe,cAAc,SAA6B,QAAa,MAA6B;CAElG,KAAK,MAAM,CAAC,YAAY,eAAe,OAAO,QAAQ,IAAI,GAAG;EAC3D,MAAM,WAAW,cAAc,UAAU;EAEzC,IAAI,YAAY;EAChB,IAAI,EAAE,aAAa,SAAS;GAC1B,MAAM,QAAQ,OAAO,OAAO,YAAY,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,EAAE,gBAAgB,UAAU;GACnG,IAAI,OACF,YAAY,MAAM;EAEtB;EAEA,IAAI,EAAE,aAAa,SAAS;GAC1B,IAAI,OAAO,eAAe,YACxB,MAAM,IAAI,MAAM,mCAAmC,YAAY;GAEjE,QAAQ,cAAc,MAAM,WAAW,MAAM;EAC/C,OAAO;GACL,MAAM,QAAQ,OAAO;GACrB,IAAI,YAAY,KAAK,GACnB,QAAQ,cAAc;QACjB,IACL,iBAAiB,wBACjB,iBAAiB,qBACjB,iBAAiB,sBACjB,iBAAiB,0BACjB,iBAAiB,cAEjB,MAAM,mBAAmB,SAAS,YAAY,MAAM,KAAK,QAAQ;QAEjE,MAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;EAE7D;CACF;AACF;AAEA,SAAS,mBAAmB,SAAc,KAAU,OAAY,UAA6C;CAC3G,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,YAAY,KAAK,GAC5D,QAAQ,OAAO;MACV,IAAI,SAAS,KAAK,GAAG;EAC1B,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAAG;GAChD,QAAQ,OAAO,CAAC;GAChB,OAAO,cAAc,QAAQ,MAAM,OAAO,QAAQ;EACpD,OACE,QAAQ,OAAO,MAAM;CAEzB,OAAO,IAAI,MAAM,QAAQ,KAAK,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,QAAQ,OAAO;EACf,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAC7C,OAAO,QAAQ,IACb,MAAM,IAAI,OAAO,MAAM,MAAM;GAC3B,IAAI,SAAS,IAAI,GAAG;IAClB,KAAK,KAAK,CAAC;IACX,OAAO,cAAc,KAAK,IAAI,MAAM,QAAQ;GAC9C,OAEE,KAAK,KAAK;EAEd,CAAC,CACH;OAGA,KAAK,MAAM,QAAQ,OAAO,KAAK,KAAK,KAAK,EAAE;CAE/C,OACE,QAAQ,OAAO;AAEnB;AAEA,SAAS,YAAY,OAAqB;CACxC,OAAO,UAAU,QAAQ,OAAO,UAAU;AAC5C"}
|
package/build/k.cjs
ADDED
package/build/k.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"k.cjs","names":[],"sources":["../src/k.ts"],"sourcesContent":["type ToKeys<S extends string> = S extends `${infer H} ${infer T}` ? H | `${ToKeys<T>}` : S;\n\nfunction k<S extends string>(strings: S): ToKeys<S>[] {\n return strings.split(\" \") as ToKeys<S>[];\n}\n\nfunction foo(k: \"foo\" | \"bar\") {}\n\nconst keys = k(`foo bar zaz`);\n// keys.forEach(foo);\n"],"mappings":";;AAEA,SAAS,EAAoB,SAAyB;CACpD,OAAO,QAAQ,MAAM,GAAG;AAC1B;AAIa,EAAE,aAAa"}
|
package/build/k.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
package/build/k.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
package/build/k.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
//#region src/k.ts
|
|
3
2
|
function k(strings) {
|
|
4
|
-
|
|
3
|
+
return strings.split(" ");
|
|
5
4
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
k(`foo bar zaz`);
|
|
6
|
+
//#endregion
|
|
7
|
+
export {};
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=k.js.map
|
package/build/k.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"k.js","
|
|
1
|
+
{"version":3,"file":"k.js","names":[],"sources":["../src/k.ts"],"sourcesContent":["type ToKeys<S extends string> = S extends `${infer H} ${infer T}` ? H | `${ToKeys<T>}` : S;\n\nfunction k<S extends string>(strings: S): ToKeys<S>[] {\n return strings.split(\" \") as ToKeys<S>[];\n}\n\nfunction foo(k: \"foo\" | \"bar\") {}\n\nconst keys = k(`foo bar zaz`);\n// keys.forEach(foo);\n"],"mappings":";AAEA,SAAS,EAAoB,SAAyB;CACpD,OAAO,QAAQ,MAAM,GAAG;AAC1B;AAIa,EAAE,aAAa"}
|