UNPKG

node-fetch-light

Version:

light-weight fetch wrapper library for node js

23 lines (22 loc) 791 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QueryBuilder = void 0; class QueryBuilder extends String { constructor(obj) { const build = (obj, parentKey) => { return Object.keys(obj) .map((key) => { const newKey = parentKey ? `${parentKey}[${key}]` : key; if (typeof obj[key] === "object" && obj[key] !== null) { return build(obj[key], newKey); // Recursively build nested objects } else { return `${newKey}=${encodeURIComponent(obj[key])}`; // Encode values } }) .join('&'); }; super(build(obj, '')); } } exports.QueryBuilder = QueryBuilder;