UNPKG

refql

Version:

A Node.js and Deno library for composing and running SQL queries.

23 lines (22 loc) 1.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Raw_1 = __importDefault(require("../SQLTag/Raw")); const sql_1 = require("../SQLTag/sql"); const joinMembers = (tempMembers) => { const members = tempMembers .reduce((acc, member) => { const existing = acc[member.as]; // && otherwise impossible the construct output type after concatenation (output & output2) when dealing with ignored props const nextIsOmmitted = existing ? existing.isOmitted && member.isOmitted : member.isOmitted; acc[member.as] = { node: member.node, isOmitted: nextIsOmmitted }; return acc; }, {}); return Object.values(members) .filter(m => !m.isOmitted) .map(m => m.node) .reduce((tag, member, idx) => tag.join(idx === 0 ? "" : ", ", Raw_1.default.isRaw(member) ? (0, sql_1.sqlX) `${member}` : member), (0, sql_1.sqlX) ``); }; exports.default = joinMembers;