@palmares/databases
Version:
Add support for working with databases with palmares framework
54 lines • 3.7 kB
TypeScript
import type { Field } from './field';
import type { ForeignKeyField } from './foreign-key';
import type { CustomImportsForFieldType } from './types';
import type { DatabaseAdapter } from '../../engine';
export type ToStringCallback = (engine: DatabaseAdapter<any>, field: Field<any, any, any>, defaultToStringCallback: ToStringCallback, customParams?: {
constructorParams?: string;
builderParams?: string;
}) => Promise<{
stringfied: string;
customImports: CustomImportsForFieldType[];
}>;
export declare function defaultToStringCallback(engine: Parameters<ToStringCallback>[0], field: Parameters<ToStringCallback>[1], _: Parameters<ToStringCallback>[2], customParams?: Parameters<ToStringCallback>[3]): Promise<{
stringfied: string;
customImports: CustomImportsForFieldType[];
}>;
export type CompareCallback = (engine: DatabaseAdapter<any>, existingField: Field<any, any, any>, newField: Field<any, any, any>, defaultCompareCallback: CompareCallback) => [boolean, string[]];
export declare function defaultCompareCallback(engine: DatabaseAdapter<any>, existingField: Parameters<CompareCallback>[1], newField: Parameters<CompareCallback>[2], _: Parameters<CompareCallback>[3]): [boolean, string[]];
export type OptionsCallback = (
/**
* This will set the value of an old field to a new field.
*
* By default we let the Author/Maintainer of the package override the values of the old field if they
* want to. Because of that. We have to pass the hiddenFieldName and getArgumentsFieldName to the function.
*
* @param hiddenFieldName - The hidden field name that is the argument that lives inside of your class, it's
* hidden from the end user and from the author/maintainer of the package. Just you have access to it.
* @param getArgumentsFieldName - On `getArgumentsCallback` we show some data (originally private) to the Author
* /Maintainer. The Author should never have access to our internal implementation. This string maps each key
* from that object. If set to undefined, the Author cannot override this value.
* @param value - The value that you want to set to the field.
*/
setFieldValue: (hiddenFieldName: string, getArgumentsFieldName: string | undefined, value: any) => void, oldField: Field<any, any, any>, defaultOptionsCallback: OptionsCallback) => void;
export declare function defaultOptionsCallback(setFieldValue: Parameters<OptionsCallback>[0], oldField: Parameters<OptionsCallback>[1], _: Parameters<OptionsCallback>[2]): void;
export type NewInstanceArgumentsCallback = (field: Field<any, any, any>, defaultNewInstanceArgumentsCallback: NewInstanceArgumentsCallback) => any[];
export declare function defaultNewInstanceArgumentsCallback(_field: Parameters<NewInstanceArgumentsCallback>[0], _defaultNewInstanceArgumentsCallback: Parameters<NewInstanceArgumentsCallback>[1]): any[];
export declare function getRelatedToAsString(field: ForeignKeyField<any, any, any>): void;
export type GetArgumentsCallback = (field: Field<any, any, any>, defaultOptionsCallback: typeof defaultGetArgumentsCallback) => any;
export declare function defaultGetArgumentsCallback(field: Parameters<GetArgumentsCallback>[0], _: Parameters<GetArgumentsCallback>[1]): {
$field: Field<any, any, any>;
$model: (import("../model").ModelType<any, any> & typeof import("..").Model & typeof import("..").BaseModel) | undefined;
typeName: string;
fieldName: string;
modelName: string;
isAuto: boolean;
primaryKey: boolean;
defaultValue: any;
allowNull: boolean;
unique: boolean;
dbIndex: boolean;
databaseName: string | undefined;
underscored: boolean;
customAttributes: unknown;
};
//# sourceMappingURL=utils.d.ts.map