datasquirel/package-shared/utils/deserialize-query.js
Benjamin Toby 956497a499 Updates
2025-01-01 09:01:39 +01:00

31 lines
693 B
JavaScript

// @ts-check
const EJSON = require("./ejson");
/**
*
* @param {string | Object<string,any>} query
* @returns {Object<string,any>}
*/
function deserializeQuery(query) {
/** @type {Object<string,any>} */
let queryObject =
typeof query == "object" ? query : Object(EJSON.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.parse(value);
}
}
}
return queryObject;
}
module.exports = deserializeQuery;