@ng-atomic/core 18.11.0 → 18.13.0-preview-v19e.1

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.
@@ -1,57 +0,0 @@
1
- import { EventEmitter, inject, Injectable, Injector } from "@angular/core";
2
- import { injectEffectReducer } from "./effect";
3
- import * as i0 from "@angular/core";
4
- export class NgAtomicActionLogger {
5
- log(action, scope = 'default') {
6
- console.debug(action, scope);
7
- }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicActionLogger, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicActionLogger, providedIn: 'root' });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicActionLogger, decorators: [{
12
- type: Injectable,
13
- args: [{ providedIn: 'root' }]
14
- }] });
15
- export class NgAtomicRootActionStore {
16
- logger = inject(NgAtomicActionLogger);
17
- _actions$ = new EventEmitter();
18
- actions$ = this._actions$.asObservable();
19
- constructor() {
20
- this.actions$.subscribe(action => this.logger.log(action, 'root'));
21
- }
22
- dispatch(action) {
23
- this._actions$.emit(action);
24
- }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicRootActionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
26
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicRootActionStore, providedIn: 'root' });
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicRootActionStore, decorators: [{
29
- type: Injectable,
30
- args: [{ providedIn: 'root' }]
31
- }], ctorParameters: () => [] });
32
- export class NgAtomicInjectorActionStore {
33
- logger = inject(NgAtomicActionLogger);
34
- #rootActionStore = inject(NgAtomicRootActionStore);
35
- async dispatch(injector, action, hostInjector = injector) {
36
- const _action = { ...action, meta: { injector } };
37
- this.logger.log(_action, 'injector');
38
- const reducer = injectEffectReducer(injector);
39
- const effect = await reducer(_action, hostInjector);
40
- if (effect.dispatch) {
41
- const injector_ = injector.get(Injector, null, { skipSelf: true });
42
- if (injector_ && injector_ !== Injector.NULL) {
43
- await this.dispatch(injector_, _action, hostInjector);
44
- }
45
- else {
46
- await this.#rootActionStore.dispatch(_action);
47
- }
48
- }
49
- }
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicInjectorActionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicInjectorActionStore, providedIn: 'root' });
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicInjectorActionStore, decorators: [{
54
- type: Injectable,
55
- args: [{ providedIn: 'root' }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvYWN0aW9uLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLEdBQUcsQ0FBQyxNQUFjLEVBQUUsS0FBSyxHQUFHLFNBQVM7UUFDbkMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FIVSxvQkFBb0I7MkdBQXBCLG9CQUFvQixjQURSLE1BQU07OzJGQUNsQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOztBQVFoQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ3hCLE1BQU0sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3QixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUNqRCxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVsRDtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFjO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7dUdBWFUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FEWCxNQUFNOzsyRkFDbEIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7QUFnQmhDLE1BQU0sT0FBTywyQkFBMkI7SUFDNUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2hELGdCQUFnQixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRW5ELEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBa0IsRUFBRSxNQUFjLEVBQUUsZUFBeUIsUUFBUTtRQUNsRixNQUFNLE9BQU8sR0FBRyxFQUFDLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXJDLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVwRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM3QyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt1R0FuQlUsMkJBQTJCOzJHQUEzQiwyQkFBMkIsY0FEZixNQUFNOzsyRkFDbEIsMkJBQTJCO2tCQUR2QyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiLi9hY3Rpb25cIjtcbmltcG9ydCB7IGluamVjdEVmZmVjdFJlZHVjZXIgfSBmcm9tIFwiLi9lZmZlY3RcIjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNBY3Rpb25Mb2dnZXIge1xuICBsb2coYWN0aW9uOiBBY3Rpb24sIHNjb3BlID0gJ2RlZmF1bHQnKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhhY3Rpb24sIHNjb3BlKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBOZ0F0b21pY1Jvb3RBY3Rpb25TdG9yZSB7XG4gIHByb3RlY3RlZCBsb2dnZXIgPSBpbmplY3QoTmdBdG9taWNBY3Rpb25Mb2dnZXIpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2FjdGlvbnMkID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb24+KCk7XG4gIHJlYWRvbmx5IGFjdGlvbnMkID0gdGhpcy5fYWN0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hY3Rpb25zJC5zdWJzY3JpYmUoYWN0aW9uID0+IHRoaXMubG9nZ2VyLmxvZyhhY3Rpb24sICdyb290JykpO1xuICB9XG5cbiAgZGlzcGF0Y2goYWN0aW9uOiBBY3Rpb24pIHtcbiAgICB0aGlzLl9hY3Rpb25zJC5lbWl0KGFjdGlvbik7XG4gIH1cbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNJbmplY3RvckFjdGlvblN0b3JlIHtcbiAgcHJvdGVjdGVkIGxvZ2dlciA9IGluamVjdChOZ0F0b21pY0FjdGlvbkxvZ2dlcik7XG4gICNyb290QWN0aW9uU3RvcmUgPSBpbmplY3QoTmdBdG9taWNSb290QWN0aW9uU3RvcmUpO1xuXG4gIGFzeW5jIGRpc3BhdGNoKGluamVjdG9yOiBJbmplY3RvciwgYWN0aW9uOiBBY3Rpb24sIGhvc3RJbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3Rvcikge1xuICAgIGNvbnN0IF9hY3Rpb24gPSB7Li4uYWN0aW9uLCBtZXRhOiB7IGluamVjdG9yIH19O1xuICAgIHRoaXMubG9nZ2VyLmxvZyhfYWN0aW9uLCAnaW5qZWN0b3InKTtcblxuICAgIGNvbnN0IHJlZHVjZXIgPSBpbmplY3RFZmZlY3RSZWR1Y2VyKGluamVjdG9yKTtcbiAgICBjb25zdCBlZmZlY3QgPSBhd2FpdCByZWR1Y2VyKF9hY3Rpb24sIGhvc3RJbmplY3Rvcik7XG5cbiAgICBpZiAoZWZmZWN0LmRpc3BhdGNoKSB7XG4gICAgICBjb25zdCBpbmplY3Rvcl8gPSBpbmplY3Rvci5nZXQoSW5qZWN0b3IsIG51bGwsIHtza2lwU2VsZjogdHJ1ZX0pO1xuICAgICAgaWYgKGluamVjdG9yXyAmJiBpbmplY3Rvcl8gIT09IEluamVjdG9yLk5VTEwpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5kaXNwYXRjaChpbmplY3Rvcl8sIF9hY3Rpb24sIGhvc3RJbmplY3Rvcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLiNyb290QWN0aW9uU3RvcmUuZGlzcGF0Y2goX2FjdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG59Il19
@@ -1,42 +0,0 @@
1
- import Ajv from "ajv";
2
- import { plainToInstance } from "class-transformer";
3
- import { validateSync } from "class-validator";
4
- export function resolveActions(actions, ...args) {
5
- if (typeof actions === 'function') {
6
- return actions(...args);
7
- }
8
- return actions;
9
- }
10
- export function wrapActions(actions) {
11
- return typeof actions === 'function' ? actions : () => actions;
12
- }
13
- export function createAction(type, schema, options = {}) {
14
- const defaultValidator = (item) => {
15
- if (typeof schema === 'object') {
16
- const _schema = {
17
- ...schema,
18
- required: schema.required.filter((key) => key in item),
19
- };
20
- const isValid = new Ajv().compile(_schema)(item);
21
- if (!isValid)
22
- return 'invalid';
23
- return null;
24
- }
25
- else {
26
- const errors = validateSync(plainToInstance(schema, { ...item }));
27
- if (errors.length)
28
- return 'invalid';
29
- return null;
30
- }
31
- };
32
- return {
33
- validate: options?.validator ?? defaultValidator,
34
- create: (payload = {}, meta = {}) => ({
35
- id: type,
36
- payload,
37
- name: meta?.name ?? options.name ?? type,
38
- icon: meta?.icon ?? options.icon,
39
- }),
40
- };
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQW1CL0MsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFnQixFQUFFLEdBQUcsSUFBVztJQUM3RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWdCO0lBQzFDLE9BQU8sT0FBTyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUNqRSxDQUFDO0FBVUQsTUFBTSxVQUFVLFlBQVksQ0FDMUIsSUFBWSxFQUNaLE1BQXdDLEVBQ3hDLFVBQW1DLEVBQUU7SUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQU8sRUFBRSxFQUFFO1FBQ25DLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsR0FBRyxNQUFNO2dCQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQzthQUMvRCxDQUFDO1lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBVyxDQUFDLENBQUM7WUFDMUUsSUFBSSxNQUFNLENBQUMsTUFBTTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUE7SUFDRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksZ0JBQWdCO1FBQ2hELE1BQU0sRUFBRSxDQUFDLFVBQWEsRUFBUyxFQUFFLE9BQXVDLEVBQUUsRUFBVSxFQUFFLENBQUMsQ0FBQztZQUN0RixFQUFFLEVBQUUsSUFBSTtZQUNSLE9BQU87WUFDUCxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUk7WUFDeEMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUk7U0FDakMsQ0FBQztLQUNILENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFqdiBmcm9tIFwiYWp2XCI7XG5pbXBvcnQgeyBDbGFzc0NvbnN0cnVjdG9yLCBwbGFpblRvSW5zdGFuY2UgfSBmcm9tIFwiY2xhc3MtdHJhbnNmb3JtZXJcIjtcbmltcG9ydCB7IHZhbGlkYXRlU3luYyB9IGZyb20gXCJjbGFzcy12YWxpZGF0b3JcIjtcbmltcG9ydCB7IEpzb25TY2hlbWEgfSBmcm9tIFwianNvbi1zY2hlbWEtbGlicmFyeVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbjxUID0gYW55PiB7XG4gIGlkOiBzdHJpbmc7XG4gIHBheWxvYWQ/OiBUO1xuICBuYW1lPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IEFjdGlvbjxUPltdLFxuICBtZXRhPzoge2NvbXBvbmVudElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbH0gfCBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvbnNGYWN0b3J5PFQgPSBhbnk+ID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBBY3Rpb248VD5bXTtcblxuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBBY3Rpb25zID0gQWN0aW9uc0ZhY3RvcnkgfCBBY3Rpb25bXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBY3Rpb25zKGFjdGlvbnM6IEFjdGlvbnMsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIGlmICh0eXBlb2YgYWN0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBhY3Rpb25zKC4uLmFyZ3MpO1xuICB9XG4gIHJldHVybiBhY3Rpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JhcEFjdGlvbnMoYWN0aW9uczogQWN0aW9ucyk6IEFjdGlvbnNGYWN0b3J5IHtcbiAgcmV0dXJuIHR5cGVvZiBhY3Rpb25zID09PSAnZnVuY3Rpb24nID8gYWN0aW9ucyA6ICgpID0+IGFjdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQWN0aW9uc09wdGlvbnM8UCBleHRlbmRzIG9iamVjdCA9IGFueT4ge1xuICB2YWxpZGF0b3I/OiAoaXRlbTogUCkgPT4gbnVsbCB8IHN0cmluZyB8IHN0cmluZ1tdO1xuICBuYW1lPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBY3Rpb25GYWN0b3J5PFAgZXh0ZW5kcyBvYmplY3QgPSBhbnk+ID0gKHBheWxvYWQ/OiBQLCBtZXRhPzogQ3JlYXRlQWN0aW9uc09wdGlvbnMpID0+IEFjdGlvbjxQPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFjdGlvbjxQIGV4dGVuZHMgb2JqZWN0ID0gYW55PihcbiAgdHlwZTogc3RyaW5nLFxuICBzY2hlbWE6IEpzb25TY2hlbWEgfCBDbGFzc0NvbnN0cnVjdG9yPFA+LFxuICBvcHRpb25zOiBDcmVhdGVBY3Rpb25zT3B0aW9uczxQPiA9IHt9LFxuKToge3ZhbGlkYXRlOiAoaXRlbTogUCkgPT4gbnVsbCB8IHN0cmluZyB8IHN0cmluZ1tdLCBjcmVhdGU6IEFjdGlvbkZhY3Rvcnk8UD59IHsgIFxuICBjb25zdCBkZWZhdWx0VmFsaWRhdG9yID0gKGl0ZW06IFApID0+IHtcbiAgICBpZiAodHlwZW9mIHNjaGVtYSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IF9zY2hlbWEgPSB7XG4gICAgICAgIC4uLnNjaGVtYSxcbiAgICAgICAgcmVxdWlyZWQ6IHNjaGVtYS5yZXF1aXJlZC5maWx0ZXIoKGtleTogc3RyaW5nKSA9PiBrZXkgaW4gaXRlbSksXG4gICAgICB9O1xuICAgICAgY29uc3QgaXNWYWxpZCA9IG5ldyBBanYoKS5jb21waWxlKF9zY2hlbWEpKGl0ZW0pO1xuICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlU3luYyhwbGFpblRvSW5zdGFuY2Uoc2NoZW1hLCB7Li4uaXRlbX0pIGFzIG9iamVjdCk7XG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCkgcmV0dXJuICdpbnZhbGlkJztcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICByZXR1cm4ge1xuICAgIHZhbGlkYXRlOiBvcHRpb25zPy52YWxpZGF0b3IgPz8gZGVmYXVsdFZhbGlkYXRvcixcbiAgICBjcmVhdGU6IChwYXlsb2FkOiBQID0ge30gYXMgYW55LCBtZXRhOiB7bmFtZT86IHN0cmluZywgaWNvbj86IHN0cmluZ30gPSB7fSk6IEFjdGlvbiA9PiAoe1xuICAgICAgaWQ6IHR5cGUsXG4gICAgICBwYXlsb2FkLFxuICAgICAgbmFtZTogbWV0YT8ubmFtZSA/PyBvcHRpb25zLm5hbWUgPz8gdHlwZSxcbiAgICAgIGljb246IG1ldGE/Lmljb24gPz8gb3B0aW9ucy5pY29uLFxuICAgIH0pLFxuICB9XG59XG4iXX0=
@@ -1,62 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Directive, ElementRef, PLATFORM_ID, inject } from '@angular/core';
3
- import { NG_ATOMIC_DEBUG } from '../ng-atomic-debug';
4
- import * as i0 from "@angular/core";
5
- const DEBUG_CONFIG = {
6
- outline: '1px',
7
- colors: {
8
- 'templates': '#f00',
9
- 'organisms': '#0f0',
10
- 'molecules': '#00f',
11
- 'atoms': '#ff0',
12
- 'frames': 'transparent',
13
- 'default': '#000',
14
- },
15
- excludes: ['frames', 'app', 'pages', 'atoms'],
16
- };
17
- export class DebugDirective {
18
- el = inject(ElementRef);
19
- platformId = inject(PLATFORM_ID);
20
- isDebug = inject(NG_ATOMIC_DEBUG, { optional: true }) ?? false;
21
- ngOnInit() {
22
- if (isPlatformBrowser(this.platformId) && this.isDebug) {
23
- const name = this.el.nativeElement.tagName.toLowerCase();
24
- const type = name.split('-')[0];
25
- if (DEBUG_CONFIG.excludes.includes(type))
26
- return;
27
- const color = DEBUG_CONFIG.colors?.[type] ?? DEBUG_CONFIG.colors.default;
28
- // 1pxのアウトラインを設定
29
- this.el.nativeElement.style.outline = `${DEBUG_CONFIG.outline} solid ${color}`;
30
- // 疑似要素でコンポーネント名を表示
31
- const labelEl = this.createLabelElement({
32
- name: `${name}${this.el.nativeElement.hasAttribute('injected') ? '[injected]' : ''}`,
33
- color
34
- });
35
- this.el.nativeElement.style.outlineOffset = '-1px';
36
- this.el.nativeElement.style.position = 'relative';
37
- this.el.nativeElement.appendChild(labelEl);
38
- }
39
- }
40
- createLabelElement(options) {
41
- const content = document.createElement('span');
42
- content.textContent = options.name;
43
- content.style.backgroundColor = `${options.color}`;
44
- content.style.color = '#fff';
45
- content.style.padding = '2px 4px';
46
- content.style.position = 'absolute';
47
- content.style.fontSize = '10px';
48
- content.style.top = '0';
49
- content.style.left = '0';
50
- content.style.zIndex = '9999';
51
- content.style.lineHeight = '1.5em';
52
- content.style.whiteSpace = 'nowrap';
53
- return content;
54
- }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DebugDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
56
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: DebugDirective, isStandalone: true, selector: "debug", ngImport: i0 });
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DebugDirective, decorators: [{
59
- type: Directive,
60
- args: [{ standalone: true, selector: 'debug' }]
61
- }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvZGVidWcvZGVidWcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUVyRCxNQUFNLFlBQVksR0FBRztJQUNuQixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFdBQVcsRUFBRSxNQUFNO1FBQ25CLE9BQU8sRUFBRSxNQUFNO1FBQ2YsUUFBUSxFQUFFLGFBQWE7UUFDdkIsU0FBUyxFQUFFLE1BQU07S0FDbEI7SUFDRCxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7Q0FDOUMsQ0FBQztBQUdGLE1BQU0sT0FBTyxjQUFjO0lBQ2YsRUFBRSxHQUE0QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxPQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUV2RSxRQUFRO1FBQ04sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQU87WUFDakQsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBRXpFLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsWUFBWSxDQUFDLE9BQU8sVUFBVSxLQUFLLEVBQUUsQ0FBQztZQUUvRSxtQkFBbUI7WUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO2dCQUN0QyxJQUFJLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEYsS0FBSzthQUNOLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ25ELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1lBQ2xELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVTLGtCQUFrQixDQUFDLE9BRzVCO1FBQ0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDbkMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztRQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7UUFDcEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzt1R0EzQ1UsY0FBYzsyRkFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixTQUFTO21CQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBQTEFURk9STV9JRCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX0FUT01JQ19ERUJVRyB9IGZyb20gJy4uL25nLWF0b21pYy1kZWJ1Zyc7XG5cbmNvbnN0IERFQlVHX0NPTkZJRyA9IHtcbiAgb3V0bGluZTogJzFweCcsXG4gIGNvbG9yczoge1xuICAgICd0ZW1wbGF0ZXMnOiAnI2YwMCcsXG4gICAgJ29yZ2FuaXNtcyc6ICcjMGYwJyxcbiAgICAnbW9sZWN1bGVzJzogJyMwMGYnLFxuICAgICdhdG9tcyc6ICcjZmYwJyxcbiAgICAnZnJhbWVzJzogJ3RyYW5zcGFyZW50JyxcbiAgICAnZGVmYXVsdCc6ICcjMDAwJyxcbiAgfSxcbiAgZXhjbHVkZXM6IFsnZnJhbWVzJywgJ2FwcCcsICdwYWdlcycsICdhdG9tcyddLFxufTtcblxuQERpcmVjdGl2ZSh7c3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdkZWJ1Zyd9KVxuZXhwb3J0IGNsYXNzIERlYnVnRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJvdGVjdGVkIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcm90ZWN0ZWQgaXNEZWJ1ZyA9IGluamVjdChOR19BVE9NSUNfREVCVUcsIHtvcHRpb25hbDogdHJ1ZX0pID8/IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMuaXNEZWJ1Zykge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCB0eXBlID0gbmFtZS5zcGxpdCgnLScpWzBdO1xuICAgICAgaWYgKERFQlVHX0NPTkZJRy5leGNsdWRlcy5pbmNsdWRlcyh0eXBlKSkgcmV0dXJuO1xuICAgICAgY29uc3QgY29sb3IgPSBERUJVR19DT05GSUcuY29sb3JzPy5bdHlwZV0gPz8gREVCVUdfQ09ORklHLmNvbG9ycy5kZWZhdWx0O1xuXG4gICAgICAvLyAxcHjjga7jgqLjgqbjg4jjg6njgqTjg7PjgpLoqK3lrppcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5vdXRsaW5lID0gYCR7REVCVUdfQ09ORklHLm91dGxpbmV9IHNvbGlkICR7Y29sb3J9YDtcblxuICAgICAgLy8g55aR5Ly86KaB57Sg44Gn44Kz44Oz44Od44O844ON44Oz44OI5ZCN44KS6KGo56S6XG4gICAgICBjb25zdCBsYWJlbEVsID0gdGhpcy5jcmVhdGVMYWJlbEVsZW1lbnQoe1xuICAgICAgICBuYW1lOiBgJHtuYW1lfSR7dGhpcy5lbC5uYXRpdmVFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnaW5qZWN0ZWQnKSA/ICdbaW5qZWN0ZWRdJyA6ICcnfWAsXG4gICAgICAgIGNvbG9yXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5vdXRsaW5lT2Zmc2V0ID0gJy0xcHgnO1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbEVsKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTGFiZWxFbGVtZW50KG9wdGlvbnM6IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBjb2xvcjogc3RyaW5nXG4gIH0pOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBjb250ZW50LnRleHRDb250ZW50ID0gb3B0aW9ucy5uYW1lO1xuICAgIGNvbnRlbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gYCR7b3B0aW9ucy5jb2xvcn1gO1xuICAgIGNvbnRlbnQuc3R5bGUuY29sb3IgPSAnI2ZmZic7XG4gICAgY29udGVudC5zdHlsZS5wYWRkaW5nID0gJzJweCA0cHgnO1xuICAgIGNvbnRlbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGNvbnRlbnQuc3R5bGUuZm9udFNpemUgPSAnMTBweCc7XG4gICAgY29udGVudC5zdHlsZS50b3AgPSAnMCc7XG4gICAgY29udGVudC5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIGNvbnRlbnQuc3R5bGUuekluZGV4ID0gJzk5OTknO1xuICAgIGNvbnRlbnQuc3R5bGUubGluZUhlaWdodCA9ICcxLjVlbSc7XG4gICAgY29udGVudC5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCc7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cbn0iXX0=
@@ -1,2 +0,0 @@
1
- export * from './debug.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9kZWJ1Zy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZWJ1Zy5kaXJlY3RpdmUnO1xuIl19
@@ -1,63 +0,0 @@
1
- import { InjectionToken, Injector, inject, runInInjectionContext } from "@angular/core";
2
- export class EffectMap extends Map {
3
- get(key, scope = 'host') {
4
- return super.get(this.makeKey(key, scope));
5
- }
6
- set(key, value) {
7
- return super.set(this.makeKey(key, value.props.scope), value);
8
- }
9
- has(key, scope = 'host') {
10
- return super.has(this.makeKey(key, scope));
11
- }
12
- makeKey(key, scope = 'host') {
13
- return `[${scope}]#${key}`;
14
- }
15
- }
16
- export function Effect(id, { dispatch = false, scope = 'host', accessor = (action) => action.payload, } = {}) {
17
- return function (target, propertyKey, descriptor) {
18
- target['_effectMap'] ??= new EffectMap();
19
- target['_effectMap'].set(id, { key: propertyKey, props: { dispatch, scope, accessor } });
20
- };
21
- }
22
- export const EFFECT_ENTRY = new InjectionToken('[@ng-atomic/core] EFFECT_ENTRY');
23
- export function provideEffect(ActionIds, _effectFactory, options = { dispatch: false }) {
24
- return {
25
- provide: EFFECT_ENTRY,
26
- useFactory: (injector) => {
27
- return {
28
- actionIds: ActionIds,
29
- effectFactory: (hostInjector) => {
30
- return runInInjectionContext(hostInjector, () => {
31
- return _effectFactory(injector);
32
- });
33
- },
34
- options
35
- };
36
- },
37
- multi: true,
38
- deps: [Injector]
39
- };
40
- }
41
- export function injectEffectReducer(injector = inject(Injector)) {
42
- const effectEntries = injector.get(EFFECT_ENTRY, [], { optional: true });
43
- const effectEntryMap = new Map();
44
- for (const entry of effectEntries) {
45
- const ids = Array.isArray(entry.actionIds) ? entry.actionIds : [entry.actionIds];
46
- for (const id of ids) {
47
- const effectFactory = () => entry.effectFactory(injector);
48
- effectEntryMap.set(id, { effectFactory, options: entry.options });
49
- }
50
- }
51
- return async (action, hostInjector) => {
52
- const entry = effectEntryMap.get(action.id);
53
- if (entry) {
54
- await runInInjectionContext(hostInjector, () => {
55
- const effect = entry?.effectFactory();
56
- return effect(action.payload, { injector });
57
- });
58
- return { dispatch: false };
59
- }
60
- return { dispatch: true };
61
- };
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFZLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVNsRyxNQUFNLE9BQU8sU0FBVSxTQUFRLEdBQThDO0lBQ2xFLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLE1BQU07UUFDdEMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBMkM7UUFDbkUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLE1BQU07UUFDdEMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLE9BQU8sQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLE1BQU07UUFDekMsT0FBTyxJQUFJLEtBQUssS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEVBQVUsRUFBRSxFQUNqQyxRQUFRLEdBQUcsS0FBSyxFQUNoQixLQUFLLEdBQUcsTUFBTSxFQUNkLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sTUFD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bnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBQcm92aWRlciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcIi4vYWN0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0UHJvcHMge1xuICBkaXNwYXRjaDogYm9vbGVhbjtcbiAgc2NvcGU6IHN0cmluZztcbiAgYWNjZXNzb3I6IChhY3Rpb246IEFjdGlvbikgPT4gYW55O1xufVxuXG5leHBvcnQgY2xhc3MgRWZmZWN0TWFwIGV4dGVuZHMgTWFwPHN0cmluZywge2tleTogc3RyaW5nLCBwcm9wczogRWZmZWN0UHJvcHN9PiB7XG4gIG92ZXJyaWRlIGdldChrZXk6IHN0cmluZywgc2NvcGUgPSAnaG9zdCcpOiB7IGtleTogc3RyaW5nOyBwcm9wczogRWZmZWN0UHJvcHM7IH0ge1xuICAgIHJldHVybiBzdXBlci5nZXQodGhpcy5tYWtlS2V5KGtleSwgc2NvcGUpKSE7IFxuICB9XG5cbiAgb3ZlcnJpZGUgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogeyBrZXk6IHN0cmluZzsgcHJvcHM6IEVmZmVjdFByb3BzOyB9KTogdGhpcyB7XG4gICAgcmV0dXJuIHN1cGVyLnNldCh0aGlzLm1ha2VLZXkoa2V5LCB2YWx1ZS5wcm9wcy5zY29wZSksIHZhbHVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGhhcyhrZXk6IHN0cmluZywgc2NvcGUgPSAnaG9zdCcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzKHRoaXMubWFrZUtleShrZXksIHNjb3BlKSk7XG4gIH1cblxuICBwcml2YXRlIG1ha2VLZXkoa2V5OiBzdHJpbmcsIHNjb3BlID0gJ2hvc3QnKSB7XG4gICAgcmV0dXJuIGBbJHtzY29wZX1dIyR7a2V5fWA7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVmZmVjdChpZDogc3RyaW5nLCB7XG4gIGRpc3BhdGNoID0gZmFsc2UsXG4gIHNjb3BlID0gJ2hvc3QnLFxuICBhY2Nlc3NvciA9IChhY3Rpb246IEFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQsXG59OiBQYXJ0aWFsPEVmZmVjdFByb3BzPiA9IHt9KSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIHRhcmdldFsnX2VmZmVjdE1hcCddID8/PSBuZXcgRWZmZWN0TWFwKCk7XG4gICAgdGFyZ2V0WydfZWZmZWN0TWFwJ10uc2V0KGlkLCB7a2V5OiBwcm9wZXJ0eUtleSwgcHJvcHM6IHtkaXNwYXRjaCwgc2NvcGUsIGFjY2Vzc29yfX0pO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVmZmVjdEZ1bmN0aW9uT3B0aW9ucyB7XG4gIGRpc3BhdGNoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RDb250ZXh0IHtcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcjtcbn1cblxuZXhwb3J0IHR5cGUgRWZmZWN0RnVuY3Rpb24gPSAocGF5bG9hZD86IGFueSwgY29udGV4dD86IEVmZmVjdENvbnRleHQpID0+IGFueSB8IFByb21pc2U8YW55PjtcbmV4cG9ydCB0eXBlIEVmZmVjdEZ1bmN0aW9uRmFjdG9yeSA9IChob3N0SW5qZWN0b3I/OiBJbmplY3RvcikgPT4gRWZmZWN0RnVuY3Rpb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0RW50cnkge1xuXHRhY3Rpb25JZHM6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBlZmZlY3RGYWN0b3J5PzogRWZmZWN0RnVuY3Rpb25GYWN0b3J5O1xuICBvcHRpb25zPzogRWZmZWN0RnVuY3Rpb25PcHRpb25zO1xufVxuXG5leHBvcnQgY29uc3QgRUZGRUNUX0VOVFJZID0gbmV3IEluamVjdGlvblRva2VuPEVmZmVjdEVudHJ5PignW0BuZy1hdG9taWMvY29yZV0gRUZGRUNUX0VOVFJZJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRWZmZWN0KFxuICBBY3Rpb25JZHM6IHN0cmluZ1tdIHwgc3RyaW5nLFxuICBfZWZmZWN0RmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gRWZmZWN0RnVuY3Rpb24sXG4gIG9wdGlvbnM6IEVmZmVjdEZ1bmN0aW9uT3B0aW9ucyA9IHtkaXNwYXRjaDogZmFsc2V9LFxuKTogUHJvdmlkZXIge1xuXHRyZXR1cm4ge1xuXHRcdHByb3ZpZGU6IEVGRkVDVF9FTlRSWSxcblx0XHR1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY3Rpb25JZHM6IEFjdGlvbklkcyxcbiAgICAgICAgZWZmZWN0RmFjdG9yeTogKGhvc3RJbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgICAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGhvc3RJbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIF9lZmZlY3RGYWN0b3J5KGluamVjdG9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgfTtcbiAgICB9LFxuXHRcdG11bHRpOiB0cnVlLFxuXHRcdGRlcHM6IFtJbmplY3Rvcl1cblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEVmZmVjdFJlZHVjZXIoaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKSkge1xuXHRjb25zdCBlZmZlY3RFbnRyaWVzID0gaW5qZWN0b3IuZ2V0PEVmZmVjdEVudHJ5W10+KEVGRkVDVF9FTlRSWSwgW10sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIGNvbnN0IGVmZmVjdEVudHJ5TWFwID0gbmV3IE1hcDxzdHJpbmcsIHtlZmZlY3RGYWN0b3J5OiBFZmZlY3RGdW5jdGlvbiwgb3B0aW9uczogRWZmZWN0RnVuY3Rpb25PcHRpb25zfT4oKTtcblxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVmZmVjdEVudHJpZXMpIHtcbiAgICBjb25zdCBpZHMgPSBBcnJheS5pc0FycmF5KGVudHJ5LmFjdGlvbklkcykgPyBlbnRyeS5hY3Rpb25JZHMgOiBbZW50cnkuYWN0aW9uSWRzXTtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIGlkcykge1xuICAgICAgY29uc3QgZWZmZWN0RmFjdG9yeSA9ICgpID0+IGVudHJ5LmVmZmVjdEZhY3RvcnkoaW5qZWN0b3IpO1xuICAgICAgZWZmZWN0RW50cnlNYXAuc2V0KGlkLCB7IGVmZmVjdEZhY3RvcnksIG9wdGlvbnM6IGVudHJ5Lm9wdGlvbnMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFzeW5jIChhY3Rpb246IEFjdGlvbiwgaG9zdEluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8e2Rpc3BhdGNoOiBib29sZWFufT4gPT4ge1xuICAgIGNvbnN0IGVudHJ5ID0gZWZmZWN0RW50cnlNYXAuZ2V0KGFjdGlvbi5pZCk7XG4gICAgaWYgKGVudHJ5KSB7XG4gICAgICBhd2FpdCBydW5JbkluamVjdGlvbkNvbnRleHQoaG9zdEluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVmZmVjdCA9IGVudHJ5Py5lZmZlY3RGYWN0b3J5KCk7XG4gICAgICAgIHJldHVybiBlZmZlY3QoYWN0aW9uLnBheWxvYWQsIHsgaW5qZWN0b3IgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7IGRpc3BhdGNoOiBmYWxzZSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBkaXNwYXRjaDogdHJ1ZSB9O1xuXHR9XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- export * from './action-store';
2
- export * from './action';
3
- export * from './effect';
4
- export * from './injectable-component';
5
- export * from './input';
6
- export * from './ng-atomic-component';
7
- export * from './signals';
8
- export * from './debug';
9
- export * from './ng-atomic-debug';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9lZmZlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3RhYmxlLWNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbmctYXRvbWljLWNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ25hbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWJ1Zyc7XG5leHBvcnQgKiBmcm9tICcuL25nLWF0b21pYy1kZWJ1Zyc7XG4iXX0=
@@ -1,165 +0,0 @@
1
- import { DestroyRef, Directive,
2
- // ɵoutput,
3
- ElementRef, InjectionToken, Injector, ViewContainerRef, inject, input, PLATFORM_ID, Output, EventEmitter } from "@angular/core";
4
- import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
5
- import { reflectComponentType } from "@angular/core";
6
- import { proxyFakeComputedInputs } from "./signals";
7
- import { isPlatformBrowser } from "@angular/common";
8
- import * as i0 from "@angular/core";
9
- export const TOKEN = 'Δtkn';
10
- export function provideComponent(abstract, typeOrFactory) {
11
- async function loadComponentType() {
12
- if (typeof typeOrFactory === 'function' && !typeOrFactory.prototype) {
13
- return await typeOrFactory();
14
- }
15
- else {
16
- return typeOrFactory;
17
- }
18
- }
19
- return { provide: abstract[TOKEN], useValue: loadComponentType };
20
- }
21
- export function TokenizedType() {
22
- return function (type) {
23
- type[TOKEN] = new InjectionToken(type.name);
24
- };
25
- }
26
- export function getToken(type) {
27
- return type[TOKEN];
28
- }
29
- export var HostType;
30
- (function (HostType) {
31
- HostType["Dir"] = "\u0275dir";
32
- HostType["Cmp"] = "\u0275cmp";
33
- })(HostType || (HostType = {}));
34
- export function getMeta(type) {
35
- return type[HostType.Cmp] || type[HostType.Dir];
36
- }
37
- export function getInputs(type) {
38
- return Object.entries(getMeta(type)['inputs'])
39
- .map(([templateName, [propName]]) => ({ propName, templateName }));
40
- }
41
- export function getOutputs(type) {
42
- const meta = getMeta(type);
43
- return Object.entries(meta['outputs'])
44
- .map(([templateName, propName]) => ({ propName, templateName }));
45
- }
46
- export function getInputsByComponentRef(cmp) {
47
- return getInputs(cmp.instance.constructor);
48
- }
49
- export function getOutputsByInstance(cmp) {
50
- return getOutputs(cmp.instance.constructor);
51
- }
52
- export class InjectableComponent {
53
- #platformId = inject(PLATFORM_ID);
54
- #viewContainerRef = inject(ViewContainerRef);
55
- #injector = inject(Injector);
56
- #destroyRef = inject(DestroyRef);
57
- #el = inject(ElementRef);
58
- #component = null;
59
- #componentMirror = null;
60
- injectable = input(false, { transform: (value) => value === '' ? true : value, alias: 'injectable' });
61
- // readonly __action = ɵoutput<Action>({alias: 'action'});
62
- __action = new EventEmitter();
63
- dispatch(action) {
64
- this.__action.emit(action);
65
- }
66
- get #inputs() {
67
- const abs = getInputs(this.constructor);
68
- return abs;
69
- }
70
- get #outputs() {
71
- const abs = getOutputs(this.constructor);
72
- return abs;
73
- // const impl = this.#componentMirror!.outputs;
74
- // return abs.filter(abstractOutput => impl.some(implOutput => implOutput.templateName === abstractOutput.templateName));
75
- }
76
- #setAttribute() {
77
- const hostElement = this.#component.hostView.rootNodes[0];
78
- const attributes = this.#el.nativeElement.attributes;
79
- for (let i = 0; i < attributes.length; i++) {
80
- const attr = attributes.item(i);
81
- if (attr.name === 'injectable') {
82
- hostElement.setAttribute('injected', '');
83
- }
84
- else {
85
- hostElement.setAttribute(attr.name, attr.value);
86
- }
87
- }
88
- }
89
- #bindInputs() {
90
- for (const input of this.#inputs) {
91
- if (input.propName === 'injectable')
92
- continue;
93
- const valueOrInputValueFn = this[input.propName];
94
- const value = typeof valueOrInputValueFn === 'function' ? valueOrInputValueFn() : valueOrInputValueFn;
95
- this.#component.setInput(input.templateName, value);
96
- }
97
- }
98
- get propNames() {
99
- return this.#inputs.map(input => input.propName);
100
- }
101
- proxyFakeComputedInputs() {
102
- proxyFakeComputedInputs(this, this.propNames);
103
- }
104
- #bindOutputs() {
105
- for (const output of this.#outputs) {
106
- this.#component.instance[output.propName]?.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((value) => this[output.propName].emit(value));
107
- }
108
- }
109
- #bindEvents() {
110
- for (const name of ['click']) {
111
- this.#component.injector.get(ElementRef).nativeElement.addEventListener(name, (event) => {
112
- this.#el.nativeElement.dispatchEvent(new Event(name, {}));
113
- });
114
- }
115
- }
116
- constructor() {
117
- this.proxyFakeComputedInputs();
118
- }
119
- ngOnInit() {
120
- if (this.injectable() && isPlatformBrowser(this.#platformId)) {
121
- this.#injector.get(getToken(this.constructor))().then(type => {
122
- this.#component = this.#viewContainerRef.createComponent(type, {
123
- projectableNodes: [
124
- Array.from(this.#el.nativeElement.childNodes)
125
- ],
126
- });
127
- this.#componentMirror = reflectComponentType(type);
128
- this.#bindInputs();
129
- this.#bindOutputs();
130
- this.#bindEvents();
131
- this.#setAttribute();
132
- // this.#viewContainerRef.remove(0);
133
- this.#component.changeDetectorRef.detectChanges();
134
- this.#el.nativeElement.style.display = 'none';
135
- // this.#el.nativeElement.remove();
136
- });
137
- }
138
- this.proxyFakeComputedInputs();
139
- }
140
- ngOnChanges(simpleChanges) {
141
- if (this.injectable() && this.#componentMirror) {
142
- for (const input of this.#inputs) {
143
- if (input.propName === 'injectable')
144
- return;
145
- const change = simpleChanges[input.propName];
146
- if (change) {
147
- this.#component.setInput(input.propName, change.currentValue);
148
- }
149
- }
150
- }
151
- }
152
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: InjectableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
153
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: InjectableComponent, isStandalone: true, inputs: { injectable: { classPropertyName: "injectable", publicName: "injectable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { __action: "action" }, usesOnChanges: true, ngImport: i0 });
154
- }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: InjectableComponent, decorators: [{
156
- type: Directive,
157
- args: [{
158
- standalone: true,
159
- // host: {ngSkipHydration: 'true'}
160
- }]
161
- }], ctorParameters: () => [], propDecorators: { __action: [{
162
- type: Output,
163
- args: ['action']
164
- }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9pbmplY3RhYmxlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQzBCLFVBQVUsRUFDekMsU0FBUztBQUNULFdBQVc7QUFDWCxVQUFVLEVBQ1YsY0FBYyxFQUFFLFFBQVEsRUFDbEIsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQ2xELE1BQU0sRUFBRSxZQUFZLEVBQ3JCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFNeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVwRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBRTVCLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsUUFBbUIsRUFDbkIsYUFBNkM7SUFFN0MsS0FBSyxVQUFVLGlCQUFpQjtRQUM5QixJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwRSxPQUFPLE1BQU8sYUFBbUMsRUFBRSxDQUFDO1FBQ3RELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxhQUEyQixDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRyxRQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLFVBQStCLElBQU87UUFDMUMsSUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksY0FBYyxDQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFlO0lBQ3RDLE9BQVEsSUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFFRCxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLDZCQUFZLENBQUE7SUFDWiw2QkFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUhXLFFBQVEsS0FBUixRQUFRLFFBR25CO0FBSUQsTUFBTSxVQUFVLE9BQU8sQ0FBSSxJQUFhO0lBQ3RDLE9BQVEsSUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSyxJQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFJLElBQWE7SUFDeEMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFTLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuRCxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFJLElBQWE7SUFDekMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25FLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQXFCLEdBQW9CO0lBQzlFLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBc0IsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQXFCLEdBQW9CO0lBQzNFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBc0IsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFNRCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLEdBQUcsR0FBNEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELFVBQVUsR0FBMkIsSUFBSSxDQUFDO0lBQzFDLGdCQUFnQixHQUE4QixJQUFJLENBQUM7SUFFMUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDO0lBQ2xILDBEQUEwRDtJQUMvQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVqRSxRQUFRLENBQUMsTUFBYztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFzQixDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFzQixDQUFDLENBQUM7UUFDcEQsT0FBTyxHQUFHLENBQUM7UUFDWCwrQ0FBK0M7UUFDL0MseUhBQXlIO0lBQzNILENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxXQUFXLEdBQUksSUFBSSxDQUFDLFVBQVcsQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDcEcsTUFBTSxVQUFVLEdBQWlCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUNuRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO2dCQUMvQixXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFlBQVk7Z0JBQUUsU0FBUztZQUM5QyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakQsTUFBTSxLQUFLLEdBQUcsT0FBTyxtQkFBbUIsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1lBQ3RHLElBQUksQ0FBQyxVQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsdUJBQXVCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFBWTtRQUNWLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFXLENBQUMsUUFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUN2RCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3JDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RGLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQ7UUFDRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFzQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN2RixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO29CQUM3RCxnQkFBZ0IsRUFBRTt3QkFDaEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7cUJBQzlDO2lCQUNGLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsb0NBQW9DO2dCQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFDOUMsbUNBQW1DO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXLENBQUMsYUFBNEI7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxZQUFZO29CQUFFLE9BQU87Z0JBQzVDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFpQixDQUFDO2dCQUM3RCxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLElBQUksQ0FBQyxVQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNqRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3VHQS9HVSxtQkFBbUI7MkZBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsa0NBQWtDO2lCQUNuQzt3REFZNEIsUUFBUTtzQkFBbEMsTUFBTTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50TWlycm9yLCBDb21wb25lbnRSZWYsIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgLy8gybVvdXRwdXQsXG4gIEVsZW1lbnRSZWYsIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBTaW1wbGVDaGFuZ2UsIFNpbXBsZUNoYW5nZXMsXG4gIFR5cGUsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCwgaW5wdXQsIFBMQVRGT1JNX0lELFxuICBPdXRwdXQsIEV2ZW50RW1pdHRlclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyByZWZsZWN0Q29tcG9uZW50VHlwZSwgT25Jbml0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcIi4vYWN0aW9uXCI7XG5cbmV4cG9ydCB0eXBlIFR5cGVGYWN0b3J5QXN5bmM8VD4gPSAoKSA9PiBQcm9taXNlPFR5cGU8VD4+O1xuXG5leHBvcnQgdHlwZSBUeXBlRmFjdG9yeTxUPiA9ICgpID0+IChUeXBlPFQ+IHwgUHJvbWlzZTxUeXBlPFQ+Pik7XG5pbXBvcnQgeyBwcm94eUZha2VDb21wdXRlZElucHV0cyB9IGZyb20gXCIuL3NpZ25hbHNcIjtcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgVE9LRU4gPSAnzpR0a24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbXBvbmVudDxBQlMgPSBhbnksIElNUEwgPSBhbnk+KFxuICBhYnN0cmFjdDogVHlwZTxBQlM+LFxuICB0eXBlT3JGYWN0b3J5OiBUeXBlPElNUEw+IHwgVHlwZUZhY3Rvcnk8SU1QTD4sXG4pIHtcbiAgYXN5bmMgZnVuY3Rpb24gbG9hZENvbXBvbmVudFR5cGUoKTogUHJvbWlzZTxUeXBlPElNUEw+PiB7XG4gICAgaWYgKHR5cGVvZiB0eXBlT3JGYWN0b3J5ID09PSAnZnVuY3Rpb24nICYmICF0eXBlT3JGYWN0b3J5LnByb3RvdHlwZSkge1xuICAgICAgcmV0dXJuIGF3YWl0ICh0eXBlT3JGYWN0b3J5IGFzIFR5cGVGYWN0b3J5PElNUEw+KSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHlwZU9yRmFjdG9yeSBhcyBUeXBlPElNUEw+O1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBwcm92aWRlOiAoYWJzdHJhY3QgYXMgYW55KVtUT0tFTl0sIHVzZVZhbHVlOiBsb2FkQ29tcG9uZW50VHlwZSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVG9rZW5pemVkVHlwZSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgVHlwZTxhbnk+Pih0eXBlOiBUKSB7XG4gICAgKHR5cGUgYXMgYW55KVtUT0tFTl0gPSBuZXcgSW5qZWN0aW9uVG9rZW48VD4odHlwZS5uYW1lKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRva2VuKHR5cGU6IFR5cGU8YW55Pikge1xuICByZXR1cm4gKHR5cGUgYXMgYW55KVtUT0tFTl07XG59XG5cbmV4cG9ydCBlbnVtIEhvc3RUeXBlIHtcbiAgRGlyID0gJ8m1ZGlyJyxcbiAgQ21wID0gJ8m1Y21wJyxcbn1cblxudHlwZSBJTyA9IHtwcm9wTmFtZTogc3RyaW5nLCB0ZW1wbGF0ZU5hbWU6IHN0cmluZ307XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRhPFQ+KHR5cGU6IFR5cGU8VD4pIHtcbiAgcmV0dXJuICh0eXBlIGFzIGFueSlbSG9zdFR5cGUuQ21wXSB8fCAodHlwZSBhcyBhbnkpW0hvc3RUeXBlLkRpcl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dHM8VD4odHlwZTogVHlwZTxUPik6IElPW10ge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXM8c3RyaW5nPihnZXRNZXRhKHR5cGUpWydpbnB1dHMnXSlcbiAgICAubWFwKChbdGVtcGxhdGVOYW1lLCBbcHJvcE5hbWVdXSkgPT4gKHtwcm9wTmFtZSwgdGVtcGxhdGVOYW1lfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3V0cHV0czxUPih0eXBlOiBUeXBlPFQ+KTogSU9bXSB7XG4gIGNvbnN0IG1ldGEgPSBnZXRNZXRhKHR5cGUpO1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXM8c3RyaW5nPihtZXRhWydvdXRwdXRzJ10pXG4gICAgLm1hcCgoW3RlbXBsYXRlTmFtZSwgcHJvcE5hbWVdKSA9PiAoe3Byb3BOYW1lLCB0ZW1wbGF0ZU5hbWV9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dHNCeUNvbXBvbmVudFJlZjxUIGV4dGVuZHMge30gPSBhbnk+KGNtcDogQ29tcG9uZW50UmVmPFQ+KTogSU9bXSB7XG4gIHJldHVybiBnZXRJbnB1dHMoY21wLmluc3RhbmNlLmNvbnN0cnVjdG9yIGFzIFR5cGU8VD4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3V0cHV0c0J5SW5zdGFuY2U8VCBleHRlbmRzIHt9ID0gYW55PihjbXA6IENvbXBvbmVudFJlZjxUPik6IElPW10ge1xuICByZXR1cm4gZ2V0T3V0cHV0cyhjbXAuaW5zdGFuY2UuY29uc3RydWN0b3IgYXMgVHlwZTxUPik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAvLyBob3N0OiB7bmdTa2lwSHlkcmF0aW9uOiAndHJ1ZSd9XG59KVxuZXhwb3J0IGNsYXNzIEluamVjdGFibGVDb21wb25lbnQ8VCA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHJlYWRvbmx5ICNwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcmVhZG9ubHkgI3ZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHJlYWRvbmx5ICNpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSAjZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAjY29tcG9uZW50OiBDb21wb25lbnRSZWY8VD4gfCBudWxsID0gbnVsbDtcbiAgI2NvbXBvbmVudE1pcnJvcjogQ29tcG9uZW50TWlycm9yPFQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcmVhZG9ubHkgaW5qZWN0YWJsZSA9IGlucHV0KGZhbHNlLCB7dHJhbnNmb3JtOiAodmFsdWU6IGFueSkgPT4gdmFsdWUgPT09ICcnID8gdHJ1ZSA6IHZhbHVlLCBhbGlhczogJ2luamVjdGFibGUnfSk7XG4gIC8vIHJlYWRvbmx5IF9fYWN0aW9uID0gybVvdXRwdXQ8QWN0aW9uPih7YWxpYXM6ICdhY3Rpb24nfSk7XG4gIEBPdXRwdXQoJ2FjdGlvbicpIHJlYWRvbmx5IF9fYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb24+KCk7XG5cbiAgZGlzcGF0Y2goYWN0aW9uOiBBY3Rpb24pIHtcbiAgICB0aGlzLl9fYWN0aW9uLmVtaXQoYWN0aW9uKTtcbiAgfVxuXG4gIGdldCAjaW5wdXRzKCk6IElPW10ge1xuICAgIGNvbnN0IGFicyA9IGdldElucHV0cyh0aGlzLmNvbnN0cnVjdG9yIGFzIFR5cGU8VD4pO1xuICAgIHJldHVybiBhYnM7XG4gIH1cblxuICBnZXQgI291dHB1dHMoKTogSU9bXSB7XG4gICAgY29uc3QgYWJzID0gZ2V0T3V0cHV0cyh0aGlzLmNvbnN0cnVjdG9yIGFzIFR5cGU8VD4pO1xuICAgIHJldHVybiBhYnM7XG4gICAgLy8gY29uc3QgaW1wbCA9IHRoaXMuI2NvbXBvbmVudE1pcnJvciEub3V0cHV0cztcbiAgICAvLyByZXR1cm4gYWJzLmZpbHRlcihhYnN0cmFjdE91dHB1dCA9PiBpbXBsLnNvbWUoaW1wbE91dHB1dCA9PiBpbXBsT3V0cHV0LnRlbXBsYXRlTmFtZSA9PT0gYWJzdHJhY3RPdXRwdXQudGVtcGxhdGVOYW1lKSk7XG4gIH1cblxuICAjc2V0QXR0cmlidXRlKCkge1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gKHRoaXMuI2NvbXBvbmVudCEuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBhdHRyaWJ1dGVzOiBOYW1lZE5vZGVNYXAgPSB0aGlzLiNlbC5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlcy5pdGVtKGkpITtcbiAgICAgIGlmIChhdHRyLm5hbWUgPT09ICdpbmplY3RhYmxlJykge1xuICAgICAgICBob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2luamVjdGVkJywgJycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHIubmFtZSwgYXR0ci52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2JpbmRJbnB1dHMoKSB7XG4gICAgZm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLiNpbnB1dHMpIHtcbiAgICAgIGlmIChpbnB1dC5wcm9wTmFtZSA9PT0gJ2luamVjdGFibGUnKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHZhbHVlT3JJbnB1dFZhbHVlRm4gPSB0aGlzW2lucHV0LnByb3BOYW1lXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIHZhbHVlT3JJbnB1dFZhbHVlRm4gPT09ICdmdW5jdGlvbicgPyB2YWx1ZU9ySW5wdXRWYWx1ZUZuKCkgOiB2YWx1ZU9ySW5wdXRWYWx1ZUZuO1xuICAgICAgdGhpcy4jY29tcG9uZW50IS5zZXRJbnB1dChpbnB1dC50ZW1wbGF0ZU5hbWUsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcHJvcE5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLiNpbnB1dHMubWFwKGlucHV0ID0+IGlucHV0LnByb3BOYW1lKTtcbiAgfVxuXG4gIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKCkge1xuICAgIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKHRoaXMsIHRoaXMucHJvcE5hbWVzKTtcbiAgfVxuXG4gICNiaW5kT3V0cHV0cygpIHtcbiAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0aGlzLiNvdXRwdXRzKSB7XG4gICAgICAodGhpcy4jY29tcG9uZW50IS5pbnN0YW5jZSBhcyBhbnkpW291dHB1dC5wcm9wTmFtZV0/LnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKS5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHRoaXNbb3V0cHV0LnByb3BOYW1lXS5lbWl0KHZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgI2JpbmRFdmVudHMoKSB7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIFsnY2xpY2snXSkge1xuICAgICAgdGhpcy4jY29tcG9uZW50LmluamVjdG9yLmdldChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgKGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQobmFtZSwge30pKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wcm94eUZha2VDb21wdXRlZElucHV0cygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5qZWN0YWJsZSgpICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuI3BsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLiNpbmplY3Rvci5nZXQ8VHlwZUZhY3RvcnlBc3luYzxUPj4oZ2V0VG9rZW4odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpKSgpLnRoZW4odHlwZSA9PiB7XG4gICAgICAgIHRoaXMuI2NvbXBvbmVudCA9IHRoaXMuI3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHR5cGUsIHtcbiAgICAgICAgICBwcm9qZWN0YWJsZU5vZGVzOiBbXG4gICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcylcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jY29tcG9uZW50TWlycm9yID0gcmVmbGVjdENvbXBvbmVudFR5cGUodHlwZSk7XG4gICAgICAgIHRoaXMuI2JpbmRJbnB1dHMoKTtcbiAgICAgICAgdGhpcy4jYmluZE91dHB1dHMoKTtcbiAgICAgICAgdGhpcy4jYmluZEV2ZW50cygpO1xuICAgICAgICB0aGlzLiNzZXRBdHRyaWJ1dGUoKTtcbiAgICAgICAgLy8gdGhpcy4jdmlld0NvbnRhaW5lclJlZi5yZW1vdmUoMCk7XG4gICAgICAgIHRoaXMuI2NvbXBvbmVudC5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgLy8gdGhpcy4jZWwubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuaW5qZWN0YWJsZSgpICYmIHRoaXMuI2NvbXBvbmVudE1pcnJvcikge1xuICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLiNpbnB1dHMpIHtcbiAgICAgICAgaWYgKGlucHV0LnByb3BOYW1lID09PSAnaW5qZWN0YWJsZScpIHJldHVybjtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gc2ltcGxlQ2hhbmdlc1tpbnB1dC5wcm9wTmFtZV0gYXMgU2ltcGxlQ2hhbmdlO1xuICAgICAgICBpZiAoY2hhbmdlKSB7XG4gICAgICAgICAgdGhpcy4jY29tcG9uZW50IS5zZXRJbnB1dChpbnB1dC5wcm9wTmFtZSwgY2hhbmdlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { SIGNAL } from '@angular/core/primitives/signals';
2
- function applyValueToInputField(instance, inputSignalNode, privateName, value) {
3
- if (inputSignalNode !== null) {
4
- inputSignalNode.applyValueToInputSignal(inputSignalNode, value);
5
- }
6
- else {
7
- instance[privateName] = value;
8
- }
9
- }
10
- export function applyToInput(instance, propName, value) {
11
- const inputSignalNode = instance[propName][SIGNAL];
12
- if (inputSignalNode !== null) {
13
- inputSignalNode.applyValueToInputSignal(inputSignalNode, value);
14
- }
15
- else {
16
- instance[propName] = value;
17
- }
18
- }
19
- export function updateInput(instance, propName, updater) {
20
- const inputSignalNode = instance[propName][SIGNAL];
21
- if (inputSignalNode !== null) {
22
- const value = updater(instance[propName]());
23
- inputSignalNode.applyValueToInputSignal(inputSignalNode, value);
24
- }
25
- else {
26
- instance[propName] = updater(instance[propName]);
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUEyQixNQUFNLGtDQUFrQyxDQUFDO0FBb0JuRixTQUFTLHNCQUFzQixDQUM3QixRQUFXLEVBQ1gsZUFBeUQsRUFDekQsV0FBbUIsRUFDbkIsS0FBYztJQUVkLElBQUksZUFBZSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztTQUFNLENBQUM7UUFDTCxRQUFnQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN6QyxDQUFDO0FBQ0gsQ0FBQztBQUlELE1BQU0sVUFBVSxZQUFZLENBQzFCLFFBQVcsRUFDWCxRQUFXLEVBQ1gsS0FBNEI7SUFFN0IsTUFBTSxlQUFlLEdBQUksUUFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQXNDLENBQUM7SUFDakcsSUFBSSxlQUFlLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO1NBQU0sQ0FBQztRQUNOLFFBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsUUFBVyxFQUNYLFFBQVcsRUFDWCxPQUFnRTtJQUVoRSxNQUFNLGVBQWUsR0FBSSxRQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBc0MsQ0FBQztJQUNqRyxJQUFJLGVBQWUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUUsUUFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO1NBQU0sQ0FBQztRQUNMLFFBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFFLFFBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0U2lnbmFsLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNJR05BTCwgU2lnbmFsTm9kZSwgc2lnbmFsU2V0Rm4gfSBmcm9tICdAYW5ndWxhci9jb3JlL3ByaW1pdGl2ZXMvc2lnbmFscyc7XG5cbmludGVyZmFjZSBJbnB1dFNpZ25hbE5vZGU8VCwgVHJhbnNmb3JtVD4gZXh0ZW5kcyBTaWduYWxOb2RlPFQ+IHtcbiAgLyoqXG4gICAqIFVzZXItY29uZmlndXJlZCB0cmFuc2Zvcm0gdGhhdCB3aWxsIHJ1biB3aGVuZXZlciBhIG5ldyB2YWx1ZSBpcyBhcHBsaWVkXG4gICAqIHRvIHRoZSBpbnB1dCBzaWduYWwgbm9kZS5cbiAgICovXG4gIHRyYW5zZm9ybUZuOiAoKHZhbHVlOiBUcmFuc2Zvcm1UKSA9PiBUKSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQXBwbGllcyBhIG5ldyB2YWx1ZSB0byB0aGUgaW5wdXQgc2lnbmFsLiBFeHBlY3RzIHRyYW5zZm9ybXMgdG8gYmUgcnVuXG4gICAqIG1hbnVhbGx5IGJlZm9yZS5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGhlIGZyYW1ld29yayBydW50aW1lIGNvZGUgd2hlbmV2ZXIgYSBiaW5kaW5nXG4gICAqIGNoYW5nZXMuIFRoZSB2YWx1ZSBjYW4gaW4gcHJhY3RpY2UgYmUgYW55dGhpbmcgYXQgcnVudGltZSwgYnV0IGZvciB0eXBpbmdcbiAgICogcHVycG9zZXMgd2UgYXNzdW1lIGl0J3MgYSB2YWxpZCBgVGAgdmFsdWUuIFR5cGUtY2hlY2tpbmcgd2lsbCBlbmZvcmNlIHRoYXQuXG4gICAqL1xuICBhcHBseVZhbHVlVG9JbnB1dFNpZ25hbDxULCBUcmFuc2Zvcm1UPihub2RlOiBJbnB1dFNpZ25hbE5vZGU8VCwgVHJhbnNmb3JtVD4sIHZhbHVlOiBUKTogdm9pZDtcbn1cblxuZnVuY3Rpb24gYXBwbHlWYWx1ZVRvSW5wdXRGaWVsZDxUPihcbiAgaW5zdGFuY2U6IFQsXG4gIGlucHV0U2lnbmFsTm9kZTogbnVsbCB8IElucHV0U2lnbmFsTm9kZTx1bmtub3duLCB1bmtub3duPixcbiAgcHJpdmF0ZU5hbWU6IHN0cmluZyxcbiAgdmFsdWU6IHVua25vd24sXG4pIHtcbiAgaWYgKGlucHV0U2lnbmFsTm9kZSAhPT0gbnVsbCkge1xuICAgIGlucHV0U2lnbmFsTm9kZS5hcHBseVZhbHVlVG9JbnB1dFNpZ25hbChpbnB1dFNpZ25hbE5vZGUsIHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICAoaW5zdGFuY2UgYXMgYW55KVtwcml2YXRlTmFtZV0gPSB2YWx1ZTtcbiAgfVxufVxuXG50eXBlIElucHV0U2lnbmFsVHlwZTxUPiA9IFQgZXh0ZW5kcyBJbnB1dFNpZ25hbDxpbmZlciBVPiA/IFUgOiBuZXZlcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5VG9JbnB1dDxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIGluc3RhbmNlOiBULFxuICBwcm9wTmFtZTogSyxcbiAgdmFsdWU6IElucHV0U2lnbmFsVHlwZTxUW0tdPixcbikge1xuXHRjb25zdCBpbnB1dFNpZ25hbE5vZGUgPSAoaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV1bU0lHTkFMXSBhcyBJbnB1dFNpZ25hbE5vZGU8dW5rbm93biwgdW5rbm93bj47XG5cdGlmIChpbnB1dFNpZ25hbE5vZGUgIT09IG51bGwpIHtcblx0XHRpbnB1dFNpZ25hbE5vZGUuYXBwbHlWYWx1ZVRvSW5wdXRTaWduYWwoaW5wdXRTaWduYWxOb2RlLCB2YWx1ZSk7XG5cdH0gZWxzZSB7XG5cdFx0KGluc3RhbmNlIGFzIGFueSlbcHJvcE5hbWVdID0gdmFsdWU7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUlucHV0PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgaW5zdGFuY2U6IFQsXG4gIHByb3BOYW1lOiBLLFxuICB1cGRhdGVyOiAodmFsdWU6IElucHV0U2lnbmFsVHlwZTxUW0tdPikgPT4gSW5wdXRTaWduYWxUeXBlPFRbS10+LFxuKSB7XG4gIGNvbnN0IGlucHV0U2lnbmFsTm9kZSA9IChpbnN0YW5jZSBhcyBhbnkpW3Byb3BOYW1lXVtTSUdOQUxdIGFzIElucHV0U2lnbmFsTm9kZTx1bmtub3duLCB1bmtub3duPjtcbiAgaWYgKGlucHV0U2lnbmFsTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHZhbHVlID0gdXBkYXRlcigoaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV0oKSk7XG4gICAgaW5wdXRTaWduYWxOb2RlLmFwcGx5VmFsdWVUb0lucHV0U2lnbmFsKGlucHV0U2lnbmFsTm9kZSwgdmFsdWUpO1xuICB9IGVsc2Uge1xuICAgIChpbnN0YW5jZSBhcyBhbnkpW3Byb3BOYW1lXSA9IHVwZGF0ZXIoKGluc3RhbmNlIGFzIGFueSlbcHJvcE5hbWVdKTtcbiAgfVxufVxuIl19
@@ -1,73 +0,0 @@
1
- import { ApplicationRef, DestroyRef, Directive, ElementRef, inject, Injector } from "@angular/core";
2
- import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
3
- import { InjectableComponent } from "./injectable-component";
4
- import { EffectMap } from "./effect";
5
- import { NgAtomicActionLogger, NgAtomicInjectorActionStore, NgAtomicRootActionStore } from "./action-store";
6
- import { DebugDirective } from './debug';
7
- import { ActivatedRoute } from "@angular/router";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./debug/debug.directive";
10
- function injectIsRouteComponent(component) {
11
- const route = inject(ActivatedRoute);
12
- const currentComponent = route.snapshot.component;
13
- return currentComponent === component.constructor;
14
- }
15
- export class NgAtomicComponent extends InjectableComponent {
16
- #rootActionStore = inject(NgAtomicRootActionStore);
17
- #injectorActionStore = inject(NgAtomicInjectorActionStore);
18
- #destroyRef = inject(DestroyRef);
19
- #el = inject(ElementRef);
20
- #injector = inject(Injector);
21
- #logger = inject(NgAtomicActionLogger);
22
- #isRouteComponent = injectIsRouteComponent(this);
23
- #appRef = inject(ApplicationRef);
24
- __injector = inject(Injector);
25
- get selector() {
26
- return this.#el.nativeElement.tagName.toLowerCase();
27
- }
28
- get #isBootstrapComponent() {
29
- return this.#appRef.components.some(component => component.instance === this);
30
- }
31
- constructor() {
32
- super();
33
- this.#rootActionStore.actions$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(action => this.effect(action, 'root'));
34
- }
35
- async dispatch(action, scope = 'host', componentId = null) {
36
- const _action = { ...action, meta: { componentId, selector: this.selector } };
37
- this.#logger.log(_action, scope);
38
- const dispatch = await this.effect(_action, scope);
39
- if (dispatch) {
40
- if (scope === 'root') {
41
- return this.#rootActionStore.dispatch(_action);
42
- }
43
- else if (this.#isRouteComponent || this.#isBootstrapComponent) {
44
- return this.#injectorActionStore.dispatch(this.#injector, _action);
45
- }
46
- else {
47
- return super.dispatch(_action);
48
- }
49
- }
50
- }
51
- async effect(action, scope = 'host') {
52
- // MEMO(@nontangent): _effectMapをpropertyに持つとEffectが機能しなくなる
53
- const effectMap = (this['_effectMap'] ?? new EffectMap());
54
- const effect = effectMap.get(action.id, scope);
55
- if (effect?.key && effect?.props?.scope === scope) {
56
- await this[effect.key](effect.props.accessor(action));
57
- return !!effect?.props?.dispatch;
58
- }
59
- return true;
60
- }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
62
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: NgAtomicComponent, isStandalone: true, usesInheritance: true, hostDirectives: [{ directive: i1.DebugDirective }], ngImport: i0 });
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicComponent, decorators: [{
65
- type: Directive,
66
- args: [{
67
- standalone: true,
68
- hostDirectives: [
69
- DebugDirective,
70
- ],
71
- }]
72
- }], ctorParameters: () => [] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29yZS9zcmMvbGliL25nLWF0b21pYy1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUdqRCxTQUFTLHNCQUFzQixDQUFDLFNBQVM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsT0FBTyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsV0FBVyxDQUFDO0FBQ3BELENBQUM7QUFRRCxNQUFNLE9BQU8saUJBQTJCLFNBQVEsbUJBQXNCO0lBQ3BFLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ25ELG9CQUFvQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzNELFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMs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O1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQXZEVSxpQkFBaUI7MkZBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFO3dCQUNkLGNBQWM7cUJBQ2Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcIi4vYWN0aW9uXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vaW5qZWN0YWJsZS1jb21wb25lbnRcIjtcbmltcG9ydCB7IEVmZmVjdE1hcCB9IGZyb20gXCIuL2VmZmVjdFwiO1xuaW1wb3J0IHsgTmdBdG9taWNBY3Rpb25Mb2dnZXIsIE5nQXRvbWljSW5qZWN0b3JBY3Rpb25TdG9yZSwgTmdBdG9taWNSb290QWN0aW9uU3RvcmUgfSBmcm9tIFwiLi9hY3Rpb24tc3RvcmVcIjtcbmltcG9ydCB7IERlYnVnRGlyZWN0aXZlIH0gZnJvbSAnLi9kZWJ1Zyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcblxuXG5mdW5jdGlvbiBpbmplY3RJc1JvdXRlQ29tcG9uZW50KGNvbXBvbmVudCkge1xuICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIGNvbnN0IGN1cnJlbnRDb21wb25lbnQgPSByb3V0ZS5zbmFwc2hvdC5jb21wb25lbnQ7XG4gIHJldHVybiBjdXJyZW50Q29tcG9uZW50ID09PSBjb21wb25lbnQuY29uc3RydWN0b3I7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIERlYnVnRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0F0b21pY0NvbXBvbmVudDxUID0gYW55PiBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQ8VD4ge1xuICAjcm9vdEFjdGlvblN0b3JlID0gaW5qZWN0KE5nQXRvbWljUm9vdEFjdGlvblN0b3JlKTtcbiAgI2luamVjdG9yQWN0aW9uU3RvcmUgPSBpbmplY3QoTmdBdG9taWNJbmplY3RvckFjdGlvblN0b3JlKTtcbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICNlbCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgI2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgI2xvZ2dlciA9IGluamVjdChOZ0F0b21pY0FjdGlvbkxvZ2dlcik7XG4gICNpc1JvdXRlQ29tcG9uZW50ID0gaW5qZWN0SXNSb3V0ZUNvbXBvbmVudCh0aGlzKTtcbiAgI2FwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIF9faW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGdldCBzZWxlY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy4jZWwubmF0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBnZXQgI2lzQm9vdHN0cmFwQ29tcG9uZW50KCkge1xuICAgIHJldHVybiB0aGlzLiNhcHBSZWYuY29tcG9uZW50cy5zb21lKGNvbXBvbmVudCA9PiBjb21wb25lbnQuaW5zdGFuY2UgPT09IHRoaXMpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLiNyb290QWN0aW9uU3RvcmUuYWN0aW9ucyQucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSxcbiAgICApLnN1YnNjcmliZShhY3Rpb24gPT4gdGhpcy5lZmZlY3QoYWN0aW9uLCAncm9vdCcpKTtcbiAgfVxuXG4gIGFzeW5jIGRpc3BhdGNoKFxuICAgIGFjdGlvbjogQWN0aW9uLFxuICAgIHNjb3BlID0gJ2hvc3QnLFxuICAgIGNvbXBvbmVudElkOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbCxcbiAgKSB7XG4gICAgY29uc3QgX2FjdGlvbiA9IHsuLi5hY3Rpb24sIG1ldGE6IHsgY29tcG9uZW50SWQsIHNlbGVjdG9yOiB0aGlzLnNlbGVjdG9yIH19O1xuICAgIHRoaXMuI2xvZ2dlci5sb2coX2FjdGlvbiwgc2NvcGUpO1xuICAgIGNvbnN0IGRpc3BhdGNoID0gYXdhaXQgdGhpcy5lZmZlY3QoX2FjdGlvbiwgc2NvcGUpO1xuXG4gICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICBpZiAoc2NvcGUgPT09ICdyb290Jykge1xuICAgICAgICByZXR1cm4gdGhpcy4jcm9vdEFjdGlvblN0b3JlLmRpc3BhdGNoKF9hY3Rpb24pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLiNpc1JvdXRlQ29tcG9uZW50IHx8IHRoaXMuI2lzQm9vdHN0cmFwQ29tcG9uZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLiNpbmplY3RvckFjdGlvblN0b3JlLmRpc3BhdGNoKHRoaXMuI2luamVjdG9yLCBfYWN0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzdXBlci5kaXNwYXRjaChfYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZWZmZWN0KGFjdGlvbjogQWN0aW9uLCBzY29wZSA9ICdob3N0Jyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIE1FTU8oQG5vbnRhbmdlbnQpOiBfZWZmZWN0TWFw44KScHJvcGVydHnjgavmjIHjgaTjgahFZmZlY3TjgYzmqZ/og73jgZfjgarjgY/jgarjgotcbiAgICBjb25zdCBlZmZlY3RNYXA6IEVmZmVjdE1hcCA9ICh0aGlzWydfZWZmZWN0TWFwJ10gPz8gbmV3IEVmZmVjdE1hcCgpKTtcbiAgICBjb25zdCBlZmZlY3QgPSBlZmZlY3RNYXAuZ2V0KGFjdGlvbi5pZCwgc2NvcGUpO1xuICAgIGlmIChlZmZlY3Q/LmtleSAmJiBlZmZlY3Q/LnByb3BzPy5zY29wZSA9PT0gc2NvcGUpIHtcbiAgICAgIGF3YWl0IHRoaXNbZWZmZWN0LmtleV0oZWZmZWN0LnByb3BzLmFjY2Vzc29yKGFjdGlvbikpO1xuICAgICAgcmV0dXJuICEhZWZmZWN0Py5wcm9wcz8uZGlzcGF0Y2g7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- export const NG_ATOMIC_DEBUG = new InjectionToken('NG_ATOMIC_DEBUG');
3
- export function withNgAtomicDebug() {
4
- return { provide: NG_ATOMIC_DEBUG, useValue: true };
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWRlYnVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvbmctYXRvbWljLWRlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFVLGlCQUFpQixDQUFDLENBQUM7QUFDOUUsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNvbnN0IE5HX0FUT01JQ19ERUJVRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignTkdfQVRPTUlDX0RFQlVHJyk7XG5leHBvcnQgZnVuY3Rpb24gd2l0aE5nQXRvbWljRGVidWcoKSB7XG4gIHJldHVybiB7cHJvdmlkZTogTkdfQVRPTUlDX0RFQlVHLCB1c2VWYWx1ZTogdHJ1ZX07XG59XG4iXX0=