@ngxs-labs/action-lifecycle-hooks 0.1.6 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/esm2020/index.mjs +3 -0
  2. package/esm2020/lib/action-decorator-helpers.mjs +37 -0
  3. package/esm2020/lib/ngxs-action-lifecycle-hooks.module.mjs +23 -0
  4. package/esm2020/lib/ngxs-action-lifecycle-hooks.state.mjs +47 -0
  5. package/esm2020/lib/utils.mjs +15 -0
  6. package/esm2020/ngxs-labs-action-lifecycle-hooks.mjs +5 -0
  7. package/fesm2015/ngxs-labs-action-lifecycle-hooks.mjs +118 -0
  8. package/fesm2015/ngxs-labs-action-lifecycle-hooks.mjs.map +1 -0
  9. package/{fesm2015/ngxs-labs-action-lifecycle-hooks.js → fesm2020/ngxs-labs-action-lifecycle-hooks.mjs} +33 -26
  10. package/fesm2020/ngxs-labs-action-lifecycle-hooks.mjs.map +1 -0
  11. package/index.d.ts +1 -1
  12. package/lib/ngxs-action-lifecycle-hooks.module.d.ts +6 -0
  13. package/lib/ngxs-action-lifecycle-hooks.state.d.ts +3 -0
  14. package/package.json +20 -8
  15. package/bundles/ngxs-labs-action-lifecycle-hooks.umd.js +0 -425
  16. package/bundles/ngxs-labs-action-lifecycle-hooks.umd.js.map +0 -1
  17. package/bundles/ngxs-labs-action-lifecycle-hooks.umd.min.js +0 -16
  18. package/bundles/ngxs-labs-action-lifecycle-hooks.umd.min.js.map +0 -1
  19. package/esm2015/index.js +0 -3
  20. package/esm2015/index.js.map +0 -1
  21. package/esm2015/index.metadata.json +0 -1
  22. package/esm2015/lib/action-decorator-helpers.js +0 -37
  23. package/esm2015/lib/action-decorator-helpers.js.map +0 -1
  24. package/esm2015/lib/action-decorator-helpers.metadata.json +0 -1
  25. package/esm2015/lib/ngxs-action-lifecycle-hooks.module.js +0 -16
  26. package/esm2015/lib/ngxs-action-lifecycle-hooks.module.js.map +0 -1
  27. package/esm2015/lib/ngxs-action-lifecycle-hooks.module.metadata.json +0 -1
  28. package/esm2015/lib/ngxs-action-lifecycle-hooks.state.js +0 -46
  29. package/esm2015/lib/ngxs-action-lifecycle-hooks.state.js.map +0 -1
  30. package/esm2015/lib/ngxs-action-lifecycle-hooks.state.metadata.json +0 -1
  31. package/esm2015/lib/utils.js +0 -14
  32. package/esm2015/lib/utils.js.map +0 -1
  33. package/esm2015/lib/utils.metadata.json +0 -1
  34. package/esm2015/ngxs-labs-action-lifecycle-hooks.js +0 -6
  35. package/esm2015/ngxs-labs-action-lifecycle-hooks.js.map +0 -1
  36. package/esm2015/ngxs-labs-action-lifecycle-hooks.metadata.json +0 -1
  37. package/fesm2015/ngxs-labs-action-lifecycle-hooks.js.map +0 -1
  38. package/ngxs-labs-action-lifecycle-hooks.d.ts +0 -5
  39. package/ngxs-labs-action-lifecycle-hooks.metadata.json +0 -1
