bigint.d.cts 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
  2. import type { ColumnBaseConfig } from "../../column.cjs";
  3. import { entityKind } from "../../entity.cjs";
  4. import { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from "./common.cjs";
  5. export type MySqlBigInt53BuilderInitial<TName extends string> = MySqlBigInt53Builder<{
  6. name: TName;
  7. dataType: 'number';
  8. columnType: 'MySqlBigInt53';
  9. data: number;
  10. driverParam: number | string;
  11. enumValues: undefined;
  12. }>;
  13. export declare class MySqlBigInt53Builder<T extends ColumnBuilderBaseConfig<'number', 'MySqlBigInt53'>> extends MySqlColumnBuilderWithAutoIncrement<T, {
  14. unsigned: boolean;
  15. }> {
  16. static readonly [entityKind]: string;
  17. constructor(name: T['name'], unsigned?: boolean);
  18. }
  19. export declare class MySqlBigInt53<T extends ColumnBaseConfig<'number', 'MySqlBigInt53'>> extends MySqlColumnWithAutoIncrement<T, {
  20. unsigned: boolean;
  21. }> {
  22. static readonly [entityKind]: string;
  23. getSQLType(): string;
  24. mapFromDriverValue(value: number | string): number;
  25. }
  26. export type MySqlBigInt64BuilderInitial<TName extends string> = MySqlBigInt64Builder<{
  27. name: TName;
  28. dataType: 'bigint';
  29. columnType: 'MySqlBigInt64';
  30. data: bigint;
  31. driverParam: string;
  32. enumValues: undefined;
  33. }>;
  34. export declare class MySqlBigInt64Builder<T extends ColumnBuilderBaseConfig<'bigint', 'MySqlBigInt64'>> extends MySqlColumnBuilderWithAutoIncrement<T, {
  35. unsigned: boolean;
  36. }> {
  37. static readonly [entityKind]: string;
  38. constructor(name: T['name'], unsigned?: boolean);
  39. }
  40. export declare class MySqlBigInt64<T extends ColumnBaseConfig<'bigint', 'MySqlBigInt64'>> extends MySqlColumnWithAutoIncrement<T, {
  41. unsigned: boolean;
  42. }> {
  43. static readonly [entityKind]: string;
  44. getSQLType(): string;
  45. mapFromDriverValue(value: string): bigint;
  46. }
  47. export interface MySqlBigIntConfig<T extends 'number' | 'bigint' = 'number' | 'bigint'> {
  48. mode: T;
  49. unsigned?: boolean;
  50. }
  51. export declare function bigint<TMode extends MySqlBigIntConfig['mode']>(config: MySqlBigIntConfig<TMode>): TMode extends 'number' ? MySqlBigInt53BuilderInitial<''> : MySqlBigInt64BuilderInitial<''>;
  52. export declare function bigint<TName extends string, TMode extends MySqlBigIntConfig['mode']>(name: TName, config: MySqlBigIntConfig<TMode>): TMode extends 'number' ? MySqlBigInt53BuilderInitial<TName> : MySqlBigInt64BuilderInitial<TName>;