@ng-atomic/common 17.0.4 → 17.2.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.
- package/esm2022/models/index.mjs +1 -1
- package/esm2022/pipes/auto-columns/auto-columns.pipe.mjs +20 -0
- package/esm2022/pipes/auto-columns/index.mjs +2 -0
- package/esm2022/pipes/auto-columns/ng-atomic-common-pipes-auto-columns.mjs +5 -0
- package/esm2022/pipes/columns/columns.pipe.mjs +17 -0
- package/esm2022/pipes/columns/index.mjs +2 -0
- package/esm2022/pipes/columns/ng-atomic-common-pipes-columns.mjs +5 -0
- package/esm2022/pipes/error/error.pipe.mjs +7 -4
- package/esm2022/pipes/map/index.mjs +2 -0
- package/esm2022/pipes/map/map.pipe.mjs +17 -0
- package/esm2022/pipes/map/ng-atomic-common-pipes-map.mjs +5 -0
- package/esm2022/pipes/resolve-columns/index.mjs +2 -0
- package/esm2022/pipes/resolve-columns/ng-atomic-common-pipes-resolve-columns.mjs +5 -0
- package/esm2022/pipes/resolve-columns/resolve-columns.pipe.mjs +24 -0
- package/esm2022/pipes/sort/index.mjs +2 -0
- package/esm2022/pipes/sort/ng-atomic-common-pipes-sort.mjs +5 -0
- package/esm2022/pipes/sort/sort.pipe.mjs +14 -0
- package/esm2022/services/breakpoint/breakpoint.service.mjs +57 -0
- package/esm2022/services/breakpoint/index.mjs +2 -0
- package/esm2022/services/breakpoint/ng-atomic-common-services-breakpoint.mjs +5 -0
- package/esm2022/services/ui/ui.helpers.mjs +24 -11
- package/esm2022/services/ui/ui.service.mjs +4 -55
- package/esm2022/stores/entities/di.mjs +22 -14
- package/esm2022/stores/entities/entity-store-adapter.mjs +31 -0
- package/esm2022/stores/entities/entity-store-manager.mjs +8 -25
- package/esm2022/stores/entities/entity-store.mjs +17 -35
- package/esm2022/stores/entities/index.mjs +2 -1
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs +27 -0
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-columns.mjs +24 -0
- package/fesm2022/ng-atomic-common-pipes-columns.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-error.mjs +6 -3
- package/fesm2022/ng-atomic-common-pipes-error.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-map.mjs +24 -0
- package/fesm2022/ng-atomic-common-pipes-map.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs +31 -0
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-sort.mjs +21 -0
- package/fesm2022/ng-atomic-common-pipes-sort.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs +64 -0
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-ui.mjs +27 -65
- package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-entities.mjs +43 -41
- package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
- package/models/index.d.ts +5 -2
- package/package.json +38 -2
- package/pipes/auto-columns/auto-columns.pipe.d.ts +7 -0
- package/pipes/auto-columns/index.d.ts +1 -0
- package/pipes/columns/columns.pipe.d.ts +8 -0
- package/pipes/columns/index.d.ts +1 -0
- package/pipes/map/index.d.ts +1 -0
- package/pipes/map/map.pipe.d.ts +7 -0
- package/pipes/resolve-columns/index.d.ts +1 -0
- package/pipes/resolve-columns/resolve-columns.pipe.d.ts +11 -0
- package/pipes/sort/index.d.ts +1 -0
- package/pipes/sort/sort.pipe.d.ts +8 -0
- package/services/breakpoint/breakpoint.service.d.ts +29 -0
- package/services/breakpoint/index.d.ts +1 -0
- package/services/ui/ui.helpers.d.ts +2 -3
- package/services/ui/ui.service.d.ts +2 -29
- package/stores/entities/entity-store-adapter.d.ts +31 -0
- package/stores/entities/entity-store-manager.d.ts +5 -5
- package/stores/entities/entity-store.d.ts +10 -29
- package/stores/entities/index.d.ts +1 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
2
2
|
import { computed, inject } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { injectResolver$ } from '@ng-atomic/common/utils';
|
|
4
4
|
import { combineLatest, isObservable, of, filter, map, shareReplay, switchMap } from 'rxjs';
|
|
5
5
|
import { injectEntityStore } from './entity-store-manager';
|
|
6
|
+
import { computedAsync } from 'ngxtension/computed-async';
|
|
6
7
|
export function injectOne$(Entity, params = {}, resolverType) {
|
|
7
8
|
if (resolverType) {
|
|
8
9
|
return combineLatest({
|
|
@@ -25,7 +26,7 @@ export function injectAll$(Entity, params = {}, resolverType) {
|
|
|
25
26
|
if (resolverType) {
|
|
26
27
|
return combineLatest({
|
|
27
28
|
resolver: injectResolver$(resolverType, params),
|
|
28
|
-
entities: injectEntityStore(Entity).
|
|
29
|
+
entities: injectEntityStore(Entity).all$,
|
|
29
30
|
}).pipe(map(({ resolver, entities }) => resolver.resolveMany(entities)), shareReplay(1), takeUntilDestroyed());
|
|
30
31
|
}
|
|
31
32
|
return injectEntityStore(Entity).entities$.pipe(shareReplay(1), takeUntilDestroyed());
|
|
@@ -35,22 +36,29 @@ export const callSignalMap = (map) => {
|
|
|
35
36
|
return { ...acc, [key]: value() };
|
|
36
37
|
}, {}));
|
|
37
38
|
};
|
|
39
|
+
// export function injectAll<T extends Entity>(
|
|
40
|
+
// Entity: Type<T>,
|
|
41
|
+
// params: Record<string, Signal<any>> = {},
|
|
42
|
+
// resolverType?: new (params: Record<string, any>) => Resolver<T>
|
|
43
|
+
// ) {
|
|
44
|
+
// const store = injectEntityStore(Entity);
|
|
45
|
+
// if (resolverType) {
|
|
46
|
+
// return computed(() => {
|
|
47
|
+
// const resolver = getResolver(resolverType, callSignalMap(params)());
|
|
48
|
+
// const items = resolver.resolveMany(store.all());
|
|
49
|
+
// return items;
|
|
50
|
+
// });
|
|
51
|
+
// }
|
|
52
|
+
// return computed(() => store.all());
|
|
53
|
+
// }
|
|
38
54
|
export function injectAll(Entity, params = {}, resolverType) {
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const resolver = getResolver(resolverType, callSignalMap(params)());
|
|
43
|
-
const items = resolver.resolveMany(store.entities());
|
|
44
|
-
return items;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
return computed(() => store.entities(), {
|
|
48
|
-
// equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),
|
|
49
|
-
});
|
|
55
|
+
const $params = signalMapToObs(params);
|
|
56
|
+
const all$ = injectAll$(Entity, $params, resolverType);
|
|
57
|
+
return computedAsync(() => all$, { initialValue: [] });
|
|
50
58
|
}
|
|
51
59
|
export function mapToOne$(storeType, keyOrKey$) {
|
|
52
60
|
const store = inject(storeType, {});
|
|
53
61
|
const key$ = isObservable(keyOrKey$) ? keyOrKey$ : of(keyOrKey$);
|
|
54
62
|
return key$.pipe(switchMap(key => store.mapToOne(key)));
|
|
55
63
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9kaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hGLE9BQU8sRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBeUIsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakYsT0FBTyxFQUFjLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBNkIsTUFBTSxNQUFNLENBQUM7QUFHbkksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE1BQU0sVUFBVSxVQUFVLENBQ3hCLE1BQWUsRUFDZixTQUFpRCxFQUFFLEVBQ25ELFlBQTJFO0lBRTNFLElBQUksWUFBWSxFQUFFO1FBQ2hCLE9BQU8sYUFBYSxDQUFDO1lBQ25CLFFBQVEsRUFBRSxlQUFlLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztZQUMvQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3hELE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUM3QjtTQUNGLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFP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LENBQUMsSUFBSSxFQUFFLEVBQUMsWUFBWSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUlELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLFNBQW1DLEVBQ25DLFNBQW9DO0lBRXBDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBaUIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBTaWduYWwsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4vbW9kZWxzJztcbmltcG9ydCB7IFJlc29sdmVyLCBnZXRSZXNvbHZlciwgaW5qZWN0UmVzb2x2ZXIkIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgaXNPYnNlcnZhYmxlLCBvZiwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vdGFzay1jb21wb3Nlcic7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4vZW50aXR5LXN0b3JlJztcbmltcG9ydCB7IGluamVjdEVudGl0eVN0b3JlIH0gZnJvbSAnLi9lbnRpdHktc3RvcmUtbWFuYWdlcic7XG5pbXBvcnQgeyBjb21wdXRlZEFzeW5jIH0gZnJvbSAnbmd4dGVuc2lvbi9jb21wdXRlZC1hc3luYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RPbmUkPFQgZXh0ZW5kcyBFbnRpdHk+KFxuICBFbnRpdHk6IFR5cGU8VD4sXG4gIHBhcmFtczogUmVjb3JkPHN0cmluZyB8ICdpZCcsIE9ic2VydmFibGU8YW55Pj4gPSB7fSxcbiAgcmVzb2x2ZXJUeXBlPzogbmV3IChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4pID0+IFJlc29sdmVyPFQ+XG4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgaWYgKHJlc29sdmVyVHlwZSkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHtcbiAgICAgIHJlc29sdmVyOiBpbmplY3RSZXNvbHZlciQocmVzb2x2ZXJUeXBlLCBwYXJhbXMpLFxuICAgICAgRW50aXR5OiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLm1hcFRvT25lKHBhcmFtcy5pZCkucGlwZShcbiAgICAgICAgZmlsdGVyKChFbnRpdHkpID0+ICEhRW50aXR5KVxuICAgICAgKSxcbiAgICB9KS5waXBlKFxuICAgICAgbWFwKCh7IHJlc29sdmVyLCBFbnRpdHkgfSkgPT4gcmVzb2x2ZXIucmVzb2x2ZShFbnRpdHkpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLm1hcFRvT25lKHBhcmFtcy5pZCkucGlwZShcbiAgICBzaGFyZVJlcGxheSgxKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gc2lnbmFsTWFwVG9PYnMobWFwOiBSZWNvcmQ8c3RyaW5nLCBTaWduYWw8YW55Pj4pOiBSZWNvcmQ8c3RyaW5nLCBPYnNlcnZhYmxlPGFueT4+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGFjY1trZXldID0gdG9PYnNlcnZhYmxlKHZhbHVlKTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE9uZTxUIGV4dGVuZHMgRW50aXR5PihcbiAgRW50aXR5OiBUeXBlPFQ+LFxuICBwYXJhbXM6IFJlY29yZDxzdHJpbmcgfCAnaWQnLCBTaWduYWw8YW55Pj4gPSB7fSxcbiAgcmVzb2x2ZXJUeXBlPzogbmV3IChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IFJlc29sdmVyPFQ+XG4pIHtcbiAgcmV0dXJuIHRvU2lnbmFsKGluamVjdE9uZSQoRW50aXR5LCBzaWduYWxNYXBUb09icyhwYXJhbXMpLCByZXNvbHZlclR5cGUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEFsbCQ8VCBleHRlbmRzIEVudGl0eT4oXG4gIEVudGl0eTogVHlwZTxUPixcbiAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBPYnNlcnZhYmxlPGFueT4+ID0ge30sXG4gIHJlc29sdmVyVHlwZT86IG5ldyAocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiBSZXNvbHZlcjxUPlxuKSB7XG4gIGlmIChyZXNvbHZlclR5cGUpIHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdCh7XG4gICAgICByZXNvbHZlcjogaW5qZWN0UmVzb2x2ZXIkKHJlc29sdmVyVHlwZSwgcGFyYW1zKSxcbiAgICAgIGVudGl0aWVzOiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLmFsbCQsXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgoeyByZXNvbHZlciwgZW50aXRpZXMgfSkgPT4gcmVzb2x2ZXIucmVzb2x2ZU1hbnkoZW50aXRpZXMpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLmVudGl0aWVzJC5waXBlKFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICApO1xufVxuXG5leHBvcnQgY29uc3QgY2FsbFNpZ25hbE1hcCA9IDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgU2lnbmFsPGFueT4+PihtYXA6IFQpOiBTaWduYWw8VD4gPT4gIHtcbiAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7Li4uYWNjLCBba2V5XTogdmFsdWUoKX07XG4gIH0sIHt9IGFzIFQpKTtcbn1cblxuLy8gZXhwb3J0IGZ1bmN0aW9uIGluamVjdEFsbDxUIGV4dGVuZHMgRW50aXR5Pihcbi8vICAgRW50aXR5OiBUeXBlPFQ+LFxuLy8gICBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIFNpZ25hbDxhbnk+PiA9IHt9LFxuLy8gICByZXNvbHZlclR5cGU/OiBuZXcgKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUmVzb2x2ZXI8VD5cbi8vICkge1xuLy8gICBjb25zdCBzdG9yZSA9IGluamVjdEVudGl0eVN0b3JlKEVudGl0eSk7XG4vLyAgIGlmIChyZXNvbHZlclR5cGUpIHtcbi8vICAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuLy8gICAgICAgY29uc3QgcmVzb2x2ZXIgPSBnZXRSZXNvbHZlcihyZXNvbHZlclR5cGUsIGNhbGxTaWduYWxNYXAocGFyYW1zKSgpKTtcbi8vICAgICAgIGNvbnN0IGl0ZW1zID0gcmVzb2x2ZXIucmVzb2x2ZU1hbnkoc3RvcmUuYWxsKCkpO1xuLy8gICAgICAgcmV0dXJuIGl0ZW1zO1xuLy8gICAgIH0pO1xuLy8gICB9XG4vLyAgIHJldHVybiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hbGwoKSk7XG4vLyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RBbGw8VCBleHRlbmRzIEVudGl0eT4oXG4gIEVudGl0eTogVHlwZTxUPixcbiAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBTaWduYWw8YW55Pj4gPSB7fSxcbiAgcmVzb2x2ZXJUeXBlPzogbmV3IChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IFJlc29sdmVyPFQ+XG4pIHtcbiAgY29uc3QgJHBhcmFtcyA9IHNpZ25hbE1hcFRvT2JzKHBhcmFtcyk7XG4gIGNvbnN0IGFsbCQgPSBpbmplY3RBbGwkKEVudGl0eSwgJHBhcmFtcywgcmVzb2x2ZXJUeXBlKTtcbiAgcmV0dXJuIGNvbXB1dGVkQXN5bmMoKCkgPT4gYWxsJCwge2luaXRpYWxWYWx1ZTogW119KTtcbn1cblxuZXhwb3J0IHR5cGUgVmFsdWVPck9ic2VydmFibGU8VD4gPSBUIHwgT2JzZXJ2YWJsZTxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFRvT25lJDxUIGV4dGVuZHMge2lkOiBzdHJpbmd9PihcbiAgc3RvcmVUeXBlOiBuZXcgKCkgPT4gRW50aXR5U3RvcmU8VD4sXG4gIGtleU9yS2V5JDogVmFsdWVPck9ic2VydmFibGU8c3RyaW5nPixcbik6IE9ic2VydmFibGU8VD4ge1xuICBjb25zdCBzdG9yZSA9IGluamVjdDxFbnRpdHlTdG9yZTxUPj4oc3RvcmVUeXBlLCB7fSk7XG4gIGNvbnN0IGtleSQgPSBpc09ic2VydmFibGUoa2V5T3JLZXkkKSA/IGtleU9yS2V5JCA6IG9mKGtleU9yS2V5JCk7XG4gIHJldHVybiBrZXkkLnBpcGUoc3dpdGNoTWFwKGtleSA9PiBzdG9yZS5tYXBUb09uZShrZXkpKSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { InjectionToken, Injector, inject } from '@angular/core';
|
|
2
|
+
export class EntityStoreAdapter {
|
|
3
|
+
list() {
|
|
4
|
+
throw new Error('not implemented');
|
|
5
|
+
}
|
|
6
|
+
create(entity) {
|
|
7
|
+
throw new Error('not implemented');
|
|
8
|
+
}
|
|
9
|
+
update(entity) {
|
|
10
|
+
throw new Error('not implemented');
|
|
11
|
+
}
|
|
12
|
+
delete(entity) {
|
|
13
|
+
throw new Error('not implemented');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const ENTITY_STORE_ADAPTER = new InjectionToken('ENTITY_STORE_ADAPTER');
|
|
17
|
+
export function provideEntityStoreAdapter(entity, adapterFactory) {
|
|
18
|
+
return {
|
|
19
|
+
provide: ENTITY_STORE_ADAPTER,
|
|
20
|
+
multi: true,
|
|
21
|
+
useFactory: (injector) => {
|
|
22
|
+
return { entity, adapter: adapterFactory(injector) };
|
|
23
|
+
},
|
|
24
|
+
deps: [Injector]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function injectEntityStoreAdapter(entity) {
|
|
28
|
+
const adapters = inject(ENTITY_STORE_ADAPTER, { optional: true }) ?? [];
|
|
29
|
+
return adapters.find(adapter => adapter.entity === entity)?.adapter;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9lbnRpdHktc3RvcmUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLakUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixJQUFJO1FBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUUsTUFBUztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFFLE1BQWlDO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFFLE1BQWtDO1FBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FHakQsc0JBQXNCLENBQUMsQ0FBQztBQUU3QixNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLE1BQWUsRUFDZixjQUE2RDtJQUU3RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ2pCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFtQixNQUFlO0lBQ3hFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxFQUFFLE9BQWdDLENBQUM7QUFDL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4vbW9kZWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vdGFzay1jb21wb3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZUFkYXB0ZXI8RSBleHRlbmRzIEVudGl0eT4ge1xuICBsaXN0PygpOiBPYnNlcnZhYmxlPEVbXT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBjcmVhdGU/KGVudGl0eTogRSk6IFByb21pc2U8RT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICB1cGRhdGU/KGVudGl0eTogUGFydGlhbDxFPiAmIHtpZDogc3RyaW5nfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBkZWxldGU/KGVudGl0eTogUGFydGlhbDxFPiAgJiB7aWQ6IHN0cmluZ30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBFTlRJVFlfU1RPUkVfQURBUFRFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjx7XG4gIGVudGl0eTogVHlwZTxFbnRpdHk+LFxuICBhZGFwdGVyOiBFbnRpdHlTdG9yZUFkYXB0ZXI8RW50aXR5PlxufVtdPignRU5USVRZX1NUT1JFX0FEQVBURVInKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVFbnRpdHlTdG9yZUFkYXB0ZXI8RSBleHRlbmRzIEVudGl0eT4oXG4gIGVudGl0eTogVHlwZTxFPixcbiAgYWRhcHRlckZhY3Rvcnk6IChpbmplY3RvcjogSW5qZWN0b3IpID0+IEVudGl0eVN0b3JlQWRhcHRlcjxFPixcbikge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IEVOVElUWV9TVE9SRV9BREFQVEVSLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZUZhY3Rvcnk6IChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIHJldHVybiB7IGVudGl0eSwgYWRhcHRlcjogYWRhcHRlckZhY3RvcnkoaW5qZWN0b3IpIH07XG4gICAgfSxcbiAgICBkZXBzOiBbSW5qZWN0b3JdXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RFbnRpdHlTdG9yZUFkYXB0ZXI8RSBleHRlbmRzIEVudGl0eT4oZW50aXR5OiBUeXBlPEU+KTogRW50aXR5U3RvcmVBZGFwdGVyPEU+IHtcbiAgY29uc3QgYWRhcHRlcnMgPSBpbmplY3QoRU5USVRZX1NUT1JFX0FEQVBURVIsIHtvcHRpb25hbDogdHJ1ZX0pID8/IFtdO1xuICByZXR1cm4gYWRhcHRlcnMuZmluZChhZGFwdGVyID0+IGFkYXB0ZXIuZW50aXR5ID09PSBlbnRpdHkpPy5hZGFwdGVyIGFzIEVudGl0eVN0b3JlQWRhcHRlcjxFPjtcbn1cbiJdfQ==
|
|
@@ -1,42 +1,25 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
|
3
2
|
import { EntityStore } from './entity-store';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
export class EntityStoreManager {
|
|
4
|
+
export { distinctUntilChangedArray } from './entity-store';
|
|
5
|
+
export class EntityStoreService {
|
|
9
6
|
constructor() {
|
|
10
7
|
this.storeMap = new Map();
|
|
11
8
|
}
|
|
12
|
-
|
|
9
|
+
get(Entity) {
|
|
13
10
|
if (!this.storeMap.has(Entity)) {
|
|
14
11
|
this.storeMap.set(Entity, new EntityStore(Entity));
|
|
15
12
|
}
|
|
16
13
|
return this.storeMap.get(Entity);
|
|
17
14
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
19
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: EntityStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: EntityStoreService, providedIn: 'root' }); }
|
|
20
17
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: EntityStoreService, decorators: [{
|
|
22
19
|
type: Injectable,
|
|
23
20
|
args: [{ providedIn: 'root' }]
|
|
24
21
|
}] });
|
|
25
|
-
// export const ENTITY_STORE = new InjectionToken<{entity: Type<Entity>, factory: () => EntityStore<Entity>}[]>('ENTITY_STORE');
|
|
26
|
-
// export function provideEntityStore<E extends Entity>(
|
|
27
|
-
// entity: Type<E>,
|
|
28
|
-
// factory: () => EntityStore<E> = () => new EntityStore<E>(entity),
|
|
29
|
-
// ) {
|
|
30
|
-
// return {
|
|
31
|
-
// provide: ENTITY_STORE,
|
|
32
|
-
// useFactory: () => ({ entity, factory }),
|
|
33
|
-
// multi: true,
|
|
34
|
-
// };
|
|
35
|
-
// }
|
|
36
22
|
export function injectEntityStore(Entity) {
|
|
37
|
-
|
|
38
|
-
// const factory = stores.find(({Entity: _entity}) => _entity === Entity)?.factory;
|
|
39
|
-
// if (factory) return factory() as EntityStore<E>;
|
|
40
|
-
return inject(EntityStoreManager).resolve(Entity);
|
|
23
|
+
return inject(EntityStoreService).get(Entity);
|
|
41
24
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9lbnRpdHktc3RvcmUtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBQzdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNELE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFWSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7S0FRbkU7SUFOQyxHQUFHLENBQW1CLE1BQWU7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQW1CLENBQUM7SUFDckQsQ0FBQzs4R0FSVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUROLE1BQU07OzJGQUNsQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOztBQVloQyxNQUFNLFVBQVUsaUJBQWlCLENBQW1CLE1BQWU7SUFDakUsT0FBTyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi90YXNrLWNvbXBvc2VyJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi9lbnRpdHktc3RvcmUnO1xuZXhwb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWRBcnJheSB9IGZyb20gJy4vZW50aXR5LXN0b3JlJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmVTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHN0b3JlTWFwID0gbmV3IE1hcDxUeXBlPEVudGl0eT4sIEVudGl0eVN0b3JlPEVudGl0eT4+KCk7XG5cbiAgZ2V0PEUgZXh0ZW5kcyBFbnRpdHk+KEVudGl0eTogVHlwZTxFPik6IEVudGl0eVN0b3JlPEU+IHtcbiAgICBpZiAoIXRoaXMuc3RvcmVNYXAuaGFzKEVudGl0eSkpIHtcbiAgICAgIHRoaXMuc3RvcmVNYXAuc2V0KEVudGl0eSwgbmV3IEVudGl0eVN0b3JlKEVudGl0eSkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdG9yZU1hcC5nZXQoRW50aXR5KSBhcyBFbnRpdHlTdG9yZTxFPjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RW50aXR5U3RvcmU8RSBleHRlbmRzIEVudGl0eT4oRW50aXR5OiBUeXBlPEU+KTogRW50aXR5U3RvcmU8RT4ge1xuICByZXR1cm4gaW5qZWN0KEVudGl0eVN0b3JlU2VydmljZSkuZ2V0KEVudGl0eSk7XG59XG4iXX0=
|
|
@@ -1,41 +1,16 @@
|
|
|
1
1
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
2
|
-
import {
|
|
2
|
+
import { inject } from '@angular/core';
|
|
3
3
|
import { ComponentStore } from '@ngrx/component-store';
|
|
4
4
|
import { createEntityAdapter } from '@ngrx/entity';
|
|
5
5
|
import { ReplaySubject, Subject, isObservable, of } from 'rxjs';
|
|
6
|
-
import { bufferTime, filter, map, shareReplay, switchMap, tap } from 'rxjs/operators';
|
|
6
|
+
import { bufferTime, distinctUntilChanged, filter, map, shareReplay, switchMap, tap } from 'rxjs/operators';
|
|
7
7
|
import { merge } from 'lodash-es';
|
|
8
8
|
import { TaskComposerService } from './task-composer';
|
|
9
9
|
import { ProxyIdService } from './proxy-id.service';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
create(entity) {
|
|
15
|
-
throw new Error('not implemented');
|
|
16
|
-
}
|
|
17
|
-
update(entity) {
|
|
18
|
-
throw new Error('not implemented');
|
|
19
|
-
}
|
|
20
|
-
delete(entity) {
|
|
21
|
-
throw new Error('not implemented');
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export const ENTITY_STORE_ADAPTER = new InjectionToken('ENTITY_STORE_ADAPTER');
|
|
25
|
-
export function provideEntityStoreAdapter(entity, adapterFactory) {
|
|
26
|
-
return {
|
|
27
|
-
provide: ENTITY_STORE_ADAPTER,
|
|
28
|
-
multi: true,
|
|
29
|
-
useFactory: (injector) => {
|
|
30
|
-
return { entity, adapter: adapterFactory(injector) };
|
|
31
|
-
},
|
|
32
|
-
deps: [Injector]
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
export function injectEntityStoreAdapter(entity) {
|
|
36
|
-
const adapters = inject(ENTITY_STORE_ADAPTER, { optional: true }) ?? [];
|
|
37
|
-
return adapters.find(adapter => adapter.entity === entity)?.adapter;
|
|
38
|
-
}
|
|
10
|
+
import { injectEntityStoreAdapter } from './entity-store-adapter';
|
|
11
|
+
export const distinctUntilChangedArray = () => {
|
|
12
|
+
return distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));
|
|
13
|
+
};
|
|
39
14
|
export class BaseEntityStore extends ComponentStore {
|
|
40
15
|
constructor(entity, entityAdapter = createEntityAdapter({ selectId: (entity) => entity.id, sortComparer: false })) {
|
|
41
16
|
super(entityAdapter.getInitialState());
|
|
@@ -43,9 +18,16 @@ export class BaseEntityStore extends ComponentStore {
|
|
|
43
18
|
this.entityAdapter = entityAdapter;
|
|
44
19
|
this.refresh$ = new ReplaySubject(1);
|
|
45
20
|
this.selectors = this.entityAdapter.getSelectors();
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
48
|
-
this.
|
|
21
|
+
this.all$ = this.select(this.selectors.selectAll);
|
|
22
|
+
this.all = toSignal(this.all$);
|
|
23
|
+
this.total$ = this.select(this.selectors.selectTotal);
|
|
24
|
+
this.total = toSignal(this.total$);
|
|
25
|
+
/** @deprecated use BaseEntityStore.all$ instead. */
|
|
26
|
+
this.entities$ = this.all$;
|
|
27
|
+
/** @deprecated use BaseEntityStore.all instead. */
|
|
28
|
+
this.entities = this.all;
|
|
29
|
+
/** @deprecated use BaseEntityStore.total$ instead. */
|
|
30
|
+
this.size$ = this.total$;
|
|
49
31
|
this.addOne = this.updater((state, entity) => this.entityAdapter.addOne(entity, state));
|
|
50
32
|
this.addMany = this.updater((state, entities) => this.entityAdapter.addMany(entities, state));
|
|
51
33
|
this.updateOne = this.updater((state, update) => this.entityAdapter.updateOne(update, state));
|
|
@@ -124,4 +106,4 @@ export class EntityStore extends BaseEntityStore {
|
|
|
124
106
|
onSyncFailed() { }
|
|
125
107
|
onSyncSucceeded() { }
|
|
126
108
|
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvZW50aXRpZXMvZW50aXR5LXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBOEIsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0UsT0FBTyxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixJQUFJO1FBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUUsTUFBUztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFFLE1BQWlDO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lB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Z3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4vbW9kZWxzJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IEVudGl0eVN0YXRlLCBFbnRpdHlBZGFwdGVyLCBjcmVhdGVFbnRpdHlBZGFwdGVyIH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIGlzT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGJ1ZmZlclRpbWUsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBFbnRpdHksIFRhc2ssIFRhc2tDb21wb3NlclNlcnZpY2UgfSBmcm9tICcuL3Rhc2stY29tcG9zZXInO1xuaW1wb3J0IHsgUHJveHlJZFNlcnZpY2UgfSBmcm9tICcuL3Byb3h5LWlkLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmVBZGFwdGVyPEUgZXh0ZW5kcyBFbnRpdHk+IHtcbiAgbGlzdD8oKTogT2JzZXJ2YWJsZTxFW10+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgY3JlYXRlPyhlbnRpdHk6IEUpOiBQcm9taXNlPEU+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgdXBkYXRlPyhlbnRpdHk6IFBhcnRpYWw8RT4gJiB7aWQ6IHN0cmluZ30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZGVsZXRlPyhlbnRpdHk6IFBhcnRpYWw8RT4gICYge2lkOiBzdHJpbmd9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgRU5USVRZX1NUT1JFX0FEQVBURVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48e1xuICBlbnRpdHk6IFR5cGU8RW50aXR5PixcbiAgYWRhcHRlcjogRW50aXR5U3RvcmVBZGFwdGVyPEVudGl0eT5cbn1bXT4oJ0VOVElUWV9TVE9SRV9BREFQVEVSJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRW50aXR5U3RvcmVBZGFwdGVyPEUgZXh0ZW5kcyBFbnRpdHk+KFxuICBlbnRpdHk6IFR5cGU8RT4sXG4gIGFkYXB0ZXJGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBFbnRpdHlTdG9yZUFkYXB0ZXI8RT4sXG4pIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBFTlRJVFlfU1RPUkVfQURBUFRFUixcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICByZXR1cm4geyBlbnRpdHksIGFkYXB0ZXI6IGFkYXB0ZXJGYWN0b3J5KGluamVjdG9yKSB9O1xuICAgIH0sXG4gICAgZGVwczogW0luamVjdG9yXVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RW50aXR5U3RvcmVBZGFwdGVyPEUgZXh0ZW5kcyBFbnRpdHk+KGVudGl0eTogVHlwZTxFPik6IEVudGl0eVN0b3JlQWRhcHRlcjxFPiB7XG4gIGNvbnN0IGFkYXB0ZXJzID0gaW5qZWN0KEVOVElUWV9TVE9SRV9BREFQVEVSLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBbXTtcbiAgcmV0dXJuIGFkYXB0ZXJzLmZpbmQoYWRhcHRlciA9PiBhZGFwdGVyLmVudGl0eSA9PT0gZW50aXR5KT8uYWRhcHRlciBhcyBFbnRpdHlTdG9yZUFkYXB0ZXI8RT47XG59XG5cbmV4cG9ydCBjbGFzcyBCYXNlRW50aXR5U3RvcmU8RSBleHRlbmRzIEVudGl0eT4gZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxFbnRpdHlTdGF0ZTxFPj4ge1xuICBwcm90ZWN0ZWQgYWRhcHRlcjogRW50aXR5U3RvcmVBZGFwdGVyPEU+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByZWZyZXNoJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0b3JzID0gdGhpcy5lbnRpdHlBZGFwdGVyLmdldFNlbGVjdG9ycygpO1xuICByZWFkb25seSBlbnRpdGllcyQgPSB0aGlzLnNlbGVjdCh0aGlzLnNlbGVjdG9ycy5zZWxlY3RBbGwpO1xuICByZWFkb25seSBlbnRpdGllcyA9IHRvU2lnbmFsKHRoaXMuZW50aXRpZXMkKTtcbiAgcmVhZG9ubHkgc2l6ZSQgPSB0aGlzLnNlbGVjdCh0aGlzLnNlbGVjdG9ycy5zZWxlY3RUb3RhbCk7XG4gIHJlYWRvbmx5IGFkZE9uZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0eTogRSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLmFkZE9uZShlbnRpdHksIHN0YXRlKSk7XG4gIHJlYWRvbmx5IGFkZE1hbnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIuYWRkTWFueShlbnRpdGllcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgdXBkYXRlT25lID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdXBkYXRlOiB7aWQ6IHN0cmluZywgY2hhbmdlczogUGFydGlhbDxFPn0pID0+IHRoaXMuZW50aXR5QWRhcHRlci51cGRhdGVPbmUodXBkYXRlLCBzdGF0ZSkpO1xuICByZWFkb25seSB1cGRhdGVNYW55ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdXBkYXRlczoge2lkOiBzdHJpbmcsIGNoYW5nZXM6IFBhcnRpYWw8RT59W10pID0+IHRoaXMuZW50aXR5QWRhcHRlci51cGRhdGVNYW55KHVwZGF0ZXMsIHN0YXRlKSk7XG4gIHJlYWRvbmx5IHVwc2VydE9uZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0eTogRSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnVwc2VydE9uZShlbnRpdHksIHN0YXRlKSk7XG4gIHJlYWRvbmx5IHVwc2VydE1hbnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIudXBzZXJ0TWFueShlbnRpdGllcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlT25lID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaWQ6IHN0cmluZykgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnJlbW92ZU9uZShpZCwgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlTWFueSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGlkczogc3RyaW5nW10pID0+IHRoaXMuZW50aXR5QWRhcHRlci5yZW1vdmVNYW55KGlkcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlQWxsID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnJlbW92ZUFsbChzdGF0ZSkpO1xuICByZWFkb25seSBzZXRPbmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdHk6IEUpID0+IHRoaXMuZW50aXR5QWRhcHRlci5zZXRPbmUoZW50aXR5LCBzdGF0ZSkpO1xuICByZWFkb25seSBzZXRBbGwgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIuc2V0QWxsKGVudGl0aWVzLCBzdGF0ZSkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbnRpdHk6IFR5cGU8RT4sXG4gICAgcHJvdGVjdGVkIGVudGl0eUFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8RT4gPSBjcmVhdGVFbnRpdHlBZGFwdGVyPEU+KHtzZWxlY3RJZDogKGVudGl0eSkgPT4gZW50aXR5LmlkLCBzb3J0Q29tcGFyZXI6IGZhbHNlfSksXG4gICkge1xuICAgIHN1cGVyKGVudGl0eUFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKCkpO1xuICAgIHRoaXMuYWRhcHRlciA9IGluamVjdEVudGl0eVN0b3JlQWRhcHRlcihlbnRpdHkpO1xuICAgIHRoaXMuZ2V0RW50aXRpZXModGhpcy5yZWZyZXNoJCk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBnZXRFbnRpdGllcyA9IHRoaXMuZWZmZWN0KChyZWZyZXNoJDogT2JzZXJ2YWJsZTx2b2lkPikgPT4gcmVmcmVzaCQucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hZGFwdGVyPy5saXN0KCkgPz8gb2YoW10pKSxcbiAgICB0YXAoKGVudGl0aWVzOiBFW10pID0+IHRoaXMuc2V0QWxsKGVudGl0aWVzKSksXG4gICkpO1xuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gIH1cblxuICBtYXBUb09uZSh2YWx1ZU9yT2JzOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4pOiBPYnNlcnZhYmxlPEU+IHtcbiAgICBjb25zdCB3cmFwID0gKHZhbHVlT3JPYnM6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPikgPT4gaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnMpID8gdmFsdWVPck9icyA6IG9mKHZhbHVlT3JPYnMpO1xuICAgIHJldHVybiB3cmFwKHZhbHVlT3JPYnMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoaWQgPT4gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiB0aGlzLnNlbGVjdG9ycy5zZWxlY3RFbnRpdGllcyhzdGF0ZSlbaWRdKSksXG4gICAgKTtcbiAgfVxuXG59XG5cbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZTxFIGV4dGVuZHMgRW50aXR5PiBleHRlbmRzIEJhc2VFbnRpdHlTdG9yZTxFPiB7XG4gIHByb3RlY3RlZCBwcm94eUlkID0gaW5qZWN0KFByb3h5SWRTZXJ2aWNlLCB7fSk7XG4gIHByb3RlY3RlZCBjb21wb3NlciA9IGluamVjdChUYXNrQ29tcG9zZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHRhc2tTdWJqZWN0JCA9IG5ldyBTdWJqZWN0PFRhc2s8RT4+KCk7XG4gIHByb3RlY3RlZCB0YXNrJDogT2JzZXJ2YWJsZTxUYXNrPEU+PiA9IHRoaXMudGFza1N1YmplY3QkLnBpcGUoXG4gICAgbWFwKHRhc2sgPT4ge1xuICAgICAgc3dpdGNoKHRhc2sudHlwZSkge1xuICAgICAgICBjYXNlICdjcmVhdGUnOiByZXR1cm4gbWVyZ2UodGFzaywge3BheWxvYWQ6IHtpZDogdGhpcy5wcm94eUlkLnByb3h5SWQodGFzay5wYXlsb2FkLmlkKX19KTtcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuIHRhc2s7XG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICk7XG4gIHByb3RlY3RlZCBjb21wb3NlZFRhc2tzJCA9IHRoaXMudGFzayQucGlwZShcbiAgICBidWZmZXJUaW1lKDUgKiAxMDAwKSxcbiAgICBmaWx0ZXIodGFza3MgPT4gdGFza3MubGVuZ3RoID4gMCksXG4gICAgbWFwKCh0YXNrcykgPT4gdGhpcy5jb21wb3Nlci5jb21wb3NlVGFza3ModGFza3MpKSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZW50aXR5OiBUeXBlPEU+LFxuICAgIHByb3RlY3RlZCBlbnRpdHlBZGFwdGVyOiBFbnRpdHlBZGFwdGVyPEU+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxFPih7c2VsZWN0SWQ6IChlbnRpdHkpID0+IGVudGl0eS5pZCwgc29ydENvbXBhcmVyOiBmYWxzZX0pLFxuICApIHtcbiAgICBzdXBlcihlbnRpdHksIGVudGl0eUFkYXB0ZXIpO1xuICAgIHRoaXMudGFzayQuc3Vic2NyaWJlKCh0YXNrOiBUYXNrPEU+KSA9PiB0aGlzLnJ1blRhc2sodGFzaykpO1xuICAgIHRoaXMuY29tcG9zZWRUYXNrcyQuc3Vic2NyaWJlKHRhc2tzID0+IHRoaXMucnVuQ29tcG9zZWRUYXNrcyh0YXNrcykpO1xuICB9XG5cbiAgZGlzcGF0Y2goYWN0aW9uOiBUYXNrPEU+KSB7XG4gICAgdGhpcy50YXNrU3ViamVjdCQubmV4dChhY3Rpb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJ1blRhc2sodGFzazogVGFzazxFPik6IFByb21pc2U8YW55PiB7XG4gICAgc3dpdGNoKHRhc2sudHlwZSkge1xuICAgICAgY2FzZSAnY3JlYXRlJzogcmV0dXJuIHRoaXMuYWRkT25lKHRhc2sucGF5bG9hZCk7XG4gICAgICBjYXNlICd1cGRhdGUnOiByZXR1cm4gdGhpcy51cGRhdGVPbmUoe2lkOiB0YXNrLnBheWxvYWQuaWQsIGNoYW5nZXM6IHRhc2sucGF5bG9hZH0pO1xuICAgICAgY2FzZSAnZGVsZXRlJzogcmV0dXJuIHRoaXMucmVtb3ZlT25lKHRhc2sucGF5bG9hZC5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJ1bkNvbXBvc2VkVGFza3ModGFza3M6IFRhc2s8RT5bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBQcm9taXNlLmFsbCh0YXNrcy5tYXAoKHRhc2spID0+IHtcbiAgICAgIHN3aXRjaCh0YXNrLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY3JlYXRlJzogcmV0dXJuIHRoaXMuYWRhcHRlci5jcmVhdGUodGFzay5wYXlsb2FkKVxuICAgICAgICAgIC50aGVuKChlbnRpdHkpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJveHlJZC51cGRhdGUodGFzay5wYXlsb2FkLmlkLCBlbnRpdHkuaWQpO1xuICAgICAgICAgICAgY29uc3QgX2VudGl0eSA9IHRoaXMuc3RhdGUoKS5lbnRpdGllc1t0YXNrLnBheWxvYWQuaWRdO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVPbmUodGFzay5wYXlsb2FkLmlkKTtcbiAgICAgICAgICAgIHRoaXMuYWRkT25lKHsuLi5fZW50aXR5LCBpZDogZW50aXR5LmlkfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIGNhc2UgJ3VwZGF0ZSc6IHJldHVybiB0aGlzLmFkYXB0ZXIudXBkYXRlKHtcbiAgICAgICAgICAuLi50YXNrLnBheWxvYWQsXG4gICAgICAgICAgaWQ6IHRoaXMucHJveHlJZC5yZXNvbHZlKHRhc2sucGF5bG9hZC5pZCksXG4gICAgICAgIH0pO1xuICAgICAgICBjYXNlICdkZWxldGUnOiByZXR1cm4gdGhpcy5hZGFwdGVyLmRlbGV0ZSh7XG4gICAgICAgICAgLi4udGFzay5wYXlsb2FkLFxuICAgICAgICAgIGlkOiB0aGlzLnByb3h5SWQucmVzb2x2ZSh0YXNrLnBheWxvYWQuaWQpLFxuICAgICAgICB9IGFzIGFueSk7XG4gICAgICB9XG4gICAgfSkpXG4gICAgLnRoZW4oKCkgPT4gdGhpcy5vblN5bmNTdWNjZWVkZWQoKSlcbiAgICAuY2F0Y2goKCkgPT4gdGhpcy5vblN5bmNGYWlsZWQoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25TeW5jRmFpbGVkKCkgeyB9XG4gIHByb3RlY3RlZCBvblN5bmNTdWNjZWVkZWQoKSB7IH1cbn1cbiJdfQ==
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvZW50aXRpZXMvZW50aXR5LXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9FLE9BQU8sRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBc0Isd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxHQUFNLEVBQUU7SUFDL0MsT0FBTyxvQkFBb0IsQ0FBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUMsQ0FBQztBQUVGLE1B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RUFBRSxDQUFDO2lCQUMxQyxDQUFDLENBQUM7Z0JBQ0gsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN4QyxHQUFHLElBQUksQ0FBQyxPQUFPO29CQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztpQkFDbkMsQ0FBQyxDQUFDO2FBQ1g7UUFDSCxDQUFDLENBQUMsQ0FBQzthQUNGLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxZQUFZLEtBQUssQ0FBQztJQUNsQixlQUFlLEtBQUssQ0FBQztDQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQG54LWRkZC9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSwgRW50aXR5QWRhcHRlciwgY3JlYXRlRW50aXR5QWRhcHRlciB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBpc09ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBidWZmZXJUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEVudGl0eSwgVGFzaywgVGFza0NvbXBvc2VyU2VydmljZSB9IGZyb20gJy4vdGFzay1jb21wb3Nlcic7XG5pbXBvcnQgeyBQcm94eUlkU2VydmljZSB9IGZyb20gJy4vcHJveHktaWQuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZUFkYXB0ZXIsIGluamVjdEVudGl0eVN0b3JlQWRhcHRlciB9IGZyb20gJy4vZW50aXR5LXN0b3JlLWFkYXB0ZXInO1xuXG5leHBvcnQgY29uc3QgZGlzdGluY3RVbnRpbENoYW5nZWRBcnJheSA9IDxUPigpID0+IHtcbiAgcmV0dXJuIGRpc3RpbmN0VW50aWxDaGFuZ2VkPFQ+KChwcmUsIGN1cikgPT4gSlNPTi5zdHJpbmdpZnkocHJlKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VyKSk7XG59O1xuXG5leHBvcnQgY2xhc3MgQmFzZUVudGl0eVN0b3JlPEUgZXh0ZW5kcyBFbnRpdHk+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8RW50aXR5U3RhdGU8RT4+IHtcbiAgcHJvdGVjdGVkIGFkYXB0ZXI6IEVudGl0eVN0b3JlQWRhcHRlcjxFPjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVmcmVzaCQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdG9ycyA9IHRoaXMuZW50aXR5QWRhcHRlci5nZXRTZWxlY3RvcnMoKTtcbiAgcmVhZG9ubHkgYWxsJCA9IHRoaXMuc2VsZWN0KHRoaXMuc2VsZWN0b3JzLnNlbGVjdEFsbCk7XG4gIHJlYWRvbmx5IGFsbCA9IHRvU2lnbmFsKHRoaXMuYWxsJCk7XG4gIHJlYWRvbmx5IHRvdGFsJCA9IHRoaXMuc2VsZWN0KHRoaXMuc2VsZWN0b3JzLnNlbGVjdFRvdGFsKTtcbiAgcmVhZG9ubHkgdG90YWwgPSB0b1NpZ25hbCh0aGlzLnRvdGFsJCk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBCYXNlRW50aXR5U3RvcmUuYWxsJCBpbnN0ZWFkLiAqL1xuICByZWFkb25seSBlbnRpdGllcyQgPSB0aGlzLmFsbCRcbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBCYXNlRW50aXR5U3RvcmUuYWxsIGluc3RlYWQuICovXG4gIHJlYWRvbmx5IGVudGl0aWVzID0gdGhpcy5hbGw7XG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgQmFzZUVudGl0eVN0b3JlLnRvdGFsJCBpbnN0ZWFkLiAqL1xuICByZWFkb25seSBzaXplJCA9IHRoaXMudG90YWwkO1xuXG4gIHJlYWRvbmx5IGFkZE9uZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0eTogRSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLmFkZE9uZShlbnRpdHksIHN0YXRlKSk7XG4gIHJlYWRvbmx5IGFkZE1hbnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIuYWRkTWFueShlbnRpdGllcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgdXBkYXRlT25lID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdXBkYXRlOiB7aWQ6IHN0cmluZywgY2hhbmdlczogUGFydGlhbDxFPn0pID0+IHRoaXMuZW50aXR5QWRhcHRlci51cGRhdGVPbmUodXBkYXRlLCBzdGF0ZSkpO1xuICByZWFkb25seSB1cGRhdGVNYW55ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdXBkYXRlczoge2lkOiBzdHJpbmcsIGNoYW5nZXM6IFBhcnRpYWw8RT59W10pID0+IHRoaXMuZW50aXR5QWRhcHRlci51cGRhdGVNYW55KHVwZGF0ZXMsIHN0YXRlKSk7XG4gIHJlYWRvbmx5IHVwc2VydE9uZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0eTogRSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnVwc2VydE9uZShlbnRpdHksIHN0YXRlKSk7XG4gIHJlYWRvbmx5IHVwc2VydE1hbnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIudXBzZXJ0TWFueShlbnRpdGllcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlT25lID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaWQ6IHN0cmluZykgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnJlbW92ZU9uZShpZCwgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlTWFueSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGlkczogc3RyaW5nW10pID0+IHRoaXMuZW50aXR5QWRhcHRlci5yZW1vdmVNYW55KGlkcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlQWxsID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnJlbW92ZUFsbChzdGF0ZSkpO1xuICByZWFkb25seSBzZXRPbmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdHk6IEUpID0+IHRoaXMuZW50aXR5QWRhcHRlci5zZXRPbmUoZW50aXR5LCBzdGF0ZSkpO1xuICByZWFkb25seSBzZXRBbGwgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIuc2V0QWxsKGVudGl0aWVzLCBzdGF0ZSkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbnRpdHk6IFR5cGU8RT4sXG4gICAgcHJvdGVjdGVkIGVudGl0eUFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8RT4gPSBjcmVhdGVFbnRpdHlBZGFwdGVyPEU+KHtzZWxlY3RJZDogKGVudGl0eSkgPT4gZW50aXR5LmlkLCBzb3J0Q29tcGFyZXI6IGZhbHNlfSksXG4gICkge1xuICAgIHN1cGVyKGVudGl0eUFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKCkpO1xuICAgIHRoaXMuYWRhcHRlciA9IGluamVjdEVudGl0eVN0b3JlQWRhcHRlcihlbnRpdHkpO1xuICAgIHRoaXMuZ2V0RW50aXRpZXModGhpcy5yZWZyZXNoJCk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RW50aXRpZXMgPSB0aGlzLmVmZmVjdCgocmVmcmVzaCQ6IE9ic2VydmFibGU8dm9pZD4pID0+IHJlZnJlc2gkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYWRhcHRlcj8ubGlzdCgpID8/IG9mKFtdKSksXG4gICAgdGFwKChlbnRpdGllczogRVtdKSA9PiB0aGlzLnNldEFsbChlbnRpdGllcykpLFxuICApKTtcblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICB9XG5cbiAgbWFwVG9PbmUodmFsdWVPck9iczogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxFPiB7XG4gICAgY29uc3Qgd3JhcCA9ICh2YWx1ZU9yT2JzOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4pID0+IGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzKSA/IHZhbHVlT3JPYnMgOiBvZih2YWx1ZU9yT2JzKTtcbiAgICByZXR1cm4gd3JhcCh2YWx1ZU9yT2JzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGlkID0+IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gdGhpcy5zZWxlY3RvcnMuc2VsZWN0RW50aXRpZXMoc3RhdGUpW2lkXSkpLFxuICAgICk7XG4gIH1cblxufVxuXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmU8RSBleHRlbmRzIEVudGl0eT4gZXh0ZW5kcyBCYXNlRW50aXR5U3RvcmU8RT4ge1xuICBwcm90ZWN0ZWQgcHJveHlJZCA9IGluamVjdChQcm94eUlkU2VydmljZSwge30pO1xuICBwcm90ZWN0ZWQgY29tcG9zZXIgPSBpbmplY3QoVGFza0NvbXBvc2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCB0YXNrU3ViamVjdCQgPSBuZXcgU3ViamVjdDxUYXNrPEU+PigpO1xuICBwcm90ZWN0ZWQgdGFzayQ6IE9ic2VydmFibGU8VGFzazxFPj4gPSB0aGlzLnRhc2tTdWJqZWN0JC5waXBlKFxuICAgIG1hcCh0YXNrID0+IHtcbiAgICAgIHN3aXRjaCh0YXNrLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY3JlYXRlJzogcmV0dXJuIG1lcmdlKHRhc2ssIHtwYXlsb2FkOiB7aWQ6IHRoaXMucHJveHlJZC5wcm94eUlkKHRhc2sucGF5bG9hZC5pZCl9fSk7XG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiB0YXNrO1xuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICApO1xuICBwcm90ZWN0ZWQgY29tcG9zZWRUYXNrcyQgPSB0aGlzLnRhc2skLnBpcGUoXG4gICAgYnVmZmVyVGltZSg1ICogMTAwMCksXG4gICAgZmlsdGVyKHRhc2tzID0+IHRhc2tzLmxlbmd0aCA+IDApLFxuICAgIG1hcCgodGFza3MpID0+IHRoaXMuY29tcG9zZXIuY29tcG9zZVRhc2tzKHRhc2tzKSksXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVudGl0eTogVHlwZTxFPixcbiAgICBwcm90ZWN0ZWQgZW50aXR5QWRhcHRlcjogRW50aXR5QWRhcHRlcjxFPiA9IGNyZWF0ZUVudGl0eUFkYXB0ZXI8RT4oe3NlbGVjdElkOiAoZW50aXR5KSA9PiBlbnRpdHkuaWQsIHNvcnRDb21wYXJlcjogZmFsc2V9KSxcbiAgKSB7XG4gICAgc3VwZXIoZW50aXR5LCBlbnRpdHlBZGFwdGVyKTtcbiAgICB0aGlzLnRhc2skLnN1YnNjcmliZSgodGFzazogVGFzazxFPikgPT4gdGhpcy5ydW5UYXNrKHRhc2spKTtcbiAgICB0aGlzLmNvbXBvc2VkVGFza3MkLnN1YnNjcmliZSh0YXNrcyA9PiB0aGlzLnJ1bkNvbXBvc2VkVGFza3ModGFza3MpKTtcbiAgfVxuXG4gIGRpc3BhdGNoKGFjdGlvbjogVGFzazxFPikge1xuICAgIHRoaXMudGFza1N1YmplY3QkLm5leHQoYWN0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBydW5UYXNrKHRhc2s6IFRhc2s8RT4pOiBQcm9taXNlPGFueT4ge1xuICAgIHN3aXRjaCh0YXNrLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6IHJldHVybiB0aGlzLmFkZE9uZSh0YXNrLnBheWxvYWQpO1xuICAgICAgY2FzZSAndXBkYXRlJzogcmV0dXJuIHRoaXMudXBkYXRlT25lKHtpZDogdGFzay5wYXlsb2FkLmlkLCBjaGFuZ2VzOiB0YXNrLnBheWxvYWR9KTtcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6IHJldHVybiB0aGlzLnJlbW92ZU9uZSh0YXNrLnBheWxvYWQuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBydW5Db21wb3NlZFRhc2tzKHRhc2tzOiBUYXNrPEU+W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwodGFza3MubWFwKCh0YXNrKSA9PiB7XG4gICAgICBzd2l0Y2godGFzay50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2NyZWF0ZSc6IHJldHVybiB0aGlzLmFkYXB0ZXIuY3JlYXRlKHRhc2sucGF5bG9hZClcbiAgICAgICAgICAudGhlbigoZW50aXR5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb3h5SWQudXBkYXRlKHRhc2sucGF5bG9hZC5pZCwgZW50aXR5LmlkKTtcbiAgICAgICAgICAgIGNvbnN0IF9lbnRpdHkgPSB0aGlzLnN0YXRlKCkuZW50aXRpZXNbdGFzay5wYXlsb2FkLmlkXTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlT25lKHRhc2sucGF5bG9hZC5pZCk7XG4gICAgICAgICAgICB0aGlzLmFkZE9uZSh7Li4uX2VudGl0eSwgaWQ6IGVudGl0eS5pZH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICBjYXNlICd1cGRhdGUnOiByZXR1cm4gdGhpcy5hZGFwdGVyLnVwZGF0ZSh7XG4gICAgICAgICAgLi4udGFzay5wYXlsb2FkLFxuICAgICAgICAgIGlkOiB0aGlzLnByb3h5SWQucmVzb2x2ZSh0YXNrLnBheWxvYWQuaWQpLFxuICAgICAgICB9KTtcbiAgICAgICAgY2FzZSAnZGVsZXRlJzogcmV0dXJuIHRoaXMuYWRhcHRlci5kZWxldGUoe1xuICAgICAgICAgIC4uLnRhc2sucGF5bG9hZCxcbiAgICAgICAgICBpZDogdGhpcy5wcm94eUlkLnJlc29sdmUodGFzay5wYXlsb2FkLmlkKSxcbiAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgfVxuICAgIH0pKVxuICAgIC50aGVuKCgpID0+IHRoaXMub25TeW5jU3VjY2VlZGVkKCkpXG4gICAgLmNhdGNoKCgpID0+IHRoaXMub25TeW5jRmFpbGVkKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3luY0ZhaWxlZCgpIHsgfVxuICBwcm90ZWN0ZWQgb25TeW5jU3VjY2VlZGVkKCkgeyB9XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './di';
|
|
2
|
+
export * from './entity-store-adapter';
|
|
2
3
|
export * from './entity-store-manager';
|
|
3
4
|
export * from './entity-store';
|
|
4
5
|
export * from './proxy-id.service';
|
|
5
6
|
export * from './task-composer';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXN0b3JlLWFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc3RvcmUtbWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS1zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3h5LWlkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90YXNrLWNvbXBvc2VyJztcbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import { flattenExcludeDayjs } from '@nx-ddd/core/util/walk-obj';
|
|
4
|
+
|
|
5
|
+
class AutoColumnsPipe {
|
|
6
|
+
transform(items) {
|
|
7
|
+
const keys = new Set();
|
|
8
|
+
items.slice(0, 1).forEach(item => {
|
|
9
|
+
const obj = flattenExcludeDayjs(item);
|
|
10
|
+
Object.keys(obj).forEach(key => keys.add(key));
|
|
11
|
+
});
|
|
12
|
+
return [...keys, '__actions'];
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AutoColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
15
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: AutoColumnsPipe, isStandalone: true, name: "autoColumns" }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AutoColumnsPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{ name: 'autoColumns', standalone: true, pure: true }]
|
|
20
|
+
}] });
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Generated bundle index. Do not edit.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
export { AutoColumnsPipe };
|
|
27
|
+
//# sourceMappingURL=ng-atomic-common-pipes-auto-columns.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-auto-columns.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/auto-columns/auto-columns.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/auto-columns/ng-atomic-common-pipes-auto-columns.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { flattenExcludeDayjs } from '@nx-ddd/core/util/walk-obj';\n\n@Pipe({name: 'autoColumns', standalone: true, pure: true})\nexport class AutoColumnsPipe<T> implements PipeTransform {\n transform(items: T[]): string[] {\n const keys = new Set<string>();\n items.slice(0, 1).forEach(item => {\n const obj = flattenExcludeDayjs(item);\n Object.keys(obj).forEach(key => keys.add(key));\n })\n return [...keys, '__actions'];\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,eAAe,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;AAC/B,QAAA,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;AAC/B,YAAA,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,SAAC,CAAC,CAAA;AACF,QAAA,OAAO,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;KAC/B;8GARU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,IAAI;mBAAC,EAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAA;;;ACHzD;;AAEG;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class ColumnsPipe {
|
|
5
|
+
transform(columns) {
|
|
6
|
+
return columns.filter(item => item.visible).map((column, i) => ({
|
|
7
|
+
...column,
|
|
8
|
+
name: ['checkbox', 'actions'].includes(column.type) ? `${column.name}_${i}` : column.name,
|
|
9
|
+
}));
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ColumnsPipe, isStandalone: true, name: "columns" }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ColumnsPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{ name: 'columns', standalone: true, pure: true }]
|
|
17
|
+
}] });
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Generated bundle index. Do not edit.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
export { ColumnsPipe };
|
|
24
|
+
//# sourceMappingURL=ng-atomic-common-pipes-columns.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-columns.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/columns/columns.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/columns/ng-atomic-common-pipes-columns.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Column } from '@ng-atomic/common/models';\n\n@Pipe({name: 'columns', standalone: true, pure: true})\nexport class ColumnsPipe implements PipeTransform {\n transform<T>(columns: Column[]): Column[] {\n return columns.filter(item => item.visible).map((column, i) => ({\n ...column,\n name: ['checkbox', 'actions'].includes(column.type) ? `${column.name}_${i}` : column.name,\n }));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,WAAW,CAAA;AACtB,IAAA,SAAS,CAAI,OAAiB,EAAA;QAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM;AAC9D,YAAA,GAAG,MAAM;AACT,YAAA,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAG,EAAA,MAAM,CAAC,IAAI,CAAI,CAAA,EAAA,CAAC,CAAE,CAAA,GAAG,MAAM,CAAC,IAAI;AAC1F,SAAA,CAAC,CAAC,CAAC;KACL;8GANU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,IAAI;mBAAC,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAA;;;ACHrD;;AAEG;;;;"}
|
|
@@ -3,15 +3,16 @@ import { InjectionToken, inject, Pipe } from '@angular/core';
|
|
|
3
3
|
|
|
4
4
|
const ERROR_MESSAGE_RESOLVER = new InjectionToken('[@ng-atomic/common] Error message resolver');
|
|
5
5
|
const defaultErrorMessageResolver = (errors) => {
|
|
6
|
+
console.debug('errors:', errors);
|
|
6
7
|
if (!errors)
|
|
7
8
|
return '';
|
|
8
9
|
const value = Object.entries(errors)[0][0];
|
|
9
10
|
switch (value) {
|
|
10
11
|
case 'required':
|
|
11
12
|
return '必須項目です';
|
|
12
|
-
case '
|
|
13
|
+
case 'minLength':
|
|
13
14
|
return `最低${errors[value].requiredLength}文字以上で入力してください`;
|
|
14
|
-
case '
|
|
15
|
+
case 'maxLength':
|
|
15
16
|
return `最大${errors[value].requiredLength}文字以下で入力してください`;
|
|
16
17
|
case 'email':
|
|
17
18
|
return 'メールアドレスの形式で入力してください';
|
|
@@ -29,7 +30,9 @@ class ErrorPipe {
|
|
|
29
30
|
this.resolver = inject(ERROR_MESSAGE_RESOLVER, { optional: true }) ?? defaultErrorMessageResolver;
|
|
30
31
|
}
|
|
31
32
|
transform(errors) {
|
|
32
|
-
|
|
33
|
+
const error = this.resolver(errors);
|
|
34
|
+
console.debug('error:', error?.length);
|
|
35
|
+
return error;
|
|
33
36
|
}
|
|
34
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ErrorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
35
38
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ErrorPipe, isStandalone: true, name: "error" }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-error.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/error/error.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/error/ng-atomic-common-pipes-error.ts"],"sourcesContent":["import { InjectionToken, Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\n\nexport type ErrorMessageResolver = (errors: ValidationErrors) => string;\nexport const ERROR_MESSAGE_RESOLVER = new InjectionToken<ErrorMessageResolver>('[@ng-atomic/common] Error message resolver');\n\nexport const defaultErrorMessageResolver: ErrorMessageResolver = (errors: ValidationErrors): string => {\n if (!errors) return '';\n const value = Object.entries(errors)[0][0];\n switch (value) {\n case 'required':\n return '必須項目です';\n case '
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-error.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/error/error.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/error/ng-atomic-common-pipes-error.ts"],"sourcesContent":["import { InjectionToken, Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\n\nexport type ErrorMessageResolver = (errors: ValidationErrors) => string;\nexport const ERROR_MESSAGE_RESOLVER = new InjectionToken<ErrorMessageResolver>('[@ng-atomic/common] Error message resolver');\n\nexport const defaultErrorMessageResolver: ErrorMessageResolver = (errors: ValidationErrors): string => {\n console.debug('errors:', errors);\n\n if (!errors) return '';\n const value = Object.entries(errors)[0][0];\n switch (value) {\n case 'required':\n return '必須項目です';\n case 'minLength':\n return `最低${errors[value].requiredLength}文字以上で入力してください`;\n case 'maxLength':\n return `最大${errors[value].requiredLength}文字以下で入力してください`;\n case 'email':\n return 'メールアドレスの形式で入力してください';\n case 'pattern':\n return '半角英数字で入力してください';\n default:\n return '値を確認してください';\n }\n};\n\nexport function provideErrorMessageResolver(resolver: ErrorMessageResolver) {\n return {provide: ERROR_MESSAGE_RESOLVER, useValue: resolver};\n}\n\n@Pipe({\n standalone: true,\n name: 'error',\n pure: true,\n})\nexport class ErrorPipe implements PipeTransform {\n protected resolver = inject(ERROR_MESSAGE_RESOLVER, {optional: true}) ?? defaultErrorMessageResolver;\n\n transform(errors: ValidationErrors): string {\n const error = this.resolver(errors);\n console.debug('error:', error?.length);\n return error;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,sBAAsB,GAAG,IAAI,cAAc,CAAuB,4CAA4C,EAAE;AAEhH,MAAA,2BAA2B,GAAyB,CAAC,MAAwB,KAAY;AACpG,IAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAEjC,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE,CAAC;AACvB,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,IAAA,QAAQ,KAAK;AACX,QAAA,KAAK,UAAU;AACb,YAAA,OAAO,QAAQ,CAAC;AAClB,QAAA,KAAK,WAAW;YACd,OAAO,CAAA,EAAA,EAAK,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,eAAe,CAAC;AAC1D,QAAA,KAAK,WAAW;YACd,OAAO,CAAA,EAAA,EAAK,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,eAAe,CAAC;AAC1D,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,qBAAqB,CAAC;AAC/B,QAAA,KAAK,SAAS;AACZ,YAAA,OAAO,gBAAgB,CAAC;AAC1B,QAAA;AACE,YAAA,OAAO,YAAY,CAAC;AACvB,KAAA;AACH,EAAE;AAEI,SAAU,2BAA2B,CAAC,QAA8B,EAAA;IACxE,OAAO,EAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;AAC/D,CAAC;MAOY,SAAS,CAAA;AALtB,IAAA,WAAA,GAAA;AAMY,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,sBAAsB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,2BAA2B,CAAC;AAOtG,KAAA;AALC,IAAA,SAAS,CAAC,MAAwB,EAAA;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,QAAA,OAAO,KAAK,CAAC;KACd;8GAPU,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA,EAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBALrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA,CAAA;;;ACnCD;;AAEG;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import { get } from 'lodash-es';
|
|
4
|
+
|
|
5
|
+
class MapPipe {
|
|
6
|
+
transform(itemOrItems, path) {
|
|
7
|
+
if (Array.isArray(itemOrItems))
|
|
8
|
+
return itemOrItems.map(item => get(item, path));
|
|
9
|
+
return get(itemOrItems, path);
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: MapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: MapPipe, isStandalone: true, name: "map" }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: MapPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{ name: 'map', standalone: true, pure: true }]
|
|
17
|
+
}] });
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Generated bundle index. Do not edit.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
export { MapPipe };
|
|
24
|
+
//# sourceMappingURL=ng-atomic-common-pipes-map.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-map.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/map/map.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/map/ng-atomic-common-pipes-map.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { get } from 'lodash-es';\n\n@Pipe({name: 'map', standalone: true, pure: true})\nexport class MapPipe<T> implements PipeTransform {\n transform(itemOrItems: T | T[], path: string): any | any[] {\n if (Array.isArray(itemOrItems)) return itemOrItems.map(item => get(item, path));\n return get(itemOrItems, path);\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,OAAO,CAAA;IAClB,SAAS,CAAC,WAAoB,EAAE,IAAY,EAAA;AAC1C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;AAAE,YAAA,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAChF,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC/B;8GAJU,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA,EAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB,IAAI;mBAAC,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAA;;;ACHjD;;AAEG;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class ResolveColumnsPipe {
|
|
5
|
+
transform(columns) {
|
|
6
|
+
const data = columns.map((column, i) => {
|
|
7
|
+
if (typeof column === 'string') {
|
|
8
|
+
if (column === '__checkbox')
|
|
9
|
+
return { type: 'checkbox', name: `__checkbox_${i}` };
|
|
10
|
+
if (column === '__actions')
|
|
11
|
+
return { type: 'actions', name: `__actions_${i}` };
|
|
12
|
+
return { type: 'key', name: column };
|
|
13
|
+
}
|
|
14
|
+
return { type: 'actions', name: `__actions_${i}`, payload: column };
|
|
15
|
+
});
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ResolveColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
19
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ResolveColumnsPipe, isStandalone: true, name: "resolveColumns" }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ResolveColumnsPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{ name: 'resolveColumns', standalone: true, pure: true }]
|
|
24
|
+
}] });
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Generated bundle index. Do not edit.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
export { ResolveColumnsPipe };
|
|
31
|
+
//# sourceMappingURL=ng-atomic-common-pipes-resolve-columns.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-resolve-columns.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/resolve-columns/resolve-columns.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/resolve-columns/ng-atomic-common-pipes-resolve-columns.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({name: 'resolveColumns', standalone: true, pure: true})\nexport class ResolveColumnsPipe implements PipeTransform {\n transform(columns: string[]): {type: 'key' | 'actions' | 'checkbox', name: string, payload?: any}[] {\n const data = columns.map((column, i) => {\n if (typeof column === 'string') {\n if (column === '__checkbox') return {type: 'checkbox', name: `__checkbox_${i}`};\n if (column === '__actions') return {type: 'actions', name: `__actions_${i}`};\n return {type: 'key', name: column};\n }\n return {type: 'actions', name: `__actions_${i}`, payload: column};\n });\n return data as any;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,kBAAkB,CAAA;AAC7B,IAAA,SAAS,CAAC,OAAiB,EAAA;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAI;AACrC,YAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC9B,IAAI,MAAM,KAAK,YAAY;oBAAE,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAc,WAAA,EAAA,CAAC,CAAE,CAAA,EAAC,CAAC;gBAChF,IAAI,MAAM,KAAK,WAAW;oBAAE,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAa,UAAA,EAAA,CAAC,CAAE,CAAA,EAAC,CAAC;gBAC7E,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;AACpC,aAAA;AACD,YAAA,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAa,UAAA,EAAA,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC;AACpE,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,IAAW,CAAC;KACpB;8GAXU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,IAAI;mBAAC,EAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAA;;;ACF5D;;AAEG;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class SortPipe {
|
|
5
|
+
transform(column, sort) {
|
|
6
|
+
return sort.key === column.name ? sort.order : 'none';
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: SortPipe, isStandalone: true, name: "sort" }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: SortPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{ name: 'sort', standalone: true, pure: true }]
|
|
14
|
+
}] });
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Generated bundle index. Do not edit.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export { SortPipe };
|
|
21
|
+
//# sourceMappingURL=ng-atomic-common-pipes-sort.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-sort.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/sort/sort.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/sort/ng-atomic-common-pipes-sort.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Column, Sort } from '@ng-atomic/common/models';\n\n@Pipe({name: 'sort', standalone: true, pure: true})\nexport class SortPipe implements PipeTransform {\n transform<T>(column: Column, sort: Sort): 'asc' | 'desc' | 'none' {\n return sort.key === column.name ? sort.order : 'none';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,QAAQ,CAAA;IACnB,SAAS,CAAI,MAAc,EAAE,IAAU,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;KACvD;8GAHU,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB,IAAI;mBAAC,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAA;;;ACHlD;;AAEG;;;;"}
|