json.d.cts 1.2 KB

12345678910111213141516171819202122232425262728
  1. import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
  2. import type { ColumnBaseConfig } from "../../column.cjs";
  3. import { entityKind } from "../../entity.cjs";
  4. import type { AnyPgTable } from "../table.cjs";
  5. import { PgColumn, PgColumnBuilder } from "./common.cjs";
  6. export type PgJsonBuilderInitial<TName extends string> = PgJsonBuilder<{
  7. name: TName;
  8. dataType: 'json';
  9. columnType: 'PgJson';
  10. data: unknown;
  11. driverParam: unknown;
  12. enumValues: undefined;
  13. }>;
  14. export declare class PgJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'PgJson'>> extends PgColumnBuilder<T> {
  15. static readonly [entityKind]: string;
  16. constructor(name: T['name']);
  17. }
  18. export declare class PgJson<T extends ColumnBaseConfig<'json', 'PgJson'>> extends PgColumn<T> {
  19. static readonly [entityKind]: string;
  20. constructor(table: AnyPgTable<{
  21. name: T['tableName'];
  22. }>, config: PgJsonBuilder<T>['config']);
  23. getSQLType(): string;
  24. mapToDriverValue(value: T['data']): string;
  25. mapFromDriverValue(value: T['data'] | string): T['data'];
  26. }
  27. export declare function json(): PgJsonBuilderInitial<''>;
  28. export declare function json<TName extends string>(name: TName): PgJsonBuilderInitial<TName>;