UNPKG

@berish/mvc-router5-plugin

Version:

Router5 plugin for @berish/mvc-core

30 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildQueryParameters = void 0; function buildQueryParameters(params) { const keyBuild = (key, value) => { if (!value && typeof value !== 'boolean' && typeof value !== 'number') return { [key]: null }; if (typeof value === 'number' || typeof value === 'string' || typeof value === 'boolean') return { [key]: value.toString() }; if (Array.isArray(value)) { if (value.length === 0) return { [key]: '[]' }; return value .map((m, i) => keyBuild(key + '.' + i, m)) .filter((m) => !!m) .reduce((out, build) => (Object.assign(Object.assign({}, out), build)), {}); } if (typeof value === 'object' && value === Object(value) && Object.prototype.toString.call(value) !== '[object Array]') return Object.keys(value) .map((m) => keyBuild(key ? key + '.' + m : m, value[m])) .filter((m) => !!m) .reduce((out, build) => (Object.assign(Object.assign({}, out), build)), {}); return null; }; return keyBuild(null, params); } exports.buildQueryParameters = buildQueryParameters; //# sourceMappingURL=buildQueryParameters.js.map