joist-orm 1.294.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 -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-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/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 -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/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 -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/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
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RecursiveCycleError = exports.RecursiveChildrenCollectionImpl = exports.RecursiveParentsCollectionImpl = void 0;
|
|
4
|
-
exports.hasRecursiveParents = hasRecursiveParents;
|
|
5
|
-
exports.hasRecursiveChildren = hasRecursiveChildren;
|
|
6
|
-
const recursiveChildrenDataLoader_1 = require("../dataloaders/recursiveChildrenDataLoader");
|
|
7
|
-
const recursiveParentsDataLoader_1 = require("../dataloaders/recursiveParentsDataLoader");
|
|
8
|
-
const index_1 = require("../index");
|
|
9
|
-
const newEntity_1 = require("../newEntity");
|
|
10
|
-
const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
|
|
11
|
-
const Relation_1 = require("./Relation");
|
|
12
|
-
/**
|
|
13
|
-
* An alias for creating `RecursiveParentsCollectionImpl`s.
|
|
14
|
-
*
|
|
15
|
-
* I.e. for `Author.mentor` (m2o fk), we can return `Author.mentorsRecursive` recursively looking up.
|
|
16
|
-
*/
|
|
17
|
-
function hasRecursiveParents(m2oName, // i.e. `author.mentor`
|
|
18
|
-
otherFieldName) {
|
|
19
|
-
return (0, newEntity_1.lazyField)((entity, fieldName) => {
|
|
20
|
-
return new RecursiveParentsCollectionImpl(entity, fieldName, m2oName, otherFieldName);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* An alias for creating `RecursiveChildrenCollectionImpl`s.
|
|
25
|
-
*
|
|
26
|
-
* I.e. for `Author.mentees` (o2m), we can return `Author.menteesRecursive` recursively looking down.
|
|
27
|
-
*/
|
|
28
|
-
function hasRecursiveChildren(o2mName, // i.e. `author.mentees`
|
|
29
|
-
otherFieldName) {
|
|
30
|
-
return (0, newEntity_1.lazyField)((entity, fieldName) => {
|
|
31
|
-
return new RecursiveChildrenCollectionImpl(entity, fieldName, o2mName, otherFieldName);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* A base class for the common methods between the parent & children recursive collections.
|
|
36
|
-
*
|
|
37
|
-
* We could probably move some of this into AbstractRelationImpl?
|
|
38
|
-
*/
|
|
39
|
-
class AbstractRecursiveCollectionImpl extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
40
|
-
get get() {
|
|
41
|
-
return this.filterDeleted(this.doGet(), { withDeleted: false });
|
|
42
|
-
}
|
|
43
|
-
get getWithDeleted() {
|
|
44
|
-
return this.filterDeleted(this.doGet(), { withDeleted: true });
|
|
45
|
-
}
|
|
46
|
-
setFromOpts() {
|
|
47
|
-
throw new Error("Method not implemented.");
|
|
48
|
-
}
|
|
49
|
-
set() {
|
|
50
|
-
throw new Error("Method not implemented.");
|
|
51
|
-
}
|
|
52
|
-
get isPreloaded() {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
preload() {
|
|
56
|
-
throw new Error("Method not implemented.");
|
|
57
|
-
}
|
|
58
|
-
cleanupOnEntityDeleted() {
|
|
59
|
-
return Promise.resolve();
|
|
60
|
-
}
|
|
61
|
-
maybeCascadeDelete() { }
|
|
62
|
-
get meta() {
|
|
63
|
-
return (0, index_1.getMetadata)(this.entity);
|
|
64
|
-
}
|
|
65
|
-
/** Removes pending-hard-delete or soft-deleted entities, unless explicitly asked for. */
|
|
66
|
-
filterDeleted(entities, opts) {
|
|
67
|
-
return opts?.withDeleted === true
|
|
68
|
-
? [...entities]
|
|
69
|
-
: entities.filter((e) => !e.isDeletedEntity && !e.isSoftDeletedEntity);
|
|
70
|
-
}
|
|
71
|
-
[Relation_1.RelationT] = null;
|
|
72
|
-
[Relation_1.RelationU] = null;
|
|
73
|
-
}
|
|
74
|
-
class RecursiveParentsCollectionImpl extends AbstractRecursiveCollectionImpl {
|
|
75
|
-
#fieldName;
|
|
76
|
-
#m2oName;
|
|
77
|
-
#otherFieldName;
|
|
78
|
-
#loaded = undefined;
|
|
79
|
-
constructor(entity, fieldName, m2oName, otherFieldName) {
|
|
80
|
-
super(entity);
|
|
81
|
-
this.#fieldName = fieldName;
|
|
82
|
-
this.#m2oName = m2oName;
|
|
83
|
-
this.#otherFieldName = otherFieldName;
|
|
84
|
-
}
|
|
85
|
-
// opts is an internal parameter
|
|
86
|
-
async load(opts = {}) {
|
|
87
|
-
(0, index_1.ensureNotDeleted)(this.entity, "pending");
|
|
88
|
-
if (!this.isLoaded || opts.forceReload) {
|
|
89
|
-
// If we have `[grandchild, newlyCreatedParent, existingGrandparent, ...more...]`, skip up to the
|
|
90
|
-
// `existingGrandparent`, because if we `.load(entity)` (i.e. where we are the `grandchild`) then
|
|
91
|
-
// recursiveParentsDataLoader will try CTE query up from `grandchild[parent]`, but since that will
|
|
92
|
-
// be `newlyCreatedParent`, it doesn't have an id yet.
|
|
93
|
-
const entityToLoad = opts.forceReload ? this.entity : this.findUnloadedReference()?.entity;
|
|
94
|
-
if (entityToLoad && !entityToLoad.isNewEntity) {
|
|
95
|
-
await (0, recursiveParentsDataLoader_1.recursiveParentsDataLoader)(this.entity.em, this)
|
|
96
|
-
.load(entityToLoad)
|
|
97
|
-
.catch(function load(err) {
|
|
98
|
-
throw (0, index_1.appendStack)(err, new Error());
|
|
99
|
-
});
|
|
100
|
-
// See if there are any WIP changes, i.e. new parents, that the ^ SQL query didn't know to load.
|
|
101
|
-
// We don't have to `while` loop this, because if parent itself has WIP changes above it, then
|
|
102
|
-
// its own `RecursiveParentsCollectionImpl.load` will load it, before returning to this method.
|
|
103
|
-
const unloadedParent = this.findUnloadedReference();
|
|
104
|
-
if (unloadedParent) {
|
|
105
|
-
await (0, recursiveParentsDataLoader_1.recursiveParentsDataLoader)(this.entity.em, this)
|
|
106
|
-
.load(unloadedParent.entity)
|
|
107
|
-
.catch(function load(err) {
|
|
108
|
-
throw (0, index_1.appendStack)(err, new Error());
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
this.#loaded = true;
|
|
113
|
-
}
|
|
114
|
-
return this.filterDeleted(this.doGet(), opts);
|
|
115
|
-
}
|
|
116
|
-
get isLoaded() {
|
|
117
|
-
if (this.#loaded !== undefined)
|
|
118
|
-
return this.#loaded;
|
|
119
|
-
this.#loaded = this.findUnloadedReference() === undefined;
|
|
120
|
-
(0, index_1.getEmInternalApi)(this.entity.em).isLoadedCache.addNaive(this);
|
|
121
|
-
return this.#loaded;
|
|
122
|
-
}
|
|
123
|
-
resetIsLoaded() {
|
|
124
|
-
this.#loaded = undefined;
|
|
125
|
-
}
|
|
126
|
-
get fieldName() {
|
|
127
|
-
return this.#fieldName;
|
|
128
|
-
}
|
|
129
|
-
get m2oFieldName() {
|
|
130
|
-
return this.#m2oName;
|
|
131
|
-
}
|
|
132
|
-
get otherFieldName() {
|
|
133
|
-
return this.#otherFieldName;
|
|
134
|
-
}
|
|
135
|
-
get hasBeenSet() {
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
toString() {
|
|
139
|
-
return `RecursiveParentsCollectionImpl(entity: ${this.entity}, fieldName: ${this.fieldName})`;
|
|
140
|
-
}
|
|
141
|
-
doGet() {
|
|
142
|
-
(0, index_1.ensureNotDeleted)(this.entity, "pending");
|
|
143
|
-
const unloaded = this.findUnloadedReference();
|
|
144
|
-
if (unloaded) {
|
|
145
|
-
throw new Error(this.toString() + `.get was called but ${unloaded} was not loaded`);
|
|
146
|
-
}
|
|
147
|
-
const parents = [];
|
|
148
|
-
const visited = new Set();
|
|
149
|
-
for (let current = getLoadedReference(this.entity[this.#m2oName]); current !== undefined; current = getLoadedReference(current[this.#m2oName])) {
|
|
150
|
-
parents.push(current);
|
|
151
|
-
if (visited.has(current))
|
|
152
|
-
throw new RecursiveCycleError(this, [...visited, current]);
|
|
153
|
-
visited.add(current);
|
|
154
|
-
}
|
|
155
|
-
return parents;
|
|
156
|
-
}
|
|
157
|
-
findUnloadedReference() {
|
|
158
|
-
const visited = new Set();
|
|
159
|
-
for (let current = this.entity; current !== undefined; current = getLoadedReference(current[this.#m2oName])) {
|
|
160
|
-
const relation = current[this.#m2oName];
|
|
161
|
-
if ((0, index_1.isReference)(relation) && !(0, index_1.isLoadedReference)(relation))
|
|
162
|
-
return relation;
|
|
163
|
-
if (visited.has(current))
|
|
164
|
-
throw new RecursiveCycleError(this, [...visited, current]);
|
|
165
|
-
visited.add(current);
|
|
166
|
-
}
|
|
167
|
-
return undefined;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
exports.RecursiveParentsCollectionImpl = RecursiveParentsCollectionImpl;
|
|
171
|
-
class RecursiveChildrenCollectionImpl extends AbstractRecursiveCollectionImpl {
|
|
172
|
-
#fieldName;
|
|
173
|
-
#o2mName;
|
|
174
|
-
#otherFieldName;
|
|
175
|
-
#loaded = undefined;
|
|
176
|
-
constructor(entity, fieldName, o2mName, otherFieldName) {
|
|
177
|
-
super(entity);
|
|
178
|
-
this.#fieldName = fieldName;
|
|
179
|
-
this.#o2mName = o2mName;
|
|
180
|
-
this.#otherFieldName = otherFieldName;
|
|
181
|
-
}
|
|
182
|
-
// opts is an internal parameter
|
|
183
|
-
async load(opts = {}) {
|
|
184
|
-
(0, index_1.ensureNotDeleted)(this.entity, "pending");
|
|
185
|
-
if (!this.isLoaded || opts.forceReload) {
|
|
186
|
-
if (!this.entity.isNewEntity) {
|
|
187
|
-
await (0, recursiveChildrenDataLoader_1.recursiveChildrenDataLoader)(this.entity.em, this)
|
|
188
|
-
.load(this.entity)
|
|
189
|
-
.catch(function load(err) {
|
|
190
|
-
throw (0, index_1.appendStack)(err, new Error());
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
const unloaded = this.findUnloadedCollections();
|
|
194
|
-
if (unloaded.length > 0) {
|
|
195
|
-
// Go through the entities own `fooRecursive` collection so that it's marked as loaded.
|
|
196
|
-
// We don't have to `while` loop this, because if they children themselves have any WIP
|
|
197
|
-
// changes, then their own `RecursiveChildrenCollectionImpl.load` will load them.
|
|
198
|
-
await Promise.all(unloaded.map((r) => r.entity[this.fieldName].load(opts)));
|
|
199
|
-
}
|
|
200
|
-
this.#loaded = true;
|
|
201
|
-
}
|
|
202
|
-
return this.filterDeleted(this.doGet(), opts);
|
|
203
|
-
}
|
|
204
|
-
get isLoaded() {
|
|
205
|
-
if (this.#loaded !== undefined)
|
|
206
|
-
return this.#loaded;
|
|
207
|
-
this.#loaded = this.findUnloadedCollections().length === 0;
|
|
208
|
-
(0, index_1.getEmInternalApi)(this.entity.em).isLoadedCache.addNaive(this);
|
|
209
|
-
return this.#loaded;
|
|
210
|
-
}
|
|
211
|
-
resetIsLoaded() {
|
|
212
|
-
this.#loaded = undefined;
|
|
213
|
-
}
|
|
214
|
-
get fieldName() {
|
|
215
|
-
return this.#fieldName;
|
|
216
|
-
}
|
|
217
|
-
get o2mFieldName() {
|
|
218
|
-
return this.#o2mName;
|
|
219
|
-
}
|
|
220
|
-
get otherFieldName() {
|
|
221
|
-
return this.#otherFieldName;
|
|
222
|
-
}
|
|
223
|
-
get hasBeenSet() {
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
toString() {
|
|
227
|
-
return `RecursiveChildrenCollectionImpl(entity: ${this.entity}, fieldName: ${this.fieldName})`;
|
|
228
|
-
}
|
|
229
|
-
doGet() {
|
|
230
|
-
(0, index_1.ensureNotDeleted)(this.entity, "pending");
|
|
231
|
-
if (!this.isLoaded) {
|
|
232
|
-
throw new Error(this.toString() + `.get was called but when not loaded`);
|
|
233
|
-
}
|
|
234
|
-
const children = [];
|
|
235
|
-
const visited = new Set();
|
|
236
|
-
// Use a node+path combo to know which path caused the cycle
|
|
237
|
-
const todo = [{ relation: this.entity[this.#o2mName], path: [this.entity] }];
|
|
238
|
-
while (todo.length > 0) {
|
|
239
|
-
const { relation, path } = todo.pop();
|
|
240
|
-
if (visited.has(relation))
|
|
241
|
-
throw new RecursiveCycleError(this, path);
|
|
242
|
-
visited.add(relation);
|
|
243
|
-
for (const child of getLoadedCollection(relation)) {
|
|
244
|
-
children.push(child);
|
|
245
|
-
todo.push({ relation: child[this.#o2mName], path: [...path, child] });
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
return children;
|
|
249
|
-
}
|
|
250
|
-
/** Finds any children/downstream o2m collections or o2o references. */
|
|
251
|
-
findUnloadedCollections() {
|
|
252
|
-
const visited = new Set();
|
|
253
|
-
const unloaded = [];
|
|
254
|
-
const todo = [{ relation: this.entity[this.#o2mName], path: [this.entity] }];
|
|
255
|
-
while (todo.length > 0) {
|
|
256
|
-
const { relation, path } = todo.pop();
|
|
257
|
-
if (visited.has(relation))
|
|
258
|
-
throw new RecursiveCycleError(this, path);
|
|
259
|
-
visited.add(relation);
|
|
260
|
-
if ((0, index_1.isCollection)(relation) && !(0, index_1.isLoadedCollection)(relation)) {
|
|
261
|
-
unloaded.push(relation);
|
|
262
|
-
}
|
|
263
|
-
else if ((0, index_1.isOneToOneReference)(relation) && !(0, index_1.isLoadedOneToOneReference)(relation)) {
|
|
264
|
-
unloaded.push(relation);
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
for (const child of getLoadedCollection(relation)) {
|
|
268
|
-
todo.push({ relation: child[this.#o2mName], path: [...path, child] });
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
return unloaded;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
exports.RecursiveChildrenCollectionImpl = RecursiveChildrenCollectionImpl;
|
|
276
|
-
function getLoadedReference(relation) {
|
|
277
|
-
return (0, index_1.isLoadedReference)(relation) ? relation.get : (0, index_1.fail)(`${relation} was not loaded`);
|
|
278
|
-
}
|
|
279
|
-
function getLoadedCollection(relation) {
|
|
280
|
-
return (0, index_1.isLoadedCollection)(relation)
|
|
281
|
-
? relation.get
|
|
282
|
-
: (0, index_1.isLoadedOneToOneReference)(relation)
|
|
283
|
-
? relation.get
|
|
284
|
-
? [relation.get]
|
|
285
|
-
: []
|
|
286
|
-
: (0, index_1.fail)(`${relation} was not loaded`);
|
|
287
|
-
}
|
|
288
|
-
class RecursiveCycleError extends Error {
|
|
289
|
-
entities = [];
|
|
290
|
-
constructor(relation, entities) {
|
|
291
|
-
super(`Cycle detected in ${relation.entity.toString()}.${relation.fieldName}`);
|
|
292
|
-
this.entities = entities;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
exports.RecursiveCycleError = RecursiveCycleError;
|
|
296
|
-
//# sourceMappingURL=RecursiveCollection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RecursiveCollection.js","sourceRoot":"","sources":["../../src/relations/RecursiveCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Entity } from "../Entity";
|
|
2
|
-
import { IdOf, TaggedId } from "../EntityManager";
|
|
3
|
-
import { Relation } from "./index";
|
|
4
|
-
export declare const ReferenceN: unique symbol;
|
|
5
|
-
/**
|
|
6
|
-
* A many-to-one / foreign key from `T` to `U`, i.e. book to author.
|
|
7
|
-
*
|
|
8
|
-
* The `N` generic is for whether the field is optional (i.e. the foreign key column is
|
|
9
|
-
* nullable). If it is optional, `N` will be `undefined`, which makes the return types
|
|
10
|
-
* `U | undefined`. If it is not optional, `N` will be `never`, making the return types
|
|
11
|
-
* `U | never` which becomes just `U`.
|
|
12
|
-
*/
|
|
13
|
-
export interface Reference<T extends Entity, U extends Entity, N extends never | undefined> extends Relation<T, U> {
|
|
14
|
-
[ReferenceN]: N;
|
|
15
|
-
readonly isLoaded: boolean;
|
|
16
|
-
load(opts?: {
|
|
17
|
-
withDeleted?: boolean;
|
|
18
|
-
forceReload?: true;
|
|
19
|
-
}): Promise<U | N>;
|
|
20
|
-
set(other: U | N): void;
|
|
21
|
-
/** Returns the always-tagged id of the current value, or undefined if unset or new. */
|
|
22
|
-
idTaggedMaybe: TaggedId | undefined;
|
|
23
|
-
}
|
|
24
|
-
/** Adds a known-safe `get` accessor. */
|
|
25
|
-
export interface LoadedReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<T, U, N> {
|
|
26
|
-
id: IdOf<U> | N;
|
|
27
|
-
get: U | N;
|
|
28
|
-
getWithDeleted: U | N;
|
|
29
|
-
isSet: boolean;
|
|
30
|
-
}
|
|
31
|
-
/** Type guard utility for determining if an entity field is a Reference. */
|
|
32
|
-
export declare function isReference(maybeReference: any): maybeReference is Reference<any, any, any>;
|
|
33
|
-
/** Type guard utility for determining if an entity field is a loaded Reference. */
|
|
34
|
-
export declare function isLoadedReference(maybeReference: any): maybeReference is Reference<any, any, any> & LoadedReference<any, any, any>;
|
|
35
|
-
//# sourceMappingURL=Reference.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../src/relations/Reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAML,QAAQ,EACT,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,UAAU,eAAW,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,KAAK,GAAG,SAAS,CAAE,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAGhB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3E,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAExB,uFAAuF;IACvF,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC;CACrC;AAED,wCAAwC;AACxC,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,KAAK,GAAG,SAAS,CAC9F,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAQ1B,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEhB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAEX,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;IAItB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,cAAc,EAAE,GAAG,GAAG,cAAc,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAQ3F;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,GAAG,GAClB,cAAc,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAE7E"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReferenceN = void 0;
|
|
4
|
-
exports.isReference = isReference;
|
|
5
|
-
exports.isLoadedReference = isLoadedReference;
|
|
6
|
-
const index_1 = require("./index");
|
|
7
|
-
// Exported and used in sub-interfaces/types per https://stackoverflow.com/a/70437874/355031
|
|
8
|
-
exports.ReferenceN = Symbol();
|
|
9
|
-
/** Type guard utility for determining if an entity field is a Reference. */
|
|
10
|
-
function isReference(maybeReference) {
|
|
11
|
-
return (maybeReference instanceof index_1.OneToOneReferenceImpl ||
|
|
12
|
-
maybeReference instanceof index_1.ManyToOneReferenceImpl ||
|
|
13
|
-
maybeReference instanceof index_1.ReactiveReferenceImpl ||
|
|
14
|
-
maybeReference instanceof index_1.CustomReference ||
|
|
15
|
-
maybeReference instanceof index_1.PolymorphicReferenceImpl);
|
|
16
|
-
}
|
|
17
|
-
/** Type guard utility for determining if an entity field is a loaded Reference. */
|
|
18
|
-
function isLoadedReference(maybeReference) {
|
|
19
|
-
return isReference(maybeReference) && maybeReference.isLoaded;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=Reference.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../src/relations/Reference.ts"],"names":[],"mappings":";;;AA0DA,kCAQC;AAGD,8CAIC;AAvED,mCAOiB;AAEjB,4FAA4F;AAC/E,QAAA,UAAU,GAAG,MAAM,EAAE,CAAC;AA6CnC,4EAA4E;AAC5E,SAAgB,WAAW,CAAC,cAAmB;IAC7C,OAAO,CACL,cAAc,YAAY,6BAAqB;QAC/C,cAAc,YAAY,8BAAsB;QAChD,cAAc,YAAY,6BAAqB;QAC/C,cAAc,YAAY,uBAAe;QACzC,cAAc,YAAY,gCAAwB,CACnD,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAgB,iBAAiB,CAC/B,cAAmB;IAEnB,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC;AAChE,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Entity } from "../Entity";
|
|
2
|
-
export declare const RelationT: unique symbol;
|
|
3
|
-
export declare const RelationU: unique symbol;
|
|
4
|
-
/** A relationship from `T` to `U`, could be any of many-to-one, one-to-many, or many-to-many. */
|
|
5
|
-
export interface Relation<T extends Entity, U extends Entity> {
|
|
6
|
-
[RelationT]: T;
|
|
7
|
-
[RelationU]: U;
|
|
8
|
-
isLoaded: boolean;
|
|
9
|
-
entity: Entity;
|
|
10
|
-
hasBeenSet: boolean;
|
|
11
|
-
}
|
|
12
|
-
/** Type guard utility for determining if an entity field is a Relation. */
|
|
13
|
-
export declare function isRelation(maybeRelation: any): maybeRelation is Relation<any, any>;
|
|
14
|
-
//# sourceMappingURL=Relation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../src/relations/Relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,eAAO,MAAM,SAAS,eAAW,CAAC;AAClC,eAAO,MAAM,SAAS,eAAW,CAAC;AAElC,iGAAiG;AACjG,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM;IAO1D,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,aAAa,EAAE,GAAG,GAAG,aAAa,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAElF"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RelationU = exports.RelationT = void 0;
|
|
4
|
-
exports.isRelation = isRelation;
|
|
5
|
-
const index_1 = require("./index");
|
|
6
|
-
exports.RelationT = Symbol();
|
|
7
|
-
exports.RelationU = Symbol();
|
|
8
|
-
/** Type guard utility for determining if an entity field is a Relation. */
|
|
9
|
-
function isRelation(maybeRelation) {
|
|
10
|
-
return (0, index_1.isReference)(maybeRelation) || (0, index_1.isCollection)(maybeRelation);
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=Relation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../src/relations/Relation.ts"],"names":[],"mappings":";;;AAsBA,gCAEC;AAvBD,mCAAoD;AAEvC,QAAA,SAAS,GAAG,MAAM,EAAE,CAAC;AACrB,QAAA,SAAS,GAAG,MAAM,EAAE,CAAC;AAiBlC,2EAA2E;AAC3E,SAAgB,UAAU,CAAC,aAAkB;IAC3C,OAAO,IAAA,mBAAW,EAAC,aAAa,CAAC,IAAI,IAAA,oBAAY,EAAC,aAAa,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Entity } from "../Entity";
|
|
2
|
-
import { LoadHint, Loaded } from "../loadHints";
|
|
3
|
-
declare const AsyncMethodM: unique symbol;
|
|
4
|
-
export declare const AsyncMethodPopulateSecret: unique symbol;
|
|
5
|
-
export interface AsyncMethod<T extends Entity, A extends unknown[], V> {
|
|
6
|
-
[AsyncMethodM]: undefined;
|
|
7
|
-
isLoaded: boolean;
|
|
8
|
-
load(...args: A): Promise<V>;
|
|
9
|
-
}
|
|
10
|
-
export interface LoadedMethod<T extends Entity, A extends unknown[], V> {
|
|
11
|
-
call(...args: A): V;
|
|
12
|
-
}
|
|
13
|
-
export declare function hasAsyncMethod<T extends Entity, const H extends LoadHint<T>, A extends unknown[], V>(loadHint: H, fn: (entity: Loaded<T, H>, ...args: A) => V): AsyncMethod<T, A, V>;
|
|
14
|
-
export declare class AsyncMethodImpl<T extends Entity, H extends LoadHint<T>, A extends unknown[], V> implements AsyncMethod<T, A, V> {
|
|
15
|
-
#private;
|
|
16
|
-
private fn;
|
|
17
|
-
private loaded;
|
|
18
|
-
private loadPromise;
|
|
19
|
-
constructor(entity: T, hint: H, fn: (entity: Loaded<T, H>, ...args: A) => V);
|
|
20
|
-
/** Args might be either the user-provided args, or the populate `opts` if we're being preloaded. */
|
|
21
|
-
load(...args: A): Promise<V>;
|
|
22
|
-
call(...args: A): V;
|
|
23
|
-
get isLoaded(): boolean;
|
|
24
|
-
[AsyncMethodM]: undefined;
|
|
25
|
-
}
|
|
26
|
-
export {};
|
|
27
|
-
//# sourceMappingURL=hasAsyncMethod.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hasAsyncMethod.d.ts","sourceRoot":"","sources":["../../src/relations/hasAsyncMethod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,cAAc,CAAC;AAG1D,QAAA,MAAM,YAAY,eAAW,CAAC;AAC9B,eAAO,MAAM,yBAAyB,eAAW,CAAC;AAElD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC;IAEnE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC;IACpE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClG,QAAQ,EAAE,CAAC,EACX,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAC1C,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAItB;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,CAC1F,YAAW,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;IAU7B,OAAO,CAAC,EAAE;IARZ,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAA2B;gBAK5C,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,EACC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC;IAMrD,oGAAoG;IAC9F,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUlC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC;IAOnB,IAAI,QAAQ,YAEX;IAED,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;CAC3B"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AsyncMethodImpl = exports.AsyncMethodPopulateSecret = void 0;
|
|
4
|
-
exports.hasAsyncMethod = hasAsyncMethod;
|
|
5
|
-
const loadHints_1 = require("../loadHints");
|
|
6
|
-
const newEntity_1 = require("../newEntity");
|
|
7
|
-
const AsyncMethodM = Symbol();
|
|
8
|
-
exports.AsyncMethodPopulateSecret = Symbol();
|
|
9
|
-
function hasAsyncMethod(loadHint, fn) {
|
|
10
|
-
return (0, newEntity_1.lazyField)((entity) => {
|
|
11
|
-
return new AsyncMethodImpl(entity, loadHint, fn);
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
class AsyncMethodImpl {
|
|
15
|
-
fn;
|
|
16
|
-
loaded = false;
|
|
17
|
-
loadPromise;
|
|
18
|
-
#entity;
|
|
19
|
-
#hint;
|
|
20
|
-
constructor(entity, hint, fn) {
|
|
21
|
-
this.fn = fn;
|
|
22
|
-
this.#entity = entity;
|
|
23
|
-
this.#hint = hint;
|
|
24
|
-
}
|
|
25
|
-
/** Args might be either the user-provided args, or the populate `opts` if we're being preloaded. */
|
|
26
|
-
async load(...args) {
|
|
27
|
-
// Are we being called by `em.populate`? If so, we don't have the real args, so avoid invoking fn
|
|
28
|
-
const isPopulate = args && typeof args[0] === "object" && exports.AsyncMethodPopulateSecret in args[0];
|
|
29
|
-
if (!this.loaded) {
|
|
30
|
-
this.loadPromise ??= this.#entity.em.populate(this.#entity, this.#hint).then((loaded) => (this.loaded = true));
|
|
31
|
-
await this.loadPromise;
|
|
32
|
-
}
|
|
33
|
-
return isPopulate ? undefined : this.call(...args);
|
|
34
|
-
}
|
|
35
|
-
call(...args) {
|
|
36
|
-
if (!this.isLoaded) {
|
|
37
|
-
throw new Error("hasAsyncMethod.call was called but not loaded");
|
|
38
|
-
}
|
|
39
|
-
return this.fn(this.#entity, ...args);
|
|
40
|
-
}
|
|
41
|
-
get isLoaded() {
|
|
42
|
-
return this.loaded || (0, loadHints_1.isLoaded)(this.#entity, this.#hint);
|
|
43
|
-
}
|
|
44
|
-
[AsyncMethodM];
|
|
45
|
-
}
|
|
46
|
-
exports.AsyncMethodImpl = AsyncMethodImpl;
|
|
47
|
-
//# sourceMappingURL=hasAsyncMethod.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hasAsyncMethod.js","sourceRoot":"","sources":["../../src/relations/hasAsyncMethod.ts"],"names":[],"mappings":";;;AAkBA,wCAOC;AAxBD,4CAA0D;AAC1D,4CAAyC;AAEzC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AACjB,QAAA,yBAAyB,GAAG,MAAM,EAAE,CAAC;AAalD,SAAgB,cAAc,CAC5B,QAAW,EACX,EAA2C;IAE3C,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,EAAE;QAC7B,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,eAAe;IAWhB;IARF,MAAM,GAAG,KAAK,CAAC;IACf,WAAW,CAA2B;IAErC,OAAO,CAAI;IACX,KAAK,CAAI;IAClB,YACE,MAAS,EACT,IAAO,EACC,EAA2C;QAA3C,OAAE,GAAF,EAAE,CAAyC;QAEnD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,oGAAoG;IACpG,KAAK,CAAC,IAAI,CAAC,GAAG,IAAO;QACnB,iGAAiG;QACjG,MAAM,UAAU,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,iCAAyB,IAAK,IAAY,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,OAAO,UAAU,CAAC,CAAC,CAAE,SAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,GAAG,IAAO;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAuB,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,CAAC,YAAY,CAAC,CAAY;CAC3B;AAxCD,0CAwCC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Entity } from "../Entity";
|
|
2
|
-
import { LoadHint, Loaded } from "../loadHints";
|
|
3
|
-
import { MaybeReactedPropertyEntity, Reacted, ReactiveHint } from "../reactiveHints";
|
|
4
|
-
export declare const AsyncPropertyT: unique symbol;
|
|
5
|
-
export interface AsyncProperty<T extends Entity, V> {
|
|
6
|
-
[AsyncPropertyT]: T;
|
|
7
|
-
isLoaded: boolean;
|
|
8
|
-
load(): Promise<V>;
|
|
9
|
-
}
|
|
10
|
-
export interface LoadedProperty<T extends Entity, V> {
|
|
11
|
-
get: V;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Creates a calculated derived value from a load hint + lambda.
|
|
15
|
-
*
|
|
16
|
-
* The property can be accessed by default as a promise, with `someProperty.load()`.
|
|
17
|
-
*
|
|
18
|
-
* But if `someProperty` is used as a populate hint, then it can be accessed synchronously,
|
|
19
|
-
* with `someProperty.get`.
|
|
20
|
-
*/
|
|
21
|
-
export declare function hasAsyncProperty<T extends Entity, const H extends LoadHint<T>, V>(loadHint: H, fn: (entity: Loaded<T, H>) => V): AsyncProperty<T, V>;
|
|
22
|
-
/**
|
|
23
|
-
* Creates a calculated derived value from a load hint + lambda.
|
|
24
|
-
*
|
|
25
|
-
* The property can be accessed by default as a promise, with `someProperty.load()`.
|
|
26
|
-
*
|
|
27
|
-
* But if `someProperty` is used as a populate hint, then it can be accessed synchronously,
|
|
28
|
-
* with `someProperty.get`.
|
|
29
|
-
*/
|
|
30
|
-
export declare function hasReactiveAsyncProperty<T extends Entity, const H extends ReactiveHint<T>, V>(reactiveHint: H, fn: (entity: Reacted<T, H>) => MaybeReactedPropertyEntity<V>): AsyncProperty<T, V>;
|
|
31
|
-
export declare class AsyncPropertyImpl<T extends Entity, H extends LoadHint<T>, V> implements AsyncProperty<T, V> {
|
|
32
|
-
#private;
|
|
33
|
-
private fn;
|
|
34
|
-
private opts;
|
|
35
|
-
constructor(entity: T, hint: H | ReactiveHint<T>, fn: (entity: Loaded<T, H>) => V, opts?: {
|
|
36
|
-
isReactive?: boolean;
|
|
37
|
-
});
|
|
38
|
-
load(): Promise<V>;
|
|
39
|
-
get loadHint(): H;
|
|
40
|
-
get reactiveHint(): ReactiveHint<T> | undefined;
|
|
41
|
-
get get(): V;
|
|
42
|
-
get isLoaded(): boolean;
|
|
43
|
-
[AsyncPropertyT]: T;
|
|
44
|
-
}
|
|
45
|
-
/** Type guard utility for determining if an entity field is an AsyncProperty. */
|
|
46
|
-
export declare function isAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any>;
|
|
47
|
-
/** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
|
|
48
|
-
export declare function isLoadedAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any> & LoadedProperty<any, any>;
|
|
49
|
-
//# sourceMappingURL=hasAsyncProperty.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hasAsyncProperty.d.ts","sourceRoot":"","sources":["../../src/relations/hasAsyncProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAGxG,eAAO,MAAM,cAAc,eAAW,CAAC;AAEvC,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAEhD,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC;CACR;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/E,QAAQ,EAAE,CAAC,EACX,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC9B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAIrB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3F,YAAY,EAAE,CAAC,EACf,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,0BAA0B,CAAC,CAAC,CAAC,GAC3D,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAIrB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAWrG,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;gBAHZ,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAC/B,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO;IAQ7C,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAWlB,IAAI,QAAQ,IAAI,CAAC,CAMhB;IAED,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAE9C;IAED,IAAI,GAAG,IAAI,CAAC,CAEX;IAED,IAAI,QAAQ,YAMX;IAED,CAAC,cAAc,CAAC,EAAuB,CAAC,CAAC;CAC1C;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,GAAG,GAAG,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEtG;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CACnC,kBAAkB,EAAE,GAAG,GACtB,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAE1E"}
|