UNPKG

@stormzx/sqlbuilder

Version:

A simple sql builder.

49 lines (35 loc) 988 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fragment = _interopRequireDefault(require("./fragment")); var _lodash = _interopRequireDefault(require("lodash")); var _utils = require("../../utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class SelectFragment extends _fragment.default { #columns = []; get priority() { return 100; } select(...columns) { this.#columns.push(...(0, _lodash.default)(columns).flattenDeep().compact().value()); return this; } get sql() { if (_lodash.default.isEmpty(this.#columns)) { return 'select *'; } let columns = this.#columns.map(v => { if ((0, _utils.isRaw)(v)) { return `${v}`; } return (0, _utils.escapeId)(v); }); return `select ${columns.join(', ')}`; } get countSql() { return `select 1`; } } exports.default = SelectFragment;