UNPKG

@palmares/drizzle-engine

Version:

This is the engine that wraps the hole drizzle interface in a way palmares can understand and have full control of

141 lines 17.8 kB
import { adapterFields } from '@palmares/databases'; import { fieldParser } from './field'; import type { Field } from '@palmares/databases'; /** * This class is used to translate the fields of a model to the attributes of a Drizzle model. * This is closely tied to the engine itself because sometimes we might need the models after it was translated * or sometimes we need to translate stuff outside of the fields for example the indexes that are from the model * itself. */ export declare const fields: typeof import("@palmares/databases").AdapterFields & (new () => import("@palmares/databases").AdapterFields & { fieldsParser: import("@palmares/databases").AdapterFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<any, any, any, any, { type?: string; } & import("./types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | readonly [string, ...string[]] | [string, ...string[]] | import("drizzle-orm/pg-core").PgCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").PgDateConfig<"string" | "date"> | { precision: number; scale?: number; } | { precision?: number; scale: number; } | { precision: number; scale: number; } | import("drizzle-orm/pg-core").IntervalConfig | import("drizzle-orm/pg-core").PgLineTypeConfig<"tuple" | "abc"> | import("drizzle-orm/pg-core").PgPointConfig<"tuple" | "xy"> | import("drizzle-orm/pg-core").PgTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").TimeConfig | import("drizzle-orm/pg-core").PgTimestampConfig<"string" | "date"> | import("drizzle-orm/pg-core").PgVarcharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/sqlite-core").BlobConfig<"bigint" | "buffer" | "json"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | { mode?: "json" | undefined; } | { mode?: "text" | undefined; length?: number; enum?: readonly [string, ...string[]] | [string, ...string[]] | undefined; } | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | import("drizzle-orm/mysql-core").MySqlBinaryConfig | import("drizzle-orm/mysql-core").MySqlCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").MySqlDateConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDatetimeConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDecimalConfig | import("drizzle-orm/mysql-core").MySqlDoubleConfig | import("drizzle-orm/mysql-core").MySqlFloatConfig | import("drizzle-orm/mysql-core").MySqlIntConfig | import("drizzle-orm/mysql-core").MySqlRealConfig | import("drizzle-orm/mysql-core").MySqlTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").TimeConfig | import("drizzle-orm/mysql-core").MySqlTimestampConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlVarbinaryOptions | import("drizzle-orm/mysql-core").MySqlVarCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | undefined, any>>) => Promise<string | { fieldName: string; primaryKey: boolean; unique: boolean; nullable: boolean; dbIndex: boolean; default: any; autoincrement: boolean; databaseName: string | undefined; custom: { type?: string; } & import("./types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | readonly [string, ...string[]] | [string, ...string[]] | import("drizzle-orm/pg-core").PgCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").PgDateConfig<"string" | "date"> | { precision: number; scale?: number; } | { precision?: number; scale: number; } | { precision: number; scale: number; } | import("drizzle-orm/pg-core").IntervalConfig | import("drizzle-orm/pg-core").PgLineTypeConfig<"tuple" | "abc"> | import("drizzle-orm/pg-core").PgPointConfig<"tuple" | "xy"> | import("drizzle-orm/pg-core").PgTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/pg-core").TimeConfig | import("drizzle-orm/pg-core").PgTimestampConfig<"string" | "date"> | import("drizzle-orm/pg-core").PgVarcharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/sqlite-core").BlobConfig<"bigint" | "buffer" | "json"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | { mode?: "json" | undefined; } | { mode?: "text" | undefined; length?: number; enum?: readonly [string, ...string[]] | [string, ...string[]] | undefined; } | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | import("drizzle-orm/mysql-core").MySqlBinaryConfig | import("drizzle-orm/mysql-core").MySqlCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").MySqlDateConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDatetimeConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlDecimalConfig | import("drizzle-orm/mysql-core").MySqlDoubleConfig | import("drizzle-orm/mysql-core").MySqlFloatConfig | import("drizzle-orm/mysql-core").MySqlIntConfig | import("drizzle-orm/mysql-core").MySqlRealConfig | import("drizzle-orm/mysql-core").MySqlTextConfig<readonly [string, ...string[]] | [string, ...string[]]> | import("drizzle-orm/mysql-core").TimeConfig | import("drizzle-orm/mysql-core").MySqlTimestampConfig<"string" | "date"> | import("drizzle-orm/mysql-core").MySqlVarbinaryOptions | import("drizzle-orm/mysql-core").MySqlVarCharConfig<readonly [string, ...string[]] | [string, ...string[]]> | undefined, any>; }>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"field" | "auto" | "big-auto" | "big-integer" | "boolean" | "char" | "date" | "decimal" | "enum" | "foreign-key" | "integer" | "text" | "uuid">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"field" | "auto" | "big-auto" | "big-integer" | "boolean" | "char" | "date" | "decimal" | "enum" | "foreign-key" | "integer" | "text" | "uuid">) => Promise<any>; }; compare: ((_oldCustomArguments: any, _newCustomArguments: any) => boolean) | undefined; fieldToString: ((_customArguments: any) => { result: string; imports: import("@palmares/databases/dist/src/models/fields/types").CustomImportsForFieldType[]; }) | undefined; autoFieldParser: import("@palmares/databases").AdapterIntegerFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"integer", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlIntConfig | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string> | import("drizzle-orm/pg-core").PgIntegerBuilder<{ name: string; dataType: "number"; columnType: "PgInteger"; data: number; driverParam: number | string; enumValues: undefined; generated: undefined; }>>>) => Promise<string>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>; }; bigAutoFieldParser: undefined; bigIntegerFieldParser: import("@palmares/databases").AdapterBigIntegerFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"big-integer", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<import("drizzle-orm/pg-core").PgBigIntConfig<"number" | "bigint"> | import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlBigIntConfig<"number" | "bigint"> | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/mysql-core").MySqlBigInt53BuilderInitial<string> | import("drizzle-orm/mysql-core").MySqlBigInt64BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigInt53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigInt64BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string>>>) => Promise<string>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"big-integer">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"big-integer">) => Promise<any>; }; charFieldParser: import("@palmares/databases").AdapterCharFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"char", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").varchar>[1] | Parameters<typeof import("drizzle-orm/pg-core").varchar>[1], ReturnType<typeof import("drizzle-orm/mysql-core").varchar> | ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").varchar>>>) => Promise<string>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"char">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"char">) => Promise<any>; }; dateFieldParser: import("@palmares/databases").AdapterDateFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"date", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").datetime>[1] | Parameters<typeof import("drizzle-orm/pg-core").timestamp>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/mysql-core").datetime> | ReturnType<typeof import("drizzle-orm/pg-core").timestamp>>>) => Promise<any>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"date">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"date">) => Promise<any>; }; decimalFieldParser: import("@palmares/databases").AdapterDecimalFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"decimal", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<Parameters<typeof import("drizzle-orm/mysql-core").decimal>[1] | Parameters<typeof import("drizzle-orm/pg-core").numeric>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").real> | ReturnType<typeof import("drizzle-orm/pg-core").numeric> | ReturnType<typeof import("drizzle-orm/sqlite-core").real>>>) => Promise<string>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"decimal">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"decimal">) => Promise<any>; }; foreignKeyFieldParser: import("@palmares/databases").AdapterForeignKeyFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"foreign-key", any, InstanceType<typeof fieldParser>, any>) => Promise<undefined>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"foreign-key">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"foreign-key">) => Promise<any>; }; integerFieldParser: import("@palmares/databases").AdapterIntegerFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"integer", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<import("drizzle-orm/pg-core").PgBigSerialConfig<"number" | "bigint"> | import("drizzle-orm/sqlite-core").IntegerConfig<"number" | "boolean" | "timestamp" | "timestamp_ms"> | import("drizzle-orm/mysql-core").MySqlIntConfig | undefined, import("drizzle-orm/sqlite-core").SQLiteIntegerBuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial53BuilderInitial<string> | import("drizzle-orm/pg-core").PgBigSerial64BuilderInitial<string> | import("drizzle-orm/pg-core").PgIntegerBuilder<{ name: string; dataType: "number"; columnType: "PgInteger"; data: number; driverParam: number | string; enumValues: undefined; generated: undefined; }>>>) => Promise<string>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"integer">) => Promise<any>; }; textFieldParser: import("@palmares/databases").AdapterTextFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"text", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").text>[1] | Parameters<typeof import("drizzle-orm/pg-core").text>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/mysql-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").text>>>) => Promise<any>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"text">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"text">) => Promise<any>; }; uuidFieldParser: import("@palmares/databases").AdapterUuidFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"uuid", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").text>[1] | Parameters<typeof import("drizzle-orm/mysql-core").varchar>[1], ReturnType<typeof import("drizzle-orm/sqlite-core").text> | ReturnType<typeof import("drizzle-orm/pg-core").uuid> | ReturnType<typeof import("drizzle-orm/mysql-core").varchar>>>) => Promise<string>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"uuid">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"uuid">) => Promise<any>; }; enumFieldParser: import("@palmares/databases").AdapterEnumFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"enum", any, InstanceType<typeof fieldParser>, any>) => Promise<any>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"enum">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"enum">) => Promise<any>; }; customFieldsParser: Record<string, import("@palmares/databases").AdapterFieldParser>; booleanFieldParser: import("@palmares/databases").AdapterBooleanFieldParser & { translate: (args: import("@palmares/databases").AdapterFieldParserTranslateArgs<"boolean", any, InstanceType<typeof fieldParser>, any, import("./types").CustomArgs<Parameters<typeof import("drizzle-orm/sqlite-core").integer>[1], ReturnType<typeof import("drizzle-orm/mysql-core").boolean> | ReturnType<typeof import("drizzle-orm/pg-core").boolean> | ReturnType<typeof import("drizzle-orm/sqlite-core").integer>>>) => Promise<any>; inputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"boolean">) => Promise<any>; outputParser: (args: import("@palmares/databases").AdapterFieldParserInputAndOutputArgs<"boolean">) => Promise<any>; }; lazyEvaluateField: (engine: any, modelName: string, translatedModel: any, fieldAttributes: Parameters<Parameters<typeof adapterFields>[0]["lazyEvaluateField"]>[3], fieldTranslated: any, parseAgain: Parameters<Parameters<typeof adapterFields>[0]["lazyEvaluateField"]>[5]) => Promise<any>; translateField: ((_Adapter: import("@palmares/databases").DatabaseAdapter, _field: Field, _defaultTranslateFieldCallback: (_field: Field) => Promise<any>) => Promise<any>) | undefined; }); //# sourceMappingURL=index.d.ts.map