UNPKG

@stormzx/sqlbuilder

Version:

A simple sql builder.

59 lines (42 loc) 1.25 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("../select/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 (column === undefined) { return this; } 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 ((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 keys = [], values = []; for (let [key, value] of this.#columns.entries()) { keys.push(key); values.push(value); } return `(${keys.join(', ')}) value (${values.join(', ')})`; } } exports.default = SetFragment;