@@ -0,0 +1,3 @@
1
+ export * from './lib/action-decorator-helpers';
2
+ export * from './lib/ngxs-action-lifecycle-hooks.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FjdGlvbi1saWZlY3ljbGUtaG9va3Mvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbi1kZWNvcmF0b3ItaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3hzLWFjdGlvbi1saWZlY3ljbGUtaG9va3MubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { getActionTypeFromInstance } from '@ngxs/store';
2
+ import { addToLifecycleHooks } from './utils';
3
+ export function ActionSuccessful(actionType) {
4
+ var _a;
5
+ addToLifecycleHooks(actionType, 'Successful');
6
+ return _a = class {
7
+ constructor(action) {
8
+ this.action = action;
9
+ }
10
+ },
11
+ _a.type = `${getActionTypeFromInstance(actionType)} Successful`,
12
+ _a;
13
+ }
14
+ export function ActionErrored(actionType) {
15
+ var _a;
16
+ addToLifecycleHooks(actionType, 'Errored');
17
+ return _a = class {
18
+ constructor(action, error) {
19
+ this.action = action;
20
+ this.error = error;
21
+ }
22
+ },
23
+ _a.type = `${getActionTypeFromInstance(actionType)} Errored`,
24
+ _a;
25
+ }
26
+ export function ActionCancelled(actionType) {
27
+ var _a;
28
+ addToLifecycleHooks(actionType, 'Canceled');
29
+ return _a = class {
30
+ constructor(action) {
31
+ this.action = action;
32
+ }
33
+ },
34
+ _a.type = `${getActionTypeFromInstance(actionType)} Canceled`,
35
+ _a;
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRlY29yYXRvci1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hY3Rpb24tbGlmZWN5Y2xlLWhvb2tzL3NyYy9saWIvYWN0aW9uLWRlY29yYXRvci1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFNOUMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFVBQXNCOztJQUNyRCxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDOUMsWUFBTztZQUlMLFlBQW1CLE1BQVc7Z0JBQVgsV0FBTSxHQUFOLE1BQU0sQ0FBSztZQUFHLENBQUM7U0FDbkM7UUFKaUIsT0FBSSxHQUFHLEdBQUcseUJBQXlCLENBQ2pELFVBQVUsQ0FDWCxhQUFjO1dBRWY7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxVQUFzQjs7SUFDbEQsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLFlBQU87WUFFTCxZQUFtQixNQUFXLEVBQVMsS0FBVTtnQkFBOUIsV0FBTSxHQUFOLE1BQU0sQ0FBSztnQkFBUyxVQUFLLEdBQUwsS0FBSyxDQUFLO1lBQUcsQ0FBQztTQUN0RDtRQUZpQixPQUFJLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsVUFBVztXQUUxRTtBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFVBQXNCOztJQUNwRCxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDNUMsWUFBTztZQUVMLFlBQW1CLE1BQVc7Z0JBQVgsV0FBTSxHQUFOLE1BQU0sQ0FBSztZQUFHLENBQUM7U0FDbkM7UUFGaUIsT0FBSSxHQUFHLEdBQUcseUJBQXlCLENBQUMsVUFBVSxDQUFDLFdBQVk7V0FFM0U7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uVHlwZSwgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGFkZFRvTGlmZWN5Y2xlSG9va3MgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgU3VjY2Vzc2Z1bDxBPiA9IHsgYWN0aW9uOiBBIH07XG5leHBvcnQgdHlwZSBFcnJvcmVkPEE+ID0geyBhY3Rpb246IEE7IGVycm9yOiBhbnkgfTtcbmV4cG9ydCB0eXBlIENhbmNlbGxlZDxBPiA9IHsgYWN0aW9uOiBBIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBBY3Rpb25TdWNjZXNzZnVsKGFjdGlvblR5cGU6IEFjdGlvblR5cGUpIHtcbiAgYWRkVG9MaWZlY3ljbGVIb29rcyhhY3Rpb25UeXBlLCAnU3VjY2Vzc2Z1bCcpO1xuICByZXR1cm4gY2xhc3Mge1xuICAgIHN0YXRpYyByZWFkb25seSB0eXBlID0gYCR7Z2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShcbiAgICAgIGFjdGlvblR5cGVcbiAgICApfSBTdWNjZXNzZnVsYDtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYWN0aW9uOiBhbnkpIHt9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBY3Rpb25FcnJvcmVkKGFjdGlvblR5cGU6IEFjdGlvblR5cGUpIHtcbiAgYWRkVG9MaWZlY3ljbGVIb29rcyhhY3Rpb25UeXBlLCAnRXJyb3JlZCcpO1xuICByZXR1cm4gY2xhc3Mge1xuICAgIHN0YXRpYyByZWFkb25seSB0eXBlID0gYCR7Z2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb25UeXBlKX0gRXJyb3JlZGA7XG4gICAgY29uc3RydWN0b3IocHVibGljIGFjdGlvbjogYW55LCBwdWJsaWMgZXJyb3I6IGFueSkge31cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFjdGlvbkNhbmNlbGxlZChhY3Rpb25UeXBlOiBBY3Rpb25UeXBlKSB7XG4gIGFkZFRvTGlmZWN5Y2xlSG9va3MoYWN0aW9uVHlwZSwgJ0NhbmNlbGVkJyk7XG4gIHJldHVybiBjbGFzcyB7XG4gICAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSBgJHtnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvblR5cGUpfSBDYW5jZWxlZGA7XG4gICAgY29uc3RydWN0b3IocHVibGljIGFjdGlvbjogYW55KSB7fVxuICB9O1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { NgxsModule } from "@ngxs/store";
4
+ import { NgxsActionLifecycleHooksState } from "./ngxs-action-lifecycle-hooks.state";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngxs/store";
7
+ export class NgxsActionLifecycleHooksModule {
8
+ }
9
+ NgxsActionLifecycleHooksModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ NgxsActionLifecycleHooksModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, imports: [CommonModule, i1.ɵNgxsFeatureModule] });
11
+ NgxsActionLifecycleHooksModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, imports: [CommonModule,
12
+ NgxsModule.forFeature([NgxsActionLifecycleHooksState])] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [
17
+ CommonModule,
18
+ NgxsModule.forFeature([NgxsActionLifecycleHooksState])
19
+ ],
20
+ declarations: []
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1hY3Rpb24tbGlmZWN5Y2xlLWhvb2tzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYWN0aW9uLWxpZmVjeWNsZS1ob29rcy9zcmMvbGliL25neHMtYWN0aW9uLWxpZmVjeWNsZS1ob29rcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBU3BGLE1BQU0sT0FBTyw4QkFBOEI7OzJIQUE5Qiw4QkFBOEI7NEhBQTlCLDhCQUE4QixZQUx2QyxZQUFZOzRIQUtILDhCQUE4QixZQUx2QyxZQUFZO1FBQ1osVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLENBQUM7MkZBSTdDLDhCQUE4QjtrQkFQMUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsNkJBQTZCLENBQUMsQ0FBQztxQkFDdkQ7b0JBQ0QsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmd4c01vZHVsZSB9IGZyb20gXCJAbmd4cy9zdG9yZVwiO1xuaW1wb3J0IHsgTmd4c0FjdGlvbkxpZmVjeWNsZUhvb2tzU3RhdGUgfSBmcm9tIFwiLi9uZ3hzLWFjdGlvbi1saWZlY3ljbGUtaG9va3Muc3RhdGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ3hzTW9kdWxlLmZvckZlYXR1cmUoW05neHNBY3Rpb25MaWZlY3ljbGVIb29rc1N0YXRlXSlcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzQWN0aW9uTGlmZWN5Y2xlSG9va3NNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { State, Actions, Store, ofActionCompleted, getActionTypeFromInstance } from '@ngxs/store';
4
+ import { asapScheduler } from 'rxjs';
5
+ import { observeOn } from 'rxjs/operators';
6
+ import { ActionCancelled, ActionErrored, ActionSuccessful } from './action-decorator-helpers';
7
+ import { actionLifecycleHooks } from './utils';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngxs/store";
10
+ let NgxsActionLifecycleHooksState = class NgxsActionLifecycleHooksState {
11
+ constructor(actions, store) {
12
+ this.actions = actions;
13
+ this.store = store;
14
+ const arr = Object.keys(actionLifecycleHooks).map((key) => ({ type: key }));
15
+ this.actions.pipe(ofActionCompleted(...arr), observeOn(asapScheduler)).subscribe((actionCompletion) => {
16
+ const actionTypeOk = getActionTypeFromInstance(actionCompletion.action) || '';
17
+ if (actionCompletion.result.successful &&
18
+ actionLifecycleHooks[actionTypeOk].includes('Successful')) {
19
+ const ActionSuccessfulClass = ActionSuccessful(actionCompletion.action);
20
+ this.store.dispatch(new ActionSuccessfulClass(actionCompletion.action));
21
+ }
22
+ if (actionCompletion.result.error &&
23
+ actionLifecycleHooks[actionTypeOk].includes('Errored')) {
24
+ const ActionErroredClass = ActionErrored(actionCompletion.action);
25
+ this.store.dispatch(new ActionErroredClass(actionCompletion.action, actionCompletion.result.error));
26
+ }
27
+ if (actionCompletion.result.canceled &&
28
+ actionLifecycleHooks[actionTypeOk].includes('Canceled')) {
29
+ const ActionCancelledClass = ActionCancelled(actionCompletion.action);
30
+ this.store.dispatch(new ActionCancelledClass(actionCompletion.action));
31
+ }
32
+ });
33
+ }
34
+ };
35
+ NgxsActionLifecycleHooksState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState, deps: [{ token: i1.Actions }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ NgxsActionLifecycleHooksState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState });
37
+ NgxsActionLifecycleHooksState = __decorate([
38
+ State({
39
+ name: 'NgxsActionLifecycleHooksState',
40
+ }),
41
+ __metadata("design:paramtypes", [Actions, Store])
42
+ ], NgxsActionLifecycleHooksState);
43
+ export { NgxsActionLifecycleHooksState };
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState, decorators: [{
45
+ type: Injectable
46
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i1.Store }]; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1hY3Rpb24tbGlmZWN5Y2xlLWhvb2tzLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hY3Rpb24tbGlmZWN5Y2xlLWhvb2tzL3NyYy9saWIvbmd4cy1hY3Rpb24tbGlmZWN5Y2xlLWhvb2tzLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBTXhDLElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBQ3hDLFlBQW9CLE9BQWdCLEVBQVUsS0FBWTtRQUF0QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN4RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDcEcsTUFBTSxZQUFZLEdBQUkseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQzlFLElBQ0UsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVU7Z0JBQ2xDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFDekQ7Z0JBQ0EsTUFBTSxxQkFBcUIsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ3pFO1lBQ0QsSUFDRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSztnQkFDN0Isb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUN0RDtnQkFDQSxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDckc7WUFDRCxJQUNFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRO2dCQUNoQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQ3ZEO2dCQUNBLE1BQU0sb0JBQW9CLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDeEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBIQTNCVSw2QkFBNkI7OEhBQTdCLDZCQUE2QjtBQUE3Qiw2QkFBNkI7SUFKekMsS0FBSyxDQUFNO1FBQ1YsSUFBSSxFQUFFLCtCQUErQjtLQUN0QyxDQUFDO3FDQUc2QixPQUFPLEVBQWlCLEtBQUs7R0FEL0MsNkJBQTZCLENBNEJ6QztTQTVCWSw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXRlLCBBY3Rpb25zLCBTdG9yZSwgb2ZBY3Rpb25Db21wbGV0ZWQsIGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBhc2FwU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBvYnNlcnZlT24gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25DYW5jZWxsZWQsIEFjdGlvbkVycm9yZWQsIEFjdGlvblN1Y2Nlc3NmdWwgfSBmcm9tICcuL2FjdGlvbi1kZWNvcmF0b3ItaGVscGVycyc7XG5pbXBvcnQgeyBhY3Rpb25MaWZlY3ljbGVIb29rcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5AU3RhdGU8YW55Pih7XG4gIG5hbWU6ICdOZ3hzQWN0aW9uTGlmZWN5Y2xlSG9va3NTdGF0ZScsXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neHNBY3Rpb25MaWZlY3ljbGVIb29rc1N0YXRlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zOiBBY3Rpb25zLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIGNvbnN0IGFyciA9IE9iamVjdC5rZXlzKGFjdGlvbkxpZmVjeWNsZUhvb2tzKS5tYXAoKGtleSkgPT4gKHsgdHlwZToga2V5IH0pKTtcbiAgICB0aGlzLmFjdGlvbnMucGlwZShvZkFjdGlvbkNvbXBsZXRlZCguLi5hcnIpLCBvYnNlcnZlT24oYXNhcFNjaGVkdWxlcikpLnN1YnNjcmliZSgoYWN0aW9uQ29tcGxldGlvbikgPT4ge1xuICAgICAgY29uc3QgYWN0aW9uVHlwZU9rID0gIGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uQ29tcGxldGlvbi5hY3Rpb24pIHx8ICcnXG4gICAgICBpZiAoXG4gICAgICAgIGFjdGlvbkNvbXBsZXRpb24ucmVzdWx0LnN1Y2Nlc3NmdWwgJiZcbiAgICAgICAgYWN0aW9uTGlmZWN5Y2xlSG9va3NbYWN0aW9uVHlwZU9rXS5pbmNsdWRlcygnU3VjY2Vzc2Z1bCcpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgQWN0aW9uU3VjY2Vzc2Z1bENsYXNzID0gQWN0aW9uU3VjY2Vzc2Z1bChhY3Rpb25Db21wbGV0aW9uLmFjdGlvbik7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEFjdGlvblN1Y2Nlc3NmdWxDbGFzcyhhY3Rpb25Db21wbGV0aW9uLmFjdGlvbikpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBhY3Rpb25Db21wbGV0aW9uLnJlc3VsdC5lcnJvciAmJlxuICAgICAgICBhY3Rpb25MaWZlY3ljbGVIb29rc1thY3Rpb25UeXBlT2tdLmluY2x1ZGVzKCdFcnJvcmVkJylcbiAgICAgICkge1xuICAgICAgICBjb25zdCBBY3Rpb25FcnJvcmVkQ2xhc3MgPSBBY3Rpb25FcnJvcmVkKGFjdGlvbkNvbXBsZXRpb24uYWN0aW9uKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQWN0aW9uRXJyb3JlZENsYXNzKGFjdGlvbkNvbXBsZXRpb24uYWN0aW9uLCBhY3Rpb25Db21wbGV0aW9uLnJlc3VsdC5lcnJvcikpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBhY3Rpb25Db21wbGV0aW9uLnJlc3VsdC5jYW5jZWxlZCAmJlxuICAgICAgICBhY3Rpb25MaWZlY3ljbGVIb29rc1thY3Rpb25UeXBlT2tdLmluY2x1ZGVzKCdDYW5jZWxlZCcpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgQWN0aW9uQ2FuY2VsbGVkQ2xhc3MgPSBBY3Rpb25DYW5jZWxsZWQoYWN0aW9uQ29tcGxldGlvbi5hY3Rpb24pO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBY3Rpb25DYW5jZWxsZWRDbGFzcyhhY3Rpb25Db21wbGV0aW9uLmFjdGlvbikpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { getActionTypeFromInstance } from '@ngxs/store';
2
+ export const actionLifecycleHooks = {};
3
+ export function addToLifecycleHooks(actionType, hook) {
4
+ const actionTypeOk = getActionTypeFromInstance(actionType) || '';
5
+ if (!actionLifecycleHooks[actionTypeOk]) {
6
+ actionLifecycleHooks[actionTypeOk] = [hook];
7
+ }
8
+ else {
9
+ actionLifecycleHooks[actionTypeOk] = [
10
+ ...actionLifecycleHooks[actionTypeOk],
11
+ hook,
12
+ ];
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FjdGlvbi1saWZlY3ljbGUtaG9va3Mvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMseUJBQXlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHcEUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQStCLEVBQUUsQ0FBQztBQUVuRSxNQUFNLFVBQVUsbUJBQW1CLENBQUMsVUFBc0IsRUFBRSxJQUFXO0lBQ3JFLE1BQU0sWUFBWSxHQUFJLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNqRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDdkMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM3QztTQUFNO1FBQ0wsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEdBQUc7WUFDbkMsR0FBRyxvQkFBb0IsQ0FBQyxZQUFZLENBQUM7WUFDckMsSUFBSTtTQUNMLENBQUM7S0FDSDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25UeXBlLCBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5leHBvcnQgdHlwZSBIb29rcyA9ICdTdWNjZXNzZnVsJyB8ICdFcnJvcmVkJyB8ICdDYW5jZWxlZCc7XG5leHBvcnQgY29uc3QgYWN0aW9uTGlmZWN5Y2xlSG9va3M6IHsgW2tleTogc3RyaW5nXTogSG9va3NbXSB9ID0ge307XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRUb0xpZmVjeWNsZUhvb2tzKGFjdGlvblR5cGU6IEFjdGlvblR5cGUsIGhvb2s6IEhvb2tzKSB7XG4gIGNvbnN0IGFjdGlvblR5cGVPayA9ICBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvblR5cGUpIHx8ICcnXG4gIGlmICghYWN0aW9uTGlmZWN5Y2xlSG9va3NbYWN0aW9uVHlwZU9rXSkge1xuICAgIGFjdGlvbkxpZmVjeWNsZUhvb2tzW2FjdGlvblR5cGVPa10gPSBbaG9va107XG4gIH0gZWxzZSB7XG4gICAgYWN0aW9uTGlmZWN5Y2xlSG9va3NbYWN0aW9uVHlwZU9rXSA9IFtcbiAgICAgIC4uLmFjdGlvbkxpZmVjeWNsZUhvb2tzW2FjdGlvblR5cGVPa10sXG4gICAgICBob29rLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1sYWJzLWFjdGlvbi1saWZlY3ljbGUtaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FjdGlvbi1saWZlY3ljbGUtaG9va3Mvc3JjL25neHMtbGFicy1hY3Rpb24tbGlmZWN5Y2xlLWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,118 @@
1
+ import * as i1 from '@ngxs/store';
2
+ import { getActionTypeFromInstance, ofActionCompleted, State, Actions, Store, NgxsModule } from '@ngxs/store';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, NgModule } from '@angular/core';
5
+ import { CommonModule } from '@angular/common';
6
+ import { __decorate, __metadata } from 'tslib';
7
+ import { asapScheduler } from 'rxjs';
8
+ import { observeOn } from 'rxjs/operators';
9
+
10
+ const actionLifecycleHooks = {};
11
+ function addToLifecycleHooks(actionType, hook) {
12
+ const actionTypeOk = getActionTypeFromInstance(actionType) || '';
13
+ if (!actionLifecycleHooks[actionTypeOk]) {
14
+ actionLifecycleHooks[actionTypeOk] = [hook];
15
+ }
16
+ else {
17
+ actionLifecycleHooks[actionTypeOk] = [
18
+ ...actionLifecycleHooks[actionTypeOk],
19
+ hook,
20
+ ];
21
+ }
22
+ }
23
+
24
+ function ActionSuccessful(actionType) {
25
+ var _a;
26
+ addToLifecycleHooks(actionType, 'Successful');
27
+ return _a = class {
28
+ constructor(action) {
29
+ this.action = action;
30
+ }
31
+ },
32
+ _a.type = `${getActionTypeFromInstance(actionType)} Successful`,
33
+ _a;
34
+ }
35
+ function ActionErrored(actionType) {
36
+ var _a;
37
+ addToLifecycleHooks(actionType, 'Errored');
38
+ return _a = class {
39
+ constructor(action, error) {
40
+ this.action = action;
41
+ this.error = error;
42
+ }
43
+ },
44
+ _a.type = `${getActionTypeFromInstance(actionType)} Errored`,
45
+ _a;
46
+ }
47
+ function ActionCancelled(actionType) {
48
+ var _a;
49
+ addToLifecycleHooks(actionType, 'Canceled');
50
+ return _a = class {
51
+ constructor(action) {
52
+ this.action = action;
53
+ }
54
+ },
55
+ _a.type = `${getActionTypeFromInstance(actionType)} Canceled`,
56
+ _a;
57
+ }
58
+
59
+ let NgxsActionLifecycleHooksState = class NgxsActionLifecycleHooksState {
60
+ constructor(actions, store) {
61
+ this.actions = actions;
62
+ this.store = store;
63
+ const arr = Object.keys(actionLifecycleHooks).map((key) => ({ type: key }));
64
+ this.actions.pipe(ofActionCompleted(...arr), observeOn(asapScheduler)).subscribe((actionCompletion) => {
65
+ const actionTypeOk = getActionTypeFromInstance(actionCompletion.action) || '';
66
+ if (actionCompletion.result.successful &&
67
+ actionLifecycleHooks[actionTypeOk].includes('Successful')) {
68
+ const ActionSuccessfulClass = ActionSuccessful(actionCompletion.action);
69
+ this.store.dispatch(new ActionSuccessfulClass(actionCompletion.action));
70
+ }
71
+ if (actionCompletion.result.error &&
72
+ actionLifecycleHooks[actionTypeOk].includes('Errored')) {
73
+ const ActionErroredClass = ActionErrored(actionCompletion.action);
74
+ this.store.dispatch(new ActionErroredClass(actionCompletion.action, actionCompletion.result.error));
75
+ }
76
+ if (actionCompletion.result.canceled &&
77
+ actionLifecycleHooks[actionTypeOk].includes('Canceled')) {
78
+ const ActionCancelledClass = ActionCancelled(actionCompletion.action);
79
+ this.store.dispatch(new ActionCancelledClass(actionCompletion.action));
80
+ }
81
+ });
82
+ }
83
+ };
84
+ NgxsActionLifecycleHooksState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState, deps: [{ token: i1.Actions }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
85
+ NgxsActionLifecycleHooksState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState });
86
+ NgxsActionLifecycleHooksState = __decorate([
87
+ State({
88
+ name: 'NgxsActionLifecycleHooksState',
89
+ }),
90
+ __metadata("design:paramtypes", [Actions, Store])
91
+ ], NgxsActionLifecycleHooksState);
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState, decorators: [{
93
+ type: Injectable
94
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i1.Store }]; } });
95
+
96
+ class NgxsActionLifecycleHooksModule {
97
+ }
98
+ NgxsActionLifecycleHooksModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
99
+ NgxsActionLifecycleHooksModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, imports: [CommonModule, i1.ɵNgxsFeatureModule] });
100
+ NgxsActionLifecycleHooksModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, imports: [CommonModule,
101
+ NgxsModule.forFeature([NgxsActionLifecycleHooksState])] });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, decorators: [{
103
+ type: NgModule,
104
+ args: [{
105
+ imports: [
106
+ CommonModule,
107
+ NgxsModule.forFeature([NgxsActionLifecycleHooksState])
108
+ ],
109
+ declarations: []
110
+ }]
111
+ }] });
112
+
113
+ /**
114
+ * Generated bundle index. Do not edit.
115
+ */
116
+
117
+ export { ActionCancelled, ActionErrored, ActionSuccessful, NgxsActionLifecycleHooksModule };
118
+ //# sourceMappingURL=ngxs-labs-action-lifecycle-hooks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxs-labs-action-lifecycle-hooks.mjs","sources":["../../../../libs/action-lifecycle-hooks/src/lib/utils.ts","../../../../libs/action-lifecycle-hooks/src/lib/action-decorator-helpers.ts","../../../../libs/action-lifecycle-hooks/src/lib/ngxs-action-lifecycle-hooks.state.ts","../../../../libs/action-lifecycle-hooks/src/lib/ngxs-action-lifecycle-hooks.module.ts","../../../../libs/action-lifecycle-hooks/src/ngxs-labs-action-lifecycle-hooks.ts"],"sourcesContent":["import { ActionType, getActionTypeFromInstance } from '@ngxs/store';\n\nexport type Hooks = 'Successful' | 'Errored' | 'Canceled';\nexport const actionLifecycleHooks: { [key: string]: Hooks[] } = {};\n\nexport function addToLifecycleHooks(actionType: ActionType, hook: Hooks) {\n const actionTypeOk = getActionTypeFromInstance(actionType) || ''\n if (!actionLifecycleHooks[actionTypeOk]) {\n actionLifecycleHooks[actionTypeOk] = [hook];\n } else {\n actionLifecycleHooks[actionTypeOk] = [\n ...actionLifecycleHooks[actionTypeOk],\n hook,\n ];\n }\n}\n","import { ActionType, getActionTypeFromInstance } from '@ngxs/store';\nimport { addToLifecycleHooks } from './utils';\n\nexport type Successful<A> = { action: A };\nexport type Errored<A> = { action: A; error: any };\nexport type Cancelled<A> = { action: A };\n\nexport function ActionSuccessful(actionType: ActionType) {\n addToLifecycleHooks(actionType, 'Successful');\n return class {\n static readonly type = `${getActionTypeFromInstance(\n actionType\n )} Successful`;\n constructor(public action: any) {}\n };\n}\n\nexport function ActionErrored(actionType: ActionType) {\n addToLifecycleHooks(actionType, 'Errored');\n return class {\n static readonly type = `${getActionTypeFromInstance(actionType)} Errored`;\n constructor(public action: any, public error: any) {}\n };\n}\n\nexport function ActionCancelled(actionType: ActionType) {\n addToLifecycleHooks(actionType, 'Canceled');\n return class {\n static readonly type = `${getActionTypeFromInstance(actionType)} Canceled`;\n constructor(public action: any) {}\n };\n}\n","import { Injectable } from '@angular/core';\nimport { State, Actions, Store, ofActionCompleted, getActionTypeFromInstance } from '@ngxs/store';\nimport { asapScheduler } from 'rxjs';\nimport { observeOn } from 'rxjs/operators';\nimport { ActionCancelled, ActionErrored, ActionSuccessful } from './action-decorator-helpers';\nimport { actionLifecycleHooks } from './utils';\n\n@State<any>({\n name: 'NgxsActionLifecycleHooksState',\n})\n@Injectable()\nexport class NgxsActionLifecycleHooksState {\n constructor(private actions: Actions, private store: Store) {\n const arr = Object.keys(actionLifecycleHooks).map((key) => ({ type: key }));\n this.actions.pipe(ofActionCompleted(...arr), observeOn(asapScheduler)).subscribe((actionCompletion) => {\n const actionTypeOk = getActionTypeFromInstance(actionCompletion.action) || ''\n if (\n actionCompletion.result.successful &&\n actionLifecycleHooks[actionTypeOk].includes('Successful')\n ) {\n const ActionSuccessfulClass = ActionSuccessful(actionCompletion.action);\n this.store.dispatch(new ActionSuccessfulClass(actionCompletion.action));\n }\n if (\n actionCompletion.result.error &&\n actionLifecycleHooks[actionTypeOk].includes('Errored')\n ) {\n const ActionErroredClass = ActionErrored(actionCompletion.action);\n this.store.dispatch(new ActionErroredClass(actionCompletion.action, actionCompletion.result.error));\n }\n if (\n actionCompletion.result.canceled &&\n actionLifecycleHooks[actionTypeOk].includes('Canceled')\n ) {\n const ActionCancelledClass = ActionCancelled(actionCompletion.action);\n this.store.dispatch(new ActionCancelledClass(actionCompletion.action));\n }\n });\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgxsModule } from \"@ngxs/store\";\nimport { NgxsActionLifecycleHooksState } from \"./ngxs-action-lifecycle-hooks.state\";\n\n@NgModule({\n imports: [\n CommonModule,\n NgxsModule.forFeature([NgxsActionLifecycleHooksState])\n ],\n declarations: []\n})\nexport class NgxsActionLifecycleHooksModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,18 +1,21 @@
1
+ import * as i1 from '@ngxs/store';
2
+ import { getActionTypeFromInstance, ofActionCompleted, State, Actions, Store, NgxsModule } from '@ngxs/store';
3
+ import * as i0 from '@angular/core';
1
4
  import { Injectable, NgModule } from '@angular/core';
