UNPKG

dogmaql.driver.redis

Version:

Redis driver for DogmaQL (Dogma Query Language).

42 lines (39 loc) 2.63 kB
"use strict"; var _dogmalang = require("dogmalang"); var _dogmaql = require("dogmaql.syn"); const DeleteTrans = _dogmalang.dogma.use(require("./DeleteTrans"));const InsertTrans = _dogmalang.dogma.use(require("./InsertTrans"));const SearchTrans = _dogmalang.dogma.use(require("./SearchTrans"));const SelectTrans = _dogmalang.dogma.use(require("./SelectTrans"));const SetTrans = _dogmalang.dogma.use(require("./SetTrans"));const UpdateTrans = _dogmalang.dogma.use(require("./UpdateTrans")); const $Builder = class Builder { constructor() { { _dogmalang.dogma.update(this, { name: "parser", visib: ":", assign: "=", value: (0, _dogmaql.Parser)() }, { name: "deleteTrans", visib: ":", assign: "=", value: DeleteTrans() }, { name: "insertTrans", visib: ":", assign: "=", value: InsertTrans() }, { name: "searchTrans", visib: ":", assign: "=", value: SearchTrans() }, { name: "selectTrans", visib: ":", assign: "=", value: SelectTrans() }, { name: "setTrans", visib: ":", assign: "=", value: SetTrans() }, { name: "updateTrans", visib: ":", assign: "=", value: UpdateTrans() }); } } }; const Builder = new Proxy($Builder, { apply(receiver, self, args) { return new $Builder(...args); } });module.exports = exports = Builder; Builder.prototype.parse = function (cmd, params) { let rslt = [];_dogmalang.dogma.paramExpected("cmd", cmd, _dogmalang.text);_dogmalang.dogma.paramExpected("params", params, _dogmalang.map);{ const stmt = this._parser.parse("dogmaql.driver.redis", cmd).next(params);const $aux15187793584659 = (0, _dogmalang.typename)(stmt);if ($aux15187793584659 == "DeleteStmt") { rslt = this._deleteTrans.transDeleteItem(stmt); } else if ($aux15187793584659 == "DropTableStmt") { rslt = this._deleteTrans.transDropTable(stmt); } else if ($aux15187793584659 == "CreateTableStmt") { rslt = this._insertTrans.transCreateTable(stmt); } else if ($aux15187793584659 == "InsertStmt") { rslt = this._insertTrans.transInsertItem(stmt); } else if ($aux15187793584659 == "SetStmt") { rslt = this._setTrans.transSetItem(stmt); } else if ($aux15187793584659 == "AlterTableStmt") { rslt = this._updateTrans.transAlterTable(stmt); } else if ($aux15187793584659 == "UpdateStmt") { rslt = this._updateTrans.transUpdateItem(stmt); } else if ($aux15187793584659 == "SearchStmt") { rslt = this._searchTrans.transSearchItem(stmt); } else if ($aux15187793584659 == "ListTablesStmt") { rslt = this._selectTrans.transListTables(stmt); } else { rslt = this._selectTrans.transSelectItem(stmt); } }return rslt; };