drizzle-orm 0.32.0-0d48b64 → 0.32.0-0fdaa9e

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 (51) hide show
  1. package/mysql-core/columns/common.cjs.map +1 -1
  2. package/mysql-core/columns/common.d.cts +1 -1
  3. package/mysql-core/columns/common.d.ts +1 -1
  4. package/mysql-core/columns/common.js.map +1 -1
  5. package/package.json +55 -2
  6. package/pg-core/columns/int.common.cjs +24 -29
  7. package/pg-core/columns/int.common.cjs.map +1 -1
  8. package/pg-core/columns/int.common.d.cts +3 -3
  9. package/pg-core/columns/int.common.d.ts +3 -3
  10. package/pg-core/columns/int.common.js +25 -30
  11. package/pg-core/columns/int.common.js.map +1 -1
  12. package/pg-core/sequence.cjs +11 -11
  13. package/pg-core/sequence.cjs.map +1 -1
  14. package/pg-core/sequence.d.cts +8 -6
  15. package/pg-core/sequence.d.ts +8 -6
  16. package/pg-core/sequence.js +11 -12
  17. package/pg-core/sequence.js.map +1 -1
  18. package/sqlite-core/columns/common.cjs.map +1 -1
  19. package/sqlite-core/columns/common.d.cts +1 -1
  20. package/sqlite-core/columns/common.d.ts +1 -1
  21. package/sqlite-core/columns/common.js.map +1 -1
  22. package/tidb-serverless/driver.cjs +56 -0
  23. package/tidb-serverless/driver.cjs.map +1 -0
  24. package/tidb-serverless/driver.d.cts +10 -0
  25. package/tidb-serverless/driver.d.ts +10 -0
  26. package/tidb-serverless/driver.js +35 -0
  27. package/tidb-serverless/driver.js.map +1 -0
  28. package/tidb-serverless/index.cjs +25 -0
  29. package/tidb-serverless/index.cjs.map +1 -0
  30. package/tidb-serverless/index.d.cts +2 -0
  31. package/tidb-serverless/index.d.ts +2 -0
  32. package/tidb-serverless/index.js +3 -0
  33. package/tidb-serverless/index.js.map +1 -0
  34. package/tidb-serverless/migrator.cjs +33 -0
  35. package/tidb-serverless/migrator.cjs.map +1 -0
  36. package/tidb-serverless/migrator.d.cts +3 -0
  37. package/tidb-serverless/migrator.d.ts +3 -0
  38. package/tidb-serverless/migrator.js +9 -0
  39. package/tidb-serverless/migrator.js.map +1 -0
  40. package/tidb-serverless/session.cjs +136 -0
  41. package/tidb-serverless/session.cjs.map +1 -0
  42. package/tidb-serverless/session.d.cts +47 -0
  43. package/tidb-serverless/session.d.ts +47 -0
  44. package/tidb-serverless/session.js +114 -0
  45. package/tidb-serverless/session.js.map +1 -0
  46. package/version.cjs +2 -2
  47. package/version.cjs.map +1 -1
  48. package/version.d.cts +2 -2
  49. package/version.d.ts +2 -2
  50. package/version.js +2 -2
  51. package/version.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'], config?: MySqlGeneratedColumnConfig): HasGenerated<this> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): HasDefault<this> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA8B;AAY9B,oBAAuB;AACvB,oBAA2B;AAE3B,0BAAkC;AAIlC,+BAA8B;AAmBvB,MAAe,2BAOZ,oCAEV;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE/B,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAqB,QAAyD;AAC/F,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,sCAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAMD;AAGO,MAAe,oBAGZ,qBAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAWxC;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAkC;AACjC,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA,EAE9B,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): HasDefault<this> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA8B;AAY9B,oBAAuB;AACvB,oBAA2B;AAE3B,0BAAkC;AAIlC,+BAA8B;AAmBvB,MAAe,2BAOZ,oCAEV;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE/B,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAmC,QAAyD;AAC7G,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,sCAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAMD;AAGO,MAAe,oBAGZ,qBAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAWxC;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAAiB,wBAAU,IAAY;AAAA,EAEvC,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAkC;AACjC,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAAiB,wBAAU,IAAY;AAAA,EAE9B,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
@@ -30,7 +30,7 @@ export declare abstract class MySqlColumnBuilder<T extends ColumnBuilderBaseConf
30
30
  private foreignKeyConfigs;
31
31
  references(ref: ReferenceConfig['ref'], actions?: ReferenceConfig['actions']): this;
32
32
  unique(name?: string): this;
33
- generatedAlwaysAs(as: SQL | T['data'], config?: MySqlGeneratedColumnConfig): HasGenerated<this>;
33
+ generatedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this>;
34
34
  }
35
35
  export declare abstract class MySqlColumn<T extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>, TRuntimeConfig extends object = object> extends Column<T, TRuntimeConfig, {
36
36
  dialect: 'mysql';
@@ -30,7 +30,7 @@ export declare abstract class MySqlColumnBuilder<T extends ColumnBuilderBaseConf
30
30
  private foreignKeyConfigs;
31
31
  references(ref: ReferenceConfig['ref'], actions?: ReferenceConfig['actions']): this;
32
32
  unique(name?: string): this;
33
- generatedAlwaysAs(as: SQL | T['data'], config?: MySqlGeneratedColumnConfig): HasGenerated<this>;
33
+ generatedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this>;
34
34
  }
