imng-nrsrx-client-utils 3.301.5 → 3.314.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -82,9 +82,13 @@
82
82
  };
83
83
  }
84
84
 
85
- if (!Array.prototype.distinct) { //NOSONAR
85
+ function distinct(arr) {
86
+ return arr.filter(function (value, index, array) { return array.indexOf(value) === index; });
87
+ }
88
+
89
+ if (!Array.prototype.distinct) {
86
90
  Array.prototype.distinct = function () {
87
- return this.filter(function (value, index, array) { return array.indexOf(value) === index; });
91
+ return distinct(this);
88
92
  };
89
93
  }
90
94
 
@@ -132,6 +136,7 @@
132
136
  exports.NrsrxBaseApiClientService = NrsrxBaseApiClientService;
133
137
  exports.defaultProxyDebugSettings = defaultProxyDebugSettings;
134
138
  exports.defaultProxySettings = defaultProxySettings;
139
+ exports.distinct = distinct;
135
140
  exports.isaDate = isaDate;
136
141
  exports.isaNumber = isaNumber;
137
142
  exports.isaString = isaString;
@@ -1 +1 @@
1
- {"version":3,"file":"imng-nrsrx-client-utils.umd.js","sources":["../../../../libs/imng-nrsrx-client-utils/src/lib/nrsrx-api-client.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/guid.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/array.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/normalize-request.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/is-a.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/default-proxy-settings.ts","../../../../libs/imng-nrsrx-client-utils/src/imng-nrsrx-client-utils.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport abstract class NrsrxBaseApiClientService<T extends { id?: string | number | Date; }> {\n public abstract url: string;\n constructor(protected readonly http: HttpClient) { }\n // Used to insert entities on NRSRx based API endpoints\n public post(payload: T): Observable<T> {\n return this.http.post<T>(payload.id ? `${this.url}?id=${payload.id}` : this.url, payload);\n }\n\n // Used to update entities on NRSRx based API endpoints\n public put(payload: T): Observable<T> {\n return this.http.put<T>(`${this.url}?id=${payload.id}`, payload);\n }\n\n public delete(payload: T): Observable<T> {\n return this.http.delete<T>(`${this.url}?id=${payload.id}`);\n }\n}\n","export class DateHelper {\n public static weekOfYear(dt: Date): number {\n return dt.weekOfYear();\n }\n\n // tslint:disable-next-line: space-before-function-paren\n public static toShortDateString(dt: Date): string {\n return dt.toShortDateString();\n }\n}\n","export class GuidHelper {\n private static readonly guidSegmentCriteria = `[a-f0-9]`;\n private static readonly guidRegexWithDashes = new RegExp(`${GuidHelper.guidSegmentCriteria}{8}-${GuidHelper.guidSegmentCriteria}{4}-` +\n `${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}`, 'gim');\n private static readonly dashRegex = new RegExp('-', 'g');\n public static minimize(str: string): string {\n let m: RegExpExecArray | null;\n while ((m = this.guidRegexWithDashes.exec(str)) !== null) {\n m.forEach(element => {\n str = str.replace(element, element.replace(this.dashRegex, ''));\n });\n }\n return str;\n }\n}\n","declare global {\n export interface Date {\n toShortDateString(): string;\n weekOfYear(): number;\n }\n}\n\nexport const shortDateOptions: Intl.DateTimeFormatOptions = {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric'\n};\nexport const MILLI_SECS_PER_DAY = 86400000;\nexport const MILLI_SECS_PER_SEC = 60000;\nexport const DAYS_PER_WEEK = 7;\nif (!Date.prototype.toShortDateString) { //NOSONAR\n Date.prototype.toShortDateString = function (this: Date): string {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n\n const locale = navigator.language ||\n (navigator.languages && navigator.languages.length > 0) ? navigator.languages[0] : 'en-US';\n\n return dt.toLocaleDateString(locale, shortDateOptions);\n };\n}\n\nif (!Date.prototype.weekOfYear) { //NOSONAR\n // tslint:disable-next-line: space-before-function-paren\n Date.prototype.weekOfYear = function (this: Date): number {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n const onejan = new Date(dt.getFullYear(), 0, 1);\n return Math.ceil(((dt.getTime() - onejan.getTime()) / MILLI_SECS_PER_DAY + onejan.getDay() + 1) / DAYS_PER_WEEK);\n };\n}\nexport { };\n","declare global {\n export interface Array<T> {\n distinct(): T[];\n }\n}\n\nif (!Array.prototype.distinct) { //NOSONAR\n Array.prototype.distinct = function <T>(this: T[]): T[] {\n return this.filter((value, index, array) => array.indexOf(value) === index);\n };\n}\nexport { };\n","/**\n * Summary: This will update an object to make all properties with empty string values have null values instead.\n * @usageNotes\n * Only use this method with plain objects.\n**/\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function normalizeRequest<T extends object>(payload: T): T {\n for (const x in payload) {\n payload[x] = payload[x]?.toString() === '' ? null : payload[x];\n }\n return payload;\n}\n","export function isaNumber(value: unknown): boolean {\n const type = typeof (value);\n return type === 'number' || type === 'bigint';\n}\n\nexport function isaString(value: unknown): boolean {\n return typeof (value) === 'string';\n}\nexport function isaDate(value: unknown): boolean {\n return value instanceof Date;\n}\n","\nexport const defaultProxySettings = {\n\n secure: true,\n changeOrigin: true,\n onProxyRes: (proxyRes: { headers: { [x: string]: string; }; }) =>\n proxyRes.headers['Cache-Control'] = `max-age=2590000, public`\n};\nexport const defaultProxyDebugSettings =\n{\n ...defaultProxySettings,\n logLevel: 'debug',\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imng-nrsrx-client-utils.umd.js","sources":["../../../../libs/imng-nrsrx-client-utils/src/lib/nrsrx-api-client.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/guid.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/array.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/array.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/normalize-request.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/is-a.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/default-proxy-settings.ts","../../../../libs/imng-nrsrx-client-utils/src/imng-nrsrx-client-utils.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport abstract class NrsrxBaseApiClientService<T extends { id?: string | number | Date; }> {\n public abstract url: string;\n constructor(protected readonly http: HttpClient) { }\n // Used to insert entities on NRSRx based API endpoints\n public post(payload: T): Observable<T> {\n return this.http.post<T>(payload.id ? `${this.url}?id=${payload.id}` : this.url, payload);\n }\n\n // Used to update entities on NRSRx based API endpoints\n public put(payload: T): Observable<T> {\n return this.http.put<T>(`${this.url}?id=${payload.id}`, payload);\n }\n\n public delete(payload: T): Observable<T> {\n return this.http.delete<T>(`${this.url}?id=${payload.id}`);\n }\n}\n","export class DateHelper {\n public static weekOfYear(dt: Date): number {\n return dt.weekOfYear();\n }\n\n // tslint:disable-next-line: space-before-function-paren\n public static toShortDateString(dt: Date): string {\n return dt.toShortDateString();\n }\n}\n","export class GuidHelper {\n private static readonly guidSegmentCriteria = `[a-f0-9]`;\n private static readonly guidRegexWithDashes = new RegExp(`${GuidHelper.guidSegmentCriteria}{8}-${GuidHelper.guidSegmentCriteria}{4}-` +\n `${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}`, 'gim');\n private static readonly dashRegex = new RegExp('-', 'g');\n public static minimize(str: string): string {\n let m: RegExpExecArray | null;\n while ((m = this.guidRegexWithDashes.exec(str)) !== null) {\n m.forEach(element => {\n str = str.replace(element, element.replace(this.dashRegex, ''));\n });\n }\n return str;\n }\n}\n","declare global {\n export interface Date {\n toShortDateString(): string;\n weekOfYear(): number;\n }\n}\n\nexport const shortDateOptions: Intl.DateTimeFormatOptions = {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric'\n};\nexport const MILLI_SECS_PER_DAY = 86400000;\nexport const MILLI_SECS_PER_SEC = 60000;\nexport const DAYS_PER_WEEK = 7;\nif (!Date.prototype.toShortDateString) { //NOSONAR\n Date.prototype.toShortDateString = function (this: Date): string {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n\n const locale = navigator.language ||\n (navigator.languages && navigator.languages.length > 0) ? navigator.languages[0] : 'en-US';\n\n return dt.toLocaleDateString(locale, shortDateOptions);\n };\n}\n\nif (!Date.prototype.weekOfYear) { //NOSONAR\n // tslint:disable-next-line: space-before-function-paren\n Date.prototype.weekOfYear = function (this: Date): number {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n const onejan = new Date(dt.getFullYear(), 0, 1);\n return Math.ceil(((dt.getTime() - onejan.getTime()) / MILLI_SECS_PER_DAY + onejan.getDay() + 1) / DAYS_PER_WEEK);\n };\n}\nexport { };\n","export function distinct<T>(arr: T[]): T[] {\n return arr.filter((value, index, array) => array.indexOf(value) === index);\n}\n","import { distinct } from './array.helper';\n\ndeclare global {\n export interface Array<T> {\n distinct(): T[];\n }\n}\n\nif (!Array.prototype.distinct) {\n Array.prototype.distinct = function <T>(this: T[]): T[] {\n return distinct(this);\n };\n}\nexport {};\n","/**\n * Summary: This will update an object to make all properties with empty string values have null values instead.\n * @usageNotes\n * Only use this method with plain objects.\n**/\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function normalizeRequest<T extends object>(payload: T): T {\n for (const x in payload) {\n payload[x] = payload[x]?.toString() === '' ? null : payload[x];\n }\n return payload;\n}\n","export function isaNumber(value: unknown): boolean {\n const type = typeof (value);\n return type === 'number' || type === 'bigint';\n}\n\nexport function isaString(value: unknown): boolean {\n return typeof (value) === 'string';\n}\nexport function isaDate(value: unknown): boolean {\n return value instanceof Date;\n}\n","\nexport const defaultProxySettings = {\n\n secure: true,\n changeOrigin: true,\n onProxyRes: (proxyRes: { headers: { [x: string]: string; }; }) =>\n proxyRes.headers['Cache-Control'] = `max-age=2590000, public`\n};\nexport const defaultProxyDebugSettings =\n{\n ...defaultProxySettings,\n logLevel: 'debug',\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/esm2015/index.js CHANGED
@@ -3,8 +3,9 @@ export * from './lib/date.helper';
3
3
  export * from './lib/guid.helper';
4
4
  export * from './lib/date.extensions';
5
5
  export * from './lib/array.extensions';
6
+ export * from './lib/array.helper';
6
7
  export * from './lib/normalize-request';
7
8
  export * from './lib/value-type';
8
9
  export * from './lib/is-a';
9
10
  export * from './lib/default-proxy-settings';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2ltbmctbnJzcngtY2xpZW50LXV0aWxzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ucnNyeC1hcGktY2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1aWQuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUuZXh0ZW5zaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcnJheS5leHRlbnNpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vcm1hbGl6ZS1yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbHVlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaXMtYSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZWZhdWx0LXByb3h5LXNldHRpbmdzJztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2ltbmctbnJzcngtY2xpZW50LXV0aWxzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL25yc3J4LWFwaS1jbGllbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VpZC5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS5leHRlbnNpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FycmF5LmV4dGVuc2lvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXJyYXkuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vcm1hbGl6ZS1yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbHVlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaXMtYSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZWZhdWx0LXByb3h5LXNldHRpbmdzJztcbiJdfQ==
@@ -1,7 +1,7 @@
1
- if (!Array.prototype.distinct) { //NOSONAR
1
+ import { distinct } from './array.helper';
2
+ if (!Array.prototype.distinct) {
2
3
  Array.prototype.distinct = function () {
3
- return this.filter((value, index, array) => array.indexOf(value) === index);
4
+ return distinct(this);
4
5
  };
5
6
  }
6
- export {};
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMvc3JjL2xpYi9hcnJheS5leHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVM7SUFDeEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUc7UUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJkZWNsYXJlIGdsb2JhbCB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgQXJyYXk8VD4ge1xuICAgIGRpc3RpbmN0KCk6IFRbXTtcbiAgfVxufVxuXG5pZiAoIUFycmF5LnByb3RvdHlwZS5kaXN0aW5jdCkgeyAvL05PU09OQVJcbiAgQXJyYXkucHJvdG90eXBlLmRpc3RpbmN0ID0gZnVuY3Rpb24gPFQ+KHRoaXM6IFRbXSk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIGFycmF5KSA9PiBhcnJheS5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXgpO1xuICB9O1xufVxuZXhwb3J0IHsgfTtcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMvc3JjL2xpYi9hcnJheS5leHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVExQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUc7UUFDekIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaXN0aW5jdCB9IGZyb20gJy4vYXJyYXkuaGVscGVyJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICBleHBvcnQgaW50ZXJmYWNlIEFycmF5PFQ+IHtcbiAgICBkaXN0aW5jdCgpOiBUW107XG4gIH1cbn1cblxuaWYgKCFBcnJheS5wcm90b3R5cGUuZGlzdGluY3QpIHtcbiAgQXJyYXkucHJvdG90eXBlLmRpc3RpbmN0ID0gZnVuY3Rpb24gPFQ+KHRoaXM6IFRbXSk6IFRbXSB7XG4gICAgcmV0dXJuIGRpc3RpbmN0KHRoaXMpO1xuICB9O1xufVxuZXhwb3J0IHt9O1xuIl19
@@ -0,0 +1,4 @@
1
+ export function distinct(arr) {
2
+ return arr.filter((value, index, array) => array.indexOf(value) === index);
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW5yc3J4LWNsaWVudC11dGlscy9zcmMvbGliL2FycmF5LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFJLEdBQVE7SUFDbEMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDN0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkaXN0aW5jdDxUPihhcnI6IFRbXSk6IFRbXSB7XG4gIHJldHVybiBhcnIuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIGFycmF5KSA9PiBhcnJheS5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXgpO1xufVxuIl19
@@ -68,9 +68,13 @@ if (!Date.prototype.weekOfYear) { //NOSONAR
68
68
  };
69
69
  }
70
70
 
71
- if (!Array.prototype.distinct) { //NOSONAR
71
+ function distinct(arr) {
72
+ return arr.filter((value, index, array) => array.indexOf(value) === index);
73
+ }
74
+
75
+ if (!Array.prototype.distinct) {
72
76
  Array.prototype.distinct = function () {
73
- return this.filter((value, index, array) => array.indexOf(value) === index);
77
+ return distinct(this);
74
78
  };
75
79
  }
76
80
 
@@ -110,5 +114,5 @@ const defaultProxyDebugSettings = Object.assign(Object.assign({}, defaultProxySe
110
114
  * Generated bundle index. Do not edit.
111
115
  */
112
116
 
113
- export { DAYS_PER_WEEK, DateHelper, GuidHelper, MILLI_SECS_PER_DAY, MILLI_SECS_PER_SEC, NrsrxBaseApiClientService, defaultProxyDebugSettings, defaultProxySettings, isaDate, isaNumber, isaString, normalizeRequest, shortDateOptions };
117
+ export { DAYS_PER_WEEK, DateHelper, GuidHelper, MILLI_SECS_PER_DAY, MILLI_SECS_PER_SEC, NrsrxBaseApiClientService, defaultProxyDebugSettings, defaultProxySettings, distinct, isaDate, isaNumber, isaString, normalizeRequest, shortDateOptions };
114
118
  //# sourceMappingURL=imng-nrsrx-client-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imng-nrsrx-client-utils.js","sources":["../../../../libs/imng-nrsrx-client-utils/src/lib/nrsrx-api-client.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/guid.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/array.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/normalize-request.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/is-a.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/default-proxy-settings.ts","../../../../libs/imng-nrsrx-client-utils/src/imng-nrsrx-client-utils.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport abstract class NrsrxBaseApiClientService<T extends { id?: string | number | Date; }> {\n public abstract url: string;\n constructor(protected readonly http: HttpClient) { }\n // Used to insert entities on NRSRx based API endpoints\n public post(payload: T): Observable<T> {\n return this.http.post<T>(payload.id ? `${this.url}?id=${payload.id}` : this.url, payload);\n }\n\n // Used to update entities on NRSRx based API endpoints\n public put(payload: T): Observable<T> {\n return this.http.put<T>(`${this.url}?id=${payload.id}`, payload);\n }\n\n public delete(payload: T): Observable<T> {\n return this.http.delete<T>(`${this.url}?id=${payload.id}`);\n }\n}\n","export class DateHelper {\n public static weekOfYear(dt: Date): number {\n return dt.weekOfYear();\n }\n\n // tslint:disable-next-line: space-before-function-paren\n public static toShortDateString(dt: Date): string {\n return dt.toShortDateString();\n }\n}\n","export class GuidHelper {\n private static readonly guidSegmentCriteria = `[a-f0-9]`;\n private static readonly guidRegexWithDashes = new RegExp(`${GuidHelper.guidSegmentCriteria}{8}-${GuidHelper.guidSegmentCriteria}{4}-` +\n `${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}`, 'gim');\n private static readonly dashRegex = new RegExp('-', 'g');\n public static minimize(str: string): string {\n let m: RegExpExecArray | null;\n while ((m = this.guidRegexWithDashes.exec(str)) !== null) {\n m.forEach(element => {\n str = str.replace(element, element.replace(this.dashRegex, ''));\n });\n }\n return str;\n }\n}\n","declare global {\n export interface Date {\n toShortDateString(): string;\n weekOfYear(): number;\n }\n}\n\nexport const shortDateOptions: Intl.DateTimeFormatOptions = {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric'\n};\nexport const MILLI_SECS_PER_DAY = 86400000;\nexport const MILLI_SECS_PER_SEC = 60000;\nexport const DAYS_PER_WEEK = 7;\nif (!Date.prototype.toShortDateString) { //NOSONAR\n Date.prototype.toShortDateString = function (this: Date): string {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n\n const locale = navigator.language ||\n (navigator.languages && navigator.languages.length > 0) ? navigator.languages[0] : 'en-US';\n\n return dt.toLocaleDateString(locale, shortDateOptions);\n };\n}\n\nif (!Date.prototype.weekOfYear) { //NOSONAR\n // tslint:disable-next-line: space-before-function-paren\n Date.prototype.weekOfYear = function (this: Date): number {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n const onejan = new Date(dt.getFullYear(), 0, 1);\n return Math.ceil(((dt.getTime() - onejan.getTime()) / MILLI_SECS_PER_DAY + onejan.getDay() + 1) / DAYS_PER_WEEK);\n };\n}\nexport { };\n","declare global {\n export interface Array<T> {\n distinct(): T[];\n }\n}\n\nif (!Array.prototype.distinct) { //NOSONAR\n Array.prototype.distinct = function <T>(this: T[]): T[] {\n return this.filter((value, index, array) => array.indexOf(value) === index);\n };\n}\nexport { };\n","/**\n * Summary: This will update an object to make all properties with empty string values have null values instead.\n * @usageNotes\n * Only use this method with plain objects.\n**/\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function normalizeRequest<T extends object>(payload: T): T {\n for (const x in payload) {\n payload[x] = payload[x]?.toString() === '' ? null : payload[x];\n }\n return payload;\n}\n","export function isaNumber(value: unknown): boolean {\n const type = typeof (value);\n return type === 'number' || type === 'bigint';\n}\n\nexport function isaString(value: unknown): boolean {\n return typeof (value) === 'string';\n}\nexport function isaDate(value: unknown): boolean {\n return value instanceof Date;\n}\n","\nexport const defaultProxySettings = {\n\n secure: true,\n changeOrigin: true,\n onProxyRes: (proxyRes: { headers: { [x: string]: string; }; }) =>\n proxyRes.headers['Cache-Control'] = `max-age=2590000, public`\n};\nexport const defaultProxyDebugSettings =\n{\n ...defaultProxySettings,\n logLevel: 'debug',\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imng-nrsrx-client-utils.js","sources":["../../../../libs/imng-nrsrx-client-utils/src/lib/nrsrx-api-client.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/guid.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/date.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/array.helper.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/array.extensions.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/normalize-request.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/is-a.ts","../../../../libs/imng-nrsrx-client-utils/src/lib/default-proxy-settings.ts","../../../../libs/imng-nrsrx-client-utils/src/imng-nrsrx-client-utils.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport abstract class NrsrxBaseApiClientService<T extends { id?: string | number | Date; }> {\n public abstract url: string;\n constructor(protected readonly http: HttpClient) { }\n // Used to insert entities on NRSRx based API endpoints\n public post(payload: T): Observable<T> {\n return this.http.post<T>(payload.id ? `${this.url}?id=${payload.id}` : this.url, payload);\n }\n\n // Used to update entities on NRSRx based API endpoints\n public put(payload: T): Observable<T> {\n return this.http.put<T>(`${this.url}?id=${payload.id}`, payload);\n }\n\n public delete(payload: T): Observable<T> {\n return this.http.delete<T>(`${this.url}?id=${payload.id}`);\n }\n}\n","export class DateHelper {\n public static weekOfYear(dt: Date): number {\n return dt.weekOfYear();\n }\n\n // tslint:disable-next-line: space-before-function-paren\n public static toShortDateString(dt: Date): string {\n return dt.toShortDateString();\n }\n}\n","export class GuidHelper {\n private static readonly guidSegmentCriteria = `[a-f0-9]`;\n private static readonly guidRegexWithDashes = new RegExp(`${GuidHelper.guidSegmentCriteria}{8}-${GuidHelper.guidSegmentCriteria}{4}-` +\n `${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}{4}-${GuidHelper.guidSegmentCriteria}`, 'gim');\n private static readonly dashRegex = new RegExp('-', 'g');\n public static minimize(str: string): string {\n let m: RegExpExecArray | null;\n while ((m = this.guidRegexWithDashes.exec(str)) !== null) {\n m.forEach(element => {\n str = str.replace(element, element.replace(this.dashRegex, ''));\n });\n }\n return str;\n }\n}\n","declare global {\n export interface Date {\n toShortDateString(): string;\n weekOfYear(): number;\n }\n}\n\nexport const shortDateOptions: Intl.DateTimeFormatOptions = {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric'\n};\nexport const MILLI_SECS_PER_DAY = 86400000;\nexport const MILLI_SECS_PER_SEC = 60000;\nexport const DAYS_PER_WEEK = 7;\nif (!Date.prototype.toShortDateString) { //NOSONAR\n Date.prototype.toShortDateString = function (this: Date): string {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n\n const locale = navigator.language ||\n (navigator.languages && navigator.languages.length > 0) ? navigator.languages[0] : 'en-US';\n\n return dt.toLocaleDateString(locale, shortDateOptions);\n };\n}\n\nif (!Date.prototype.weekOfYear) { //NOSONAR\n // tslint:disable-next-line: space-before-function-paren\n Date.prototype.weekOfYear = function (this: Date): number {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const dt: Date = this;\n const onejan = new Date(dt.getFullYear(), 0, 1);\n return Math.ceil(((dt.getTime() - onejan.getTime()) / MILLI_SECS_PER_DAY + onejan.getDay() + 1) / DAYS_PER_WEEK);\n };\n}\nexport { };\n","export function distinct<T>(arr: T[]): T[] {\n return arr.filter((value, index, array) => array.indexOf(value) === index);\n}\n","import { distinct } from './array.helper';\n\ndeclare global {\n export interface Array<T> {\n distinct(): T[];\n }\n}\n\nif (!Array.prototype.distinct) {\n Array.prototype.distinct = function <T>(this: T[]): T[] {\n return distinct(this);\n };\n}\nexport {};\n","/**\n * Summary: This will update an object to make all properties with empty string values have null values instead.\n * @usageNotes\n * Only use this method with plain objects.\n**/\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function normalizeRequest<T extends object>(payload: T): T {\n for (const x in payload) {\n payload[x] = payload[x]?.toString() === '' ? null : payload[x];\n }\n return payload;\n}\n","export function isaNumber(value: unknown): boolean {\n const type = typeof (value);\n return type === 'number' || type === 'bigint';\n}\n\nexport function isaString(value: unknown): boolean {\n return typeof (value) === 'string';\n}\nexport function isaDate(value: unknown): boolean {\n return value instanceof Date;\n}\n","\nexport const defaultProxySettings = {\n\n secure: true,\n changeOrigin: true,\n onProxyRes: (proxyRes: { headers: { [x: string]: string; }; }) =>\n proxyRes.headers['Cache-Control'] = `max-age=2590000, public`\n};\nexport const defaultProxyDebugSettings =\n{\n ...defaultProxySettings,\n logLevel: 'debug',\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './lib/date.helper';
3
3
  export * from './lib/guid.helper';
4
4
  export * from './lib/date.extensions';
5
5
  export * from './lib/array.extensions';
6
+ export * from './lib/array.helper';
6
7
  export * from './lib/normalize-request';
7
8
  export * from './lib/value-type';
8
9
  export * from './lib/is-a';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../libs/imng-nrsrx-client-utils/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../libs/imng-nrsrx-client-utils/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"array.extensions.d.ts","sourceRoot":"","sources":["../../../../libs/imng-nrsrx-client-utils/src/lib/array.extensions.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,WAAW,KAAK,CAAC,CAAC;QACtB,QAAQ,IAAI,CAAC,EAAE,CAAC;KACjB;CACF;AAOD,OAAO,EAAG,CAAC"}
1
+ {"version":3,"file":"array.extensions.d.ts","sourceRoot":"","sources":["../../../../libs/imng-nrsrx-client-utils/src/lib/array.extensions.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,WAAW,KAAK,CAAC,CAAC;QACtB,QAAQ,IAAI,CAAC,EAAE,CAAC;KACjB;CACF;AAOD,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function distinct<T>(arr: T[]): T[];
2
+ //# sourceMappingURL=array.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.helper.d.ts","sourceRoot":"","sources":["../../../../libs/imng-nrsrx-client-utils/src/lib/array.helper.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imng-nrsrx-client-utils",
3
- "version": "3.301.5",
3
+ "version": "3.314.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=11.x",
6
6
  "rxjs": ">=6.x"