@tdb/util
Version:
Shared helpers and utilities.
43 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var value_1 = require("../value");
function toObject(queryString) {
var EMPTY = {};
if (!queryString) {
return EMPTY;
}
if (!queryString.trim()) {
return EMPTY;
}
var text = queryString.trim();
text = !text.startsWith('?') ? text : text.substring(1);
text = !text.startsWith('#') ? text : text.substring(1);
var pairs = text.split('&');
var obj = {};
var pair;
for (var i in pairs) {
if (pairs[i] === '') {
continue;
}
pair = pairs[i].split('=');
var key = decodeURIComponent(pair[0]);
var value = pair[1] ? decodeURIComponent(pair[1]) : undefined;
obj[key] = value;
}
return obj;
}
exports.toObject = toObject;
function valueAsFlag(value) {
return value === undefined
? false
: value === ''
? true
: value_1.value.toBool(value, false);
}
exports.valueAsFlag = valueAsFlag;
function isFlag(keys, query) {
keys = keys ? (Array.isArray(keys) ? keys : [keys]) : [];
return query ? keys.some(function (key) { return valueAsFlag(query[key]); }) : false;
}
exports.isFlag = isFlag;
//# sourceMappingURL=queryString.js.map