@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
301 lines • 9.57 kB
TypeScript
import type { Field, FieldWithOperationType, TextField } from '@palmares/databases';
export declare class DefaultBuilder<TField extends Field<any, any, any> | TextField<any, any, any>> {
_: {
field: TField;
type: string;
};
constructor(fieldInstance: TField, type: string);
$type<TType>(): (Field<{
create: TType;
read: TType;
update: TType;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
hasDefaultValue: any;
underscored: any;
isPrimaryKey: any;
auto: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<TType>> & DefaultBuilder<TField>) | (TextField<{
create: TType;
read: TType;
update: TType;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
underscored: any;
isPrimaryKey: any;
auto: any;
hasDefaultValue: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<TType>> & DefaultBuilder<TField>);
$default(cb: `() => ${string}`): (Field<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
hasDefaultValue: any;
underscored: any;
isPrimaryKey: any;
auto: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>) | (TextField<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
underscored: any;
isPrimaryKey: any;
auto: any;
hasDefaultValue: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>);
$onUpdate(cb: `() => ${string}`): (Field<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
hasDefaultValue: any;
underscored: any;
isPrimaryKey: any;
auto: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>) | (TextField<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
underscored: any;
isPrimaryKey: any;
auto: any;
hasDefaultValue: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>);
references(cb: `() => ${string}`): (Field<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
hasDefaultValue: any;
underscored: any;
isPrimaryKey: any;
auto: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>) | (TextField<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
underscored: any;
isPrimaryKey: any;
auto: any;
hasDefaultValue: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>);
primaryKey(): (Field<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
hasDefaultValue: any;
underscored: any;
isPrimaryKey: any;
auto: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>) | (TextField<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
underscored: any;
isPrimaryKey: any;
auto: any;
hasDefaultValue: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>);
unique(): (Field<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
hasDefaultValue: any;
underscored: any;
isPrimaryKey: any;
auto: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>) | (TextField<{
create: any;
read: any;
update: any;
}, {
[x: string]: any;
[x: number]: any;
[x: symbol]: any;
} & {
unique: any;
allowNull: any;
dbIndex: any;
underscored: any;
isPrimaryKey: any;
auto: any;
hasDefaultValue: any;
defaultValue: any;
databaseName: any;
typeName: any;
engineInstance: any;
customAttributes: any;
}, import("@palmares/databases/dist/src/models/fields/types").FieldWithOperationTypeForSearch<any>> & DefaultBuilder<TField>);
notNull<TFieldData extends {
fieldType: 'field' | 'textField';
type: {
create: any;
update: any;
read: any;
};
defintions: any;
} = TField extends TextField<infer TType, infer TDefinitions, any> ? {
fieldType: 'textField';
type: {
create: NonNullable<TType['read']>;
update: NonNullable<TType['read']>;
read: NonNullable<TType['read']>;
};
defintions: TDefinitions;
} : TField extends Field<infer TType, infer TDefinitions, any> ? {
fieldType: 'field';
type: {
create: NonNullable<TType['read']>;
update: NonNullable<TType['read']>;
read: NonNullable<TType['read']>;
};
defintions: TDefinitions;
} : {
fieldType: 'field';
type: {
create: any;
update: any;
read: any;
};
defintions: any;
}>(): TFieldData['fieldType'] extends 'field' ? Field<TFieldData['type'], TFieldData['defintions'], TFieldData['type']['read'] extends number | Date ? Pick<FieldWithOperationType<TFieldData['type']['read']>, 'lessThan' | 'greaterThan' | 'and' | 'in' | 'or' | 'eq' | 'is' | 'between'> : Pick<FieldWithOperationType<TFieldData['type']['read']>, 'and' | 'in' | 'or' | 'eq' | 'is'>> : TextField<TFieldData['type'], TFieldData['defintions'], TFieldData['type']['read'] extends number | Date ? Pick<FieldWithOperationType<TFieldData['type']['read']>, 'lessThan' | 'greaterThan' | 'and' | 'in' | 'or' | 'eq' | 'is' | 'between'> : Pick<FieldWithOperationType<TFieldData['type']['read']>, 'and' | 'in' | 'or' | 'eq' | 'is'>>;
generatedAlwaysAs(cb: `() => ${string}`): TField & DefaultBuilder<TField>;
}
//# sourceMappingURL=utils.d.ts.map