UNPKG

@maccuaa/intellitrust-issuance-sdk

Version:
137 lines (136 loc) 4.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRequestFunction = exports.toPathString = exports.serializeDataIfNeeded = exports.setSearchParams = exports.setApiKeyToObject = exports.assertParamExists = exports.DUMMY_BASE_URL = void 0; const base_1 = require("./base"); const configuration_1 = require("./configuration"); /** * * @export */ exports.DUMMY_BASE_URL = 'https://example.com'; /** * * @throws {RequiredError} * @export */ const assertParamExists = function (functionName, paramName, paramValue) { if (paramValue === null || paramValue === undefined) { throw new base_1.RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`); } }; exports.assertParamExists = assertParamExists; /** * * @export */ const setApiKeyToObject = async function (object, keyParamName, configuration) { if (configuration && configuration.apiKey) { const localVarApiKeyValue = typeof configuration.apiKey === 'function' ? await configuration.apiKey(keyParamName) : await configuration.apiKey; object[keyParamName] = localVarApiKeyValue; } }; exports.setApiKeyToObject = setApiKeyToObject; function setFlattenedQueryParams(urlSearchParams, parameter, key = "") { if (parameter == null) return; if (typeof parameter === "object") { if (Array.isArray(parameter)) { parameter.forEach(item => setFlattenedQueryParams(urlSearchParams, item, key)); } else { Object.keys(parameter).forEach(currentKey => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)); } } else { if (urlSearchParams.has(key)) { urlSearchParams.append(key, parameter); } else { urlSearchParams.set(key, parameter); } } } /** * * @export */ const setSearchParams = function (url, ...objects) { const searchParams = new URLSearchParams(url.search); setFlattenedQueryParams(searchParams, objects); url.search = searchParams.toString(); }; exports.setSearchParams = setSearchParams; /** * * @export */ const serializeDataIfNeeded = function (value, requestOptions, configuration) { const nonString = typeof value !== 'string'; const needsSerialization = nonString && configuration && configuration_1.Configuration.isJsonMime ? configuration_1.Configuration.isJsonMime(requestOptions.headers['Content-Type']) : nonString; return needsSerialization ? JSON.stringify(value !== undefined ? convertMapsAndSetsToPlain(value) : {}) : (value || ""); }; exports.serializeDataIfNeeded = serializeDataIfNeeded; function convertMapsAndSetsToPlain(value) { if (typeof Set === "undefined") return value; if (typeof Map === "undefined") return value; if (typeof value !== "object" || !value) { return value; } if (value instanceof Set) { return Array.from(value).map(item => convertMapsAndSetsToPlain(item)); } if (value instanceof Map) { const entries = []; value.forEach((value, key) => { entries.push([key, convertMapsAndSetsToPlain(value)]); }); return objectFromEntries(entries); } if (Array.isArray(value)) { return value.map(it => convertMapsAndSetsToPlain(it)); } return objectFromEntries(objectEntries(value) .map(([k, v]) => [k, convertMapsAndSetsToPlain(v)])); } /** * Ponyfill for Object.entries */ function objectEntries(object) { return Object.keys(object).map(key => [key, object[key]]); } /** * Ponyfill for Object.fromEntries */ function objectFromEntries(entries) { return [...entries].reduce((object, [key, val]) => { object[key] = val; return object; }, {}); } /** * * @export */ const toPathString = function (url) { return url.pathname + url.search + url.hash; }; exports.toPathString = toPathString; /** * * @export */ const createRequestFunction = function (axiosArgs, configuration) { return (axios) => { const axiosRequestArgs = { ...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath) + axiosArgs.url }; return axios.request(axiosRequestArgs); }; }; exports.createRequestFunction = createRequestFunction;