2
5
  import { CommonModule } from '@angular/common';
3
- import { getActionTypeFromInstance, ofActionCompleted, Actions, Store, State, NgxsModule } from '@ngxs/store';
4
6
  import { __decorate, __metadata } from 'tslib';
5
7
  import { asapScheduler } from 'rxjs';
6
8
  import { observeOn } from 'rxjs/operators';
7
9
 
8
10
  const actionLifecycleHooks = {};
9
11
  function addToLifecycleHooks(actionType, hook) {
10
- if (!actionLifecycleHooks[getActionTypeFromInstance(actionType)]) {
11
- actionLifecycleHooks[getActionTypeFromInstance(actionType)] = [hook];
12
+ const actionTypeOk = getActionTypeFromInstance(actionType) || '';
13
+ if (!actionLifecycleHooks[actionTypeOk]) {
14
+ actionLifecycleHooks[actionTypeOk] = [hook];
12
15
  }
13
16
  else {
14
- actionLifecycleHooks[getActionTypeFromInstance(actionType)] = [
15
- ...actionLifecycleHooks[getActionTypeFromInstance(actionType)],
17
+ actionLifecycleHooks[actionTypeOk] = [
18
+ ...actionLifecycleHooks[actionTypeOk],
16
19
  hook,
17
20
  ];
18
21
  }
@@ -59,53 +62,57 @@ let NgxsActionLifecycleHooksState = class NgxsActionLifecycleHooksState {
59
62
  this.store = store;
60
63
  const arr = Object.keys(actionLifecycleHooks).map((key) => ({ type: key }));
61
64
  this.actions.pipe(ofActionCompleted(...arr), observeOn(asapScheduler)).subscribe((actionCompletion) => {
65
+ const actionTypeOk = getActionTypeFromInstance(actionCompletion.action) || '';
62
66
  if (actionCompletion.result.successful &&
63
- actionLifecycleHooks[getActionTypeFromInstance(actionCompletion.action)].includes('Successful')) {
67
+ actionLifecycleHooks[actionTypeOk].includes('Successful')) {
64
68
  const ActionSuccessfulClass = ActionSuccessful(actionCompletion.action);
65
69
  this.store.dispatch(new ActionSuccessfulClass(actionCompletion.action));
66
70
  }
67
71
  if (actionCompletion.result.error &&
68
- actionLifecycleHooks[getActionTypeFromInstance(actionCompletion.action)].includes('Errored')) {
72
+ actionLifecycleHooks[actionTypeOk].includes('Errored')) {
69
73
  const ActionErroredClass = ActionErrored(actionCompletion.action);
70
74
  this.store.dispatch(new ActionErroredClass(actionCompletion.action, actionCompletion.result.error));
71
75
  }
72
76
  if (actionCompletion.result.canceled &&
73
- actionLifecycleHooks[getActionTypeFromInstance(actionCompletion.action)].includes('Canceled')) {
77
+ actionLifecycleHooks[actionTypeOk].includes('Canceled')) {
74
78
  const ActionCancelledClass = ActionCancelled(actionCompletion.action);
75
79
  this.store.dispatch(new ActionCancelledClass(actionCompletion.action));
76
80
  }
77
81
  });
78
82
  }
79
83
  };
80
- NgxsActionLifecycleHooksState.decorators = [
81
- { type: Injectable }
82
- ];
83
- NgxsActionLifecycleHooksState.ctorParameters = () => [
84
- { type: Actions },
85
- { type: Store }
86
- ];
84
+ NgxsActionLifecycleHooksState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState, deps: [{ token: i1.Actions }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
85
+ NgxsActionLifecycleHooksState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState });
87
86
  NgxsActionLifecycleHooksState = __decorate([
88
87
  State({
89
88
  name: 'NgxsActionLifecycleHooksState',
90
89
  }),
91
90
  __metadata("design:paramtypes", [Actions, Store])
92
91
  ], NgxsActionLifecycleHooksState);
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksState, decorators: [{
93
+ type: Injectable
94
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i1.Store }]; } });
93
95
 
