@ngdux/store-common 0.1.8 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/esm2020/index.mjs +3 -1
- package/esm2020/lib/model.mjs +2 -0
- package/esm2020/lib/services/register-effects.service.mjs +32 -0
- package/esm2020/lib/utils/action-handlers.mjs +1 -1
- package/esm2020/test/index.mjs +1 -1
- package/esm2020/test/lib/store.fixture.mjs +1 -1
- package/fesm2015/ngdux-store-common-test.mjs.map +1 -1
- package/fesm2015/ngdux-store-common.mjs +33 -2
- package/fesm2015/ngdux-store-common.mjs.map +1 -1
- package/fesm2020/ngdux-store-common-test.mjs.map +1 -1
- package/fesm2020/ngdux-store-common.mjs +33 -2
- package/fesm2020/ngdux-store-common.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/lib/model.d.ts +2 -0
- package/lib/services/register-effects.service.d.ts +12 -0
- package/lib/utils/action-handlers.d.ts +3 -3
- package/package.json +11 -11
- package/test/README.md +3 -3
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# ngdux-util-store-common
|
|
2
|
-
|
|
3
|
-
This library was generated with [Nx](https://nx.dev).
|
|
4
|
-
|
|
5
|
-
## Running unit tests
|
|
6
|
-
|
|
7
|
-
Run `nx test ngdux-util-store-common` to execute the unit tests.
|
|
1
|
+
# ngdux-util-store-common
|
|
2
|
+
|
|
3
|
+
This library was generated with [Nx](https://nx.dev).
|
|
4
|
+
|
|
5
|
+
## Running unit tests
|
|
6
|
+
|
|
7
|
+
Run `nx test ngdux-util-store-common` to execute the unit tests.
|
package/esm2020/index.mjs
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
export * from './lib/model';
|
|
2
|
+
export * from './lib/services/register-effects.service';
|
|
1
3
|
export * from './lib/utils/action-handlers';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3JlZ2lzdGVyLWVmZmVjdHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycyc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3NyYy9saWIvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBBY3Rpb25QYXlsb2FkPFQgZXh0ZW5kcyBBY3Rpb25DcmVhdG9yPiA9IE9taXQ8UmV0dXJuVHlwZTxUPiwgJ3R5cGUnPjtcclxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { EffectSources, EffectsRunner, rootEffectsInit } from '@ngrx/effects';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngrx/store";
|
|
6
|
+
import * as i2 from "@ngrx/effects";
|
|
7
|
+
export class RegisterEffectsService {
|
|
8
|
+
constructor(store, effectSources, effectsRunner) {
|
|
9
|
+
this.store = store;
|
|
10
|
+
this.effectSources = effectSources;
|
|
11
|
+
this.effectsRunner = effectsRunner;
|
|
12
|
+
}
|
|
13
|
+
registerEffects(effectSourceInstances) {
|
|
14
|
+
const shouldInitEffects = !this.effectsRunner.isStarted;
|
|
15
|
+
if (shouldInitEffects) {
|
|
16
|
+
this.effectsRunner.start();
|
|
17
|
+
}
|
|
18
|
+
effectSourceInstances.forEach(effect => {
|
|
19
|
+
this.effectSources.addEffects(effect);
|
|
20
|
+
});
|
|
21
|
+
if (shouldInitEffects) {
|
|
22
|
+
this.store.dispatch(rootEffectsInit());
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
RegisterEffectsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, deps: [{ token: i1.Store }, { token: i2.EffectSources }, { token: i2.EffectsRunner }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
RegisterEffectsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, providedIn: 'root' });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, decorators: [{
|
|
29
|
+
type: Injectable,
|
|
30
|
+
args: [{ providedIn: 'root' }]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.EffectSources }, { type: i2.EffectsRunner }]; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZWZmZWN0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JlZ2lzdGVyLWVmZmVjdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFxQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUdwQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ21CLEtBQVksRUFDWixhQUE0QixFQUM1QixhQUE0QjtRQUY1QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDNUMsQ0FBQztJQUVKLGVBQWUsQ0FBQyxxQkFBMEM7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3hELElBQUksaUJBQWlCLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QjtRQUVELHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksaUJBQWlCLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7O21IQXBCVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQURULE1BQU07MkZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVmZmVjdFNvdXJjZXMsIEVmZmVjdHNSdW5uZXIsIE9uSWRlbnRpZnlFZmZlY3RzLCByb290RWZmZWN0c0luaXQgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJFZmZlY3RzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0U291cmNlczogRWZmZWN0U291cmNlcyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0c1J1bm5lcjogRWZmZWN0c1J1bm5lclxyXG4gICkge31cclxuXHJcbiAgcmVnaXN0ZXJFZmZlY3RzKGVmZmVjdFNvdXJjZUluc3RhbmNlczogT25JZGVudGlmeUVmZmVjdHNbXSkge1xyXG4gICAgY29uc3Qgc2hvdWxkSW5pdEVmZmVjdHMgPSAhdGhpcy5lZmZlY3RzUnVubmVyLmlzU3RhcnRlZDtcclxuICAgIGlmIChzaG91bGRJbml0RWZmZWN0cykge1xyXG4gICAgICB0aGlzLmVmZmVjdHNSdW5uZXIuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBlZmZlY3RTb3VyY2VJbnN0YW5jZXMuZm9yRWFjaChlZmZlY3QgPT4ge1xyXG4gICAgICB0aGlzLmVmZmVjdFNvdXJjZXMuYWRkRWZmZWN0cyhlZmZlY3QpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHNob3VsZEluaXRFZmZlY3RzKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gocm9vdEVmZmVjdHNJbml0KCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -35,4 +35,4 @@ export function getLastPageNumber(summaries, pagingOptions) {
|
|
|
35
35
|
}
|
|
36
36
|
return undefined;
|
|
37
37
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWhhbmRsZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBK0IsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVc1RSxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLFVBQXFDLEVBQ3JDLFVBQXlCLEVBQ3pCLGlCQUFnQyxFQUNoQyxpQkFBaUY7SUFFakYsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLFVBQVUsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUMxRDtJQUVELE9BQU87UUFDTCxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDdEMsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRixFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU87WUFDbEMsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxVQUF5QixFQUN6QixpQkFBZ0MsRUFDaEMsaUJBQWdDO0lBRWhDLE9BQU87UUFDTCxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMvRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDbkYsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUksU0FBYyxFQUFFLGFBQTRCO0lBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3JCLE9BQU8sYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7S0FDL0I7SUFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRTtRQUM3QyxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7S0FDM0I7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnaW5nT3B0aW9ucywgUmVxdWVzdFN0YXRlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgUmVkdWNlclR5cGVzLCBjcmVhdGVBY3Rpb24sIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXF1ZXN0U3RhdGU8RT4ge1xyXG4gIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlO1xyXG4gIGVycm9ycz86IEU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGluZ1N0YXRlIHtcclxuICBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPFQgZXh0ZW5kcyBBcGlSZXF1ZXN0U3RhdGU8RT4sIEU+KFxyXG4gIGxvYWRBY3Rpb246IEFjdGlvbkNyZWF0b3IgfCB1bmRlZmluZWQsXHJcbiAgc2F2ZUFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBzYXZlU3VjY2Vzc0FjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBzYXZlRmFpbHVyZUFjdGlvbjogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfT5cclxuKTogUmVkdWNlclR5cGVzPFQsIEFjdGlvbkNyZWF0b3JbXT5bXSB7XHJcbiAgaWYgKCFsb2FkQWN0aW9uKSB7XHJcbiAgICBsb2FkQWN0aW9uID0gY3JlYXRlQWN0aW9uKCdEdW1teVJlcXVlc3RTdGF0ZUxvYWRBY3Rpb24nKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBbXHJcbiAgICBvbihsb2FkQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuSURMRSB9KSksXHJcbiAgICBvbihzYXZlQWN0aW9uLCBzdGF0ZSA9PiAoe1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuSU5fUFJPR1JFU1MsXHJcbiAgICAgIGVycm9yczogdW5kZWZpbmVkXHJcbiAgICB9KSksXHJcbiAgICBvbihzYXZlU3VjY2Vzc0FjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlLlNVQ0NFU1MgfSkpLFxyXG4gICAgb24oc2F2ZUZhaWx1cmVBY3Rpb24sIChzdGF0ZSwgeyBlcnJvcnMgfSkgPT4gKHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlLkZBSUxVUkUsXHJcbiAgICAgIGVycm9yc1xyXG4gICAgfSkpXHJcbiAgXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvYWRpbmdTdGF0ZUFjdGlvbkhhbmRsZXJzPFQgZXh0ZW5kcyBMb2FkaW5nU3RhdGU+KFxyXG4gIGxvYWRBY3Rpb246IEFjdGlvbkNyZWF0b3IsXHJcbiAgbG9hZFN1Y2Nlc3NBY3Rpb246IEFjdGlvbkNyZWF0b3IsXHJcbiAgbG9hZEZhaWx1cmVBY3Rpb246IEFjdGlvbkNyZWF0b3JcclxuKTogUmVkdWNlclR5cGVzPFQsIEFjdGlvbkNyZWF0b3JbXT5bXSB7XHJcbiAgcmV0dXJuIFtcclxuICAgIG9uKGxvYWRBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZS5JTl9QUk9HUkVTUyB9KSksXHJcbiAgICBvbihsb2FkU3VjY2Vzc0FjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLlNVQ0NFU1MgfSkpLFxyXG4gICAgb24obG9hZEZhaWx1cmVBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZS5GQUlMVVJFIH0pKVxyXG4gIF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMYXN0UGFnZU51bWJlcjxUPihzdW1tYXJpZXM6IFRbXSwgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKCFzdW1tYXJpZXMubGVuZ3RoKSB7XHJcbiAgICByZXR1cm4gcGFnaW5nT3B0aW9ucy5wYWdlIC0gMTtcclxuICB9XHJcblxyXG4gIGlmIChzdW1tYXJpZXMubGVuZ3RoIDwgcGFnaW5nT3B0aW9ucy5wYWdlU2l6ZSkge1xyXG4gICAgcmV0dXJuIHBhZ2luZ09wdGlvbnMucGFnZTtcclxuICB9XHJcblxyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn1cclxuIl19
|
package/esm2020/test/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './lib/store.fixture';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3Rlc3Qvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZS5maXh0dXJlJztcclxuIl19
|
|
@@ -10,4 +10,4 @@ export function createTestResource() {
|
|
|
10
10
|
}
|
|
11
11
|
export const featureKey = 'testFeature';
|
|
12
12
|
export const i18nScope = 'testScope';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9jb21tb24vdGVzdC9zcmMvbGliL3N0b3JlLmZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBTzlELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQztJQUNoRCxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU87UUFDTCxFQUFFLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRTtRQUMzQixJQUFJLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRTtLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbW1vbkZpeHR1cmUgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24vdGVzdCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RSZXNvdXJjZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXN0UmVzb3VyY2VzKG5SZXNvdXJjZXMgPSAzKTogVGVzdFJlc291cmNlW10ge1xyXG4gIHJldHVybiBbLi4uQXJyYXkoblJlc291cmNlcyldLm1hcCgoKSA9PiBjcmVhdGVUZXN0UmVzb3VyY2UoKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXN0UmVzb3VyY2UoKTogVGVzdFJlc291cmNlIHtcclxuICByZXR1cm4ge1xyXG4gICAgaWQ6IGNvbW1vbkZpeHR1cmUuZ2V0V29yZCgpLFxyXG4gICAgbmFtZTogY29tbW9uRml4dHVyZS5nZXRXb3JkKClcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZmVhdHVyZUtleSA9ICd0ZXN0RmVhdHVyZSc7XHJcbmV4cG9ydCBjb25zdCBpMThuU2NvcGUgPSAndGVzdFNjb3BlJztcclxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/test/src/lib/store.fixture.ts","../../../../../../../libs/ngdux/util/store/common/test/src/ngdux-store-common-test.ts"],"sourcesContent":["import { commonFixture } from '@ngdux/data-model-common/test';\n\nexport interface TestResource {\n id: string;\n name: string;\n}\n\nexport function createTestResources(nResources = 3): TestResource[] {\n return [...Array(nResources)].map(() => createTestResource());\n}\n\nexport function createTestResource(): TestResource {\n return {\n id: commonFixture.getWord(),\n name: commonFixture.getWord()\n };\n}\n\nexport const featureKey = 'testFeature';\nexport const i18nScope = 'testScope';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOgB,SAAA,mBAAmB,CAAC,UAAU,GAAG,CAAC,EAAA;AAChD,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;AAChE,CAAC;SAEe,kBAAkB,GAAA;IAChC,OAAO;AACL,QAAA,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,cAAc;AACjC,MAAM,SAAS,GAAG;;ACnBzB;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/test/src/lib/store.fixture.ts","../../../../../../../libs/ngdux/util/store/common/test/src/ngdux-store-common-test.ts"],"sourcesContent":["import { commonFixture } from '@ngdux/data-model-common/test';\r\n\r\nexport interface TestResource {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport function createTestResources(nResources = 3): TestResource[] {\r\n return [...Array(nResources)].map(() => createTestResource());\r\n}\r\n\r\nexport function createTestResource(): TestResource {\r\n return {\r\n id: commonFixture.getWord(),\r\n name: commonFixture.getWord()\r\n };\r\n}\r\n\r\nexport const featureKey = 'testFeature';\r\nexport const i18nScope = 'testScope';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOgB,SAAA,mBAAmB,CAAC,UAAU,GAAG,CAAC,EAAA;AAChD,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;AAChE,CAAC;SAEe,kBAAkB,GAAA;IAChC,OAAO;AACL,QAAA,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,cAAc;AACjC,MAAM,SAAS,GAAG;;ACnBzB;;AAEG;;;;"}
|
|
@@ -1,5 +1,36 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i2 from '@ngrx/effects';
|
|
4
|
+
import { rootEffectsInit } from '@ngrx/effects';
|
|
5
|
+
import * as i1 from '@ngrx/store';
|
|
2
6
|
import { createAction, on } from '@ngrx/store';
|
|
7
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
8
|
+
|
|
9
|
+
class RegisterEffectsService {
|
|
10
|
+
constructor(store, effectSources, effectsRunner) {
|
|
11
|
+
this.store = store;
|
|
12
|
+
this.effectSources = effectSources;
|
|
13
|
+
this.effectsRunner = effectsRunner;
|
|
14
|
+
}
|
|
15
|
+
registerEffects(effectSourceInstances) {
|
|
16
|
+
const shouldInitEffects = !this.effectsRunner.isStarted;
|
|
17
|
+
if (shouldInitEffects) {
|
|
18
|
+
this.effectsRunner.start();
|
|
19
|
+
}
|
|
20
|
+
effectSourceInstances.forEach(effect => {
|
|
21
|
+
this.effectSources.addEffects(effect);
|
|
22
|
+
});
|
|
23
|
+
if (shouldInitEffects) {
|
|
24
|
+
this.store.dispatch(rootEffectsInit());
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
RegisterEffectsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, deps: [{ token: i1.Store }, { token: i2.EffectSources }, { token: i2.EffectsRunner }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
RegisterEffectsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{ providedIn: 'root' }]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.EffectSources }, { type: i2.EffectsRunner }]; } });
|
|
3
34
|
|
|
4
35
|
function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
5
36
|
if (!loadAction) {
|
|
@@ -33,5 +64,5 @@ function getLastPageNumber(summaries, pagingOptions) {
|
|
|
33
64
|
* Generated bundle index. Do not edit.
|
|
34
65
|
*/
|
|
35
66
|
|
|
36
|
-
export { createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
|
|
67
|
+
export { RegisterEffectsService, createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
|
|
37
68
|
//# sourceMappingURL=ngdux-store-common.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/src/lib/utils/action-handlers.ts","../../../../../../../libs/ngdux/util/store/common/src/ngdux-store-common.ts"],"sourcesContent":["import { PagingOptions, RequestState } from '@ngdux/data-model-common';\nimport { ActionCreator, createAction, on
|
|
1
|
+
{"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/src/lib/services/register-effects.service.ts","../../../../../../../libs/ngdux/util/store/common/src/lib/utils/action-handlers.ts","../../../../../../../libs/ngdux/util/store/common/src/ngdux-store-common.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { EffectSources, EffectsRunner, OnIdentifyEffects, rootEffectsInit } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RegisterEffectsService {\r\n constructor(\r\n private readonly store: Store,\r\n private readonly effectSources: EffectSources,\r\n private readonly effectsRunner: EffectsRunner\r\n ) {}\r\n\r\n registerEffects(effectSourceInstances: OnIdentifyEffects[]) {\r\n const shouldInitEffects = !this.effectsRunner.isStarted;\r\n if (shouldInitEffects) {\r\n this.effectsRunner.start();\r\n }\r\n\r\n effectSourceInstances.forEach(effect => {\r\n this.effectSources.addEffects(effect);\r\n });\r\n\r\n if (shouldInitEffects) {\r\n this.store.dispatch(rootEffectsInit());\r\n }\r\n }\r\n}\r\n","import { PagingOptions, RequestState } from '@ngdux/data-model-common';\r\nimport { ActionCreator, ReducerTypes, createAction, on } from '@ngrx/store';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors?: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator | undefined,\r\n saveAction: ActionCreator,\r\n saveSuccessAction: ActionCreator,\r\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n if (!loadAction) {\r\n loadAction = createAction('DummyRequestStateLoadAction');\r\n }\r\n\r\n return [\r\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\r\n on(saveAction, state => ({\r\n ...state,\r\n requestState: RequestState.IN_PROGRESS,\r\n errors: undefined\r\n })),\r\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\r\n on(saveFailureAction, (state, { errors }) => ({\r\n ...state,\r\n requestState: RequestState.FAILURE,\r\n errors\r\n }))\r\n ];\r\n}\r\n\r\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\r\n loadAction: ActionCreator,\r\n loadSuccessAction: ActionCreator,\r\n loadFailureAction: ActionCreator\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n return [\r\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\r\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\r\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\r\n ];\r\n}\r\n\r\nexport function getLastPageNumber<T>(summaries: T[], pagingOptions: PagingOptions): number | undefined {\r\n if (!summaries.length) {\r\n return pagingOptions.page - 1;\r\n }\r\n\r\n if (summaries.length < pagingOptions.pageSize) {\r\n return pagingOptions.page;\r\n }\r\n\r\n return undefined;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/test/src/lib/store.fixture.ts","../../../../../../../libs/ngdux/util/store/common/test/src/ngdux-store-common-test.ts"],"sourcesContent":["import { commonFixture } from '@ngdux/data-model-common/test';\n\nexport interface TestResource {\n id: string;\n name: string;\n}\n\nexport function createTestResources(nResources = 3): TestResource[] {\n return [...Array(nResources)].map(() => createTestResource());\n}\n\nexport function createTestResource(): TestResource {\n return {\n id: commonFixture.getWord(),\n name: commonFixture.getWord()\n };\n}\n\nexport const featureKey = 'testFeature';\nexport const i18nScope = 'testScope';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOgB,SAAA,mBAAmB,CAAC,UAAU,GAAG,CAAC,EAAA;AAChD,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;AAChE,CAAC;SAEe,kBAAkB,GAAA;IAChC,OAAO;AACL,QAAA,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,cAAc;AACjC,MAAM,SAAS,GAAG;;ACnBzB;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/test/src/lib/store.fixture.ts","../../../../../../../libs/ngdux/util/store/common/test/src/ngdux-store-common-test.ts"],"sourcesContent":["import { commonFixture } from '@ngdux/data-model-common/test';\r\n\r\nexport interface TestResource {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport function createTestResources(nResources = 3): TestResource[] {\r\n return [...Array(nResources)].map(() => createTestResource());\r\n}\r\n\r\nexport function createTestResource(): TestResource {\r\n return {\r\n id: commonFixture.getWord(),\r\n name: commonFixture.getWord()\r\n };\r\n}\r\n\r\nexport const featureKey = 'testFeature';\r\nexport const i18nScope = 'testScope';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOgB,SAAA,mBAAmB,CAAC,UAAU,GAAG,CAAC,EAAA;AAChD,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;AAChE,CAAC;SAEe,kBAAkB,GAAA;IAChC,OAAO;AACL,QAAA,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,cAAc;AACjC,MAAM,SAAS,GAAG;;ACnBzB;;AAEG;;;;"}
|
|
@@ -1,5 +1,36 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i2 from '@ngrx/effects';
|
|
4
|
+
import { rootEffectsInit } from '@ngrx/effects';
|
|
5
|
+
import * as i1 from '@ngrx/store';
|
|
2
6
|
import { createAction, on } from '@ngrx/store';
|
|
7
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
8
|
+
|
|
9
|
+
class RegisterEffectsService {
|
|
10
|
+
constructor(store, effectSources, effectsRunner) {
|
|
11
|
+
this.store = store;
|
|
12
|
+
this.effectSources = effectSources;
|
|
13
|
+
this.effectsRunner = effectsRunner;
|
|
14
|
+
}
|
|
15
|
+
registerEffects(effectSourceInstances) {
|
|
16
|
+
const shouldInitEffects = !this.effectsRunner.isStarted;
|
|
17
|
+
if (shouldInitEffects) {
|
|
18
|
+
this.effectsRunner.start();
|
|
19
|
+
}
|
|
20
|
+
effectSourceInstances.forEach(effect => {
|
|
21
|
+
this.effectSources.addEffects(effect);
|
|
22
|
+
});
|
|
23
|
+
if (shouldInitEffects) {
|
|
24
|
+
this.store.dispatch(rootEffectsInit());
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
RegisterEffectsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, deps: [{ token: i1.Store }, { token: i2.EffectSources }, { token: i2.EffectsRunner }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
RegisterEffectsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RegisterEffectsService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{ providedIn: 'root' }]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.EffectSources }, { type: i2.EffectsRunner }]; } });
|
|
3
34
|
|
|
4
35
|
function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
5
36
|
if (!loadAction) {
|
|
@@ -41,5 +72,5 @@ function getLastPageNumber(summaries, pagingOptions) {
|
|
|
41
72
|
* Generated bundle index. Do not edit.
|
|
42
73
|
*/
|
|
43
74
|
|
|
44
|
-
export { createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
|
|
75
|
+
export { RegisterEffectsService, createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
|
|
45
76
|
//# sourceMappingURL=ngdux-store-common.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/src/lib/utils/action-handlers.ts","../../../../../../../libs/ngdux/util/store/common/src/ngdux-store-common.ts"],"sourcesContent":["import { PagingOptions, RequestState } from '@ngdux/data-model-common';\nimport { ActionCreator, createAction, on
|
|
1
|
+
{"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/src/lib/services/register-effects.service.ts","../../../../../../../libs/ngdux/util/store/common/src/lib/utils/action-handlers.ts","../../../../../../../libs/ngdux/util/store/common/src/ngdux-store-common.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { EffectSources, EffectsRunner, OnIdentifyEffects, rootEffectsInit } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RegisterEffectsService {\r\n constructor(\r\n private readonly store: Store,\r\n private readonly effectSources: EffectSources,\r\n private readonly effectsRunner: EffectsRunner\r\n ) {}\r\n\r\n registerEffects(effectSourceInstances: OnIdentifyEffects[]) {\r\n const shouldInitEffects = !this.effectsRunner.isStarted;\r\n if (shouldInitEffects) {\r\n this.effectsRunner.start();\r\n }\r\n\r\n effectSourceInstances.forEach(effect => {\r\n this.effectSources.addEffects(effect);\r\n });\r\n\r\n if (shouldInitEffects) {\r\n this.store.dispatch(rootEffectsInit());\r\n }\r\n }\r\n}\r\n","import { PagingOptions, RequestState } from '@ngdux/data-model-common';\r\nimport { ActionCreator, ReducerTypes, createAction, on } from '@ngrx/store';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors?: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator | undefined,\r\n saveAction: ActionCreator,\r\n saveSuccessAction: ActionCreator,\r\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n if (!loadAction) {\r\n loadAction = createAction('DummyRequestStateLoadAction');\r\n }\r\n\r\n return [\r\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\r\n on(saveAction, state => ({\r\n ...state,\r\n requestState: RequestState.IN_PROGRESS,\r\n errors: undefined\r\n })),\r\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\r\n on(saveFailureAction, (state, { errors }) => ({\r\n ...state,\r\n requestState: RequestState.FAILURE,\r\n errors\r\n }))\r\n ];\r\n}\r\n\r\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\r\n loadAction: ActionCreator,\r\n loadSuccessAction: ActionCreator,\r\n loadFailureAction: ActionCreator\r\n): ReducerTypes<T, ActionCreator[]>[] {\r\n return [\r\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\r\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\r\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\r\n ];\r\n}\r\n\r\nexport function getLastPageNumber<T>(summaries: T[], pagingOptions: PagingOptions): number | undefined {\r\n if (!summaries.length) {\r\n return pagingOptions.page - 1;\r\n }\r\n\r\n if (summaries.length < pagingOptions.pageSize) {\r\n return pagingOptions.page;\r\n }\r\n\r\n return undefined;\r\n}\r\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
package/lib/model.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EffectSources, EffectsRunner, OnIdentifyEffects } from '@ngrx/effects';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class RegisterEffectsService {
|
|
5
|
+
private readonly store;
|
|
6
|
+
private readonly effectSources;
|
|
7
|
+
private readonly effectsRunner;
|
|
8
|
+
constructor(store: Store, effectSources: EffectSources, effectsRunner: EffectsRunner);
|
|
9
|
+
registerEffects(effectSourceInstances: OnIdentifyEffects[]): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RegisterEffectsService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RegisterEffectsService>;
|
|
12
|
+
}
|
|
@@ -2,15 +2,15 @@ import { PagingOptions, RequestState } from '@ngdux/data-model-common';
|
|
|
2
2
|
import { ActionCreator, ReducerTypes } from '@ngrx/store';
|
|
3
3
|
export interface ApiRequestState<E> {
|
|
4
4
|
requestState: RequestState;
|
|
5
|
-
errors
|
|
5
|
+
errors?: E;
|
|
6
6
|
}
|
|
7
7
|
export interface LoadingState {
|
|
8
8
|
loadingState: RequestState;
|
|
9
9
|
}
|
|
10
|
-
export declare function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(loadAction: ActionCreator, saveAction: ActionCreator, saveSuccessAction: ActionCreator, saveFailureAction: ActionCreator<string, (props: {
|
|
10
|
+
export declare function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(loadAction: ActionCreator | undefined, saveAction: ActionCreator, saveSuccessAction: ActionCreator, saveFailureAction: ActionCreator<string, (props: {
|
|
11
11
|
errors: E;
|
|
12
12
|
}) => {
|
|
13
13
|
errors: E;
|
|
14
14
|
}>): ReducerTypes<T, ActionCreator[]>[];
|
|
15
15
|
export declare function createLoadingStateActionHandlers<T extends LoadingState>(loadAction: ActionCreator, loadSuccessAction: ActionCreator, loadFailureAction: ActionCreator): ReducerTypes<T, ActionCreator[]>[];
|
|
16
|
-
export declare function getLastPageNumber<T>(summaries: T[], pagingOptions: PagingOptions): number;
|
|
16
|
+
export declare function getLastPageNumber<T>(summaries: T[], pagingOptions: PagingOptions): number | undefined;
|
package/package.json
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngdux/store-common",
|
|
3
|
-
"version": "
|
|
4
|
-
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^14.2.0",
|
|
6
|
-
"@angular/core": "^14.2.0",
|
|
7
|
-
"@ngdux/data-model-common": "0.1.8",
|
|
8
|
-
"@ngrx/store": "14.0.2"
|
|
9
|
-
},
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"tslib": "^2.3.0"
|
|
12
|
-
},
|
|
3
|
+
"version": "1.1.0",
|
|
13
4
|
"module": "fesm2015/ngdux-store-common.mjs",
|
|
14
5
|
"es2020": "fesm2020/ngdux-store-common.mjs",
|
|
15
6
|
"esm2020": "esm2020/ngdux-store-common.mjs",
|
|
@@ -37,5 +28,14 @@
|
|
|
37
28
|
"default": "./fesm2020/ngdux-store-common-test.mjs"
|
|
38
29
|
}
|
|
39
30
|
},
|
|
40
|
-
"sideEffects": false
|
|
31
|
+
"sideEffects": false,
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"tslib": "^2.3.0"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"@ngrx/store": "15.3.0",
|
|
37
|
+
"@angular/core": "15.2.9",
|
|
38
|
+
"@ngdux/data-model-common": "1.1.0",
|
|
39
|
+
"@ngrx/effects": "15.3.0"
|
|
40
|
+
}
|
|
41
41
|
}
|
package/test/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# @ngdux/store-common/test
|
|
2
|
-
|
|
3
|
-
Secondary entry point of `@ngdux/store-common`. It can be used by importing from `@ngdux/store-common/test`.
|
|
1
|
+
# @ngdux/store-common/test
|
|
2
|
+
|
|
3
|
+
Secondary entry point of `@ngdux/store-common`. It can be used by importing from `@ngdux/store-common/test`.
|