@rosoftlab/core 1.0.0-alpha-19 → 1.0.1-alpha-2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/fesm2022/rosoftlab-core.mjs +49 -46
  2. package/fesm2022/rosoftlab-core.mjs.map +1 -1
  3. package/package.json +1 -3
  4. package/esm2022/lib/base-components/base-form-edit.component.mjs +0 -241
  5. package/esm2022/lib/base-components/field-error-display/field-error-display.component.mjs +0 -15
  6. package/esm2022/lib/base-components/index.mjs +0 -4
  7. package/esm2022/lib/base-components/page-not-found/page-not-found.component.mjs +0 -15
  8. package/esm2022/lib/base-components/under-construction/under-construction.component.mjs +0 -12
  9. package/esm2022/lib/configurations.mjs +0 -8
  10. package/esm2022/lib/constants/symbols.mjs +0 -3
  11. package/esm2022/lib/converters/date/date.converter.mjs +0 -20
  12. package/esm2022/lib/core.mjs +0 -9
  13. package/esm2022/lib/decorators/attribute.decorator.mjs +0 -87
  14. package/esm2022/lib/decorators/base-datastore-config.decorator.mjs +0 -7
  15. package/esm2022/lib/decorators/base-model-config.decorator.mjs +0 -10
  16. package/esm2022/lib/decorators/custom.type.decorator.mjs +0 -11
  17. package/esm2022/lib/grid-layout-format.enum.mjs +0 -15
  18. package/esm2022/lib/index.mjs +0 -24
  19. package/esm2022/lib/interceptors/cache.interceptor.mjs +0 -52
  20. package/esm2022/lib/interceptors/index.mjs +0 -2
  21. package/esm2022/lib/interfaces/attribute-decorator-options.interface.mjs +0 -2
  22. package/esm2022/lib/interfaces/datastore-config.interface.mjs +0 -2
  23. package/esm2022/lib/interfaces/model-config.interface.mjs +0 -2
  24. package/esm2022/lib/interfaces/overrides.interface.mjs +0 -2
  25. package/esm2022/lib/interfaces/property-converter.interface.mjs +0 -2
  26. package/esm2022/lib/models/base-meta.model.mjs +0 -7
  27. package/esm2022/lib/models/base-query-data.mjs +0 -13
  28. package/esm2022/lib/models/base.model.mjs +0 -158
  29. package/esm2022/lib/models/error-response.model.mjs +0 -9
  30. package/esm2022/lib/models/rule.mjs +0 -6
  31. package/esm2022/lib/pipes/Nl2brPipe.pipe.mjs +0 -21
  32. package/esm2022/lib/pipes/input-error.pipe.mjs +0 -38
  33. package/esm2022/lib/providers.mjs +0 -12
  34. package/esm2022/lib/resolvers/dynamically-class-resolver.mjs +0 -22
  35. package/esm2022/lib/resolvers/dynamically-service-resolver.mjs +0 -22
  36. package/esm2022/lib/resolvers/index.mjs +0 -3
  37. package/esm2022/lib/rsl-base-module.mjs +0 -64
  38. package/esm2022/lib/services/base-datastore.service.mjs +0 -342
  39. package/esm2022/lib/services/base.service.mjs +0 -99
  40. package/esm2022/lib/services/cache.service.mjs +0 -35
  41. package/esm2022/lib/services/datastore.service.mjs +0 -33
  42. package/esm2022/lib/services/dialog.service.mjs +0 -2
  43. package/esm2022/lib/services/index.mjs +0 -7
  44. package/esm2022/lib/services/translate-loader.service.mjs +0 -33
  45. package/esm2022/lib/utils.mjs +0 -27
  46. package/esm2022/lib/validators/pattern-validator.mjs +0 -15
  47. package/esm2022/public-api.mjs +0 -5
  48. package/esm2022/rosoftlab-core.mjs +0 -5
