metal-orm 1.1.24 → 1.1.26

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.
Files changed (35) hide show
  1. package/dist/index.cjs +770 -710
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +294 -318
  4. package/dist/index.d.ts +294 -318
  5. package/dist/index.js +745 -709
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/core/dialect/abstract.ts +7 -229
  9. package/src/core/dialect/base/returning-strategy.ts +40 -39
  10. package/src/core/dialect/base/sql-compiler-set.ts +33 -0
  11. package/src/core/dialect/base/sql-dialect-composer.ts +294 -0
  12. package/src/core/dialect/base/standard-sql-services.ts +2 -6
  13. package/src/core/dialect/base/upsert-strategy.ts +44 -0
  14. package/src/core/dialect/capabilities/procedure-compiler.ts +10 -8
  15. package/src/core/dialect/dialect-factory.ts +17 -49
  16. package/src/core/dialect/mssql/compiler-factory.ts +12 -0
  17. package/src/core/dialect/mssql/delete-compiler.ts +40 -0
  18. package/src/core/dialect/mssql/index.ts +52 -370
  19. package/src/core/dialect/mssql/insert-compiler.ts +112 -0
  20. package/src/core/dialect/mssql/output.ts +46 -0
  21. package/src/core/dialect/mssql/procedure-compiler.ts +81 -0
  22. package/src/core/dialect/mssql/select-compiler.ts +116 -0
  23. package/src/core/dialect/mssql/update-compiler.ts +37 -0
  24. package/src/core/dialect/mysql/index.ts +66 -126
  25. package/src/core/dialect/mysql/procedure-compiler.ts +67 -0
  26. package/src/core/dialect/mysql/upsert.ts +42 -0
  27. package/src/core/dialect/postgres/index.ts +75 -114
  28. package/src/core/dialect/postgres/procedure-compiler.ts +41 -0
  29. package/src/core/dialect/postgres/returning.ts +4 -0
  30. package/src/core/dialect/postgres/upsert.ts +43 -0
  31. package/src/core/dialect/sqlite/index.ts +65 -90
  32. package/src/core/dialect/sqlite/returning.ts +30 -0
  33. package/src/core/dialect/sqlite/upsert.ts +43 -0
  34. package/src/index.ts +22 -10
  35. package/src/core/dialect/base/sql-dialect.ts +0 -176
