This commit is contained in:
Benjamin Toby
2025-01-01 09:01:39 +01:00
parent c208975b44
commit 956497a499
3 changed files with 34 additions and 7 deletions
+30
View File
@@ -0,0 +1,30 @@
// @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;