metal-orm 1.1.20 → 1.1.22
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/index.cjs +124 -84
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +58 -31
- package/dist/index.d.ts +58 -31
- package/dist/index.js +124 -84
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/core/ddl/introspect/catalogs/mssql.ts +0 -8
- package/src/core/ddl/introspect/catalogs/mysql.ts +0 -5
- package/src/core/ddl/introspect/catalogs/postgres.ts +0 -9
- package/src/core/ddl/introspect/catalogs/sqlite.ts +0 -3
- package/src/decorators/entity.ts +2 -3
- package/src/index.ts +2 -1
- package/src/orm/entity-metadata.ts +6 -11
- package/src/orm/lifecycle.ts +20 -0
- package/src/orm/orm-session.ts +37 -3
- package/src/orm/relation-change-processor.ts +15 -11
- package/src/orm/unit-of-work.ts +15 -9
- package/src/schema/table.ts +10 -25
- package/src/tree/tree-manager.ts +111 -43
package/dist/index.d.cts
CHANGED
|
@@ -436,19 +436,14 @@ interface TableOptions {
|
|
|
436
436
|
charset?: string;
|
|
437
437
|
collation?: string;
|
|
438
438
|
}
|
|
439
|
-
interface TableHooks<TEntity = unknown, TContext = unknown> {
|
|
440
|
-
beforeInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
441
|
-
afterInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
442
|
-
beforeUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
443
|
-
afterUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
444
|
-
beforeDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
445
|
-
afterDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
446
|
-
}
|
|
447
439
|
/**
|
|
448
|
-
* Definition of a database table with its columns and relationships
|
|
440
|
+
* Definition of a database table with its columns and relationships.
|
|
441
|
+
*
|
|
442
|
+
* Runtime lifecycle policy intentionally does not live here. TableDef is
|
|
443
|
+
* mapping/schema metadata and can be shared by multiple OrmSession instances.
|
|
449
444
|
* @typeParam T - Type of the columns record
|
|
450
445
|
*/
|
|
451
|
-
interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDef
|
|
446
|
+
interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDef>> {
|
|
452
447
|
/** Name of the table */
|
|
453
448
|
name: string;
|
|
454
449
|
/** Optional schema/catalog name */
|
|
@@ -457,8 +452,6 @@ interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDe
|
|
|
457
452
|
columns: T;
|
|
458
453
|
/** Record of relationship definitions keyed by relation name */
|
|
459
454
|
relations: Record<string, RelationDef>;
|
|
460
|
-
/** Optional lifecycle hooks */
|
|
461
|
-
hooks?: TableHooks<TEntity, TContext>;
|
|
462
455
|
/** Composite primary key definition (falls back to column.primary flags) */
|
|
463
456
|
primaryKey?: string[];
|
|
464
457
|
/** Secondary indexes */
|
|
@@ -473,11 +466,12 @@ interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDe
|
|
|
473
466
|
collation?: string;
|
|
474
467
|
}
|
|
475
468
|
/**
|
|
476
|
-
* Creates a table definition with columns and relationships
|
|
469
|
+
* Creates a table definition with columns and relationships.
|
|
477
470
|
* @typeParam T - Type of the columns record
|
|
478
471
|
* @param name - Name of the table
|
|
479
|
-
* @param columns - Record of column definitions
|
|
472
|
+
* @param columns - Record of column definitions keyed by property name
|
|
480
473
|
* @param relations - Record of relationship definitions (optional)
|
|
474
|
+
* @param options - Schema/table options (optional)
|
|
481
475
|
* @returns Complete table definition with runtime-filled column metadata
|
|
482
476
|
*
|
|
483
477
|
* @example
|
|
@@ -489,7 +483,7 @@ interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDe
|
|
|
489
483
|
* });
|
|
490
484
|
* ```
|
|
491
485
|
*/
|
|
492
|
-
declare const defineTable: <T extends Record<string, ColumnDef
|
|
486
|
+
declare const defineTable: <T extends Record<string, ColumnDef>>(name: string, columns: T, relations?: Record<string, RelationDef>, options?: TableOptions) => TableDef<T>;
|
|
493
487
|
/**
|
|
494
488
|
* Assigns relations to a table definition while preserving literal typing.
|
|
495
489
|
*/
|
|
@@ -3183,7 +3177,7 @@ interface MorphManyRelationMetadata {
|
|
|
3183
3177
|
cascade?: CascadeMode;
|
|
3184
3178
|
}
|
|
3185
3179
|
/**
|
|
3186
|
-
* Union type for all relation metadata.
|
|
3180
|
+
* Union type for all relation metadata types.
|
|
3187
3181
|
*/
|
|
3188
3182
|
type RelationMetadata = HasManyRelationMetadata | HasOneRelationMetadata | BelongsToRelationMetadata | BelongsToManyRelationMetadata | MorphToRelationMetadata | MorphOneRelationMetadata | MorphManyRelationMetadata;
|
|
3189
3183
|
|
|
@@ -3918,6 +3912,24 @@ declare class IdentityMap {
|
|
|
3918
3912
|
private toIdentityKey;
|
|
3919
3913
|
}
|
|
3920
3914
|
|
|
3915
|
+
/**
|
|
3916
|
+
* Entity lifecycle hooks executed by the Unit of Work.
|
|
3917
|
+
*
|
|
3918
|
+
* Hooks are runtime/session configuration. They are intentionally not stored on
|
|
3919
|
+
* TableDef so the same mapping can be used by independent sessions with
|
|
3920
|
+
* different lifecycle policies.
|
|
3921
|
+
*/
|
|
3922
|
+
interface TableHooks<TEntity = unknown, TContext = unknown> {
|
|
3923
|
+
beforeInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3924
|
+
afterInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3925
|
+
beforeUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3926
|
+
afterUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3927
|
+
beforeDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3928
|
+
afterDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3929
|
+
}
|
|
3930
|
+
/** @internal */
|
|
3931
|
+
type TableHookResolver = (table: TableDef) => TableHooks | undefined;
|
|
3932
|
+
|
|
3921
3933
|
/**
|
|
3922
3934
|
* Unit of Work pattern implementation for tracking entity changes.
|
|
3923
3935
|
*/
|
|
@@ -3926,6 +3938,7 @@ declare class UnitOfWork {
|
|
|
3926
3938
|
private readonly executor;
|
|
3927
3939
|
private readonly identityMap;
|
|
3928
3940
|
private readonly hookContext;
|
|
3941
|
+
private readonly resolveTableHooks;
|
|
3929
3942
|
private readonly trackedEntities;
|
|
3930
3943
|
/**
|
|
3931
3944
|
* Creates a new UnitOfWork instance.
|
|
@@ -3933,8 +3946,9 @@ declare class UnitOfWork {
|
|
|
3933
3946
|
* @param executor - The database executor
|
|
3934
3947
|
* @param identityMap - The identity map
|
|
3935
3948
|
* @param hookContext - Function to get the hook context
|
|
3949
|
+
* @param resolveTableHooks - Session/runtime lifecycle hook resolver
|
|
3936
3950
|
*/
|
|
3937
|
-
constructor(dialect: Dialect, executor: DbExecutor, identityMap: IdentityMap, hookContext: () => unknown);
|
|
3951
|
+
constructor(dialect: Dialect, executor: DbExecutor, identityMap: IdentityMap, hookContext: () => unknown, resolveTableHooks?: TableHookResolver);
|
|
3938
3952
|
/**
|
|
3939
3953
|
* Gets the identity buckets map.
|
|
3940
3954
|
*/
|
|
@@ -4018,7 +4032,7 @@ declare class UnitOfWork {
|
|
|
4018
4032
|
*/
|
|
4019
4033
|
private flushDelete;
|
|
4020
4034
|
/**
|
|
4021
|
-
* Runs a
|
|
4035
|
+
* Runs a lifecycle hook if defined.
|
|
4022
4036
|
* @param hook - The hook function
|
|
4023
4037
|
* @param tracked - The tracked entity
|
|
4024
4038
|
*/
|
|
@@ -4230,14 +4244,14 @@ declare class RelationChangeProcessor {
|
|
|
4230
4244
|
* Inserts a pivot row for belongs-to-many relations.
|
|
4231
4245
|
* @param relation - The belongs-to-many relation
|
|
4232
4246
|
* @param rootId - The root entity's primary key value
|
|
4233
|
-
* @param targetId - The target entity's
|
|
4247
|
+
* @param targetId - The target entity's relation key value
|
|
4234
4248
|
*/
|
|
4235
4249
|
private insertPivotRow;
|
|
4236
4250
|
/**
|
|
4237
4251
|
* Updates a pivot row for belongs-to-many relations.
|
|
4238
4252
|
* @param relation - The belongs-to-many relation
|
|
4239
4253
|
* @param rootId - The root entity's primary key value
|
|
4240
|
-
* @param targetId - The target entity's
|
|
4254
|
+
* @param targetId - The target entity's relation key value
|
|
4241
4255
|
* @param pivotPayload - The pivot columns to update
|
|
4242
4256
|
*/
|
|
4243
4257
|
private updatePivotRow;
|
|
@@ -4245,16 +4259,15 @@ declare class RelationChangeProcessor {
|
|
|
4245
4259
|
* Deletes a pivot row for belongs-to-many relations.
|
|
4246
4260
|
* @param relation - The belongs-to-many relation
|
|
4247
4261
|
* @param rootId - The root entity's primary key value
|
|
4248
|
-
* @param targetId - The target entity's
|
|
4262
|
+
* @param targetId - The target entity's relation key value
|
|
4249
4263
|
*/
|
|
4250
4264
|
private deletePivotRow;
|
|
4251
4265
|
/**
|
|
4252
|
-
* Resolves the
|
|
4253
|
-
*
|
|
4254
|
-
*
|
|
4255
|
-
* @returns The primary key value or null
|
|
4266
|
+
* Resolves the target-side key value used by a belongs-to-many relation.
|
|
4267
|
+
* The declared targetKey is part of the relation contract and takes
|
|
4268
|
+
* precedence over the target table primary key.
|
|
4256
4269
|
*/
|
|
4257
|
-
private
|
|
4270
|
+
private resolveBelongsToManyTargetValue;
|
|
4258
4271
|
private buildPivotPayload;
|
|
4259
4272
|
private handleMorphOneChange;
|
|
4260
4273
|
private handleMorphManyChange;
|
|
@@ -4369,6 +4382,8 @@ type SaveGraphInputPayload<TEntity> = ColumnInput$1<TEntity> & RelationInput<TEn
|
|
|
4369
4382
|
*/
|
|
4370
4383
|
type PatchGraphInputPayload<TEntity> = Partial<ColumnInput$1<TEntity>> & Partial<RelationInput<TEntity>>;
|
|
4371
4384
|
|
|
4385
|
+
type LifecycleHookTarget = TableDef | EntityConstructor<object>;
|
|
4386
|
+
type LifecycleHookEntity<TTarget extends LifecycleHookTarget> = TTarget extends TableDef ? EntityInstance<TTarget> : TTarget extends EntityConstructor<object> ? InstanceType<TTarget> : never;
|
|
4372
4387
|
/**
|
|
4373
4388
|
* Interface for ORM interceptors that allow hooking into the flush lifecycle.
|
|
4374
4389
|
*/
|
|
@@ -4432,6 +4447,7 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4432
4447
|
/** The tenant ID for multi-tenancy support */
|
|
4433
4448
|
readonly tenantId?: string | number;
|
|
4434
4449
|
private readonly interceptors;
|
|
4450
|
+
private readonly tableHooks;
|
|
4435
4451
|
private saveGraphDefaults?;
|
|
4436
4452
|
private transactionDepth;
|
|
4437
4453
|
private savepointCounter;
|
|
@@ -4512,6 +4528,12 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4512
4528
|
* @returns Array of tracked entities
|
|
4513
4529
|
*/
|
|
4514
4530
|
getEntitiesForTable(table: TableDef): TrackedEntity[];
|
|
4531
|
+
/**
|
|
4532
|
+
* Registers INSERT/UPDATE/DELETE lifecycle hooks for this Session only.
|
|
4533
|
+
* The target can be a TableDef or a decorated entity constructor.
|
|
4534
|
+
* Registering again for the same table replaces the previous hook set.
|
|
4535
|
+
*/
|
|
4536
|
+
registerTableHooks<TTarget extends LifecycleHookTarget>(target: TTarget, hooks: TableHooks<LifecycleHookEntity<TTarget>, OrmSession<E>>): void;
|
|
4515
4537
|
/**
|
|
4516
4538
|
* Registers an interceptor for flush lifecycle hooks.
|
|
4517
4539
|
* @param interceptor - The interceptor to register
|
|
@@ -4520,7 +4542,7 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4520
4542
|
/**
|
|
4521
4543
|
* Registers a domain event handler.
|
|
4522
4544
|
* @param type - The event type
|
|
4523
|
-
* @param handler - The event handler
|
|
4545
|
+
* @param handler - The domain event handler
|
|
4524
4546
|
*/
|
|
4525
4547
|
registerDomainEventHandler<TType extends E['type']>(type: TType, handler: DomainEventHandler<Extract<E, {
|
|
4526
4548
|
type: TType;
|
|
@@ -4599,7 +4621,9 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4599
4621
|
*/
|
|
4600
4622
|
remove(entity: object): Promise<void>;
|
|
4601
4623
|
/**
|
|
4602
|
-
* Flushes pending changes to the database without session
|
|
4624
|
+
* Flushes pending changes to the database without session interceptors,
|
|
4625
|
+
* relation processing, or domain events. Table lifecycle hooks still run
|
|
4626
|
+
* because they are part of the Unit of Work.
|
|
4603
4627
|
*/
|
|
4604
4628
|
flush(): Promise<void>;
|
|
4605
4629
|
/**
|
|
@@ -7908,12 +7932,12 @@ declare const jsonify: <T extends object>(value: T) => Jsonify<T>;
|
|
|
7908
7932
|
*/
|
|
7909
7933
|
interface EntityOptions {
|
|
7910
7934
|
tableName?: string;
|
|
7911
|
-
hooks?: TableHooks;
|
|
7912
7935
|
/** Entity type: 'table' (default) or 'view'. Views are read-only. */
|
|
7913
7936
|
type?: 'table' | 'view';
|
|
7914
7937
|
}
|
|
7915
7938
|
/**
|
|
7916
7939
|
* Class decorator to mark a class as an entity and configure its table mapping.
|
|
7940
|
+
* Runtime lifecycle hooks are registered on OrmSession, not entity metadata.
|
|
7917
7941
|
* @param options - Configuration options for the entity.
|
|
7918
7942
|
* @returns A class decorator that registers the entity metadata.
|
|
7919
7943
|
*/
|
|
@@ -10152,7 +10176,8 @@ declare class TreeManager<T extends TableDef> {
|
|
|
10152
10176
|
*/
|
|
10153
10177
|
insertAsChild(parentId: unknown | null, data: Record<string, unknown>): Promise<unknown>;
|
|
10154
10178
|
/**
|
|
10155
|
-
* Removes a node
|
|
10179
|
+
* Removes a node from its current tree position, promotes its direct children
|
|
10180
|
+
* to the removed node's parent, and retains the removed row as a standalone root.
|
|
10156
10181
|
*/
|
|
10157
10182
|
removeFromTree(node: TreeNodeResult): Promise<void>;
|
|
10158
10183
|
/**
|
|
@@ -10176,6 +10201,8 @@ declare class TreeManager<T extends TableDef> {
|
|
|
10176
10201
|
private createNodeResult;
|
|
10177
10202
|
private getBounds;
|
|
10178
10203
|
private getPrimaryKeyName;
|
|
10204
|
+
private getScopeEntries;
|
|
10205
|
+
private getScopeExpressions;
|
|
10179
10206
|
private getMaxRght;
|
|
10180
10207
|
private shiftForInsert;
|
|
10181
10208
|
private shiftForDelete;
|
|
@@ -10494,4 +10521,4 @@ declare class BulkUpsertExecutor extends BulkBaseExecutor<UpsertExecutorOptions>
|
|
|
10494
10521
|
}
|
|
10495
10522
|
declare function bulkUpsert<TTable extends TableDef>(session: OrmSession, table: TTable, rows: InsertRow[], options?: BulkUpsertOptions): Promise<BulkResult>;
|
|
10496
10523
|
|
|
10497
|
-
export { type AliasRefNode, Alphanumeric, type AnyDomainEvent, type ApiRouteDefinition, type ApplyFilterOptions, type ArithmeticExpressionNode, type TableRef as AstTableRef, AsyncLocalStorage, type AutoCorrectionResult, type AutoTransformResult, type AutoTransformableValidator, BelongsTo, BelongsToMany, type BelongsToManyOptions, type BelongsToManyRelation, type BelongsToOptions, type BelongsToReference, type BelongsToReferenceApi, type BelongsToRelation, type BetterSqlite3ClientLike, type BetterSqlite3Statement, type BetweenExpressionNode, BigIntTypeStrategy, type BinaryExpressionNode, BinaryTypeStrategy, type BitwiseExpressionNode, type BooleanFilter, BooleanTypeStrategy, type BulkBaseOptions, type BulkConcurrency, BulkDeleteExecutor, type BulkDeleteOptions, BulkInsertExecutor, type BulkInsertOptions, type BulkResult, BulkUpdateExecutor, type BulkUpdateOptions, BulkUpsertExecutor, type BulkUpsertOptions, CEP, CNPJ, CPF, type CacheCapabilities, type CacheInvalidator, type CacheOptions, type CacheProvider, type CacheReader, type CacheState, type CacheStrategy, type CacheWriter, type CallProcedureOptions, Capitalize, type CascadeMode, type CaseExpressionNode, type CastExpressionNode, type CheckConstraint, type ChunkCompleteInfo, type ChunkOutcome, type CollateExpressionNode, Column, type ColumnDef, type ColumnDiff, type ColumnInput, type ColumnNode, type ColumnOptions, type ColumnRef, type ColumnToTs, type ColumnType, type ComponentOptions, type ComponentReference, type CompositeTransformer, ConflictBuilder, ConstructorMaterializationStrategy, type ValidationResult as CountryValidationResult, type CountryValidator, type CountryValidatorFactory, type CreateDto, type CreateTediousClientOptions, type CursorPageInfo, type CursorPageOptions, type CursorPageResult, DEFAULT_TREE_CONFIG, type DatabaseCheck, type DatabaseColumn, type DatabaseIndex, type DatabaseSchema, type DatabaseTable, type DatabaseView, type DateFilter, DateTimeTypeStrategy, type DbExecutor, type DbExecutorFactory, DecimalTypeStrategy, type DecoratedEntityInstance, DefaultBelongsToReference, DefaultCacheStrategy, DefaultEntityMaterializer, DefaultHasManyCollection, DefaultManyToManyCollection, DefaultMorphManyCollection, DefaultMorphOneReference, DefaultMorphToReference, DefaultTypeStrategy, type DefaultValue, DeleteQueryBuilder, type DialectName, type DomainEvent, DomainEventBus, type DomainEventHandler, type Dto, type Duration, Email, Entity, type EntityContext, type EntityInstance, type EntityMaterializationStrategy, type EntityMaterializer, type EntityOptions, type PrimaryKey$1 as EntityPrimaryKey, EntityStatus, type ExecuteFilteredPagedOptions, type ExecutionContext, type ExecutionPayload, type ExistsExpressionNode, type ExpressionNode, type ExpressionVisitor, type FieldFilter, type FilterOperator, type FilterValue, type FindChildrenOptions, type FindPathOptions, type ForeignKeyReference, type FunctionNode, type GroupConcatOptions, type HasDomainEvents, HasMany, type HasManyCollection, type HasManyOptions, type HasManyRelation, HasOne, type HasOneOptions, type HasOneReference, type HasOneReferenceApi, type HasOneRelation, type HydrationContext, type HydrationMetadata, type HydrationPivotPlan, type HydrationPlan, type HydrationRelationPlan, type InExpressionNode, type InExpressionRight, type IndexColumn, type IndexDef, type InferRow, type InitialHandlers, InsertQueryBuilder, type InsertRow, IntegerTypeStrategy, InterceptorPipeline, type IntrospectOptions, type InvalidationStrategy, type IsDistinctExpressionNode, type JsonArray, type JsonObject, type JsonPathNode, type JsonValue, type Jsonify, type JsonifyScalar, KeyvCacheAdapter, Length, type LiteralNode, type LiteralValue, type LogicalExpressionNode, Lower, type ManyToManyCollection, MemoryCacheAdapter, MorphMany, type MorphManyOptions, type MorphManyRelation, MorphOne, type MorphOneOptions, type MorphOneRelation, MorphTo, type MorphToOptions, type MorphToRelation, type MoveOptions, type MssqlClientLike, MySqlDialect, type MysqlClientLike, type NestedDtoOptions, type NestedSetBounds, type NestedSetRow, NestedSetStrategy, type NodeWithPk, type NotExpressionNode, type NullExpressionNode, type NumberFilter, type OpenApiComponent, type OpenApiDialect, type OpenApiDocument, type OpenApiDocumentInfo, type OpenApiDocumentOptions, type OpenApiOperation, type OpenApiParameter, type OpenApiParameterObject, type OpenApiResponseObject, type OpenApiSchema, type OpenApiType, type OperandNode, type OperandVisitor, Orm, type OrmCacheOptions, type OrmDomainEvent, type OrmInterceptor, type OrmOptions, OrmSession, type OrmSessionOptions, type PagedResponse, type PaginatedResult, type PaginationParams, type PatchGraphInputPayload, Pattern, Pool, type PoolAdapter, type PoolLease, type PoolOptions, type PooledConnectionAdapter, type PostgresClientLike, PostgresDialect, PrimaryKey, type Primitive, ProcedureCallBuilder, type ProcedureCallNode, type ProcedureDirection, type ProcedureExecutionResult, type ProcedureOutOptions, type ProcedureParamNode, type ProcedureRefNode, type PropertySanitizer, type PropertyTransformer, type PropertyValidator, PrototypeMaterializationStrategy, QueryCacheManager, type QueryContext, type QueryInterceptor, type QueryLogEntry, type QueryLogger, type QueryResult, type RawDefaultValue, type RecoverResult, RedisCacheAdapter, type ReferentialAction, type RelationChange, type RelationChangeEntry, type RelationDef, type RelationFilter, type RelationKey$1 as RelationKey, RelationKinds, type RelationMap, type RelationTargetTable, type RelationType, type RenderColumnOptions, STANDARD_COLUMN_TYPES, type SaveGraphInputPayload, type SaveGraphInputScalar, type SaveGraphJsonScalar, type SaveGraphSessionOptions, type ScalarSubqueryNode, type SchemaChange, type SchemaChangeKind, type SchemaDiffOptions, type SchemaGenerateResult, type SchemaIntrospector, type SchemaPlan, SelectQueryBuilder, type SelectQueryInput, type SelectableKeys, type SimpleQueryRunner, type SimpleWhereInput, type Simplify, SqlServerDialect, type SqliteClientLike, SqliteDialect, type StandardColumnType, type StringFilter, StringTypeStrategy, type SynchronizeOptions, type TableDef, type TableHooks, type TableOptions, type TableRef$1 as TableRef, TagIndex, type TargetType, type TediousColumn, type TediousConnectionLike, type TediousModule, type TediousRequest, type TediousRequestCtor, type TediousTypes, type ThreadedNode, Title, type ToJsonOptions, type TrackedEntity, type TransformContext, type TransformerConfig, type TransformerMetadata, Tree, TreeChildren, type TreeColumns, type TreeConfig, type TreeDecoratorOptions, type TreeInsertData, type TreeListEntry, type TreeListOptions, type TreeListSchemaOptions, TreeManager, type TreeManagerOptions, type TreeMetadata, type TreeMoveData, type TreeNode, type TreeNodeResult, type TreeNodeResultSchemaOptions, type TreeNodeSchemaOptions, TreeParent, type TreeQuery, type TreeScope, type TreeValidationResult, Trim, TypeMappingService, type TypeMappingStrategy, TypeScriptGenerator, type TypedExpression, type TypedLike, type UpdateDto, UpdateQueryBuilder, type UpdateRow, Upper, UuidTypeStrategy, type ValidationOptions, type ValidationResult$1 as ValidationResult, type ValidatorFactoryOptions, type ValueOperandInput, type VectorInput, type VectorMetric, type WhereInput, type WindowFunctionNode, type WithRelations, abs, acos, add, addDomainEvent, addEntityRelation, addRelation, age, aliasRef, and, applyFilter, applyNullability, arrayAppend, asType, ascii, asin, atan, atan2, avg, belongsTo, belongsToMany, between, bitAnd, bitLength, bitOr, bitXor, bootstrapEntities, buildFilterExpression, buildScopeConditions, bulkDelete, bulkDeleteWhere, bulkInsert, bulkUpdate, bulkUpdateWhere, bulkUpsert, calculateRowDepths, calculateTotalPages, callProcedure, canonicalizeSchema, caseWhen, cast, cbrt, ceil, ceiling, char, charLength, chr, clearExpressionDispatchers, clearOperandDispatchers, coalesce, col, collate, columnOperand, columnToFilterSchema, columnToOpenApiSchema, columnTypeToOpenApiFormat, columnTypeToOpenApiType, computePaginationMetadata, computeSchemaHash, concat, concatWs, correlateBy, cos, cosineDistance, cot, count, countAll, createApiComponentsSection, createBetterSqlite3Executor, createDeterministicNamingState, createDtoToOpenApiSchema, createEntityFromRow, createEntityProxy, createExecutorFromQueryRunner, createMssqlExecutor, createMysqlExecutor, createPooledExecutorFactory, createPostgresExecutor, createQueryLoggingExecutor, createRef, createSqliteExecutor, createTediousExecutor, createTediousMssqlClient, createTreeManager, currentDate, currentTime, dateAdd, dateDiff, dateFormat, dateSub, dateTrunc, day, dayOfWeek, deepCloneSchema, defineTable, degrees, deleteFrom, denseRank, diffSchema, div, dotProduct, dtoToOpenApiSchema, endOfMonth, entityRef, entityRefs, eq, esel, euclideanDistance, exclude, executeFilteredPaged, executeHydrated, executeHydratedPlain, executeHydratedPlainWithContexts, executeHydratedWithContexts, executeProcedureAst, executeSchemaSql, executeSchemaSqlFor, exists, exp, extract, extractReusableSchemas, extractScopeValues, firstValue, floor, formatDuration, formatTreeList, fromUnixTime, generateComponentSchemas, generateCreateTableSql, generateOpenApiDocument, generateRelationComponents, generateSchemaSql, generateSchemaSqlFor, generateTreeComponents, getColumn, getColumnMap, getColumnType, getDateKind, getDecoratorMetadata, getDeterministicComponentName, getOpenApiVersionForDialect, getRegisteredValidators, getSchemaIntrospector, getTableDefFromEntity, getTreeBounds, getTreeColumns, getTreeConfig, getTreeMetadata, getTreeParentId, greatest, groupConcat, gt, gte, hasMany, hasNextPage as hasNextPageMeta, hasOne, hasPrevPage as hasPrevPageMeta, hasTreeBehavior, hasValidator, hour, hydrateRows, ifNull, inList, inSubquery, initcap, innerProduct, insertInto, instr, introspectSchema, isCaseExpressionNode, isCastExpressionNode, isCollateExpressionNode, isComponentReference, isDistinctFrom, isExpressionSelectionNode, isFunctionNode, isMorphRelation, isNotDistinctFrom, isNotNull, isNull, isNullableColumn, isOperandNode, isSingleTargetRelation, isTableDef, isTreeConfig, isValidDuration, isValueOperandInput, isWindowFunctionNode, jsonArrayAgg, jsonContains, jsonLength, jsonPath, jsonSet, jsonify, l1Distance, l2Distance, lag, lastValue, lead, least, left, length, like, ln, loadBelongsToManyRelation, loadBelongsToRelation, loadHasManyRelation, loadHasOneRelation, loadMorphManyRelation, loadMorphOneRelation, loadMorphToRelation, localTime, localTimestamp, locate, log, log10, log2, logBase, lower, lpad, lt, lte, ltrim, manhattanDistance, mapFields, materializeAs, max, md5, mergeSchemas, min, minute, mod, month, morphMany, morphOne, morphTo, mul, neq, nestedDtoToOpenApiSchema, nestedWhereInputToOpenApiSchema, normalizeColumnType, not, notBetween, notExists, notInList, notInSubquery, notLike, now, ntile, nullif, octetLength, or, outerRef, pagedResponseToOpenApiSchema, paginationParamsSchema, parameterToRef, parseDuration, payloadResultSets, pi, pick, position, pow, power, quarter, radians, rand, random, rank, registerExpressionDispatcher, registerOperandDispatcher, registerSchemaIntrospector, registerValidator, relationFilterToOpenApiSchema, relationLoaderCache, renderColumnDefinition, renderTypeWithArgs, repeat, replace, replaceWithRefs, resolveTreeConfig, resolveValidator, responseToRef, reverse, right, round, rowNumber, rowsToQueryResult, rpad, rtrim, schemaToJson, schemaToRef, second, sel, selectFrom, selectFromEntity, setRelations, setTreeBounds, setTreeMetadata, setTreeParentId, sha1, sha2, shiftLeft, shiftRight, sign, sin, space, sqrt, stddev, sub, substr, sum, syncTreeEntityMetadata, synchronizeSchema, tableRef, tan, threadResults, threadedNodeToOpenApiSchema, toColumnRef, toExecutionPayload, toPagedResponse, toPagedResponseBuilder, toPaginationParams, toResponse, toResponseBuilder, toTableRef, treeEntityRegistry, treeListEntryToOpenApiSchema, treeNodeResultToOpenApiSchema, treeNodeToOpenApiSchema, treeQuery, trim, trunc, truncate, typeMappingService, unixTimestamp, update, updateDtoToOpenApiSchema, updateDtoWithRelationsToOpenApiSchema, upper, utcNow, validateTreeTable, valueToOperand, variance, vectorDistance, vectorMatch, visitExpression, visitOperand, weekOfYear, whereInputToOpenApiSchema, whereInputWithRelationsToOpenApiSchema, windowFunction, withDefaults, withDefaultsBuilder, year };
|
|
10524
|
+
export { type AliasRefNode, Alphanumeric, type AnyDomainEvent, type ApiRouteDefinition, type ApplyFilterOptions, type ArithmeticExpressionNode, type TableRef as AstTableRef, AsyncLocalStorage, type AutoCorrectionResult, type AutoTransformResult, type AutoTransformableValidator, BelongsTo, BelongsToMany, type BelongsToManyOptions, type BelongsToManyRelation, type BelongsToOptions, type BelongsToReference, type BelongsToReferenceApi, type BelongsToRelation, type BetterSqlite3ClientLike, type BetterSqlite3Statement, type BetweenExpressionNode, BigIntTypeStrategy, type BinaryExpressionNode, BinaryTypeStrategy, type BitwiseExpressionNode, type BooleanFilter, BooleanTypeStrategy, type BulkBaseOptions, type BulkConcurrency, BulkDeleteExecutor, type BulkDeleteOptions, BulkInsertExecutor, type BulkInsertOptions, type BulkResult, BulkUpdateExecutor, type BulkUpdateOptions, BulkUpsertExecutor, type BulkUpsertOptions, CEP, CNPJ, CPF, type CacheCapabilities, type CacheInvalidator, type CacheOptions, type CacheProvider, type CacheReader, type CacheState, type CacheStrategy, type CacheWriter, type CallProcedureOptions, Capitalize, type CascadeMode, type CaseExpressionNode, type CastExpressionNode, type CheckConstraint, type ChunkCompleteInfo, type ChunkOutcome, type CollateExpressionNode, Column, type ColumnDef, type ColumnDiff, type ColumnInput, type ColumnNode, type ColumnOptions, type ColumnRef, type ColumnToTs, type ColumnType, type ComponentOptions, type ComponentReference, type CompositeTransformer, ConflictBuilder, ConstructorMaterializationStrategy, type ValidationResult as CountryValidationResult, type CountryValidator, type CountryValidatorFactory, type CreateDto, type CreateTediousClientOptions, type CursorPageInfo, type CursorPageOptions, type CursorPageResult, DEFAULT_TREE_CONFIG, type DatabaseCheck, type DatabaseColumn, type DatabaseIndex, type DatabaseSchema, type DatabaseTable, type DatabaseView, type DateFilter, DateTimeTypeStrategy, type DbExecutor, type DbExecutorFactory, DecimalTypeStrategy, type DecoratedEntityInstance, DefaultBelongsToReference, DefaultCacheStrategy, DefaultEntityMaterializer, DefaultHasManyCollection, DefaultManyToManyCollection, DefaultMorphManyCollection, DefaultMorphOneReference, DefaultMorphToReference, DefaultTypeStrategy, type DefaultValue, DeleteQueryBuilder, type DialectName, type DomainEvent, DomainEventBus, type DomainEventHandler, type Dto, type Duration, Email, Entity, type EntityContext, type EntityInstance, type EntityMaterializationStrategy, type EntityMaterializer, type EntityOptions, type PrimaryKey$1 as EntityPrimaryKey, EntityStatus, type ExecuteFilteredPagedOptions, type ExecutionContext, type ExecutionPayload, type ExistsExpressionNode, type ExpressionNode, type ExpressionVisitor, type FieldFilter, type FilterOperator, type FilterValue, type FindChildrenOptions, type FindPathOptions, type ForeignKeyReference, type FunctionNode, type GroupConcatOptions, type HasDomainEvents, HasMany, type HasManyCollection, type HasManyOptions, type HasManyRelation, HasOne, type HasOneOptions, type HasOneReference, type HasOneReferenceApi, type HasOneRelation, type HydrationContext, type HydrationMetadata, type HydrationPivotPlan, type HydrationPlan, type HydrationRelationPlan, type InExpressionNode, type InExpressionRight, type IndexColumn, type IndexDef, type InferRow, type InitialHandlers, InsertQueryBuilder, type InsertRow, IntegerTypeStrategy, InterceptorPipeline, type IntrospectOptions, type InvalidationStrategy, type IsDistinctExpressionNode, type JsonArray, type JsonObject, type JsonPathNode, type JsonValue, type Jsonify, type JsonifyScalar, KeyvCacheAdapter, Length, type LiteralNode, type LiteralValue, type LogicalExpressionNode, Lower, type ManyToManyCollection, MemoryCacheAdapter, MorphMany, type MorphManyOptions, type MorphManyRelation, MorphOne, type MorphOneOptions, type MorphOneRelation, MorphTo, type MorphToOptions, type MorphToRelation, type MoveOptions, type MssqlClientLike, MySqlDialect, type MysqlClientLike, type NestedDtoOptions, type NestedSetBounds, type NestedSetRow, NestedSetStrategy, type NodeWithPk, type NotExpressionNode, type NullExpressionNode, type NumberFilter, type OpenApiComponent, type OpenApiDialect, type OpenApiDocument, type OpenApiDocumentInfo, type OpenApiDocumentOptions, type OpenApiOperation, type OpenApiParameter, type OpenApiParameterObject, type OpenApiResponseObject, type OpenApiSchema, type OpenApiType, type OperandNode, type OperandVisitor, Orm, type OrmCacheOptions, type OrmDomainEvent, type OrmInterceptor, type OrmOptions, OrmSession, type OrmSessionOptions, type PagedResponse, type PaginatedResult, type PaginationParams, type PatchGraphInputPayload, Pattern, Pool, type PoolAdapter, type PoolLease, type PoolOptions, type PooledConnectionAdapter, type PostgresClientLike, PostgresDialect, PrimaryKey, type Primitive, ProcedureCallBuilder, type ProcedureCallNode, type ProcedureDirection, type ProcedureExecutionResult, type ProcedureOutOptions, type ProcedureParamNode, type ProcedureRefNode, type PropertySanitizer, type PropertyTransformer, type PropertyValidator, PrototypeMaterializationStrategy, QueryCacheManager, type QueryContext, type QueryInterceptor, type QueryLogEntry, type QueryLogger, type QueryResult, type RawDefaultValue, type RecoverResult, RedisCacheAdapter, type ReferentialAction, type RelationChange, type RelationChangeEntry, type RelationDef, type RelationFilter, type RelationKey$1 as RelationKey, RelationKinds, type RelationMap, type RelationTargetTable, type RelationType, type RenderColumnOptions, STANDARD_COLUMN_TYPES, type SaveGraphInputPayload, type SaveGraphInputScalar, type SaveGraphJsonScalar, type SaveGraphSessionOptions, type ScalarSubqueryNode, type SchemaChange, type SchemaChangeKind, type SchemaDiffOptions, type SchemaGenerateResult, type SchemaIntrospector, type SchemaPlan, SelectQueryBuilder, type SelectQueryInput, type SelectableKeys, type SimpleQueryRunner, type SimpleWhereInput, type Simplify, SqlServerDialect, type SqliteClientLike, SqliteDialect, type StandardColumnType, type StringFilter, StringTypeStrategy, type SynchronizeOptions, type TableDef, type TableHookResolver, type TableHooks, type TableOptions, type TableRef$1 as TableRef, TagIndex, type TargetType, type TediousColumn, type TediousConnectionLike, type TediousModule, type TediousRequest, type TediousRequestCtor, type TediousTypes, type ThreadedNode, Title, type ToJsonOptions, type TrackedEntity, type TransformContext, type TransformerConfig, type TransformerMetadata, Tree, TreeChildren, type TreeColumns, type TreeConfig, type TreeDecoratorOptions, type TreeInsertData, type TreeListEntry, type TreeListOptions, type TreeListSchemaOptions, TreeManager, type TreeManagerOptions, type TreeMetadata, type TreeMoveData, type TreeNode, type TreeNodeResult, type TreeNodeResultSchemaOptions, type TreeNodeSchemaOptions, TreeParent, type TreeQuery, type TreeScope, type TreeValidationResult, Trim, TypeMappingService, type TypeMappingStrategy, TypeScriptGenerator, type TypedExpression, type TypedLike, type UpdateDto, UpdateQueryBuilder, type UpdateRow, Upper, UuidTypeStrategy, type ValidationOptions, type ValidationResult$1 as ValidationResult, type ValidatorFactoryOptions, type ValueOperandInput, type VectorInput, type VectorMetric, type WhereInput, type WindowFunctionNode, type WithRelations, abs, acos, add, addDomainEvent, addEntityRelation, addRelation, age, aliasRef, and, applyFilter, applyNullability, arrayAppend, asType, ascii, asin, atan, atan2, avg, belongsTo, belongsToMany, between, bitAnd, bitLength, bitOr, bitXor, bootstrapEntities, buildFilterExpression, buildScopeConditions, bulkDelete, bulkDeleteWhere, bulkInsert, bulkUpdate, bulkUpdateWhere, bulkUpsert, calculateRowDepths, calculateTotalPages, callProcedure, canonicalizeSchema, caseWhen, cast, cbrt, ceil, ceiling, char, charLength, chr, clearExpressionDispatchers, clearOperandDispatchers, coalesce, col, collate, columnOperand, columnToFilterSchema, columnToOpenApiSchema, columnTypeToOpenApiFormat, columnTypeToOpenApiType, computePaginationMetadata, computeSchemaHash, concat, concatWs, correlateBy, cos, cosineDistance, cot, count, countAll, createApiComponentsSection, createBetterSqlite3Executor, createDeterministicNamingState, createDtoToOpenApiSchema, createEntityFromRow, createEntityProxy, createExecutorFromQueryRunner, createMssqlExecutor, createMysqlExecutor, createPooledExecutorFactory, createPostgresExecutor, createQueryLoggingExecutor, createRef, createSqliteExecutor, createTediousExecutor, createTediousMssqlClient, createTreeManager, currentDate, currentTime, dateAdd, dateDiff, dateFormat, dateSub, dateTrunc, day, dayOfWeek, deepCloneSchema, defineTable, degrees, deleteFrom, denseRank, diffSchema, div, dotProduct, dtoToOpenApiSchema, endOfMonth, entityRef, entityRefs, eq, esel, euclideanDistance, exclude, executeFilteredPaged, executeHydrated, executeHydratedPlain, executeHydratedPlainWithContexts, executeHydratedWithContexts, executeProcedureAst, executeSchemaSql, executeSchemaSqlFor, exists, exp, extract, extractReusableSchemas, extractScopeValues, firstValue, floor, formatDuration, formatTreeList, fromUnixTime, generateComponentSchemas, generateCreateTableSql, generateOpenApiDocument, generateRelationComponents, generateSchemaSql, generateSchemaSqlFor, generateTreeComponents, getColumn, getColumnMap, getColumnType, getDateKind, getDecoratorMetadata, getDeterministicComponentName, getOpenApiVersionForDialect, getRegisteredValidators, getSchemaIntrospector, getTableDefFromEntity, getTreeBounds, getTreeColumns, getTreeConfig, getTreeMetadata, getTreeParentId, greatest, groupConcat, gt, gte, hasMany, hasNextPage as hasNextPageMeta, hasOne, hasPrevPage as hasPrevPageMeta, hasTreeBehavior, hasValidator, hour, hydrateRows, ifNull, inList, inSubquery, initcap, innerProduct, insertInto, instr, introspectSchema, isCaseExpressionNode, isCastExpressionNode, isCollateExpressionNode, isComponentReference, isDistinctFrom, isExpressionSelectionNode, isFunctionNode, isMorphRelation, isNotDistinctFrom, isNotNull, isNull, isNullableColumn, isOperandNode, isSingleTargetRelation, isTableDef, isTreeConfig, isValidDuration, isValueOperandInput, isWindowFunctionNode, jsonArrayAgg, jsonContains, jsonLength, jsonPath, jsonSet, jsonify, l1Distance, l2Distance, lag, lastValue, lead, least, left, length, like, ln, loadBelongsToManyRelation, loadBelongsToRelation, loadHasManyRelation, loadHasOneRelation, loadMorphManyRelation, loadMorphOneRelation, loadMorphToRelation, localTime, localTimestamp, locate, log, log10, log2, logBase, lower, lpad, lt, lte, ltrim, manhattanDistance, mapFields, materializeAs, max, md5, mergeSchemas, min, minute, mod, month, morphMany, morphOne, morphTo, mul, neq, nestedDtoToOpenApiSchema, nestedWhereInputToOpenApiSchema, normalizeColumnType, not, notBetween, notExists, notInList, notInSubquery, notLike, now, ntile, nullif, octetLength, or, outerRef, pagedResponseToOpenApiSchema, paginationParamsSchema, parameterToRef, parseDuration, payloadResultSets, pi, pick, position, pow, power, quarter, radians, rand, random, rank, registerExpressionDispatcher, registerOperandDispatcher, registerSchemaIntrospector, registerValidator, relationFilterToOpenApiSchema, relationLoaderCache, renderColumnDefinition, renderTypeWithArgs, repeat, replace, replaceWithRefs, resolveTreeConfig, resolveValidator, responseToRef, reverse, right, round, rowNumber, rowsToQueryResult, rpad, rtrim, schemaToJson, schemaToRef, second, sel, selectFrom, selectFromEntity, setRelations, setTreeBounds, setTreeMetadata, setTreeParentId, sha1, sha2, shiftLeft, shiftRight, sign, sin, space, sqrt, stddev, sub, substr, sum, syncTreeEntityMetadata, synchronizeSchema, tableRef, tan, threadResults, threadedNodeToOpenApiSchema, toColumnRef, toExecutionPayload, toPagedResponse, toPagedResponseBuilder, toPaginationParams, toResponse, toResponseBuilder, toTableRef, treeEntityRegistry, treeListEntryToOpenApiSchema, treeNodeResultToOpenApiSchema, treeNodeToOpenApiSchema, treeQuery, trim, trunc, truncate, typeMappingService, unixTimestamp, update, updateDtoToOpenApiSchema, updateDtoWithRelationsToOpenApiSchema, upper, utcNow, validateTreeTable, valueToOperand, variance, vectorDistance, vectorMatch, visitExpression, visitOperand, weekOfYear, whereInputToOpenApiSchema, whereInputWithRelationsToOpenApiSchema, windowFunction, withDefaults, withDefaultsBuilder, year };
|
package/dist/index.d.ts
CHANGED
|
@@ -436,19 +436,14 @@ interface TableOptions {
|
|
|
436
436
|
charset?: string;
|
|
437
437
|
collation?: string;
|
|
438
438
|
}
|
|
439
|
-
interface TableHooks<TEntity = unknown, TContext = unknown> {
|
|
440
|
-
beforeInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
441
|
-
afterInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
442
|
-
beforeUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
443
|
-
afterUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
444
|
-
beforeDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
445
|
-
afterDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
446
|
-
}
|
|
447
439
|
/**
|
|
448
|
-
* Definition of a database table with its columns and relationships
|
|
440
|
+
* Definition of a database table with its columns and relationships.
|
|
441
|
+
*
|
|
442
|
+
* Runtime lifecycle policy intentionally does not live here. TableDef is
|
|
443
|
+
* mapping/schema metadata and can be shared by multiple OrmSession instances.
|
|
449
444
|
* @typeParam T - Type of the columns record
|
|
450
445
|
*/
|
|
451
|
-
interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDef
|
|
446
|
+
interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDef>> {
|
|
452
447
|
/** Name of the table */
|
|
453
448
|
name: string;
|
|
454
449
|
/** Optional schema/catalog name */
|
|
@@ -457,8 +452,6 @@ interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDe
|
|
|
457
452
|
columns: T;
|
|
458
453
|
/** Record of relationship definitions keyed by relation name */
|
|
459
454
|
relations: Record<string, RelationDef>;
|
|
460
|
-
/** Optional lifecycle hooks */
|
|
461
|
-
hooks?: TableHooks<TEntity, TContext>;
|
|
462
455
|
/** Composite primary key definition (falls back to column.primary flags) */
|
|
463
456
|
primaryKey?: string[];
|
|
464
457
|
/** Secondary indexes */
|
|
@@ -473,11 +466,12 @@ interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDe
|
|
|
473
466
|
collation?: string;
|
|
474
467
|
}
|
|
475
468
|
/**
|
|
476
|
-
* Creates a table definition with columns and relationships
|
|
469
|
+
* Creates a table definition with columns and relationships.
|
|
477
470
|
* @typeParam T - Type of the columns record
|
|
478
471
|
* @param name - Name of the table
|
|
479
|
-
* @param columns - Record of column definitions
|
|
472
|
+
* @param columns - Record of column definitions keyed by property name
|
|
480
473
|
* @param relations - Record of relationship definitions (optional)
|
|
474
|
+
* @param options - Schema/table options (optional)
|
|
481
475
|
* @returns Complete table definition with runtime-filled column metadata
|
|
482
476
|
*
|
|
483
477
|
* @example
|
|
@@ -489,7 +483,7 @@ interface TableDef<T extends Record<string, ColumnDef> = Record<string, ColumnDe
|
|
|
489
483
|
* });
|
|
490
484
|
* ```
|
|
491
485
|
*/
|
|
492
|
-
declare const defineTable: <T extends Record<string, ColumnDef
|
|
486
|
+
declare const defineTable: <T extends Record<string, ColumnDef>>(name: string, columns: T, relations?: Record<string, RelationDef>, options?: TableOptions) => TableDef<T>;
|
|
493
487
|
/**
|
|
494
488
|
* Assigns relations to a table definition while preserving literal typing.
|
|
495
489
|
*/
|
|
@@ -3183,7 +3177,7 @@ interface MorphManyRelationMetadata {
|
|
|
3183
3177
|
cascade?: CascadeMode;
|
|
3184
3178
|
}
|
|
3185
3179
|
/**
|
|
3186
|
-
* Union type for all relation metadata.
|
|
3180
|
+
* Union type for all relation metadata types.
|
|
3187
3181
|
*/
|
|
3188
3182
|
type RelationMetadata = HasManyRelationMetadata | HasOneRelationMetadata | BelongsToRelationMetadata | BelongsToManyRelationMetadata | MorphToRelationMetadata | MorphOneRelationMetadata | MorphManyRelationMetadata;
|
|
3189
3183
|
|
|
@@ -3918,6 +3912,24 @@ declare class IdentityMap {
|
|
|
3918
3912
|
private toIdentityKey;
|
|
3919
3913
|
}
|
|
3920
3914
|
|
|
3915
|
+
/**
|
|
3916
|
+
* Entity lifecycle hooks executed by the Unit of Work.
|
|
3917
|
+
*
|
|
3918
|
+
* Hooks are runtime/session configuration. They are intentionally not stored on
|
|
3919
|
+
* TableDef so the same mapping can be used by independent sessions with
|
|
3920
|
+
* different lifecycle policies.
|
|
3921
|
+
*/
|
|
3922
|
+
interface TableHooks<TEntity = unknown, TContext = unknown> {
|
|
3923
|
+
beforeInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3924
|
+
afterInsert?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3925
|
+
beforeUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3926
|
+
afterUpdate?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3927
|
+
beforeDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3928
|
+
afterDelete?(ctx: TContext, entity: TEntity): Promise<void> | void;
|
|
3929
|
+
}
|
|
3930
|
+
/** @internal */
|
|
3931
|
+
type TableHookResolver = (table: TableDef) => TableHooks | undefined;
|
|
3932
|
+
|
|
3921
3933
|
/**
|
|
3922
3934
|
* Unit of Work pattern implementation for tracking entity changes.
|
|
3923
3935
|
*/
|
|
@@ -3926,6 +3938,7 @@ declare class UnitOfWork {
|
|
|
3926
3938
|
private readonly executor;
|
|
3927
3939
|
private readonly identityMap;
|
|
3928
3940
|
private readonly hookContext;
|
|
3941
|
+
private readonly resolveTableHooks;
|
|
3929
3942
|
private readonly trackedEntities;
|
|
3930
3943
|
/**
|
|
3931
3944
|
* Creates a new UnitOfWork instance.
|
|
@@ -3933,8 +3946,9 @@ declare class UnitOfWork {
|
|
|
3933
3946
|
* @param executor - The database executor
|
|
3934
3947
|
* @param identityMap - The identity map
|
|
3935
3948
|
* @param hookContext - Function to get the hook context
|
|
3949
|
+
* @param resolveTableHooks - Session/runtime lifecycle hook resolver
|
|
3936
3950
|
*/
|
|
3937
|
-
constructor(dialect: Dialect, executor: DbExecutor, identityMap: IdentityMap, hookContext: () => unknown);
|
|
3951
|
+
constructor(dialect: Dialect, executor: DbExecutor, identityMap: IdentityMap, hookContext: () => unknown, resolveTableHooks?: TableHookResolver);
|
|
3938
3952
|
/**
|
|
3939
3953
|
* Gets the identity buckets map.
|
|
3940
3954
|
*/
|
|
@@ -4018,7 +4032,7 @@ declare class UnitOfWork {
|
|
|
4018
4032
|
*/
|
|
4019
4033
|
private flushDelete;
|
|
4020
4034
|
/**
|
|
4021
|
-
* Runs a
|
|
4035
|
+
* Runs a lifecycle hook if defined.
|
|
4022
4036
|
* @param hook - The hook function
|
|
4023
4037
|
* @param tracked - The tracked entity
|
|
4024
4038
|
*/
|
|
@@ -4230,14 +4244,14 @@ declare class RelationChangeProcessor {
|
|
|
4230
4244
|
* Inserts a pivot row for belongs-to-many relations.
|
|
4231
4245
|
* @param relation - The belongs-to-many relation
|
|
4232
4246
|
* @param rootId - The root entity's primary key value
|
|
4233
|
-
* @param targetId - The target entity's
|
|
4247
|
+
* @param targetId - The target entity's relation key value
|
|
4234
4248
|
*/
|
|
4235
4249
|
private insertPivotRow;
|
|
4236
4250
|
/**
|
|
4237
4251
|
* Updates a pivot row for belongs-to-many relations.
|
|
4238
4252
|
* @param relation - The belongs-to-many relation
|
|
4239
4253
|
* @param rootId - The root entity's primary key value
|
|
4240
|
-
* @param targetId - The target entity's
|
|
4254
|
+
* @param targetId - The target entity's relation key value
|
|
4241
4255
|
* @param pivotPayload - The pivot columns to update
|
|
4242
4256
|
*/
|
|
4243
4257
|
private updatePivotRow;
|
|
@@ -4245,16 +4259,15 @@ declare class RelationChangeProcessor {
|
|
|
4245
4259
|
* Deletes a pivot row for belongs-to-many relations.
|
|
4246
4260
|
* @param relation - The belongs-to-many relation
|
|
4247
4261
|
* @param rootId - The root entity's primary key value
|
|
4248
|
-
* @param targetId - The target entity's
|
|
4262
|
+
* @param targetId - The target entity's relation key value
|
|
4249
4263
|
*/
|
|
4250
4264
|
private deletePivotRow;
|
|
4251
4265
|
/**
|
|
4252
|
-
* Resolves the
|
|
4253
|
-
*
|
|
4254
|
-
*
|
|
4255
|
-
* @returns The primary key value or null
|
|
4266
|
+
* Resolves the target-side key value used by a belongs-to-many relation.
|
|
4267
|
+
* The declared targetKey is part of the relation contract and takes
|
|
4268
|
+
* precedence over the target table primary key.
|
|
4256
4269
|
*/
|
|
4257
|
-
private
|
|
4270
|
+
private resolveBelongsToManyTargetValue;
|
|
4258
4271
|
private buildPivotPayload;
|
|
4259
4272
|
private handleMorphOneChange;
|
|
4260
4273
|
private handleMorphManyChange;
|
|
@@ -4369,6 +4382,8 @@ type SaveGraphInputPayload<TEntity> = ColumnInput$1<TEntity> & RelationInput<TEn
|
|
|
4369
4382
|
*/
|
|
4370
4383
|
type PatchGraphInputPayload<TEntity> = Partial<ColumnInput$1<TEntity>> & Partial<RelationInput<TEntity>>;
|
|
4371
4384
|
|
|
4385
|
+
type LifecycleHookTarget = TableDef | EntityConstructor<object>;
|
|
4386
|
+
type LifecycleHookEntity<TTarget extends LifecycleHookTarget> = TTarget extends TableDef ? EntityInstance<TTarget> : TTarget extends EntityConstructor<object> ? InstanceType<TTarget> : never;
|
|
4372
4387
|
/**
|
|
4373
4388
|
* Interface for ORM interceptors that allow hooking into the flush lifecycle.
|
|
4374
4389
|
*/
|
|
@@ -4432,6 +4447,7 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4432
4447
|
/** The tenant ID for multi-tenancy support */
|
|
4433
4448
|
readonly tenantId?: string | number;
|
|
4434
4449
|
private readonly interceptors;
|
|
4450
|
+
private readonly tableHooks;
|
|
4435
4451
|
private saveGraphDefaults?;
|
|
4436
4452
|
private transactionDepth;
|
|
4437
4453
|
private savepointCounter;
|
|
@@ -4512,6 +4528,12 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4512
4528
|
* @returns Array of tracked entities
|
|
4513
4529
|
*/
|
|
4514
4530
|
getEntitiesForTable(table: TableDef): TrackedEntity[];
|
|
4531
|
+
/**
|
|
4532
|
+
* Registers INSERT/UPDATE/DELETE lifecycle hooks for this Session only.
|
|
4533
|
+
* The target can be a TableDef or a decorated entity constructor.
|
|
4534
|
+
* Registering again for the same table replaces the previous hook set.
|
|
4535
|
+
*/
|
|
4536
|
+
registerTableHooks<TTarget extends LifecycleHookTarget>(target: TTarget, hooks: TableHooks<LifecycleHookEntity<TTarget>, OrmSession<E>>): void;
|
|
4515
4537
|
/**
|
|
4516
4538
|
* Registers an interceptor for flush lifecycle hooks.
|
|
4517
4539
|
* @param interceptor - The interceptor to register
|
|
@@ -4520,7 +4542,7 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4520
4542
|
/**
|
|
4521
4543
|
* Registers a domain event handler.
|
|
4522
4544
|
* @param type - The event type
|
|
4523
|
-
* @param handler - The event handler
|
|
4545
|
+
* @param handler - The domain event handler
|
|
4524
4546
|
*/
|
|
4525
4547
|
registerDomainEventHandler<TType extends E['type']>(type: TType, handler: DomainEventHandler<Extract<E, {
|
|
4526
4548
|
type: TType;
|
|
@@ -4599,7 +4621,9 @@ declare class OrmSession<E extends DomainEvent = OrmDomainEvent> implements Enti
|
|
|
4599
4621
|
*/
|
|
4600
4622
|
remove(entity: object): Promise<void>;
|
|
4601
4623
|
/**
|
|
4602
|
-
* Flushes pending changes to the database without session
|
|
4624
|
+
* Flushes pending changes to the database without session interceptors,
|
|
4625
|
+
* relation processing, or domain events. Table lifecycle hooks still run
|
|
4626
|
+
* because they are part of the Unit of Work.
|
|
4603
4627
|
*/
|
|
4604
4628
|
flush(): Promise<void>;
|
|
4605
4629
|
/**
|
|
@@ -7908,12 +7932,12 @@ declare const jsonify: <T extends object>(value: T) => Jsonify<T>;
|
|
|
7908
7932
|
*/
|
|
7909
7933
|
interface EntityOptions {
|
|
7910
7934
|
tableName?: string;
|
|
7911
|
-
hooks?: TableHooks;
|
|
7912
7935
|
/** Entity type: 'table' (default) or 'view'. Views are read-only. */
|
|
7913
7936
|
type?: 'table' | 'view';
|
|
7914
7937
|
}
|
|
7915
7938
|
/**
|
|
7916
7939
|
* Class decorator to mark a class as an entity and configure its table mapping.
|
|
7940
|
+
* Runtime lifecycle hooks are registered on OrmSession, not entity metadata.
|
|
7917
7941
|
* @param options - Configuration options for the entity.
|
|
7918
7942
|
* @returns A class decorator that registers the entity metadata.
|
|
7919
7943
|
*/
|
|
@@ -10152,7 +10176,8 @@ declare class TreeManager<T extends TableDef> {
|
|
|
10152
10176
|
*/
|
|
10153
10177
|
insertAsChild(parentId: unknown | null, data: Record<string, unknown>): Promise<unknown>;
|
|
10154
10178
|
/**
|
|
10155
|
-
* Removes a node
|
|
10179
|
+
* Removes a node from its current tree position, promotes its direct children
|
|
10180
|
+
* to the removed node's parent, and retains the removed row as a standalone root.
|
|
10156
10181
|
*/
|
|
10157
10182
|
removeFromTree(node: TreeNodeResult): Promise<void>;
|
|
10158
10183
|
/**
|
|
@@ -10176,6 +10201,8 @@ declare class TreeManager<T extends TableDef> {
|
|
|
10176
10201
|
private createNodeResult;
|
|
10177
10202
|
private getBounds;
|
|
10178
10203
|
private getPrimaryKeyName;
|
|
10204
|
+
private getScopeEntries;
|
|
10205
|
+
private getScopeExpressions;
|
|
10179
10206
|
private getMaxRght;
|
|
10180
10207
|
private shiftForInsert;
|
|
10181
10208
|
private shiftForDelete;
|
|
@@ -10494,4 +10521,4 @@ declare class BulkUpsertExecutor extends BulkBaseExecutor<UpsertExecutorOptions>
|
|
|
10494
10521
|
}
|
|
10495
10522
|
declare function bulkUpsert<TTable extends TableDef>(session: OrmSession, table: TTable, rows: InsertRow[], options?: BulkUpsertOptions): Promise<BulkResult>;
|
|
10496
10523
|
|
|
10497
|
-
export { type AliasRefNode, Alphanumeric, type AnyDomainEvent, type ApiRouteDefinition, type ApplyFilterOptions, type ArithmeticExpressionNode, type TableRef as AstTableRef, AsyncLocalStorage, type AutoCorrectionResult, type AutoTransformResult, type AutoTransformableValidator, BelongsTo, BelongsToMany, type BelongsToManyOptions, type BelongsToManyRelation, type BelongsToOptions, type BelongsToReference, type BelongsToReferenceApi, type BelongsToRelation, type BetterSqlite3ClientLike, type BetterSqlite3Statement, type BetweenExpressionNode, BigIntTypeStrategy, type BinaryExpressionNode, BinaryTypeStrategy, type BitwiseExpressionNode, type BooleanFilter, BooleanTypeStrategy, type BulkBaseOptions, type BulkConcurrency, BulkDeleteExecutor, type BulkDeleteOptions, BulkInsertExecutor, type BulkInsertOptions, type BulkResult, BulkUpdateExecutor, type BulkUpdateOptions, BulkUpsertExecutor, type BulkUpsertOptions, CEP, CNPJ, CPF, type CacheCapabilities, type CacheInvalidator, type CacheOptions, type CacheProvider, type CacheReader, type CacheState, type CacheStrategy, type CacheWriter, type CallProcedureOptions, Capitalize, type CascadeMode, type CaseExpressionNode, type CastExpressionNode, type CheckConstraint, type ChunkCompleteInfo, type ChunkOutcome, type CollateExpressionNode, Column, type ColumnDef, type ColumnDiff, type ColumnInput, type ColumnNode, type ColumnOptions, type ColumnRef, type ColumnToTs, type ColumnType, type ComponentOptions, type ComponentReference, type CompositeTransformer, ConflictBuilder, ConstructorMaterializationStrategy, type ValidationResult as CountryValidationResult, type CountryValidator, type CountryValidatorFactory, type CreateDto, type CreateTediousClientOptions, type CursorPageInfo, type CursorPageOptions, type CursorPageResult, DEFAULT_TREE_CONFIG, type DatabaseCheck, type DatabaseColumn, type DatabaseIndex, type DatabaseSchema, type DatabaseTable, type DatabaseView, type DateFilter, DateTimeTypeStrategy, type DbExecutor, type DbExecutorFactory, DecimalTypeStrategy, type DecoratedEntityInstance, DefaultBelongsToReference, DefaultCacheStrategy, DefaultEntityMaterializer, DefaultHasManyCollection, DefaultManyToManyCollection, DefaultMorphManyCollection, DefaultMorphOneReference, DefaultMorphToReference, DefaultTypeStrategy, type DefaultValue, DeleteQueryBuilder, type DialectName, type DomainEvent, DomainEventBus, type DomainEventHandler, type Dto, type Duration, Email, Entity, type EntityContext, type EntityInstance, type EntityMaterializationStrategy, type EntityMaterializer, type EntityOptions, type PrimaryKey$1 as EntityPrimaryKey, EntityStatus, type ExecuteFilteredPagedOptions, type ExecutionContext, type ExecutionPayload, type ExistsExpressionNode, type ExpressionNode, type ExpressionVisitor, type FieldFilter, type FilterOperator, type FilterValue, type FindChildrenOptions, type FindPathOptions, type ForeignKeyReference, type FunctionNode, type GroupConcatOptions, type HasDomainEvents, HasMany, type HasManyCollection, type HasManyOptions, type HasManyRelation, HasOne, type HasOneOptions, type HasOneReference, type HasOneReferenceApi, type HasOneRelation, type HydrationContext, type HydrationMetadata, type HydrationPivotPlan, type HydrationPlan, type HydrationRelationPlan, type InExpressionNode, type InExpressionRight, type IndexColumn, type IndexDef, type InferRow, type InitialHandlers, InsertQueryBuilder, type InsertRow, IntegerTypeStrategy, InterceptorPipeline, type IntrospectOptions, type InvalidationStrategy, type IsDistinctExpressionNode, type JsonArray, type JsonObject, type JsonPathNode, type JsonValue, type Jsonify, type JsonifyScalar, KeyvCacheAdapter, Length, type LiteralNode, type LiteralValue, type LogicalExpressionNode, Lower, type ManyToManyCollection, MemoryCacheAdapter, MorphMany, type MorphManyOptions, type MorphManyRelation, MorphOne, type MorphOneOptions, type MorphOneRelation, MorphTo, type MorphToOptions, type MorphToRelation, type MoveOptions, type MssqlClientLike, MySqlDialect, type MysqlClientLike, type NestedDtoOptions, type NestedSetBounds, type NestedSetRow, NestedSetStrategy, type NodeWithPk, type NotExpressionNode, type NullExpressionNode, type NumberFilter, type OpenApiComponent, type OpenApiDialect, type OpenApiDocument, type OpenApiDocumentInfo, type OpenApiDocumentOptions, type OpenApiOperation, type OpenApiParameter, type OpenApiParameterObject, type OpenApiResponseObject, type OpenApiSchema, type OpenApiType, type OperandNode, type OperandVisitor, Orm, type OrmCacheOptions, type OrmDomainEvent, type OrmInterceptor, type OrmOptions, OrmSession, type OrmSessionOptions, type PagedResponse, type PaginatedResult, type PaginationParams, type PatchGraphInputPayload, Pattern, Pool, type PoolAdapter, type PoolLease, type PoolOptions, type PooledConnectionAdapter, type PostgresClientLike, PostgresDialect, PrimaryKey, type Primitive, ProcedureCallBuilder, type ProcedureCallNode, type ProcedureDirection, type ProcedureExecutionResult, type ProcedureOutOptions, type ProcedureParamNode, type ProcedureRefNode, type PropertySanitizer, type PropertyTransformer, type PropertyValidator, PrototypeMaterializationStrategy, QueryCacheManager, type QueryContext, type QueryInterceptor, type QueryLogEntry, type QueryLogger, type QueryResult, type RawDefaultValue, type RecoverResult, RedisCacheAdapter, type ReferentialAction, type RelationChange, type RelationChangeEntry, type RelationDef, type RelationFilter, type RelationKey$1 as RelationKey, RelationKinds, type RelationMap, type RelationTargetTable, type RelationType, type RenderColumnOptions, STANDARD_COLUMN_TYPES, type SaveGraphInputPayload, type SaveGraphInputScalar, type SaveGraphJsonScalar, type SaveGraphSessionOptions, type ScalarSubqueryNode, type SchemaChange, type SchemaChangeKind, type SchemaDiffOptions, type SchemaGenerateResult, type SchemaIntrospector, type SchemaPlan, SelectQueryBuilder, type SelectQueryInput, type SelectableKeys, type SimpleQueryRunner, type SimpleWhereInput, type Simplify, SqlServerDialect, type SqliteClientLike, SqliteDialect, type StandardColumnType, type StringFilter, StringTypeStrategy, type SynchronizeOptions, type TableDef, type TableHooks, type TableOptions, type TableRef$1 as TableRef, TagIndex, type TargetType, type TediousColumn, type TediousConnectionLike, type TediousModule, type TediousRequest, type TediousRequestCtor, type TediousTypes, type ThreadedNode, Title, type ToJsonOptions, type TrackedEntity, type TransformContext, type TransformerConfig, type TransformerMetadata, Tree, TreeChildren, type TreeColumns, type TreeConfig, type TreeDecoratorOptions, type TreeInsertData, type TreeListEntry, type TreeListOptions, type TreeListSchemaOptions, TreeManager, type TreeManagerOptions, type TreeMetadata, type TreeMoveData, type TreeNode, type TreeNodeResult, type TreeNodeResultSchemaOptions, type TreeNodeSchemaOptions, TreeParent, type TreeQuery, type TreeScope, type TreeValidationResult, Trim, TypeMappingService, type TypeMappingStrategy, TypeScriptGenerator, type TypedExpression, type TypedLike, type UpdateDto, UpdateQueryBuilder, type UpdateRow, Upper, UuidTypeStrategy, type ValidationOptions, type ValidationResult$1 as ValidationResult, type ValidatorFactoryOptions, type ValueOperandInput, type VectorInput, type VectorMetric, type WhereInput, type WindowFunctionNode, type WithRelations, abs, acos, add, addDomainEvent, addEntityRelation, addRelation, age, aliasRef, and, applyFilter, applyNullability, arrayAppend, asType, ascii, asin, atan, atan2, avg, belongsTo, belongsToMany, between, bitAnd, bitLength, bitOr, bitXor, bootstrapEntities, buildFilterExpression, buildScopeConditions, bulkDelete, bulkDeleteWhere, bulkInsert, bulkUpdate, bulkUpdateWhere, bulkUpsert, calculateRowDepths, calculateTotalPages, callProcedure, canonicalizeSchema, caseWhen, cast, cbrt, ceil, ceiling, char, charLength, chr, clearExpressionDispatchers, clearOperandDispatchers, coalesce, col, collate, columnOperand, columnToFilterSchema, columnToOpenApiSchema, columnTypeToOpenApiFormat, columnTypeToOpenApiType, computePaginationMetadata, computeSchemaHash, concat, concatWs, correlateBy, cos, cosineDistance, cot, count, countAll, createApiComponentsSection, createBetterSqlite3Executor, createDeterministicNamingState, createDtoToOpenApiSchema, createEntityFromRow, createEntityProxy, createExecutorFromQueryRunner, createMssqlExecutor, createMysqlExecutor, createPooledExecutorFactory, createPostgresExecutor, createQueryLoggingExecutor, createRef, createSqliteExecutor, createTediousExecutor, createTediousMssqlClient, createTreeManager, currentDate, currentTime, dateAdd, dateDiff, dateFormat, dateSub, dateTrunc, day, dayOfWeek, deepCloneSchema, defineTable, degrees, deleteFrom, denseRank, diffSchema, div, dotProduct, dtoToOpenApiSchema, endOfMonth, entityRef, entityRefs, eq, esel, euclideanDistance, exclude, executeFilteredPaged, executeHydrated, executeHydratedPlain, executeHydratedPlainWithContexts, executeHydratedWithContexts, executeProcedureAst, executeSchemaSql, executeSchemaSqlFor, exists, exp, extract, extractReusableSchemas, extractScopeValues, firstValue, floor, formatDuration, formatTreeList, fromUnixTime, generateComponentSchemas, generateCreateTableSql, generateOpenApiDocument, generateRelationComponents, generateSchemaSql, generateSchemaSqlFor, generateTreeComponents, getColumn, getColumnMap, getColumnType, getDateKind, getDecoratorMetadata, getDeterministicComponentName, getOpenApiVersionForDialect, getRegisteredValidators, getSchemaIntrospector, getTableDefFromEntity, getTreeBounds, getTreeColumns, getTreeConfig, getTreeMetadata, getTreeParentId, greatest, groupConcat, gt, gte, hasMany, hasNextPage as hasNextPageMeta, hasOne, hasPrevPage as hasPrevPageMeta, hasTreeBehavior, hasValidator, hour, hydrateRows, ifNull, inList, inSubquery, initcap, innerProduct, insertInto, instr, introspectSchema, isCaseExpressionNode, isCastExpressionNode, isCollateExpressionNode, isComponentReference, isDistinctFrom, isExpressionSelectionNode, isFunctionNode, isMorphRelation, isNotDistinctFrom, isNotNull, isNull, isNullableColumn, isOperandNode, isSingleTargetRelation, isTableDef, isTreeConfig, isValidDuration, isValueOperandInput, isWindowFunctionNode, jsonArrayAgg, jsonContains, jsonLength, jsonPath, jsonSet, jsonify, l1Distance, l2Distance, lag, lastValue, lead, least, left, length, like, ln, loadBelongsToManyRelation, loadBelongsToRelation, loadHasManyRelation, loadHasOneRelation, loadMorphManyRelation, loadMorphOneRelation, loadMorphToRelation, localTime, localTimestamp, locate, log, log10, log2, logBase, lower, lpad, lt, lte, ltrim, manhattanDistance, mapFields, materializeAs, max, md5, mergeSchemas, min, minute, mod, month, morphMany, morphOne, morphTo, mul, neq, nestedDtoToOpenApiSchema, nestedWhereInputToOpenApiSchema, normalizeColumnType, not, notBetween, notExists, notInList, notInSubquery, notLike, now, ntile, nullif, octetLength, or, outerRef, pagedResponseToOpenApiSchema, paginationParamsSchema, parameterToRef, parseDuration, payloadResultSets, pi, pick, position, pow, power, quarter, radians, rand, random, rank, registerExpressionDispatcher, registerOperandDispatcher, registerSchemaIntrospector, registerValidator, relationFilterToOpenApiSchema, relationLoaderCache, renderColumnDefinition, renderTypeWithArgs, repeat, replace, replaceWithRefs, resolveTreeConfig, resolveValidator, responseToRef, reverse, right, round, rowNumber, rowsToQueryResult, rpad, rtrim, schemaToJson, schemaToRef, second, sel, selectFrom, selectFromEntity, setRelations, setTreeBounds, setTreeMetadata, setTreeParentId, sha1, sha2, shiftLeft, shiftRight, sign, sin, space, sqrt, stddev, sub, substr, sum, syncTreeEntityMetadata, synchronizeSchema, tableRef, tan, threadResults, threadedNodeToOpenApiSchema, toColumnRef, toExecutionPayload, toPagedResponse, toPagedResponseBuilder, toPaginationParams, toResponse, toResponseBuilder, toTableRef, treeEntityRegistry, treeListEntryToOpenApiSchema, treeNodeResultToOpenApiSchema, treeNodeToOpenApiSchema, treeQuery, trim, trunc, truncate, typeMappingService, unixTimestamp, update, updateDtoToOpenApiSchema, updateDtoWithRelationsToOpenApiSchema, upper, utcNow, validateTreeTable, valueToOperand, variance, vectorDistance, vectorMatch, visitExpression, visitOperand, weekOfYear, whereInputToOpenApiSchema, whereInputWithRelationsToOpenApiSchema, windowFunction, withDefaults, withDefaultsBuilder, year };
|
|
10524
|
+
export { type AliasRefNode, Alphanumeric, type AnyDomainEvent, type ApiRouteDefinition, type ApplyFilterOptions, type ArithmeticExpressionNode, type TableRef as AstTableRef, AsyncLocalStorage, type AutoCorrectionResult, type AutoTransformResult, type AutoTransformableValidator, BelongsTo, BelongsToMany, type BelongsToManyOptions, type BelongsToManyRelation, type BelongsToOptions, type BelongsToReference, type BelongsToReferenceApi, type BelongsToRelation, type BetterSqlite3ClientLike, type BetterSqlite3Statement, type BetweenExpressionNode, BigIntTypeStrategy, type BinaryExpressionNode, BinaryTypeStrategy, type BitwiseExpressionNode, type BooleanFilter, BooleanTypeStrategy, type BulkBaseOptions, type BulkConcurrency, BulkDeleteExecutor, type BulkDeleteOptions, BulkInsertExecutor, type BulkInsertOptions, type BulkResult, BulkUpdateExecutor, type BulkUpdateOptions, BulkUpsertExecutor, type BulkUpsertOptions, CEP, CNPJ, CPF, type CacheCapabilities, type CacheInvalidator, type CacheOptions, type CacheProvider, type CacheReader, type CacheState, type CacheStrategy, type CacheWriter, type CallProcedureOptions, Capitalize, type CascadeMode, type CaseExpressionNode, type CastExpressionNode, type CheckConstraint, type ChunkCompleteInfo, type ChunkOutcome, type CollateExpressionNode, Column, type ColumnDef, type ColumnDiff, type ColumnInput, type ColumnNode, type ColumnOptions, type ColumnRef, type ColumnToTs, type ColumnType, type ComponentOptions, type ComponentReference, type CompositeTransformer, ConflictBuilder, ConstructorMaterializationStrategy, type ValidationResult as CountryValidationResult, type CountryValidator, type CountryValidatorFactory, type CreateDto, type CreateTediousClientOptions, type CursorPageInfo, type CursorPageOptions, type CursorPageResult, DEFAULT_TREE_CONFIG, type DatabaseCheck, type DatabaseColumn, type DatabaseIndex, type DatabaseSchema, type DatabaseTable, type DatabaseView, type DateFilter, DateTimeTypeStrategy, type DbExecutor, type DbExecutorFactory, DecimalTypeStrategy, type DecoratedEntityInstance, DefaultBelongsToReference, DefaultCacheStrategy, DefaultEntityMaterializer, DefaultHasManyCollection, DefaultManyToManyCollection, DefaultMorphManyCollection, DefaultMorphOneReference, DefaultMorphToReference, DefaultTypeStrategy, type DefaultValue, DeleteQueryBuilder, type DialectName, type DomainEvent, DomainEventBus, type DomainEventHandler, type Dto, type Duration, Email, Entity, type EntityContext, type EntityInstance, type EntityMaterializationStrategy, type EntityMaterializer, type EntityOptions, type PrimaryKey$1 as EntityPrimaryKey, EntityStatus, type ExecuteFilteredPagedOptions, type ExecutionContext, type ExecutionPayload, type ExistsExpressionNode, type ExpressionNode, type ExpressionVisitor, type FieldFilter, type FilterOperator, type FilterValue, type FindChildrenOptions, type FindPathOptions, type ForeignKeyReference, type FunctionNode, type GroupConcatOptions, type HasDomainEvents, HasMany, type HasManyCollection, type HasManyOptions, type HasManyRelation, HasOne, type HasOneOptions, type HasOneReference, type HasOneReferenceApi, type HasOneRelation, type HydrationContext, type HydrationMetadata, type HydrationPivotPlan, type HydrationPlan, type HydrationRelationPlan, type InExpressionNode, type InExpressionRight, type IndexColumn, type IndexDef, type InferRow, type InitialHandlers, InsertQueryBuilder, type InsertRow, IntegerTypeStrategy, InterceptorPipeline, type IntrospectOptions, type InvalidationStrategy, type IsDistinctExpressionNode, type JsonArray, type JsonObject, type JsonPathNode, type JsonValue, type Jsonify, type JsonifyScalar, KeyvCacheAdapter, Length, type LiteralNode, type LiteralValue, type LogicalExpressionNode, Lower, type ManyToManyCollection, MemoryCacheAdapter, MorphMany, type MorphManyOptions, type MorphManyRelation, MorphOne, type MorphOneOptions, type MorphOneRelation, MorphTo, type MorphToOptions, type MorphToRelation, type MoveOptions, type MssqlClientLike, MySqlDialect, type MysqlClientLike, type NestedDtoOptions, type NestedSetBounds, type NestedSetRow, NestedSetStrategy, type NodeWithPk, type NotExpressionNode, type NullExpressionNode, type NumberFilter, type OpenApiComponent, type OpenApiDialect, type OpenApiDocument, type OpenApiDocumentInfo, type OpenApiDocumentOptions, type OpenApiOperation, type OpenApiParameter, type OpenApiParameterObject, type OpenApiResponseObject, type OpenApiSchema, type OpenApiType, type OperandNode, type OperandVisitor, Orm, type OrmCacheOptions, type OrmDomainEvent, type OrmInterceptor, type OrmOptions, OrmSession, type OrmSessionOptions, type PagedResponse, type PaginatedResult, type PaginationParams, type PatchGraphInputPayload, Pattern, Pool, type PoolAdapter, type PoolLease, type PoolOptions, type PooledConnectionAdapter, type PostgresClientLike, PostgresDialect, PrimaryKey, type Primitive, ProcedureCallBuilder, type ProcedureCallNode, type ProcedureDirection, type ProcedureExecutionResult, type ProcedureOutOptions, type ProcedureParamNode, type ProcedureRefNode, type PropertySanitizer, type PropertyTransformer, type PropertyValidator, PrototypeMaterializationStrategy, QueryCacheManager, type QueryContext, type QueryInterceptor, type QueryLogEntry, type QueryLogger, type QueryResult, type RawDefaultValue, type RecoverResult, RedisCacheAdapter, type ReferentialAction, type RelationChange, type RelationChangeEntry, type RelationDef, type RelationFilter, type RelationKey$1 as RelationKey, RelationKinds, type RelationMap, type RelationTargetTable, type RelationType, type RenderColumnOptions, STANDARD_COLUMN_TYPES, type SaveGraphInputPayload, type SaveGraphInputScalar, type SaveGraphJsonScalar, type SaveGraphSessionOptions, type ScalarSubqueryNode, type SchemaChange, type SchemaChangeKind, type SchemaDiffOptions, type SchemaGenerateResult, type SchemaIntrospector, type SchemaPlan, SelectQueryBuilder, type SelectQueryInput, type SelectableKeys, type SimpleQueryRunner, type SimpleWhereInput, type Simplify, SqlServerDialect, type SqliteClientLike, SqliteDialect, type StandardColumnType, type StringFilter, StringTypeStrategy, type SynchronizeOptions, type TableDef, type TableHookResolver, type TableHooks, type TableOptions, type TableRef$1 as TableRef, TagIndex, type TargetType, type TediousColumn, type TediousConnectionLike, type TediousModule, type TediousRequest, type TediousRequestCtor, type TediousTypes, type ThreadedNode, Title, type ToJsonOptions, type TrackedEntity, type TransformContext, type TransformerConfig, type TransformerMetadata, Tree, TreeChildren, type TreeColumns, type TreeConfig, type TreeDecoratorOptions, type TreeInsertData, type TreeListEntry, type TreeListOptions, type TreeListSchemaOptions, TreeManager, type TreeManagerOptions, type TreeMetadata, type TreeMoveData, type TreeNode, type TreeNodeResult, type TreeNodeResultSchemaOptions, type TreeNodeSchemaOptions, TreeParent, type TreeQuery, type TreeScope, type TreeValidationResult, Trim, TypeMappingService, type TypeMappingStrategy, TypeScriptGenerator, type TypedExpression, type TypedLike, type UpdateDto, UpdateQueryBuilder, type UpdateRow, Upper, UuidTypeStrategy, type ValidationOptions, type ValidationResult$1 as ValidationResult, type ValidatorFactoryOptions, type ValueOperandInput, type VectorInput, type VectorMetric, type WhereInput, type WindowFunctionNode, type WithRelations, abs, acos, add, addDomainEvent, addEntityRelation, addRelation, age, aliasRef, and, applyFilter, applyNullability, arrayAppend, asType, ascii, asin, atan, atan2, avg, belongsTo, belongsToMany, between, bitAnd, bitLength, bitOr, bitXor, bootstrapEntities, buildFilterExpression, buildScopeConditions, bulkDelete, bulkDeleteWhere, bulkInsert, bulkUpdate, bulkUpdateWhere, bulkUpsert, calculateRowDepths, calculateTotalPages, callProcedure, canonicalizeSchema, caseWhen, cast, cbrt, ceil, ceiling, char, charLength, chr, clearExpressionDispatchers, clearOperandDispatchers, coalesce, col, collate, columnOperand, columnToFilterSchema, columnToOpenApiSchema, columnTypeToOpenApiFormat, columnTypeToOpenApiType, computePaginationMetadata, computeSchemaHash, concat, concatWs, correlateBy, cos, cosineDistance, cot, count, countAll, createApiComponentsSection, createBetterSqlite3Executor, createDeterministicNamingState, createDtoToOpenApiSchema, createEntityFromRow, createEntityProxy, createExecutorFromQueryRunner, createMssqlExecutor, createMysqlExecutor, createPooledExecutorFactory, createPostgresExecutor, createQueryLoggingExecutor, createRef, createSqliteExecutor, createTediousExecutor, createTediousMssqlClient, createTreeManager, currentDate, currentTime, dateAdd, dateDiff, dateFormat, dateSub, dateTrunc, day, dayOfWeek, deepCloneSchema, defineTable, degrees, deleteFrom, denseRank, diffSchema, div, dotProduct, dtoToOpenApiSchema, endOfMonth, entityRef, entityRefs, eq, esel, euclideanDistance, exclude, executeFilteredPaged, executeHydrated, executeHydratedPlain, executeHydratedPlainWithContexts, executeHydratedWithContexts, executeProcedureAst, executeSchemaSql, executeSchemaSqlFor, exists, exp, extract, extractReusableSchemas, extractScopeValues, firstValue, floor, formatDuration, formatTreeList, fromUnixTime, generateComponentSchemas, generateCreateTableSql, generateOpenApiDocument, generateRelationComponents, generateSchemaSql, generateSchemaSqlFor, generateTreeComponents, getColumn, getColumnMap, getColumnType, getDateKind, getDecoratorMetadata, getDeterministicComponentName, getOpenApiVersionForDialect, getRegisteredValidators, getSchemaIntrospector, getTableDefFromEntity, getTreeBounds, getTreeColumns, getTreeConfig, getTreeMetadata, getTreeParentId, greatest, groupConcat, gt, gte, hasMany, hasNextPage as hasNextPageMeta, hasOne, hasPrevPage as hasPrevPageMeta, hasTreeBehavior, hasValidator, hour, hydrateRows, ifNull, inList, inSubquery, initcap, innerProduct, insertInto, instr, introspectSchema, isCaseExpressionNode, isCastExpressionNode, isCollateExpressionNode, isComponentReference, isDistinctFrom, isExpressionSelectionNode, isFunctionNode, isMorphRelation, isNotDistinctFrom, isNotNull, isNull, isNullableColumn, isOperandNode, isSingleTargetRelation, isTableDef, isTreeConfig, isValidDuration, isValueOperandInput, isWindowFunctionNode, jsonArrayAgg, jsonContains, jsonLength, jsonPath, jsonSet, jsonify, l1Distance, l2Distance, lag, lastValue, lead, least, left, length, like, ln, loadBelongsToManyRelation, loadBelongsToRelation, loadHasManyRelation, loadHasOneRelation, loadMorphManyRelation, loadMorphOneRelation, loadMorphToRelation, localTime, localTimestamp, locate, log, log10, log2, logBase, lower, lpad, lt, lte, ltrim, manhattanDistance, mapFields, materializeAs, max, md5, mergeSchemas, min, minute, mod, month, morphMany, morphOne, morphTo, mul, neq, nestedDtoToOpenApiSchema, nestedWhereInputToOpenApiSchema, normalizeColumnType, not, notBetween, notExists, notInList, notInSubquery, notLike, now, ntile, nullif, octetLength, or, outerRef, pagedResponseToOpenApiSchema, paginationParamsSchema, parameterToRef, parseDuration, payloadResultSets, pi, pick, position, pow, power, quarter, radians, rand, random, rank, registerExpressionDispatcher, registerOperandDispatcher, registerSchemaIntrospector, registerValidator, relationFilterToOpenApiSchema, relationLoaderCache, renderColumnDefinition, renderTypeWithArgs, repeat, replace, replaceWithRefs, resolveTreeConfig, resolveValidator, responseToRef, reverse, right, round, rowNumber, rowsToQueryResult, rpad, rtrim, schemaToJson, schemaToRef, second, sel, selectFrom, selectFromEntity, setRelations, setTreeBounds, setTreeMetadata, setTreeParentId, sha1, sha2, shiftLeft, shiftRight, sign, sin, space, sqrt, stddev, sub, substr, sum, syncTreeEntityMetadata, synchronizeSchema, tableRef, tan, threadResults, threadedNodeToOpenApiSchema, toColumnRef, toExecutionPayload, toPagedResponse, toPagedResponseBuilder, toPaginationParams, toResponse, toResponseBuilder, toTableRef, treeEntityRegistry, treeListEntryToOpenApiSchema, treeNodeResultToOpenApiSchema, treeNodeToOpenApiSchema, treeQuery, trim, trunc, truncate, typeMappingService, unixTimestamp, update, updateDtoToOpenApiSchema, updateDtoWithRelationsToOpenApiSchema, upper, utcNow, validateTreeTable, valueToOperand, variance, vectorDistance, vectorMatch, visitExpression, visitOperand, weekOfYear, whereInputToOpenApiSchema, whereInputWithRelationsToOpenApiSchema, windowFunction, withDefaults, withDefaultsBuilder, year };
|