UNPKG

tspace-mysql

Version:

Tspace MySQL is a promise-based ORM for Node.js, designed with modern TypeScript and providing type safety for schema databases.

34 lines (33 loc) 2.08 kB
import { TRelationOptions, TRelationQueryOptions } from "../../types"; import { Model } from "../Model"; declare class RelationHandler { private $model; private $constants; private $logger; constructor(model: Model); load(parents: Record<string, any>[], relation: TRelationOptions): Promise<any[]>; loadExists(): string; apply(nameRelations: any[], type: 'all' | 'exists' | 'notExists' | 'trashed' | 'count' | 'default'): TRelationOptions[]; callback(nameRelation: string, cb: Function): void; callbackPivot(nameRelation: string, cb: Function): void; returnCallback(nameRelation: string): any; hasOne({ name, as, model, localKey, foreignKey, freezeTable }: TRelationOptions): void; hasMany({ name, as, model, localKey, foreignKey, freezeTable }: TRelationOptions): void; belongsTo({ name, as, model, localKey, foreignKey, freezeTable }: TRelationOptions): void; belongsToMany({ name, as, model, localKey, foreignKey, freezeTable, pivot, oldVersion, modelPivot }: TRelationOptions): void; manyToMany({ name, as, model, localKey, foreignKey, freezeTable, pivot, oldVersion, modelPivot }: TRelationOptions): void; hasOneBuilder({ name, as, model, localKey, foreignKey, freezeTable, }: TRelationQueryOptions, callback?: Function): this | undefined; hasManyBuilder({ name, as, model, localKey, foreignKey, freezeTable, }: TRelationQueryOptions, callback?: Function): this | undefined; belongsToBuilder({ name, as, model, localKey, foreignKey, freezeTable, }: TRelationQueryOptions, callback?: Function): this | undefined; belongsToManyBuilder({ name, as, model, localKey, foreignKey, freezeTable, pivot }: TRelationQueryOptions, callback?: Function): this | undefined; private _handleRelationExists; private _relationBuilder; private _functionTRelationOptionsName; private _relationMapData; private _belongsToMany; private _valueInRelation; protected _valuePattern(value: string): string; private _assertError; } export { RelationHandler }; export default RelationHandler;