UNPKG

kysely

Version:
26 lines (25 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseJoin = void 0; const join_node_js_1 = require("../operation-node/join-node.js"); const table_parser_js_1 = require("./table-parser.js"); const binary_operation_parser_js_1 = require("./binary-operation-parser.js"); const parse_utils_js_1 = require("./parse-utils.js"); function parseJoin(joinType, args) { if (args.length === 3) { return parseSingleOnJoin(joinType, args[0], args[1], args[2]); } else if (args.length === 2) { return parseCallbackJoin(joinType, args[0], args[1]); } else { throw new Error('not implemented'); } } exports.parseJoin = parseJoin; function parseCallbackJoin(joinType, from, callback) { return callback((0, parse_utils_js_1.createJoinBuilder)(joinType, from)).toOperationNode(); } function parseSingleOnJoin(joinType, from, lhsColumn, rhsColumn) { return join_node_js_1.JoinNode.createWithOn(joinType, (0, table_parser_js_1.parseTableExpression)(from), (0, binary_operation_parser_js_1.parseReferentialBinaryOperation)(lhsColumn, '=', rhsColumn)); }