@entity-access/entity-access 1.2.29 → 1.2.30
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/dist/.tsbuildinfo +1 -1
- package/dist/common/CIMap.d.ts +16 -0
- package/dist/common/CIMap.d.ts.map +1 -0
- package/dist/common/CustomEvent.d.ts +12 -0
- package/dist/common/CustomEvent.d.ts.map +1 -0
- package/dist/common/EALogger.d.ts +4 -0
- package/dist/common/EALogger.d.ts.map +1 -0
- package/dist/common/EntityAccessError.d.ts +7 -0
- package/dist/common/EntityAccessError.d.ts.map +1 -0
- package/dist/common/ErrorModel.d.ts +14 -0
- package/dist/common/ErrorModel.d.ts.map +1 -0
- package/dist/common/EventSet.d.ts +20 -0
- package/dist/common/EventSet.d.ts.map +1 -0
- package/dist/common/IColumnSchema.d.ts +21 -0
- package/dist/common/IColumnSchema.d.ts.map +1 -0
- package/dist/common/IDisposable.d.ts +7 -0
- package/dist/common/IDisposable.d.ts.map +1 -0
- package/dist/common/ImmutableObject.d.ts +5 -0
- package/dist/common/ImmutableObject.d.ts.map +1 -0
- package/dist/common/JsonGenerator.d.ts +11 -0
- package/dist/common/JsonGenerator.d.ts.map +1 -0
- package/dist/common/Logger.d.ts +33 -0
- package/dist/common/Logger.d.ts.map +1 -0
- package/dist/common/ObjectPool.d.ts +61 -0
- package/dist/common/ObjectPool.d.ts.map +1 -0
- package/dist/common/TypeInfo.d.ts +4 -0
- package/dist/common/TypeInfo.d.ts.map +1 -0
- package/dist/common/cache/InstanceCache.d.ts +2 -0
- package/dist/common/cache/InstanceCache.d.ts.map +1 -0
- package/dist/common/cache/TimedCache.d.ts +33 -0
- package/dist/common/cache/TimedCache.d.ts.map +1 -0
- package/dist/common/cloner.d.ts +4 -0
- package/dist/common/cloner.d.ts.map +1 -0
- package/dist/common/sleep.d.ts +2 -0
- package/dist/common/sleep.d.ts.map +1 -0
- package/dist/common/symbols/symbols.d.ts +8 -0
- package/dist/common/symbols/symbols.d.ts.map +1 -0
- package/dist/common/usingAsync.d.ts +15 -0
- package/dist/common/usingAsync.d.ts.map +1 -0
- package/dist/compiler/ISqlHelpers.d.ts +12 -0
- package/dist/compiler/ISqlHelpers.d.ts.map +1 -0
- package/dist/compiler/NamingConventions.d.ts +8 -0
- package/dist/compiler/NamingConventions.d.ts.map +1 -0
- package/dist/compiler/QueryCompiler.d.ts +45 -0
- package/dist/compiler/QueryCompiler.d.ts.map +1 -0
- package/dist/compiler/RawQuery.d.ts +9 -0
- package/dist/compiler/RawQuery.d.ts.map +1 -0
- package/dist/compiler/postgres/PostgreSqlMethodTransformer.d.ts +4 -0
- package/dist/compiler/postgres/PostgreSqlMethodTransformer.d.ts.map +1 -0
- package/dist/compiler/sql-server/SqlServerSqlMethodTransformer.d.ts +4 -0
- package/dist/compiler/sql-server/SqlServerSqlMethodTransformer.d.ts.map +1 -0
- package/dist/decorators/CheckConstraint.d.ts +4 -0
- package/dist/decorators/CheckConstraint.d.ts.map +1 -0
- package/dist/decorators/Column.d.ts +10 -0
- package/dist/decorators/Column.d.ts.map +1 -0
- package/dist/decorators/ForeignKey.d.ts +10 -0
- package/dist/decorators/ForeignKey.d.ts.map +1 -0
- package/dist/decorators/ICheckConstraint.d.ts +5 -0
- package/dist/decorators/ICheckConstraint.d.ts.map +1 -0
- package/dist/decorators/IClassOf.d.ts +3 -0
- package/dist/decorators/IClassOf.d.ts.map +1 -0
- package/dist/decorators/IColumn.d.ts +87 -0
- package/dist/decorators/IColumn.d.ts.map +1 -0
- package/dist/decorators/IForeignKeyConstraint.d.ts +12 -0
- package/dist/decorators/IForeignKeyConstraint.d.ts.map +1 -0
- package/dist/decorators/IIndex.d.ts +30 -0
- package/dist/decorators/IIndex.d.ts.map +1 -0
- package/dist/decorators/ISqlType.d.ts +61 -0
- package/dist/decorators/ISqlType.d.ts.map +1 -0
- package/dist/decorators/Index.d.ts +4 -0
- package/dist/decorators/Index.d.ts.map +1 -0
- package/dist/decorators/Relate.d.ts +37 -0
- package/dist/decorators/Relate.d.ts.map +1 -0
- package/dist/decorators/SchemaRegistry.d.ts +9 -0
- package/dist/decorators/SchemaRegistry.d.ts.map +1 -0
- package/dist/decorators/Table.d.ts +9 -0
- package/dist/decorators/Table.d.ts.map +1 -0
- package/dist/decorators/parser/NameParser.d.ts +4 -0
- package/dist/decorators/parser/NameParser.d.ts.map +1 -0
- package/dist/di/di.d.ts +49 -0
- package/dist/di/di.d.ts.map +1 -0
- package/dist/drivers/base/BaseDriver.d.ts +134 -0
- package/dist/drivers/base/BaseDriver.d.ts.map +1 -0
- package/dist/drivers/base/ExistingSchema.d.ts +14 -0
- package/dist/drivers/base/ExistingSchema.d.ts.map +1 -0
- package/dist/drivers/base/ReaderQueue.d.ts +17 -0
- package/dist/drivers/base/ReaderQueue.d.ts.map +1 -0
- package/dist/drivers/postgres/PostgreSqlDriver.d.ts +29 -0
- package/dist/drivers/postgres/PostgreSqlDriver.d.ts.map +1 -0
- package/dist/drivers/sql-server/ExpressionToSqlServer.d.ts +14 -0
- package/dist/drivers/sql-server/ExpressionToSqlServer.d.ts.map +1 -0
- package/dist/drivers/sql-server/SqlServerDriver.d.ts +30 -0
- package/dist/drivers/sql-server/SqlServerDriver.d.ts.map +1 -0
- package/dist/drivers/sql-server/SqlServerLiteral.d.ts +5 -0
- package/dist/drivers/sql-server/SqlServerLiteral.d.ts.map +1 -0
- package/dist/drivers/sql-server/SqlServerQueryCompiler.d.ts +5 -0
- package/dist/drivers/sql-server/SqlServerQueryCompiler.d.ts.map +1 -0
- package/dist/entity-query/EntityType.d.ts +78 -0
- package/dist/entity-query/EntityType.d.ts.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/migrations/Migrations.d.ts +44 -0
- package/dist/migrations/Migrations.d.ts.map +1 -0
- package/dist/migrations/postgres/PostgresAutomaticMigrations.d.ts +19 -0
- package/dist/migrations/postgres/PostgresAutomaticMigrations.d.ts.map +1 -0
- package/dist/migrations/postgres/PostgresMigrations.d.ts +11 -0
- package/dist/migrations/postgres/PostgresMigrations.d.ts.map +1 -0
- package/dist/migrations/sql-server/SqlServerAutomaticMigrations.d.ts +19 -0
- package/dist/migrations/sql-server/SqlServerAutomaticMigrations.d.ts.map +1 -0
- package/dist/migrations/sql-server/SqlServerMigrations.d.ts +12 -0
- package/dist/migrations/sql-server/SqlServerMigrations.d.ts.map +1 -0
- package/dist/model/EntityContext.d.ts +36 -0
- package/dist/model/EntityContext.d.ts.map +1 -0
- package/dist/model/EntityModel.d.ts +13 -0
- package/dist/model/EntityModel.d.ts.map +1 -0
- package/dist/model/EntityQuery.d.ts +64 -0
- package/dist/model/EntityQuery.d.ts.map +1 -0
- package/dist/model/EntitySource.d.ts +86 -0
- package/dist/model/EntitySource.d.ts.map +1 -0
- package/dist/model/IFilterWithParameter.d.ts +80 -0
- package/dist/model/IFilterWithParameter.d.ts.map +1 -0
- package/dist/model/SourceExpression.d.ts +2 -0
- package/dist/model/SourceExpression.d.ts.map +1 -0
- package/dist/model/changes/ChangeEntry.d.ts +61 -0
- package/dist/model/changes/ChangeEntry.d.ts.map +1 -0
- package/dist/model/changes/ChangeSet.d.ts +31 -0
- package/dist/model/changes/ChangeSet.d.ts.map +1 -0
- package/dist/model/events/ContextEvents.d.ts +11 -0
- package/dist/model/events/ContextEvents.d.ts.map +1 -0
- package/dist/model/events/EntityEvents.d.ts +39 -0
- package/dist/model/events/EntityEvents.d.ts.map +1 -0
- package/dist/model/events/FilteredExpression.d.ts +11 -0
- package/dist/model/events/FilteredExpression.d.ts.map +1 -0
- package/dist/model/identity/IdentityMap.d.ts +23 -0
- package/dist/model/identity/IdentityMap.d.ts.map +1 -0
- package/dist/model/identity/IdentityService.d.ts +5 -0
- package/dist/model/identity/IdentityService.d.ts.map +1 -0
- package/dist/model/identity/RelationMapper.d.ts +11 -0
- package/dist/model/identity/RelationMapper.d.ts.map +1 -0
- package/dist/model/identity/SearchIndex.d.ts +17 -0
- package/dist/model/identity/SearchIndex.d.ts.map +1 -0
- package/dist/model/symbols.d.ts +2 -0
- package/dist/model/symbols.d.ts.map +1 -0
- package/dist/model/verification/VerificationSession.d.ts +27 -0
- package/dist/model/verification/VerificationSession.d.ts.map +1 -0
- package/dist/query/Query.d.ts +29 -0
- package/dist/query/Query.d.ts.map +1 -0
- package/dist/query/ast/DebugStringVisitor.d.ts +40 -0
- package/dist/query/ast/DebugStringVisitor.d.ts.map +1 -0
- package/dist/query/ast/ExpressionToSql.d.ts +67 -0
- package/dist/query/ast/ExpressionToSql.d.ts.map +1 -0
- package/dist/query/ast/Expressions.d.ts +255 -0
- package/dist/query/ast/Expressions.d.ts.map +1 -0
- package/dist/query/ast/IStringTransformer.d.ts +27 -0
- package/dist/query/ast/IStringTransformer.d.ts.map +1 -0
- package/dist/query/ast/ParameterScope.d.ts +25 -0
- package/dist/query/ast/ParameterScope.d.ts.map +1 -0
- package/dist/query/ast/ReplaceParameter.d.ts +6 -0
- package/dist/query/ast/ReplaceParameter.d.ts.map +1 -0
- package/dist/query/ast/SqlLiteral.d.ts +4 -0
- package/dist/query/ast/SqlLiteral.d.ts.map +1 -0
- package/dist/query/ast/Types.d.ts +2 -0
- package/dist/query/ast/Types.d.ts.map +1 -0
- package/dist/query/ast/Visitor.d.ts +40 -0
- package/dist/query/ast/Visitor.d.ts.map +1 -0
- package/dist/query/expander/QueryExpander.d.ts +12 -0
- package/dist/query/expander/QueryExpander.d.ts.map +1 -0
- package/dist/query/parser/ArrowToExpression.d.ts +58 -0
- package/dist/query/parser/ArrowToExpression.d.ts.map +1 -0
- package/dist/query/parser/BabelVisitor.d.ts +24 -0
- package/dist/query/parser/BabelVisitor.d.ts.map +1 -0
- package/dist/query/parser/NotSupportedError.d.ts +5 -0
- package/dist/query/parser/NotSupportedError.d.ts.map +1 -0
- package/dist/query/parser/Restructure.d.ts +20 -0
- package/dist/query/parser/Restructure.d.ts.map +1 -0
- package/dist/query/parser/TransformVisitor.d.ts +25 -0
- package/dist/query/parser/TransformVisitor.d.ts.map +1 -0
- package/dist/sql/ISql.d.ts +160 -0
- package/dist/sql/ISql.d.ts.map +1 -0
- package/dist/sql/Sql.d.ts +4 -0
- package/dist/sql/Sql.d.ts.map +1 -0
- package/dist/types/DateTime.d.ts +168 -0
- package/dist/types/DateTime.d.ts.map +1 -0
- package/dist/types/TimeSpan.d.ts +40 -0
- package/dist/types/TimeSpan.d.ts.map +1 -0
- package/dist/workflows/ActivitySuspendedError.d.ts +6 -0
- package/dist/workflows/ActivitySuspendedError.d.ts.map +1 -0
- package/dist/workflows/Waiter.d.ts +10 -0
- package/dist/workflows/Waiter.d.ts.map +1 -0
- package/dist/workflows/Workflow.d.ts +47 -0
- package/dist/workflows/Workflow.d.ts.map +1 -0
- package/dist/workflows/WorkflowClock.d.ts +5 -0
- package/dist/workflows/WorkflowClock.d.ts.map +1 -0
- package/dist/workflows/WorkflowContext.d.ts +52 -0
- package/dist/workflows/WorkflowContext.d.ts.map +1 -0
- package/dist/workflows/WorkflowDbContext.d.ts +32 -0
- package/dist/workflows/WorkflowDbContext.d.ts.map +1 -0
- package/dist/workflows/WorkflowRegistry.d.ts +13 -0
- package/dist/workflows/WorkflowRegistry.d.ts.map +1 -0
- package/dist/workflows/WorkflowStorage.d.ts +72 -0
- package/dist/workflows/WorkflowStorage.d.ts.map +1 -0
- package/dist/workflows/WorkflowTask.d.ts +13 -0
- package/dist/workflows/WorkflowTask.d.ts.map +1 -0
- package/package.json +1 -1
- package/tsconfig.json +2 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { BaseDriver } from "./drivers/base/BaseDriver.js";
|
|
2
|
+
export { default as SqlServerDriver } from "./drivers/sql-server/SqlServerDriver.js";
|
|
3
|
+
export { default as PostgreSqlDriver } from "./drivers/postgres/PostgreSqlDriver.js";
|
|
4
|
+
export { default as EternityStorage } from "./workflows/WorkflowStorage.js";
|
|
5
|
+
export { default as EntityAccessError } from "./common/EntityAccessError.js";
|
|
6
|
+
export { default as DateTime } from "./types/DateTime.js";
|
|
7
|
+
export { default as ChangeSet } from "./model/changes/ChangeSet.js";
|
|
8
|
+
export { default as ChangeEntry } from "./model/changes/ChangeEntry.js";
|
|
9
|
+
export { default as ContextEvents } from "./model/events/ContextEvents.js";
|
|
10
|
+
export { default as TimedCache } from "./common/cache/TimedCache.js";
|
|
11
|
+
export { Activity, UniqueActivity } from "./workflows/Workflow.js";
|
|
12
|
+
export { default as Workflow } from "./workflows/Workflow.js";
|
|
13
|
+
export { default as Sql } from "./sql/Sql.js";
|
|
14
|
+
export { default as Index } from "./decorators/Index.js";
|
|
15
|
+
export { default as Table } from "./decorators/Table.js";
|
|
16
|
+
export { RelateTo, RelateToOne } from "./decorators/Relate.js";
|
|
17
|
+
export { default as Column } from "./decorators/Column.js";
|
|
18
|
+
export { default as EntityContext } from "./model/EntityContext.js";
|
|
19
|
+
export { default as EternityContext } from "./workflows/WorkflowContext.js";
|
|
20
|
+
export { default as Inject, Register, RegisterScoped, RegisterSingleton, RegisterTransient, ServiceCollection, ServiceProvider, ServiceKind } from "./di/di.js";
|
|
21
|
+
export { IEntityQuery, IOrderedEntityQuery, IBaseQuery, IFilterExpression, IFilterWithParameter, ILambdaExpression } from "./model/IFilterWithParameter.js";
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAK,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EACH,OAAO,IAAI,MAAM,EACjB,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAC3C,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EACrD,WAAW,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Logger from "../common/Logger.js";
|
|
2
|
+
import type QueryCompiler from "../compiler/QueryCompiler.js";
|
|
3
|
+
import ICheckConstraint from "../decorators/ICheckConstraint.js";
|
|
4
|
+
import { IColumn } from "../decorators/IColumn.js";
|
|
5
|
+
import type { IForeignKeyConstraint } from "../decorators/IForeignKeyConstraint.js";
|
|
6
|
+
import type { IIndex } from "../decorators/IIndex.js";
|
|
7
|
+
import type { BaseConnection, IQuery, IQueryResult } from "../drivers/base/BaseDriver.js";
|
|
8
|
+
import ExistingSchema from "../drivers/base/ExistingSchema.js";
|
|
9
|
+
import type EntityType from "../entity-query/EntityType.js";
|
|
10
|
+
import type EntityContext from "../model/EntityContext.js";
|
|
11
|
+
export default abstract class Migrations {
|
|
12
|
+
private context;
|
|
13
|
+
protected connection: BaseConnection;
|
|
14
|
+
protected compiler: QueryCompiler;
|
|
15
|
+
logger: Logger;
|
|
16
|
+
protected schemaCache: Map<string, ExistingSchema>;
|
|
17
|
+
constructor(context: EntityContext, connection?: BaseConnection, compiler?: QueryCompiler);
|
|
18
|
+
migrate({ version, name, historyTableName, log, seed, createIndexForForeignKeys }?: {
|
|
19
|
+
version?: string;
|
|
20
|
+
name?: string;
|
|
21
|
+
historyTableName?: string;
|
|
22
|
+
log?: Logger;
|
|
23
|
+
seed?: (c: EntityContext) => Promise<any>;
|
|
24
|
+
createIndexForForeignKeys?: boolean;
|
|
25
|
+
}): Promise<boolean>;
|
|
26
|
+
enableGeoSpatialTypes(): Promise<void>;
|
|
27
|
+
hasVersion(context: EntityContext, name: string, version: string, table: string): Promise<boolean>;
|
|
28
|
+
abstract ensureVersionTable(context: EntityContext, table: string): Promise<any>;
|
|
29
|
+
abstract createIndexForForeignKeys(context: EntityContext, type: EntityType, fkColumns: IColumn[]): Promise<void>;
|
|
30
|
+
abstract dropIndex(indexName: string, tableName: string): Promise<void>;
|
|
31
|
+
commitVersion(context: EntityContext, name: any, version: any, table: any): Promise<void>;
|
|
32
|
+
migrateIndexInternal(context: EntityContext, index: IIndex, type: EntityType): Promise<void>;
|
|
33
|
+
migrateTable(context: EntityContext, type: EntityType): Promise<void>;
|
|
34
|
+
createColumns(type: EntityType, nonKeyColumns: IColumn[]): Promise<void>;
|
|
35
|
+
abstract createTable(type: EntityType, keys: IColumn[]): any;
|
|
36
|
+
abstract createColumn(type: EntityType, column: IColumn): any;
|
|
37
|
+
abstract migrateIndex(context: EntityContext, index: IIndex, type: EntityType): any;
|
|
38
|
+
abstract migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint): any;
|
|
39
|
+
abstract migrateCheckConstraint(context: EntityContext, checkConstraint: ICheckConstraint, type: EntityType): any;
|
|
40
|
+
getSchema(type: EntityType): Promise<ExistingSchema>;
|
|
41
|
+
protected abstract getExistingSchema(type: EntityType): Promise<ExistingSchema>;
|
|
42
|
+
protected executeQuery(command: IQuery, signal?: AbortSignal): Promise<IQueryResult>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Migrations.d.ts","sourceRoot":"","sources":["../../src/migrations/Migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ICheckConstraint from "../../decorators/ICheckConstraint.js";
|
|
2
|
+
import { IColumn } from "../../decorators/IColumn.js";
|
|
3
|
+
import { IForeignKeyConstraint } from "../../decorators/IForeignKeyConstraint.js";
|
|
4
|
+
import { IIndex } from "../../decorators/IIndex.js";
|
|
5
|
+
import EntityType from "../../entity-query/EntityType.js";
|
|
6
|
+
import type EntityContext from "../../model/EntityContext.js";
|
|
7
|
+
import PostgresMigrations from "./PostgresMigrations.js";
|
|
8
|
+
export default class PostgresAutomaticMigrations extends PostgresMigrations {
|
|
9
|
+
ensureVersionTable(context: EntityContext, table: string): Promise<void>;
|
|
10
|
+
createIndexForForeignKeys(context: EntityContext, type: EntityType, fkColumns: IColumn[]): Promise<void>;
|
|
11
|
+
createColumn(type: EntityType, iterator: IColumn): Promise<void>;
|
|
12
|
+
createTable(type: EntityType, keys: IColumn[]): Promise<void>;
|
|
13
|
+
dropIndex(indexName: string): Promise<void>;
|
|
14
|
+
migrateIndex(context: EntityContext, index: IIndex, type: EntityType): Promise<void>;
|
|
15
|
+
constraintExists(context: EntityContext, name: string, schema: string, table?: string): Promise<boolean>;
|
|
16
|
+
migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint): Promise<void>;
|
|
17
|
+
migrateCheckConstraint(context: EntityContext, constraint: ICheckConstraint<any>, type: EntityType): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=PostgresAutomaticMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresAutomaticMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/PostgresAutomaticMigrations.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,aAAa,MAAM,8BAA8B,CAAC;AAC9D,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,kBAAkB;IAEjE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM;IASxD,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;IAcxF,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;IA4BhD,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;IAqC7C,SAAS,CAAC,SAAS,EAAE,MAAM;IAI3B,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAwDpE,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAA4B;IAmBxG,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB;IAgE3E,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU;CAqB3G"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IColumn } from "../../decorators/IColumn.js";
|
|
2
|
+
import ExistingSchema from "../../drivers/base/ExistingSchema.js";
|
|
3
|
+
import EntityType from "../../entity-query/EntityType.js";
|
|
4
|
+
import Migrations from "../Migrations.js";
|
|
5
|
+
export default abstract class PostgresMigrations extends Migrations {
|
|
6
|
+
getExistingSchema(type: EntityType): Promise<ExistingSchema>;
|
|
7
|
+
enableGeoSpatialTypes(): Promise<void>;
|
|
8
|
+
protected getColumnDefinition(iterator: IColumn): string;
|
|
9
|
+
protected getColumnType(iterator: IColumn): "bigint" | "varchar" | "real" | "decimal" | "json" | "jsonb" | "geography" | "text" | "timestamp" | "timestamp with time zone" | "float8" | "integer" | "boolean" | "bytea" | "uuid";
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=PostgresMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/PostgresMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,cAAc,MAAM,sCAAsC,CAAC;AAClE,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kBAAmB,SAAQ,UAAU;IAEzD,iBAAiB,CAAC,IAAI,EAAE,UAAU;IAwElC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5C,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO;IAc/C,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO;CAuC5C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ICheckConstraint from "../../decorators/ICheckConstraint.js";
|
|
2
|
+
import { IColumn } from "../../decorators/IColumn.js";
|
|
3
|
+
import { IForeignKeyConstraint } from "../../decorators/IForeignKeyConstraint.js";
|
|
4
|
+
import { IIndex } from "../../decorators/IIndex.js";
|
|
5
|
+
import EntityType from "../../entity-query/EntityType.js";
|
|
6
|
+
import type EntityContext from "../../model/EntityContext.js";
|
|
7
|
+
import SqlServerMigrations from "./SqlServerMigrations.js";
|
|
8
|
+
export default class SqlServerAutomaticMigrations extends SqlServerMigrations {
|
|
9
|
+
ensureVersionTable(context: EntityContext, table: string): Promise<void>;
|
|
10
|
+
createIndexForForeignKeys(context: EntityContext, type: EntityType, fkColumns: IColumn[]): Promise<void>;
|
|
11
|
+
createColumn(type: EntityType, iterator: IColumn): Promise<void>;
|
|
12
|
+
createTable(type: EntityType, keys: IColumn[]): Promise<void>;
|
|
13
|
+
dropIndex(indexName: string, tableName: string): Promise<void>;
|
|
14
|
+
migrateIndex(context: EntityContext, index: IIndex, type: EntityType): Promise<void>;
|
|
15
|
+
constraintExists(context: EntityContext, name: string, schema: string, type: EntityType): Promise<boolean>;
|
|
16
|
+
migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint): Promise<void>;
|
|
17
|
+
migrateCheckConstraint(context: EntityContext, constraint: ICheckConstraint<any>, type: EntityType): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=SqlServerAutomaticMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlServerAutomaticMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql-server/SqlServerAutomaticMigrations.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,aAAa,MAAM,8BAA8B,CAAC;AAC9D,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,mBAAmB;IAEnE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM;IAYxD,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;IAcxF,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;IAoChD,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;IAmC7C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAK9C,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IA6CpE,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAmBvF,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB;IAgD3E,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU;CAqB3G"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import CIMap from "../../common/CIMap.js";
|
|
2
|
+
import { IColumn } from "../../decorators/IColumn.js";
|
|
3
|
+
import ExistingSchema from "../../drivers/base/ExistingSchema.js";
|
|
4
|
+
import EntityType from "../../entity-query/EntityType.js";
|
|
5
|
+
import Migrations from "../Migrations.js";
|
|
6
|
+
export default abstract class SqlServerMigrations extends Migrations {
|
|
7
|
+
protected schemaCache: CIMap<ExistingSchema>;
|
|
8
|
+
getExistingSchema(type: EntityType): Promise<ExistingSchema>;
|
|
9
|
+
protected getColumnDefinition(iterator: IColumn): string;
|
|
10
|
+
protected getColumnType(iterator: IColumn): "DateTimeOffset" | "bigint" | "varchar(max)" | "varchar" | "nvarchar(max)" | "nvarchar" | "DateTime2" | "float" | "real" | "int" | "bit" | "varbinary" | "decimal" | "json" | "jsonb" | "UniqueIdentifier" | "geography";
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=SqlServerMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlServerMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql-server/SqlServerMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,cAAc,MAAM,sCAAsC,CAAC;AAClE,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,mBAAoB,SAAQ,UAAU;IAEhE,SAAS,CAAC,WAAW,wBAA+B;IAE9C,iBAAiB,CAAC,IAAI,EAAE,UAAU;IAiFxC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO;IAc/C,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO;CA2C5C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseConnection, BaseDriver } from "../drivers/base/BaseDriver.js";
|
|
2
|
+
import ChangeSet from "./changes/ChangeSet.js";
|
|
3
|
+
import EntityModel from "./EntityModel.js";
|
|
4
|
+
import { IClassOf } from "../decorators/IClassOf.js";
|
|
5
|
+
import EntityEvents from "./events/EntityEvents.js";
|
|
6
|
+
import ContextEvents from "./events/ContextEvents.js";
|
|
7
|
+
import Logger from "../common/Logger.js";
|
|
8
|
+
export interface ISaveOptions {
|
|
9
|
+
trace?: (text: string) => void;
|
|
10
|
+
signal?: AbortSignal;
|
|
11
|
+
}
|
|
12
|
+
export default class EntityContext {
|
|
13
|
+
driver: BaseDriver;
|
|
14
|
+
private events?;
|
|
15
|
+
readonly logger?: Logger;
|
|
16
|
+
readonly model: EntityModel;
|
|
17
|
+
readonly changeSet: ChangeSet;
|
|
18
|
+
raiseEvents: boolean;
|
|
19
|
+
verifyFilters: boolean;
|
|
20
|
+
get isChanging(): any;
|
|
21
|
+
get connection(): BaseConnection;
|
|
22
|
+
private postSaveChangesQueue;
|
|
23
|
+
private _connection;
|
|
24
|
+
private readonly eventsCache;
|
|
25
|
+
constructor(driver: BaseDriver, events?: ContextEvents, logger?: Logger);
|
|
26
|
+
eventsFor<T>(type: IClassOf<T>, fail?: boolean): EntityEvents<T>;
|
|
27
|
+
query<T>(type: IClassOf<T>): import("./IFilterWithParameter.js").IEntityQuery<T>;
|
|
28
|
+
expand<T, TR>(type: IClassOf<T>, keys: Partial<T>, property: (x: T) => TR): import("./IFilterWithParameter.js").IEntityQuery<TR>;
|
|
29
|
+
filteredQuery<T>(type: IClassOf<T>, mode: "read" | "include" | "modify" | "delete" | "none", fail?: boolean, parentType?: any, key?: any): any;
|
|
30
|
+
saveChangesWithoutEvents(options?: ISaveOptions): Promise<void | 0>;
|
|
31
|
+
saveChanges(options?: ISaveOptions): Promise<void | 0>;
|
|
32
|
+
queuePostSaveTask(task: () => any, order?: number): void;
|
|
33
|
+
private saveChangesInternal;
|
|
34
|
+
private saveChangesInternalWithoutEvents;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=EntityContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityContext.d.ts","sourceRoot":"","sources":["../../src/model/EntityContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAGtD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAMzC,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,OAAO,aAAa;IAyBnB,MAAM,EAAE,UAAU;IAEzB,OAAO,CAAC,MAAM,CAAC;aAEC,MAAM,CAAC,EAAE,MAAM;IA3BnC,SAAgB,KAAK,cAAyB;IAC9C,SAAgB,SAAS,YAAuB;IAEzC,WAAW,EAAE,OAAO,CAAC;IAErB,aAAa,UAAS;IAE7B,IAAW,UAAU,QAEpB;IAED,IAAW,UAAU,mBAEpB;IAED,OAAO,CAAC,oBAAoB,CAAuC;IAEnE,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAI/B,MAAM,EAAE,UAAU,EAEjB,MAAM,CAAC,EAAE,aAAa,EAEd,MAAM,CAAC,EAAE,MAAM;IAKnC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,UAAO,GAAG,YAAY,CAAC,CAAC,CAAC;IAuB7D,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAK1B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE;IAIzE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAAE,IAAI,UAAQ,EAAE,UAAU,CAAC,KAAA,EAAE,GAAG,CAAC,KAAA;IAqB/G,wBAAwB,CAAC,OAAO,CAAC,EAAE,YAAY;IAa/C,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY;IA4CxC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,KAAK,SAA0B;YAK3D,mBAAmB;YAiEnB,gCAAgC;CA8CjD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type EntityContext from "./EntityContext.js";
|
|
2
|
+
import { IClassOf } from "../decorators/IClassOf.js";
|
|
3
|
+
import { EntitySource } from "./EntitySource.js";
|
|
4
|
+
import EntityType from "../entity-query/EntityType.js";
|
|
5
|
+
export default class EntityModel {
|
|
6
|
+
private context;
|
|
7
|
+
sources: Map<IClassOf<any>, EntitySource>;
|
|
8
|
+
types: Map<IClassOf<any>, EntityType>;
|
|
9
|
+
constructor(context: EntityContext);
|
|
10
|
+
register<T>(type: IClassOf<T>): EntitySource<T>;
|
|
11
|
+
getEntityType<T>(type: IClassOf<T>): EntityType;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=EntityModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityModel.d.ts","sourceRoot":"","sources":["../../src/model/EntityModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,UAAU,MAAM,+BAA+B,CAAC;AAgEvD,MAAM,CAAC,OAAO,OAAO,WAAW;IAMhB,OAAO,CAAC,OAAO;IAJpB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAa;IAEtD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAa;gBAErC,OAAO,EAAE,aAAa;IAG1C,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAcR,YAAY,CAAC,CAAC,CAAC;IAGpC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU;CAIlD"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import Logger from "../common/Logger.js";
|
|
2
|
+
import EntityType from "../entity-query/EntityType.js";
|
|
3
|
+
import { ParameterExpression, SelectStatement } from "../query/ast/Expressions.js";
|
|
4
|
+
import EntityContext from "./EntityContext.js";
|
|
5
|
+
import type { EntitySource } from "./EntitySource.js";
|
|
6
|
+
import { IOrderedEntityQuery, IEntityQuery } from "./IFilterWithParameter.js";
|
|
7
|
+
import RelationMapper from "./identity/RelationMapper.js";
|
|
8
|
+
export default class EntityQuery<T = any> implements IOrderedEntityQuery<T>, IEntityQuery<T> {
|
|
9
|
+
context: EntityContext;
|
|
10
|
+
type: EntityType;
|
|
11
|
+
selectStatement: SelectStatement;
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
traceQuery: (text: string) => void;
|
|
14
|
+
includes: any[];
|
|
15
|
+
scope: ParameterExpression[];
|
|
16
|
+
private maxLimit;
|
|
17
|
+
private hasMore;
|
|
18
|
+
constructor(p: Partial<EntityQuery<any>>);
|
|
19
|
+
select(p: any, fx?: any): any;
|
|
20
|
+
insertInTo(es: EntitySource): Promise<import("../drivers/base/BaseDriver.js").IQueryResult>;
|
|
21
|
+
selectView(parameters: any, fx?: any): any;
|
|
22
|
+
map(parameters: any, fx?: any): any;
|
|
23
|
+
withSignal(signal: AbortSignal): any;
|
|
24
|
+
thenBy(parameters: any, fx?: any): any;
|
|
25
|
+
thenByDescending(parameters: any, fx?: any): any;
|
|
26
|
+
where(parameters: any, fx?: any): any;
|
|
27
|
+
include(p: any): any;
|
|
28
|
+
union(p: any, fx?: any): any;
|
|
29
|
+
unionsAll(...p: any[]): any;
|
|
30
|
+
unions(...p: any[]): any;
|
|
31
|
+
exists(p: any, fx: any): any;
|
|
32
|
+
innerJoin(p: any, fx: any): any;
|
|
33
|
+
delete(p: any, f?: any): Promise<number>;
|
|
34
|
+
updateSelectSkipLocked(p?: any, f?: any): Promise<T[]>;
|
|
35
|
+
updateSelect(p?: any, f?: any, skipLocked?: any): Promise<T[]>;
|
|
36
|
+
update(p?: any, f?: any): Promise<number>;
|
|
37
|
+
getUpdateStatement(p: any, f: any, returnEntity?: boolean, skipLocked?: boolean): any;
|
|
38
|
+
toArray(): Promise<T[]>;
|
|
39
|
+
toPage(start: any, size: any): Promise<any>;
|
|
40
|
+
enumerate(): AsyncGenerator<T, any, unknown>;
|
|
41
|
+
load(relationMapper: RelationMapper, session: Logger, select: SelectStatement, signal: AbortSignal): Promise<void>;
|
|
42
|
+
firstOrFail(errorMessage?: string): Promise<T>;
|
|
43
|
+
first(): Promise<T>;
|
|
44
|
+
toQuery(): {
|
|
45
|
+
text: string;
|
|
46
|
+
values: any[];
|
|
47
|
+
};
|
|
48
|
+
orderBy(parameters: any, fx?: any): any;
|
|
49
|
+
orderByDescending(parameters: any, fx?: any): any;
|
|
50
|
+
trace(traceQuery: (text: string) => void): any;
|
|
51
|
+
/**
|
|
52
|
+
* Number of items to limit the result set. Applied only if not set or less than existing limit.
|
|
53
|
+
* @param n max
|
|
54
|
+
* @returns query
|
|
55
|
+
*/
|
|
56
|
+
limit(n: number): any;
|
|
57
|
+
offset(n: number): any;
|
|
58
|
+
sum(parameters?: any, fx?: any): Promise<any>;
|
|
59
|
+
some(): Promise<boolean>;
|
|
60
|
+
slice(start: any, end: any): any;
|
|
61
|
+
count(parameters?: any, fx?: any): Promise<number>;
|
|
62
|
+
private extend;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=EntityQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityQuery.d.ts","sourceRoot":"","sources":["../../src/model/EntityQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type EntityContext from "./EntityContext.js";
|
|
2
|
+
import type EntityType from "../entity-query/EntityType.js";
|
|
3
|
+
import type { IEntityQuery } from "./IFilterWithParameter.js";
|
|
4
|
+
import { contextSymbol, modelSymbol } from "../common/symbols/symbols.js";
|
|
5
|
+
export type ISaveDirect<T> = {
|
|
6
|
+
keys: Partial<T>;
|
|
7
|
+
changes: Partial<T>;
|
|
8
|
+
mode: "selectOrInsert";
|
|
9
|
+
updateAfterSelect?: never;
|
|
10
|
+
} | {
|
|
11
|
+
keys?: never;
|
|
12
|
+
mode: "insert";
|
|
13
|
+
changes: Partial<T>;
|
|
14
|
+
updateAfterSelect?: never;
|
|
15
|
+
} | {
|
|
16
|
+
keys?: Partial<T>;
|
|
17
|
+
changes: Partial<T>;
|
|
18
|
+
mode: "update" | "upsert";
|
|
19
|
+
/**
|
|
20
|
+
* You can use map to update any fields you
|
|
21
|
+
* retrieved from database to update
|
|
22
|
+
* @param item loaded from database
|
|
23
|
+
* @returns entity
|
|
24
|
+
*/
|
|
25
|
+
updateAfterSelect?: (item: T) => T;
|
|
26
|
+
} | {
|
|
27
|
+
keys: Partial<T>;
|
|
28
|
+
mode: "delete";
|
|
29
|
+
updateAfterSelect?: never;
|
|
30
|
+
changes?: never;
|
|
31
|
+
};
|
|
32
|
+
export declare class EntityStatements<T = any> {
|
|
33
|
+
private readonly model;
|
|
34
|
+
private readonly context;
|
|
35
|
+
constructor(model: EntityType, context: EntityContext);
|
|
36
|
+
select(entity: Partial<T>, keys: Partial<T>, loadChangeEntry?: boolean): Promise<T>;
|
|
37
|
+
insert(entity: Partial<T>, loadChangeEntry?: boolean): Promise<T>;
|
|
38
|
+
update(entity: Partial<T>, keys?: Partial<T>, loadChangeEntry?: boolean): Promise<T>;
|
|
39
|
+
selectOrInsert(entity: Partial<T>, keys?: Partial<T>, retry?: number): Promise<T>;
|
|
40
|
+
upsert(entity: Partial<T>, updateAfterSelect?: (x: T) => T, keys?: Partial<T>, retry?: number): Promise<T>;
|
|
41
|
+
upsertComputed(keys: Partial<T>, updateAfterSelect: (x?: Partial<T>) => Partial<T>, retry?: number): Promise<T>;
|
|
42
|
+
delete(entity: Partial<T>): Promise<number>;
|
|
43
|
+
}
|
|
44
|
+
export declare class EntitySource<T = any> {
|
|
45
|
+
private readonly model;
|
|
46
|
+
private readonly context;
|
|
47
|
+
statements: EntityStatements<T>;
|
|
48
|
+
get [modelSymbol](): EntityType;
|
|
49
|
+
get [contextSymbol](): EntityContext;
|
|
50
|
+
private filter;
|
|
51
|
+
constructor(model: EntityType, context: EntityContext);
|
|
52
|
+
withKeys(keys: Partial<T>): {
|
|
53
|
+
select(loadChangeEntry?: boolean): Promise<T>;
|
|
54
|
+
update(changes: Partial<T>, loadChangeEntry?: boolean): Promise<T>;
|
|
55
|
+
selectOrInsert(changes?: Partial<T>): Promise<T>;
|
|
56
|
+
updateOrInsert(changes: Partial<T>): Promise<T>;
|
|
57
|
+
upsert(factory: (existing?: Partial<T>) => Partial<T>): Promise<T>;
|
|
58
|
+
delete(): Promise<number>;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* @deprecated use withKeys or statement
|
|
62
|
+
* @param param0
|
|
63
|
+
* @param retry
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
saveDirect({ keys, mode, changes, updateAfterSelect }: ISaveDirect<T>, retry?: number): Promise<T>;
|
|
67
|
+
loadByKeys(keys: Partial<T>): Promise<T>;
|
|
68
|
+
queryByKeys(keys: Partial<T>): IEntityQuery<T>;
|
|
69
|
+
navigation<TR>(keys: Partial<T>, property: (x: T) => TR): IEntityQuery<TR>;
|
|
70
|
+
add(item: Partial<T>): T;
|
|
71
|
+
/**
|
|
72
|
+
* Entity can only be deleted if all primary keys are present
|
|
73
|
+
* @param item entity to delete
|
|
74
|
+
*/
|
|
75
|
+
delete(item: Partial<T>): Partial<T>;
|
|
76
|
+
all(): IEntityQuery<T>;
|
|
77
|
+
filtered(mode?: "read" | "modify"): IEntityQuery<T>;
|
|
78
|
+
where(fx: (x: T) => boolean): IEntityQuery<T>;
|
|
79
|
+
where<P>(parameter: P, fx: (x: T, p: P) => boolean): IEntityQuery<T>;
|
|
80
|
+
asQuery(): IEntityQuery<T>;
|
|
81
|
+
toQuery(): "" | {
|
|
82
|
+
text: string;
|
|
83
|
+
values: any[];
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=EntitySource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntitySource.d.ts","sourceRoot":"","sources":["../../src/model/EntitySource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { IQueryResult } from "../drivers/base/BaseDriver.js";
|
|
2
|
+
import type { EntitySource } from "./EntitySource.js";
|
|
3
|
+
export type IFilterWithParameter<P = any, T = any> = (p: P) => (x: T) => boolean;
|
|
4
|
+
export type ILambdaExpression<P = any, T = any, TR = any> = [input: P, x: (p: P) => (s: T) => TR];
|
|
5
|
+
export type IFilterExpression<P = any, T = any> = [input: P, fx: (x: T, p: P) => boolean];
|
|
6
|
+
export type IFieldsAsNumbers<T> = {
|
|
7
|
+
[P in keyof T]: number;
|
|
8
|
+
};
|
|
9
|
+
export interface IBaseQuery<T> {
|
|
10
|
+
enumerate(this: T extends object ? IBaseQuery<T> : never): AsyncGenerator<T>;
|
|
11
|
+
firstOrFail(this: T extends object ? IBaseQuery<T> : never, errorMessage?: string): Promise<T>;
|
|
12
|
+
first(this: T extends object ? IBaseQuery<T> : never): Promise<T>;
|
|
13
|
+
some(): Promise<boolean>;
|
|
14
|
+
select<TR>(fx: (x: T) => TR): IBaseQuery<TR>;
|
|
15
|
+
select<P, TR>(parameters: P, fx: (x: T, p: P) => TR): IBaseQuery<TR>;
|
|
16
|
+
map<TR>(fx: (x: T) => TR): IBaseQuery<TR>;
|
|
17
|
+
map<P, TR>(parameters: P, fx: (x: T, p: P) => TR): IBaseQuery<TR>;
|
|
18
|
+
toArray(this: T extends object ? IBaseQuery<T> : never): Promise<T[]>;
|
|
19
|
+
toPage(this: T extends object ? IBaseQuery<T> : never, start: any, size: any): Promise<{
|
|
20
|
+
more: boolean;
|
|
21
|
+
items: T[];
|
|
22
|
+
}>;
|
|
23
|
+
toQuery(): {
|
|
24
|
+
text: string;
|
|
25
|
+
values: any[];
|
|
26
|
+
};
|
|
27
|
+
limit<DT>(this: DT, limit: number): DT;
|
|
28
|
+
offset<DT>(this: DT, offset: number): DT;
|
|
29
|
+
where<DT>(this: DT, fx: (x: T) => boolean): DT;
|
|
30
|
+
where<P, DT>(this: DT, parameters: P, fx: (x: T, p: P) => boolean): DT;
|
|
31
|
+
union<DT>(this: DT, fx: (x: T) => boolean): DT;
|
|
32
|
+
union<P, DT>(this: DT, parameters: P, fx: (p: P) => (x: T) => boolean): DT;
|
|
33
|
+
selectView<DT>(this: DT, fx: (x: T) => Partial<T>): DT;
|
|
34
|
+
selectView<P, DT>(this: DT, parameters: P, fx: (x: T, p: P) => Partial<T>): DT;
|
|
35
|
+
innerJoin<JT, DT>(this: DT, q1: IBaseQuery<JT>, fx: (x: T, p: JT) => boolean): DT;
|
|
36
|
+
exists<JT, DT>(this: DT, q1: IBaseQuery<JT>, fx: (x: T, p: JT) => boolean): DT;
|
|
37
|
+
count(): Promise<number>;
|
|
38
|
+
count<P>(parameters: P, fx: (p: P) => (x: T) => boolean): Promise<number>;
|
|
39
|
+
slice<DT>(this: DT, start?: number, end?: number): DT;
|
|
40
|
+
sum(fx?: (x: T) => number): Promise<number>;
|
|
41
|
+
sum<TR>(fx?: (x: T) => TR): Promise<IFieldsAsNumbers<TR>>;
|
|
42
|
+
sum<P, TR>(parameters: P, fx: (x: T, p: P) => TR): Promise<IFieldsAsNumbers<TR>>;
|
|
43
|
+
withSignal<DT>(this: DT, signal: AbortSignal): DT;
|
|
44
|
+
include<TR>(fx: (x: T) => TR | TR[]): IBaseQuery<T>;
|
|
45
|
+
update(fx: (x: T) => Partial<T>): Promise<number>;
|
|
46
|
+
update<P>(parameters: P, fx: (x: T, p: P) => Partial<T>): Promise<number>;
|
|
47
|
+
updateSelectSkipLocked(this: T extends object ? IBaseQuery<T> : never, fx: (x: T) => Partial<T>): Promise<T[]>;
|
|
48
|
+
updateSelectSkipLocked<P>(this: T extends object ? IBaseQuery<T> : never, parameters: P, fx: (x: T, p: P) => Partial<T>): Promise<T[]>;
|
|
49
|
+
updateSelect(this: T extends object ? IBaseQuery<T> : never, fx: (x: T) => Partial<T>): Promise<T[]>;
|
|
50
|
+
updateSelect<P>(this: T extends object ? IBaseQuery<T> : never, parameters: P, fx: (x: T, p: P) => Partial<T>): Promise<T[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Warning !! Be careful, this will delete rows from the database and neither soft delete nor any other events will be invoked.
|
|
53
|
+
* @param parameters parameters to supply
|
|
54
|
+
* @param fx filter expression
|
|
55
|
+
*/
|
|
56
|
+
delete(fx: (x: T) => boolean): Promise<number>;
|
|
57
|
+
delete<P>(parameters: P, fx: (x: T, p: P) => boolean): Promise<number>;
|
|
58
|
+
trace<DT>(this: DT, tracer: (text: string) => void): DT;
|
|
59
|
+
unionsAll<DT>(this: DT, ...p: DT[]): DT;
|
|
60
|
+
unions<DT>(this: DT, ...p: DT[]): DT;
|
|
61
|
+
/**
|
|
62
|
+
* Inserts current sql statement into given entity source.
|
|
63
|
+
* @param this query
|
|
64
|
+
* @param destination entity source
|
|
65
|
+
*/
|
|
66
|
+
insertInTo<DT>(this: DT, destination: EntitySource<Partial<T>>): Promise<IQueryResult>;
|
|
67
|
+
}
|
|
68
|
+
export interface IOrderedEntityQuery<T> extends IBaseQuery<T> {
|
|
69
|
+
thenBy(fx: (x: T) => any): IOrderedEntityQuery<T>;
|
|
70
|
+
thenBy<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
|
|
71
|
+
thenByDescending(fx: (x: T) => any): IOrderedEntityQuery<T>;
|
|
72
|
+
thenByDescending<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
|
|
73
|
+
}
|
|
74
|
+
export interface IEntityQuery<T> extends IBaseQuery<T> {
|
|
75
|
+
orderBy(fx: (x: T) => any): IOrderedEntityQuery<T>;
|
|
76
|
+
orderBy<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
|
|
77
|
+
orderByDescending(fx: (x: T) => any): IOrderedEntityQuery<T>;
|
|
78
|
+
orderByDescending<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=IFilterWithParameter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFilterWithParameter.d.ts","sourceRoot":"","sources":["../../src/model/IFilterWithParameter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SourceExpression.d.ts","sourceRoot":"","sources":["../../src/model/SourceExpression.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IColumn } from "../../decorators/IColumn.js";
|
|
2
|
+
import EntityType from "../../entity-query/EntityType.js";
|
|
3
|
+
import type ChangeSet from "./ChangeSet.js";
|
|
4
|
+
export declare const privateUpdateEntry: unique symbol;
|
|
5
|
+
export declare const getContext: unique symbol;
|
|
6
|
+
export interface IChanges {
|
|
7
|
+
type: EntityType;
|
|
8
|
+
entity: any;
|
|
9
|
+
order: number;
|
|
10
|
+
original: any;
|
|
11
|
+
status: "detached" | "attached" | "inserted" | "modified" | "deleted" | "unchanged";
|
|
12
|
+
}
|
|
13
|
+
export interface IChange {
|
|
14
|
+
column: IColumn;
|
|
15
|
+
oldValue: any;
|
|
16
|
+
newValue: any;
|
|
17
|
+
}
|
|
18
|
+
export default class ChangeEntry<T = any> implements IChanges {
|
|
19
|
+
type: EntityType;
|
|
20
|
+
entity: T;
|
|
21
|
+
order: number;
|
|
22
|
+
original: any;
|
|
23
|
+
status: "detached" | "attached" | "inserted" | "modified" | "deleted" | "unchanged";
|
|
24
|
+
modified: Map<IColumn, IChange>;
|
|
25
|
+
updated: Map<IColumn, IChange>;
|
|
26
|
+
changeSet: ChangeSet;
|
|
27
|
+
private pending;
|
|
28
|
+
constructor(p: IChanges, changeSet: ChangeSet);
|
|
29
|
+
/**
|
|
30
|
+
* Returns true if the field is modified
|
|
31
|
+
* @param field property of the entity
|
|
32
|
+
* @returns true/false
|
|
33
|
+
*/
|
|
34
|
+
isModified(field: keyof T): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Returns change made to specified field...
|
|
37
|
+
* @param field field of type
|
|
38
|
+
* @returns change or null
|
|
39
|
+
*/
|
|
40
|
+
getChange(field: keyof T): IChange;
|
|
41
|
+
/**
|
|
42
|
+
* Returns true if the field was updated in the database
|
|
43
|
+
* @param field property of the entity
|
|
44
|
+
* @returns true/false
|
|
45
|
+
*/
|
|
46
|
+
isUpdated(field: keyof T): boolean;
|
|
47
|
+
detect(): void;
|
|
48
|
+
loadNavigationAsync(property: (item: T) => any): Promise<void>;
|
|
49
|
+
updateValues(dbValues: any): this;
|
|
50
|
+
apply(dbValues: any): void;
|
|
51
|
+
clearUpdated(): void;
|
|
52
|
+
/**
|
|
53
|
+
* This will cancel all pending changes will mark entry as unchanged.
|
|
54
|
+
*/
|
|
55
|
+
cancel(): void;
|
|
56
|
+
detectDependencies(set?: Set<unknown>): void;
|
|
57
|
+
setupInverseProperties(): void;
|
|
58
|
+
private setInversePropertyValue;
|
|
59
|
+
private setValue;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=ChangeEntry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangeEntry.d.ts","sourceRoot":"","sources":["../../../src/model/changes/ChangeEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAmB,MAAM,6BAA6B,CAAC;AAEvE,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAE1D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,kBAAkB,eAAwB,CAAC;AAExD,eAAO,MAAM,UAAU,eAAwB,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;CACvF;AAED,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,QAAQ;IAEzD,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAEpF,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/B,SAAS,EAAE,SAAS,CAAC;IAErB,OAAO,CAAC,OAAO,CAAiB;gBAEpB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAU7C;;;;OAIG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;IAKhC;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAM/B;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAKxB,MAAM;IA6EA,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG;IAqDpD,YAAY,CAAC,QAAQ,KAAA;IAYrB,KAAK,CAAC,QAAQ,KAAA;IAkDd,YAAY;IAInB;;OAEG;IACI,MAAM;IAeb,kBAAkB,CAAC,GAAG,eAAY;IAgDlC,sBAAsB;IAiCtB,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,QAAQ;CAmBnB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { identityMapSymbol } from "../../common/symbols/symbols.js";
|
|
2
|
+
import EntityContext from "../EntityContext.js";
|
|
3
|
+
import IdentityMap from "../identity/IdentityMap.js";
|
|
4
|
+
import ChangeEntry, { privateUpdateEntry, getContext } from "./ChangeEntry.js";
|
|
5
|
+
export default class ChangeSet {
|
|
6
|
+
private context;
|
|
7
|
+
get [identityMapSymbol](): IdentityMap;
|
|
8
|
+
get [getContext](): EntityContext;
|
|
9
|
+
private readonly entries;
|
|
10
|
+
private entryMap;
|
|
11
|
+
/**
|
|
12
|
+
* This will provide new entity for same key
|
|
13
|
+
*/
|
|
14
|
+
private readonly identityMap;
|
|
15
|
+
private pending;
|
|
16
|
+
constructor(context: EntityContext);
|
|
17
|
+
getChanges(max?: number): Generator<ChangeEntry, any, any>;
|
|
18
|
+
[privateUpdateEntry](entry: ChangeEntry): void;
|
|
19
|
+
getByIdentity(jsonKey: any): ChangeEntry<any>;
|
|
20
|
+
getEntry<T>(entity: T, original?: any): ChangeEntry<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Detect changes will detect and sort the entries as they should be inserted.
|
|
23
|
+
*/
|
|
24
|
+
detectChanges(source?: ChangeEntry<any>[]): ChangeEntry<any>[];
|
|
25
|
+
/**
|
|
26
|
+
* Warning, this will remove all the tracked entries,
|
|
27
|
+
* use with caution.
|
|
28
|
+
*/
|
|
29
|
+
clear(): void;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ChangeSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangeSet.d.ts","sourceRoot":"","sources":["../../../src/model/changes/ChangeSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,OAAO,WAAW,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/E,MAAM,CAAC,OAAO,OAAO,SAAS;IAuBd,OAAO,CAAC,OAAO;IAnB3B,IAAI,CAAC,iBAAiB,CAAC,gBAEtB;IAED,IAAI,CAAC,UAAU,CAAC,kBAEf;IAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,QAAQ,CAAoC;IAEpD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,OAAO,CAA2B;gBAEtB,OAAO,EAAE,aAAa;IAGzC,UAAU,CAAC,GAAG,SAAI,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC;IAiBtD,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,WAAW;IAgBhC,aAAa,CAAC,OAAO,KAAA;IAOrB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,MAAS,GAAG,WAAW,CAAC,CAAC,CAAC;IAuChE;;OAEG;IACI,aAAa,CAAC,MAAM,qBAAe;IA0B1C;;;OAGG;IACI,KAAK;CASf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IClassOf } from "../../decorators/IClassOf.js";
|
|
2
|
+
import type EntityEvents from "./EntityEvents.js";
|
|
3
|
+
export default class ContextEvents {
|
|
4
|
+
private map;
|
|
5
|
+
for<T>(type: IClassOf<T>, fail?: boolean): IClassOf<EntityEvents<T>>;
|
|
6
|
+
register<T>(type: IClassOf<T>, events: IClassOf<EntityEvents<T>>): void;
|
|
7
|
+
registerAll<T>(types: (IClassOf<EntityEvents<T>> & {
|
|
8
|
+
typeClass: IClassOf<T>;
|
|
9
|
+
})[]): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ContextEvents.d.ts.map
|