35
35
  export declare abstract class MySqlColumn<T extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>, TRuntimeConfig extends object = object> extends Column<T, TRuntimeConfig, {
36
36
  dialect: 'mysql';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'], config?: MySqlGeneratedColumnConfig): HasGenerated<this> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): HasDefault<this> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAY9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAIlC,SAAS,qBAAqB;AAmBvB,MAAe,2BAOZ,cAEV;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE/B,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAqB,QAAyD;AAC/F,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,kBAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAMD;AAGO,MAAe,oBAGZ,OAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAWxC;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAkC;AACjC,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA,EAE9B,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/common.ts"],"sourcesContent":["import { ColumnBuilder } from '~/column-builder.ts';\nimport type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/mysql-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/mysql-core/foreign-keys.ts';\nimport type { AnyMySqlTable, MySqlTable } from '~/mysql-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => MySqlColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface MySqlColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'mysql' }> {}\n\nexport interface MySqlGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class MySqlColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string> & {\n\t\tdata: any;\n\t},\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'mysql' }, TExtraConfig>\n\timplements MySqlColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(ref: ReferenceConfig['ref'], actions: ReferenceConfig['actions'] = {}): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(name?: string): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: MySqlGeneratedColumnConfig): HasGenerated<this> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: MySqlColumn, table: MySqlTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build<TTableName extends string>(\n\t\ttable: AnyMySqlTable<{ name: TTableName }>,\n\t): MySqlColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `MySqlColumn` and `AnyMySqlColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class MySqlColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'mysql' }> {\n\tstatic readonly [entityKind]: string = 'MySqlColumn';\n\n\tconstructor(\n\t\toverride readonly table: MySqlTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnyMySqlColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = MySqlColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n\nexport interface MySqlColumnWithAutoIncrementConfig {\n\tautoIncrement: boolean;\n}\n\nexport abstract class MySqlColumnBuilderWithAutoIncrement<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends MySqlColumnBuilder<T, TRuntimeConfig & MySqlColumnWithAutoIncrementConfig, TExtraConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnBuilderWithAutoIncrement';\n\n\tconstructor(name: NonNullable<T['name']>, dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\tautoincrement(): HasDefault<this> {\n\t\tthis.config.autoIncrement = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class MySqlColumnWithAutoIncrement<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends MySqlColumn<T, MySqlColumnWithAutoIncrementConfig & TRuntimeConfig> {\n\tstatic readonly [entityKind]: string = 'MySqlColumnWithAutoIncrement';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAY9B,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAIlC,SAAS,qBAAqB;AAmBvB,MAAe,2BAOZ,cAEV;AAAA,EACC,QAAiB,UAAU,IAAY;AAAA,EAE/B,oBAAuC,CAAC;AAAA,EAEhD,WAAW,KAA6B,UAAsC,CAAC,GAAS;AACvF,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,MAAqB;AAC3B,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAmC,QAAyD;AAC7G,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAqB,OAAiC;AACtE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,kBAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAMD;AAGO,MAAe,oBAGZ,OAAgD;AAAA,EAGzD,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,aAAa,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,UAAU,IAAY;AAWxC;AAUO,MAAe,4CAIZ,mBAAyF;AAAA,EAClG,QAAiB,UAAU,IAAY;AAAA,EAEvC,YAAY,MAA8B,UAAyB,YAA6B;AAC/F,UAAM,MAAM,UAAU,UAAU;AAChC,SAAK,OAAO,gBAAgB;AAAA,EAC7B;AAAA,EAEA,gBAAkC;AACjC,SAAK,OAAO,gBAAgB;AAC5B,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAe,qCAGZ,YAAoE;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA,EAE9B,gBAAyB,KAAK,OAAO;AAC/C;","names":["ref","actions"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "0.32.0-0d48b64",
3
+ "version": "0.32.0-0fdaa9e",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -67,7 +67,8 @@
67
67
  "postgres": ">=3",
68
68
  "react": ">=18",
69
69
  "sql.js": ">=1",
70
- "sqlite3": ">=5"
70
+ "sqlite3": ">=5",
71
+ "@tidbcloud/serverless": "*"
71
72
  },
72
73
  "peerDependenciesMeta": {
73
74
  "mysql2": {
@@ -144,6 +145,9 @@
144
145
  },
145
146
  "@electric-sql/pglite": {
146
147
  "optional": true
148
+ },
149
+ "@tidbcloud/serverless": {
150
+ "optional": true
147
151
  }
148
152
  },
149
153
  "devDependencies": {
@@ -156,6 +160,7 @@
156
160
  "@opentelemetry/api": "^1.4.1",
157
161
  "@originjs/vite-plugin-commonjs": "^1.0.3",
158
162
  "@planetscale/database": "^1.16.0",
163
+ "@tidbcloud/serverless": "^0.1.1",
159
164
  "@types/better-sqlite3": "^7.6.4",
160
165
  "@types/node": "^20.2.5",
161
166
  "@types/pg": "^8.10.1",
@@ -2019,6 +2024,54 @@
2019
2024
  "types": "./sqlite-proxy/session.d.ts",
2020
2025
  "default": "./sqlite-proxy/session.js"
2021
2026
  },
2027
+ "./tidb-serverless/driver": {
2028
+ "import": {
2029
+ "types": "./tidb-serverless/driver.d.ts",
2030
+ "default": "./tidb-serverless/driver.js"
2031
+ },
2032
+ "require": {
2033
+ "types": "./tidb-serverless/driver.d.cts",
2034
+ "default": "./tidb-serverless/driver.cjs"
2035
+ },
2036
+ "types": "./tidb-serverless/driver.d.ts",
2037
+ "default": "./tidb-serverless/driver.js"
2038
+ },
2039
+ "./tidb-serverless": {
2040
+ "import": {
2041
+ "types": "./tidb-serverless/index.d.ts",
2042
+ "default": "./tidb-serverless/index.js"
2043
+ },
2044
+ "require": {
2045
+ "types": "./tidb-serverless/index.d.cts",
2046
+ "default": "./tidb-serverless/index.cjs"
2047
+ },
2048
+ "types": "./tidb-serverless/index.d.ts",
2049
+ "default": "./tidb-serverless/index.js"
2050
+ },
2051
+ "./tidb-serverless/migrator": {
2052
+ "import": {
2053
+ "types": "./tidb-serverless/migrator.d.ts",
2054
+ "default": "./tidb-serverless/migrator.js"
2055
+ },
2056
+ "require": {
2057
+ "types": "./tidb-serverless/migrator.d.cts",
2058
+ "default": "./tidb-serverless/migrator.cjs"
2059
+ },
2060
+ "types": "./tidb-serverless/migrator.d.ts",
2061
+ "default": "./tidb-serverless/migrator.js"
2062
+ },
2063
+ "./tidb-serverless/session": {
2064
+ "import": {
2065
+ "types": "./tidb-serverless/session.d.ts",
2066
+ "default": "./tidb-serverless/session.js"
2067
+ },
2068
+ "require": {
2069
+ "types": "./tidb-serverless/session.d.cts",
2070
+ "default": "./tidb-serverless/session.cjs"
2071
+ },
2072
+ "types": "./tidb-serverless/session.d.ts",
2073
+ "default": "./tidb-serverless/session.js"
2074
+ },
2022
2075
  "./vercel-postgres/driver": {
2023
2076
  "import": {
2024
2077
  "types": "./vercel-postgres/driver.d.ts",
@@ -22,46 +22,41 @@ __export(int_common_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(int_common_exports);
24
24
  var import_entity = require("../../entity.cjs");
25
- var import_sequence = require("../sequence.cjs");
26
25
  var import_common = require("./common.cjs");
27
26
  class PgIntColumnBaseBuilder extends import_common.PgColumnBuilder {
28
27
  static [import_entity.entityKind] = "PgIntColumnBaseBuilder";
29
28
  generatedAlwaysAsIdentity(sequence) {
30
29
  if (sequence) {
31
- if ((0, import_entity.is)(sequence, import_sequence.PgSequence)) {
32
- this.config.generatedIdentity = {
33
- type: "always",
34
- sequenceName: sequence.seqName,
35
- sequenceOptions: sequence.seqOptions
36
- };
37
- } else {
38
- const { name, ...options } = sequence;
39
- this.config.generatedIdentity = {
40
- type: "always",
41
- sequenceName: name,
42
- sequenceOptions: options
43
- };
44
- }
30
+ const { name, ...options } = sequence;
31
+ this.config.generatedIdentity = {
32
+ type: "always",
33
+ sequenceName: name,
34
+ sequenceOptions: options
35
+ };
36
+ } else {
37
+ this.config.generatedIdentity = {
38
+ type: "always"
39
+ };
45
40
  }
41
+ this.config.hasDefault = true;
42
+ this.config.notNull = true;
46
43
  return this;
47
44
  }
48
45
  generatedByDefaultAsIdentity(sequence) {
49
46
  if (sequence) {
50
- if ((0, import_entity.is)(sequence, import_sequence.PgSequence)) {
51
- this.config.generatedIdentity = {
52
- type: "byDefault",
53
- sequenceName: sequence.seqName,
54
- sequenceOptions: sequence.seqOptions
55
- };
56
- } else {
57
- const { name, ...options } = sequence;
58
- this.config.generatedIdentity = {
59
- type: "byDefault",
60
- sequenceName: name,
61
- sequenceOptions: options
62
- };
63
- }
47
+ const { name, ...options } = sequence;
48
+ this.config.generatedIdentity = {
49
+ type: "byDefault",
50
+ sequenceName: name,
51
+ sequenceOptions: options
52
+ };
53
+ } else {
54
+ this.config.generatedIdentity = {
55
+ type: "byDefault"
56
+ };
64
57
  }
58
+ this.config.hasDefault = true;
59
+ this.config.notNull = true;
65
60
  return this;
66
61
  }
67
62
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/int.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnDataType,\n\tGeneratedIdentityConfig,\n\tIsIdentityByDefault,\n} from '~/column-builder.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { PgSequence, type PgSequenceOptions } from '../sequence.ts';\nimport { PgColumnBuilder } from './common.ts';\n\nexport abstract class PgIntColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumnBuilder<\n\tT,\n\t{ generatedIdentity: GeneratedIdentityConfig }\n> {\n\tstatic readonly [entityKind]: string = 'PgIntColumnBaseBuilder';\n\n\tgeneratedAlwaysAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string } | PgSequence,\n\t): IsIdentityByDefault<this, 'always'> {\n\t\tif (sequence) {\n\t\t\tif (is(sequence, PgSequence)) {\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'always',\n\t\t\t\t\tsequenceName: sequence.seqName,\n\t\t\t\t\tsequenceOptions: sequence.seqOptions,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst { name, ...options } = sequence;\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'always',\n\t\t\t\t\tsequenceName: name,\n\t\t\t\t\tsequenceOptions: options,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn this as any;\n\t}\n\n\tgeneratedByDefaultAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string } | PgSequence,\n\t): IsIdentityByDefault<this, 'byDefault'> {\n\t\tif (sequence) {\n\t\t\tif (is(sequence, PgSequence)) {\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'byDefault',\n\t\t\t\t\tsequenceName: sequence.seqName,\n\t\t\t\t\tsequenceOptions: sequence.seqOptions,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst { name, ...options } = sequence;\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'byDefault',\n\t\t\t\t\tsequenceName: name,\n\t\t\t\t\tsequenceOptions: options,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAA+B;AAC/B,sBAAmD;AACnD,oBAAgC;AAEzB,MAAe,+BAEZ,8BAGR;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,0BACC,UACsC;AACtC,QAAI,UAAU;AACb,cAAI,kBAAG,UAAU,0BAAU,GAAG;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc,SAAS;AAAA,UACvB,iBAAiB,SAAS;AAAA,QAC3B;AAAA,MACD,OAAO;AACN,cAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc;AAAA,UACd,iBAAiB;AAAA,QAClB;AAAA,MACD;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AAAA,EAEA,6BACC,UACyC;AACzC,QAAI,UAAU;AACb,cAAI,kBAAG,UAAU,0BAAU,GAAG;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc,SAAS;AAAA,UACvB,iBAAiB,SAAS;AAAA,QAC3B;AAAA,MACD,OAAO;AACN,cAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc;AAAA,UACd,iBAAiB;AAAA,QAClB;AAAA,MACD;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/int.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnDataType,\n\tGeneratedIdentityConfig,\n\tIsIdentityByDefault,\n} from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgSequenceOptions } from '../sequence.ts';\nimport { PgColumnBuilder } from './common.ts';\n\nexport abstract class PgIntColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumnBuilder<\n\tT,\n\t{ generatedIdentity: GeneratedIdentityConfig }\n> {\n\tstatic readonly [entityKind]: string = 'PgIntColumnBaseBuilder';\n\n\tgeneratedAlwaysAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string },\n\t): IsIdentityByDefault<this, 'always'> {\n\t\tif (sequence) {\n\t\t\tconst { name, ...options } = sequence;\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'always',\n\t\t\t\tsequenceName: name,\n\t\t\t\tsequenceOptions: options,\n\t\t\t};\n\t\t} else {\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'always',\n\t\t\t};\n\t\t}\n\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\n\t\treturn this as any;\n\t}\n\n\tgeneratedByDefaultAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string },\n\t): IsIdentityByDefault<this, 'byDefault'> {\n\t\tif (sequence) {\n\t\t\tconst { name, ...options } = sequence;\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'byDefault',\n\t\t\t\tsequenceName: name,\n\t\t\t\tsequenceOptions: options,\n\t\t\t};\n\t\t} else {\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'byDefault',\n\t\t\t};\n\t\t}\n\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\n\t\treturn this as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAA2B;AAE3B,oBAAgC;AAEzB,MAAe,+BAEZ,8BAGR;AAAA,EACD,QAAiB,wBAAU,IAAY;AAAA,EAEvC,0BACC,UACsC;AACtC,QAAI,UAAU;AACb,YAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,QACN,cAAc;AAAA,QACd,iBAAiB;AAAA,MAClB;AAAA,IACD,OAAO;AACN,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,MACP;AAAA,IACD;AAEA,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAEtB,WAAO;AAAA,EACR;AAAA,EAEA,6BACC,UACyC;AACzC,QAAI,UAAU;AACb,YAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,QACN,cAAc;AAAA,QACd,iBAAiB;AAAA,MAClB;AAAA,IACD,OAAO;AACN,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,MACP;AAAA,IACD;AAEA,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAEtB,WAAO;AAAA,EACR;AACD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import type { ColumnBuilderBaseConfig, ColumnDataType, GeneratedIdentityConfig, IsIdentityByDefault } from "../../column-builder.cjs";
2
2
  import { entityKind } from "../../entity.cjs";
3
- import { PgSequence, type PgSequenceOptions } from "../sequence.cjs";
3
+ import type { PgSequenceOptions } from "../sequence.cjs";
4
4
  import { PgColumnBuilder } from "./common.cjs";
5
5
  export declare abstract class PgIntColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnDataType, string>> extends PgColumnBuilder<T, {
6
6
  generatedIdentity: GeneratedIdentityConfig;
@@ -8,8 +8,8 @@ export declare abstract class PgIntColumnBaseBuilder<T extends ColumnBuilderBase
8
8
  static readonly [entityKind]: string;
9
9
  generatedAlwaysAsIdentity(sequence?: PgSequenceOptions & {
10
10
  name?: string;
11
- } | PgSequence): IsIdentityByDefault<this, 'always'>;
11
+ }): IsIdentityByDefault<this, 'always'>;
12
12
  generatedByDefaultAsIdentity(sequence?: PgSequenceOptions & {
13
13
  name?: string;
14
- } | PgSequence): IsIdentityByDefault<this, 'byDefault'>;
14
+ }): IsIdentityByDefault<this, 'byDefault'>;
15
15
  }
@@ -1,6 +1,6 @@
1
1
  import type { ColumnBuilderBaseConfig, ColumnDataType, GeneratedIdentityConfig, IsIdentityByDefault } from "../../column-builder.js";
2
2
  import { entityKind } from "../../entity.js";
3
- import { PgSequence, type PgSequenceOptions } from "../sequence.js";
3
+ import type { PgSequenceOptions } from "../sequence.js";
4
4
  import { PgColumnBuilder } from "./common.js";
5
5
  export declare abstract class PgIntColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnDataType, string>> extends PgColumnBuilder<T, {
6
6
  generatedIdentity: GeneratedIdentityConfig;
@@ -8,8 +8,8 @@ export declare abstract class PgIntColumnBaseBuilder<T extends ColumnBuilderBase
8
8
  static readonly [entityKind]: string;
9
9
  generatedAlwaysAsIdentity(sequence?: PgSequenceOptions & {
10
10
  name?: string;
11
- } | PgSequence): IsIdentityByDefault<this, 'always'>;
11
+ }): IsIdentityByDefault<this, 'always'>;
12
12
  generatedByDefaultAsIdentity(sequence?: PgSequenceOptions & {
13
13
  name?: string;
14
- } | PgSequence): IsIdentityByDefault<this, 'byDefault'>;
14
+ }): IsIdentityByDefault<this, 'byDefault'>;
15
15
  }
