serial.d.ts 1.2 KB

1234567891011121314151617181920212223
  1. import type { ColumnBuilderBaseConfig, HasDefault, IsAutoincrement, IsPrimaryKey, NotNull } from "../../column-builder.js";
  2. import type { ColumnBaseConfig } from "../../column.js";
  3. import { entityKind } from "../../entity.js";
  4. import { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from "./common.js";
  5. export type MySqlSerialBuilderInitial<TName extends string> = IsAutoincrement<IsPrimaryKey<NotNull<HasDefault<MySqlSerialBuilder<{
  6. name: TName;
  7. dataType: 'number';
  8. columnType: 'MySqlSerial';
  9. data: number;
  10. driverParam: number;
  11. enumValues: undefined;
  12. }>>>>>;
  13. export declare class MySqlSerialBuilder<T extends ColumnBuilderBaseConfig<'number', 'MySqlSerial'>> extends MySqlColumnBuilderWithAutoIncrement<T> {
  14. static readonly [entityKind]: string;
  15. constructor(name: T['name']);
  16. }
  17. export declare class MySqlSerial<T extends ColumnBaseConfig<'number', 'MySqlSerial'>> extends MySqlColumnWithAutoIncrement<T> {
  18. static readonly [entityKind]: string;
  19. getSQLType(): string;
  20. mapFromDriverValue(value: number | string): number;
  21. }
  22. export declare function serial(): MySqlSerialBuilderInitial<''>;
  23. export declare function serial<TName extends string>(name: TName): MySqlSerialBuilderInitial<TName>;