UNPKG

mysql-live-client

Version:
55 lines (54 loc) 2.08 kB
var Joiner_1 = require("./Joiner"); var CollectionJoinerBuilder = (function () { function CollectionJoinerBuilder(primaryCollection, joinedCollection) { this.traveler = {}; this.traveler.primaryCollection = primaryCollection; this.traveler.joinedCollection = joinedCollection; } CollectionJoinerBuilder.prototype.as = function (property) { this.traveler.as = property; return new JoinThisKeyBuilder(this.traveler); }; return CollectionJoinerBuilder; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = CollectionJoinerBuilder; var JoinThisKeyBuilder = (function () { function JoinThisKeyBuilder(traveler) { this.traveler = traveler; } JoinThisKeyBuilder.prototype.thisKey = function (thisKeyProperty) { this.traveler.thisKey = thisKeyProperty; return new JoinForeignKeyBuilder(this.traveler); }; return JoinThisKeyBuilder; })(); exports.JoinThisKeyBuilder = JoinThisKeyBuilder; var JoinForeignKeyBuilder = (function () { function JoinForeignKeyBuilder(traveler) { this.traveler = traveler; } JoinForeignKeyBuilder.prototype.foreignKey = function (foreignKeyProperty) { this.traveler.foreignKey = foreignKeyProperty; return new JoinerBuilder(this.traveler); }; return JoinForeignKeyBuilder; })(); exports.JoinForeignKeyBuilder = JoinForeignKeyBuilder; var JoinerBuilder = (function () { function JoinerBuilder(traveler) { this.traveler = traveler; } JoinerBuilder.prototype.asList = function () { this.traveler.isArray = true; this.traveler.primaryCollection.addTask(new Joiner_1.Joiner(this.traveler)); return this.traveler.primaryCollection; }; JoinerBuilder.prototype.asObject = function () { this.traveler.isArray = false; this.traveler.primaryCollection.addTask(new Joiner_1.Joiner(this.traveler)); return this.traveler.primaryCollection; }; return JoinerBuilder; })(); exports.JoinerBuilder = JoinerBuilder;