@@ -1,52 +0,0 @@
1
- import { HttpResponse } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { of } from 'rxjs';
4
- import { tap } from 'rxjs/operators';
5
- import { CacheService } from '../services/cache.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../services/cache.service";
8
- export class CacheInterceptor {
9
- constructor(expirationTime, cacheService) {
10
- this.expirationTime = expirationTime;
11
- this.cacheService = cacheService;
12
- this.cache = new Map();
13
- }
14
- intercept(request, next) {
15
- const bypassCache = request.params.get('bypassCache') || false;
16
- if (bypassCache || request.method !== 'GET') {
17
- return next.handle(request);
18
- }
19
- if (!bypassCache) {
20
- const cachedResponse = this.cacheService.get(request.urlWithParams);
21
- if (cachedResponse) {
22
- return of(cachedResponse.clone());
23
- //return cachedResponse;
24
- }
25
- }
26
- return next.handle(request).pipe(tap((event) => {
27
- if (event instanceof HttpResponse) {
28
- this.cacheService.set(request.urlWithParams, event.clone(), this.expirationTime);
29
- }
30
- }));
31
- // const cachedItem = this.cache.get(request.url);
32
- // if (cachedItem && cachedItem.expiration > Date.now()) {
33
- // return of(cachedItem.response.clone());
34
- // }
35
- // return next.handle(request).pipe(
36
- // tap(event => {
37
- // if (event instanceof HttpResponse) {
38
- // this.cache.set(request.url, { response: event.clone(), expiration: Date.now() + this.expirationTime });
39
- // }
40
- // })
41
- // );
42
- }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CacheInterceptor, deps: [{ token: 'CACHE_EXPIRATION_TIME' }, { token: i1.CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CacheInterceptor }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CacheInterceptor, decorators: [{
47
- type: Injectable
48
- }], ctorParameters: () => [{ type: undefined, decorators: [{
49
- type: Inject,
50
- args: ['CACHE_EXPIRATION_TIME']
51
- }] }, { type: i1.CacheService }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9jYWNoZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdELFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR3pELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBcUQsY0FBc0IsRUFDakUsWUFBMEI7UUFEaUIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDakUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFINUIsVUFBSyxHQUFxRSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBR3BELENBQUM7SUFFekMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDO1FBRS9ELElBQUksV0FBVyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyx3QkFBd0I7WUFDMUIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkYsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixrREFBa0Q7UUFFbEQsMERBQTBEO1FBQzFELDRDQUE0QztRQUM1QyxJQUFJO1FBRUosb0NBQW9DO1FBQ3BDLG1CQUFtQjtRQUNuQiwyQ0FBMkM7UUFDM0MsZ0hBQWdIO1FBQ2hILFFBQVE7UUFDUixPQUFPO1FBQ1AsS0FBSztJQUNQLENBQUM7OEdBMUNVLGdCQUFnQixrQkFHUCx1QkFBdUI7a0hBSGhDLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBSUksTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2FjaGVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgcHJpdmF0ZSBjYWNoZTogTWFwPHN0cmluZywgeyByZXNwb25zZTogSHR0cFJlc3BvbnNlPGFueT4sIGV4cGlyYXRpb246IG51bWJlciB9PiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdCgnQ0FDSEVfRVhQSVJBVElPTl9USU1FJykgcHJpdmF0ZSBleHBpcmF0aW9uVGltZTogbnVtYmVyLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSkgeyB9XHJcblxyXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGNvbnN0IGJ5cGFzc0NhY2hlID0gcmVxdWVzdC5wYXJhbXMuZ2V0KCdieXBhc3NDYWNoZScpIHx8IGZhbHNlO1xyXG5cclxuICAgIGlmIChieXBhc3NDYWNoZSB8fCByZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghYnlwYXNzQ2FjaGUpIHtcclxuICAgICAgY29uc3QgY2FjaGVkUmVzcG9uc2UgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQocmVxdWVzdC51cmxXaXRoUGFyYW1zKTtcclxuICAgICAgaWYgKGNhY2hlZFJlc3BvbnNlKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKGNhY2hlZFJlc3BvbnNlLmNsb25lKCkpO1xyXG4gICAgICAgIC8vcmV0dXJuIGNhY2hlZFJlc3BvbnNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgIHRhcCgoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldChyZXF1ZXN0LnVybFdpdGhQYXJhbXMsIGV2ZW50LmNsb25lKCksIHRoaXMuZXhwaXJhdGlvblRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gY29uc3QgY2FjaGVkSXRlbSA9IHRoaXMuY2FjaGUuZ2V0KHJlcXVlc3QudXJsKTtcclxuXHJcbiAgICAvLyBpZiAoY2FjaGVkSXRlbSAmJiBjYWNoZWRJdGVtLmV4cGlyYXRpb24gPiBEYXRlLm5vdygpKSB7XHJcbiAgICAvLyAgIHJldHVybiBvZihjYWNoZWRJdGVtLnJlc3BvbnNlLmNsb25lKCkpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgLy8gICB0YXAoZXZlbnQgPT4ge1xyXG4gICAgLy8gICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgLy8gICAgICAgdGhpcy5jYWNoZS5zZXQocmVxdWVzdC51cmwsIHsgcmVzcG9uc2U6IGV2ZW50LmNsb25lKCksIGV4cGlyYXRpb246IERhdGUubm93KCkgKyB0aGlzLmV4cGlyYXRpb25UaW1lIH0pO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vICk7XHJcbiAgfVxyXG59Il19
@@ -1,2 +0,0 @@
1
- export * from './cache.interceptor';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWRlY29yYXRvci1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9hdHRyaWJ1dGUtZGVjb3JhdG9yLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eUNvbnZlcnRlciB9IGZyb20gJy4vcHJvcGVydHktY29udmVydGVyLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZURlY29yYXRvck9wdGlvbnMge1xyXG4gIHNlcmlhbGl6ZWROYW1lPzogc3RyaW5nO1xyXG4gIGNvbnZlcnRlcj86IFByb3BlcnR5Q29udmVydGVyO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgZm9ybVN1Ykdyb3VwPzogc3RyaW5nXHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyZmFjZXMvZGF0YXN0b3JlLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJyaWRlcyB9IGZyb20gJy4vb3ZlcnJpZGVzLmludGVyZmFjZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc3RvcmVDb25maWcge1xuICBhcGlWZXJzaW9uPzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBtb2RlbHM/OiBvYmplY3Q7XG4gIG92ZXJyaWRlcz86IE92ZXJyaWRlcztcbiAgbW9jaz86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTWV0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtbWV0YS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsQ29uZmlnIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgYXBpVmVyc2lvbj86IHN0cmluZztcclxuICBiYXNlVXJsPzogc3RyaW5nO1xyXG4gIG1vZGVsRW5kcG9pbnRVcmw/OiBzdHJpbmc7XHJcbiAgbWV0YT86IEJhc2VNZXRhTW9kZWw7XHJcbiAgZm9ybVRpdGxlOiBzdHJpbmc7XHJcbiAgYnlwYXNzQ2FjaGU/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9vdmVycmlkZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE92ZXJyaWRlcyB7XG4gIGdldERpcnR5QXR0cmlidXRlcz86IChhdHRyaWJ1dGVkTWV0YWRhdGE6IGFueSwgbW9kZWw/OiBhbnkpID0+IG9iamVjdDtcbiAgZ2V0QWxsQXR0cmlidXRlcz86IChhdHRyaWJ1dGVkTWV0YWRhdGE6IGFueSwgbW9kZWw/OiBhbnkpID0+IG9iamVjdDtcbiAgdG9RdWVyeVN0cmluZz86IChwYXJhbXM6IGFueSkgPT4gc3RyaW5nO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29udmVydGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9wcm9wZXJ0eS1jb252ZXJ0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb3BlcnR5Q29udmVydGVyIHtcclxuICBtYXNrKHZhbHVlOiBhbnkpOiBhbnk7XHJcbiAgdW5tYXNrKHZhbHVlOiBhbnkpOiBhbnk7XHJcbn1cclxuIl19
@@ -1,7 +0,0 @@
1
- export class BaseMetaModel {
2
- constructor(response) {
3
- this.links = response.links || [];
4
- this.meta = response.meta;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tZXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9tb2RlbHMvYmFzZS1tZXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQVksUUFBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQmFzZU1ldGFNb2RlbCB7XHJcbiAgcHVibGljIGxpbmtzOiBBcnJheTxhbnk+O1xyXG4gIHB1YmxpYyBtZXRhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgIHRoaXMubGlua3MgPSByZXNwb25zZS5saW5rcyB8fCBbXTtcclxuICAgIHRoaXMubWV0YSA9IHJlc3BvbnNlLm1ldGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,13 +0,0 @@
1
- export class BaseQueryData {
2
- constructor(jsonApiModels, metaData) {
3
- this.jsonApiModels = jsonApiModels;
4
- this.metaData = metaData;
5
- }
6
- getModels() {
7
- return this.jsonApiModels;
8
- }
9
- getMeta() {
10
- return this.metaData;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWVyeS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9tb2RlbHMvYmFzZS1xdWVyeS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXNCLGFBQXVCLEVBQVksUUFBYztRQUFqRCxrQkFBYSxHQUFiLGFBQWEsQ0FBVTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQU07SUFBSSxDQUFDO0lBRXJFLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBjbGFzcyBCYXNlUXVlcnlEYXRhPFQ+IHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQganNvbkFwaU1vZGVsczogQXJyYXk8VD4sIHByb3RlY3RlZCBtZXRhRGF0YT86IGFueSkgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXRNb2RlbHMoKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLmpzb25BcGlNb2RlbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TWV0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMubWV0YURhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,158 +0,0 @@
1
- import { Validators } from '@angular/forms';
2
- import { AttributeMetadata } from '../constants/symbols';
3
- export class BaseModel {
4
- // tslint:disable-next-line:variable-name
5
- constructor(_datastore, data) {
6
- this._datastore = _datastore;
7
- if (data) {
8
- if (data.id) {
9
- this.id = data.id;
10
- }
11
- Object.assign(this, data);
12
- }
13
- }
14
- save(params, headers, customUrl, customBody) {
15
- const attributesMetadata = this[AttributeMetadata];
16
- return this._datastore.saveRecord(attributesMetadata, this, params, headers, customUrl, customBody);
17
- }
18
- patch(origModel, params, headers, customUrl) {
19
- const attributesMetadata = this[AttributeMetadata];
20
- return this._datastore.patchRecord(attributesMetadata, this, origModel, params, headers, customUrl);
21
- }
22
- replace(params, headers, customUrl, customBody) {
23
- const attributesMetadata = this[AttributeMetadata];
24
- return this._datastore.replaceRecord(attributesMetadata, this, params, headers, customUrl, customBody);
25
- }
26
- get attributeMetadata() {
27
- const attributesMetadata = this[AttributeMetadata];
28
- return attributesMetadata;
29
- }
30
- set attributeMetadata(val) {
31
- this[AttributeMetadata] = val;
32
- }
33
- get hasDirtyAttributes() {
34
- const attributesMetadata = this[AttributeMetadata];
35
- let hasDirtyAttributes = false;
36
- for (const propertyName in attributesMetadata) {
37
- if (attributesMetadata.hasOwnProperty(propertyName)) {
38
- const metadata = attributesMetadata[propertyName];
39
- if (metadata.hasDirtyAttributes) {
40
- hasDirtyAttributes = true;
41
- break;
42
- }
43
- }
44
- }
45
- return hasDirtyAttributes;
46
- }
47
- rollbackAttributes() {
48
- const attributesMetadata = this[AttributeMetadata];
49
- let metadata;
50
- for (const propertyName in attributesMetadata) {
51
- if (attributesMetadata.hasOwnProperty(propertyName)) {
52
- if (attributesMetadata[propertyName].hasDirtyAttributes) {
53
- this[propertyName] = attributesMetadata[propertyName].oldValue;
54
- metadata = {
55
- hasDirtyAttributes: false,
56
- newValue: attributesMetadata[propertyName].oldValue,
57
- oldValue: undefined
58
- };
59
- attributesMetadata[propertyName] = metadata;
60
- }
61
- }
62
- }
63
- this[AttributeMetadata] = attributesMetadata;
64
- }
65
- get modelConfig() {
66
- return Reflect.getMetadata('BaseModelConfig', this.constructor);
67
- }
68
- deserializeModel(modelType, data) {
69
- data = this.transformSerializedNamesToPropertyNames(modelType, data);
70
- return new modelType(this._datastore, data);
71
- }
72
- transformSerializedNamesToPropertyNames(modelType, attributes) {
73
- const serializedNameToPropertyName = this.getModelPropertyNames(modelType.prototype);
74
- const properties = {};
75
- Object.keys(serializedNameToPropertyName).forEach((serializedName) => {
76
- if (attributes[serializedName] !== null && attributes[serializedName] !== undefined) {
77
- properties[serializedNameToPropertyName[serializedName]] = attributes[serializedName];
78
- }
79
- });
80
- return properties;
81
- }
82
- getModelPropertyNames(model) {
83
- return Reflect.getMetadata('AttributeMapping', model);
84
- }
85
- getModelRequiredPropertyNames(model) {
86
- return Reflect.getMetadata('AttributeRequired', model);
87
- }
88
- getModelDefaultPropertyValues(model) {
89
- return Reflect.getMetadata('AttributedefaultValue', model);
90
- }
91
- getModelSubGroupPropertyNames(model) {
92
- return Reflect.getMetadata('AttributeformSubGroup', model);
93
- }
94
- getFromGroup(fb) {
95
- const props = Object.keys(this.getModelPropertyNames(this));
96
- const requiredProps = this.getModelRequiredPropertyNames(this);
97
- const defaultValues = this.getModelDefaultPropertyValues(this);
98
- const formSubGroupsValues = this.getModelSubGroupPropertyNames(this);
99
- const controlsConfig = {};
100
- const that = this;
101
- if (props) {
102
- props.forEach(property => {
103
- const value = that[property] !== undefined ? that[property] : defaultValues[property];
104
- const formSubGroup = formSubGroupsValues[property] ?? null;
105
- if (requiredProps[property]) {
106
- if (formSubGroup)
107
- this.getSubFromGroup(fb, controlsConfig, formSubGroup).addControl(property, fb.control(value, Validators.required));
108
- else
109
- controlsConfig[property] = [value, Validators.required];
110
- }
111
- else {
112
- if (formSubGroup)
113
- this.getSubFromGroup(fb, controlsConfig, formSubGroup).addControl(property, fb.control(value));
114
- else
115
- controlsConfig[property] = value;
116
- }
117
- });
118
- }
119
- return fb.group(controlsConfig);
120
- }
121
- getSubFromGroup(fb, controlsConfig, subGroup) {
122
- if (!controlsConfig[subGroup])
123
- controlsConfig[subGroup] = fb.group({});
124
- return controlsConfig[subGroup];
125
- }
126
- getModelFromFormGroup(formGroup, id) {
127
- const props = Object.keys(this.getModelPropertyNames(this));
128
- const formSubGroupsValues = this.getModelSubGroupPropertyNames(this);
129
- const data = {};
130
- if (id) {
131
- data.id = id;
132
- }
133
- const that = this;
134
- if (props) {
135
- props.forEach(property => {
136
- const formSubGroup = formSubGroupsValues[property] ?? null;
137
- if (!formSubGroup)
138
- data[property] = formGroup.controls[property].value ?? null;
139
- else
140
- data[property] = formGroup.controls[formSubGroup].controls[property].value ?? null;
141
- });
142
- }
143
- if (data) {
144
- if (id) {
145
- this.id = id;
146
- }
147
- Object.assign(this, data);
148
- }
149
- }
150
- getSerializedModel() {
151
- const attributesMetadata = this[AttributeMetadata];
152
- return this._datastore.modelToEntity(this, attributesMetadata, true);
153
- }
154
- getCellClass(property) {
155
- return '';
156
- }
157
- }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvbW9kZWxzL2Jhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8sU0FBUztJQUtwQix5Q0FBeUM7SUFDekMsWUFBc0IsVUFBeUIsRUFBRSxJQUFVO1FBQXJDLGVBQVUsR0FBVixVQUFVLENBQWU7UUFDN0MsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQ0YsTUFBWSxFQUNaLE9BQXFCLEVBQ3JCLFNBQWtCLEVBQ2xCLFVBQWdCO1FBQ2hCLE1BQU0sa0JBQWtCLEdBQVEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELEtBQUssQ0FDSCxTQUFlLEVBQ2YsTUFBWSxFQUNaLE9BQXFCLEVBQ3JCLFNBQWtCO1FBRWxCLE1BQU0sa0JBQWtCLEdBQVEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0Is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QzdHLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNQLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2YsQ0FBQztZQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBSU0sa0JBQWtCO1FBQ3ZCLE1BQU0sa0JBQWtCLEdBQVEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELFlBQVksQ0FBQyxRQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXR0cmlidXRlTWV0YWRhdGEgfSBmcm9tICcuLi9jb25zdGFudHMvc3ltYm9scyc7XHJcbmltcG9ydCB7IE1vZGVsQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSwgTW9kZWxUeXBlIH0gZnJvbSAnLi4vc2VydmljZXMvYmFzZS1kYXRhc3RvcmUuc2VydmljZSc7XHJcbmV4cG9ydCBjbGFzcyBCYXNlTW9kZWwge1xyXG4gIHB1YmxpYyBoaWdobGlnaHRlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgaWQ6IGFueTtcclxuICBba2V5OiBzdHJpbmddOiBhbnk7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kYXRhc3RvcmU6IEJhc2VEYXRhc3RvcmUsIGRhdGE/OiBhbnkpIHtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmIChkYXRhLmlkKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICAgIH1cclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmUoXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXHJcbiAgICBjdXN0b21Cb2R5PzogYW55KTogT2JzZXJ2YWJsZTx0aGlzPiB7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGFzdG9yZS5zYXZlUmVjb3JkKGF0dHJpYnV0ZXNNZXRhZGF0YSwgdGhpcywgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwsIGN1c3RvbUJvZHkpO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2goXHJcbiAgICBvcmlnTW9kZWw6IHRoaXMsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHRoaXM+IHtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55ID0gdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV07XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YXN0b3JlLnBhdGNoUmVjb3JkKGF0dHJpYnV0ZXNNZXRhZGF0YSwgdGhpcywgb3JpZ01vZGVsLCBwYXJhbXMsIGhlYWRlcnMsIGN1c3RvbVVybCk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlKFxyXG4gICAgcGFyYW1zPzogYW55LFxyXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzLFxyXG4gICAgY3VzdG9tVXJsPzogc3RyaW5nLFxyXG4gICAgY3VzdG9tQm9keT86IGFueSk6IE9ic2VydmFibGU8dGhpcz4ge1xyXG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhc3RvcmUucmVwbGFjZVJlY29yZChhdHRyaWJ1dGVzTWV0YWRhdGEsIHRoaXMsIHBhcmFtcywgaGVhZGVycywgY3VzdG9tVXJsLCBjdXN0b21Cb2R5KTtcclxuICB9XHJcbiAgZ2V0IGF0dHJpYnV0ZU1ldGFkYXRhKCk6IGFueSB7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xyXG4gICAgcmV0dXJuIGF0dHJpYnV0ZXNNZXRhZGF0YTtcclxuICB9XHJcbiAgc2V0IGF0dHJpYnV0ZU1ldGFkYXRhKHZhbDogYW55KSB7XHJcbiAgICB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXSA9IHZhbDtcclxuICB9XHJcbiAgZ2V0IGhhc0RpcnR5QXR0cmlidXRlcygpIHtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55ID0gdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV07XHJcbiAgICBsZXQgaGFzRGlydHlBdHRyaWJ1dGVzID0gZmFsc2U7XHJcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBhdHRyaWJ1dGVzTWV0YWRhdGEpIHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IGFueSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG5cclxuICAgICAgICBpZiAobWV0YWRhdGEuaGFzRGlydHlBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICBoYXNEaXJ0eUF0dHJpYnV0ZXMgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGFzRGlydHlBdHRyaWJ1dGVzO1xyXG4gIH1cclxuXHJcbiAgcm9sbGJhY2tBdHRyaWJ1dGVzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcclxuICAgIGxldCBtZXRhZGF0YTogYW55O1xyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXS5oYXNEaXJ0eUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgIHRoaXNbcHJvcGVydHlOYW1lXSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdLm9sZFZhbHVlO1xyXG4gICAgICAgICAgbWV0YWRhdGEgPSB7XHJcbiAgICAgICAgICAgIGhhc0RpcnR5QXR0cmlidXRlczogZmFsc2UsXHJcbiAgICAgICAgICAgIG5ld1ZhbHVlOiBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXS5vbGRWYWx1ZSxcclxuICAgICAgICAgICAgb2xkVmFsdWU6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdID0gbWV0YWRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV0gPSBhdHRyaWJ1dGVzTWV0YWRhdGE7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9kZWxDb25maWcoKTogTW9kZWxDb25maWcge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VNb2RlbENvbmZpZycsIHRoaXMuY29uc3RydWN0b3IpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByb3RlY3RlZCBkZXNlcmlhbGl6ZU1vZGVsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBkYXRhOiBhbnkpIHtcclxuICAgIGRhdGEgPSB0aGlzLnRyYW5zZm9ybVNlcmlhbGl6ZWROYW1lc1RvUHJvcGVydHlOYW1lcyhtb2RlbFR5cGUsIGRhdGEpO1xyXG4gICAgcmV0dXJuIG5ldyBtb2RlbFR5cGUodGhpcy5fZGF0YXN0b3JlLCBkYXRhKTtcclxuICB9XHJcblxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNmb3JtU2VyaWFsaXplZE5hbWVzVG9Qcm9wZXJ0eU5hbWVzPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBhdHRyaWJ1dGVzOiBhbnkpIHtcclxuICAgIGNvbnN0IHNlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWUgPSB0aGlzLmdldE1vZGVsUHJvcGVydHlOYW1lcyhtb2RlbFR5cGUucHJvdG90eXBlKTtcclxuICAgIGNvbnN0IHByb3BlcnRpZXM6IGFueSA9IHt9O1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHNlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWUpLmZvckVhY2goKHNlcmlhbGl6ZWROYW1lKSA9PiB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzW3NlcmlhbGl6ZWROYW1lXSAhPT0gbnVsbCAmJiBhdHRyaWJ1dGVzW3NlcmlhbGl6ZWROYW1lXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcHJvcGVydGllc1tzZXJpYWxpemVkTmFtZVRvUHJvcGVydHlOYW1lW3NlcmlhbGl6ZWROYW1lXV0gPSBhdHRyaWJ1dGVzW3NlcmlhbGl6ZWROYW1lXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKG1vZGVsOiBCYXNlTW9kZWwpIHtcclxuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKCdBdHRyaWJ1dGVNYXBwaW5nJywgbW9kZWwpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0TW9kZWxSZXF1aXJlZFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZVJlcXVpcmVkJywgbW9kZWwpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0TW9kZWxEZWZhdWx0UHJvcGVydHlWYWx1ZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZWRlZmF1bHRWYWx1ZScsIG1vZGVsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNb2RlbFN1Ykdyb3VwUHJvcGVydHlOYW1lcyhtb2RlbDogQmFzZU1vZGVsKSB7XHJcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YSgnQXR0cmlidXRlZm9ybVN1Ykdyb3VwJywgbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZyb21Hcm91cChmYjogVW50eXBlZEZvcm1CdWlsZGVyKTogVW50eXBlZEZvcm1Hcm91cCB7XHJcbiAgICBjb25zdCBwcm9wcyA9IE9iamVjdC5rZXlzKHRoaXMuZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKHRoaXMpKTtcclxuICAgIGNvbnN0IHJlcXVpcmVkUHJvcHMgPSB0aGlzLmdldE1vZGVsUmVxdWlyZWRQcm9wZXJ0eU5hbWVzKHRoaXMpO1xyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHRoaXMuZ2V0TW9kZWxEZWZhdWx0UHJvcGVydHlWYWx1ZXModGhpcyk7XHJcbiAgICBjb25zdCBmb3JtU3ViR3JvdXBzVmFsdWVzID0gdGhpcy5nZXRNb2RlbFN1Ykdyb3VwUHJvcGVydHlOYW1lcyh0aGlzKTtcclxuICAgIGNvbnN0IGNvbnRyb2xzQ29uZmlnOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgaWYgKHByb3BzKSB7XHJcbiAgICAgIHByb3BzLmZvckVhY2gocHJvcGVydHkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhhdFtwcm9wZXJ0eV0gIT09IHVuZGVmaW5lZCA/IHRoYXRbcHJvcGVydHldIDogZGVmYXVsdFZhbHVlc1twcm9wZXJ0eV07XHJcbiAgICAgICAgY29uc3QgZm9ybVN1Ykdyb3VwID0gZm9ybVN1Ykdyb3Vwc1ZhbHVlc1twcm9wZXJ0eV0gPz8gbnVsbDtcclxuICAgICAgICBpZiAocmVxdWlyZWRQcm9wc1twcm9wZXJ0eV0pIHtcclxuICAgICAgICAgIGlmIChmb3JtU3ViR3JvdXApXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3ViRnJvbUdyb3VwKGZiLCBjb250cm9sc0NvbmZpZywgZm9ybVN1Ykdyb3VwKS5hZGRDb250cm9sKHByb3BlcnR5LCBmYi5jb250cm9sKHZhbHVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNvbnRyb2xzQ29uZmlnW3Byb3BlcnR5XSA9IFt2YWx1ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChmb3JtU3ViR3JvdXApXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3ViRnJvbUdyb3VwKGZiLCBjb250cm9sc0NvbmZpZywgZm9ybVN1Ykdyb3VwKS5hZGRDb250cm9sKHByb3BlcnR5LCBmYi5jb250cm9sKHZhbHVlKSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNvbnRyb2xzQ29uZmlnW3Byb3BlcnR5XSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZiLmdyb3VwKGNvbnRyb2xzQ29uZmlnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRTdWJGcm9tR3JvdXAoZmI6IFVudHlwZWRGb3JtQnVpbGRlciwgY29udHJvbHNDb25maWc6IGFueSwgc3ViR3JvdXA6IHN0cmluZyk6IFVudHlwZWRGb3JtR3JvdXAge1xyXG4gICAgaWYgKCFjb250cm9sc0NvbmZpZ1tzdWJHcm91cF0pXHJcbiAgICAgIGNvbnRyb2xzQ29uZmlnW3N1Ykdyb3VwXSA9IGZiLmdyb3VwKHt9KTtcclxuICAgIHJldHVybiBjb250cm9sc0NvbmZpZ1tzdWJHcm91cF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TW9kZWxGcm9tRm9ybUdyb3VwKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgaWQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IHByb3BzID0gT2JqZWN0LmtleXModGhpcy5nZXRNb2RlbFByb3BlcnR5TmFtZXModGhpcykpO1xyXG4gICAgY29uc3QgZm9ybVN1Ykdyb3Vwc1ZhbHVlcyA9IHRoaXMuZ2V0TW9kZWxTdWJHcm91cFByb3BlcnR5TmFtZXModGhpcyk7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7fTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICBkYXRhLmlkID0gaWQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuICAgIGlmIChwcm9wcykge1xyXG4gICAgICBwcm9wcy5mb3JFYWNoKHByb3BlcnR5ID0+IHtcclxuICAgICAgICBjb25zdCBmb3JtU3ViR3JvdXAgPSBmb3JtU3ViR3JvdXBzVmFsdWVzW3Byb3BlcnR5XSA/PyBudWxsO1xyXG4gICAgICAgIGlmICghZm9ybVN1Ykdyb3VwKVxyXG4gICAgICAgICAgZGF0YVtwcm9wZXJ0eV0gPSBmb3JtR3JvdXAuY29udHJvbHNbcHJvcGVydHldLnZhbHVlID8/IG51bGw7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgZGF0YVtwcm9wZXJ0eV0gPSAoZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1TdWJHcm91cF0gYXMgVW50eXBlZEZvcm1Hcm91cCkuY29udHJvbHNbcHJvcGVydHldLnZhbHVlID8/IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xyXG4gICAgICB9XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuIFxyXG5cclxuICBwdWJsaWMgZ2V0U2VyaWFsaXplZE1vZGVsKCkge1xyXG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhc3RvcmUubW9kZWxUb0VudGl0eSh0aGlzLCBhdHRyaWJ1dGVzTWV0YWRhdGEsIHRydWUpO1xyXG4gIH1cclxuICBnZXRDZWxsQ2xhc3MocHJvcGVydHk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,9 +0,0 @@
1
- export class ErrorResponse {
2
- constructor(errors) {
3
- this.errors = [];
4
- if (errors) {
5
- this.errors = errors;
6
- }
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL21vZGVscy9lcnJvci1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFZLE1BQXlCO1FBRnJDLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBRzVCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBKc29uQmFzZUVycm9yIHtcclxuICBpZD86IHN0cmluZztcclxuICBsaW5rcyA/OiBBcnJheTxhbnk+O1xyXG4gIHN0YXR1cyA/OiBzdHJpbmc7XHJcbiAgY29kZSA/OiBzdHJpbmc7XHJcbiAgdGl0bGUgPzogc3RyaW5nO1xyXG4gIGRldGFpbCA/OiBzdHJpbmc7XHJcbiAgc291cmNlID86IHtcclxuICAgIHBvaW50ZXIgPzogc3RyaW5nO1xyXG4gICAgcGFyYW1ldGVyID86IHN0cmluZ1xyXG4gIH07XHJcbiAgbWV0YSA/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFcnJvclJlc3BvbnNlIHtcclxuICBlcnJvcnM/OiBKc29uQmFzZUVycm9yW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZXJyb3JzID86IEpzb25CYXNlRXJyb3JbXSkge1xyXG4gICAgaWYgKGVycm9ycykge1xyXG4gICAgICB0aGlzLmVycm9ycyA9IGVycm9ycztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,6 +0,0 @@
1
- export class Rule {
2
- constructor() {
3
- this.parameters = [];
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvbW9kZWxzL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLElBQUk7SUFBakI7UUFHSSxlQUFVLEdBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSdWxlIHtcbiAgICBydWxlOiBhbnk7XG4gICAgb3JkZXI6IG51bWJlcjtcbiAgICBwYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtdO1xufVxuIl19
@@ -1,21 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class Nl2brPipe {
4
- transform(value, args) {
5
- // return value.replace(/\n/g, '<br />');
6
- if (value) {
7
- value = value.replace(/(?:\r\n\r\n|\r\r|\n\n)/g, '</p><p>');
8
- return '<p>' + value.replace(/(?:\r\n|\r|\n)/g, '<br>') + '</p>';
9
- }
10
- return value;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Nl2brPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: Nl2brPipe, name: "nl2br" }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Nl2brPipe, decorators: [{
16
- type: Pipe,
17
- args: [{
18
- name: 'nl2br'
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmwyYnJQaXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3BpcGVzL05sMmJyUGlwZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUVwQixTQUFTLENBQUMsS0FBVSxFQUFFLElBQVU7UUFDOUIseUNBQXlDO1FBQ3pDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RCxPQUFPLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQVRVLFNBQVM7NEdBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFIckIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsT0FBTztpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbmwyYnInXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBObDJiclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M/OiBhbnkpOiBhbnkge1xyXG4gICAgLy8gcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcbi9nLCAnPGJyIC8+Jyk7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8oPzpcXHJcXG5cXHJcXG58XFxyXFxyfFxcblxcbikvZywgJzwvcD48cD4nKTtcclxuICAgICAgcmV0dXJuICc8cD4nICsgdmFsdWUucmVwbGFjZSgvKD86XFxyXFxufFxccnxcXG4pL2csICc8YnI+JykgKyAnPC9wPic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG59Il19
@@ -1,38 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { TranslateService } from '@ngx-translate/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngx-translate/core";
5
- export class InputErrorPipe {
6
- constructor(translate) {
7
- this.translate = translate;
8
- }
9
- transform(value, filedTranslationKey) {
10
- let rvalue = '';
11
- if (value !== null) {
12
- if (value['invalid'] === true) {
13
- rvalue = 'ERROR.INVALID';
14
- }
15
- if (value['mustMatch'] === true) {
16
- rvalue = 'Account.Password.MustMach';
17
- }
18
- if (value['required'] === true) {
19
- const field = this.translate.instant(filedTranslationKey.field);
20
- rvalue = this.translate.instant('General.Field.Required', { field });
21
- }
22
- if (value['minlength']) {
23
- const field = this.translate.instant(filedTranslationKey.field);
24
- rvalue = this.translate.instant('General.Field.MinLength', { field, requiredLength: value.minlength.requiredLength });
25
- }
26
- }
27
- return rvalue;
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputErrorPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
30
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: InputErrorPipe, name: "inputError" }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputErrorPipe, decorators: [{
33
- type: Pipe,
34
- args: [{
35
- name: 'inputError'
36
- }]
37
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZXJyb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvcGlwZXMvaW5wdXQtZXJyb3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQXNCLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBRWpELENBQUM7SUFDRCxTQUFTLENBQUMsS0FBVSxFQUFFLG1CQUF3QjtRQUM1QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sR0FBRyxlQUFlLENBQUM7WUFDM0IsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNoQyxNQUFNLEdBQUcsMkJBQTJCLENBQUM7WUFDdkMsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hFLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ3hILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0F2QlUsY0FBYzs0R0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdpbnB1dEVycm9yJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRFcnJvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgZmlsZWRUcmFuc2xhdGlvbktleTogYW55KTogc3RyaW5nIHtcclxuICAgIGxldCBydmFsdWUgPSAnJztcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICBpZiAodmFsdWVbJ2ludmFsaWQnXSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJ2YWx1ZSA9ICdFUlJPUi5JTlZBTElEJztcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsdWVbJ211c3RNYXRjaCddID09PSB0cnVlKSB7XHJcbiAgICAgICAgcnZhbHVlID0gJ0FjY291bnQuUGFzc3dvcmQuTXVzdE1hY2gnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWx1ZVsncmVxdWlyZWQnXSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChmaWxlZFRyYW5zbGF0aW9uS2V5LmZpZWxkKTtcclxuICAgICAgICBydmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLkZpZWxkLlJlcXVpcmVkJywgeyBmaWVsZCB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsdWVbJ21pbmxlbmd0aCddKSB7XHJcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGZpbGVkVHJhbnNsYXRpb25LZXkuZmllbGQpO1xyXG4gICAgICAgIHJ2YWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dlbmVyYWwuRmllbGQuTWluTGVuZ3RoJywgeyBmaWVsZCwgcmVxdWlyZWRMZW5ndGg6IHZhbHVlLm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJ2YWx1ZTtcclxuICB9XHJcblxyXG59Il19
@@ -1,12 +0,0 @@
1
- import { DatePipe, DecimalPipe, PercentPipe } from '@angular/common';
2
- import { BaseDatastore } from './services/base-datastore.service';
3
- import { DatastoreCore } from './services/datastore.service';
4
- export * from './services';
5
- export const PROVIDERS = [
6
- BaseDatastore,
7
- DatastoreCore,
8
- DatePipe,
9
- DecimalPipe,
10
- PercentPipe
11
- ];
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxjQUFjLFlBQVksQ0FBQztBQUMzQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVU7SUFDOUIsYUFBYTtJQUNiLGFBQWE7SUFDYixRQUFRO0lBQ1IsV0FBVztJQUNYLFdBQVc7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBQZXJjZW50UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJhc2VEYXRhc3RvcmUgfSBmcm9tICcuL3NlcnZpY2VzL2Jhc2UtZGF0YXN0b3JlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc3RvcmVDb3JlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kYXRhc3RvcmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xyXG5leHBvcnQgY29uc3QgUFJPVklERVJTOiBhbnlbXSA9IFtcclxuICBCYXNlRGF0YXN0b3JlLFxyXG4gIERhdGFzdG9yZUNvcmUsXHJcbiAgRGF0ZVBpcGUsXHJcbiAgRGVjaW1hbFBpcGUsXHJcbiAgUGVyY2VudFBpcGVcclxuXTtcclxuIl19
@@ -1,22 +0,0 @@
1
- export function DynamicallyModelResolver(modelsImport, className = undefined) {
2
- return (route, state) => {
3
- if (className == undefined)
4
- className = route.paramMap.get('className');
5
- const instance = getInstance(className, modelsImport);
6
- if (!instance) {
7
- throw new Error(`Invalid className: ${className}`);
8
- }
9
- return instance;
10
- };
11
- }
12
- function getInstance(className, modelsImport) {
13
- return modelsImport.then((module) => module[toProperCase(className)]);
14
- // return modelsImport.then((module) => ({ modelInstance: module[toProperCase(className)] })
15
- // );
16
- }
17
- function toProperCase(str) {
18
- return str.replace(/\w\S*/g, (txt) => {
19
- return txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase();
20
- });
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY2FsbHktY2xhc3MtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3Jlc29sdmVycy9keW5hbWljYWxseS1jbGFzcy1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsd0JBQXdCLENBQXNCLFlBQWlCLEVBQUUsWUFBZ0MsU0FBUztJQUN0SCxPQUFPLENBQUMsS0FBNkIsRUFBRSxLQUEwQixFQUFFLEVBQUU7UUFDakUsSUFBSSxTQUFTLElBQUksU0FBUztZQUN0QixTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFJLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUksU0FBaUIsRUFBRSxZQUFpQjtJQUN4RCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLDRGQUE0RjtJQUM1RixLQUFLO0FBQ1QsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEdBQVc7SUFDN0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQ3pDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmVGbiwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4uL2NvcmUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIER5bmFtaWNhbGx5TW9kZWxSZXNvbHZlcjxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbHNJbXBvcnQ6IGFueSwgY2xhc3NOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBSZXNvbHZlRm48VD4ge1xyXG4gICAgcmV0dXJuIChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IHtcclxuICAgICAgICBpZiAoY2xhc3NOYW1lID09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgY2xhc3NOYW1lID0gcm91dGUucGFyYW1NYXAuZ2V0KCdjbGFzc05hbWUnKTtcclxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGdldEluc3RhbmNlPFQ+KGNsYXNzTmFtZSwgbW9kZWxzSW1wb3J0KTtcclxuICAgICAgICBpZiAoIWluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbGFzc05hbWU6ICR7Y2xhc3NOYW1lfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaW5zdGFuY2U7XHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRJbnN0YW5jZTxUPihjbGFzc05hbWU6IHN0cmluZywgbW9kZWxzSW1wb3J0OiBhbnkpOiBQcm9taXNlPFQ+IHtcclxuICAgIHJldHVybiBtb2RlbHNJbXBvcnQudGhlbigobW9kdWxlKSA9PiBtb2R1bGVbdG9Qcm9wZXJDYXNlKGNsYXNzTmFtZSldKTtcclxuICAgIC8vIHJldHVybiBtb2RlbHNJbXBvcnQudGhlbigobW9kdWxlKSA9PiAoeyBtb2RlbEluc3RhbmNlOiBtb2R1bGVbdG9Qcm9wZXJDYXNlKGNsYXNzTmFtZSldIH0pXHJcbiAgICAvLyApO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b1Byb3BlckNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXHdcXFMqL2csICh0eHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHJldHVybiB0eHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eHQuc3Vic3RyaW5nKDEpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9KTtcclxufVxyXG4iXX0=
@@ -1,22 +0,0 @@
1
- export function DynamicallyServiceResolver(serviceImport, serviceName) {
2
- return (route, state) => {
3
- const instance = getInstance(serviceName, serviceImport);
4
- if (!instance) {
5
- throw new Error(`Invalid className: ${serviceName}`);
6
- }
7
- return instance;
8
- };
9
- }
10
- function getInstance(serviceName, serviceImport) {
11
- return serviceImport.then((module) => module[toProperCase(serviceName)]); // return Promise.all([serviceImport]).then(
12
- // (module) => ({
13
- // serviceInstance: module[toProperCase(serviceName)],
14
- // })
15
- // );
16
- }
17
- function toProperCase(str) {
18
- return str.replace(/\w\S*/g, (txt) => {
19
- return txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase();
20
- });
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY2FsbHktc2VydmljZS1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvcmVzb2x2ZXJzL2R5bmFtaWNhbGx5LXNlcnZpY2UtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLDBCQUEwQixDQUFnRCxhQUFrQixFQUFFLFdBQW1CO0lBQy9ILE9BQU8sQ0FBQyxLQUE2QixFQUFFLEtBQTBCLEVBQUUsRUFBRTtRQUNuRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUksV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBSSxXQUFtQixFQUFFLGFBQWtCO0lBQzdELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSw0Q0FBNEM7SUFDdkgsbUJBQW1CO0lBQ25CLDBEQUEwRDtJQUMxRCxPQUFPO0lBQ1AsS0FBSztBQUNQLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQy9CLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtRQUMzQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSZXNvbHZlRm4sIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwsIEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gRHluYW1pY2FsbHlTZXJ2aWNlUmVzb2x2ZXI8VCBleHRlbmRzIEJhc2VNb2RlbCwgVSBleHRlbmRzIEJhc2VTZXJ2aWNlPFQ+PihzZXJ2aWNlSW1wb3J0OiBhbnksIHNlcnZpY2VOYW1lOiBzdHJpbmcpOiBSZXNvbHZlRm48VT4ge1xyXG4gIHJldHVybiAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiB7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IGdldEluc3RhbmNlPFU+KHNlcnZpY2VOYW1lLCBzZXJ2aWNlSW1wb3J0KTtcclxuICAgIGlmICghaW5zdGFuY2UpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsYXNzTmFtZTogJHtzZXJ2aWNlTmFtZX1gKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpbnN0YW5jZTtcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRJbnN0YW5jZTxVPihzZXJ2aWNlTmFtZTogc3RyaW5nLCBzZXJ2aWNlSW1wb3J0OiBhbnkpOiBQcm9taXNlPFU+IHtcclxuICByZXR1cm4gc2VydmljZUltcG9ydC50aGVuKChtb2R1bGUpID0+IG1vZHVsZVt0b1Byb3BlckNhc2Uoc2VydmljZU5hbWUpXSk7ICAvLyByZXR1cm4gUHJvbWlzZS5hbGwoW3NlcnZpY2VJbXBvcnRdKS50aGVuKFxyXG4gIC8vICAgKG1vZHVsZSkgPT4gKHtcclxuICAvLyAgICAgc2VydmljZUluc3RhbmNlOiBtb2R1bGVbdG9Qcm9wZXJDYXNlKHNlcnZpY2VOYW1lKV0sXHJcbiAgLy8gICB9KVxyXG4gIC8vICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvUHJvcGVyQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXHdcXFMqL2csICh0eHQ6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIHR4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHR4dC5zdWJzdHJpbmcoMSkudG9Mb3dlckNhc2UoKTtcclxuICB9KTtcclxufVxyXG4iXX0=
@@ -1,3 +0,0 @@
1
- export { DynamicallyModelResolver } from './dynamically-class-resolver';
2
- export { DynamicallyServiceResolver } from './dynamically-service-resolver';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3Jlc29sdmVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IER5bmFtaWNhbGx5TW9kZWxSZXNvbHZlciB9IGZyb20gJy4vZHluYW1pY2FsbHktY2xhc3MtcmVzb2x2ZXInXHJcbmV4cG9ydCB7IER5bmFtaWNhbGx5U2VydmljZVJlc29sdmVyIH0gZnJvbSAnLi9keW5hbWljYWxseS1zZXJ2aWNlLXJlc29sdmVyJ1xyXG5cclxuIl19
@@ -1,64 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { HttpClient, HttpClientModule } from '@angular/common/http';
3
- import { NgModule } from '@angular/core';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
6
- import { Configurations } from './configurations';
7
- import { PROVIDERS } from './providers';
8
- import { TranslateloaderService } from './services/translate-loader.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@ngx-translate/core";
11
- export class RslBaseModule {
12
- static forRoot(config) {
13
- return {
14
- ngModule: RslBaseModule,
15
- providers: [
16
- PROVIDERS,
17
- { provide: Configurations, useValue: config }
18
- ]
19
- };
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, imports: [CommonModule, i1.TranslateModule, ReactiveFormsModule], exports: [HttpClientModule,
23
- TranslateModule] }); }
24
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, providers: [
25
- PROVIDERS
26
- ], imports: [CommonModule,
27
- TranslateModule.forRoot({
28
- loader: {
29
- provide: TranslateLoader,
30
- useClass: TranslateloaderService,
31
- deps: [HttpClient]
32
- },
33
- // missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },
34
- useDefaultLang: false,
35
- }),
36
- ReactiveFormsModule, HttpClientModule,
37
- TranslateModule] }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- imports: [
43
- CommonModule,
44
- TranslateModule.forRoot({
45
- loader: {
46
- provide: TranslateLoader,
47
- useClass: TranslateloaderService,
48
- deps: [HttpClient]
49
- },
50
- // missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },
51
- useDefaultLang: false,
52
- }),
53
- ReactiveFormsModule
54
- ],
55
- providers: [
56
- PROVIDERS
57
- ],
58
- exports: [
59
- HttpClientModule,
60
- TranslateModule,
61
- ]
62
- }]
63
- }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNsLWJhc2UtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9yc2wtYmFzZS1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUF3QjdFLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBc0I7UUFDMUMsT0FBTztZQUNMLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVCxTQUFTO2dCQUNULEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQzlDO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBVFUsYUFBYTsrR0FBYixhQUFhLFlBcEJ0QixZQUFZLHNCQVVaLG1CQUFtQixhQU1uQixnQkFBZ0I7WUFDaEIsZUFBZTsrR0FHTixhQUFhLGFBUmI7WUFDVCxTQUFTO1NBQ1YsWUFkQyxZQUFZO1lBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxlQUFlO29CQUN4QixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ25CO2dCQUNELDRHQUE0RztnQkFDNUcsY0FBYyxFQUFFLEtBQUs7YUFDdEIsQ0FBQztZQUNGLG1CQUFtQixFQU1uQixnQkFBZ0I7WUFDaEIsZUFBZTs7MkZBR04sYUFBYTtrQkF0QnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDdEIsTUFBTSxFQUFFO2dDQUNOLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixRQUFRLEVBQUUsc0JBQXNCO2dDQUNoQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7NkJBQ25COzRCQUNELDRHQUE0Rzs0QkFDNUcsY0FBYyxFQUFFLEtBQUs7eUJBQ3RCLENBQUM7d0JBQ0YsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsU0FBUztxQkFDVjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IFBST1ZJREVSUyB9IGZyb20gJy4vcHJvdmlkZXJzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlbG9hZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBsb2FkZXI6IHtcclxuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXHJcbiAgICAgICAgdXNlQ2xhc3M6IFRyYW5zbGF0ZWxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgZGVwczogW0h0dHBDbGllbnRdXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIG1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXI6IHsgcHJvdmlkZTogTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgdXNlQ2xhc3M6IE15TWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciB9LFxyXG4gICAgICB1c2VEZWZhdWx0TGFuZzogZmFsc2UsXHJcbiAgICB9KSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgUFJPVklERVJTXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJzbEJhc2VNb2R1bGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IENvbmZpZ3VyYXRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxSc2xCYXNlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUnNsQmFzZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgUFJPVklERVJTLFxyXG4gICAgICAgIHsgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=