UNPKG

@stormzx/sqlbuilder

Version:

A simple sql builder.

57 lines (40 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = require("lodash"); var _utils = require("../utils"); var _fragment = _interopRequireDefault(require("./fragment")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class SetFragment extends _fragment.default { #table; #ignore = false; #columns = new Map(); get priority() { return 300; } set(column, value) { if ((0, _lodash.isObject)(column) && !(0, _utils.isRaw)(column) && !(0, _utils.isTable)(column)) { for (let key in column) { this.set(key, column[key]); } return this; } if (column === undefined || value === undefined) { return this; } if ((0, _lodash.isString)(column)) { column = (0, _utils.escapeId)((0, _lodash.snakeCase)(column)); } this.#columns.set(`${(0, _utils.escapeId)(column)}`, (0, _utils.escape)(value)); } get sql() { let sets = []; for (let [key, value] of this.#columns.entries()) { sets.push(`${key} = ${value}`); } return sets.length ? `set ${sets.join(', ')}` : ''; } } exports.default = SetFragment;