94
96
  class NgxsActionLifecycleHooksModule {
95
97
  }
96
- NgxsActionLifecycleHooksModule.decorators = [
97
- { type: NgModule, args: [{
98
- imports: [
99
- CommonModule,
100
- NgxsModule.forFeature([NgxsActionLifecycleHooksState])
101
- ],
102
- declarations: []
103
- },] }
104
- ];
98
+ NgxsActionLifecycleHooksModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
99
+ NgxsActionLifecycleHooksModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, imports: [CommonModule, i1.ɵNgxsFeatureModule] });
100
+ NgxsActionLifecycleHooksModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, imports: [CommonModule,
101
+ NgxsModule.forFeature([NgxsActionLifecycleHooksState])] });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgxsActionLifecycleHooksModule, decorators: [{
103
+ type: NgModule,
104
+ args: [{
105
+ imports: [
106
+ CommonModule,
107
+ NgxsModule.forFeature([NgxsActionLifecycleHooksState])
108
+ ],
109
+ declarations: []
110
+ }]
111
+ }] });
105
112
 
106
113
  /**
107
114
  * Generated bundle index. Do not edit.
108
115
  */
109
116
 
110
- export { ActionCancelled, ActionErrored, ActionSuccessful, NgxsActionLifecycleHooksModule, NgxsActionLifecycleHooksState as ɵa };
111
- //# sourceMappingURL=ngxs-labs-action-lifecycle-hooks.js.map
117
+ export { ActionCancelled, ActionErrored, ActionSuccessful, NgxsActionLifecycleHooksModule };
118
+ //# sourceMappingURL=ngxs-labs-action-lifecycle-hooks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxs-labs-action-lifecycle-hooks.mjs","sources":["../../../../libs/action-lifecycle-hooks/src/lib/utils.ts","../../../../libs/action-lifecycle-hooks/src/lib/action-decorator-helpers.ts","../../../../libs/action-lifecycle-hooks/src/lib/ngxs-action-lifecycle-hooks.state.ts","../../../../libs/action-lifecycle-hooks/src/lib/ngxs-action-lifecycle-hooks.module.ts","../../../../libs/action-lifecycle-hooks/src/ngxs-labs-action-lifecycle-hooks.ts"],"sourcesContent":["import { ActionType, getActionTypeFromInstance } from '@ngxs/store';\n\nexport type Hooks = 'Successful' | 'Errored' | 'Canceled';\nexport const actionLifecycleHooks: { [key: string]: Hooks[] } = {};\n\nexport function addToLifecycleHooks(actionType: ActionType, hook: Hooks) {\n const actionTypeOk = getActionTypeFromInstance(actionType) || ''\n if (!actionLifecycleHooks[actionTypeOk]) {\n actionLifecycleHooks[actionTypeOk] = [hook];\n } else {\n actionLifecycleHooks[actionTypeOk] = [\n ...actionLifecycleHooks[actionTypeOk],\n hook,\n ];\n }\n}\n","import { ActionType, getActionTypeFromInstance } from '@ngxs/store';\nimport { addToLifecycleHooks } from './utils';\n\nexport type Successful<A> = { action: A };\nexport type Errored<A> = { action: A; error: any };\nexport type Cancelled<A> = { action: A };\n\nexport function ActionSuccessful(actionType: ActionType) {\n addToLifecycleHooks(actionType, 'Successful');\n return class {\n static readonly type = `${getActionTypeFromInstance(\n actionType\n )} Successful`;\n constructor(public action: any) {}\n };\n}\n\nexport function ActionErrored(actionType: ActionType) {\n addToLifecycleHooks(actionType, 'Errored');\n return class {\n static readonly type = `${getActionTypeFromInstance(actionType)} Errored`;\n constructor(public action: any, public error: any) {}\n };\n}\n\nexport function ActionCancelled(actionType: ActionType) {\n addToLifecycleHooks(actionType, 'Canceled');\n return class {\n static readonly type = `${getActionTypeFromInstance(actionType)} Canceled`;\n constructor(public action: any) {}\n };\n}\n","import { Injectable } from '@angular/core';\nimport { State, Actions, Store, ofActionCompleted, getActionTypeFromInstance } from '@ngxs/store';\nimport { asapScheduler } from 'rxjs';\nimport { observeOn } from 'rxjs/operators';\nimport { ActionCancelled, ActionErrored, ActionSuccessful } from './action-decorator-helpers';\nimport { actionLifecycleHooks } from './utils';\n\n@State<any>({\n name: 'NgxsActionLifecycleHooksState',\n})\n@Injectable()\nexport class NgxsActionLifecycleHooksState {\n constructor(private actions: Actions, private store: Store) {\n const arr = Object.keys(actionLifecycleHooks).map((key) => ({ type: key }));\n this.actions.pipe(ofActionCompleted(...arr), observeOn(asapScheduler)).subscribe((actionCompletion) => {\n const actionTypeOk = getActionTypeFromInstance(actionCompletion.action) || ''\n if (\n actionCompletion.result.successful &&\n actionLifecycleHooks[actionTypeOk].includes('Successful')\n ) {\n const ActionSuccessfulClass = ActionSuccessful(actionCompletion.action);\n this.store.dispatch(new ActionSuccessfulClass(actionCompletion.action));\n }\n if (\n actionCompletion.result.error &&\n actionLifecycleHooks[actionTypeOk].includes('Errored')\n ) {\n const ActionErroredClass = ActionErrored(actionCompletion.action);\n this.store.dispatch(new ActionErroredClass(actionCompletion.action, actionCompletion.result.error));\n }\n if (\n actionCompletion.result.canceled &&\n actionLifecycleHooks[actionTypeOk].includes('Canceled')\n ) {\n const ActionCancelledClass = ActionCancelled(actionCompletion.action);\n this.store.dispatch(new ActionCancelledClass(actionCompletion.action));\n }\n });\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgxsModule } from \"@ngxs/store\";\nimport { NgxsActionLifecycleHooksState } from \"./ngxs-action-lifecycle-hooks.state\";\n\n@NgModule({\n imports: [\n CommonModule,\n NgxsModule.forFeature([NgxsActionLifecycleHooksState])\n ],\n declarations: []\n})\nexport class NgxsActionLifecycleHooksModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './lib/ngxs-action-lifecycle-hooks.module';
2
1
  export * from './lib/action-decorator-helpers';
