UNPKG

pw-js-api

Version:

A PixelWalker Library, aims to be minimal with support for browsers.

86 lines 7.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.queryToString = queryToString; exports.mergeObjects = mergeObjects; exports.isCustomPacket = isCustomPacket; function queryToString(query) { if (typeof query === "undefined") return ""; let str = ""; if (query.filter) { if (typeof query.filter !== "string") { str += "&filter="; const filters = Object.entries(query.filter); for (let i = 0, len = filters.length; i < len; i++) { const filt = filters[i]; if (typeof filt[1] === "string") str += `${filt[0]}="${filt[1]}"`; // boolean gets toString() to true or false so eh else str += `${filt[0]}=${filt[1]}`; } } else str += "&filter=" + query.filter; } if (query.sort) { if (typeof query.filter !== "string") { str += "&sort="; // if (Array.isArray(query.sort)) { // } else { const sorts = Array.isArray(query.sort) ? query.sort : Object.entries(query.sort); for (let i = 0, len = sorts.length; i < len; i++) { const sort = sorts[i]; if (typeof sort === "string") str += sort + ","; else if (sort[1] === undefined) str += sort[0] + ","; else if (sort[1] === "ASC") str += sort[0] + ","; else if (sort[1] === "DESC") str += "-" + sort[0] + ","; } if (sorts.length) str = str.slice(0, -1); // } } else str += "&sort=" + query.sort; } return str; } /** * This takes in two parameters - Object A and B. * * Object A will be used as the object to add properties from Object B to. * If some of the properties in Object B are also objects, this will run recursively to ensure they are all added. * * Annoyingly, due to how Typescript works, the only way I could get an object with combined properties is if I return it so rip mutability. * * IGNORE THE LAST TWO PARAMETERS. */ function mergeObjects(objA, objB, depth = 0, prevObj) { const keys = Object.keys(objB); const obj = depth > 0 ? objA : structuredClone(objA); for (let i = 0; i < keys.length; i++) { const propA = objA[keys[i]]; const propB = objB[keys[i]]; if (typeof propB === "object" && propB !== null) { if (typeof propA !== "object" || propA === null) { obj[keys[i]] = {}; } mergeObjects(obj[keys[i]], propB, depth + 1); } else obj[keys[i]] = propB; } return obj; } // console.log(queryToString<ColWorld>({ filter: { id: "a" } })); // console.log(queryToString<ColWorld>({ filter: { id: "a", created: "nice" } })); // console.log(queryToString<ColWorld>({ filter: "a~b,ok=lol" })); // console.log(queryToString<ColWorld>({ sort: ["collectionId", ["id", "ASC"], "collectionName", ["created", "DESC"], ["description"]] })); function isCustomPacket(type) { return type === "debug" || type === "unknown" || type === "raw"; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlsL01pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxzQ0E2Q0M7QUFZRCxvQ0FrQkM7QUFRRCx3Q0FFQztBQXJGRCxTQUFnQixhQUFhLENBQW9CLEtBQThCO0lBQzNFLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBRTVDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUViLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2YsSUFBSSxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUVsQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFeEIsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO29CQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDbEUsaURBQWlEOztvQkFDNUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hDLENBQUM7UUFDTCxDQUFDOztZQUFNLEdBQUcsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsSUFB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