joist-orm 1.293.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{drivers/PostgresDriver.d.ts → PostgresDriver.d.ts} +1 -4
- package/build/PostgresDriver.d.ts.map +1 -0
- package/build/{drivers/PostgresDriver.js → PostgresDriver.js} +49 -58
- package/build/PostgresDriver.js.map +1 -0
- 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/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 -127
- package/build/index.d.ts.map +1 -1
- package/build/index.js +8 -282
- 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-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/postgres-driver.d.ts +2 -0
- package/build/postgres-driver.d.ts.map +1 -0
- package/build/postgres-driver.js +7 -0
- package/build/postgres-driver.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/build/trusted.d.ts +5 -0
- package/build/trusted.d.ts.map +1 -0
- package/build/trusted.js +15 -0
- package/build/trusted.js.map +1 -0
- package/package.json +85 -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 -2069
- 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 -307
- 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/PostgresDriver.d.ts.map +0 -1
- package/build/drivers/PostgresDriver.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 -161
- 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/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/BaseEntity.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { IdType } from "./Entity";
|
|
2
|
-
import { Entity, EntityManager, InstanceData, TaggedId } from "./index";
|
|
3
|
-
/**
|
|
4
|
-
* Returns the internal `__data` tracking field for `entity`.
|
|
5
|
-
*
|
|
6
|
-
* This should be treated as an internal API and may change without notice.
|
|
7
|
-
*/
|
|
8
|
-
export declare function getInstanceData(entity: Entity): InstanceData;
|
|
9
|
-
/**
|
|
10
|
-
* The base class for all entities.
|
|
11
|
-
*
|
|
12
|
-
* Currently, this just adds the `.load(lensFn)` method for declarative reference traversal.
|
|
13
|
-
*/
|
|
14
|
-
export declare abstract class BaseEntity<EM extends EntityManager, I extends IdType = IdType> implements Entity {
|
|
15
|
-
static getInstanceData(entity: Entity): InstanceData;
|
|
16
|
-
protected readonly __data: InstanceData;
|
|
17
|
-
/** The single-arg constructor is our psuedo-public API that can only be called by the EntityManager. */
|
|
18
|
-
constructor(em: EntityManager);
|
|
19
|
-
get fullNonReactiveAccess(): this;
|
|
20
|
-
/** @returns the entity's id, tagged/untagged based on your config, or a runtime error if it's new/unassigned. */
|
|
21
|
-
abstract id: I;
|
|
22
|
-
/** @returns the entity's, tagged/untagged based on your config, or undefined if it's new/unassigned. */
|
|
23
|
-
abstract get idMaybe(): I | undefined;
|
|
24
|
-
/** @returns the entity's id, always tagged, or a runtime error if it's new/unassigned. */
|
|
25
|
-
abstract idTagged: TaggedId;
|
|
26
|
-
/** @returns the entity's id, always tagged, or undefined if it's new/unassigned. */
|
|
27
|
-
abstract get idTaggedMaybe(): TaggedId | undefined;
|
|
28
|
-
/** @returns the entity's id, always untagged, or a runtime error if it's unassigned. */
|
|
29
|
-
get idUntagged(): string;
|
|
30
|
-
abstract set(opts: unknown): void;
|
|
31
|
-
/**
|
|
32
|
-
* Similar to `set` but applies "Partial API" semantics, i.e. `null` means unset and `undefined` means don't change.
|
|
33
|
-
*/
|
|
34
|
-
abstract setPartial(opts: unknown): void;
|
|
35
|
-
/**
|
|
36
|
-
* Similar to `set` but applies "Partial API" semantics, i.e. `null` means unset and `undefined` means don't change.
|
|
37
|
-
*/
|
|
38
|
-
abstract setDeepPartial(opts: unknown): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* Returns whether the entity is new.
|
|
41
|
-
*
|
|
42
|
-
* This is not just `this.id === undefined`, because just assigning an id doesn't mean the entity
|
|
43
|
-
* is no longer new; this only flips to `false` after the `flush` transaction has been committed.
|
|
44
|
-
*/
|
|
45
|
-
get isNewEntity(): boolean;
|
|
46
|
-
get isDeletedEntity(): boolean;
|
|
47
|
-
get isDirtyEntity(): boolean;
|
|
48
|
-
toString(): string;
|
|
49
|
-
toTaggedString(): string;
|
|
50
|
-
get em(): EM;
|
|
51
|
-
/**
|
|
52
|
-
* A very simple toJSON that just returns the id.
|
|
53
|
-
*
|
|
54
|
-
* This is for security reasons, to avoid accidentally logging sensitive data; you
|
|
55
|
-
* can specify more fields, and potentially nested return data, by using passing
|
|
56
|
-
* a {@link JsonHint} to `toJSON`.
|
|
57
|
-
*/
|
|
58
|
-
toJSON(): object;
|
|
59
|
-
[Symbol.toStringTag](): string;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* The constructor logic for `BaseEntity` but exposed so that `newEntity` can use it too
|
|
63
|
-
* on its `Object.create`-d instances.
|
|
64
|
-
*/
|
|
65
|
-
export declare function baseEntityCstr(em: EntityManager, entity: BaseEntity<any, any>, isNew: boolean): void;
|
|
66
|
-
//# sourceMappingURL=BaseEntity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntity.d.ts","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,MAAM,EACN,aAAa,EAEb,YAAY,EACZ,QAAQ,EAIT,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAE5D;AAED;;;;GAIG;AACH,8BAAsB,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,YAAW,MAAM;WACvF,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAI3D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,YAAY,CAAC;IAEzC,wGAAwG;gBAC5F,EAAE,EAAE,aAAa;IAa7B,IAAI,qBAAqB,IAAI,IAAI,CAEhC;IAED,iHAAiH;IACjH,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEf,wGAAwG;IACxG,QAAQ,KAAK,OAAO,IAAI,CAAC,GAAG,SAAS,CAAC;IAEtC,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,oFAAoF;IACpF,QAAQ,KAAK,aAAa,IAAI,QAAQ,GAAG,SAAS,CAAC;IAEnD,wFAAwF;IACxF,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAEjC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAExC;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAErD;;;;;OAKG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,QAAQ,IAAI,MAAM;IAKlB,cAAc,IAAI,MAAM;IAKxB,IAAW,EAAE,IAAI,EAAE,CAElB;IAED;;;;;;OAMG;IACI,MAAM,IAAI,MAAM;IAIvB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM;CAY/B;AAqBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAIpG"}
|
package/build/BaseEntity.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseEntity = void 0;
|
|
4
|
-
exports.getInstanceData = getInstanceData;
|
|
5
|
-
exports.baseEntityCstr = baseEntityCstr;
|
|
6
|
-
const index_1 = require("./index");
|
|
7
|
-
/**
|
|
8
|
-
* Returns the internal `__data` tracking field for `entity`.
|
|
9
|
-
*
|
|
10
|
-
* This should be treated as an internal API and may change without notice.
|
|
11
|
-
*/
|
|
12
|
-
function getInstanceData(entity) {
|
|
13
|
-
return BaseEntity.getInstanceData(entity);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* The base class for all entities.
|
|
17
|
-
*
|
|
18
|
-
* Currently, this just adds the `.load(lensFn)` method for declarative reference traversal.
|
|
19
|
-
*/
|
|
20
|
-
class BaseEntity {
|
|
21
|
-
static getInstanceData(entity) {
|
|
22
|
-
return entity.__data;
|
|
23
|
-
}
|
|
24
|
-
// We use a protected field so that subclass getters can easily access `this.__data.relations`.
|
|
25
|
-
__data;
|
|
26
|
-
constructor(em, isNew) {
|
|
27
|
-
if (isNew === undefined) {
|
|
28
|
-
throw new Error("Entities must be constructed by calling em.create or em.load");
|
|
29
|
-
}
|
|
30
|
-
// This code path won't be reused for real entities, as they go through the `newEntity`
|
|
31
|
-
// construction process that lazifies the relations.
|
|
32
|
-
baseEntityCstr(em, this, isNew);
|
|
33
|
-
}
|
|
34
|
-
// This gives rules a way to access the fully typed object instead of their Reacted view.
|
|
35
|
-
// And we make it public so that a function that takes Reacted<...> can accept a Loaded<...>
|
|
36
|
-
// that sufficiently overlaps.
|
|
37
|
-
get fullNonReactiveAccess() {
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
/** @returns the entity's id, always untagged, or a runtime error if it's unassigned. */
|
|
41
|
-
get idUntagged() {
|
|
42
|
-
return (0, index_1.deTagId)((0, index_1.getMetadata)(this), this.id);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Returns whether the entity is new.
|
|
46
|
-
*
|
|
47
|
-
* This is not just `this.id === undefined`, because just assigning an id doesn't mean the entity
|
|
48
|
-
* is no longer new; this only flips to `false` after the `flush` transaction has been committed.
|
|
49
|
-
*/
|
|
50
|
-
get isNewEntity() {
|
|
51
|
-
return this.__data.isNewEntity;
|
|
52
|
-
}
|
|
53
|
-
get isDeletedEntity() {
|
|
54
|
-
return this.__data.isDeletedEntity;
|
|
55
|
-
}
|
|
56
|
-
get isDirtyEntity() {
|
|
57
|
-
return this.__data.isDirtyEntity;
|
|
58
|
-
}
|
|
59
|
-
toString() {
|
|
60
|
-
const meta = (0, index_1.getMetadata)(this);
|
|
61
|
-
return toStringWithPrefix(meta, this, meta.type);
|
|
62
|
-
}
|
|
63
|
-
toTaggedString() {
|
|
64
|
-
const meta = (0, index_1.getMetadata)(this);
|
|
65
|
-
return toStringWithPrefix(meta, this, meta.tagName);
|
|
66
|
-
}
|
|
67
|
-
get em() {
|
|
68
|
-
return this.__data.em;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* A very simple toJSON that just returns the id.
|
|
72
|
-
*
|
|
73
|
-
* This is for security reasons, to avoid accidentally logging sensitive data; you
|
|
74
|
-
* can specify more fields, and potentially nested return data, by using passing
|
|
75
|
-
* a {@link JsonHint} to `toJSON`.
|
|
76
|
-
*/
|
|
77
|
-
toJSON() {
|
|
78
|
-
return { id: this.idMaybe || null };
|
|
79
|
-
}
|
|
80
|
-
[Symbol.toStringTag]() {
|
|
81
|
-
return this.toString();
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Hooks into node's `console.log` to avoid sprawling output of our relations/internal state.
|
|
85
|
-
*
|
|
86
|
-
* See https://nodejs.org/api/util.html#custom-inspection-functions-on-objects.
|
|
87
|
-
*/
|
|
88
|
-
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
89
|
-
return this.toString();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
exports.BaseEntity = BaseEntity;
|
|
93
|
-
function toStringWithPrefix(meta, entity, prefix) {
|
|
94
|
-
// Start with `Author` or `a`, depending on the caller
|
|
95
|
-
let result = prefix;
|
|
96
|
-
// Add `#1` if this is an em.create-d entity
|
|
97
|
-
const data = getInstanceData(entity);
|
|
98
|
-
const createId = data.createId;
|
|
99
|
-
if (createId) {
|
|
100
|
-
result += `#${createId}`;
|
|
101
|
-
}
|
|
102
|
-
// Add the `:1` but only after our flush is complete, otherwise the id is
|
|
103
|
-
// internally assigned but not really flushed/committed to the db yet
|
|
104
|
-
const dbId = entity.idTaggedMaybe;
|
|
105
|
-
if (data.pendingOperation !== "insert" && dbId) {
|
|
106
|
-
// Strip the tag because we add back the entity prefix
|
|
107
|
-
result += `:${(0, index_1.keyToNumber)(meta, dbId)}`;
|
|
108
|
-
}
|
|
109
|
-
return result;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* The constructor logic for `BaseEntity` but exposed so that `newEntity` can use it too
|
|
113
|
-
* on its `Object.create`-d instances.
|
|
114
|
-
*/
|
|
115
|
-
function baseEntityCstr(em, entity, isNew) {
|
|
116
|
-
const data = new index_1.InstanceData(em, entity.constructor.metadata, isNew);
|
|
117
|
-
// This makes it non-enumerable to avoid Jest/recursive things tripping over it
|
|
118
|
-
Object.defineProperty(entity, "__data", { value: data, enumerable: false, writable: false, configurable: false });
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=BaseEntity.js.map
|
package/build/BaseEntity.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ExpressionFilter } from "./EntityFilter";
|
|
2
|
-
import { ColumnCondition, ParsedExpressionFilter, ParsedValueFilter, RawCondition } from "./QueryParser";
|
|
3
|
-
import { Column } from "./serde";
|
|
4
|
-
type PartialSome<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
5
|
-
/** Converts domain-level values like string ids/enums into their db equivalent. */
|
|
6
|
-
export declare class ConditionBuilder {
|
|
7
|
-
/** Simple, single-column conditions, which will be AND-d together. */
|
|
8
|
-
private conditions;
|
|
9
|
-
/** Complex expressions, which will also be AND-d together with `conditions`. */
|
|
10
|
-
private expressions;
|
|
11
|
-
/** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */
|
|
12
|
-
maybeAddExpression(expression: ExpressionFilter): void;
|
|
13
|
-
/** Adds an already-db-level condition to the simple conditions list. */
|
|
14
|
-
addSimpleCondition(condition: ColumnCondition): void;
|
|
15
|
-
/** Adds an already-db-level condition to the simple conditions list. */
|
|
16
|
-
addRawCondition(condition: PartialSome<RawCondition, "kind" | "bindings">): void;
|
|
17
|
-
/** Adds an already-db-level expression to the expressions list. */
|
|
18
|
-
addParsedExpression(parsed: ParsedExpressionFilter): void;
|
|
19
|
-
/**
|
|
20
|
-
* Adds a user-facing `ParsedValueFilter` to the inline conditions.
|
|
21
|
-
*
|
|
22
|
-
* Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
|
|
23
|
-
*/
|
|
24
|
-
addValueFilter(alias: string, column: Column, filter: ParsedValueFilter<any>): void;
|
|
25
|
-
/** Combines our collected `conditions` & `expressions` into a single `ParsedExpressionFilter`. */
|
|
26
|
-
toExpressionFilter(): ParsedExpressionFilter | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Finds `child.column.eq(...)` complex conditions that need pushed down into each lateral join.
|
|
29
|
-
*
|
|
30
|
-
* Once we find something like `{ column: "first_name", cond: { eq: "a1" } }`, we return it to the
|
|
31
|
-
* caller (for injection into the lateral join's `SELECT` clause), and replace it with a boolean
|
|
32
|
-
* expression that is basically "did any of my children match this condition?".
|
|
33
|
-
*
|
|
34
|
-
* We also assume that `findAndRewrite` is only called on the top-level/user-facing `ParsedFindQuery`,
|
|
35
|
-
* and not any intermediate `CteJoinTable` queries (which are allowed to have their own
|
|
36
|
-
* `ConditionBuilder`s for building their internal query, but it's not exposed to the user,
|
|
37
|
-
* so won't have any truly-complex conditions that should need rewritten).
|
|
38
|
-
*
|
|
39
|
-
* @param topLevelLateralJoin the outermost lateral join alias, as that will be the only alias
|
|
40
|
-
* that is visible to the rewritten condition, i.e. `_alias._whatever_condition_`.
|
|
41
|
-
* @param alias the alias being "hidden" in a lateral join, and so its columns/data won't be
|
|
42
|
-
* available for the top-level condition to directly AND/OR against.
|
|
43
|
-
*/
|
|
44
|
-
findAndRewrite(topLevelLateralJoin: string, alias: string): {
|
|
45
|
-
cond: ColumnCondition;
|
|
46
|
-
as: string;
|
|
47
|
-
}[];
|
|
48
|
-
}
|
|
49
|
-
export {};
|
|
50
|
-
//# sourceMappingURL=ConditionBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../src/ConditionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EACL,eAAe,EAGf,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,mFAAmF;AACnF,qBAAa,gBAAgB;IAC3B,sEAAsE;IACtE,OAAO,CAAC,UAAU,CAA0C;IAC5D,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAAgC;IAEnD,2FAA2F;IAC3F,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAKtD,wEAAwE;IACxE,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAIpD,wEAAwE;IACxE,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,IAAI;IAQhF,mEAAmE;IACnE,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIzD;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI;IAoCnF,kGAAkG;IAClG,kBAAkB,IAAI,sBAAsB,GAAG,SAAS;IAexD;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE;CA4CpG"}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConditionBuilder = void 0;
|
|
4
|
-
const EntityManager_1 = require("./EntityManager");
|
|
5
|
-
const QueryParser_1 = require("./QueryParser");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
/** Converts domain-level values like string ids/enums into their db equivalent. */
|
|
8
|
-
class ConditionBuilder {
|
|
9
|
-
/** Simple, single-column conditions, which will be AND-d together. */
|
|
10
|
-
conditions = [];
|
|
11
|
-
/** Complex expressions, which will also be AND-d together with `conditions`. */
|
|
12
|
-
expressions = [];
|
|
13
|
-
/** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */
|
|
14
|
-
maybeAddExpression(expression) {
|
|
15
|
-
const parsed = parseExpression(expression);
|
|
16
|
-
if (parsed)
|
|
17
|
-
this.expressions.push(parsed);
|
|
18
|
-
}
|
|
19
|
-
/** Adds an already-db-level condition to the simple conditions list. */
|
|
20
|
-
addSimpleCondition(condition) {
|
|
21
|
-
this.conditions.push(condition);
|
|
22
|
-
}
|
|
23
|
-
/** Adds an already-db-level condition to the simple conditions list. */
|
|
24
|
-
addRawCondition(condition) {
|
|
25
|
-
this.conditions.push({
|
|
26
|
-
kind: "raw",
|
|
27
|
-
bindings: [],
|
|
28
|
-
...condition,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
/** Adds an already-db-level expression to the expressions list. */
|
|
32
|
-
addParsedExpression(parsed) {
|
|
33
|
-
this.expressions.push(parsed);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Adds a user-facing `ParsedValueFilter` to the inline conditions.
|
|
37
|
-
*
|
|
38
|
-
* Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
|
|
39
|
-
*/
|
|
40
|
-
addValueFilter(alias, column, filter) {
|
|
41
|
-
if (filter.kind === "in" && filter.value.includes(null)) {
|
|
42
|
-
// If the filter contains a null, we need to split it into an `is-null` and `in` condition
|
|
43
|
-
const isNull = {
|
|
44
|
-
kind: "column",
|
|
45
|
-
alias,
|
|
46
|
-
column: column.columnName,
|
|
47
|
-
dbType: column.dbType,
|
|
48
|
-
cond: { kind: "is-null" },
|
|
49
|
-
};
|
|
50
|
-
const inValues = {
|
|
51
|
-
kind: "column",
|
|
52
|
-
alias,
|
|
53
|
-
column: column.columnName,
|
|
54
|
-
dbType: column.dbType,
|
|
55
|
-
cond: {
|
|
56
|
-
kind: "in",
|
|
57
|
-
// Filter out the nulls from the in condition
|
|
58
|
-
value: filter.value.filter((v) => v !== null).map((v) => column.mapToDb(v)),
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
// Now OR them back together
|
|
62
|
-
this.expressions.push({ kind: "exp", op: "or", conditions: [isNull, inValues] });
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
const cond = {
|
|
66
|
-
kind: "column",
|
|
67
|
-
alias,
|
|
68
|
-
column: column.columnName,
|
|
69
|
-
dbType: column.dbType,
|
|
70
|
-
// Rewrite the user-facing domain values to db values
|
|
71
|
-
cond: (0, QueryParser_1.mapToDb)(column, filter),
|
|
72
|
-
};
|
|
73
|
-
this.conditions.push(cond);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/** Combines our collected `conditions` & `expressions` into a single `ParsedExpressionFilter`. */
|
|
77
|
-
toExpressionFilter() {
|
|
78
|
-
const { expressions, conditions } = this;
|
|
79
|
-
if (conditions.length === 0 && expressions.length === 1) {
|
|
80
|
-
// If no inline conditions, and just 1 opt expression, just use that
|
|
81
|
-
return expressions[0];
|
|
82
|
-
}
|
|
83
|
-
else if (expressions.length === 1 && expressions[0].op === "and") {
|
|
84
|
-
// Merge the 1 `AND` expression with the other simple conditions
|
|
85
|
-
return { kind: "exp", op: "and", conditions: [...conditions, ...expressions[0].conditions] };
|
|
86
|
-
}
|
|
87
|
-
else if (conditions.length > 0 || expressions.length > 0) {
|
|
88
|
-
// Combine the conditions within the `em.find` join literal & the `conditions` as ANDs
|
|
89
|
-
return { kind: "exp", op: "and", conditions: [...conditions, ...expressions] };
|
|
90
|
-
}
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Finds `child.column.eq(...)` complex conditions that need pushed down into each lateral join.
|
|
95
|
-
*
|
|
96
|
-
* Once we find something like `{ column: "first_name", cond: { eq: "a1" } }`, we return it to the
|
|
97
|
-
* caller (for injection into the lateral join's `SELECT` clause), and replace it with a boolean
|
|
98
|
-
* expression that is basically "did any of my children match this condition?".
|
|
99
|
-
*
|
|
100
|
-
* We also assume that `findAndRewrite` is only called on the top-level/user-facing `ParsedFindQuery`,
|
|
101
|
-
* and not any intermediate `CteJoinTable` queries (which are allowed to have their own
|
|
102
|
-
* `ConditionBuilder`s for building their internal query, but it's not exposed to the user,
|
|
103
|
-
* so won't have any truly-complex conditions that should need rewritten).
|
|
104
|
-
*
|
|
105
|
-
* @param topLevelLateralJoin the outermost lateral join alias, as that will be the only alias
|
|
106
|
-
* that is visible to the rewritten condition, i.e. `_alias._whatever_condition_`.
|
|
107
|
-
* @param alias the alias being "hidden" in a lateral join, and so its columns/data won't be
|
|
108
|
-
* available for the top-level condition to directly AND/OR against.
|
|
109
|
-
*/
|
|
110
|
-
findAndRewrite(topLevelLateralJoin, alias) {
|
|
111
|
-
let j = 0;
|
|
112
|
-
const found = [];
|
|
113
|
-
const todo = [this.conditions];
|
|
114
|
-
for (const exp of this.expressions)
|
|
115
|
-
todo.push(exp.conditions);
|
|
116
|
-
while (todo.length > 0) {
|
|
117
|
-
const array = todo.pop();
|
|
118
|
-
array.forEach((cond, i) => {
|
|
119
|
-
if (cond.kind === "column") {
|
|
120
|
-
// Use startsWith to look for `_b0` / `_s0` base/subtype conditions
|
|
121
|
-
if (cond.alias === alias || cond.alias.startsWith(`${alias}_`)) {
|
|
122
|
-
if (cond.column === "_")
|
|
123
|
-
return; // Hack to skip rewriting `alias._ > 0`
|
|
124
|
-
const as = `_${alias}_${cond.column}_${j++}`;
|
|
125
|
-
array[i] = {
|
|
126
|
-
kind: "raw",
|
|
127
|
-
aliases: [topLevelLateralJoin],
|
|
128
|
-
condition: `${topLevelLateralJoin}.${as}`,
|
|
129
|
-
bindings: [],
|
|
130
|
-
pruneable: false,
|
|
131
|
-
...{ rewritten: true },
|
|
132
|
-
};
|
|
133
|
-
found.push({ cond, as });
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else if (cond.kind === "exp") {
|
|
137
|
-
todo.push(cond.conditions);
|
|
138
|
-
}
|
|
139
|
-
else if (cond.kind === "raw") {
|
|
140
|
-
// what would we do here?
|
|
141
|
-
if (cond.aliases.includes(alias)) {
|
|
142
|
-
// Look for a hacky hint that this is our own already-rewritten query; this is likely
|
|
143
|
-
// because `findAndRewrite` is mutating condition expressions that get passed into
|
|
144
|
-
// `parseFindQuery` multiple times, i.e. while batching/dataloading.
|
|
145
|
-
//
|
|
146
|
-
// ...although in theory parseExpression should already be making a copy of any user-facing
|
|
147
|
-
// `em.find` conditions. :thinking:
|
|
148
|
-
if ("rewritten" in cond)
|
|
149
|
-
return;
|
|
150
|
-
throw new Error("Joist doesn't support raw conditions in lateral joins yet");
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
(0, utils_1.assertNever)(cond);
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
return found;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
exports.ConditionBuilder = ConditionBuilder;
|
|
162
|
-
/** Parses user-facing `{ and: ... }` or `{ or: ... }` into a `ParsedExpressionFilter`. */
|
|
163
|
-
function parseExpression(expression) {
|
|
164
|
-
// Look for `{ and: [...] }` or `{ or: [...] }`
|
|
165
|
-
const [op, expressions] = "and" in expression && expression.and
|
|
166
|
-
? ["and", expression.and]
|
|
167
|
-
: "or" in expression && expression.or
|
|
168
|
-
? ["or", expression.or]
|
|
169
|
-
: fail(`Invalid expression ${expression}`);
|
|
170
|
-
// Potentially recurse into nested expressions
|
|
171
|
-
const conditions = expressions.map((exp) => (exp && ("and" in exp || "or" in exp) ? parseExpression(exp) : exp));
|
|
172
|
-
const [skip, valid] = (0, utils_1.partition)(conditions, (cond) => cond === undefined || cond === QueryParser_1.skipCondition);
|
|
173
|
-
if ((skip.length > 0 && expression.pruneIfUndefined === "any") || valid.length === 0) {
|
|
174
|
-
return undefined;
|
|
175
|
-
}
|
|
176
|
-
return { kind: "exp", op, conditions: valid.filter(EntityManager_1.isDefined) };
|
|
177
|
-
}
|
|
178
|
-
//# sourceMappingURL=ConditionBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionBuilder.js","sourceRoot":"","sources":["../src/ConditionBuilder.ts"],"names":[],"mappings":"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"}
|
package/build/Entity.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { EntityManager, TaggedId } from "./EntityManager";
|
|
2
|
-
export declare function isEntity(maybeEntity: unknown): maybeEntity is Entity;
|
|
3
|
-
/** All the types we support for entity `id` fields. */
|
|
4
|
-
export type IdType = number | string;
|
|
5
|
-
/** A marker/base interface for all of our entity types. */
|
|
6
|
-
export interface Entity {
|
|
7
|
-
/** The entity id, either tagged or untagged; the per-application `Entity` will specialize appropriately. */
|
|
8
|
-
id: IdType;
|
|
9
|
-
idMaybe: IdType | undefined;
|
|
10
|
-
/** The entity id that is always tagged, regardless of the idType config. */
|
|
11
|
-
idTagged: TaggedId;
|
|
12
|
-
idTaggedMaybe: TaggedId | undefined;
|
|
13
|
-
readonly em: EntityManager;
|
|
14
|
-
readonly isNewEntity: boolean;
|
|
15
|
-
readonly isDeletedEntity: boolean;
|
|
16
|
-
readonly isDirtyEntity: boolean;
|
|
17
|
-
set(opts: unknown): void;
|
|
18
|
-
setPartial(opts: unknown): void;
|
|
19
|
-
setDeepPartial(opts: unknown): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* Returns `type:id`, i.e. `Author:1` for persisted entities and `Author#1` for new entities.
|
|
22
|
-
*
|
|
23
|
-
* Once an entity is persisted, we'll return `Author#1:1` to denote "the previously-new author #1
|
|
24
|
-
* is now authors row id=1 in the database".
|
|
25
|
-
*
|
|
26
|
-
* This is meant to be used for developer-facing logging and debugging, and not a user-facing
|
|
27
|
-
* name / display name.
|
|
28
|
-
*/
|
|
29
|
-
toString(): string;
|
|
30
|
-
/**
|
|
31
|
-
* Returns `tag:id`, i.e. `a:1` for persisted entities and `a#1` for new entities.
|
|
32
|
-
*
|
|
33
|
-
* This is meant to be used for developer-facing logging and debugging, and not a user-facing
|
|
34
|
-
* name / display name.
|
|
35
|
-
*/
|
|
36
|
-
toTaggedString(): string;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=Entity.d.ts.map
|
package/build/Entity.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG1D,wBAAgB,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,IAAI,MAAM,CAEpE;AAED,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAErC,2DAA2D;AAC3D,MAAM,WAAW,MAAM;IACrB,4GAA4G;IAC5G,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;;;;;;;OAQG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;;;;OAKG;IACH,cAAc,IAAI,MAAM,CAAC;CAC1B"}
|
package/build/Entity.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isEntity = isEntity;
|
|
4
|
-
const index_1 = require("./index");
|
|
5
|
-
function isEntity(maybeEntity) {
|
|
6
|
-
return maybeEntity instanceof index_1.BaseEntity;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=Entity.js.map
|
package/build/Entity.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,mCAAqC;AAErC,SAAgB,QAAQ,CAAC,WAAoB;IAC3C,OAAO,WAAW,YAAY,kBAAU,CAAC;AAC3C,CAAC"}
|
package/build/EntityFields.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/** All the fields for an entity in the `FieldsOf` / `EntityField` format. */
|
|
2
|
-
export type EntityFields<T> = {
|
|
3
|
-
[K in keyof T]: EntityField;
|
|
4
|
-
};
|
|
5
|
-
export type EntityField = {
|
|
6
|
-
kind: "primitive";
|
|
7
|
-
type: unknown;
|
|
8
|
-
unique: boolean;
|
|
9
|
-
nullable: never | undefined;
|
|
10
|
-
derived: boolean;
|
|
11
|
-
} | {
|
|
12
|
-
kind: "enum";
|
|
13
|
-
type: unknown;
|
|
14
|
-
nullable: never | unknown;
|
|
15
|
-
} | {
|
|
16
|
-
kind: "m2o";
|
|
17
|
-
type: unknown;
|
|
18
|
-
nullable: never | unknown;
|
|
19
|
-
derived: boolean;
|
|
20
|
-
} | {
|
|
21
|
-
kind: "poly";
|
|
22
|
-
type: unknown;
|
|
23
|
-
nullable: never | unknown;
|
|
24
|
-
};
|
|
25
|
-
/** The subset of primitive, enum, and m2o fields from the `F` that are settable, i.e. not derived. */
|
|
26
|
-
export type SettableFields<F> = {
|
|
27
|
-
[K in keyof F]: F[K] extends {
|
|
28
|
-
kind: "primitive";
|
|
29
|
-
derived: false;
|
|
30
|
-
} ? F[K] : F[K] extends {
|
|
31
|
-
kind: "enum";
|
|
32
|
-
} ? F[K] : F[K] extends {
|
|
33
|
-
kind: "m2o";
|
|
34
|
-
derived: false;
|
|
35
|
-
} ? F[K] : never;
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=EntityFields.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFields.d.ts","sourceRoot":"","sources":["../src/EntityFields.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAA;CAAE,CAAC;AAE/D,sGAAsG;AACtG,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,KAAK,CAAA;KAAE,GAC9D,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAC3B,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,KAAK,CAAA;KAAE,GAC1C,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACd,CAAC"}
|
package/build/EntityFields.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFields.js","sourceRoot":"","sources":["../src/EntityFields.ts"],"names":[],"mappings":""}
|