mysql-live-client
Version:
The client side script of mysql-live package.
28 lines (27 loc) • 1.21 kB
TypeScript
import { Task, TaskCallerType } from "./index";
import Collection from "../Collection";
import { NextFn, onAnyChangeEventType } from "../ObservableCollection";
export declare type JoinDefinitionsTraveler = {
as?: string;
thisKey?: string;
foreignKey?: string;
isArray?: boolean;
primaryCollection?: Collection;
joinedCollection?: Collection;
};
export declare class Joiner implements Task {
params: JoinDefinitionsTraveler;
wasChangedEvent: onAnyChangeEventType;
collectionNames: string[];
index: number;
constructor(params: JoinDefinitionsTraveler);
doReceive(nextTask: NextFn): void;
doJoinedReceive(nextJoinedEvent: NextFn, nextTask: NextFn): void;
doJoinedInsert(newJoined: any, nextJoinedEvent: NextFn, nextTask: NextFn): void;
doJoinedUpdate(newJoined: any, selector: any, nextJoinedEvent: NextFn, nextTask: NextFn): void;
doJoinedRemove(selector: any, nextJoinedEvent: NextFn, nextTask: NextFn): void;
doInsert(newPrimary: any, nextTask: NextFn): void;
doUpdate(newPrimary: any, selector: any, nextTask: NextFn): void;
doRemove(selector: any, nextTask: NextFn): void;
run(caller: TaskCallerType, next: NextFn): void;
}