@ogs-gmbh/ngx-http
Version:
A lightweight Angular library that enhances HTTP functionalities by providing types, static values, and utility functions.
1 lines • 11.2 kB
Source Map (JSON)
{"version":3,"file":"ogs-gmbh-ngx-http.mjs","sources":["../../../src/common/merge.common.ts","../../../src/common/connection.common.ts","../../../src/common/config.common.ts","../../../src/constants/headers.constant.ts","../../../src/constants/ports.constant.ts","../../../src/constants/content-types.constant.ts","../../../src/constants/protocols.constant.ts","../../../src/constants/response-types.constant.ts","../../../src/constants/observe.constant.ts","../../../src/tokens/environment.token.ts","../../../src/enums/request.enum.ts","../../../src/providers/environment.provider.ts"],"sourcesContent":["import { HttpHeaders, HttpParams } from \"@angular/common/http\";\nimport { HttpHeadersOption, HttpJsonBodyOption, HttpParamsOption } from \"../types/http.type\";\nimport _ from \"lodash\";\n\nfunction mergeHttpHeaders (...headers: HttpHeadersOption[]): HttpHeaders {\n let httpHeaderResult: HttpHeaders = new HttpHeaders();\n\n headers.forEach((currentHeader: HttpHeadersOption): void => {\n if (currentHeader instanceof HttpHeaders) {\n currentHeader.keys().forEach((currentHeaderKey: string): void => {\n /* eslint-disable-next-line @tseslint/no-non-null-assertion */\n const currentHeaderValue: string = currentHeader.get(currentHeaderKey)!;\n\n httpHeaderResult = httpHeaderResult.append(currentHeaderKey, currentHeaderValue);\n });\n } else {\n Object.keys(currentHeader).forEach((currentHeaderKey: string): void => {\n /* eslint-disable-next-line @tseslint/no-non-null-assertion */\n const currentHeaderValue: string | string[] = currentHeader[ currentHeaderKey ]!;\n\n if (Array.isArray(currentHeaderValue)) {\n currentHeaderValue.forEach((currentHeaderValueItem: string): void => {\n httpHeaderResult = httpHeaderResult.append(currentHeaderKey, currentHeaderValueItem);\n });\n\n return;\n }\n\n httpHeaderResult = httpHeaderResult.append(currentHeaderKey, currentHeaderValue);\n });\n }\n });\n\n return httpHeaderResult;\n}\n\n\nfunction mergeHttpParams (...params: HttpParamsOption[]): HttpParams {\n let httpParamsResult: HttpParams = new HttpParams();\n\n params.forEach((currentParams: HttpParamsOption): void => {\n if (currentParams instanceof HttpParams) {\n currentParams.keys().forEach((currentParamsKey: string): void => {\n /* eslint-disable-next-line @tseslint/no-non-null-assertion */\n const currentParamsValue: string = currentParams.get(currentParamsKey)!;\n\n httpParamsResult = httpParamsResult.append(currentParamsKey, currentParamsValue);\n });\n } else {\n Object.keys(currentParams).forEach((currentParamsKey: string): void => {\n /* eslint-disable-next-line @tseslint/no-non-null-assertion */\n const currentParamsValue: string | number | boolean | ReadonlyArray<string | number | boolean> = currentParams[ currentParamsKey ]!;\n\n if (Array.isArray(currentParamsValue)) {\n currentParamsValue.forEach((currentParamsValueItem: string | number | boolean): void => {\n httpParamsResult = httpParamsResult.append(currentParamsKey, currentParamsValueItem);\n });\n } else\n httpParamsResult = httpParamsResult.append(currentParamsKey, currentParamsValue as string | number | boolean);\n });\n }\n });\n\n return httpParamsResult;\n}\n\nfunction mergeHttpJsonBody (...body: HttpJsonBodyOption[]): HttpJsonBodyOption {\n let httpBodyResult: HttpJsonBodyOption = {};\n\n body.forEach((currentBody: HttpJsonBodyOption): void => {\n httpBodyResult = _.merge(httpBodyResult, currentBody);\n });\n\n return httpBodyResult;\n}\n\nfunction mergeHttpFormDataBody (...body: FormData[]): FormData {\n const httpBodyResult: FormData = new FormData();\n\n body.forEach((currentBody: FormData): void => {\n currentBody.forEach((value: FormDataEntryValue, key: string): void => {\n httpBodyResult.append(key, value);\n });\n });\n\n return httpBodyResult;\n}\n\nfunction mergeHttpUrlSearchParamsBody (...body: URLSearchParams[]): URLSearchParams {\n const httpBodyResult: URLSearchParams = new URLSearchParams();\n\n body.forEach((currentBody: URLSearchParams): void => {\n currentBody.forEach((value: string, key: string): void => {\n httpBodyResult.append(key, value);\n });\n });\n\n return httpBodyResult;\n}\n\nexport {\n mergeHttpParams,\n mergeHttpHeaders,\n mergeHttpJsonBody,\n mergeHttpFormDataBody,\n mergeHttpUrlSearchParamsBody\n};\n","import { HttpConfig } from \"../types/environment-config.type\";\n\nexport const buildHttpConnectionString = (httpConfig: HttpConfig): string => `${ httpConfig.protocol ?? \"http\" }://${ httpConfig.host ?? \"localhost\" }${ httpConfig.port ? `:${ httpConfig.port }` : \"\" }${ httpConfig.path ?? \"\" }`;\n","import { HttpConfig } from \"../types/environment-config.type\";\n\nexport const mergeHttpConfig = (baseHttpConfig: HttpConfig, httpConfig: HttpConfig): HttpConfig => ({\n ...baseHttpConfig,\n ...httpConfig\n});\n","export namespace HttpHeaders {\n export const CONTENT_TYPE: string = \"Content-Type\";\n}\n","export namespace HttpPorts {\n export const HTTP_PORT: number = 80;\n export const HTTPS_PORT: number = 443;\n export const HTTP_PORT_ALTERNATE: number = 7104;\n export const HTTPS_PORT_ALTERNATE: number = 7102;\n}\n","export namespace HttpContentTypes {\n export namespace Application {\n export const X_WWW_FORM_URLENCODED: string = \"application/x-www-form-urlencoded\";\n }\n}\n","export namespace HTTP_PROTOCOLS {\n export const HTTPS: string = \"https\";\n export const HTTP: string = \"http\";\n}\n","export namespace HttpResponseTypes {\n /* eslint-disable-next-line @tseslint/no-shadow */\n export const JSON: string = \"json\";\n export const ARRAYBUFFER: string = \"arraybuffer\";\n export const BLOB: string = \"blob\";\n export const TEXT: string = \"text\";\n}\n","export namespace HttpObserve {\n export const BODY: string = \"body\";\n export const EVENTS: string = \"events\";\n export const RESPONSE: string = \"response\";\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const HTTP_ENVIRONMENT_TOKEN: InjectionToken<string> = new InjectionToken<string>(\"http-environment-token\");\n","export enum HttpRequestStatus {\n PENDING = \"PENDING\",\n SUCCESS = \"SUCCESS\",\n ERROR = \"ERROR\"\n}\n","import { FactoryProvider } from \"@angular/core\";\nimport { HTTP_ENVIRONMENT_TOKEN } from \"../tokens/environment.token\";\nimport { HttpConfig } from \"../types/environment-config.type\";\nimport { buildHttpConnectionString } from \"../public-api\";\n\nexport const provideHttpConfig = (httpConfig: HttpConfig): FactoryProvider => ({\n provide: HTTP_ENVIRONMENT_TOKEN,\n useFactory: (): string => buildHttpConnectionString(httpConfig),\n multi: false\n});\n"],"names":["HttpHeaders"],"mappings":"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"}