@ngdux/store-common 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/register-effects.service.mjs +32 -32
- package/{esm2020 → esm2022}/lib/utils/action-handlers.mjs +37 -37
- package/{esm2020 → esm2022}/ngdux-store-common.mjs +4 -4
- package/{esm2020 → esm2022}/test/index.mjs +1 -1
- package/{esm2020 → esm2022}/test/lib/store.fixture.mjs +12 -12
- package/{esm2020 → esm2022}/test/ngdux-store-common-test.mjs +4 -4
- package/{fesm2015 → fesm2022}/ngdux-store-common-test.mjs +12 -12
- package/{fesm2020 → fesm2022}/ngdux-store-common.mjs +60 -60
- package/{fesm2020 → fesm2022}/ngdux-store-common.mjs.map +1 -1
- package/index.d.ts +3 -3
- package/lib/model.d.ts +2 -2
- package/lib/services/register-effects.service.d.ts +12 -12
- package/lib/utils/action-handlers.d.ts +16 -16
- package/package.json +12 -78
- package/test/index.d.ts +1 -1
- package/test/lib/store.fixture.d.ts +8 -8
- package/fesm2015/ngdux-store-common.mjs +0 -68
- package/fesm2015/ngdux-store-common.mjs.map +0 -1
- package/fesm2020/ngdux-store-common-test.mjs +0 -20
- package/fesm2020/ngdux-store-common-test.mjs.map +0 -1
- /package/{fesm2015 → fesm2022}/ngdux-store-common-test.mjs.map +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './lib/model';
|
|
2
|
-
export * from './lib/services/register-effects.service';
|
|
3
|
-
export * from './lib/utils/action-handlers';
|
|
1
|
+
export * from './lib/model';
|
|
2
|
+
export * from './lib/services/register-effects.service';
|
|
3
|
+
export * from './lib/utils/action-handlers';
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3JlZ2lzdGVyLWVmZmVjdHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycyc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3NyYy9saWIvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBBY3Rpb25QYXlsb2FkPFQgZXh0ZW5kcyBBY3Rpb25DcmVhdG9yPiA9IE9taXQ8UmV0dXJuVHlwZTxUPiwgJ3R5cGUnPjtcclxuIl19
|
|
@@ -1,32 +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
|
-
|
|
27
|
-
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
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,
|
|
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
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterEffectsService, deps: [{ token: i1.Store }, { token: i2.EffectSources }, { token: i2.EffectsRunner }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterEffectsService, providedIn: 'root' }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZWZmZWN0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JlZ2lzdGVyLWVmZmVjdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFxQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUdwQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ21CLEtBQVksRUFDWixhQUE0QixFQUM1QixhQUE0QjtRQUY1QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDNUMsQ0FBQztJQUVKLGVBQWUsQ0FBQyxxQkFBMEM7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3hELElBQUksaUJBQWlCLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QjtRQUVELHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksaUJBQWlCLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7K0dBcEJVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRFQsTUFBTTs7NEZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVmZmVjdFNvdXJjZXMsIEVmZmVjdHNSdW5uZXIsIE9uSWRlbnRpZnlFZmZlY3RzLCByb290RWZmZWN0c0luaXQgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJFZmZlY3RzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0U291cmNlczogRWZmZWN0U291cmNlcyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0c1J1bm5lcjogRWZmZWN0c1J1bm5lclxyXG4gICkge31cclxuXHJcbiAgcmVnaXN0ZXJFZmZlY3RzKGVmZmVjdFNvdXJjZUluc3RhbmNlczogT25JZGVudGlmeUVmZmVjdHNbXSkge1xyXG4gICAgY29uc3Qgc2hvdWxkSW5pdEVmZmVjdHMgPSAhdGhpcy5lZmZlY3RzUnVubmVyLmlzU3RhcnRlZDtcclxuICAgIGlmIChzaG91bGRJbml0RWZmZWN0cykge1xyXG4gICAgICB0aGlzLmVmZmVjdHNSdW5uZXIuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBlZmZlY3RTb3VyY2VJbnN0YW5jZXMuZm9yRWFjaChlZmZlY3QgPT4ge1xyXG4gICAgICB0aGlzLmVmZmVjdFNvdXJjZXMuYWRkRWZmZWN0cyhlZmZlY3QpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHNob3VsZEluaXRFZmZlY3RzKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gocm9vdEVmZmVjdHNJbml0KCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
-
import { createAction, on } from '@ngrx/store';
|
|
3
|
-
export function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
4
|
-
if (!loadAction) {
|
|
5
|
-
loadAction = createAction('DummyRequestStateLoadAction');
|
|
6
|
-
}
|
|
7
|
-
return [
|
|
8
|
-
on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),
|
|
9
|
-
on(saveAction, state => ({
|
|
10
|
-
...state,
|
|
11
|
-
requestState: RequestState.IN_PROGRESS,
|
|
12
|
-
errors: undefined
|
|
13
|
-
})),
|
|
14
|
-
on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),
|
|
15
|
-
on(saveFailureAction, (state, { errors }) => ({
|
|
16
|
-
...state,
|
|
17
|
-
requestState: RequestState.FAILURE,
|
|
18
|
-
errors
|
|
19
|
-
}))
|
|
20
|
-
];
|
|
21
|
-
}
|
|
22
|
-
export function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFailureAction) {
|
|
23
|
-
return [
|
|
24
|
-
on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),
|
|
25
|
-
on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),
|
|
26
|
-
on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
export function getLastPageNumber(summaries, pagingOptions) {
|
|
30
|
-
if (!summaries.length) {
|
|
31
|
-
return pagingOptions.page - 1;
|
|
32
|
-
}
|
|
33
|
-
if (summaries.length < pagingOptions.pageSize) {
|
|
34
|
-
return pagingOptions.page;
|
|
35
|
-
}
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
1
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
import { createAction, on } from '@ngrx/store';
|
|
3
|
+
export function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
4
|
+
if (!loadAction) {
|
|
5
|
+
loadAction = createAction('DummyRequestStateLoadAction');
|
|
6
|
+
}
|
|
7
|
+
return [
|
|
8
|
+
on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),
|
|
9
|
+
on(saveAction, state => ({
|
|
10
|
+
...state,
|
|
11
|
+
requestState: RequestState.IN_PROGRESS,
|
|
12
|
+
errors: undefined
|
|
13
|
+
})),
|
|
14
|
+
on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),
|
|
15
|
+
on(saveFailureAction, (state, { errors }) => ({
|
|
16
|
+
...state,
|
|
17
|
+
requestState: RequestState.FAILURE,
|
|
18
|
+
errors
|
|
19
|
+
}))
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
export function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFailureAction) {
|
|
23
|
+
return [
|
|
24
|
+
on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),
|
|
25
|
+
on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),
|
|
26
|
+
on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
export function getLastPageNumber(summaries, pagingOptions) {
|
|
30
|
+
if (!summaries.length) {
|
|
31
|
+
return pagingOptions.page - 1;
|
|
32
|
+
}
|
|
33
|
+
if (summaries.length < pagingOptions.pageSize) {
|
|
34
|
+
return pagingOptions.page;
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWhhbmRsZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBK0IsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVc1RSxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLFVBQXFDLEVBQ3JDLFVBQXlCLEVBQ3pCLGlCQUFnQyxFQUNoQyxpQkFBaUY7SUFFakYsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLFVBQVUsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUMxRDtJQUVELE9BQU87UUFDTCxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDdEMsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRixFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU87WUFDbEMsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxVQUF5QixFQUN6QixpQkFBZ0MsRUFDaEMsaUJBQWdDO0lBRWhDLE9BQU87UUFDTCxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMvRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDbkYsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUksU0FBYyxFQUFFLGFBQTRCO0lBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3JCLE9BQU8sYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7S0FDL0I7SUFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRTtRQUM3QyxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7S0FDM0I7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnaW5nT3B0aW9ucywgUmVxdWVzdFN0YXRlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgUmVkdWNlclR5cGVzLCBjcmVhdGVBY3Rpb24sIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXF1ZXN0U3RhdGU8RSA9IHVua25vd24+IHtcclxuICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZTtcclxuICBlcnJvcnM/OiBFO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvYWRpbmdTdGF0ZSB7XHJcbiAgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVyczxUIGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBFID0gdW5rbm93bj4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvciB8IHVuZGVmaW5lZCxcclxuICBzYXZlQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVTdWNjZXNzQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVGYWlsdXJlQWN0aW9uOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yczogRSB9KSA9PiB7IGVycm9yczogRSB9PlxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICBpZiAoIWxvYWRBY3Rpb24pIHtcclxuICAgIGxvYWRBY3Rpb24gPSBjcmVhdGVBY3Rpb24oJ0R1bW15UmVxdWVzdFN0YXRlTG9hZEFjdGlvbicpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFtcclxuICAgIG9uKGxvYWRBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFIH0pKSxcclxuICAgIG9uKHNhdmVBY3Rpb24sIHN0YXRlID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JTl9QUk9HUkVTUyxcclxuICAgICAgZXJyb3JzOiB1bmRlZmluZWRcclxuICAgIH0pKSxcclxuICAgIG9uKHNhdmVTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihzYXZlRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7IGVycm9ycyB9KSA9PiAoe1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuRkFJTFVSRSxcclxuICAgICAgZXJyb3JzXHJcbiAgICB9KSlcclxuICBdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIExvYWRpbmdTdGF0ZT4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkU3VjY2Vzc0FjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkRmFpbHVyZUFjdGlvbjogQWN0aW9uQ3JlYXRvclxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICByZXR1cm4gW1xyXG4gICAgb24obG9hZEFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLklOX1BST0dSRVNTIH0pKSxcclxuICAgIG9uKGxvYWRTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihsb2FkRmFpbHVyZUFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLkZBSUxVUkUgfSkpXHJcbiAgXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3RQYWdlTnVtYmVyPFQ+KHN1bW1hcmllczogVFtdLCBwYWdpbmdPcHRpb25zOiBQYWdpbmdPcHRpb25zKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIXN1bW1hcmllcy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBwYWdpbmdPcHRpb25zLnBhZ2UgLSAxO1xyXG4gIH1cclxuXHJcbiAgaWYgKHN1bW1hcmllcy5sZW5ndGggPCBwYWdpbmdPcHRpb25zLnBhZ2VTaXplKSB7XHJcbiAgICByZXR1cm4gcGFnaW5nT3B0aW9ucy5wYWdlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbmdkdXgtc3RvcmUtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './lib/store.fixture';
|
|
1
|
+
export * from './lib/store.fixture';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3Rlc3Qvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZS5maXh0dXJlJztcclxuIl19
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { commonFixture } from '@ngdux/data-model-common/test';
|
|
2
|
-
export function createTestResources(nResources = 3) {
|
|
3
|
-
return [...Array(nResources)].map(() => createTestResource());
|
|
4
|
-
}
|
|
5
|
-
export function createTestResource() {
|
|
6
|
-
return {
|
|
7
|
-
id: commonFixture.getWord(),
|
|
8
|
-
name: commonFixture.getWord()
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
export const featureKey = 'testFeature';
|
|
12
|
-
export const i18nScope = 'testScope';
|
|
1
|
+
import { commonFixture } from '@ngdux/data-model-common/test';
|
|
2
|
+
export function createTestResources(nResources = 3) {
|
|
3
|
+
return [...Array(nResources)].map(() => createTestResource());
|
|
4
|
+
}
|
|
5
|
+
export function createTestResource() {
|
|
6
|
+
return {
|
|
7
|
+
id: commonFixture.getWord(),
|
|
8
|
+
name: commonFixture.getWord()
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export const featureKey = 'testFeature';
|
|
12
|
+
export const i18nScope = 'testScope';
|
|
13
13
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9jb21tb24vdGVzdC9zcmMvbGliL3N0b3JlLmZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBTzlELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQztJQUNoRCxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU87UUFDTCxFQUFFLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRTtRQUMzQixJQUFJLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRTtLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbW1vbkZpeHR1cmUgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24vdGVzdCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RSZXNvdXJjZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXN0UmVzb3VyY2VzKG5SZXNvdXJjZXMgPSAzKTogVGVzdFJlc291cmNlW10ge1xyXG4gIHJldHVybiBbLi4uQXJyYXkoblJlc291cmNlcyldLm1hcCgoKSA9PiBjcmVhdGVUZXN0UmVzb3VyY2UoKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXN0UmVzb3VyY2UoKTogVGVzdFJlc291cmNlIHtcclxuICByZXR1cm4ge1xyXG4gICAgaWQ6IGNvbW1vbkZpeHR1cmUuZ2V0V29yZCgpLFxyXG4gICAgbmFtZTogY29tbW9uRml4dHVyZS5nZXRXb3JkKClcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZmVhdHVyZUtleSA9ICd0ZXN0RmVhdHVyZSc7XHJcbmV4cG9ydCBjb25zdCBpMThuU2NvcGUgPSAndGVzdFNjb3BlJztcclxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3Rlc3Qvc3JjL25nZHV4LXN0b3JlLWNvbW1vbi10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { commonFixture } from '@ngdux/data-model-common/test';
|
|
2
2
|
|
|
3
|
-
function createTestResources(nResources = 3) {
|
|
4
|
-
return [...Array(nResources)].map(() => createTestResource());
|
|
5
|
-
}
|
|
6
|
-
function createTestResource() {
|
|
7
|
-
return {
|
|
8
|
-
id: commonFixture.getWord(),
|
|
9
|
-
name: commonFixture.getWord()
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
const featureKey = 'testFeature';
|
|
3
|
+
function createTestResources(nResources = 3) {
|
|
4
|
+
return [...Array(nResources)].map(() => createTestResource());
|
|
5
|
+
}
|
|
6
|
+
function createTestResource() {
|
|
7
|
+
return {
|
|
8
|
+
id: commonFixture.getWord(),
|
|
9
|
+
name: commonFixture.getWord()
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const featureKey = 'testFeature';
|
|
13
13
|
const i18nScope = 'testScope';
|
|
14
14
|
|
|
15
|
-
/**
|
|
16
|
-
* Generated bundle index. Do not edit.
|
|
15
|
+
/**
|
|
16
|
+
* Generated bundle index. Do not edit.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
export { createTestResource, createTestResources, featureKey, i18nScope };
|
|
@@ -6,70 +6,70 @@ import * as i1 from '@ngrx/store';
|
|
|
6
6
|
import { createAction, on } from '@ngrx/store';
|
|
7
7
|
import { RequestState } from '@ngdux/data-model-common';
|
|
8
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
|
-
|
|
29
|
-
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
31
|
-
type: Injectable,
|
|
32
|
-
args: [{ providedIn: 'root' }]
|
|
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
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterEffectsService, deps: [{ token: i1.Store }, { token: i2.EffectSources }, { token: i2.EffectsRunner }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterEffectsService, providedIn: 'root' }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterEffectsService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{ providedIn: 'root' }]
|
|
33
33
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.EffectSources }, { type: i2.EffectsRunner }]; } });
|
|
34
34
|
|
|
35
|
-
function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
36
|
-
if (!loadAction) {
|
|
37
|
-
loadAction = createAction('DummyRequestStateLoadAction');
|
|
38
|
-
}
|
|
39
|
-
return [
|
|
40
|
-
on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),
|
|
41
|
-
on(saveAction, state => ({
|
|
42
|
-
...state,
|
|
43
|
-
requestState: RequestState.IN_PROGRESS,
|
|
44
|
-
errors: undefined
|
|
45
|
-
})),
|
|
46
|
-
on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),
|
|
47
|
-
on(saveFailureAction, (state, { errors }) => ({
|
|
48
|
-
...state,
|
|
49
|
-
requestState: RequestState.FAILURE,
|
|
50
|
-
errors
|
|
51
|
-
}))
|
|
52
|
-
];
|
|
53
|
-
}
|
|
54
|
-
function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFailureAction) {
|
|
55
|
-
return [
|
|
56
|
-
on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),
|
|
57
|
-
on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),
|
|
58
|
-
on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))
|
|
59
|
-
];
|
|
60
|
-
}
|
|
61
|
-
function getLastPageNumber(summaries, pagingOptions) {
|
|
62
|
-
if (!summaries.length) {
|
|
63
|
-
return pagingOptions.page - 1;
|
|
64
|
-
}
|
|
65
|
-
if (summaries.length < pagingOptions.pageSize) {
|
|
66
|
-
return pagingOptions.page;
|
|
67
|
-
}
|
|
68
|
-
return undefined;
|
|
35
|
+
function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
36
|
+
if (!loadAction) {
|
|
37
|
+
loadAction = createAction('DummyRequestStateLoadAction');
|
|
38
|
+
}
|
|
39
|
+
return [
|
|
40
|
+
on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),
|
|
41
|
+
on(saveAction, state => ({
|
|
42
|
+
...state,
|
|
43
|
+
requestState: RequestState.IN_PROGRESS,
|
|
44
|
+
errors: undefined
|
|
45
|
+
})),
|
|
46
|
+
on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),
|
|
47
|
+
on(saveFailureAction, (state, { errors }) => ({
|
|
48
|
+
...state,
|
|
49
|
+
requestState: RequestState.FAILURE,
|
|
50
|
+
errors
|
|
51
|
+
}))
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFailureAction) {
|
|
55
|
+
return [
|
|
56
|
+
on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),
|
|
57
|
+
on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),
|
|
58
|
+
on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
function getLastPageNumber(summaries, pagingOptions) {
|
|
62
|
+
if (!summaries.length) {
|
|
63
|
+
return pagingOptions.page - 1;
|
|
64
|
+
}
|
|
65
|
+
if (summaries.length < pagingOptions.pageSize) {
|
|
66
|
+
return pagingOptions.page;
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
/**
|
|
72
|
-
* Generated bundle index. Do not edit.
|
|
71
|
+
/**
|
|
72
|
+
* Generated bundle index. Do not edit.
|
|
73
73
|
*/
|
|
74
74
|
|
|
75
75
|
export { RegisterEffectsService, createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
|
|
@@ -1 +1 @@
|
|
|
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 = unknown> {\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 = unknown>(\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":";;;;;;;;MAKa,sBAAsB,CAAA;AACjC,IAAA,WAAA,CACmB,KAAY,EACZ,aAA4B,EAC5B,aAA4B,EAAA;QAF5B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QACZ,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAC3C;AAEJ,IAAA,eAAe,CAAC,qBAA0C,EAAA;QACxD,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AACxD,QAAA,IAAI,iBAAiB,EAAE;AACrB,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC5B,SAAA;AAED,QAAA,qBAAqB,CAAC,OAAO,CAAC,MAAM,IAAG;AACrC,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;AACxC,SAAA;KACF
|
|
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 = unknown> {\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 = unknown>(\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
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './lib/model';
|
|
2
|
-
export * from './lib/services/register-effects.service';
|
|
3
|
-
export * from './lib/utils/action-handlers';
|
|
1
|
+
export * from './lib/model';
|
|
2
|
+
export * from './lib/services/register-effects.service';
|
|
3
|
+
export * from './lib/utils/action-handlers';
|
package/lib/model.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ActionCreator } from '@ngrx/store';
|
|
2
|
-
export type ActionPayload<T extends ActionCreator> = Omit<ReturnType<T>, 'type'>;
|
|
1
|
+
import { ActionCreator } from '@ngrx/store';
|
|
2
|
+
export type ActionPayload<T extends ActionCreator> = Omit<ReturnType<T>, 'type'>;
|
|
@@ -1,12 +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
|
-
}
|
|
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
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { PagingOptions, RequestState } from '@ngdux/data-model-common';
|
|
2
|
-
import { ActionCreator, ReducerTypes } from '@ngrx/store';
|
|
3
|
-
export interface ApiRequestState<E = unknown> {
|
|
4
|
-
requestState: RequestState;
|
|
5
|
-
errors?: E;
|
|
6
|
-
}
|
|
7
|
-
export interface LoadingState {
|
|
8
|
-
loadingState: RequestState;
|
|
9
|
-
}
|
|
10
|
-
export declare function createRequestStateActionHandlers<T extends ApiRequestState<E>, E = unknown>(loadAction: ActionCreator | undefined, saveAction: ActionCreator, saveSuccessAction: ActionCreator, saveFailureAction: ActionCreator<string, (props: {
|
|
11
|
-
errors: E;
|
|
12
|
-
}) => {
|
|
13
|
-
errors: E;
|
|
14
|
-
}>): ReducerTypes<T, ActionCreator[]>[];
|
|
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 | undefined;
|
|
1
|
+
import { PagingOptions, RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
import { ActionCreator, ReducerTypes } from '@ngrx/store';
|
|
3
|
+
export interface ApiRequestState<E = unknown> {
|
|
4
|
+
requestState: RequestState;
|
|
5
|
+
errors?: E;
|
|
6
|
+
}
|
|
7
|
+
export interface LoadingState {
|
|
8
|
+
loadingState: RequestState;
|
|
9
|
+
}
|
|
10
|
+
export declare function createRequestStateActionHandlers<T extends ApiRequestState<E>, E = unknown>(loadAction: ActionCreator | undefined, saveAction: ActionCreator, saveSuccessAction: ActionCreator, saveFailureAction: ActionCreator<string, (props: {
|
|
11
|
+
errors: E;
|
|
12
|
+
}) => {
|
|
13
|
+
errors: E;
|
|
14
|
+
}>): ReducerTypes<T, ActionCreator[]>[];
|
|
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 | undefined;
|
package/package.json
CHANGED
|
@@ -1,75 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngdux/store-common",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@ngrx/store": "^
|
|
6
|
-
"@angular/core": "
|
|
5
|
+
"@ngrx/store": "^16.0.0",
|
|
6
|
+
"@angular/core": "16.2.12",
|
|
7
7
|
"@ngdux/data-model-common": "^1.0.0",
|
|
8
|
-
"@ngrx/effects": "^
|
|
8
|
+
"@ngrx/effects": "^16.0.0"
|
|
9
9
|
},
|
|
10
|
-
"
|
|
11
|
-
"name": "@ngdux/store-common",
|
|
12
|
-
"version": "1.3.2",
|
|
13
|
-
"peerDependencies": {
|
|
14
|
-
"@ngrx/store": "^15.0.0",
|
|
15
|
-
"@angular/core": "^15.0.0",
|
|
16
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
17
|
-
"@ngrx/effects": "^15.0.0"
|
|
18
|
-
},
|
|
19
|
-
"default": {
|
|
20
|
-
"name": "@ngdux/store-common",
|
|
21
|
-
"version": "1.3.1",
|
|
22
|
-
"peerDependencies": {
|
|
23
|
-
"@ngrx/store": "^15.0.0",
|
|
24
|
-
"@angular/core": "^15.0.0",
|
|
25
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
26
|
-
"@ngrx/effects": "^15.0.0"
|
|
27
|
-
},
|
|
28
|
-
"default": {
|
|
29
|
-
"name": "@ngdux/store-common",
|
|
30
|
-
"version": "1.3.0",
|
|
31
|
-
"peerDependencies": {
|
|
32
|
-
"@ngrx/store": "^15.0.0",
|
|
33
|
-
"@angular/core": "^15.0.0",
|
|
34
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
35
|
-
"@ngrx/effects": "^15.0.0"
|
|
36
|
-
},
|
|
37
|
-
"default": {
|
|
38
|
-
"name": "@ngdux/store-common",
|
|
39
|
-
"version": "1.2.1",
|
|
40
|
-
"peerDependencies": {
|
|
41
|
-
"@ngrx/store": "^15.0.0",
|
|
42
|
-
"@angular/core": "^15.0.0",
|
|
43
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
44
|
-
"@ngrx/effects": "^15.0.0"
|
|
45
|
-
},
|
|
46
|
-
"default": {
|
|
47
|
-
"name": "@ngdux/store-common",
|
|
48
|
-
"version": "1.2.0",
|
|
49
|
-
"default": {
|
|
50
|
-
"name": "@ngdux/store-common",
|
|
51
|
-
"version": "1.1.1",
|
|
52
|
-
"default": {
|
|
53
|
-
"name": "@ngdux/store-common",
|
|
54
|
-
"version": "1.1.0"
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
"peerDependencies": {
|
|
58
|
-
"@ngrx/store": "^15.0.0",
|
|
59
|
-
"@angular/core": "^15.0.0",
|
|
60
|
-
"@ngdux/data-model-common": "^1.0.0",
|
|
61
|
-
"@ngrx/effects": "^15.0.0"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
"module": "fesm2015/ngdux-store-common.mjs",
|
|
69
|
-
"es2020": "fesm2020/ngdux-store-common.mjs",
|
|
70
|
-
"esm2020": "esm2020/ngdux-store-common.mjs",
|
|
71
|
-
"fesm2020": "fesm2020/ngdux-store-common.mjs",
|
|
72
|
-
"fesm2015": "fesm2015/ngdux-store-common.mjs",
|
|
10
|
+
"module": "fesm2022/ngdux-store-common.mjs",
|
|
73
11
|
"typings": "index.d.ts",
|
|
74
12
|
"exports": {
|
|
75
13
|
"./package.json": {
|
|
@@ -77,23 +15,19 @@
|
|
|
77
15
|
},
|
|
78
16
|
".": {
|
|
79
17
|
"types": "./index.d.ts",
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"node": "./fesm2015/ngdux-store-common.mjs",
|
|
84
|
-
"default": "./fesm2020/ngdux-store-common.mjs"
|
|
18
|
+
"esm2022": "./esm2022/ngdux-store-common.mjs",
|
|
19
|
+
"esm": "./esm2022/ngdux-store-common.mjs",
|
|
20
|
+
"default": "./fesm2022/ngdux-store-common.mjs"
|
|
85
21
|
},
|
|
86
22
|
"./test": {
|
|
87
23
|
"types": "./test/index.d.ts",
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"node": "./fesm2015/ngdux-store-common-test.mjs",
|
|
92
|
-
"default": "./fesm2020/ngdux-store-common-test.mjs"
|
|
24
|
+
"esm2022": "./esm2022/test/ngdux-store-common-test.mjs",
|
|
25
|
+
"esm": "./esm2022/test/ngdux-store-common-test.mjs",
|
|
26
|
+
"default": "./fesm2022/ngdux-store-common-test.mjs"
|
|
93
27
|
}
|
|
94
28
|
},
|
|
95
29
|
"sideEffects": false,
|
|
96
30
|
"dependencies": {
|
|
97
31
|
"tslib": "^2.3.0"
|
|
98
32
|
}
|
|
99
|
-
}
|
|
33
|
+
}
|
package/test/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './lib/store.fixture';
|
|
1
|
+
export * from './lib/store.fixture';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export interface TestResource {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
}
|
|
5
|
-
export declare function createTestResources(nResources?: number): TestResource[];
|
|
6
|
-
export declare function createTestResource(): TestResource;
|
|
7
|
-
export declare const featureKey = "testFeature";
|
|
8
|
-
export declare const i18nScope = "testScope";
|
|
1
|
+
export interface TestResource {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function createTestResources(nResources?: number): TestResource[];
|
|
6
|
+
export declare function createTestResource(): TestResource;
|
|
7
|
+
export declare const featureKey = "testFeature";
|
|
8
|
+
export declare const i18nScope = "testScope";
|
|
@@ -1,68 +0,0 @@
|
|
|
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';
|
|
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 }]; } });
|
|
34
|
-
|
|
35
|
-
function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
36
|
-
if (!loadAction) {
|
|
37
|
-
loadAction = createAction('DummyRequestStateLoadAction');
|
|
38
|
-
}
|
|
39
|
-
return [
|
|
40
|
-
on(loadAction, state => (Object.assign(Object.assign({}, state), { requestState: RequestState.IDLE }))),
|
|
41
|
-
on(saveAction, state => (Object.assign(Object.assign({}, state), { requestState: RequestState.IN_PROGRESS, errors: undefined }))),
|
|
42
|
-
on(saveSuccessAction, state => (Object.assign(Object.assign({}, state), { requestState: RequestState.SUCCESS }))),
|
|
43
|
-
on(saveFailureAction, (state, { errors }) => (Object.assign(Object.assign({}, state), { requestState: RequestState.FAILURE, errors })))
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFailureAction) {
|
|
47
|
-
return [
|
|
48
|
-
on(loadAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.IN_PROGRESS }))),
|
|
49
|
-
on(loadSuccessAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.SUCCESS }))),
|
|
50
|
-
on(loadFailureAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.FAILURE })))
|
|
51
|
-
];
|
|
52
|
-
}
|
|
53
|
-
function getLastPageNumber(summaries, pagingOptions) {
|
|
54
|
-
if (!summaries.length) {
|
|
55
|
-
return pagingOptions.page - 1;
|
|
56
|
-
}
|
|
57
|
-
if (summaries.length < pagingOptions.pageSize) {
|
|
58
|
-
return pagingOptions.page;
|
|
59
|
-
}
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Generated bundle index. Do not edit.
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
|
-
export { RegisterEffectsService, createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
|
|
68
|
-
//# sourceMappingURL=ngdux-store-common.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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 = unknown> {\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 = unknown>(\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,20 +0,0 @@
|
|
|
1
|
-
import { commonFixture } from '@ngdux/data-model-common/test';
|
|
2
|
-
|
|
3
|
-
function createTestResources(nResources = 3) {
|
|
4
|
-
return [...Array(nResources)].map(() => createTestResource());
|
|
5
|
-
}
|
|
6
|
-
function createTestResource() {
|
|
7
|
-
return {
|
|
8
|
-
id: commonFixture.getWord(),
|
|
9
|
-
name: commonFixture.getWord()
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
const featureKey = 'testFeature';
|
|
13
|
-
const i18nScope = 'testScope';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Generated bundle index. Do not edit.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
export { createTestResource, createTestResources, featureKey, i18nScope };
|
|
20
|
-
//# sourceMappingURL=ngdux-store-common-test.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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;;;;"}
|
|
File without changes
|