ngrx-entity-crud 12.11.0-beta.4 → 13.0.0

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.
Files changed (52) hide show
  1. package/{esm2015/lib/actions.js → esm2020/lib/actions.mjs} +0 -0
  2. package/{esm2015/lib/base-crud-gql.service.js → esm2020/lib/base-crud-gql.service.mjs} +9 -7
  3. package/esm2020/lib/base-crud.service.mjs +135 -0
  4. package/esm2020/lib/base-singular-crud.service.mjs +31 -0
  5. package/{esm2015/lib/create_adapter.js → esm2020/lib/create_adapter.mjs} +0 -0
  6. package/esm2020/lib/effect.mjs +310 -0
  7. package/{esm2015/lib/entity_state.js → esm2020/lib/entity_state.mjs} +0 -0
  8. package/{esm2015/lib/ibase-crud-service.js → esm2020/lib/ibase-crud-service.mjs} +0 -0
  9. package/{esm2015/lib/j-ngrx-filter.js → esm2020/lib/j-ngrx-filter.mjs} +0 -0
  10. package/{esm2015/lib/models.js → esm2020/lib/models.mjs} +0 -0
  11. package/esm2020/lib/reducer.mjs +407 -0
  12. package/esm2020/lib/state_selectors.mjs +78 -0
  13. package/{esm2015/lib/utils.js → esm2020/lib/utils.mjs} +0 -0
  14. package/{esm2015/ngrx-entity-crud.js → esm2020/ngrx-entity-crud.mjs} +0 -0
  15. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  16. package/fesm2015/{ngrx-entity-crud.js → ngrx-entity-crud.mjs} +297 -462
  17. package/fesm2015/ngrx-entity-crud.mjs.map +1 -0
  18. package/fesm2020/ngrx-entity-crud.mjs +1327 -0
  19. package/fesm2020/ngrx-entity-crud.mjs.map +1 -0
  20. package/lib/base-crud-gql.service.d.ts +3 -0
  21. package/lib/base-crud-gql.service.d.ts.map +1 -1
  22. package/lib/base-crud.service.d.ts +3 -0
  23. package/lib/base-crud.service.d.ts.map +1 -1
  24. package/lib/base-singular-crud.service.d.ts +3 -0
  25. package/lib/base-singular-crud.service.d.ts.map +1 -1
  26. package/lib/effect.d.ts +0 -95
  27. package/lib/effect.d.ts.map +1 -1
  28. package/ngrx-entity-crud.d.ts +1 -0
  29. package/ngrx-entity-crud.d.ts.map +1 -1
  30. package/package.json +31 -19
  31. package/schematics/auth/index.js +10 -10
  32. package/schematics/auth/index.js.map +1 -1
  33. package/schematics/auth0/index.js +8 -8
  34. package/schematics/auth0/index.js.map +1 -1
  35. package/schematics/my-utility.js +8 -8
  36. package/schematics/my-utility.js.map +1 -1
  37. package/schematics/ng-add/files/root-store/router-store/selectors.ts +1 -1
  38. package/schematics/ng-add/index.js +4 -4
  39. package/schematics/ng-add/index.js.map +1 -1
  40. package/schematics/section/index.js +3 -3
  41. package/schematics/section/index.js.map +1 -1
  42. package/schematics/store/index.js +23 -23
  43. package/schematics/store/index.js.map +1 -1
  44. package/bundles/ngrx-entity-crud.umd.js +0 -1922
  45. package/bundles/ngrx-entity-crud.umd.js.map +0 -1
  46. package/esm2015/lib/base-crud.service.js +0 -136
  47. package/esm2015/lib/base-singular-crud.service.js +0 -30
  48. package/esm2015/lib/effect.js +0 -467
  49. package/esm2015/lib/reducer.js +0 -349
  50. package/esm2015/lib/state_selectors.js +0 -90
  51. package/fesm2015/ngrx-entity-crud.js.map +0 -1
  52. package/ngrx-entity-crud.metadata.json +0 -1
@@ -62,10 +62,12 @@ export class BaseCrudGqlService {
62
62
  }));
63
63
  }
64
64
  }
