UNPKG

trilogy

Version:

TypeScript SQLite layer with support for both native C++ & pure JavaScript drivers.

33 lines (32 loc) 1.72 kB
import * as knex from 'knex'; import Model from './model'; import * as types from './types'; export declare function toKnexSchema<D extends types.ReturnDict>(model: Model<D>, options: types.ModelOptions): (table: knex.TableBuilder) => void; export declare enum TriggerEvent { Insert = "insert", Update = "update", Delete = "delete" } export declare function createTrigger(model: Model<any>, event: TriggerEvent): Promise<[types.Query, () => Promise<any[]>]>; export declare function createTimestampTrigger(model: Model<any>, column?: string): Promise<any>; export declare function castValue(value: any): any; export declare function normalizeSchema<D extends types.LooseObject, T extends types.SchemaRaw<D> = types.SchemaRaw<D>, O extends types.Schema<D> = types.Schema<D>>(schema: T, options: types.ModelOptions): O; export declare function toKnexMethod(type: string): 'text' | 'integer' | 'dateTime' | 'increments' | never; export declare function toInputType(type: string, value: any): types.StorageType | never; export declare function toReturnType(type: string, value: any): types.ReturnType | never; export declare class Cast<D extends types.ReturnDict> { private model; constructor(model: Model<D>); toDefinition(object: types.LooseObject | types.Criteria2 | types.CriteriaList, options: { raw?: boolean; }): types.CastToDefinition; fromDefinition(object: types.LooseObject, options: { raw?: boolean; }): D; toColumnDefinition(column: string, value: any, options?: { raw?: boolean; }): types.StorageType; fromColumnDefinition(column: string, value: any, options?: { raw?: boolean; }): D[keyof D]; }