UNPKG

@skbkontur/cassandra-distributed-task-queue-ui

Version:

.NET library implementing distributed task queue machinery using Apache Cassandra

47 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QueryStringMapping = void 0; const tslib_1 = require("tslib"); const qs_1 = tslib_1.__importDefault(require("qs")); class QueryStringMapping { constructor(parsers, stringifiers) { Object.defineProperty(this, "parsers", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "stringifiers", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.parsers = parsers; this.stringifiers = stringifiers; } parse(queryString) { const parsedQueryString = qs_1.default.parse((queryString || "").replace(/^\?/, "")); let result = {}; for (const parser of this.parsers) { result = parser(result, parsedQueryString); } return result; } stringify(entity) { if (entity === null) { return ""; } let parsedQueryString = {}; for (const stringifier of this.stringifiers) { parsedQueryString = stringifier(entity, parsedQueryString); } const result = qs_1.default.stringify(parsedQueryString, { format: "RFC1738" }); if (result.length === 0) { return ""; } return "?" + result; } } exports.QueryStringMapping = QueryStringMapping; //# sourceMappingURL=QueryStringMapping.js.map