@stormzx/sqlbuilder
Version:
A simple sql builder.
46 lines (35 loc) • 887 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fragment = _interopRequireDefault(require("./fragment"));
var _lodash = _interopRequireDefault(require("lodash"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class OrderFragment extends _fragment.default {
#orders = [];
get priority() {
return 700;
}
orderBy(columns, operator) {
columns = _lodash.default.flattenDeep([columns]);
columns.forEach(column => {
this.#orders.push({
column,
operator
});
});
}
get sql() {
if (this.#orders.length == 0) {
return '';
}
return `order by ` + this.#orders.map(({
column,
operator
}) => {
return `${column} ${operator}`;
}).join(', ');
}
}
exports.default = OrderFragment;