UNPKG

ngx-http-configure

Version:

Angular (6+) helpers for configure HTTP interceptors and services.

43 lines 3.25 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { HttpParams } from '@angular/common/http'; /** * @template T * @param {?} options * @param {?} predicate * @param {?=} keyPrefix * @return {?} */ export function filterOptions(options, predicate, keyPrefix) { if (keyPrefix === void 0) { keyPrefix = ''; } return Object.keys(options).reduce((/** * @param {?} acc * @param {?} key * @return {?} */ function (acc, key) { if (predicate(key)) { /** @type {?} */ var prefixedKey = "" + keyPrefix + key; /** @type {?} */ var value_1 = options[key]; if (value_1 instanceof HttpParams) { value_1 = value_1.keys().reduce((/** * @param {?} p * @param {?} k * @return {?} */ function (p, k) { var _a; return (tslib_1.__assign({}, p, (_a = {}, _a[k] = value_1.get(k), _a))); }), {}); } acc[prefixedKey] = value_1; } return acc; }), (/** @type {?} */ ({}))); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaHR0cC1jb25maWd1cmUvIiwic291cmNlcyI6WyJmaWx0ZXItb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFHbEQsTUFBTSxVQUFVLGFBQWEsQ0FBSSxPQUE2QixFQUFFLFNBQW1DLEVBQUUsU0FBc0I7SUFBdEIsMEJBQUEsRUFBQSxjQUFzQjtJQUN6SCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTTs7Ozs7SUFBQyxVQUFDLEdBQUcsRUFBRSxHQUFHO1FBQzFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFOztnQkFDWixXQUFXLEdBQUcsS0FBRyxTQUFTLEdBQUcsR0FBSzs7Z0JBQ3BDLE9BQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3hCLElBQUksT0FBSyxZQUFZLFVBQVUsRUFBRTtnQkFDL0IsT0FBSyxHQUFHLE9BQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNOzs7OztnQkFBQyxVQUFDLENBQUMsRUFBRSxDQUFDOztvQkFBSyxPQUFBLHNCQUFNLENBQUMsZUFBRyxDQUFDLElBQUcsT0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBRztnQkFBN0IsQ0FBNkIsR0FBRSxFQUFFLENBQUMsQ0FBQzthQUMxRTtZQUNELEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxPQUFLLENBQUM7U0FDMUI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsR0FBRSxtQkFBQSxFQUFFLEVBQUssQ0FBQyxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBIdHRwQ29uZmlndXJlT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyT3B0aW9uczxUPihvcHRpb25zOiBIdHRwQ29uZmlndXJlT3B0aW9ucywgcHJlZGljYXRlOiAoa2V5OiBzdHJpbmcpID0+IGJvb2xlYW4sIGtleVByZWZpeDogc3RyaW5nID0gJycpOiBUIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICBpZiAocHJlZGljYXRlKGtleSkpIHtcbiAgICAgIGNvbnN0IHByZWZpeGVkS2V5ID0gYCR7a2V5UHJlZml4fSR7a2V5fWA7XG4gICAgICBsZXQgdmFsdWUgPSBvcHRpb25zW2tleV07XG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBIdHRwUGFyYW1zKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUua2V5cygpLnJlZHVjZSgocCwgaykgPT4gKHsgLi4ucCwgW2tdOiB2YWx1ZS5nZXQoaykgfSksIHt9KTtcbiAgICAgIH1cbiAgICAgIGFjY1twcmVmaXhlZEtleV0gPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgVCk7XG59XG4iXX0=