2
+ export * from './lib/ngxs-action-lifecycle-hooks.module';
@@ -1,2 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "@ngxs/store";
1
4
  export declare class NgxsActionLifecycleHooksModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxsActionLifecycleHooksModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxsActionLifecycleHooksModule, never, [typeof i1.CommonModule, typeof i2.ɵNgxsFeatureModule], never>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgxsActionLifecycleHooksModule>;
2
8
  }
@@ -1,6 +1,9 @@
1
1
  import { Actions, Store } from '@ngxs/store';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class NgxsActionLifecycleHooksState {
3
4
  private actions;
4
5
  private store;
5
6
  constructor(actions: Actions, store: Store);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxsActionLifecycleHooksState, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<NgxsActionLifecycleHooksState>;
6
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxs-labs/action-lifecycle-hooks",
3
- "version": "0.1.6",
3
+ "version": "1.0.5",
4
4
  "peerDependencies": {
5
5
  "@ngxs/store": ">=3.4.0 <4.0.0",
6
6
  "@angular/core": ">=8.0.0",
@@ -10,12 +10,24 @@
10
10
  "dependencies": {
11
11
  "tslib": "^2.0.0"
12
12
  },
13
- "main": "bundles/ngxs-labs-action-lifecycle-hooks.umd.js",
14
- "module": "fesm2015/ngxs-labs-action-lifecycle-hooks.js",
15
- "es2015": "fesm2015/ngxs-labs-action-lifecycle-hooks.js",
16
- "esm2015": "esm2015/ngxs-labs-action-lifecycle-hooks.js",
17
- "fesm2015": "fesm2015/ngxs-labs-action-lifecycle-hooks.js",
18
- "typings": "ngxs-labs-action-lifecycle-hooks.d.ts",
19
- "metadata": "ngxs-labs-action-lifecycle-hooks.metadata.json",
13
+ "module": "fesm2015/ngxs-labs-action-lifecycle-hooks.mjs",
14
+ "es2020": "fesm2020/ngxs-labs-action-lifecycle-hooks.mjs",
15
+ "esm2020": "esm2020/ngxs-labs-action-lifecycle-hooks.mjs",
16
+ "fesm2020": "fesm2020/ngxs-labs-action-lifecycle-hooks.mjs",
17
+ "fesm2015": "fesm2015/ngxs-labs-action-lifecycle-hooks.mjs",
18
+ "typings": "index.d.ts",
19
+ "exports": {
20
+ "./package.json": {
21
+ "default": "./package.json"
22
+ },
23
+ ".": {
24
+ "types": "./index.d.ts",
25
+ "esm2020": "./esm2020/ngxs-labs-action-lifecycle-hooks.mjs",
26
+ "es2020": "./fesm2020/ngxs-labs-action-lifecycle-hooks.mjs",
27
+ "es2015": "./fesm2015/ngxs-labs-action-lifecycle-hooks.mjs",
28
+ "node": "./fesm2015/ngxs-labs-action-lifecycle-hooks.mjs",
29
+ "default": "./fesm2020/ngxs-labs-action-lifecycle-hooks.mjs"
30
+ }
31
+ },
20
32
  "sideEffects": false
21
33
  }