CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
text.d.ts73 linesDownload Raw Back to columns
1import type { ColumnBuilderBaseConfig } from "../../column-builder.js";2import type { ColumnBaseConfig } from "../../column.js";3import { entityKind } from "../../entity.js";4import type { AnySQLiteTable } from "../table.js";5import { type Equal, type Writable } from "../../utils.js";6import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";7export type SQLiteTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]], TLength extends number | undefined> = SQLiteTextBuilder<{8    name: TName;9    dataType: 'string';10    columnType: 'SQLiteText';11    data: TEnum[number];12    driverParam: string;13    enumValues: TEnum;14    length: TLength;15}>;16export declare class SQLiteTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SQLiteText'> & {17    length?: number | undefined;18}> extends SQLiteColumnBuilder<T, {19    length: T['length'];20    enumValues: T['enumValues'];21}, {22    length: T['length'];23}> {24    static readonly [entityKind]: string;25    constructor(name: T['name'], config: SQLiteTextConfig<'text', T['enumValues'], T['length']>);26}27export declare class SQLiteText<T extends ColumnBaseConfig<'string', 'SQLiteText'> & {28    length?: number | undefined;29}> extends SQLiteColumn<T, {30    length: T['length'];31    enumValues: T['enumValues'];32}> {33    static readonly [entityKind]: string;34    readonly enumValues: T["enumValues"];35    readonly length: T['length'];36    constructor(table: AnySQLiteTable<{37        name: T['tableName'];38    }>, config: SQLiteTextBuilder<T>['config']);39    getSQLType(): string;40}41export type SQLiteTextJsonBuilderInitial<TName extends string> = SQLiteTextJsonBuilder<{42    name: TName;43    dataType: 'json';44    columnType: 'SQLiteTextJson';45    data: unknown;46    driverParam: string;47    enumValues: undefined;48    generated: undefined;49}>;50export declare class SQLiteTextJsonBuilder<T extends ColumnBuilderBaseConfig<'json', 'SQLiteTextJson'>> extends SQLiteColumnBuilder<T> {51    static readonly [entityKind]: string;52    constructor(name: T['name']);53}54export declare class SQLiteTextJson<T extends ColumnBaseConfig<'json', 'SQLiteTextJson'>> extends SQLiteColumn<T, {55    length: number | undefined;56    enumValues: T['enumValues'];57}> {58    static readonly [entityKind]: string;59    getSQLType(): string;60    mapFromDriverValue(value: string): T['data'];61    mapToDriverValue(value: T['data']): string;62}63export type SQLiteTextConfig<TMode extends 'text' | 'json' = 'text' | 'json', TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined, TLength extends number | undefined = number | undefined> = TMode extends 'text' ? {64    mode?: TMode;65    length?: TLength;66    enum?: TEnum;67} : {68    mode?: TMode;69};70export declare function text(): SQLiteTextBuilderInitial<'', [string, ...string[]], undefined>;71export declare function text<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined, TMode extends 'text' | 'json' = 'text' | 'json'>(config?: SQLiteTextConfig<TMode, T | Writable<T>, L>): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<''> : SQLiteTextBuilderInitial<'', Writable<T>, L>;72export declare function text<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined, TMode extends 'text' | 'json' = 'text' | 'json'>(name: TName, config?: SQLiteTextConfig<TMode, T | Writable<T>, L>): Equal<TMode, 'json'> extends true ? SQLiteTextJsonBuilderInitial<TName> : SQLiteTextBuilderInitial<TName, Writable<T>, L>;73