joist-orm 1.294.0 → 2.0.1
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/codegen.d.ts +2 -0
- package/build/codegen.d.ts.map +1 -0
- package/build/codegen.js +29 -0
- package/build/codegen.js.map +1 -0
- package/build/drivers/PostgresDriver.d.ts +1 -4
- package/build/drivers/PostgresDriver.d.ts.map +1 -1
- package/build/drivers/PostgresDriver.js +49 -58
- package/build/drivers/PostgresDriver.js.map +1 -1
- package/build/graphql-codegen-export.d.ts +2 -0
- package/build/graphql-codegen-export.d.ts.map +1 -0
- package/build/{drivers/index.js → graphql-codegen-export.js} +3 -5
- package/build/graphql-codegen-export.js.map +1 -0
- package/build/graphql-export.d.ts +2 -0
- package/build/graphql-export.d.ts.map +1 -0
- package/build/graphql-export.js +19 -0
- package/build/graphql-export.js.map +1 -0
- package/build/index.d.ts +3 -128
- package/build/index.d.ts.map +1 -1
- package/build/index.js +8 -284
- package/build/index.js.map +1 -1
- package/build/knex-export.d.ts +2 -0
- package/build/knex-export.d.ts.map +1 -0
- package/build/knex-export.js +19 -0
- package/build/knex-export.js.map +1 -0
- package/build/pg-export.d.ts +2 -0
- package/build/pg-export.d.ts.map +1 -0
- package/build/pg-export.js +7 -0
- package/build/pg-export.js.map +1 -0
- package/build/pg-migrate.d.ts +2 -0
- package/build/pg-migrate.d.ts.map +1 -0
- package/build/pg-migrate.js +30 -0
- package/build/pg-migrate.js.map +1 -0
- package/build/tests-export.d.ts +2 -0
- package/build/tests-export.d.ts.map +1 -0
- package/build/tests-export.js +19 -0
- package/build/tests-export.js.map +1 -0
- package/package.json +94 -16
- package/build/AliasAssigner.d.ts +0 -7
- package/build/AliasAssigner.d.ts.map +0 -1
- package/build/AliasAssigner.js +0 -30
- package/build/AliasAssigner.js.map +0 -1
- package/build/Aliases.d.ts +0 -110
- package/build/Aliases.d.ts.map +0 -1
- package/build/Aliases.js +0 -456
- package/build/Aliases.js.map +0 -1
- package/build/BaseEntity.d.ts +0 -66
- package/build/BaseEntity.d.ts.map +0 -1
- package/build/BaseEntity.js +0 -120
- package/build/BaseEntity.js.map +0 -1
- package/build/ConditionBuilder.d.ts +0 -50
- package/build/ConditionBuilder.d.ts.map +0 -1
- package/build/ConditionBuilder.js +0 -178
- package/build/ConditionBuilder.js.map +0 -1
- package/build/Entity.d.ts +0 -38
- package/build/Entity.d.ts.map +0 -1
- package/build/Entity.js +0 -8
- package/build/Entity.js.map +0 -1
- package/build/EntityFields.d.ts +0 -37
- package/build/EntityFields.d.ts.map +0 -1
- package/build/EntityFields.js +0 -3
- package/build/EntityFields.js.map +0 -1
- package/build/EntityFilter.d.ts +0 -113
- package/build/EntityFilter.d.ts.map +0 -1
- package/build/EntityFilter.js +0 -3
- package/build/EntityFilter.js.map +0 -1
- package/build/EntityGraphQLFilter.d.ts +0 -51
- package/build/EntityGraphQLFilter.d.ts.map +0 -1
- package/build/EntityGraphQLFilter.js +0 -54
- package/build/EntityGraphQLFilter.js.map +0 -1
- package/build/EntityManager.d.ts +0 -734
- package/build/EntityManager.d.ts.map +0 -1
- package/build/EntityManager.js +0 -2075
- package/build/EntityManager.js.map +0 -1
- package/build/EntityMetadata.d.ts +0 -185
- package/build/EntityMetadata.d.ts.map +0 -1
- package/build/EntityMetadata.js +0 -61
- package/build/EntityMetadata.js.map +0 -1
- package/build/EnumMetadata.d.ts +0 -15
- package/build/EnumMetadata.d.ts.map +0 -1
- package/build/EnumMetadata.js +0 -3
- 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 -30
- package/build/IndexManager.d.ts.map +0 -1
- package/build/IndexManager.js +0 -206
- package/build/IndexManager.js.map +0 -1
- package/build/InstanceData.d.ts +0 -59
- package/build/InstanceData.d.ts.map +0 -1
- package/build/InstanceData.js +0 -162
- package/build/InstanceData.js.map +0 -1
- package/build/IsLoadedCache.d.ts +0 -32
- package/build/IsLoadedCache.d.ts.map +0 -1
- package/build/IsLoadedCache.js +0 -80
- package/build/IsLoadedCache.js.map +0 -1
- package/build/JoinRows.d.ts +0 -75
- package/build/JoinRows.d.ts.map +0 -1
- package/build/JoinRows.js +0 -246
- package/build/JoinRows.js.map +0 -1
- package/build/PluginManager.d.ts +0 -90
- package/build/PluginManager.d.ts.map +0 -1
- package/build/PluginManager.js +0 -97
- package/build/PluginManager.js.map +0 -1
- package/build/QueryParser.d.ts +0 -271
- package/build/QueryParser.d.ts.map +0 -1
- package/build/QueryParser.js +0 -853
- package/build/QueryParser.js.map +0 -1
- package/build/QueryParser.pruning.d.ts +0 -5
- package/build/QueryParser.pruning.d.ts.map +0 -1
- package/build/QueryParser.pruning.js +0 -118
- package/build/QueryParser.pruning.js.map +0 -1
- package/build/QueryVisitor.d.ts +0 -19
- package/build/QueryVisitor.d.ts.map +0 -1
- package/build/QueryVisitor.js +0 -84
- package/build/QueryVisitor.js.map +0 -1
- package/build/ReactionsManager.d.ts +0 -84
- package/build/ReactionsManager.d.ts.map +0 -1
- package/build/ReactionsManager.js +0 -308
- package/build/ReactionsManager.js.map +0 -1
- package/build/Todo.d.ts +0 -31
- package/build/Todo.d.ts.map +0 -1
- package/build/Todo.js +0 -73
- package/build/Todo.js.map +0 -1
- package/build/caches.d.ts +0 -6
- package/build/caches.d.ts.map +0 -1
- package/build/caches.js +0 -42
- package/build/caches.js.map +0 -1
- package/build/changes.d.ts +0 -79
- package/build/changes.d.ts.map +0 -1
- package/build/changes.js +0 -251
- package/build/changes.js.map +0 -1
- package/build/config.d.ts +0 -237
- package/build/config.d.ts.map +0 -1
- package/build/config.js +0 -298
- package/build/config.js.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 -13
- package/build/configure.d.ts.map +0 -1
- package/build/configure.js +0 -329
- package/build/configure.js.map +0 -1
- package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
- package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findByUniqueDataLoader.js +0 -47
- package/build/dataloaders/findByUniqueDataLoader.js.map +0 -1
- package/build/dataloaders/findCountDataLoader.d.ts +0 -7
- package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findCountDataLoader.js +0 -74
- package/build/dataloaders/findCountDataLoader.js.map +0 -1
- package/build/dataloaders/findDataLoader.d.ts +0 -37
- package/build/dataloaders/findDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findDataLoader.js +0 -337
- package/build/dataloaders/findDataLoader.js.map +0 -1
- package/build/dataloaders/findIdsDataLoader.d.ts +0 -7
- package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findIdsDataLoader.js +0 -74
- package/build/dataloaders/findIdsDataLoader.js.map +0 -1
- package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
- package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
- package/build/dataloaders/findOrCreateDataLoader.js +0 -174
- package/build/dataloaders/findOrCreateDataLoader.js.map +0 -1
- package/build/dataloaders/lensDataLoader.d.ts +0 -12
- package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
- package/build/dataloaders/lensDataLoader.js +0 -180
- package/build/dataloaders/lensDataLoader.js.map +0 -1
- package/build/dataloaders/loadDataLoader.d.ts +0 -11
- package/build/dataloaders/loadDataLoader.d.ts.map +0 -1
- package/build/dataloaders/loadDataLoader.js +0 -54
- package/build/dataloaders/loadDataLoader.js.map +0 -1
- package/build/dataloaders/manyToManyDataLoader.d.ts +0 -8
- package/build/dataloaders/manyToManyDataLoader.d.ts.map +0 -1
- package/build/dataloaders/manyToManyDataLoader.js +0 -74
- package/build/dataloaders/manyToManyDataLoader.js.map +0 -1
- package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
- package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
- package/build/dataloaders/manyToManyFindDataLoader.js +0 -70
- package/build/dataloaders/manyToManyFindDataLoader.js.map +0 -1
- package/build/dataloaders/oneToManyDataLoader.d.ts +0 -7
- package/build/dataloaders/oneToManyDataLoader.d.ts.map +0 -1
- package/build/dataloaders/oneToManyDataLoader.js +0 -60
- package/build/dataloaders/oneToManyDataLoader.js.map +0 -1
- package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
- package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
- package/build/dataloaders/oneToManyFindDataLoader.js +0 -71
- package/build/dataloaders/oneToManyFindDataLoader.js.map +0 -1
- package/build/dataloaders/oneToOneDataLoader.d.ts +0 -7
- package/build/dataloaders/oneToOneDataLoader.d.ts.map +0 -1
- package/build/dataloaders/oneToOneDataLoader.js +0 -59
- package/build/dataloaders/oneToOneDataLoader.js.map +0 -1
- package/build/dataloaders/populateDataLoader.d.ts +0 -13
- package/build/dataloaders/populateDataLoader.d.ts.map +0 -1
- package/build/dataloaders/populateDataLoader.js +0 -148
- package/build/dataloaders/populateDataLoader.js.map +0 -1
- package/build/dataloaders/recursiveChildrenDataLoader.d.ts +0 -7
- package/build/dataloaders/recursiveChildrenDataLoader.d.ts.map +0 -1
- package/build/dataloaders/recursiveChildrenDataLoader.js +0 -77
- package/build/dataloaders/recursiveChildrenDataLoader.js.map +0 -1
- package/build/dataloaders/recursiveParentsDataLoader.d.ts +0 -7
- package/build/dataloaders/recursiveParentsDataLoader.d.ts.map +0 -1
- package/build/dataloaders/recursiveParentsDataLoader.js +0 -59
- package/build/dataloaders/recursiveParentsDataLoader.js.map +0 -1
- package/build/defaults.d.ts +0 -54
- package/build/defaults.d.ts.map +0 -1
- package/build/defaults.js +0 -282
- package/build/defaults.js.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 +0 -3
- 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/EntityWriter.js +0 -237
- package/build/drivers/EntityWriter.js.map +0 -1
- package/build/drivers/IdAssigner.d.ts +0 -50
- package/build/drivers/IdAssigner.d.ts.map +0 -1
- package/build/drivers/IdAssigner.js +0 -133
- package/build/drivers/IdAssigner.js.map +0 -1
- package/build/drivers/buildRawQuery.d.ts +0 -20
- package/build/drivers/buildRawQuery.d.ts.map +0 -1
- package/build/drivers/buildRawQuery.js +0 -148
- package/build/drivers/buildRawQuery.js.map +0 -1
- package/build/drivers/buildUtils.d.ts +0 -4
- package/build/drivers/buildUtils.d.ts.map +0 -1
- package/build/drivers/buildUtils.js +0 -79
- package/build/drivers/buildUtils.js.map +0 -1
- package/build/drivers/index.d.ts +0 -5
- package/build/drivers/index.d.ts.map +0 -1
- package/build/drivers/index.js.map +0 -1
- package/build/fields.d.ts +0 -24
- package/build/fields.d.ts.map +0 -1
- package/build/fields.js +0 -162
- package/build/fields.js.map +0 -1
- package/build/getProperties.d.ts +0 -28
- package/build/getProperties.d.ts.map +0 -1
- package/build/getProperties.js +0 -141
- package/build/getProperties.js.map +0 -1
- package/build/json.d.ts +0 -77
- package/build/json.d.ts.map +0 -1
- package/build/json.js +0 -116
- package/build/json.js.map +0 -1
- package/build/k.d.ts +0 -2
- package/build/k.d.ts.map +0 -1
- package/build/k.js +0 -9
- package/build/k.js.map +0 -1
- package/build/keys.d.ts +0 -49
- package/build/keys.d.ts.map +0 -1
- package/build/keys.js +0 -195
- package/build/keys.js.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 -112
- package/build/loadHints.d.ts.map +0 -1
- package/build/loadHints.js +0 -75
- package/build/loadHints.js.map +0 -1
- package/build/loadLens.d.ts +0 -66
- package/build/loadLens.d.ts.map +0 -1
- package/build/loadLens.js +0 -287
- 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/FactoryLogger.js +0 -77
- package/build/logging/FactoryLogger.js.map +0 -1
- package/build/logging/FieldLogger.d.ts +0 -27
- package/build/logging/FieldLogger.d.ts.map +0 -1
- package/build/logging/FieldLogger.js +0 -69
- package/build/logging/FieldLogger.js.map +0 -1
- package/build/logging/ReactionLogger.d.ts +0 -23
- package/build/logging/ReactionLogger.d.ts.map +0 -1
- package/build/logging/ReactionLogger.js +0 -65
- package/build/logging/ReactionLogger.js.map +0 -1
- package/build/newEntity.d.ts +0 -45
- package/build/newEntity.d.ts.map +0 -1
- package/build/newEntity.js +0 -106
- package/build/newEntity.js.map +0 -1
- package/build/newTestInstance.d.ts +0 -193
- package/build/newTestInstance.d.ts.map +0 -1
- package/build/newTestInstance.js +0 -738
- package/build/newTestInstance.js.map +0 -1
- package/build/normalizeHints.d.ts +0 -16
- package/build/normalizeHints.d.ts.map +0 -1
- package/build/normalizeHints.js +0 -31
- package/build/normalizeHints.js.map +0 -1
- package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
- package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
- package/build/plugins/ImmutableEntitiesPlugin.js +0 -21
- package/build/plugins/ImmutableEntitiesPlugin.js.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 +0 -3
- 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/JsonAggregatePreloader.js +0 -238
- package/build/preloading/JsonAggregatePreloader.js.map +0 -1
- package/build/preloading/canPreload.d.ts +0 -3
- package/build/preloading/canPreload.d.ts.map +0 -1
- package/build/preloading/canPreload.js +0 -21
- package/build/preloading/canPreload.js.map +0 -1
- package/build/preloading/partitionHint.d.ts +0 -5
- package/build/preloading/partitionHint.d.ts.map +0 -1
- package/build/preloading/partitionHint.js +0 -56
- package/build/preloading/partitionHint.js.map +0 -1
- package/build/reactiveHints.d.ts +0 -129
- package/build/reactiveHints.d.ts.map +0 -1
- package/build/reactiveHints.js +0 -458
- 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/AbstractPropertyImpl.js +0 -15
- package/build/relations/AbstractPropertyImpl.js.map +0 -1
- package/build/relations/AbstractRelationImpl.d.ts +0 -36
- package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
- package/build/relations/AbstractRelationImpl.js +0 -19
- package/build/relations/AbstractRelationImpl.js.map +0 -1
- package/build/relations/Collection.d.ts +0 -28
- package/build/relations/Collection.d.ts.map +0 -1
- package/build/relations/Collection.js +0 -18
- package/build/relations/Collection.js.map +0 -1
- package/build/relations/CustomCollection.d.ts +0 -69
- package/build/relations/CustomCollection.d.ts.map +0 -1
- package/build/relations/CustomCollection.js +0 -166
- package/build/relations/CustomCollection.js.map +0 -1
- package/build/relations/CustomReference.d.ts +0 -71
- package/build/relations/CustomReference.d.ts.map +0 -1
- package/build/relations/CustomReference.js +0 -152
- package/build/relations/CustomReference.js.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 +0 -3
- package/build/relations/LargeCollection.js.map +0 -1
- package/build/relations/ManyToManyCollection.d.ts +0 -44
- package/build/relations/ManyToManyCollection.d.ts.map +0 -1
- package/build/relations/ManyToManyCollection.js +0 -268
- package/build/relations/ManyToManyCollection.js.map +0 -1
- package/build/relations/ManyToManyLargeCollection.d.ts +0 -30
- package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
- package/build/relations/ManyToManyLargeCollection.js +0 -119
- package/build/relations/ManyToManyLargeCollection.js.map +0 -1
- package/build/relations/ManyToOneReference.d.ts +0 -121
- package/build/relations/ManyToOneReference.d.ts.map +0 -1
- package/build/relations/ManyToOneReference.js +0 -389
- package/build/relations/ManyToOneReference.js.map +0 -1
- package/build/relations/OneToManyCollection.d.ts +0 -58
- package/build/relations/OneToManyCollection.d.ts.map +0 -1
- package/build/relations/OneToManyCollection.js +0 -347
- package/build/relations/OneToManyCollection.js.map +0 -1
- package/build/relations/OneToManyLargeCollection.d.ts +0 -26
- package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
- package/build/relations/OneToManyLargeCollection.js +0 -102
- package/build/relations/OneToManyLargeCollection.js.map +0 -1
- package/build/relations/OneToOneReference.d.ts +0 -93
- package/build/relations/OneToOneReference.d.ts.map +0 -1
- package/build/relations/OneToOneReference.js +0 -228
- package/build/relations/OneToOneReference.js.map +0 -1
- package/build/relations/PolymorphicReference.d.ts +0 -89
- package/build/relations/PolymorphicReference.d.ts.map +0 -1
- package/build/relations/PolymorphicReference.js +0 -244
- package/build/relations/PolymorphicReference.js.map +0 -1
- package/build/relations/ReactiveField.d.ts +0 -87
- package/build/relations/ReactiveField.d.ts.map +0 -1
- package/build/relations/ReactiveField.js +0 -149
- package/build/relations/ReactiveField.js.map +0 -1
- package/build/relations/ReactiveGetter.d.ts +0 -30
- package/build/relations/ReactiveGetter.d.ts.map +0 -1
- package/build/relations/ReactiveGetter.js +0 -38
- package/build/relations/ReactiveGetter.js.map +0 -1
- package/build/relations/ReactiveManyToMany.d.ts +0 -56
- package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
- package/build/relations/ReactiveManyToMany.js +0 -243
- package/build/relations/ReactiveManyToMany.js.map +0 -1
- package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -47
- package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
- package/build/relations/ReactiveManyToManyOtherSide.js +0 -155
- package/build/relations/ReactiveManyToManyOtherSide.js.map +0 -1
- package/build/relations/ReactiveQueryField.d.ts +0 -41
- package/build/relations/ReactiveQueryField.d.ts.map +0 -1
- package/build/relations/ReactiveQueryField.js +0 -125
- package/build/relations/ReactiveQueryField.js.map +0 -1
- package/build/relations/ReactiveReference.d.ts +0 -119
- package/build/relations/ReactiveReference.d.ts.map +0 -1
- package/build/relations/ReactiveReference.js +0 -333
- package/build/relations/ReactiveReference.js.map +0 -1
- package/build/relations/ReadOnlyCollection.d.ts +0 -19
- package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
- package/build/relations/ReadOnlyCollection.js +0 -15
- package/build/relations/ReadOnlyCollection.js.map +0 -1
- package/build/relations/RecursiveCollection.d.ts +0 -84
- package/build/relations/RecursiveCollection.d.ts.map +0 -1
- package/build/relations/RecursiveCollection.js +0 -296
- package/build/relations/RecursiveCollection.js.map +0 -1
- package/build/relations/Reference.d.ts +0 -35
- package/build/relations/Reference.d.ts.map +0 -1
- package/build/relations/Reference.js +0 -21
- package/build/relations/Reference.js.map +0 -1
- package/build/relations/Relation.d.ts +0 -14
- package/build/relations/Relation.d.ts.map +0 -1
- package/build/relations/Relation.js +0 -12
- package/build/relations/Relation.js.map +0 -1
- package/build/relations/hasAsyncMethod.d.ts +0 -27
- package/build/relations/hasAsyncMethod.d.ts.map +0 -1
- package/build/relations/hasAsyncMethod.js +0 -47
- package/build/relations/hasAsyncMethod.js.map +0 -1
- package/build/relations/hasAsyncProperty.d.ts +0 -49
- package/build/relations/hasAsyncProperty.d.ts.map +0 -1
- package/build/relations/hasAsyncProperty.js +0 -98
- package/build/relations/hasAsyncProperty.js.map +0 -1
- package/build/relations/hasManyDerived.d.ts +0 -22
- package/build/relations/hasManyDerived.d.ts.map +0 -1
- package/build/relations/hasManyDerived.js +0 -32
- package/build/relations/hasManyDerived.js.map +0 -1
- package/build/relations/hasManyThrough.d.ts +0 -10
- package/build/relations/hasManyThrough.d.ts.map +0 -1
- package/build/relations/hasManyThrough.js +0 -24
- package/build/relations/hasManyThrough.js.map +0 -1
- package/build/relations/hasOneDerived.d.ts +0 -12
- package/build/relations/hasOneDerived.d.ts.map +0 -1
- package/build/relations/hasOneDerived.js +0 -24
- package/build/relations/hasOneDerived.js.map +0 -1
- package/build/relations/hasOneThrough.d.ts +0 -10
- package/build/relations/hasOneThrough.d.ts.map +0 -1
- package/build/relations/hasOneThrough.js +0 -24
- package/build/relations/hasOneThrough.js.map +0 -1
- package/build/relations/index.d.ts +0 -28
- package/build/relations/index.d.ts.map +0 -1
- package/build/relations/index.js +0 -88
- package/build/relations/index.js.map +0 -1
- package/build/rules.d.ts +0 -123
- package/build/rules.d.ts.map +0 -1
- package/build/rules.js +0 -231
- package/build/rules.js.map +0 -1
- package/build/runtimeConfig.d.ts +0 -17
- package/build/runtimeConfig.d.ts.map +0 -1
- package/build/runtimeConfig.js +0 -18
- package/build/runtimeConfig.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 -16
- package/build/temporal.d.ts.map +0 -1
- package/build/temporal.js +0 -48
- 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/trusted.js +0 -15
- package/build/trusted.js.map +0 -1
- package/build/typeMap.d.ts +0 -68
- package/build/typeMap.d.ts.map +0 -1
- package/build/typeMap.js +0 -3
- 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/upsert.js +0 -265
- package/build/upsert.js.map +0 -1
- package/build/utils.d.ts +0 -58
- package/build/utils.d.ts.map +0 -1
- package/build/utils.js +0 -236
- package/build/utils.js.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/loadHints.d.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { Entity } from "./Entity";
|
|
2
|
-
import { NormalizeHint } from "./normalizeHints";
|
|
3
|
-
import { AsyncMethod, AsyncProperty, Collection, LoadedCollection, LoadedMethod, LoadedProperty, LoadedReadOnlyCollection, LoadedReference, OneToOneReference, ReadOnlyCollection, Reference, Relation } from "./relations";
|
|
4
|
-
import { LoadedOneToOneReference } from "./relations/OneToOneReference";
|
|
5
|
-
import { OptsOf } from "./typeMap";
|
|
6
|
-
import { MaybePromise, NullOrDefinedOr } from "./utils";
|
|
7
|
-
declare const deepLoad: unique symbol;
|
|
8
|
-
type DeepLoadHint<T extends Entity> = NestedLoadHint<T> & {
|
|
9
|
-
[deepLoad]: true;
|
|
10
|
-
};
|
|
11
|
-
type MaybeBaseType = any;
|
|
12
|
-
/** Marks a given `T[K]` field as the loaded/synchronous version of the collection. */
|
|
13
|
-
export type MarkLoaded<T extends Entity, P, UH = {}> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends AsyncProperty<MaybeBaseType, infer V> ? [
|
|
14
|
-
V
|
|
15
|
-
] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, UH> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, UH>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
|
|
16
|
-
/** A version of MarkLoaded the uses `DeepLoadHint` for tests. */
|
|
17
|
-
type MarkDeepLoaded<T extends Entity, P> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, DeepLoadHint<U>>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, DeepLoadHint<U>>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends AsyncProperty<MaybeBaseType, infer V> ? [
|
|
18
|
-
V
|
|
19
|
-
] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
|
|
20
|
-
/**
|
|
21
|
-
* A helper type for `New` that marks every `Reference` and `LoadedCollection` in `T` as loaded.
|
|
22
|
-
*
|
|
23
|
-
* We also look in opts `O` for the "`U`" type, i.e. the next level up/down in the graph,
|
|
24
|
-
* because the call site's opts may be using an also-marked loaded parent/child as an opt,
|
|
25
|
-
* so this will infer the type of that parent/child and use that for the `U` type.
|
|
26
|
-
*
|
|
27
|
-
* This means things like `entity.parent.get.grandParent.get` will work on the resulting
|
|
28
|
-
* type.
|
|
29
|
-
*
|
|
30
|
-
* Note that this is also purposefully broken out of `New` because of some weirdness
|
|
31
|
-
* around type narrowing that wasn't working when inlined into `New`.
|
|
32
|
-
*/
|
|
33
|
-
type MaybeUseOptsType<T extends Entity, O, K extends keyof T & keyof O> = O[K] extends NullOrDefinedOr<infer OK> ? OK extends Entity ? T[K] extends OneToOneReference<T, infer U> ? LoadedOneToOneReference<T, U> : T[K] extends Reference<T, infer U, infer N> ? LoadedReference<T, OK, N> : never : OK extends Array<infer OU> ? OU extends Entity ? T[K] extends Collection<T, infer U> ? LoadedCollection<T, OU> : never : T[K] : T[K] : never;
|
|
34
|
-
/**
|
|
35
|
-
* Marks all references/collections of `T` as loaded, i.e. for newly instantiated entities where
|
|
36
|
-
* we know there are no already-existing rows with fk's to this new entity in the database.
|
|
37
|
-
*
|
|
38
|
-
* `O` is the generic from the call site so that if the caller passes `{ author: SomeLoadedAuthor }`,
|
|
39
|
-
* we'll prefer that type, as it might have more nested load hints that we can't otherwise assume.
|
|
40
|
-
*/
|
|
41
|
-
export type New<T extends Entity, O extends OptsOf<T> = OptsOf<T>> = T & {
|
|
42
|
-
[K in keyof T]: K extends keyof O ? MaybeUseOptsType<T, O, K> : MarkLoaded<T, T[K]>;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Marks all references/collections of `T` as deeply loaded, which is only useful for
|
|
46
|
-
* tests where we can have "the whole object graph" in-memory.
|
|
47
|
-
*/
|
|
48
|
-
export type DeepNew<T extends Entity> = Loaded<T, DeepLoadHint<T>>;
|
|
49
|
-
/** Detects whether an entity is newly created, and so we can treat all the relations as loaded. */
|
|
50
|
-
export declare function isNew<T extends Entity>(e: T): e is New<T>;
|
|
51
|
-
/**
|
|
52
|
-
* All the loadable fields, i.e. relations or lazy-loaded/async properties, in an entity.
|
|
53
|
-
*
|
|
54
|
-
* We use a mapped type (instead of a code-generated type) so that we can pick up custom
|
|
55
|
-
* fields that have be added to the entity classes, i.e. `Author.numberOfBooks2` async
|
|
56
|
-
* properties.
|
|
57
|
-
*/
|
|
58
|
-
export type Loadable<T extends Entity> = {
|
|
59
|
-
-readonly [K in keyof T as LoadableValue<T[K]> extends never ? never : K]: LoadableValue<T[K]>;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Given an entity field/value, return the loadable entity.
|
|
63
|
-
*
|
|
64
|
-
* I.e. `Author.books` as a Reference or Collection, return `Book`.
|
|
65
|
-
*
|
|
66
|
-
* Note that we usually return entities, but for AsyncProperties it could be
|
|
67
|
-
* a calculated primitive value like number or string.
|
|
68
|
-
*/
|
|
69
|
-
export type LoadableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends AsyncProperty<any, infer P> ? P extends (infer U extends Entity) | undefined ? U : P : never;
|
|
70
|
-
/**
|
|
71
|
-
* A load hint of a single key, multiple keys, or nested keys and sub-hints.
|
|
72
|
-
*
|
|
73
|
-
* Load hints are different from reactive hints in that load hints include only references,
|
|
74
|
-
* collections, and async properties to preload (like `Book.author` or `Author.books`), and
|
|
75
|
-
* do not include any primitive fields (like `Author.firstName`).
|
|
76
|
-
*/
|
|
77
|
-
export type LoadHint<T extends Entity> = (keyof Loadable<T> & string) | ReadonlyArray<keyof Loadable<T> & string> | NestedLoadHint<T>;
|
|
78
|
-
export type NestedLoadHint<T extends Entity> = {
|
|
79
|
-
[K in keyof Loadable<T>]?: Loadable<T>[K] extends infer U extends Entity ? LoadHint<U> : {};
|
|
80
|
-
};
|
|
81
|
-
/** Given an entity `T` that is being populated with hints `H`, marks the `H` attributes as populated. */
|
|
82
|
-
export type Loaded<T extends Entity, H> = T & {
|
|
83
|
-
[K in keyof T & keyof NormalizeHint<H>]: H extends DeepLoadHint<T> ? MarkDeepLoaded<T, T[K]> : MarkLoaded<T, T[K], NormalizeHint<H>[K]>;
|
|
84
|
-
};
|
|
85
|
-
/** Recursively checks if the relations from a load hint are loaded on an entity. */
|
|
86
|
-
export declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
|
|
87
|
-
export declare function maybePopulateThen<T extends Entity, H extends LoadHint<T>, R>(entity: T, hint: H, fn: (loaded: Loaded<T, H>) => R): MaybePromise<R>;
|
|
88
|
-
/**
|
|
89
|
-
* Runtime checks that `entity` has `hint` loaded, and type guards it as a `Loaded<T, hint>`.
|
|
90
|
-
*
|
|
91
|
-
* Similar to `ensureLoaded`, although `ensureLoaded` returns its value.
|
|
92
|
-
*/
|
|
93
|
-
export declare function assertLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): asserts entity is Loaded<T, H>;
|
|
94
|
-
/**
|
|
95
|
-
* Runtime checks that `entity` has `hint` loaded, and returns it as a `Loaded<T, entity>`.
|
|
96
|
-
*
|
|
97
|
-
* Similar to `assertLoaded`, although `assertLoaded` is a boolean type guard.
|
|
98
|
-
*/
|
|
99
|
-
export declare function ensureLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
|
|
100
|
-
/**
|
|
101
|
-
* Unsafe type check for `entity` to `hint`, *without* a runtime type check.
|
|
102
|
-
*
|
|
103
|
-
* You should only use this if you're extremely sure that entity has hint loaded.
|
|
104
|
-
*/
|
|
105
|
-
export declare function unsafeLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
|
|
106
|
-
/** From any `Relations` field in `T`, i.e. for loader hints. */
|
|
107
|
-
export type RelationsIn<T extends Entity> = SubType<T, Relation<any, any>>;
|
|
108
|
-
type SubType<T, C> = Pick<T, {
|
|
109
|
-
[K in keyof T]: T[K] extends C ? K : never;
|
|
110
|
-
}[keyof T]>;
|
|
111
|
-
export {};
|
|
112
|
-
//# sourceMappingURL=loadHints.d.ts.map
|
package/build/loadHints.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadHints.d.ts","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAQ,MAAM,SAAS,CAAC;AAE9D,QAAA,MAAM,QAAQ,eAAW,CAAC;AAC1B,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG;IAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAU/E,KAAK,aAAa,GAAG,GAAG,CAAC;AAEzB,sFAAsF;AACtF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IACjD,CAAC,SAAS,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAC/C,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GACzC,CAAC,SAAS,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAClD,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GACpC,CAAC,SAAS,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAC1C,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAClC,CAAC,SAAS,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAClD,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAC1C,CAAC,SAAS,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAE7C;IAAC,CAAC;CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GAAG,SAAS,CAAC,GAC1D,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAChD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,EAAE,GAC7C,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAClC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACxC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACrB,OAAO,CAAC;AAExB,iEAAiE;AACjE,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IACrC,CAAC,SAAS,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAC/C,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GACtD,CAAC,SAAS,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAClD,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACjD,CAAC,SAAS,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAC1C,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,CAAC,SAAS,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAClD,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GACvD,CAAC,SAAS,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAE7C;IAAC,CAAC;CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GAAG,SAAS,CAAC,GAC1D,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC7D,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,EAAE,GAC7C,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAC/C,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACxC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACrB,OAAO,CAAC;AAExB;;;;;;;;;;;;GAYG;AACH,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IACpE,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,CAAC,GAClC,EAAE,SAAS,MAAM,GACf,CAAC,CAAC,CAAC,CAAC,SAAS,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GACxC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACzC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GACzB,KAAK,GACT,EAAE,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,GACxB,EAAE,SAAS,MAAM,GACf,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GACjC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,GACvB,KAAK,GACP,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC,GACR,KAAK,CAAC;AAEZ;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;KAStE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CACpF,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnE,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAEzD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI;IACvC,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/F,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAClC,CAAC,GACD,CAAC,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,GACD,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GACxC,CAAC,GACD,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GACtC,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAGnC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,GACtD,KAAK,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,IACjC,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAC5B,aAAa,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GACzC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KAE5C,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE;CAC5F,CAAC;AAEF,yGAAyG;AACzG,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG;KAC3C,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAC9D,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAuB5G;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1E,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC9B,YAAY,CAAC,CAAC,CAAC,CAEjB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EACxE,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAEhC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAG5G;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE5G;AAED,gEAAgE;AAChE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAG3E,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC"}
|
package/build/loadHints.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isNew = isNew;
|
|
4
|
-
exports.isLoaded = isLoaded;
|
|
5
|
-
exports.maybePopulateThen = maybePopulateThen;
|
|
6
|
-
exports.assertLoaded = assertLoaded;
|
|
7
|
-
exports.ensureLoaded = ensureLoaded;
|
|
8
|
-
exports.unsafeLoaded = unsafeLoaded;
|
|
9
|
-
const reactiveHints_1 = require("./reactiveHints");
|
|
10
|
-
const utils_1 = require("./utils");
|
|
11
|
-
const deepLoad = Symbol();
|
|
12
|
-
/** Detects whether an entity is newly created, and so we can treat all the relations as loaded. */
|
|
13
|
-
function isNew(e) {
|
|
14
|
-
return e.isNewEntity;
|
|
15
|
-
}
|
|
16
|
-
/** Recursively checks if the relations from a load hint are loaded on an entity. */
|
|
17
|
-
function isLoaded(entity, hint) {
|
|
18
|
-
if (typeof hint === "string") {
|
|
19
|
-
return entity[hint].isLoaded;
|
|
20
|
-
}
|
|
21
|
-
else if (Array.isArray(hint)) {
|
|
22
|
-
return hint.every((key) => entity[key].isLoaded);
|
|
23
|
-
}
|
|
24
|
-
else if (typeof hint === "object") {
|
|
25
|
-
return Object.entries(hint).every(([key, nestedHint]) => {
|
|
26
|
-
const relation = (0, reactiveHints_1.getRelationFromMaybePolyKey)(entity, key);
|
|
27
|
-
if (!relation || typeof relation.load !== "function")
|
|
28
|
-
return true;
|
|
29
|
-
if (relation.isLoaded) {
|
|
30
|
-
const result = relation.get;
|
|
31
|
-
return Array.isArray(result)
|
|
32
|
-
? result.every((entity) => isLoaded(entity, nestedHint))
|
|
33
|
-
: result
|
|
34
|
-
? isLoaded(result, nestedHint)
|
|
35
|
-
: true;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
throw new Error(`Unexpected hint ${hint}`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function maybePopulateThen(entity, hint, fn) {
|
|
47
|
-
return isLoaded(entity, hint) ? fn(entity) : entity.populate(hint).then(fn);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Runtime checks that `entity` has `hint` loaded, and type guards it as a `Loaded<T, hint>`.
|
|
51
|
-
*
|
|
52
|
-
* Similar to `ensureLoaded`, although `ensureLoaded` returns its value.
|
|
53
|
-
*/
|
|
54
|
-
function assertLoaded(entity, hint) {
|
|
55
|
-
if (!isLoaded(entity, hint))
|
|
56
|
-
(0, utils_1.fail)(`${entity.id} is not loaded for ${JSON.stringify(hint)}`);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Runtime checks that `entity` has `hint` loaded, and returns it as a `Loaded<T, entity>`.
|
|
60
|
-
*
|
|
61
|
-
* Similar to `assertLoaded`, although `assertLoaded` is a boolean type guard.
|
|
62
|
-
*/
|
|
63
|
-
function ensureLoaded(entity, hint) {
|
|
64
|
-
assertLoaded(entity, hint);
|
|
65
|
-
return entity;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Unsafe type check for `entity` to `hint`, *without* a runtime type check.
|
|
69
|
-
*
|
|
70
|
-
* You should only use this if you're extremely sure that entity has hint loaded.
|
|
71
|
-
*/
|
|
72
|
-
function unsafeLoaded(entity, hint) {
|
|
73
|
-
return entity;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=loadHints.js.map
|
package/build/loadHints.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadHints.js","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":";;AAoIA,sBAEC;AA6DD,4BAuBC;AAED,8CAMC;AAOD,oCAKC;AAOD,oCAGC;AAOD,oCAEC;AA/PD,mDAA8D;AAiB9D,mCAA8D;AAE9D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AA8G1B,mGAAmG;AACnG,SAAgB,KAAK,CAAmB,CAAI;IAC1C,OAAO,CAAC,CAAC,WAAW,CAAC;AACvB,CAAC;AA4DD,oFAAoF;AACpF,SAAgB,QAAQ,CAA0C,MAAS,EAAE,IAAO;IAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IACxC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAQ,IAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,MAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,IAAA,2CAA2B,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YAClE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBACxD,CAAC,CAAC,MAAM;wBACN,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;wBAC9B,CAAC,CAAC,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAC/B,MAAS,EACT,IAAO,EACP,EAA+B;IAE/B,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,MAAS,EACT,IAAO;IAEP,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,IAAA,YAAI,EAAC,GAAG,MAAM,CAAC,EAAE,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAgD,MAAS,EAAE,IAAO;IAC5F,YAAY,CAAO,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAgD,MAAS,EAAE,IAAO;IAC5F,OAAO,MAAsB,CAAC;AAChC,CAAC"}
|
package/build/loadLens.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Entity } from "./Entity";
|
|
2
|
-
import { EntityMetadata, Field } from "./EntityMetadata";
|
|
3
|
-
import { LoadHint } from "./loadHints";
|
|
4
|
-
/** Generically matches on a Reference/Collection's load method. */
|
|
5
|
-
type LoadLike<U> = {
|
|
6
|
-
load(): Promise<U>;
|
|
7
|
-
};
|
|
8
|
-
/** Generically matches a property or zero-arg method that returns a promise. */
|
|
9
|
-
type PromiseFnLike<U> = () => PromiseLike<U>;
|
|
10
|
-
/**
|
|
11
|
-
* Given a parent type `R` (that is our current lens "return type", i.e. `Author` or `Author | undefined` or `Author[]`),
|
|
12
|
-
* and the type `V` of the "next step" of the traversal (i.e. itself `Book` or `Book | undefined` or `Book[]`, depending
|
|
13
|
-
* on the relation being traversed), returns `V` mapped to "the right format" based on `R`.
|
|
14
|
-
*
|
|
15
|
-
* I.e.:
|
|
16
|
-
*
|
|
17
|
-
* - `Author | undefined` that navigates a `Book` will become `Book | undefined`
|
|
18
|
-
* - `Author` that navigates a `Book | undefined` will also become `Book | undefined`
|
|
19
|
-
* - `Author[]` that navigates a `Book | undefined` will become a `Book[]`
|
|
20
|
-
* - `Author | undefined` that navigates a `Book[]` will become a `Book[]`
|
|
21
|
-
*/
|
|
22
|
-
type MaybeArray<R, V> = R extends ReadonlyArray<any> ? [V] extends [ReadonlyArray<infer U>] ? DropUndefined<U>[] : DropUndefined<V>[] : V extends ReadonlyArray<any> ? V : [R] extends [undefined] ? V | undefined : V;
|
|
23
|
-
/** Given a type T that we come across in the path, de-array it to continue our flatMap-ish semantics. */
|
|
24
|
-
type MaybeDropArray<T> = T extends ReadonlyArray<infer U> ? U : T;
|
|
25
|
-
type DropUndefined<T> = Exclude<T, undefined>;
|
|
26
|
-
/**
|
|
27
|
-
* A type for declaratively walking the object graph.
|
|
28
|
-
*
|
|
29
|
-
* This is not technically a Lens that can `get/set`, but the idea is generally the same.
|
|
30
|
-
*
|
|
31
|
-
* `T` is the type we're on, i.e. when `T = Author` we can do `.firstName` or `.lastName.
|
|
32
|
-
* `R` is either a `T` or `T[]` or `T | undefined` and just captures whether we've hit a
|
|
33
|
-
* list at any point in the lens navigation path.
|
|
34
|
-
*/
|
|
35
|
-
export type Lens<T, R = T> = {
|
|
36
|
-
[P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : T[P] extends PromiseFnLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : Lens<MaybeDropArray<DropUndefined<T[P]>>, MaybeArray<R, T[P]>>;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Allows declaratively loading/traversing several layers of references at once.
|
|
40
|
-
*
|
|
41
|
-
* I.e.:
|
|
42
|
-
*
|
|
43
|
-
* ```typescript
|
|
44
|
-
* const publisher = await book.load(b => b.author.publisher);
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
export declare function loadLens<T extends Entity, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>, opts?: {
|
|
48
|
-
forceReload?: boolean;
|
|
49
|
-
sql?: boolean;
|
|
50
|
-
}): Promise<V>;
|
|
51
|
-
export declare function isAllSqlPaths(meta: EntityMetadata, paths: string[]): boolean;
|
|
52
|
-
export declare function mapPathsToTarget(source: EntityMetadata, paths: string[]): [EntityMetadata, [EntityMetadata, Field][]];
|
|
53
|
-
/**
|
|
54
|
-
* The synchronous version of `loadLens`.
|
|
55
|
-
*
|
|
56
|
-
* This assumes you've first evaluated the lens with `loadLens` and now can access it synchronously.
|
|
57
|
-
*/
|
|
58
|
-
export declare function getLens<T, U, V>(startMeta: EntityMetadata, start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): V;
|
|
59
|
-
/** Returns whether a lens is loaded; primarily for deeply loaded instances in tests. */
|
|
60
|
-
export declare function isLensLoaded<T, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): boolean;
|
|
61
|
-
/** Accepts a lens like `a => a.books.reviews` and returns a hint like `{ books: { reviews: {} } }`. */
|
|
62
|
-
export declare function lensToLoadHint<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): LoadHint<T>;
|
|
63
|
-
/** Accepts a lens like `a => a.books.reviews` and returns the paths like `[books, reviews]`. */
|
|
64
|
-
export declare function lensToPath<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): string[];
|
|
65
|
-
export {};
|
|
66
|
-
//# sourceMappingURL=loadLens.d.ts.map
|
package/build/loadLens.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadLens.d.ts","sourceRoot":"","sources":["../src/loadLens.ts"],"names":[],"mappings":"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"}
|
package/build/loadLens.js
DELETED
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadLens = loadLens;
|
|
4
|
-
exports.isAllSqlPaths = isAllSqlPaths;
|
|
5
|
-
exports.mapPathsToTarget = mapPathsToTarget;
|
|
6
|
-
exports.getLens = getLens;
|
|
7
|
-
exports.isLensLoaded = isLensLoaded;
|
|
8
|
-
exports.lensToLoadHint = lensToLoadHint;
|
|
9
|
-
exports.lensToPath = lensToPath;
|
|
10
|
-
const Entity_1 = require("./Entity");
|
|
11
|
-
const EntityManager_1 = require("./EntityManager");
|
|
12
|
-
const EntityMetadata_1 = require("./EntityMetadata");
|
|
13
|
-
const lensDataLoader_1 = require("./dataloaders/lensDataLoader");
|
|
14
|
-
const relations_1 = require("./relations");
|
|
15
|
-
const AbstractRelationImpl_1 = require("./relations/AbstractRelationImpl");
|
|
16
|
-
/**
|
|
17
|
-
* Allows declaratively loading/traversing several layers of references at once.
|
|
18
|
-
*
|
|
19
|
-
* I.e.:
|
|
20
|
-
*
|
|
21
|
-
* ```typescript
|
|
22
|
-
* const publisher = await book.load(b => b.author.publisher);
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
// For some reason accepting Lens<this, this> does not work when called from within the entity
|
|
26
|
-
// subclass itself, so we use the codegen hammer in our subclass to force the right Lens type
|
|
27
|
-
// in a .load stub that just calls us for the implementation.
|
|
28
|
-
async function loadLens(start, fn, opts = {}) {
|
|
29
|
-
// Probe for the meta, so we can track when/if it needs to flip to a collection (even after hitting undefined)
|
|
30
|
-
const meta = Array.isArray(start)
|
|
31
|
-
? (0, Entity_1.isEntity)(start[0]) && (0, EntityMetadata_1.getMetadata)(start[0])
|
|
32
|
-
: (0, Entity_1.isEntity)(start) && (0, EntityMetadata_1.getMetadata)(start);
|
|
33
|
-
// This should only happen for `start=[]`, which we know should return `[]`
|
|
34
|
-
if (!meta)
|
|
35
|
-
return [];
|
|
36
|
-
// If we're already loaded, just return
|
|
37
|
-
if (!opts.forceReload && isLensLoaded(start, fn)) {
|
|
38
|
-
return getLens(meta, start, fn);
|
|
39
|
-
}
|
|
40
|
-
const paths = collectPaths(fn);
|
|
41
|
-
// See if we can load this via SQL
|
|
42
|
-
if (opts.sql) {
|
|
43
|
-
// Are all paths SQL query-able?
|
|
44
|
-
if (!isAllSqlPaths(meta, paths)) {
|
|
45
|
-
throw new Error("Cannot use loadLens opts.sql with non-SQL paths");
|
|
46
|
-
}
|
|
47
|
-
// If there is only 1 path, don't both with the fancy join
|
|
48
|
-
if (paths.length > 1) {
|
|
49
|
-
// TODO We can only do this is _none_ of the paths are loaded, otherwise we'll miss WIP mutations
|
|
50
|
-
if (isReadOnlyArray(start)) {
|
|
51
|
-
const em = start[0].em;
|
|
52
|
-
return (await (0, lensDataLoader_1.lensDataLoader)(em, meta.cstr, true, paths)
|
|
53
|
-
.loadMany(start.map((e) => e.idTagged))
|
|
54
|
-
.catch(function loadLens(err) {
|
|
55
|
-
throw (0, EntityManager_1.appendStack)(err, new Error());
|
|
56
|
-
}));
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
const em = start.em;
|
|
60
|
-
return (await (0, lensDataLoader_1.lensDataLoader)(em, meta.cstr, false, paths)
|
|
61
|
-
.load(start.idTagged)
|
|
62
|
-
.catch(function loadLens(err) {
|
|
63
|
-
throw (0, EntityManager_1.appendStack)(err, new Error());
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// This could be `Entity | Entity[] | undefined` as we keep walking
|
|
69
|
-
let current = start;
|
|
70
|
-
let currentMeta = meta;
|
|
71
|
-
let seenSoftDeleted = false;
|
|
72
|
-
// Now evaluate each step of the path
|
|
73
|
-
for (const path of paths) {
|
|
74
|
-
const field = currentMeta?.allFields[path];
|
|
75
|
-
if (Array.isArray(current)) {
|
|
76
|
-
current = (await Promise.all(current.map((c) => maybeLoad(c, path, opts)))).flat();
|
|
77
|
-
current = [...new Set(current.filter((c) => c !== undefined && !c.isSoftDeletedEntity))];
|
|
78
|
-
// As soon as we hit `current=[]`, we can early return (...`current=undefined` cannot b/c the next path might flip to a list)
|
|
79
|
-
if (current.length === 0)
|
|
80
|
-
return current;
|
|
81
|
-
}
|
|
82
|
-
else if (current) {
|
|
83
|
-
current = await maybeLoad(current, path, opts);
|
|
84
|
-
seenSoftDeleted ||= current?.isSoftDeletedEntity;
|
|
85
|
-
// If we had been traversing m2o -> m2o (i.e. book -> author) and just hit an o2m/m2m (i.e.
|
|
86
|
-
// book -> author -> comments), and any of our prior m2os like `author` had been soft deleted,
|
|
87
|
-
// just filter everything out.
|
|
88
|
-
//
|
|
89
|
-
// Otherwise, we keep `book -> author`, even if author is soft-deleted, b/c it changes the return
|
|
90
|
-
// type from "author" to "author | undefined".
|
|
91
|
-
if (Array.isArray(current) && seenSoftDeleted) {
|
|
92
|
-
return [];
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
// current is undefined; see if we should flip to a list ... which means we can early return
|
|
97
|
-
if (field?.kind === "o2m" || field?.kind === "m2m")
|
|
98
|
-
return [];
|
|
99
|
-
}
|
|
100
|
-
currentMeta = field && "otherMetadata" in field ? field.otherMetadata() : undefined;
|
|
101
|
-
}
|
|
102
|
-
return current;
|
|
103
|
-
}
|
|
104
|
-
function isAllSqlPaths(meta, paths) {
|
|
105
|
-
for (let i = 0, current = meta; i < paths.length; i++) {
|
|
106
|
-
const next = current.allFields[paths[i]];
|
|
107
|
-
if (next && (next.kind === "m2o" || next.kind === "m2m" || next.kind === "o2m" || next.kind === "o2o")) {
|
|
108
|
-
current = next.otherMetadata();
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
// Given BookReview+[book, author] return [Author, books+bookReviews]
|
|
117
|
-
function mapPathsToTarget(source, paths) {
|
|
118
|
-
let other = source;
|
|
119
|
-
let fields = [];
|
|
120
|
-
for (let i = 0; i < paths.length; i++) {
|
|
121
|
-
const next = other.allFields[paths[i]];
|
|
122
|
-
if (next && (next.kind === "m2o" || next.kind === "m2m" || next.kind === "o2m" || next.kind === "o2o")) {
|
|
123
|
-
other = next.otherMetadata();
|
|
124
|
-
fields.push([other, other.allFields[next.otherFieldName]]);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
throw new Error("Either not an all-SQL path or not supported yet");
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return [other, fields.reverse()];
|
|
131
|
-
}
|
|
132
|
-
function maybeLoad(object, path, opts) {
|
|
133
|
-
if (object === undefined || object === null) {
|
|
134
|
-
return undefined;
|
|
135
|
-
}
|
|
136
|
-
const value = object[path];
|
|
137
|
-
if (value && typeof value === "object" && "load" in value) {
|
|
138
|
-
return value.load(opts);
|
|
139
|
-
}
|
|
140
|
-
else if (value && typeof value === "function") {
|
|
141
|
-
return value.apply(object);
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
return value;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* The synchronous version of `loadLens`.
|
|
149
|
-
*
|
|
150
|
-
* This assumes you've first evaluated the lens with `loadLens` and now can access it synchronously.
|
|
151
|
-
*/
|
|
152
|
-
function getLens(startMeta, start, fn) {
|
|
153
|
-
const paths = collectPaths(fn);
|
|
154
|
-
let currentMeta = startMeta;
|
|
155
|
-
let current = start;
|
|
156
|
-
let seenSoftDeleted = false;
|
|
157
|
-
// Now evaluate each step of the path
|
|
158
|
-
for (const path of paths) {
|
|
159
|
-
// We might navigate into properties, at which point we won't know the currentMeta
|
|
160
|
-
const field = currentMeta?.allFields[path];
|
|
161
|
-
if (Array.isArray(current)) {
|
|
162
|
-
// Use a set to dedup as we go
|
|
163
|
-
const next = new Set();
|
|
164
|
-
// This can be a hot path, so avoid `map` and `flat` and just loop
|
|
165
|
-
for (const c of current) {
|
|
166
|
-
const value = maybeGet(c, path);
|
|
167
|
-
if (Array.isArray(value))
|
|
168
|
-
for (const v of value)
|
|
169
|
-
maybeAdd(next, v);
|
|
170
|
-
else
|
|
171
|
-
maybeAdd(next, value);
|
|
172
|
-
}
|
|
173
|
-
current = [...next];
|
|
174
|
-
}
|
|
175
|
-
else if (current) {
|
|
176
|
-
current = maybeGet(current, path);
|
|
177
|
-
seenSoftDeleted ||= current?.isSoftDeletedEntity;
|
|
178
|
-
// If we had been traversing m2o -> m2o and just hit an o2m/m2m, and any of our
|
|
179
|
-
// prior m2os had been soft-deleted, just filter everything out.
|
|
180
|
-
if (Array.isArray(current) && seenSoftDeleted) {
|
|
181
|
-
return [];
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
// current is undefined; see if we should flip to a list ... which means we can early return
|
|
186
|
-
if (field?.kind === "o2m" || field?.kind === "m2m")
|
|
187
|
-
return [];
|
|
188
|
-
}
|
|
189
|
-
currentMeta = field && "otherMetadata" in field ? field.otherMetadata() : undefined;
|
|
190
|
-
}
|
|
191
|
-
return current;
|
|
192
|
-
}
|
|
193
|
-
function maybeAdd(set, value) {
|
|
194
|
-
if (value !== undefined && !value.isSoftDeletedEntity)
|
|
195
|
-
set.add(value);
|
|
196
|
-
}
|
|
197
|
-
/** Returns whether a lens is loaded; primarily for deeply loaded instances in tests. */
|
|
198
|
-
function isLensLoaded(start, fn) {
|
|
199
|
-
// This is a huge copy/paste of `getLens` but we check `isNotLoaded` and early return
|
|
200
|
-
// as soon as we find any not-loaded relation
|
|
201
|
-
const paths = collectPaths(fn);
|
|
202
|
-
let current = start;
|
|
203
|
-
let seenSoftDeleted = false;
|
|
204
|
-
// Now evaluate each step of the path
|
|
205
|
-
for (const path of paths) {
|
|
206
|
-
if (Array.isArray(current)) {
|
|
207
|
-
// Use a set to dedup as we go
|
|
208
|
-
const next = new Set();
|
|
209
|
-
for (const c of current) {
|
|
210
|
-
if (isNotLoaded(c, path))
|
|
211
|
-
return false;
|
|
212
|
-
const value = maybeGet(c, path);
|
|
213
|
-
if (Array.isArray(value))
|
|
214
|
-
for (const v of value)
|
|
215
|
-
maybeAdd(next, v);
|
|
216
|
-
else
|
|
217
|
-
maybeAdd(next, value);
|
|
218
|
-
}
|
|
219
|
-
current = [...next];
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
if (isNotLoaded(current, path))
|
|
223
|
-
return false;
|
|
224
|
-
current = maybeGet(current, path);
|
|
225
|
-
seenSoftDeleted ||= current?.isSoftDeletedEntity;
|
|
226
|
-
// If we had been traversing m2o -> m2o and just hit an o2m/m2m, and any of our
|
|
227
|
-
// prior m2os had been soft deleted, just filter everything out.
|
|
228
|
-
if (Array.isArray(current) && seenSoftDeleted) {
|
|
229
|
-
return true;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
return true;
|
|
234
|
-
}
|
|
235
|
-
/** Accepts a lens like `a => a.books.reviews` and returns a hint like `{ books: { reviews: {} } }`. */
|
|
236
|
-
function lensToLoadHint(fn) {
|
|
237
|
-
const paths = collectPaths(fn);
|
|
238
|
-
let current = {};
|
|
239
|
-
for (const path of paths.reverse()) {
|
|
240
|
-
current = { [path]: current };
|
|
241
|
-
}
|
|
242
|
-
return current;
|
|
243
|
-
}
|
|
244
|
-
/** Accepts a lens like `a => a.books.reviews` and returns the paths like `[books, reviews]`. */
|
|
245
|
-
function lensToPath(fn) {
|
|
246
|
-
return collectPaths(fn);
|
|
247
|
-
}
|
|
248
|
-
function isNotLoaded(object, path) {
|
|
249
|
-
const value = object && object[path];
|
|
250
|
-
if (value instanceof AbstractRelationImpl_1.AbstractRelationImpl || (0, relations_1.isAsyncProperty)(value)) {
|
|
251
|
-
return !value.isLoaded;
|
|
252
|
-
}
|
|
253
|
-
return false;
|
|
254
|
-
}
|
|
255
|
-
function maybeGet(object, path) {
|
|
256
|
-
if (object === undefined || object === null) {
|
|
257
|
-
return undefined;
|
|
258
|
-
}
|
|
259
|
-
const value = object[path];
|
|
260
|
-
if (typeof value === "object" && "get" in value) {
|
|
261
|
-
return value.get;
|
|
262
|
-
}
|
|
263
|
-
else if (value && typeof value === "function") {
|
|
264
|
-
return value.apply(object);
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
return value;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
function collectPaths(fn) {
|
|
271
|
-
const paths = [];
|
|
272
|
-
// The proxy collects the path navigations that the user's `fn` lambda invokes.
|
|
273
|
-
const proxy = new Proxy({}, {
|
|
274
|
-
get(_, property, receiver) {
|
|
275
|
-
paths.push(String(property));
|
|
276
|
-
return receiver;
|
|
277
|
-
},
|
|
278
|
-
});
|
|
279
|
-
// Invoke the lens function to record the navigation path on our proxy
|
|
280
|
-
fn(proxy);
|
|
281
|
-
return paths;
|
|
282
|
-
}
|
|
283
|
-
// Work around https://github.com/microsoft/TypeScript/issues/17002
|
|
284
|
-
function isReadOnlyArray(value) {
|
|
285
|
-
return Array.isArray(value);
|
|
286
|
-
}
|
|
287
|
-
//# sourceMappingURL=loadLens.js.map
|
package/build/loadLens.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadLens.js","sourceRoot":"","sources":["../src/loadLens.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Entity } from "../Entity";
|
|
2
|
-
import { EntityMetadata } from "../EntityMetadata";
|
|
3
|
-
import { UseMapSource } from "../newTestInstance";
|
|
4
|
-
export type WriteFn = (line: string) => void;
|
|
5
|
-
export declare class FactoryLogger {
|
|
6
|
-
private level;
|
|
7
|
-
private writeFn;
|
|
8
|
-
private skipNextLogCreating;
|
|
9
|
-
constructor();
|
|
10
|
-
logCreating(cstr: any): void;
|
|
11
|
-
logAddToUseMap(e: Entity, source: UseMapSource): void;
|
|
12
|
-
logCreated(e: Entity): void;
|
|
13
|
-
logFoundExisting(e: Entity): void;
|
|
14
|
-
logFoundOpt(fieldName: string, e: Entity): void;
|
|
15
|
-
logNotFoundAndCreating(fieldName: string, meta: EntityMetadata): void;
|
|
16
|
-
logFoundInUseMap(fieldName: string, e: Entity): void;
|
|
17
|
-
logFoundSingleEntity(fieldName: string, e: Entity): void;
|
|
18
|
-
indent(): void;
|
|
19
|
-
dedent(): void;
|
|
20
|
-
private write;
|
|
21
|
-
private prefix;
|
|
22
|
-
}
|
|
23
|
-
export declare function setFactoryWriter(write: WriteFn | undefined): void;
|
|
24
|
-
//# sourceMappingURL=FactoryLogger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FactoryLogger.d.ts","sourceRoot":"","sources":["../../src/logging/FactoryLogger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAI7C,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,mBAAmB,CAAS;;IAQpC,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAS5B,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAQrD,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3B,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKjC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/C,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAKrE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAIpD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxD,MAAM;IAIN,MAAM;IAIN,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;CAGf;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEjE"}
|