65
- BaseCrudGqlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BaseCrudGqlService_Factory() { return new BaseCrudGqlService(); }, token: BaseCrudGqlService, providedIn: "root" });
66
- BaseCrudGqlService.decorators = [
67
- { type: Injectable, args: [{
68
- providedIn: 'root'
69
- },] }
70
- ];
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcnVkLWdxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdyeC1lbnRpdHktY3J1ZC9zcmMvbGliL2Jhc2UtY3J1ZC1ncWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNbkMsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixNQUFNLENBQUMsS0FBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELHlIQUF5SDtJQUN6SCxVQUFVLENBQUMsR0FBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsQ0FBQTtZQUNSLE9BQU8sQ0FBQztnQkFDTixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUcsUUFBUSxDQUFDLElBQVksQ0FBQyxRQUFRO2FBQ3RDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQscUhBQXFIO0lBQ3JILE1BQU0sQ0FBQyxHQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FDaEQsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsUUFBUSxDQUFBO1lBQ1IsT0FBTyxDQUFDO2dCQUNOLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxLQUFLO2dCQUNmLElBQUksRUFBRyxRQUFRLENBQUMsSUFBWSxDQUFDLFFBQVE7YUFDdEMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCwwR0FBMEc7SUFDMUcsS0FBSyxDQUFDLEtBQWlCO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxNQUFNO2FBQ2YsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsQ0FBQTtZQUNSLE9BQU8sQ0FBQztnQkFDTixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUcsUUFBUSxDQUFDLElBQVksQ0FBQyxRQUFRO2FBQ3RDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDTCxDQUFDOzs7O1lBbEZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lDcml0ZXJpYSwgT3B0UmVxdWVzdCwgUmVzcG9uc2V9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJQmFzZUNydWRTZXJ2aWNlfSBmcm9tICcuL2liYXNlLWNydWQtc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VDcnVkR3FsU2VydmljZTxUPiBpbXBsZW1lbnRzIElCYXNlQ3J1ZFNlcnZpY2U8VD4ge1xuICBwdWJsaWMgc2VydmljZVxuXG4gIHByb3RlY3RlZCBhcG9sbG86IGFueTtcblxuICBzZWFyY2godmFsdWU/OiBJQ3JpdGVyaWEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFRbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeSh2YWx1ZSk7XG4gIH1cblxuICBzZWxlY3Qob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShvcHQpXG4gIH1cblxuICBjcmVhdGUob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShvcHQpXG4gIH1cblxuICBjcmVhdGVNYW55KG9wdDogT3B0UmVxdWVzdCk6IE9ic2VydmFibGU8UmVzcG9uc2U8VFtdPj4ge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShvcHQpXG4gIH1cblxuICB1cGRhdGUob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShvcHQpXG4gIH1cblxuICB1cGRhdGVNYW55KG9wdDogT3B0UmVxdWVzdCk6IE9ic2VydmFibGU8UmVzcG9uc2U8VFtdPj4ge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShvcHQpO1xuICB9XG5cbiAgZGVsZXRlKG9wdDogT3B0UmVxdWVzdCk6IE9ic2VydmFibGU8UmVzcG9uc2U8c3RyaW5nPj4ge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZShvcHQpXG4gIH1cblxuICBkZWxldGVNYW55KG9wdDogT3B0UmVxdWVzdCk6IE9ic2VydmFibGU8UmVzcG9uc2U8c3RyaW5nW10+PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKG9wdClcbiAgfVxuXG4gIC8vdG9kbyB0b2xnbyB0aXBpenphemlvbmUgIE11dGF0aW9uT3B0aW9ucyBtdXRhdGVNYW55KG9wdDogT3B0UmVxdWVzdDxNdXRhdGlvbk9wdGlvbnM+KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxzdHJpbmdbXT4+IHtcbiAgbXV0YXRlTWFueShvcHQ6IE9wdFJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPHN0cmluZ1tdPj4ge1xuICAgIHJldHVybiB0aGlzLmFwb2xsby5tdXRhdGUob3B0Lm11dGF0aW9uUGFyYW1zKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGRlYnVnZ2VyXG4gICAgICAgIHJldHVybiAoe1xuICAgICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgICAgIGhhc0Vycm9yOiBmYWxzZSxcbiAgICAgICAgICBkYXRhOiAocmVzcG9uc2UuZGF0YSBhcyBhbnkpLmFsbENvaW5zXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8vdG9kbyB0b2xnbyB0aXBpenphemlvbmUgIE11dGF0aW9uT3B0aW9ucyBtdXRhdGUob3B0OiBPcHRSZXF1ZXN0PE11dGF0aW9uT3B0aW9ucz4pOiBPYnNlcnZhYmxlPFJlc3BvbnNlPHN0cmluZ1tdPj4ge1xuICBtdXRhdGUob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxzdHJpbmdbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8ubXV0YXRlKG9wdC5tdXRhdGlvblBhcmFtcykucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBkZWJ1Z2dlclxuICAgICAgICByZXR1cm4gKHtcbiAgICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgICAgICBoYXNFcnJvcjogZmFsc2UsXG4gICAgICAgICAgZGF0YTogKHJlc3BvbnNlLmRhdGEgYXMgYW55KS5hbGxDb2luc1xuICAgICAgICB9KVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvL3RvZG8gdG9sZ28gdGlwaXp6YXppb25lIFF1ZXJ5T3B0aW9ucyBxdWVyeSh2YWx1ZT86IElDcml0ZXJpYTxRdWVyeU9wdGlvbnM+KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUW10+PiB7XG4gIHF1ZXJ5KHZhbHVlPzogSUNyaXRlcmlhKTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUW10+PiB7XG4gICAgY29uc29sZS5sb2coJ0NvaW5TZXJ2aWNlLnNlYXJjaCgpJyk7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvXG4gICAgICAucXVlcnkodmFsdWUucXVlcnlQYXJhbXMpLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGRlYnVnZ2VyXG4gICAgICAgICAgcmV0dXJuICh7XG4gICAgICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgICAgICAgIGhhc0Vycm9yOiBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE6IChyZXNwb25zZS5kYXRhIGFzIGFueSkuYWxsQ29pbnNcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKVxuICB9XG59XG4iXX0=
65
+ BaseCrudGqlService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseCrudGqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
66
+ BaseCrudGqlService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseCrudGqlService, providedIn: 'root' });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseCrudGqlService, decorators: [{
68
+ type: Injectable,
69
+ args: [{
70
+ providedIn: 'root'
71
+ }]
72
+ }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcnVkLWdxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdyeC1lbnRpdHktY3J1ZC9zcmMvbGliL2Jhc2UtY3J1ZC1ncWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNbkMsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixNQUFNLENBQUMsS0FBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELHlIQUF5SDtJQUN6SCxVQUFVLENBQUMsR0FBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsQ0FBQTtZQUNSLE9BQU8sQ0FBQztnQkFDTixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUcsUUFBUSxDQUFDLElBQVksQ0FBQyxRQUFRO2FBQ3RDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQscUhBQXFIO0lBQ3JILE1BQU0sQ0FBQyxHQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FDaEQsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsUUFBUSxDQUFBO1lBQ1IsT0FBTyxDQUFDO2dCQUNOLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxLQUFLO2dCQUNmLElBQUksRUFBRyxRQUFRLENBQUMsSUFBWSxDQUFDLFFBQVE7YUFDdEMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCwwR0FBMEc7SUFDMUcsS0FBSyxDQUFDLEtBQWlCO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxNQUFNO2FBQ2YsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsQ0FBQTtZQUNSLE9BQU8sQ0FBQztnQkFDTixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsS0FBSztnQkFDZixJQUFJLEVBQUcsUUFBUSxDQUFDLElBQVksQ0FBQyxRQUFRO2FBQ3RDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDTCxDQUFDOzsrR0EvRVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SUNyaXRlcmlhLCBPcHRSZXF1ZXN0LCBSZXNwb25zZX0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0lCYXNlQ3J1ZFNlcnZpY2V9IGZyb20gJy4vaWJhc2UtY3J1ZC1zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzZUNydWRHcWxTZXJ2aWNlPFQ+IGltcGxlbWVudHMgSUJhc2VDcnVkU2VydmljZTxUPiB7XG4gIHB1YmxpYyBzZXJ2aWNlXG5cbiAgcHJvdGVjdGVkIGFwb2xsbzogYW55O1xuXG4gIHNlYXJjaCh2YWx1ZT86IElDcml0ZXJpYSk6IE9ic2VydmFibGU8UmVzcG9uc2U8VFtdPj4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5KHZhbHVlKTtcbiAgfVxuXG4gIHNlbGVjdChvcHQ6IE9wdFJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKG9wdClcbiAgfVxuXG4gIGNyZWF0ZShvcHQ6IE9wdFJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKG9wdClcbiAgfVxuXG4gIGNyZWF0ZU1hbnkob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUW10+PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKG9wdClcbiAgfVxuXG4gIHVwZGF0ZShvcHQ6IE9wdFJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKG9wdClcbiAgfVxuXG4gIHVwZGF0ZU1hbnkob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUW10+PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKG9wdCk7XG4gIH1cblxuICBkZWxldGUob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxzdHJpbmc+PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKG9wdClcbiAgfVxuXG4gIGRlbGV0ZU1hbnkob3B0OiBPcHRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxzdHJpbmdbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUob3B0KVxuICB9XG5cbiAgLy90b2RvIHRvbGdvIHRpcGl6emF6aW9uZSAgTXV0YXRpb25PcHRpb25zIG11dGF0ZU1hbnkob3B0OiBPcHRSZXF1ZXN0PE11dGF0aW9uT3B0aW9ucz4pOiBPYnNlcnZhYmxlPFJlc3BvbnNlPHN0cmluZ1tdPj4ge1xuICBtdXRhdGVNYW55KG9wdDogT3B0UmVxdWVzdCk6IE9ic2VydmFibGU8UmVzcG9uc2U8c3RyaW5nW10+PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLm11dGF0ZShvcHQubXV0YXRpb25QYXJhbXMpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgZGVidWdnZXJcbiAgICAgICAgcmV0dXJuICh7XG4gICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgaGFzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgIGRhdGE6IChyZXNwb25zZS5kYXRhIGFzIGFueSkuYWxsQ29pbnNcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLy90b2RvIHRvbGdvIHRpcGl6emF6aW9uZSAgTXV0YXRpb25PcHRpb25zIG11dGF0ZShvcHQ6IE9wdFJlcXVlc3Q8TXV0YXRpb25PcHRpb25zPik6IE9ic2VydmFibGU8UmVzcG9uc2U8c3RyaW5nW10+PiB7XG4gIG11dGF0ZShvcHQ6IE9wdFJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPHN0cmluZ1tdPj4ge1xuICAgIHJldHVybiB0aGlzLmFwb2xsby5tdXRhdGUob3B0Lm11dGF0aW9uUGFyYW1zKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGRlYnVnZ2VyXG4gICAgICAgIHJldHVybiAoe1xuICAgICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgICAgIGhhc0Vycm9yOiBmYWxzZSxcbiAgICAgICAgICBkYXRhOiAocmVzcG9uc2UuZGF0YSBhcyBhbnkpLmFsbENvaW5zXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8vdG9kbyB0b2xnbyB0aXBpenphemlvbmUgUXVlcnlPcHRpb25zIHF1ZXJ5KHZhbHVlPzogSUNyaXRlcmlhPFF1ZXJ5T3B0aW9ucz4pOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFRbXT4+IHtcbiAgcXVlcnkodmFsdWU/OiBJQ3JpdGVyaWEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFRbXT4+IHtcbiAgICBjb25zb2xlLmxvZygnQ29pblNlcnZpY2Uuc2VhcmNoKCknKTtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG9cbiAgICAgIC5xdWVyeSh2YWx1ZS5xdWVyeVBhcmFtcykucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgZGVidWdnZXJcbiAgICAgICAgICByZXR1cm4gKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgaGFzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgZGF0YTogKHJlc3BvbnNlLmRhdGEgYXMgYW55KS5hbGxDb2luc1xuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICApXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,135 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
3
+ import { map, mergeMap } from 'rxjs/operators';
4
+ import { of } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ export class BaseCrudService {
8
+ constructor(http) {
9
+ this.http = http;
10
+ this.service = '';
11
+ this.id = 'id';
12
+ this.debug = false;
13
+ this.httpOptions = () => {
14
+ return {
15
+ headers: new HttpHeaders({ 'Content-Type': 'application/json' })
16
+ };
17
+ };
18
+ this.searchMap = res => res;
19
+ this.getId = (value) => value[this.id];
20
+ }
21
+ debugMode() {
22
+ this.debug = true;
23
+ }
24
+ create(opt) {
25
+ if (typeof (console) !== 'undefined' && this.debug) {
26
+ console.log('%c BaseCrudService.create()', 'color: #777777');
27
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
28
+ }
29
+ const path = !!opt && !!opt.path ? opt.path : null;
30
+ return this.http.post(`${this.getUrl(path)}`, opt.mutationParams, this.httpOptions());
31
+ }
32
+ createMany(opt) {
33
+ this.checkOptRequest(opt);
34
+ const result = opt.mutationParams.map(mutationParams => {
35
+ const optB = { ...opt, mutationParams };
36
+ return this.create(optB).pipe(map(value => ({ ...value, data: [value.data] })) // trasformo la singola risposta da {data:T} in {data:T[]}
37
+ );
38
+ });
39
+ return of(...result).pipe(mergeMap(value => value));
40
+ }
41
+ /**
42
+ * metodo introdotto per la verifica di OptRequest
43
+ * nella nuova versione è stato sostituito opt.item e opt.items con opt.mutationParams
44
+ * in modo da renderlo compatibile come nomenclatura a graphql
45
+ * @param opt
46
+ */
47
+ checkOptRequest(opt) {
48
+ if (opt && opt.hasOwnProperty('item') && !!opt.item) {
49
+ throw new Error('Error, in new versions of the library the "items" or "item" attribute have been replaced by "mutationParams". all project attributes must be renamed.');
50
+ }
51
+ if (opt && opt.hasOwnProperty('items') && !!opt.items) {
52
+ throw new Error('Error, in new versions of the library the "items" or "item" attribute have been replaced by "mutationParams". all project attributes must be renamed.');
53
+ }
54
+ return true;
55
+ }
56
+ search(value) {
57
+ if (typeof (console) !== 'undefined' && this.debug) {
58
+ console.log('BaseCrudService.search()');
59
+ console.log('Extended from: ' + this.constructor.name);
60
+ }
61
+ const url = value && value.hasOwnProperty('path') && !!value.path ? value.path.join('/') : '';
62
+ let httpOptions = this.httpOptions();
63
+ if (value && value.hasOwnProperty('queryParams') && !!value.queryParams) {
64
+ httpOptions = ({ ...httpOptions, ...{ params: value.queryParams } });
65
+ }
66
+ return this.http.get(this.getUrl() + url, httpOptions).pipe(map(this.searchMap));
67
+ }
68
+ select(opt) {
69
+ if (typeof (console) !== 'undefined' && this.debug) {
70
+ console.log('%c BaseCrudService.select()', 'color: #777777');
71
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
72
+ }
73
+ const id = this.getId(opt.queryParams);
74
+ const path = !!opt && !!opt.path ? opt.path : null;
75
+ return this
76
+ .http
77
+ .get(`${this.getUrl(path)}/${id}`, this.httpOptions());
78
+ }
79
+ update(opt) {
80
+ this.checkOptRequest(opt);
81
+ if (typeof (console) !== 'undefined' && this.debug) {
82
+ console.log('%c BaseCrudService.update()', 'color: #777777');
83
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
84
+ }
85
+ const id = this.getId(opt.mutationParams);
86
+ const path = !!opt && !!opt.path ? opt.path : null;
87
+ return this.http.put(`${this.getUrl(path)}/${id}`, opt.mutationParams, this.httpOptions());
88
+ }
89
+ updateMany(opt) {
90
+ this.checkOptRequest(opt);
91
+ const result = opt.mutationParams.map(mutationParams => {
92
+ const optB = { ...opt, mutationParams };
93
+ return this.update(optB).pipe(map(value => ({ ...value, data: [value.data] })) // trasformo la singola risposta da {data:T} in {data:T[]}
94
+ );
95
+ });
96
+ return of(...result).pipe(mergeMap(value => value));
97
+ }
98
+ delete(opt) {
99
+ this.checkOptRequest(opt);
100
+ if (typeof (console) !== 'undefined' && this.debug) {
101
+ console.log('%c BaseCrudService.delete()', 'color: #777777');
102
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
103
+ }
104
+ const id = this.getId(opt.mutationParams);
105
+ const path = !!opt && !!opt.path ? opt.path : null;
106
+ return this.http.delete(`${this.getUrl(path)}/${id}`, this.httpOptions());
107
+ }
108
+ deleteMany(opt) {
109
+ this.checkOptRequest(opt);
110
+ const result = opt.mutationParams.map(mutationParams => {
111
+ const optB = { ...opt, mutationParams };
112
+ return this.delete(optB);
113
+ });
114
+ return of(...result).pipe(mergeMap(value => value));
115
+ }
116
+ getUrl(path) {
117
+ const result = !!path ? `${this.service}/${path.join('/')}` : this.service;
118
+ if (typeof (console) !== 'undefined' && this.debug) {
119
+ console.log('%c BaseCrudService.getUrl(path?:string[]): string', 'color: #777777');
120
+ console.log('%c path: ' + path, 'color: #777777');
121
+ console.log('%c Extended from: ' + this.constructor.name, 'color: #777777');
122
+ console.log('%c result: ' + result, 'color: #777777');
123
+ }
124
+ return result;
125
+ }
126
+ }
127
+ BaseCrudService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseCrudService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
128
+ BaseCrudService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseCrudService, providedIn: 'root' });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseCrudService, decorators: [{
130
+ type: Injectable,
131
+ args: [{
132
+ providedIn: 'root'
133
+ }]
134
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jcnVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3J4LWVudGl0eS1jcnVkL3NyYy9saWIvYmFzZS1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBTXBDLE1BQU0sT0FBTyxlQUFlO0lBVTFCLFlBQW1CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFSbkMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE9BQUUsR0FBRyxJQUFJLENBQUM7UUFDVixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBU2QsZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDakIsT0FBTztnQkFDTCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQzthQUMvRCxDQUFDO1FBQ0osQ0FBQyxDQUFBO1FBeURELGNBQVMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQTZEdkIsVUFBSyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBNUhsQyxDQUFDO0lBTEQsU0FBUztRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFXRCxNQUFNLENBQUMsR0FBa0I7UUFDdkIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFD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LElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3ZCLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUlELE1BQU0sQ0FBQyxJQUFlO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDM0UsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25GLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUM1RSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUN2RDtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OzRHQWxKVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7bWFwLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJQ3JpdGVyaWEsIE9wdFJlcXVlc3QsIFJlc3BvbnNlfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SUJhc2VDcnVkU2VydmljZX0gZnJvbSAnLi9pYmFzZS1jcnVkLXNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlQ3J1ZFNlcnZpY2U8VD4gaW1wbGVtZW50cyBJQmFzZUNydWRTZXJ2aWNlPFQ+IHtcblxuICBzZXJ2aWNlID0gJyc7XG4gIGlkID0gJ2lkJztcbiAgZGVidWcgPSBmYWxzZTtcblxuICBkZWJ1Z01vZGUoKSB7XG4gICAgdGhpcy5kZWJ1ZyA9IHRydWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkge1xuICB9XG5cbiAgaHR0cE9wdGlvbnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ30pXG4gICAgfTtcbiAgfVxuXG4gIGNyZWF0ZShvcHQ6IE9wdFJlcXVlc3Q8VD4pOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFQ+PiB7XG4gICAgaWYgKHR5cGVvZiAoY29uc29sZSkgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBCYXNlQ3J1ZFNlcnZpY2UuY3JlYXRlKCknLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBFeHRlbmRlZCBmcm9tOiAnICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICB9XG4gICAgY29uc3QgcGF0aCA9ICEhb3B0ICYmICEhb3B0LnBhdGggPyBvcHQucGF0aCA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPFQ+PihgJHt0aGlzLmdldFVybChwYXRoKX1gLCBvcHQubXV0YXRpb25QYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMoKSk7XG4gIH1cblxuICBjcmVhdGVNYW55KG9wdDogT3B0UmVxdWVzdDxUW10gfCBUPik6IE9ic2VydmFibGU8UmVzcG9uc2U8VFtdPj4ge1xuICAgIHRoaXMuY2hlY2tPcHRSZXF1ZXN0KG9wdCk7XG4gICAgY29uc3QgcmVzdWx0ID0gKG9wdC5tdXRhdGlvblBhcmFtcyBhcyBUW10pLm1hcChtdXRhdGlvblBhcmFtcyA9PiB7XG4gICAgICBjb25zdCBvcHRCOiBPcHRSZXF1ZXN0PFQ+ID0gey4uLm9wdCwgbXV0YXRpb25QYXJhbXN9O1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKG9wdEIpLnBpcGUoXG4gICAgICAgIG1hcCh2YWx1ZSA9PiAoey4uLnZhbHVlLCBkYXRhOiBbdmFsdWUuZGF0YV19KSkgLy8gdHJhc2Zvcm1vIGxhIHNpbmdvbGEgcmlzcG9zdGEgZGEge2RhdGE6VH0gaW4ge2RhdGE6VFtdfVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2YoLi4ucmVzdWx0KS5waXBlKFxuICAgICAgbWVyZ2VNYXAodmFsdWUgPT4gdmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtZXRvZG8gaW50cm9kb3R0byBwZXIgbGEgdmVyaWZpY2EgZGkgT3B0UmVxdWVzdFxuICAgKiBuZWxsYSBudW92YSB2ZXJzaW9uZSDDqCBzdGF0byBzb3N0aXR1aXRvIG9wdC5pdGVtIGUgb3B0Lml0ZW1zIGNvbiBvcHQubXV0YXRpb25QYXJhbXNcbiAgICogaW4gbW9kbyBkYSByZW5kZXJsbyBjb21wYXRpYmlsZSBjb21lIG5vbWVuY2xhdHVyYSBhIGdyYXBocWxcbiAgICogQHBhcmFtIG9wdFxuICAgKi9cbiAgY2hlY2tPcHRSZXF1ZXN0KG9wdDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKG9wdCAmJiBvcHQuaGFzT3duUHJvcGVydHkoJ2l0ZW0nKSAmJiAhIW9wdC5pdGVtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yLCBpbiBuZXcgdmVyc2lvbnMgb2YgdGhlIGxpYnJhcnkgdGhlIFwiaXRlbXNcIiBvciBcIml0ZW1cIiBhdHRyaWJ1dGUgaGF2ZSBiZWVuIHJlcGxhY2VkIGJ5IFwibXV0YXRpb25QYXJhbXNcIi4gYWxsIHByb2plY3QgYXR0cmlidXRlcyBtdXN0IGJlIHJlbmFtZWQuJylcbiAgICB9XG4gICAgaWYgKG9wdCAmJiBvcHQuaGFzT3duUHJvcGVydHkoJ2l0ZW1zJykgJiYgISFvcHQuaXRlbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3IsIGluIG5ldyB2ZXJzaW9ucyBvZiB0aGUgbGlicmFyeSB0aGUgXCJpdGVtc1wiIG9yIFwiaXRlbVwiIGF0dHJpYnV0ZSBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgXCJtdXRhdGlvblBhcmFtc1wiLiBhbGwgcHJvamVjdCBhdHRyaWJ1dGVzIG11c3QgYmUgcmVuYW1lZC4nKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHNlYXJjaCh2YWx1ZT86IElDcml0ZXJpYSk6IE9ic2VydmFibGU8UmVzcG9uc2U8VFtdPj4ge1xuICAgIGlmICh0eXBlb2YgKGNvbnNvbGUpICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZygnQmFzZUNydWRTZXJ2aWNlLnNlYXJjaCgpJyk7XG4gICAgICBjb25zb2xlLmxvZygnRXh0ZW5kZWQgZnJvbTogJyArIHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IHVybCA9IHZhbHVlICYmIHZhbHVlLmhhc093blByb3BlcnR5KCdwYXRoJykgJiYgISF2YWx1ZS5wYXRoID8gdmFsdWUucGF0aC5qb2luKCcvJykgOiAnJztcbiAgICBsZXQgaHR0cE9wdGlvbnMgPSB0aGlzLmh0dHBPcHRpb25zKCk7XG5cbiAgICBpZiAodmFsdWUgJiYgdmFsdWUuaGFzT3duUHJvcGVydHkoJ3F1ZXJ5UGFyYW1zJykgJiYgISF2YWx1ZS5xdWVyeVBhcmFtcykge1xuICAgICAgaHR0cE9wdGlvbnMgPSAoey4uLmh0dHBPcHRpb25zLCAuLi57cGFyYW1zOiB2YWx1ZS5xdWVyeVBhcmFtc319KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRVcmwoKSArIHVybCwgaHR0cE9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAodGhpcy5zZWFyY2hNYXApLFxuICAgICkgYXMgT2JzZXJ2YWJsZTxSZXNwb25zZTxUW10+PjtcblxuICB9XG5cbiAgc2VhcmNoTWFwID0gcmVzID0+IHJlcztcblxuICBzZWxlY3Qob3B0OiBJQ3JpdGVyaWEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPFQ+PiB7XG4gICAgaWYgKHR5cGVvZiAoY29uc29sZSkgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBCYXNlQ3J1ZFNlcnZpY2Uuc2VsZWN0KCknLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBFeHRlbmRlZCBmcm9tOiAnICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQob3B0LnF1ZXJ5UGFyYW1zKTtcbiAgICBjb25zdCBwYXRoID0gISFvcHQgJiYgISFvcHQucGF0aCA/IG9wdC5wYXRoIDogbnVsbDtcbiAgICByZXR1cm4gdGhpc1xuICAgICAgLmh0dHBcbiAgICAgIC5nZXQ8UmVzcG9uc2U8VD4+KGAke3RoaXMuZ2V0VXJsKHBhdGgpfS8ke2lkfWAsIHRoaXMuaHR0cE9wdGlvbnMoKSk7XG4gIH1cblxuICB1cGRhdGUob3B0OiBPcHRSZXF1ZXN0PFQ+KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUPj4ge1xuICAgIHRoaXMuY2hlY2tPcHRSZXF1ZXN0KG9wdCk7XG4gICAgaWYgKHR5cGVvZiAoY29uc29sZSkgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBCYXNlQ3J1ZFNlcnZpY2UudXBkYXRlKCknLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBFeHRlbmRlZCBmcm9tOiAnICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICB9XG4gICAgY29uc3QgaWQgPSB0aGlzLmdldElkKG9wdC5tdXRhdGlvblBhcmFtcyk7XG4gICAgY29uc3QgcGF0aCA9ICEhb3B0ICYmICEhb3B0LnBhdGggPyBvcHQucGF0aCA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8UmVzcG9uc2U8VD4+KGAke3RoaXMuZ2V0VXJsKHBhdGgpfS8ke2lkfWAsIG9wdC5tdXRhdGlvblBhcmFtcywgdGhpcy5odHRwT3B0aW9ucygpKTtcbiAgfVxuXG4gIHVwZGF0ZU1hbnkob3B0OiBPcHRSZXF1ZXN0PFRbXSB8IFQ+KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxUW10+PiB7XG4gICAgdGhpcy5jaGVja09wdFJlcXVlc3Qob3B0KTtcbiAgICBjb25zdCByZXN1bHQgPSAob3B0Lm11dGF0aW9uUGFyYW1zIGFzIFRbXSkubWFwKG11dGF0aW9uUGFyYW1zID0+IHtcbiAgICAgIGNvbnN0IG9wdEI6IE9wdFJlcXVlc3Q8VD4gPSB7Li4ub3B0LCBtdXRhdGlvblBhcmFtc307XG4gICAgICByZXR1cm4gdGhpcy51cGRhdGUob3B0QikucGlwZShcbiAgICAgICAgbWFwKHZhbHVlID0+ICh7Li4udmFsdWUsIGRhdGE6IFt2YWx1ZS5kYXRhXX0pKSAvLyB0cmFzZm9ybW8gbGEgc2luZ29sYSByaXNwb3N0YSBkYSB7ZGF0YTpUfSBpbiB7ZGF0YTpUW119XG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiBvZiguLi5yZXN1bHQpLnBpcGUoXG4gICAgICBtZXJnZU1hcCh2YWx1ZSA9PiB2YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKG9wdDogT3B0UmVxdWVzdDxUPik6IE9ic2VydmFibGU8UmVzcG9uc2U8c3RyaW5nPj4ge1xuICAgIHRoaXMuY2hlY2tPcHRSZXF1ZXN0KG9wdCk7XG4gICAgaWYgKHR5cGVvZiAoY29uc29sZSkgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBCYXNlQ3J1ZFNlcnZpY2UuZGVsZXRlKCknLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBFeHRlbmRlZCBmcm9tOiAnICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICB9XG4gICAgY29uc3QgaWQgPSB0aGlzLmdldElkKG9wdC5tdXRhdGlvblBhcmFtcyk7XG4gICAgY29uc3QgcGF0aCA9ICEhb3B0ICYmICEhb3B0LnBhdGggPyBvcHQucGF0aCA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8UmVzcG9uc2U8c3RyaW5nPj4oYCR7dGhpcy5nZXRVcmwocGF0aCl9LyR7aWR9YCwgdGhpcy5odHRwT3B0aW9ucygpKTtcbiAgfVxuXG4gIGRlbGV0ZU1hbnkob3B0OiBPcHRSZXF1ZXN0PFRbXSB8IFQ+KTogT2JzZXJ2YWJsZTxSZXNwb25zZTxzdHJpbmdbXT4+IHtcbiAgICB0aGlzLmNoZWNrT3B0UmVxdWVzdChvcHQpO1xuICAgIGNvbnN0IHJlc3VsdCA9IChvcHQubXV0YXRpb25QYXJhbXMgYXMgVFtdKS5tYXAobXV0YXRpb25QYXJhbXMgPT4ge1xuICAgICAgY29uc3Qgb3B0QjogT3B0UmVxdWVzdDxUPiA9IHsuLi5vcHQsIG11dGF0aW9uUGFyYW1zfTtcbiAgICAgIHJldHVybiB0aGlzLmRlbGV0ZShvcHRCKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2YoLi4ucmVzdWx0KS5waXBlKFxuICAgICAgbWVyZ2VNYXAodmFsdWUgPT4gdmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIGdldElkID0gKHZhbHVlKSA9PiB2YWx1ZVt0aGlzLmlkXTtcblxuICBnZXRVcmwocGF0aD86IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXN1bHQgPSAhIXBhdGggPyBgJHt0aGlzLnNlcnZpY2V9LyR7cGF0aC5qb2luKCcvJyl9YCA6IHRoaXMuc2VydmljZTtcbiAgICBpZiAodHlwZW9mIChjb25zb2xlKSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coJyVjIEJhc2VDcnVkU2VydmljZS5nZXRVcmwocGF0aD86c3RyaW5nW10pOiBzdHJpbmcnLCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICAgIGNvbnNvbGUubG9nKCclYyBwYXRoOiAnICsgcGF0aCwgJ2NvbG9yOiAjNzc3Nzc3Jyk7XG4gICAgICBjb25zb2xlLmxvZygnJWMgRXh0ZW5kZWQgZnJvbTogJyArIHRoaXMuY29uc3RydWN0b3IubmFtZSwgJ2NvbG9yOiAjNzc3Nzc3Jyk7XG4gICAgICBjb25zb2xlLmxvZygnJWMgcmVzdWx0OiAnICsgcmVzdWx0LCAnY29sb3I6ICM3Nzc3NzcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { BaseCrudService } from './base-crud.service';
4
+ import * as i0 from "@angular/core";
5
+ export class BaseSingularCrudService extends BaseCrudService {
6
+ select(opt) {
7
+ console.log('BaseSingularCrudService.select()');
8
+ if (typeof (console) !== 'undefined' && this.debug) {
9
+ console.log('BaseCrudService.search()');
10
+ console.log('Extended from: ' + this.constructor.name);
11
+ }
12
+ const url = opt && opt.hasOwnProperty('path') && !!opt.path ? opt.path.join('/') : '';
13
+ let httpOptions = this.httpOptions();
14
+ if (opt && opt.hasOwnProperty('queryParams') && !!opt.queryParams) {
15
+ httpOptions = ({ ...httpOptions, ...{ params: opt.queryParams } });
16
+ }
17
+ console.log('httpOptions', httpOptions);
18
+ console.log('url', url);
19
+ console.log('this.getUrl()', this.getUrl());
20
+ return this.http.get(this.getUrl() + url, httpOptions).pipe(map(this.searchMap));
21
+ }
22
+ }
23
+ BaseSingularCrudService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseSingularCrudService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
24
+ BaseSingularCrudService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseSingularCrudService, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseSingularCrudService, decorators: [{
26
+ type: Injectable,
27
+ args: [{
28
+ providedIn: 'root'
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zaW5ndWxhci1jcnVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3J4LWVudGl0eS1jcnVkL3NyYy9saWIvYmFzZS1zaW5ndWxhci1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQU9wRCxNQUFNLE9BQU8sdUJBQTJCLFNBQVEsZUFBa0I7SUFHaEUsTUFBTSxDQUFDLEdBQWM7UUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRWhELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7UUFDRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFckMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRTtZQUNqRSxXQUFXLEdBQUcsQ0FBQyxFQUFDLEdBQUcsV0FBVyxFQUFFLEdBQUcsRUFBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsRUFBQyxFQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ3pELEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQ08sQ0FBQztJQUUvQixDQUFDOztvSEF6QlUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCYXNlQ3J1ZFNlcnZpY2V9IGZyb20gJy4vYmFzZS1jcnVkLnNlcnZpY2UnO1xuaW1wb3J0IHtJQmFzZUNydWRTZXJ2aWNlfSBmcm9tICcuL2liYXNlLWNydWQtc2VydmljZSc7XG5pbXBvcnQge0lDcml0ZXJpYSwgUmVzcG9uc2V9IGZyb20gJy4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVNpbmd1bGFyQ3J1ZFNlcnZpY2U8VD4gZXh0ZW5kcyBCYXNlQ3J1ZFNlcnZpY2U8VD4gaW1wbGVtZW50cyBJQmFzZUNydWRTZXJ2aWNlPFQ+IHtcblxuXG4gIHNlbGVjdChvcHQ6IElDcml0ZXJpYSk6IE9ic2VydmFibGU8UmVzcG9uc2U8VD4+IHtcbiAgICBjb25zb2xlLmxvZygnQmFzZVNpbmd1bGFyQ3J1ZFNlcnZpY2Uuc2VsZWN0KCknKTtcblxuICAgIGlmICh0eXBlb2YgKGNvbnNvbGUpICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZygnQmFzZUNydWRTZXJ2aWNlLnNlYXJjaCgpJyk7XG4gICAgICBjb25zb2xlLmxvZygnRXh0ZW5kZWQgZnJvbTogJyArIHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IHVybCA9IG9wdCAmJiBvcHQuaGFzT3duUHJvcGVydHkoJ3BhdGgnKSAmJiAhIW9wdC5wYXRoID8gb3B0LnBhdGguam9pbignLycpIDogJyc7XG4gICAgbGV0IGh0dHBPcHRpb25zID0gdGhpcy5odHRwT3B0aW9ucygpO1xuXG4gICAgaWYgKG9wdCAmJiBvcHQuaGFzT3duUHJvcGVydHkoJ3F1ZXJ5UGFyYW1zJykgJiYgISFvcHQucXVlcnlQYXJhbXMpIHtcbiAgICAgIGh0dHBPcHRpb25zID0gKHsuLi5odHRwT3B0aW9ucywgLi4ue3BhcmFtczogb3B0LnF1ZXJ5UGFyYW1zfX0pO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCdodHRwT3B0aW9ucycsIGh0dHBPcHRpb25zKTtcbiAgICBjb25zb2xlLmxvZygndXJsJywgdXJsKTtcbiAgICBjb25zb2xlLmxvZygndGhpcy5nZXRVcmwoKScsIHRoaXMuZ2V0VXJsKCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRVcmwoKSArIHVybCwgaHR0cE9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAodGhpcy5zZWFyY2hNYXApLFxuICAgICkgYXMgT2JzZXJ2YWJsZTxSZXNwb25zZTxUPj47XG5cbiAgfVxuXG59XG4iXX0=