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.

32 lines (31 loc) 2.1 kB
import { Model } from "./Model"; import type { TRelationOptions, TRelationQueryOptions } from "../types"; declare class RelationManager { private $model; constructor(model: Model); load(parents: Record<string, any>[], relation: TRelationOptions): Promise<any[]>; loadExists(): string; getSqlExists(name: string, cb: Function): string | null; 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; belongsToManySingle({ 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; protected _handleRelationExists(relation: TRelationOptions): string; private _relationBuilder; private _relationMapData; private _belongsToMany; private _valueInRelation; protected _valuePattern(value: string): string; private _assertError; } export { RelationManager }; export default RelationManager;