@ngdux/store-common 1.4.0 → 3.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/esm2022/lib/services/register-effects.service.mjs +32 -0
- package/esm2022/lib/utils/action-handlers.mjs +38 -0
- 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 +61 -61
- 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/esm2020/lib/services/register-effects.service.mjs +0 -32
- package/esm2020/lib/utils/action-handlers.mjs +0 -38
- 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
|
|
@@ -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
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", 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: "17.2.2", ngImport: i0, type: RegisterEffectsService, providedIn: 'root' }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RegisterEffectsService, decorators: [{
|
|
29
|
+
type: Injectable,
|
|
30
|
+
args: [{ providedIn: 'root' }]
|
|
31
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.EffectSources }, { type: i2.EffectsRunner }] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZWZmZWN0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JlZ2lzdGVyLWVmZmVjdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFxQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUdwQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ21CLEtBQVksRUFDWixhQUE0QixFQUM1QixhQUE0QjtRQUY1QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDNUMsQ0FBQztJQUVKLGVBQWUsQ0FBQyxxQkFBMEM7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3hELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzs4R0FwQlUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FEVCxNQUFNOzsyRkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRWZmZWN0U291cmNlcywgRWZmZWN0c1J1bm5lciwgT25JZGVudGlmeUVmZmVjdHMsIHJvb3RFZmZlY3RzSW5pdCB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckVmZmVjdHNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlZmZlY3RTb3VyY2VzOiBFZmZlY3RTb3VyY2VzLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlZmZlY3RzUnVubmVyOiBFZmZlY3RzUnVubmVyXHJcbiAgKSB7fVxyXG5cclxuICByZWdpc3RlckVmZmVjdHMoZWZmZWN0U291cmNlSW5zdGFuY2VzOiBPbklkZW50aWZ5RWZmZWN0c1tdKSB7XHJcbiAgICBjb25zdCBzaG91bGRJbml0RWZmZWN0cyA9ICF0aGlzLmVmZmVjdHNSdW5uZXIuaXNTdGFydGVkO1xyXG4gICAgaWYgKHNob3VsZEluaXRFZmZlY3RzKSB7XHJcbiAgICAgIHRoaXMuZWZmZWN0c1J1bm5lci5zdGFydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGVmZmVjdFNvdXJjZUluc3RhbmNlcy5mb3JFYWNoKGVmZmVjdCA9PiB7XHJcbiAgICAgIHRoaXMuZWZmZWN0U291cmNlcy5hZGRFZmZlY3RzKGVmZmVjdCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc2hvdWxkSW5pdEVmZmVjdHMpIHtcclxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChyb290RWZmZWN0c0luaXQoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +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
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWhhbmRsZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBK0IsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVc1RSxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLFVBQXFDLEVBQ3JDLFVBQXlCLEVBQ3pCLGlCQUFnQyxFQUNoQyxpQkFBaUY7SUFFakYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTztRQUNMLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEdBQUcsS0FBSztZQUNSLFlBQVksRUFBRSxZQUFZLENBQUMsV0FBVztZQUN0QyxNQUFNLEVBQUUsU0FBUztTQUNsQixDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEdBQUcsS0FBSztZQUNSLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTztZQUNsQyxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0tBQ0osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLFVBQXlCLEVBQ3pCLGlCQUFnQyxFQUNoQyxpQkFBZ0M7SUFFaEMsT0FBTztRQUNMLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEYsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNuRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxTQUFjLEVBQUUsYUFBNEI7SUFDL0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixPQUFPLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2luZ09wdGlvbnMsIFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XHJcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IsIFJlZHVjZXJUeXBlcywgY3JlYXRlQWN0aW9uLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBpUmVxdWVzdFN0YXRlPEUgPSB1bmtub3duPiB7XHJcbiAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGU7XHJcbiAgZXJyb3JzPzogRTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2FkaW5nU3RhdGUge1xyXG4gIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIEFwaVJlcXVlc3RTdGF0ZTxFPiwgRSA9IHVua25vd24+KFxyXG4gIGxvYWRBY3Rpb246IEFjdGlvbkNyZWF0b3IgfCB1bmRlZmluZWQsXHJcbiAgc2F2ZUFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBzYXZlU3VjY2Vzc0FjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBzYXZlRmFpbHVyZUFjdGlvbjogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcnM6IEUgfSkgPT4geyBlcnJvcnM6IEUgfT5cclxuKTogUmVkdWNlclR5cGVzPFQsIEFjdGlvbkNyZWF0b3JbXT5bXSB7XHJcbiAgaWYgKCFsb2FkQWN0aW9uKSB7XHJcbiAgICBsb2FkQWN0aW9uID0gY3JlYXRlQWN0aW9uKCdEdW1teVJlcXVlc3RTdGF0ZUxvYWRBY3Rpb24nKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBbXHJcbiAgICBvbihsb2FkQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuSURMRSB9KSksXHJcbiAgICBvbihzYXZlQWN0aW9uLCBzdGF0ZSA9PiAoe1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuSU5fUFJPR1JFU1MsXHJcbiAgICAgIGVycm9yczogdW5kZWZpbmVkXHJcbiAgICB9KSksXHJcbiAgICBvbihzYXZlU3VjY2Vzc0FjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlLlNVQ0NFU1MgfSkpLFxyXG4gICAgb24oc2F2ZUZhaWx1cmVBY3Rpb24sIChzdGF0ZSwgeyBlcnJvcnMgfSkgPT4gKHtcclxuICAgICAgLi4uc3RhdGUsXHJcbiAgICAgIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlLkZBSUxVUkUsXHJcbiAgICAgIGVycm9yc1xyXG4gICAgfSkpXHJcbiAgXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvYWRpbmdTdGF0ZUFjdGlvbkhhbmRsZXJzPFQgZXh0ZW5kcyBMb2FkaW5nU3RhdGU+KFxyXG4gIGxvYWRBY3Rpb246IEFjdGlvbkNyZWF0b3IsXHJcbiAgbG9hZFN1Y2Nlc3NBY3Rpb246IEFjdGlvbkNyZWF0b3IsXHJcbiAgbG9hZEZhaWx1cmVBY3Rpb246IEFjdGlvbkNyZWF0b3JcclxuKTogUmVkdWNlclR5cGVzPFQsIEFjdGlvbkNyZWF0b3JbXT5bXSB7XHJcbiAgcmV0dXJuIFtcclxuICAgIG9uKGxvYWRBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZS5JTl9QUk9HUkVTUyB9KSksXHJcbiAgICBvbihsb2FkU3VjY2Vzc0FjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLlNVQ0NFU1MgfSkpLFxyXG4gICAgb24obG9hZEZhaWx1cmVBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZS5GQUlMVVJFIH0pKVxyXG4gIF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRMYXN0UGFnZU51bWJlcjxUPihzdW1tYXJpZXM6IFRbXSwgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKCFzdW1tYXJpZXMubGVuZ3RoKSB7XHJcbiAgICByZXR1cm4gcGFnaW5nT3B0aW9ucy5wYWdlIC0gMTtcclxuICB9XHJcblxyXG4gIGlmIChzdW1tYXJpZXMubGVuZ3RoIDwgcGFnaW5nT3B0aW9ucy5wYWdlU2l6ZSkge1xyXG4gICAgcmV0dXJuIHBhZ2luZ09wdGlvbnMucGFnZTtcclxuICB9XHJcblxyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn1cclxuIl19
|
|
@@ -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' }]
|
|
33
|
-
}], ctorParameters:
|
|
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: "17.2.2", 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: "17.2.2", ngImport: i0, type: RegisterEffectsService, providedIn: 'root' }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: RegisterEffectsService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{ providedIn: 'root' }]
|
|
33
|
+
}], ctorParameters: () => [{ 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;
|
|
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": "3.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@ngrx/store": "^
|
|
6
|
-
"@angular/core": "
|
|
7
|
-
"@ngdux/data-model-common": "^
|
|
8
|
-
"@ngrx/effects": "^
|
|
5
|
+
"@ngrx/store": "^17.0.0",
|
|
6
|
+
"@angular/core": "",
|
|
7
|
+
"@ngdux/data-model-common": "^3.0.0",
|
|
8
|
+
"@ngrx/effects": "^17.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,19 +15,15 @@
|
|
|
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,
|
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,32 +0,0 @@
|
|
|
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=
|
|
@@ -1,38 +0,0 @@
|
|
|
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
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWhhbmRsZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBK0IsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVc1RSxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLFVBQXFDLEVBQ3JDLFVBQXlCLEVBQ3pCLGlCQUFnQyxFQUNoQyxpQkFBaUY7SUFFakYsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLFVBQVUsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUMxRDtJQUVELE9BQU87UUFDTCxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDdEMsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRixFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU87WUFDbEMsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxVQUF5QixFQUN6QixpQkFBZ0MsRUFDaEMsaUJBQWdDO0lBRWhDLE9BQU87UUFDTCxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMvRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDbkYsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUksU0FBYyxFQUFFLGFBQTRCO0lBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3JCLE9BQU8sYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7S0FDL0I7SUFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRTtRQUM3QyxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7S0FDM0I7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnaW5nT3B0aW9ucywgUmVxdWVzdFN0YXRlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgUmVkdWNlclR5cGVzLCBjcmVhdGVBY3Rpb24sIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXF1ZXN0U3RhdGU8RSA9IHVua25vd24+IHtcclxuICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZTtcclxuICBlcnJvcnM/OiBFO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvYWRpbmdTdGF0ZSB7XHJcbiAgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXF1ZXN0U3RhdGVBY3Rpb25IYW5kbGVyczxUIGV4dGVuZHMgQXBpUmVxdWVzdFN0YXRlPEU+LCBFID0gdW5rbm93bj4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvciB8IHVuZGVmaW5lZCxcclxuICBzYXZlQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVTdWNjZXNzQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVGYWlsdXJlQWN0aW9uOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yczogRSB9KSA9PiB7IGVycm9yczogRSB9PlxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICBpZiAoIWxvYWRBY3Rpb24pIHtcclxuICAgIGxvYWRBY3Rpb24gPSBjcmVhdGVBY3Rpb24oJ0R1bW15UmVxdWVzdFN0YXRlTG9hZEFjdGlvbicpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFtcclxuICAgIG9uKGxvYWRBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFIH0pKSxcclxuICAgIG9uKHNhdmVBY3Rpb24sIHN0YXRlID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JTl9QUk9HUkVTUyxcclxuICAgICAgZXJyb3JzOiB1bmRlZmluZWRcclxuICAgIH0pKSxcclxuICAgIG9uKHNhdmVTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihzYXZlRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7IGVycm9ycyB9KSA9PiAoe1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuRkFJTFVSRSxcclxuICAgICAgZXJyb3JzXHJcbiAgICB9KSlcclxuICBdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIExvYWRpbmdTdGF0ZT4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkU3VjY2Vzc0FjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkRmFpbHVyZUFjdGlvbjogQWN0aW9uQ3JlYXRvclxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICByZXR1cm4gW1xyXG4gICAgb24obG9hZEFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLklOX1BST0dSRVNTIH0pKSxcclxuICAgIG9uKGxvYWRTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihsb2FkRmFpbHVyZUFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLkZBSUxVUkUgfSkpXHJcbiAgXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3RQYWdlTnVtYmVyPFQ+KHN1bW1hcmllczogVFtdLCBwYWdpbmdPcHRpb25zOiBQYWdpbmdPcHRpb25zKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIXN1bW1hcmllcy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBwYWdpbmdPcHRpb25zLnBhZ2UgLSAxO1xyXG4gIH1cclxuXHJcbiAgaWYgKHN1bW1hcmllcy5sZW5ndGggPCBwYWdpbmdPcHRpb25zLnBhZ2VTaXplKSB7XHJcbiAgICByZXR1cm4gcGFnaW5nT3B0aW9ucy5wYWdlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
|
|
@@ -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
|