package/dist/index.d.ts CHANGED
@@ -716,23 +716,6 @@ declare const ORDER_DIRECTIONS: {
716
716
  * Type representing any supported order direction
717
717
  */
718
718
  type OrderDirection = (typeof ORDER_DIRECTIONS)[keyof typeof ORDER_DIRECTIONS];
719
- /**
720
- * Supported database dialects
721
- */
722
- declare const SUPPORTED_DIALECTS: {
723
- /** MySQL database dialect */
724
- readonly MYSQL: "mysql";
725
- /** SQLite database dialect */
726
- readonly SQLITE: "sqlite";
727
- /** Microsoft SQL Server dialect */
728
- readonly MSSQL: "mssql";
729
- /** PostgreSQL database dialect */
730
- readonly POSTGRES: "postgres";
731
- };
732
- /**
733
- * Type representing any supported database dialect
734
- */
735
- type DialectName$1 = (typeof SUPPORTED_DIALECTS)[keyof typeof SUPPORTED_DIALECTS];
736
719
 
737
720
  /**
738
721
  * Minimal column reference used by AST builders.
@@ -1986,47 +1969,6 @@ interface HydrationMetadata {
1986
1969
  [key: string]: unknown;
1987
1970
  }
1988
1971
 
1989
- /**
1990
- * Context provided to function renderers.
1991
- */
1992
- interface FunctionRenderContext {
1993
- /** The function node being rendered. */
1994
- node: FunctionNode;
1995
- /** The compiled arguments for the function. */
1996
- compiledArgs: string[];
1997
- /** Helper to compile additional operands (e.g., separators or ORDER BY columns). */
1998
- compileOperand: (operand: OperandNode) => string;
1999
- }
2000
- /**
2001
- * A function that renders a SQL function call.
2002
- * @param ctx - The rendering context.
2003
- * @returns The rendered SQL string.
2004
- */
2005
- type FunctionRenderer = (ctx: FunctionRenderContext) => string;
2006
- /**
2007
- * Strategy for rendering SQL functions in a specific dialect.
2008
- */
2009
- interface FunctionStrategy {
2010
- /**
2011
- * Returns a renderer for a specific function name (e.g. "DATE_ADD").
2012
- * Returns undefined if this dialect doesn't support the function.
2013
- * @param functionName - The name of the function.
2014
- * @returns The renderer function or undefined.
2015
- */
2016
- getRenderer(functionName: string): FunctionRenderer | undefined;
2017
- }
2018
-
2019
- interface TableFunctionRenderContext {
2020
- node: FunctionTableNode;
2021
- compiledArgs: string[];
2022
- compileOperand: (operand: OperandNode) => string;
2023
- quoteIdentifier: (id: string) => string;
2024
- }
2025
- type TableFunctionRenderer = (ctx: TableFunctionRenderContext) => string;
2026
- interface TableFunctionStrategy {
2027
- getRenderer(key: string): TableFunctionRenderer | undefined;
2028
- }
2029
-
2030
1972
  /** Context for SQL compilation with parameter management. */
2031
1973
  interface CompilerContext {
2032
1974
  params: unknown[];
@@ -2050,55 +1992,15 @@ interface DeleteCompiler {
2050
1992
  compileDelete(ast: DeleteQueryNode): CompiledQuery;
2051
1993
  }
2052
1994
  /**
2053
- * Public dialect contract consumed by builders and the ORM runtime.
2054
- * Optional backend features such as stored procedures live in dedicated
2055
- * capability interfaces; mutation-wide behavior shared by the runtime stays
2056
- * in this small core contract.
1995
+ * Structural contract consumed by query builders and the ORM runtime.
1996
+ *
1997
+ * A dialect is assembled from compiler components. There is intentionally no
1998
+ * base class: inheritance is not part of the extension model.
2057
1999
  */
2058
2000
  interface Dialect extends SelectCompiler, InsertCompiler, UpdateCompiler, DeleteCompiler {
2059
2001
  quoteIdentifier(id: string): string;
2060
2002
  supportsDmlReturningClause(): boolean;
2061
2003
  }
2062
- /**
2063
- * Shared implementation infrastructure for SQL dialects.
2064
- *
2065
- * This is deliberately separate from the public Dialect contract: custom
2066
- * dialects may extend this class, extend SqlDialectBase, or use composition.
2067
- */
2068
- declare abstract class DialectBase implements Dialect {
2069
- protected abstract readonly dialect: DialectName$1;
2070
- private readonly expressionCompilerRegistry;
2071
- private readonly selectAstNormalizer;
2072
- protected readonly functionStrategy: FunctionStrategy;
2073
- protected readonly tableFunctionStrategy: TableFunctionStrategy;
2074
- protected constructor(functionStrategy?: FunctionStrategy, tableFunctionStrategy?: TableFunctionStrategy);
2075
- compileSelect(ast: SelectQueryNode): CompiledQuery;
2076
- compileInsert(ast: InsertQueryNode): CompiledQuery;
2077
- compileUpdate(ast: UpdateQueryNode): CompiledQuery;
2078
- compileDelete(ast: DeleteQueryNode): CompiledQuery;
2079
- supportsDmlReturningClause(): boolean;
2080
- protected abstract compileSelectAst(ast: SelectQueryNode, ctx: CompilerContext): string;
2081
- protected abstract compileInsertAst(ast: InsertQueryNode, ctx: CompilerContext): string;
2082
- protected abstract compileUpdateAst(ast: UpdateQueryNode, ctx: CompilerContext): string;
2083
- protected abstract compileDeleteAst(ast: DeleteQueryNode, ctx: CompilerContext): string;
2084
- abstract quoteIdentifier(id: string): string;
2085
- protected compileWhere(where: ExpressionNode | undefined, ctx: CompilerContext): string;
2086
- protected compileReturning(returning: ColumnNode[] | undefined, _ctx: CompilerContext): string;
2087
- protected compileSelectForExists(ast: SelectQueryNode, ctx: CompilerContext): string;
2088
- protected createCompilerContext(): CompilerContext;
2089
- protected formatPlaceholder(_index: number): string;
2090
- protected supportsSetOperation(_kind: SetOperationKind): boolean;
2091
- protected normalizeSelectAst(ast: SelectQueryNode): SelectQueryNode;
2092
- protected registerExpressionCompiler<T extends ExpressionNode>(type: T['type'], compiler: (node: T, ctx: CompilerContext) => string): void;
2093
- protected registerOperandCompiler<T extends OperandNode>(type: T['type'], compiler: (node: T, ctx: CompilerContext) => string): void;
2094
- protected compileExpression(node: ExpressionNode, ctx: CompilerContext): string;
2095
- protected compileOperand(node: OperandNode, ctx: CompilerContext): string;
2096
- protected compileOrderingTerm(term: OrderingTerm, ctx: CompilerContext): string;
2097
- protected compileJsonPath(_node: JsonPathNode): string;
2098
- protected compileFunctionOperand(fnNode: FunctionNode, ctx: CompilerContext): string;
2099
- /** Creates a minimal dialect implementation for isolated compiler tests. */
2100
- static create(functionStrategy?: FunctionStrategy, tableFunctionStrategy?: TableFunctionStrategy): Dialect;
2101
- }
2102
2004
 
2103
2005
  type DialectKey = 'postgres' | 'mysql' | 'sqlite' | 'mssql' | (string & {});
2104
2006
  type DialectFactoryFn = () => Dialect;
@@ -2106,28 +2008,13 @@ declare class DialectFactory {
2106
2008
  private static registry;
2107
2009
  private static defaultsInitialized;
2108
2010
  private static ensureDefaults;
2109
- /**
2110
- * Register (or override) a dialect factory for a key.
2111
- *
2112
- * Implementations are structural: extending DialectBase/SqlDialectBase is
2113
- * optional. A composed object satisfying Dialect is a valid registration.
2114
- */
2011
+ /** Register or replace a structural dialect factory. */
2115
2012
  static register(key: DialectKey, factory: DialectFactoryFn): void;
2116
- /**
2117
- * Resolve a key into a Dialect instance.
2118
- * Throws if the key is not registered.
2119
- */
2013
+ /** Resolve a key into a new Dialect instance. */
2120
2014
  static create(key: DialectKey): Dialect;
2121
- /**
2122
- * Clear all registrations (mainly for tests).
2123
- * Built-ins will be re-registered lazily on the next create().
2124
- */
2015
+ /** Clear registrations; built-ins are restored lazily on the next create(). */
2125
2016
  static clear(): void;
2126
2017
  }
2127
- /**
2128
- * Helper to normalize either a Dialect instance OR a key into a Dialect instance.
2129
- * This is what query builders will use.
2130
- */
2131
2018
  declare const resolveDialectInput: (dialect: Dialect | DialectKey) => Dialect;
2132
2019
 
2133
2020
  /**
@@ -5838,13 +5725,13 @@ interface CompiledProcedureCall extends CompiledQuery {
5838
5725
  names: string[];
5839
5726
  };
5840
5727
  }
5841
- /**
5842
- * Optional dialect capability for stored-procedure compilation.
5843
- *
5844
- * Dialects that do not support procedures simply do not implement this
5845
- * interface; unsupported behavior is resolved at the capability boundary
5846
- * rather than through mandatory methods that only throw.
5847
- */
5728
+ /** Narrow SQL services consumed by reusable procedure compiler components. */
5729
+ interface ProcedureCompilerServices {
5730
+ quoteIdentifier(id: string): string;
5731
+ createCompilerContext(): CompilerContext;
5732
+ compileOperand(node: OperandNode, ctx: CompilerContext): string;
5733
+ }
5734
+ /** Optional dialect capability for stored-procedure compilation. */
5848
5735
  interface ProcedureCompiler {
5849
5736
  compileProcedureCall(ast: ProcedureCallNode): CompiledProcedureCall;
5850
5737
  }
@@ -5940,6 +5827,47 @@ declare const update: <TTable extends TableDef>(target: QueryTarget<TTable>) =>
5940
5827
  */
5941
5828
  declare const deleteFrom: <TTable extends TableDef>(target: QueryTarget<TTable>) => DeleteQueryBuilder<unknown>;
5942
5829
 
5830
+ /**
5831
+ * Context provided to function renderers.
5832
+ */
5833
+ interface FunctionRenderContext {
5834
+ /** The function node being rendered. */
5835
+ node: FunctionNode;
5836
+ /** The compiled arguments for the function. */
5837
+ compiledArgs: string[];
5838
+ /** Helper to compile additional operands (e.g., separators or ORDER BY columns). */
5839
+ compileOperand: (operand: OperandNode) => string;
5840
+ }
5841
+ /**
5842
+ * A function that renders a SQL function call.
5843
+ * @param ctx - The rendering context.
5844
+ * @returns The rendered SQL string.
5845
+ */
5846
+ type FunctionRenderer = (ctx: FunctionRenderContext) => string;
5847
+ /**
5848
+ * Strategy for rendering SQL functions in a specific dialect.
5849
+ */
5850
+ interface FunctionStrategy {
5851
+ /**
5852
+ * Returns a renderer for a specific function name (e.g. "DATE_ADD").
5853
+ * Returns undefined if this dialect doesn't support the function.
5854
+ * @param functionName - The name of the function.
5855
+ * @returns The renderer function or undefined.
5856
+ */
5857
+ getRenderer(functionName: string): FunctionRenderer | undefined;
5858
+ }
5859
+
5860
+ interface TableFunctionRenderContext {
5861
+ node: FunctionTableNode;
5862
+ compiledArgs: string[];
5863
+ compileOperand: (operand: OperandNode) => string;
5864
+ quoteIdentifier: (id: string) => string;
5865
+ }
5866
+ type TableFunctionRenderer = (ctx: TableFunctionRenderContext) => string;
5867
+ interface TableFunctionStrategy {
5868
+ getRenderer(key: string): TableFunctionRenderer | undefined;
5869
+ }
5870
+
5943
5871
  /**
5944
5872
  * Strategy interface for compiling pagination clauses.
5945
5873
  * Allows dialects to customize how pagination (LIMIT/OFFSET, ROWS FETCH, etc.) is generated.
@@ -5953,16 +5881,59 @@ interface PaginationStrategy {
5953
5881
  */
5954
5882
  compilePagination(limit?: number, offset?: number): string;
5955
5883
  }
5884
+ /**
5885
+ * Standard SQL pagination using LIMIT and OFFSET.
5886
+ * Implements the ANSI SQL-style pagination with LIMIT/OFFSET syntax.
5887
+ */
5888
+ declare class StandardLimitOffsetPagination implements PaginationStrategy {
5889
+ /**
5890
+ * Compiles LIMIT/OFFSET pagination clause.
5891
+ * @param limit - The maximum number of rows to return.
5892
+ * @param offset - The number of rows to skip.
5893
+ * @returns SQL pagination clause with LIMIT and/or OFFSET.
5894
+ */
5895
+ compilePagination(limit?: number, offset?: number): string;
5896
+ }
5897
+
5898
+ type QuoteIdentifier = (id: string) => string;
5899
+ /** Backend-specific RETURNING/OUTPUT rendering strategy. */
5900
+ interface ReturningStrategy {
5901
+ compileReturning(returning: ColumnNode[] | undefined, ctx: CompilerContext, quoteIdentifier: QuoteIdentifier): string;
5902
+ formatReturningColumns(returning: ColumnNode[], quoteIdentifier: QuoteIdentifier): string;
5903
+ }
5904
+ /** Default RETURNING strategy for dialects without support. */
5905
+ declare class NoReturningStrategy implements ReturningStrategy {
5906
+ compileReturning(returning: ColumnNode[] | undefined, _ctx: CompilerContext, _quoteIdentifier: QuoteIdentifier): string;
5907
+ formatReturningColumns(returning: ColumnNode[], quoteIdentifier: QuoteIdentifier): string;
5908
+ }
5909
+ /** Standard SQL RETURNING implementation with qualified column support. */
5910
+ declare class StandardReturningStrategy extends NoReturningStrategy {
5911
+ compileReturning(returning: ColumnNode[] | undefined, _ctx: CompilerContext, quoteIdentifier: QuoteIdentifier): string;
5912
+ }
5913
+
5914
+ /** Narrow services needed by backend-specific UPSERT implementations. */
5915
+ interface UpsertCompilationServices {
5916
+ getDialectName(): string;
5917
+ quoteIdentifier(id: string): string;
5918
+ compileOperand(node: OperandNode, ctx: CompilerContext): string;
5919
+ compileExpression(node: ExpressionNode, ctx: CompilerContext): string;
5920
+ compileUpdateAssignments(assignments: UpdateAssignmentNode[], table: TableNode, ctx: CompilerContext): string;
5921
+ }
5922
+ /** Backend-specific INSERT conflict/upsert rendering strategy. */
5923
+ interface UpsertStrategy {
5924
+ compile(ast: InsertQueryNode, ctx: CompilerContext, services: UpsertCompilationServices): string;
5925
+ }
5926
+ /** Default strategy for dialects without UPSERT support. */
5927
+ declare class NoUpsertStrategy implements UpsertStrategy {
5928
+ compile(ast: InsertQueryNode, _ctx: CompilerContext, services: UpsertCompilationServices): string;
5929
+ }
5956
5930
 
5957
5931
  /**
5958
5932
  * Narrow callback surface consumed by the standard SQL compilers.
5959
- *
5960
- * The compilers deliberately know nothing about SqlDialectBase or any concrete
5961
- * backend class. A dialect can assemble these services through inheritance,
5962
- * composition, or a plain object.
5933
+ * It deliberately depends on no dialect superclass or built-in dialect union.
5963
5934
  */
5964
5935
  interface StandardSqlCompilerServices {
5965
- getDialectName(): DialectName$1;
5936
+ getDialectName(): string;
5966
5937
  getPaginationStrategy(): PaginationStrategy;
5967
5938
  getTableFunctionStrategy(): TableFunctionStrategy;
5968
5939
  quoteIdentifier(id: string): string;
@@ -5999,6 +5970,69 @@ declare class StandardSqlSourceCompiler {
5999
5970
  wrapSetOperand(sql: string): string;
6000
5971
  }
6001
5972
 
5973
+ interface SqlAstCompiler<TAst> {
5974
+ compile(ast: TAst, ctx: CompilerContext): string;
5975
+ }
5976
+ interface SqlCompilerSet {
5977
+ select: SqlAstCompiler<SelectQueryNode>;
5978
+ insert: SqlAstCompiler<InsertQueryNode>;
5979
+ update: SqlAstCompiler<UpdateQueryNode>;
5980
+ delete: SqlAstCompiler<DeleteQueryNode>;
5981
+ }
5982
+ interface SqlCompilerAssemblyContext {
5983
+ services: StandardSqlCompilerServices;
5984
+ sources: StandardSqlSourceCompiler;
5985
+ }
5986
+ /**
5987
+ * Allows a backend to replace only the standard query compilers whose SQL
5988
+ * grammar genuinely differs from the common implementation.
5989
+ */
5990
+ type SqlCompilerFactory = (context: SqlCompilerAssemblyContext) => Partial<SqlCompilerSet>;
5991
+
5992
+ interface SqlDialectExpressionApi {
5993
+ registerExpressionCompiler<T extends ExpressionNode>(type: T['type'], compiler: (node: T, ctx: CompilerContext) => string): void;
5994
+ registerOperandCompiler<T extends OperandNode>(type: T['type'], compiler: (node: T, ctx: CompilerContext) => string): void;
5995
+ compileExpression(node: ExpressionNode, ctx: CompilerContext): string;
5996
+ compileOperand(node: OperandNode, ctx: CompilerContext): string;
5997
+ compileOrderingTerm(term: OrderingTerm, ctx: CompilerContext): string;
5998
+ }
5999
+ interface SqlDialectRuntimeServices extends ProcedureCompilerServices {
6000
+ compileExpression(node: ExpressionNode, ctx: CompilerContext): string;
6001
+ compileOrderingTerm(term: OrderingTerm, ctx: CompilerContext): string;
6002
+ normalizeSelectAst(ast: SelectQueryNode): SelectQueryNode;
6003
+ compileSelectAst(ast: SelectQueryNode, ctx: CompilerContext): string;
6004
+ }
6005
+ interface SqlDialectComposition {
6006
+ dialect: Dialect;
6007
+ runtime: SqlDialectRuntimeServices;
6008
+ }
6009
+ interface SqlDialectConfig {
6010
+ /** Human-readable/backend identifier used by diagnostics and strategies. */
6011
+ name: string;
6012
+ quoteIdentifier(id: string): string;
6013
+ formatPlaceholder?(index: number): string;
6014
+ compileJsonPath?(node: JsonPathNode): string;
6015
+ functionStrategy?: FunctionStrategy;
6016
+ tableFunctionStrategy?: TableFunctionStrategy;
6017
+ paginationStrategy?: PaginationStrategy;
6018
+ returningStrategy?: ReturningStrategy;
6019
+ upsertStrategy?: UpsertStrategy;
6020
+ compilerFactory?: SqlCompilerFactory;
6021
+ supportsDmlReturning?: boolean;
6022
+ supportsSetOperation?(kind: SetOperationKind): boolean;
6023
+ compileSetTarget?(column: ColumnNode, table: TableNode): string;
6024
+ renderOrderByNulls?(order: OrderByNode): string | undefined;
6025
+ renderOrderByCollation?(order: OrderByNode): string | undefined;
6026
+ configureExpressions?(api: SqlDialectExpressionApi): void;
6027
+ describe?: string;
6028
+ }
6029
+ /**
6030
+ * Assembles a full SQL dialect from independent compiler components.
6031
+ * No inheritance or concrete dialect class participates in the compilation path.
6032
+ */
6033
+ declare const composeSqlDialect: (config: SqlDialectConfig) => SqlDialectComposition;
6034
+ declare const createSqlDialect: (config: SqlDialectConfig) => Dialect;
6035
+
6002
6036
  /** Standard SELECT orchestration, independent from any dialect class hierarchy. */
6003
6037
  declare class StandardSelectCompiler {
6004
6038
  private readonly services;
@@ -6043,211 +6077,153 @@ declare class StandardDeleteCompiler {
6043
6077
  private compileUsingClause;
6044
6078
  }
6045
6079
 
6046
- /**
6047
- * Strategy interface for handling RETURNING clauses in DML statements (INSERT, UPDATE, DELETE).
6048
- * Different SQL dialects have varying levels of support for RETURNING clauses.
6049
- */
6050
- interface ReturningStrategy {
6051
- /**
6052
- * Compiles a RETURNING clause for DML statements.
6053
- * @param returning - Array of columns to return, or undefined if none.
6054
- * @param ctx - The compiler context for expression compilation.
6055
- * @returns SQL RETURNING clause or empty string if not supported.
6056
- * @throws Error if RETURNING is not supported by this dialect.
6057
- */
6058
- compileReturning(returning: ColumnNode[] | undefined, ctx: CompilerContext): string;
6059
- /**
6060
- * Formats column list for RETURNING clause.
6061
- * @param returning - Array of columns to format.
6062
- * @param quoteIdentifier - Function to quote identifiers according to dialect rules.
6063
- * @returns Formatted column list (e.g., "table.col1, table.col2").
6064
- */
6065
- formatReturningColumns(returning: ColumnNode[], quoteIdentifier: (id: string) => string): string;
6066
- }
6067
-
6068
- /**
6069
- * Thin assembly base for dialects that use MetalORM's standard SQL compilers.
6070
- *
6071
- * SELECT/INSERT/UPDATE/DELETE orchestration lives in independent compiler
6072
- * objects. This class only wires dialect-specific syntax hooks and strategies
6073
- * into those components.
6074
- */
6075
- declare abstract class SqlDialectBase extends DialectBase {
6076
- abstract quoteIdentifier(id: string): string;
6077
- protected paginationStrategy: PaginationStrategy;
6078
- protected returningStrategy: ReturningStrategy;
6079
- private readonly sourceCompiler;
6080
- private readonly selectCompiler;
6081
- private readonly insertCompiler;
6082
- private readonly updateCompiler;
6083
- private readonly deleteCompiler;
6084
- protected constructor(functionStrategy?: FunctionStrategy, tableFunctionStrategy?: TableFunctionStrategy);
6085
- protected compileSelectAst(ast: SelectQueryNode, ctx: CompilerContext): string;
6086
- protected compileInsertAst(ast: InsertQueryNode, ctx: CompilerContext): string;
6087
- protected compileUpdateAst(ast: UpdateQueryNode, ctx: CompilerContext): string;
6088
- protected compileDeleteAst(ast: DeleteQueryNode, ctx: CompilerContext): string;
6089
- protected compileUpsertClause(ast: InsertQueryNode, _ctx: CompilerContext): string;
6090
- protected compileReturning(returning: ColumnNode[] | undefined, ctx: CompilerContext): string;
6091
- protected ensureConflictColumns(clause: UpsertClause, message: string): void;
6092
- protected compileUpdateAssignments(assignments: {
6093
- column: ColumnNode;
6094
- value: OperandNode;
6095
- }[], table: TableNode, ctx: CompilerContext): string;
6096
- protected compileSetTarget(column: ColumnNode, table: TableNode): string;
6097
- protected compileQualifiedColumn(column: ColumnNode, table: TableNode): string;
6098
- protected formatReturningColumns(returning: ColumnNode[]): string;
6099
- protected compileFrom(source: TableSourceNode, ctx?: CompilerContext): string;
6100
- protected compileFunctionTable(fn: FunctionTableNode, ctx?: CompilerContext): string;
6101
- protected compileDerivedTable(table: DerivedTableNode, ctx?: CompilerContext): string;
6102
- protected compileTableSource(table: TableSourceNode): string;
6103
- protected compileTableName(table: {
6104
- name: string;
6105
- schema?: string;
6106
- }): string;
6107
- protected compileTableReference(table: {
6108
- name: string;
6109
- schema?: string;
6110
- alias?: string;
6111
- }): string;
6112
- protected stripTrailingSemicolon(sql: string): string;
6113
- protected wrapSetOperand(sql: string): string;
6114
- protected renderOrderByNulls(order: OrderByNode): string | undefined;
6115
- protected renderOrderByCollation(order: OrderByNode): string | undefined;
6080
+ declare class StandardTableFunctionStrategy implements TableFunctionStrategy {
6081
+ protected renderers: Map<string, TableFunctionRenderer>;
6082
+ protected add(key: string, renderer: TableFunctionRenderer): void;
6083
+ getRenderer(key: string): TableFunctionRenderer | undefined;
6116
6084
  }
6117
6085
 
6118
- /**
6119
- * MySQL dialect implementation
6120
- */
6121
- declare class MySqlDialect extends SqlDialectBase implements ProcedureCompiler {
6122
- protected readonly dialect = "mysql";
6123
- /**
6124
- * Creates a new MySqlDialect instance
6125
- */
6126
- constructor();
6127
- /**
6128
- * Quotes an identifier using MySQL backtick syntax
6129
- * @param id - Identifier to quote
6130
- * @returns Quoted identifier
6131
- */
6086
+ type MySqlDialectImplementation = Dialect & ProcedureCompiler;
6087
+ /** Creates the MySQL dialect entirely from composable compiler components. */
6088
+ declare const createMySqlDialect: () => MySqlDialectImplementation;
6089
+ /** Ergonomic constructor facade over the composed MySQL dialect. */
6090
+ declare class MySqlDialect implements Dialect, ProcedureCompiler {
6091
+ private readonly impl;
6132
6092
  quoteIdentifier(id: string): string;
6133
- /**
6134
- * Compiles JSON path expression using MySQL syntax
6135
- * @param node - JSON path node
6136
- * @returns MySQL JSON path expression
6137
- */
6138
- protected compileJsonPath(node: JsonPathNode): string;
6139
- protected compileUpsertClause(ast: InsertQueryNode, ctx: CompilerContext): string;
6093
+ supportsDmlReturningClause(): boolean;
6094
+ compileSelect(ast: SelectQueryNode): CompiledQuery;
6095
+ compileInsert(ast: InsertQueryNode): CompiledQuery;
6096
+ compileUpdate(ast: UpdateQueryNode): CompiledQuery;
6097
+ compileDelete(ast: DeleteQueryNode): CompiledQuery;
6140
6098
  compileProcedureCall(ast: ProcedureCallNode): CompiledProcedureCall;
6141
6099
  }
6142
6100
 
6143
- /**
6144
- * Microsoft SQL Server dialect implementation
6145
- */
6146
- declare class SqlServerDialect extends SqlDialectBase implements ProcedureCompiler {
6147
- protected readonly dialect = "mssql";
6148
- /**
6149
- * Creates a new SqlServerDialect instance
6150
- */
6151
- constructor();
6152
- /**
6153
- * Quotes an identifier using SQL Server bracket syntax
6154
- * @param id - Identifier to quote
6155
- * @returns Quoted identifier
6156
- */
6101
+ declare class MySqlUpsertStrategy implements UpsertStrategy {
6102
+ compile(ast: InsertQueryNode, ctx: CompilerContext, services: UpsertCompilationServices): string;
6103
+ }
6104
+
6105
+ declare class MySqlProcedureCompiler implements ProcedureCompiler {
6106
+ private readonly services;
6107
+ constructor(services: ProcedureCompilerServices);
6108
+ compileProcedureCall(ast: ProcedureCallNode): CompiledProcedureCall;
6109
+ }
6110
+
6111
+ type SqlServerDialectImplementation = Dialect & ProcedureCompiler;
6112
+ /** Creates the SQL Server dialect entirely from composable compiler components. */
6113
+ declare const createSqlServerDialect: () => SqlServerDialectImplementation;
6114
+ /** Ergonomic constructor facade over the composed SQL Server dialect. */
6115
+ declare class SqlServerDialect implements Dialect, ProcedureCompiler {
6116
+ private readonly impl;
6157
6117
  quoteIdentifier(id: string): string;
6158
- /**
6159
- * Compiles JSON path expression using SQL Server syntax
6160
- * @param node - JSON path node
6161
- * @returns SQL Server JSON path expression
6162
- */
6163
- protected compileJsonPath(node: JsonPathNode): string;
6164
- /**
6165
- * Formats parameter placeholders using SQL Server named parameter syntax
6166
- * @param index - Parameter index
6167
- * @returns Named parameter placeholder
6168
- */
6169
- protected formatPlaceholder(index: number): string;
6170
- /**
6171
- * Compiles SELECT query AST to SQL Server SQL
6172
- * @param ast - Query AST
6173
- * @param ctx - Compiler context
6174
- * @returns SQL Server SQL string
6175
- */
6176
- protected compileSelectAst(ast: SelectQueryNode, ctx: CompilerContext): string;
6177
- protected compileDeleteAst(ast: DeleteQueryNode, ctx: CompilerContext): string;
6178
- protected compileUpdateAst(ast: UpdateQueryNode, ctx: CompilerContext): string;
6179
- private compileSelectCoreForMssql;
6118
+ supportsDmlReturningClause(): boolean;
6119
+ compileSelect(ast: SelectQueryNode): CompiledQuery;
6120
+ compileInsert(ast: InsertQueryNode): CompiledQuery;
6121
+ compileUpdate(ast: UpdateQueryNode): CompiledQuery;
6122
+ compileDelete(ast: DeleteQueryNode): CompiledQuery;
6123
+ compileProcedureCall(ast: ProcedureCallNode): CompiledProcedureCall;
6124
+ }
6125
+
6126
+ declare const createMssqlCompilerSet: SqlCompilerFactory;
6127
+
6128
+ declare class MssqlSelectCompiler implements SqlAstCompiler<SelectQueryNode> {
6129
+ private readonly services;
6130
+ private readonly sources;
6131
+ constructor(services: StandardSqlCompilerServices, sources: StandardSqlSourceCompiler);
6132
+ compile(ast: SelectQueryNode, ctx: CompilerContext): string;
6133
+ private compileCore;
6180
6134
  private compileOrderBy;
6181
6135
  private compilePagination;
6182
- supportsDmlReturningClause(): boolean;
6183
- protected compileReturning(returning: ColumnNode[] | undefined, _ctx: CompilerContext): string;
6184
- private compileOutputClause;
6185
- protected compileInsertAst(ast: InsertQueryNode, ctx: CompilerContext): string;
6186
- private compileMergeInsert;
6187
- private compileMergeUsingSource;
6188
- private compileInsertValues;
6189
6136
  private compileCtes;
6137
+ }
6138
+
6139
+ declare class MssqlInsertCompiler implements SqlAstCompiler<InsertQueryNode> {
6140
+ private readonly services;
6141
+ private readonly sources;
6142
+ constructor(services: StandardSqlCompilerServices, sources: StandardSqlSourceCompiler);
6143
+ compile(ast: InsertQueryNode, ctx: CompilerContext): string;
6144
+ private compileMerge;
6145
+ private compileMergeUsingSource;
6146
+ private compileInsertSource;
6147
+ }
6148
+
6149
+ declare class MssqlUpdateCompiler implements SqlAstCompiler<UpdateQueryNode> {
6150
+ private readonly services;
6151
+ private readonly sources;
6152
+ private readonly standardUpdate;
6153
+ constructor(services: StandardSqlCompilerServices, sources: StandardSqlSourceCompiler);
6154
+ compile(ast: UpdateQueryNode, ctx: CompilerContext): string;
6155
+ }
6156
+
6157
+ declare class MssqlDeleteCompiler implements SqlAstCompiler<DeleteQueryNode> {
6158
+ private readonly services;
6159
+ private readonly sources;
6160
+ private readonly output;
6161
+ constructor(services: StandardSqlCompilerServices, sources: StandardSqlSourceCompiler);
6162
+ compile(ast: DeleteQueryNode, ctx: CompilerContext): string;
6163
+ }
6164
+
6165
+ type MssqlOutputPrefix = 'inserted' | 'deleted';
6166
+ declare class MssqlOutputStrategy implements ReturningStrategy {
6167
+ compileReturning(returning: ColumnNode[] | undefined, _ctx: CompilerContext, quoteIdentifier: QuoteIdentifier): string;
6168
+ compileOutput(returning: ColumnNode[] | undefined, prefix: MssqlOutputPrefix, quoteIdentifier: QuoteIdentifier): string;
6169
+ formatReturningColumns(returning: ColumnNode[], quoteIdentifier: QuoteIdentifier): string;
6170
+ }
6171
+
6172
+ declare class MssqlProcedureCompiler implements ProcedureCompiler {
6173
+ private readonly services;
6174
+ constructor(services: ProcedureCompilerServices);
6190
6175
  compileProcedureCall(ast: ProcedureCallNode): CompiledProcedureCall;
6191
6176
  }
6192
6177
 
6193
- /**
6194
- * SQLite dialect implementation
6195
- */
6196
- declare class SqliteDialect extends SqlDialectBase {
6197
- protected readonly dialect = "sqlite";
6198
- /**
6199
- * Creates a new SqliteDialect instance
6200
- */
6201
- constructor();
6202
- /**
6203
- * Quotes an identifier using SQLite double-quote syntax
6204
- * @param id - Identifier to quote
6205
- * @returns Quoted identifier
6206
- */
6178
+ /** Creates the SQLite dialect entirely from composable compiler components. */
6179
+ declare const createSqliteDialect: () => Dialect;
6180
+ /** Ergonomic constructor facade over the composed SQLite dialect. */
6181
+ declare class SqliteDialect implements Dialect {
6182
+ private readonly impl;
6207
6183
  quoteIdentifier(id: string): string;
6208
- /**
6209
- * Compiles JSON path expression using SQLite syntax
6210
- * @param node - JSON path node
6211
- * @returns SQLite JSON path expression
6212
- */
6213
- protected compileJsonPath(node: JsonPathNode): string;
6214
- protected compileQualifiedColumn(column: ColumnNode, _table: TableNode): string;
6215
- protected compileReturning(returning: ColumnNode[] | undefined, ctx: CompilerContext): string;
6216
- protected formatReturningColumns(returning: ColumnNode[]): string;
6217
- protected compileUpsertClause(ast: InsertQueryNode, ctx: CompilerContext): string;
6218
6184
  supportsDmlReturningClause(): boolean;
6185
+ compileSelect(ast: SelectQueryNode): CompiledQuery;
6186
+ compileInsert(ast: InsertQueryNode): CompiledQuery;
6187
+ compileUpdate(ast: UpdateQueryNode): CompiledQuery;
6188
+ compileDelete(ast: DeleteQueryNode): CompiledQuery;
6219
6189
  }
6220
6190
 
6221
- /**
6222
- * PostgreSQL dialect implementation
6223
- */
6224
- declare class PostgresDialect extends SqlDialectBase implements ProcedureCompiler {
6225
- protected readonly dialect = "postgres";
6226
- /**
6227
- * Creates a new PostgresDialect instance
6228
- */
6229
- constructor();
6230
- /**
6231
- * Quotes an identifier using PostgreSQL double-quote syntax
6232
- * @param id - Identifier to quote
6233
- * @returns Quoted identifier
6234
- */
6191
+ declare class SqliteUpsertStrategy implements UpsertStrategy {
6192
+ compile(ast: InsertQueryNode, ctx: CompilerContext, services: UpsertCompilationServices): string;
6193
+ }
6194
+
6195
+ declare class SqliteReturningStrategy implements ReturningStrategy {
6196
+ compileReturning(returning: ColumnNode[] | undefined, _ctx: CompilerContext, quoteIdentifier: QuoteIdentifier): string;
6197
+ formatReturningColumns(returning: ColumnNode[], quoteIdentifier: QuoteIdentifier): string;
6198
+ }
6199
+
6200
+ type PostgresDialectImplementation = Dialect & ProcedureCompiler;
6201
+ /** Creates the PostgreSQL dialect entirely from composable compiler components. */
6202
+ declare const createPostgresDialect: () => PostgresDialectImplementation;
6203
+ /** Ergonomic constructor facade over the composed PostgreSQL dialect. */
6204
+ declare class PostgresDialect implements Dialect, ProcedureCompiler {
6205
+ private readonly impl;
6235
6206
  quoteIdentifier(id: string): string;
6236
- protected formatPlaceholder(index: number): string;
6237
- /**
6238
- * Compiles JSON path expression using PostgreSQL syntax
6239
- * @param node - JSON path node
6240
- * @returns PostgreSQL JSON path expression
6241
- */
6242
- protected compileJsonPath(node: JsonPathNode): string;
6243
- protected compileReturning(returning: ColumnNode[] | undefined, ctx: CompilerContext): string;
6244
- protected compileUpsertClause(ast: InsertQueryNode, ctx: CompilerContext): string;
6245
6207
  supportsDmlReturningClause(): boolean;
6208
+ compileSelect(ast: SelectQueryNode): CompiledQuery;
6209
+ compileInsert(ast: InsertQueryNode): CompiledQuery;
6210
+ compileUpdate(ast: UpdateQueryNode): CompiledQuery;
6211
+ compileDelete(ast: DeleteQueryNode): CompiledQuery;
6212
+ compileProcedureCall(ast: ProcedureCallNode): CompiledProcedureCall;
6213
+ }
6214
+
6215
+ declare class PostgresUpsertStrategy implements UpsertStrategy {
6216
+ compile(ast: InsertQueryNode, ctx: CompilerContext, services: UpsertCompilationServices): string;
6217
+ }
6218
+
6219
+ /** PostgreSQL uses standard SQL RETURNING with qualified columns. */
6220
+ declare class PostgresReturningStrategy extends StandardReturningStrategy {
6221
+ }
6222
+
6223
+ declare class PostgresProcedureCompiler implements ProcedureCompiler {
6224
+ private readonly services;
6225
+ constructor(services: ProcedureCompilerServices);
6246
6226
  compileProcedureCall(ast: ProcedureCallNode): CompiledProcedureCall;
6247
- /**
6248
- * PostgreSQL requires unqualified column names in SET clause
6249
- */
6250
- protected compileSetTarget(column: ColumnNode, _table: TableNode): string;
6251
6227
  }
6252
6228
 
6253
6229
  /** Represents the differences detected in a database column's properties. */
@@ -10553,4 +10529,4 @@ declare class BulkUpsertExecutor extends BulkBaseExecutor<UpsertExecutorOptions>
10553
10529
  }
10554
10530
  declare function bulkUpsert<TTable extends TableDef>(session: OrmSession, table: TTable, rows: InsertRow[], options?: BulkUpsertOptions): Promise<BulkResult>;
10555
10531
 
10556
- 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 CompiledProcedureCall, type CompiledQuery, type CompilerContext, 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, type DeleteCompiler, DeleteQueryBuilder, type Dialect, DialectBase, DialectFactory, type DialectKey, 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, type InsertCompiler, 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 ProcedureCompiler, 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, type SelectCompiler, SelectQueryBuilder, type SelectQueryInput, type SelectableKeys, type SimpleQueryRunner, type SimpleWhereInput, type Simplify, SqlServerDialect, type SqliteClientLike, SqliteDialect, type StandardColumnType, StandardDeleteCompiler, StandardInsertCompiler, StandardSelectCompiler, type StandardSqlCompilerServices, StandardSqlSourceCompiler, StandardUpdateCompiler, 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 UpdateCompiler, 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, isProcedureCompiler, 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, requireProcedureCompiler, resolveDialectInput, 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 };
10532
+ 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 CompiledProcedureCall, type CompiledQuery, type CompilerContext, 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, type DeleteCompiler, DeleteQueryBuilder, type Dialect, DialectFactory, type DialectFactoryFn, type DialectKey, 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, type InsertCompiler, 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, MssqlDeleteCompiler, MssqlInsertCompiler, type MssqlOutputPrefix, MssqlOutputStrategy, MssqlProcedureCompiler, MssqlSelectCompiler, MssqlUpdateCompiler, MySqlDialect, type MySqlDialectImplementation, MySqlProcedureCompiler, MySqlUpsertStrategy, type MysqlClientLike, type NestedDtoOptions, type NestedSetBounds, type NestedSetRow, NestedSetStrategy, NoReturningStrategy, NoUpsertStrategy, 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 PaginationStrategy, type PatchGraphInputPayload, Pattern, Pool, type PoolAdapter, type PoolLease, type PoolOptions, type PooledConnectionAdapter, type PostgresClientLike, PostgresDialect, type PostgresDialectImplementation, PostgresProcedureCompiler, PostgresReturningStrategy, PostgresUpsertStrategy, PrimaryKey, type Primitive, ProcedureCallBuilder, type ProcedureCallNode, type ProcedureCompiler, type ProcedureCompilerServices, 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 QuoteIdentifier, 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, type ReturningStrategy, 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, type SelectCompiler, SelectQueryBuilder, type SelectQueryInput, type SelectableKeys, type SimpleQueryRunner, type SimpleWhereInput, type Simplify, type SqlAstCompiler, type SqlCompilerAssemblyContext, type SqlCompilerFactory, type SqlCompilerSet, type SqlDialectComposition, type SqlDialectConfig, type SqlDialectExpressionApi, type SqlDialectRuntimeServices, SqlServerDialect, type SqlServerDialectImplementation, type SqliteClientLike, SqliteDialect, SqliteReturningStrategy, SqliteUpsertStrategy, type StandardColumnType, StandardDeleteCompiler, StandardInsertCompiler, StandardLimitOffsetPagination, StandardReturningStrategy, StandardSelectCompiler, type StandardSqlCompilerServices, StandardSqlSourceCompiler, StandardTableFunctionStrategy, StandardUpdateCompiler, type StringFilter, StringTypeStrategy, type SynchronizeOptions, type TableDef, type TableFunctionRenderContext, type TableFunctionRenderer, type TableFunctionStrategy, 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 UpdateCompiler, type UpdateDto, UpdateQueryBuilder, type UpdateRow, Upper, type UpsertCompilationServices, type UpsertStrategy, 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, composeSqlDialect, computePaginationMetadata, computeSchemaHash, concat, concatWs, correlateBy, cos, cosineDistance, cot, count, countAll, createApiComponentsSection, createBetterSqlite3Executor, createDeterministicNamingState, createDtoToOpenApiSchema, createEntityFromRow, createEntityProxy, createExecutorFromQueryRunner, createMssqlCompilerSet, createMssqlExecutor, createMySqlDialect, createMysqlExecutor, createPooledExecutorFactory, createPostgresDialect, createPostgresExecutor, createQueryLoggingExecutor, createRef, createSqlDialect, createSqlServerDialect, createSqliteDialect, 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, isProcedureCompiler, 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, requireProcedureCompiler, resolveDialectInput, 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 };