UNPKG

ngx-http-client-service

Version:

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> [![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) <!-- ALL-CONTRIBUTORS-BADGE:END -->

90 lines 10.6 kB
import * as tslib_1 from "tslib"; import { ApiPathConstants } from '../../constants/api-path-generation.constants'; import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; /** * Injectable Http Options Service */ var ApiPathService = /** @class */ (function () { /** * @description creates an instance of APIPathGenerationLibrary */ function ApiPathService() { // Common Constants this.PATH_BASE = ApiPathConstants.PATH_BASE; this.PATH_DIVIDER = ApiPathConstants.PATH_DIVIDER; this.QUERY_SPECIFIER = ApiPathConstants.QUERY_SPECIFIER; this.QUERY_DIVIDER = ApiPathConstants.QUERY_DIVIDER; this.QUERY_ASSIGNER = ApiPathConstants.QUERY_ASSIGNER; } /** * @description validating QueryParam. * @param pathQuery as an argument of type PathQuery. * @return constructed PathQuery Object. */ ApiPathService.prototype.modifyPathQuery = function (pathQuery) { var constructedPathQuery = {}; Object.entries(pathQuery).filter(function (_a) { var _b = tslib_1.__read(_a, 2), query = _b[0], queryValue = _b[1]; if (query) { constructedPathQuery[query] = queryValue; } }); return constructedPathQuery; }; /** * @description createApiPath is a constructing method. * @param pathComponent contains an array of string. * @returns returns constructed api path url. */ ApiPathService.prototype.createApiPath = function (pathComponent) { var _this = this; var path = this.PATH_BASE; pathComponent = pathComponent.filter(function (param) { return param !== _this.PATH_DIVIDER; }); path = path + pathComponent.join(this.PATH_DIVIDER); return encodeURI(path); }; /** * @description Returns router parameterized path. * @param apiPathParams contains partial url. * @param pathQuery contains parameters to be passed as query parameters. * @returns returns generated routed paramerized path. */ ApiPathService.prototype.createApiPathWithQuery = function (apiPathParams, pathQuery) { var _this = this; var path = this.createApiPath(apiPathParams); if (!pathQuery) { return path; } else { pathQuery = this.modifyPathQuery(pathQuery); if (Object.keys(pathQuery).length) { path = decodeURI(path) + this.QUERY_SPECIFIER; Object.entries(pathQuery).forEach(function (_a, index) { var _b = tslib_1.__read(_a, 2), query = _b[0], queryValue = _b[1]; if (Object.keys(pathQuery).length === (index + 1)) { path = path + query + _this.QUERY_ASSIGNER + queryValue; } else { path = path + query + _this.QUERY_ASSIGNER + queryValue + _this.QUERY_DIVIDER; } }); } return encodeURI(path); } }; ApiPathService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function ApiPathService_Factory() { return new ApiPathService(); }, token: ApiPathService, providedIn: "root" }); ApiPathService = tslib_1.__decorate([ Injectable({ providedIn: 'root' }) /** api url generator Service all reusable and repeated functionalities can be managed * It can contains common methods and common methods related params. */ ], ApiPathService); return ApiPathService; }()); export { ApiPathService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXBhdGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1odHRwLWNsaWVudC1zZXJ2aWNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FwaS1wYXRoL2FwaS1wYXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDOztHQUVHO0FBUUg7SUFDRTs7T0FFRztJQUNIO1FBR0EsbUJBQW1CO1FBQ1gsY0FBUyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztRQUN2QyxpQkFBWSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQztRQUM3QyxvQkFBZSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztRQUNuRCxrQkFBYSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztRQUMvQyxtQkFBYyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztJQVB6RCxDQUFDO0lBVUQ7Ozs7T0FJRztJQUNLLHdDQUFlLEdBQXZCLFVBQXdCLFNBQW9CO1FBQzFDLElBQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsRUFBbUI7Z0JBQW5CLDBCQUFtQixFQUFsQixhQUFLLEVBQUUsa0JBQVU7WUFDbEQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1Qsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDO2FBQzFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksc0NBQWEsR0FBcEIsVUFBcUIsYUFBdUI7UUFBNUMsaUJBT0M7UUFOQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFCLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQUMsS0FBYTtZQUNqRCxPQUFPLEtBQUssS0FBSyxLQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxHQUFHLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSwrQ0FBc0IsR0FBN0IsVUFBOEIsYUFBdUIsRUFBRSxTQUFvQjtRQUEzRSxpQkFrQkM7UUFqQkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDakMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEVBQW1CLEVBQUUsS0FBSzt3QkFBMUIsMEJBQW1CLEVBQWxCLGFBQUssRUFBRSxrQkFBVTtvQkFDbkQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTt3QkFDakQsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsS0FBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7cUJBQ3hEO3lCQUFNO3dCQUNMLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEtBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxHQUFHLEtBQUksQ0FBQyxhQUFhLENBQUM7cUJBQzdFO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7O0lBcEVVLGNBQWM7UUFQMUIsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQztRQUVGOztXQUVHO09BQ1UsY0FBYyxDQXFFMUI7eUJBbkZEO0NBbUZDLEFBckVELElBcUVDO1NBckVZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlQYXRoQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FwaS1wYXRoLWdlbmVyYXRpb24uY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXRoUXVlcnkgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tbW9uLWxpYi5tb2RlbCc7XHJcblxyXG4vKipcclxuICogSW5qZWN0YWJsZSBIdHRwIE9wdGlvbnMgU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuLyoqIGFwaSB1cmwgZ2VuZXJhdG9yIFNlcnZpY2UgYWxsIHJldXNhYmxlIGFuZCByZXBlYXRlZCBmdW5jdGlvbmFsaXRpZXMgY2FuIGJlIG1hbmFnZWRcclxuICogSXQgY2FuIGNvbnRhaW5zIGNvbW1vbiBtZXRob2RzIGFuZCBjb21tb24gbWV0aG9kcyByZWxhdGVkIHBhcmFtcy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBBcGlQYXRoU2VydmljZSB7XHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIGNyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgQVBJUGF0aEdlbmVyYXRpb25MaWJyYXJ5XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICAvLyBDb21tb24gQ29uc3RhbnRzXHJcbiAgcHJpdmF0ZSBQQVRIX0JBU0UgPSBBcGlQYXRoQ29uc3RhbnRzLlBBVEhfQkFTRTtcclxuICBwcml2YXRlIFBBVEhfRElWSURFUiA9IEFwaVBhdGhDb25zdGFudHMuUEFUSF9ESVZJREVSO1xyXG4gIHByaXZhdGUgUVVFUllfU1BFQ0lGSUVSID0gQXBpUGF0aENvbnN0YW50cy5RVUVSWV9TUEVDSUZJRVI7XHJcbiAgcHJpdmF0ZSBRVUVSWV9ESVZJREVSID0gQXBpUGF0aENvbnN0YW50cy5RVUVSWV9ESVZJREVSO1xyXG4gIHByaXZhdGUgUVVFUllfQVNTSUdORVIgPSBBcGlQYXRoQ29uc3RhbnRzLlFVRVJZX0FTU0lHTkVSO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uIHZhbGlkYXRpbmcgUXVlcnlQYXJhbS5cclxuICAgKiBAcGFyYW0gcGF0aFF1ZXJ5IGFzIGFuIGFyZ3VtZW50IG9mIHR5cGUgUGF0aFF1ZXJ5LlxyXG4gICAqIEByZXR1cm4gY29uc3RydWN0ZWQgUGF0aFF1ZXJ5IE9iamVjdC5cclxuICAgKi9cclxuICBwcml2YXRlIG1vZGlmeVBhdGhRdWVyeShwYXRoUXVlcnk6IFBhdGhRdWVyeSk6IFBhdGhRdWVyeSB7XHJcbiAgICBjb25zdCBjb25zdHJ1Y3RlZFBhdGhRdWVyeSA9IHt9O1xyXG4gICAgT2JqZWN0LmVudHJpZXMocGF0aFF1ZXJ5KS5maWx0ZXIoKFtxdWVyeSwgcXVlcnlWYWx1ZV0pID0+IHtcclxuICAgICAgaWYgKHF1ZXJ5KSB7XHJcbiAgICAgICAgY29uc3RydWN0ZWRQYXRoUXVlcnlbcXVlcnldID0gcXVlcnlWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29uc3RydWN0ZWRQYXRoUXVlcnk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gY3JlYXRlQXBpUGF0aCBpcyBhIGNvbnN0cnVjdGluZyBtZXRob2QuXHJcbiAgICogQHBhcmFtIHBhdGhDb21wb25lbnQgY29udGFpbnMgYW4gYXJyYXkgb2Ygc3RyaW5nLlxyXG4gICAqIEByZXR1cm5zIHJldHVybnMgY29uc3RydWN0ZWQgYXBpIHBhdGggdXJsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjcmVhdGVBcGlQYXRoKHBhdGhDb21wb25lbnQ6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgIGxldCBwYXRoID0gdGhpcy5QQVRIX0JBU0U7XHJcbiAgICBwYXRoQ29tcG9uZW50ID0gcGF0aENvbXBvbmVudC5maWx0ZXIoKHBhcmFtOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmV0dXJuIHBhcmFtICE9PSB0aGlzLlBBVEhfRElWSURFUjtcclxuICAgIH0pO1xyXG4gICAgcGF0aCA9IHBhdGggKyBwYXRoQ29tcG9uZW50LmpvaW4odGhpcy5QQVRIX0RJVklERVIpO1xyXG4gICAgcmV0dXJuIGVuY29kZVVSSShwYXRoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIHJvdXRlciBwYXJhbWV0ZXJpemVkIHBhdGguXHJcbiAgICogQHBhcmFtIGFwaVBhdGhQYXJhbXMgY29udGFpbnMgcGFydGlhbCB1cmwuXHJcbiAgICogQHBhcmFtIHBhdGhRdWVyeSBjb250YWlucyBwYXJhbWV0ZXJzIHRvIGJlIHBhc3NlZCBhcyBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqIEByZXR1cm5zIHJldHVybnMgZ2VuZXJhdGVkIHJvdXRlZCBwYXJhbWVyaXplZCBwYXRoLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjcmVhdGVBcGlQYXRoV2l0aFF1ZXJ5KGFwaVBhdGhQYXJhbXM6IHN0cmluZ1tdLCBwYXRoUXVlcnk6IFBhdGhRdWVyeSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcGF0aCA9IHRoaXMuY3JlYXRlQXBpUGF0aChhcGlQYXRoUGFyYW1zKTtcclxuICAgIGlmICghcGF0aFF1ZXJ5KSB7XHJcbiAgICAgIHJldHVybiBwYXRoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGF0aFF1ZXJ5ID0gdGhpcy5tb2RpZnlQYXRoUXVlcnkocGF0aFF1ZXJ5KTtcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKHBhdGhRdWVyeSkubGVuZ3RoKSB7XHJcbiAgICAgICAgcGF0aCA9IGRlY29kZVVSSShwYXRoKSArIHRoaXMuUVVFUllfU1BFQ0lGSUVSO1xyXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHBhdGhRdWVyeSkuZm9yRWFjaCgoW3F1ZXJ5LCBxdWVyeVZhbHVlXSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhwYXRoUXVlcnkpLmxlbmd0aCA9PT0gKGluZGV4ICsgMSkpIHtcclxuICAgICAgICAgICAgcGF0aCA9IHBhdGggKyBxdWVyeSArIHRoaXMuUVVFUllfQVNTSUdORVIgKyBxdWVyeVZhbHVlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcGF0aCA9IHBhdGggKyBxdWVyeSArIHRoaXMuUVVFUllfQVNTSUdORVIgKyBxdWVyeVZhbHVlICsgdGhpcy5RVUVSWV9ESVZJREVSO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBlbmNvZGVVUkkocGF0aCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==