UNPKG

@experteam-mx/ngx-services

Version:

Angular common services for Experteam apps

66 lines 7.88 kB
import { HttpHeaders, HttpParams } from '@angular/common/http'; /** * Convert an object of key-value pairs into a URL query string. * * @param {Object} params - The key-value pairs to converted into a query string. * * @return {string} - The generated query string. */ export const queryString = (params) => { const queryElements = []; Object.entries(params).forEach(([key, value]) => { if (Array.isArray(value)) { const arrayQuery = value .map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item)}`) .join('&'); queryElements.push(arrayQuery); } else { const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; queryElements.push(encodedQuery); } }); const queryString = queryElements.join('&'); return queryString.length ? `?${queryString}` : ''; }; /** * Creates an instance of HttpParams using the provided params object. * * @param {Object} params - The object containing the params to the HttpParams constructor. * * @returns {HttpParams} - An instance of HttpParams created from the params object. */ export const httpParams = (params) => new HttpParams({ fromObject: params }); /** * Returns the headers for generating PDF files. * * @param {string} format - The format of the headers, 'object' or 'http_header'. * * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files. */ export const pdfHeaders = (format = 'object') => { const headers = { Accept: 'application/pdf' }; return format === 'object' ? headers : new HttpHeaders(headers); }; /** * Returns the headers for generating XML files. * * @param {string} format - The format of the headers, 'object' or 'http_header'. * * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files. */ export const xmlHeaders = (format = 'object') => { const headers = { Accept: 'application/xml', }; return format === 'object' ? headers : new HttpHeaders(headers); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9oZWxwZXJzL2h0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUc5RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFtQixFQUFVLEVBQUU7SUFDekQsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFBO0lBRWxDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUM5QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLFVBQVUsR0FBRyxLQUFLO2lCQUNyQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBaUMsQ0FBQyxFQUFFLENBQUM7aUJBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUVaLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFlBQVksR0FBRyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQWtDLENBQUMsRUFBRSxDQUFBO1lBRTNHLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDbEMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUUzQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUNwRCxDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsTUFBbUIsRUFDUCxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUM7SUFDOUIsVUFBVSxFQUFFLE1BQU07Q0FDbkIsQ0FBQyxDQUFBO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBbUMsUUFBUSxFQUF5RCxFQUFFO0lBQy9ILE1BQU0sT0FBTyxHQUFHO1FBQ2QsTUFBTSxFQUFFLGlCQUFpQjtLQUMxQixDQUFBO0lBRUQsT0FBTyxNQUFNLEtBQUssUUFBUTtRQUN4QixDQUFDLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUM5QixDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxTQUFtQyxRQUFRLEVBQXlELEVBQUU7SUFDL0gsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNLEVBQUUsaUJBQWlCO0tBQzFCLENBQUE7SUFFRCxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLENBQUMsQ0FBQyxPQUFPO1FBQ1QsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vYXBpcy9tb2RlbHMvYXBpLm1vZGVscydcclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IGFuIG9iamVjdCBvZiBrZXktdmFsdWUgcGFpcnMgaW50byBhIFVSTCBxdWVyeSBzdHJpbmcuXHJcbiAqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNvbnZlcnRlZCBpbnRvIGEgcXVlcnkgc3RyaW5nLlxyXG4gKlxyXG4gKiBAcmV0dXJuIHtzdHJpbmd9IC0gVGhlIGdlbmVyYXRlZCBxdWVyeSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgcXVlcnlTdHJpbmcgPSAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IHN0cmluZyA9PiB7XHJcbiAgY29uc3QgcXVlcnlFbGVtZW50czogc3RyaW5nW10gPSBbXVxyXG5cclxuICBPYmplY3QuZW50cmllcyhwYXJhbXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIGNvbnN0IGFycmF5UXVlcnkgPSB2YWx1ZVxyXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChpdGVtIGFzIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pfWApXHJcbiAgICAgICAgLmpvaW4oJyYnKVxyXG5cclxuICAgICAgcXVlcnlFbGVtZW50cy5wdXNoKGFycmF5UXVlcnkpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBlbmNvZGVkUXVlcnkgPSBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWUgYXMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbil9YFxyXG5cclxuICAgICAgcXVlcnlFbGVtZW50cy5wdXNoKGVuY29kZWRRdWVyeSlcclxuICAgIH1cclxuICB9KVxyXG5cclxuICBjb25zdCBxdWVyeVN0cmluZyA9IHF1ZXJ5RWxlbWVudHMuam9pbignJicpXHJcblxyXG4gIHJldHVybiBxdWVyeVN0cmluZy5sZW5ndGggPyBgPyR7cXVlcnlTdHJpbmd9YCA6ICcnXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEh0dHBQYXJhbXMgdXNpbmcgdGhlIHByb3ZpZGVkIHBhcmFtcyBvYmplY3QuXHJcbiAqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHBhcmFtcyB0byB0aGUgSHR0cFBhcmFtcyBjb25zdHJ1Y3Rvci5cclxuICpcclxuICogQHJldHVybnMge0h0dHBQYXJhbXN9IC0gQW4gaW5zdGFuY2Ugb2YgSHR0cFBhcmFtcyBjcmVhdGVkIGZyb20gdGhlIHBhcmFtcyBvYmplY3QuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaHR0cFBhcmFtcyA9IChcclxuICBwYXJhbXM6IFF1ZXJ5UGFyYW1zXHJcbik6IEh0dHBQYXJhbXMgPT4gbmV3IEh0dHBQYXJhbXMoe1xyXG4gIGZyb21PYmplY3Q6IHBhcmFtc1xyXG59KVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIGhlYWRlcnMgZm9yIGdlbmVyYXRpbmcgUERGIGZpbGVzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gVGhlIGZvcm1hdCBvZiB0aGUgaGVhZGVycywgJ29iamVjdCcgb3IgJ2h0dHBfaGVhZGVyJy5cclxuICpcclxuICogQHJldHVybnMge0h0dHBIZWFkZXJzIHwgeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9fSAtIFRoZSBoZWFkZXJzIGZvciBnZW5lcmF0aW5nIFBERiBmaWxlcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBwZGZIZWFkZXJzID0gKGZvcm1hdDogJ29iamVjdCcgfCAnaHR0cF9oZWFkZXInID0gJ29iamVjdCcpOiBIdHRwSGVhZGVycyB8IHsgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSA9PiB7XHJcbiAgY29uc3QgaGVhZGVycyA9IHtcclxuICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL3BkZidcclxuICB9XHJcblxyXG4gIHJldHVybiBmb3JtYXQgPT09ICdvYmplY3QnXHJcbiAgICA/IGhlYWRlcnNcclxuICAgIDogbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBoZWFkZXJzIGZvciBnZW5lcmF0aW5nIFhNTCBmaWxlcy5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdCAtIFRoZSBmb3JtYXQgb2YgdGhlIGhlYWRlcnMsICdvYmplY3QnIG9yICdodHRwX2hlYWRlcicuXHJcbiAqXHJcbiAqIEByZXR1cm5zIHtIdHRwSGVhZGVycyB8IHsgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfX0gLSBUaGUgaGVhZGVycyBmb3IgZ2VuZXJhdGluZyBYTUwgZmlsZXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgeG1sSGVhZGVycyA9IChmb3JtYXQ6ICdvYmplY3QnIHwgJ2h0dHBfaGVhZGVyJyA9ICdvYmplY3QnKTogSHR0cEhlYWRlcnMgfCB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0gPT4ge1xyXG4gIGNvbnN0IGhlYWRlcnMgPSB7XHJcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi94bWwnLFxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZvcm1hdCA9PT0gJ29iamVjdCdcclxuICAgID8gaGVhZGVyc1xyXG4gICAgOiBuZXcgSHR0cEhlYWRlcnMoaGVhZGVycylcclxufVxyXG4iXX0=