@@ -1,44 +1,39 @@
1
- import { entityKind, is } from "../../entity.js";
2
- import { PgSequence } from "../sequence.js";
1
+ import { entityKind } from "../../entity.js";
3
2
  import { PgColumnBuilder } from "./common.js";
4
3
  class PgIntColumnBaseBuilder extends PgColumnBuilder {
5
4
  static [entityKind] = "PgIntColumnBaseBuilder";
6
5
  generatedAlwaysAsIdentity(sequence) {
7
6
  if (sequence) {
8
- if (is(sequence, PgSequence)) {
9
- this.config.generatedIdentity = {
10
- type: "always",
11
- sequenceName: sequence.seqName,
12
- sequenceOptions: sequence.seqOptions
13
- };
14
- } else {
15
- const { name, ...options } = sequence;
16
- this.config.generatedIdentity = {
17
- type: "always",
18
- sequenceName: name,
19
- sequenceOptions: options
20
- };
21
- }
7
+ const { name, ...options } = sequence;
8
+ this.config.generatedIdentity = {
9
+ type: "always",
10
+ sequenceName: name,
11
+ sequenceOptions: options
12
+ };
13
+ } else {
14
+ this.config.generatedIdentity = {
15
+ type: "always"
16
+ };
22
17
  }
18
+ this.config.hasDefault = true;
19
+ this.config.notNull = true;
23
20
  return this;
24
21
  }
25
22
  generatedByDefaultAsIdentity(sequence) {
26
23
  if (sequence) {
27
- if (is(sequence, PgSequence)) {
28
- this.config.generatedIdentity = {
29
- type: "byDefault",
30
- sequenceName: sequence.seqName,
31
- sequenceOptions: sequence.seqOptions
32
- };
33
- } else {
34
- const { name, ...options } = sequence;
35
- this.config.generatedIdentity = {
36
- type: "byDefault",
37
- sequenceName: name,
38
- sequenceOptions: options
39
- };
40
- }
24
+ const { name, ...options } = sequence;
25
+ this.config.generatedIdentity = {
26
+ type: "byDefault",
27
+ sequenceName: name,
28
+ sequenceOptions: options
29
+ };
30
+ } else {
31
+ this.config.generatedIdentity = {
32
+ type: "byDefault"
33
+ };
41
34
  }
35
+ this.config.hasDefault = true;
36
+ this.config.notNull = true;
42
37
  return this;
43
38
  }
44
39
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/int.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnDataType,\n\tGeneratedIdentityConfig,\n\tIsIdentityByDefault,\n} from '~/column-builder.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { PgSequence, type PgSequenceOptions } from '../sequence.ts';\nimport { PgColumnBuilder } from './common.ts';\n\nexport abstract class PgIntColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumnBuilder<\n\tT,\n\t{ generatedIdentity: GeneratedIdentityConfig }\n> {\n\tstatic readonly [entityKind]: string = 'PgIntColumnBaseBuilder';\n\n\tgeneratedAlwaysAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string } | PgSequence,\n\t): IsIdentityByDefault<this, 'always'> {\n\t\tif (sequence) {\n\t\t\tif (is(sequence, PgSequence)) {\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'always',\n\t\t\t\t\tsequenceName: sequence.seqName,\n\t\t\t\t\tsequenceOptions: sequence.seqOptions,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst { name, ...options } = sequence;\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'always',\n\t\t\t\t\tsequenceName: name,\n\t\t\t\t\tsequenceOptions: options,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn this as any;\n\t}\n\n\tgeneratedByDefaultAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string } | PgSequence,\n\t): IsIdentityByDefault<this, 'byDefault'> {\n\t\tif (sequence) {\n\t\t\tif (is(sequence, PgSequence)) {\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'byDefault',\n\t\t\t\t\tsequenceName: sequence.seqName,\n\t\t\t\t\tsequenceOptions: sequence.seqOptions,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst { name, ...options } = sequence;\n\t\t\t\tthis.config.generatedIdentity = {\n\t\t\t\t\ttype: 'byDefault',\n\t\t\t\t\tsequenceName: name,\n\t\t\t\t\tsequenceOptions: options,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"AAMA,SAAS,YAAY,UAAU;AAC/B,SAAS,kBAA0C;AACnD,SAAS,uBAAuB;AAEzB,MAAe,+BAEZ,gBAGR;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,0BACC,UACsC;AACtC,QAAI,UAAU;AACb,UAAI,GAAG,UAAU,UAAU,GAAG;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc,SAAS;AAAA,UACvB,iBAAiB,SAAS;AAAA,QAC3B;AAAA,MACD,OAAO;AACN,cAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc;AAAA,UACd,iBAAiB;AAAA,QAClB;AAAA,MACD;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AAAA,EAEA,6BACC,UACyC;AACzC,QAAI,UAAU;AACb,UAAI,GAAG,UAAU,UAAU,GAAG;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc,SAAS;AAAA,UACvB,iBAAiB,SAAS;AAAA,QAC3B;AAAA,MACD,OAAO;AACN,cAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,aAAK,OAAO,oBAAoB;AAAA,UAC/B,MAAM;AAAA,UACN,cAAc;AAAA,UACd,iBAAiB;AAAA,QAClB;AAAA,MACD;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/int.common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBaseConfig,\n\tColumnDataType,\n\tGeneratedIdentityConfig,\n\tIsIdentityByDefault,\n} from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { PgSequenceOptions } from '../sequence.ts';\nimport { PgColumnBuilder } from './common.ts';\n\nexport abstract class PgIntColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends PgColumnBuilder<\n\tT,\n\t{ generatedIdentity: GeneratedIdentityConfig }\n> {\n\tstatic readonly [entityKind]: string = 'PgIntColumnBaseBuilder';\n\n\tgeneratedAlwaysAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string },\n\t): IsIdentityByDefault<this, 'always'> {\n\t\tif (sequence) {\n\t\t\tconst { name, ...options } = sequence;\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'always',\n\t\t\t\tsequenceName: name,\n\t\t\t\tsequenceOptions: options,\n\t\t\t};\n\t\t} else {\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'always',\n\t\t\t};\n\t\t}\n\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\n\t\treturn this as any;\n\t}\n\n\tgeneratedByDefaultAsIdentity(\n\t\tsequence?: PgSequenceOptions & { name?: string },\n\t): IsIdentityByDefault<this, 'byDefault'> {\n\t\tif (sequence) {\n\t\t\tconst { name, ...options } = sequence;\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'byDefault',\n\t\t\t\tsequenceName: name,\n\t\t\t\tsequenceOptions: options,\n\t\t\t};\n\t\t} else {\n\t\t\tthis.config.generatedIdentity = {\n\t\t\t\ttype: 'byDefault',\n\t\t\t};\n\t\t}\n\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\n\t\treturn this as any;\n\t}\n}\n"],"mappings":"AAMA,SAAS,kBAAkB;AAE3B,SAAS,uBAAuB;AAEzB,MAAe,+BAEZ,gBAGR;AAAA,EACD,QAAiB,UAAU,IAAY;AAAA,EAEvC,0BACC,UACsC;AACtC,QAAI,UAAU;AACb,YAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,QACN,cAAc;AAAA,QACd,iBAAiB;AAAA,MAClB;AAAA,IACD,OAAO;AACN,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,MACP;AAAA,IACD;AAEA,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAEtB,WAAO;AAAA,EACR;AAAA,EAEA,6BACC,UACyC;AACzC,QAAI,UAAU;AACb,YAAM,EAAE,MAAM,GAAG,QAAQ,IAAI;AAC7B,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,QACN,cAAc;AAAA,QACd,iBAAiB;AAAA,MAClB;AAAA,IACD,OAAO;AACN,WAAK,OAAO,oBAAoB;AAAA,QAC/B,MAAM;AAAA,MACP;AAAA,IACD;AAEA,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,UAAU;AAEtB,WAAO;AAAA,EACR;AACD;","names":[]}
@@ -19,33 +19,33 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var sequence_exports = {};
20
20
  __export(sequence_exports, {
21
21
  PgSequence: () => PgSequence,
22
+ isPgSequence: () => isPgSequence,
22
23
  pgSequence: () => pgSequence,
23
24
  pgSequenceWithSchema: () => pgSequenceWithSchema
24
25
  });
