UNPKG

@warlock.js/cascade

Version:

ORM for managing databases

29 lines (28 loc) 892 B
import {$agg}from'./expressions.js';import {Pipeline}from'./pipeline.js';class GroupByPipeline extends Pipeline { _id; groupByData; /** * Constructor */ constructor(_id, groupByData = {}) { super("group"); this._id = _id; this.groupByData = groupByData; if (typeof _id === "string") { _id = $agg.columnName(_id); } if (Array.isArray(_id)) { _id = _id.reduce((result, column) => { result[column.split(".")[0]] = $agg.columnName(column); return result; }, {}); } this.data({ _id: _id, ...this.groupByData, }); } } function groupByPipeline(column, groupByData) { return new GroupByPipeline(column, groupByData); }export{GroupByPipeline,groupByPipeline};//# sourceMappingURL=GroupByPipeline.js.map