25 lines
847 B
JavaScript
25 lines
847 B
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.default = deserializeQuery;
|
|
const ejson_1 = __importDefault(require("./ejson"));
|
|
/**
|
|
* # Convert Serialized Query back to object
|
|
*/
|
|
function deserializeQuery(query) {
|
|
let queryObject = typeof query == "object" ? query : Object(ejson_1.default.parse(query));
|
|
const keys = Object.keys(queryObject);
|
|
for (let i = 0; i < keys.length; i++) {
|
|
const key = keys[i];
|
|
const value = queryObject[key];
|
|
if (typeof value == "string") {
|
|
if (value.match(/^\{|^\[/)) {
|
|
queryObject[key] = ejson_1.default.parse(value);
|
|
}
|
|
}
|
|
}
|
|
return queryObject;
|
|
}
|