25
26
  module.exports = __toCommonJS(sequence_exports);
26
27
  var import_entity = require("../entity.cjs");
27
28
  class PgSequence {
29
+ constructor(seqName, seqOptions, schema) {
30
+ this.seqName = seqName;
31
+ this.seqOptions = seqOptions;
32
+ this.schema = schema;
33
+ }
28
34
  static [import_entity.entityKind] = "PgSequence";
29
- seqName;
30
- seqOptions;
31
- schema;
32
35
  }
33
36
  function pgSequence(name, options) {
34
37
  return pgSequenceWithSchema(name, options, void 0);
35
38
  }
36
39
  function pgSequenceWithSchema(name, options, schema) {
37
- const sequenceInstance = Object.assign(
38
- {
39
- name,
40
- seqOptions: options,
41
- schema
42
- }
43
- );
44
- return sequenceInstance;
40
+ return new PgSequence(name, options, schema);
41
+ }
42
+ function isPgSequence(obj) {
43
+ return (0, import_entity.is)(obj, PgSequence);
45
44
  }
46
45
  // Annotate the CommonJS export names for ESM import in node:
47
46
  0 && (module.exports = {
48
47
  PgSequence,
48
+ isPgSequence,
49
49
  pgSequence,
50
50
  pgSequenceWithSchema
51
51
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number;\n\tminValue?: number;\n\tmaxValue?: number;\n\tstartWith?: number;\n\tcache?: number;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\treadonly seqName: string | undefined;\n\treadonly seqOptions: PgSequenceOptions | undefined;\n\treadonly schema: string | undefined;\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\tconst sequenceInstance: PgSequence = Object.assign(\n\t\t{\n\t\t\tname,\n\t\t\tseqOptions: options,\n\t\t\tschema,\n\t\t} as const,\n\t);\n\n\treturn sequenceInstance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAWpB,MAAM,WAAW;AAAA,EACvB,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AACV;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,QAAM,mBAA+B,OAAO;AAAA,IAC3C;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number | string;\n\tminValue?: number | string;\n\tmaxValue?: number | string;\n\tstartWith?: number | string;\n\tcache?: number | string;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\tconstructor(\n\t\tpublic readonly seqName: string | undefined,\n\t\tpublic readonly seqOptions: PgSequenceOptions | undefined,\n\t\tpublic readonly schema: string | undefined,\n\t) {\n\t}\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\treturn new PgSequence(name, options, schema);\n}\n\nexport function isPgSequence(obj: unknown): obj is PgSequence {\n\treturn is(obj, PgSequence);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAWxB,MAAM,WAAW;AAAA,EAGvB,YACiB,SACA,YACA,QACf;AAHe;AACA;AACA;AAAA,EAEjB;AAAA,EAPA,QAAiB,wBAAU,IAAY;AAQxC;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,SAAO,IAAI,WAAW,MAAM,SAAS,MAAM;AAC5C;AAEO,SAAS,aAAa,KAAiC;AAC7D,aAAO,kBAAG,KAAK,UAAU;AAC1B;","names":[]}
@@ -1,16 +1,18 @@
1
1
  import { entityKind } from "../entity.cjs";
2
2
  export type PgSequenceOptions = {
3
- increment?: number;
4
- minValue?: number;
5
- maxValue?: number;
6
- startWith?: number;
7
- cache?: number;
3
+ increment?: number | string;
4
+ minValue?: number | string;
5
+ maxValue?: number | string;
6
+ startWith?: number | string;
7
+ cache?: number | string;
8
8
  cycle?: boolean;
9
9
  };
10
10
  export declare class PgSequence {
11
- static readonly [entityKind]: string;
12
11
  readonly seqName: string | undefined;
13
12
  readonly seqOptions: PgSequenceOptions | undefined;
14
13
  readonly schema: string | undefined;
14
+ static readonly [entityKind]: string;
15
+ constructor(seqName: string | undefined, seqOptions: PgSequenceOptions | undefined, schema: string | undefined);
15
16
  }
16
17
  export declare function pgSequence(name: string, options: PgSequenceOptions): PgSequence;
18
+ export declare function isPgSequence(obj: unknown): obj is PgSequence;
@@ -1,16 +1,18 @@
1
1
  import { entityKind } from "../entity.js";
2
2
  export type PgSequenceOptions = {
3
- increment?: number;
4
- minValue?: number;
5
- maxValue?: number;
6
- startWith?: number;
7
- cache?: number;
3
+ increment?: number | string;
4
+ minValue?: number | string;
5
+ maxValue?: number | string;
6
+ startWith?: number | string;
7
+ cache?: number | string;
8
8
  cycle?: boolean;
9
9
  };
10
10
  export declare class PgSequence {
11
- static readonly [entityKind]: string;
12
11
  readonly seqName: string | undefined;
13
12
  readonly seqOptions: PgSequenceOptions | undefined;
14
13
  readonly schema: string | undefined;
14
+ static readonly [entityKind]: string;
15
+ constructor(seqName: string | undefined, seqOptions: PgSequenceOptions | undefined, schema: string | undefined);
15
16
  }
16
17
  export declare function pgSequence(name: string, options: PgSequenceOptions): PgSequence;
18
+ export declare function isPgSequence(obj: unknown): obj is PgSequence;
@@ -1,25 +1,24 @@
1
- import { entityKind } from "../entity.js";
1
+ import { entityKind, is } from "../entity.js";
2
2
  class PgSequence {
3
+ constructor(seqName, seqOptions, schema) {
4
+ this.seqName = seqName;
5
+ this.seqOptions = seqOptions;
6
+ this.schema = schema;
7
+ }
3
8
  static [entityKind] = "PgSequence";
4
- seqName;
5
- seqOptions;
6
- schema;
7
9
  }
8
10
  function pgSequence(name, options) {
9
11
  return pgSequenceWithSchema(name, options, void 0);
10
12
  }
11
13
  function pgSequenceWithSchema(name, options, schema) {
12
- const sequenceInstance = Object.assign(
13
- {
14
- name,
15
- seqOptions: options,
16
- schema
17
- }
18
- );
19
- return sequenceInstance;
14
+ return new PgSequence(name, options, schema);
15
+ }
16
+ function isPgSequence(obj) {
17
+ return is(obj, PgSequence);
20
18
  }
21
19
  export {
22
20
  PgSequence,
21
+ isPgSequence,
23
22
  pgSequence,
24
23
  pgSequenceWithSchema
25
24
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number;\n\tminValue?: number;\n\tmaxValue?: number;\n\tstartWith?: number;\n\tcache?: number;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\treadonly seqName: string | undefined;\n\treadonly seqOptions: PgSequenceOptions | undefined;\n\treadonly schema: string | undefined;\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\tconst sequenceInstance: PgSequence = Object.assign(\n\t\t{\n\t\t\tname,\n\t\t\tseqOptions: options,\n\t\t\tschema,\n\t\t} as const,\n\t);\n\n\treturn sequenceInstance;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAWpB,MAAM,WAAW;AAAA,EACvB,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AACV;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,QAAM,mBAA+B,OAAO;AAAA,IAC3C;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/sequence.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\n\nexport type PgSequenceOptions = {\n\tincrement?: number | string;\n\tminValue?: number | string;\n\tmaxValue?: number | string;\n\tstartWith?: number | string;\n\tcache?: number | string;\n\tcycle?: boolean;\n};\n\nexport class PgSequence {\n\tstatic readonly [entityKind]: string = 'PgSequence';\n\n\tconstructor(\n\t\tpublic readonly seqName: string | undefined,\n\t\tpublic readonly seqOptions: PgSequenceOptions | undefined,\n\t\tpublic readonly schema: string | undefined,\n\t) {\n\t}\n}\n\nexport function pgSequence(\n\tname: string,\n\toptions: PgSequenceOptions,\n): PgSequence {\n\treturn pgSequenceWithSchema(name, options, undefined);\n}\n\n/** @internal */\nexport function pgSequenceWithSchema(\n\tname: string,\n\toptions: PgSequenceOptions,\n\tschema?: string,\n): PgSequence {\n\treturn new PgSequence(name, options, schema);\n}\n\nexport function isPgSequence(obj: unknown): obj is PgSequence {\n\treturn is(obj, PgSequence);\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAWxB,MAAM,WAAW;AAAA,EAGvB,YACiB,SACA,YACA,QACf;AAHe;AACA;AACA;AAAA,EAEjB;AAAA,EAPA,QAAiB,UAAU,IAAY;AAQxC;AAEO,SAAS,WACf,MACA,SACa;AACb,SAAO,qBAAqB,MAAM,SAAS,MAAS;AACrD;AAGO,SAAS,qBACf,MACA,SACA,QACa;AACb,SAAO,IAAI,WAAW,MAAM,SAAS,MAAM;AAC5C;AAEO,SAAS,aAAa,KAAiC;AAC7D,SAAO,GAAG,KAAK,UAAU;AAC1B;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sqlite-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport { Column } from '~/column.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/sqlite-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/sqlite-core/foreign-keys.ts';\nimport type { AnySQLiteTable, SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => SQLiteColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface SQLiteColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'sqlite' }> {}\n\nexport interface SQLiteGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class SQLiteColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = object,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'sqlite' }, TExtraConfig>\n\timplements SQLiteColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tactions: ReferenceConfig['actions'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'], config?: SQLiteGeneratedColumnConfig): HasGenerated<this> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: SQLiteColumn, table: SQLiteTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `SQLiteColumn` and `AnySQLiteColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class SQLiteColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'sqlite' }> {\n\tstatic readonly [entityKind]: string = 'SQLiteColumn';\n\n\tconstructor(\n\t\toverride readonly table: SQLiteTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnySQLiteColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = SQLiteColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,4BAA8B;AAC9B,oBAAuB;AAEvB,oBAA2B;AAG3B,0BAAkC;AAGlC,+BAA8B;AAmBvB,MAAe,4BAKZ,oCAEV;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE/B,oBAAuC,CAAC;AAAA,EAEhD,WACC,KACA,UAAsC,CAAC,GAChC;AACP,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OACC,MACO;AACP,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAqB,QAA0D;AAChG,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAsB,OAAkC;AACxE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,sCAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAMD;AAGO,MAAe,qBAGZ,qBAAiD;AAAA,EAG1D,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAWxC;","names":["ref","actions"]}
1
+ {"version":3,"sources":["../../../src/sqlite-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport { Column } from '~/column.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/sqlite-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/sqlite-core/foreign-keys.ts';\nimport type { AnySQLiteTable, SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => SQLiteColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface SQLiteColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'sqlite' }> {}\n\nexport interface SQLiteGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class SQLiteColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = object,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'sqlite' }, TExtraConfig>\n\timplements SQLiteColumnBuilderBase<T, TTypeConfig>\n{\n\tstatic readonly [entityKind]: string = 'SQLiteColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tactions: ReferenceConfig['actions'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: SQLiteGeneratedColumnConfig): HasGenerated<this> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: SQLiteColumn, table: SQLiteTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build<TTableName extends string>(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteColumn<MakeColumnConfig<T, TTableName>>;\n}\n\n// To understand how to use `SQLiteColumn` and `AnySQLiteColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class SQLiteColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n> extends Column<T, TRuntimeConfig, { dialect: 'sqlite' }> {\n\tstatic readonly [entityKind]: string = 'SQLiteColumn';\n\n\tconstructor(\n\t\toverride readonly table: SQLiteTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnySQLiteColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> = SQLiteColumn<\n\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,4BAA8B;AAC9B,oBAAuB;AAEvB,oBAA2B;AAG3B,0BAAkC;AAGlC,+BAA8B;AAmBvB,MAAe,4BAKZ,oCAEV;AAAA,EACC,QAAiB,wBAAU,IAAY;AAAA,EAE/B,oBAAuC,CAAC;AAAA,EAEhD,WACC,KACA,UAAsC,CAAC,GAChC;AACP,SAAK,kBAAkB,KAAK,EAAE,KAAK,QAAQ,CAAC;AAC5C,WAAO;AAAA,EACR;AAAA,EAEA,OACC,MACO;AACP,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAAmC,QAA0D;AAC9G,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM,QAAQ,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,iBAAiB,QAAsB,OAAkC;AACxE,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,QAAQ,MAAM;AACvD,cAAQ,CAACA,MAAKC,aAAY;AACzB,cAAM,UAAU,IAAI,sCAAkB,MAAM;AAC3C,gBAAM,gBAAgBD,KAAI;AAC1B,iBAAO,EAAE,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,QAC7D,CAAC;AACD,YAAIC,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,YAAIA,SAAQ,UAAU;AACrB,kBAAQ,SAASA,SAAQ,QAAQ;AAAA,QAClC;AACA,eAAO,QAAQ,MAAM,KAAK;AAAA,MAC3B,GAAG,KAAK,OAAO;AAAA,IAChB,CAAC;AAAA,EACF;AAMD;AAGO,MAAe,qBAGZ,qBAAiD;AAAA,EAG1D,YACmB,OAClB,QACC;AACD,QAAI,CAAC,OAAO,YAAY;AACvB,aAAO,iBAAa,wCAAc,OAAO,CAAC,OAAO,IAAI,CAAC;AAAA,IACvD;AACA,UAAM,OAAO,MAAM;AAND;AAAA,EAOnB;AAAA,EAVA,QAAiB,wBAAU,IAAY;AAWxC;","names":["ref","actions"]}
@@ -28,7 +28,7 @@ export declare abstract class SQLiteColumnBuilder<T extends ColumnBuilderBaseCon
28
28
  private foreignKeyConfigs;
29
29
  references(ref: ReferenceConfig['ref'], actions?: ReferenceConfig['actions']): this;
30
30
  unique(name?: string): this;
31
- generatedAlwaysAs(as: SQL | T['data'], config?: SQLiteGeneratedColumnConfig): HasGenerated<this>;
31
+ generatedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: SQLiteGeneratedColumnConfig): HasGenerated<this>;
32
32
  }
33
33
  export declare abstract class SQLiteColumn<T extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>, TRuntimeConfig extends object = object> extends Column<T, TRuntimeConfig, {
34
34
  dialect: 'sqlite';
@@ -28,7 +28,7 @@ export declare abstract class SQLiteColumnBuilder<T extends ColumnBuilderBaseCon
28
28
  private foreignKeyConfigs;
29
29
  references(ref: ReferenceConfig['ref'], actions?: ReferenceConfig['actions']): this;
30
30
  unique(name?: string): this;
31
- generatedAlwaysAs(as: SQL | T['data'], config?: SQLiteGeneratedColumnConfig): HasGenerated<this>;
31
+ generatedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: SQLiteGeneratedColumnConfig): HasGenerated<this>;
32
32
  }
33
33
  export declare abstract class SQLiteColumn<T extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>, TRuntimeConfig extends object = object> extends Column<T, TRuntimeConfig, {
34
34
  dialect: 'sqlite';