@ngdux/store-common 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/esm2020/index.mjs +2 -0
- package/esm2020/lib/utils/action-handlers.mjs +29 -0
- package/esm2020/ngdux-store-common.mjs +5 -0
- package/esm2020/test/index.mjs +2 -0
- package/esm2020/test/lib/store.fixture.mjs +13 -0
- package/esm2020/test/ngdux-store-common-test.mjs +5 -0
- package/fesm2015/ngdux-store-common-test.mjs +20 -0
- package/fesm2015/ngdux-store-common-test.mjs.map +1 -0
- package/fesm2015/ngdux-store-common.mjs +28 -0
- package/fesm2015/ngdux-store-common.mjs.map +1 -0
- package/fesm2020/ngdux-store-common-test.mjs +20 -0
- package/fesm2020/ngdux-store-common-test.mjs.map +1 -0
- package/fesm2020/ngdux-store-common.mjs +36 -0
- package/fesm2020/ngdux-store-common.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/lib/utils/action-handlers.d.ts +15 -0
- package/package.json +41 -0
- package/test/README.md +3 -0
- package/test/index.d.ts +1 -0
- package/test/lib/store.fixture.d.ts +8 -0
package/README.md
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib/utils/action-handlers';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC91dGlsLXN0b3JlLWNvbW1vbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycyc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWhhbmRsZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvdXRpbC1zdG9yZS1jb21tb24vc3JjL2xpYi91dGlscy9hY3Rpb24taGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBaUIsWUFBWSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFXNUUsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxVQUF5QixFQUN6QixVQUF5QixFQUN6QixpQkFBZ0MsRUFDaEMsaUJBQWlGO0lBRWpGLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixVQUFVLEdBQUcsWUFBWSxDQUFDLDZCQUE2QixDQUFDLENBQUM7S0FDMUQ7SUFFRCxPQUFPO1FBQ0wsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkIsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLFlBQVksQ0FBQyxXQUFXO1lBQ3RDLE1BQU0sRUFBRSxTQUFTO1NBQ2xCLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEYsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPO1lBQ2xDLE1BQU07U0FDUCxDQUFDLENBQUM7S0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsVUFBeUIsRUFDekIsaUJBQWdDLEVBQ2hDLGlCQUFnQztJQUVoQyxPQUFPO1FBQ0wsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0UsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRixFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ25GLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVxdWVzdFN0YXRlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgY3JlYXRlQWN0aW9uLCBvbiwgUmVkdWNlclR5cGVzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXF1ZXN0U3RhdGU8RT4ge1xyXG4gIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlO1xyXG4gIGVycm9yczogRTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2FkaW5nU3RhdGUge1xyXG4gIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIEFwaVJlcXVlc3RTdGF0ZTxFPiwgRT4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBzYXZlQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVTdWNjZXNzQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVGYWlsdXJlQWN0aW9uOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yczogRSB9KSA9PiB7IGVycm9yczogRSB9PlxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICBpZiAoIWxvYWRBY3Rpb24pIHtcclxuICAgIGxvYWRBY3Rpb24gPSBjcmVhdGVBY3Rpb24oJ0R1bW15UmVxdWVzdFN0YXRlTG9hZEFjdGlvbicpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFtcclxuICAgIG9uKGxvYWRBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFIH0pKSxcclxuICAgIG9uKHNhdmVBY3Rpb24sIHN0YXRlID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JTl9QUk9HUkVTUyxcclxuICAgICAgZXJyb3JzOiB1bmRlZmluZWRcclxuICAgIH0pKSxcclxuICAgIG9uKHNhdmVTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihzYXZlRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7IGVycm9ycyB9KSA9PiAoe1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuRkFJTFVSRSxcclxuICAgICAgZXJyb3JzXHJcbiAgICB9KSlcclxuICBdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIExvYWRpbmdTdGF0ZT4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkU3VjY2Vzc0FjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkRmFpbHVyZUFjdGlvbjogQWN0aW9uQ3JlYXRvclxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICByZXR1cm4gW1xyXG4gICAgb24obG9hZEFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLklOX1BST0dSRVNTIH0pKSxcclxuICAgIG9uKGxvYWRTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihsb2FkRmFpbHVyZUFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLkZBSUxVUkUgfSkpXHJcbiAgXTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvdXRpbC1zdG9yZS1jb21tb24vc3JjL25nZHV4LXN0b3JlLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib/store.fixture';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC91dGlsLXN0b3JlLWNvbW1vbi90ZXN0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc3RvcmUuZml4dHVyZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +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';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkL3V0aWwtc3RvcmUtY29tbW9uL3Rlc3Qvc3JjL2xpYi9zdG9yZS5maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU85RCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsVUFBVSxHQUFHLENBQUM7SUFDaEQsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPO1FBQ0wsRUFBRSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUU7UUFDM0IsSUFBSSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUU7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21tb25GaXh0dXJlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uL3Rlc3QnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0UmVzb3VyY2Uge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGVzdFJlc291cmNlcyhuUmVzb3VyY2VzID0gMyk6IFRlc3RSZXNvdXJjZVtdIHtcclxuICByZXR1cm4gWy4uLkFycmF5KG5SZXNvdXJjZXMpXS5tYXAoKCkgPT4gY3JlYXRlVGVzdFJlc291cmNlKCkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGVzdFJlc291cmNlKCk6IFRlc3RSZXNvdXJjZSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGlkOiBjb21tb25GaXh0dXJlLmdldFdvcmQoKSxcclxuICAgIG5hbWU6IGNvbW1vbkZpeHR1cmUuZ2V0V29yZCgpXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGZlYXR1cmVLZXkgPSAndGVzdEZlYXR1cmUnO1xyXG5leHBvcnQgY29uc3QgaTE4blNjb3BlID0gJ3Rlc3RTY29wZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC91dGlsLXN0b3JlLWNvbW1vbi90ZXN0L3NyYy9uZ2R1eC1zdG9yZS1jb21tb24tdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../libs/shared/util-store-common/test/src/lib/store.fixture.ts","../../../../../libs/shared/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;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
import { createAction, on } from '@ngrx/store';
|
|
3
|
+
|
|
4
|
+
function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
5
|
+
if (!loadAction) {
|
|
6
|
+
loadAction = createAction('DummyRequestStateLoadAction');
|
|
7
|
+
}
|
|
8
|
+
return [
|
|
9
|
+
on(loadAction, state => (Object.assign(Object.assign({}, state), { requestState: RequestState.IDLE }))),
|
|
10
|
+
on(saveAction, state => (Object.assign(Object.assign({}, state), { requestState: RequestState.IN_PROGRESS, errors: undefined }))),
|
|
11
|
+
on(saveSuccessAction, state => (Object.assign(Object.assign({}, state), { requestState: RequestState.SUCCESS }))),
|
|
12
|
+
on(saveFailureAction, (state, { errors }) => (Object.assign(Object.assign({}, state), { requestState: RequestState.FAILURE, errors })))
|
|
13
|
+
];
|
|
14
|
+
}
|
|
15
|
+
function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFailureAction) {
|
|
16
|
+
return [
|
|
17
|
+
on(loadAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.IN_PROGRESS }))),
|
|
18
|
+
on(loadSuccessAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.SUCCESS }))),
|
|
19
|
+
on(loadFailureAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.FAILURE })))
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Generated bundle index. Do not edit.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
export { createLoadingStateActionHandlers, createRequestStateActionHandlers };
|
|
28
|
+
//# sourceMappingURL=ngdux-store-common.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../libs/shared/util-store-common/src/lib/utils/action-handlers.ts","../../../../../libs/shared/util-store-common/src/ngdux-store-common.ts"],"sourcesContent":["import { RequestState } from '@ngdux/data-model-common';\r\nimport { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator,\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAYM,SAAU,gCAAgC,CAC9C,UAAyB,EACzB,UAAyB,EACzB,iBAAgC,EAChC,iBAAiF,EAAA;IAEjF,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,UAAU,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC1D,KAAA;IAED,OAAO;AACL,QAAA,EAAE,CAAC,UAAU,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,IAAG,CAAC;QACxE,EAAE,CAAC,UAAU,EAAE,KAAK,qCACf,KAAK,CAAA,EAAA,EACR,YAAY,EAAE,YAAY,CAAC,WAAW,EACtC,MAAM,EAAE,SAAS,IACjB,CAAC;AACH,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,IAAG,CAAC;QAClF,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MACnC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CACR,EAAA,EAAA,YAAY,EAAE,YAAY,CAAC,OAAO,EAClC,MAAM,EAAA,CAAA,CACN,CAAC;KACJ,CAAC;AACJ,CAAC;SAEe,gCAAgC,CAC9C,UAAyB,EACzB,iBAAgC,EAChC,iBAAgC,EAAA;IAEhC,OAAO;AACL,QAAA,EAAE,CAAC,UAAU,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,WAAW,IAAG,CAAC;AAC/E,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,IAAG,CAAC;AAClF,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAA,EAAA,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,IAAG,CAAC;KACnF,CAAC;AACJ;;AChDA;;AAEG;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../libs/shared/util-store-common/test/src/lib/store.fixture.ts","../../../../../libs/shared/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;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
import { createAction, on } from '@ngrx/store';
|
|
3
|
+
|
|
4
|
+
function createRequestStateActionHandlers(loadAction, saveAction, saveSuccessAction, saveFailureAction) {
|
|
5
|
+
if (!loadAction) {
|
|
6
|
+
loadAction = createAction('DummyRequestStateLoadAction');
|
|
7
|
+
}
|
|
8
|
+
return [
|
|
9
|
+
on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),
|
|
10
|
+
on(saveAction, state => ({
|
|
11
|
+
...state,
|
|
12
|
+
requestState: RequestState.IN_PROGRESS,
|
|
13
|
+
errors: undefined
|
|
14
|
+
})),
|
|
15
|
+
on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),
|
|
16
|
+
on(saveFailureAction, (state, { errors }) => ({
|
|
17
|
+
...state,
|
|
18
|
+
requestState: RequestState.FAILURE,
|
|
19
|
+
errors
|
|
20
|
+
}))
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFailureAction) {
|
|
24
|
+
return [
|
|
25
|
+
on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),
|
|
26
|
+
on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),
|
|
27
|
+
on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Generated bundle index. Do not edit.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
export { createLoadingStateActionHandlers, createRequestStateActionHandlers };
|
|
36
|
+
//# sourceMappingURL=ngdux-store-common.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../libs/shared/util-store-common/src/lib/utils/action-handlers.ts","../../../../../libs/shared/util-store-common/src/ngdux-store-common.ts"],"sourcesContent":["import { RequestState } from '@ngdux/data-model-common';\r\nimport { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\r\n\r\nexport interface ApiRequestState<E> {\r\n requestState: RequestState;\r\n errors: E;\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingState: RequestState;\r\n}\r\n\r\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\r\n loadAction: ActionCreator,\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAYM,SAAU,gCAAgC,CAC9C,UAAyB,EACzB,UAAyB,EACzB,iBAAgC,EAChC,iBAAiF,EAAA;IAEjF,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,UAAU,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC1D,KAAA;IAED,OAAO;AACL,QAAA,EAAE,CAAC,UAAU,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;AACxE,QAAA,EAAE,CAAC,UAAU,EAAE,KAAK,KAAK;AACvB,YAAA,GAAG,KAAK;YACR,YAAY,EAAE,YAAY,CAAC,WAAW;AACtC,YAAA,MAAM,EAAE,SAAS;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;AAClF,QAAA,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM;AAC5C,YAAA,GAAG,KAAK;YACR,YAAY,EAAE,YAAY,CAAC,OAAO;YAClC,MAAM;AACP,SAAA,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;SAEe,gCAAgC,CAC9C,UAAyB,EACzB,iBAAgC,EAChC,iBAAgC,EAAA;IAEhC,OAAO;AACL,QAAA,EAAE,CAAC,UAAU,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/E,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;AAClF,QAAA,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;KACnF,CAAC;AACJ;;AChDA;;AAEG;;;;"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/utils/action-handlers';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RequestState } from '@ngdux/data-model-common';
|
|
2
|
+
import { ActionCreator, ReducerTypes } from '@ngrx/store';
|
|
3
|
+
export interface ApiRequestState<E> {
|
|
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>(loadAction: ActionCreator, 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[]>[];
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ngdux/store-common",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^14.2.0",
|
|
6
|
+
"@angular/core": "^14.2.0",
|
|
7
|
+
"@ngrx/store": "14.0.2",
|
|
8
|
+
"@ngdux/data-model-common": "0.0.1"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"tslib": "^2.3.0"
|
|
12
|
+
},
|
|
13
|
+
"module": "fesm2015/ngdux-store-common.mjs",
|
|
14
|
+
"es2020": "fesm2020/ngdux-store-common.mjs",
|
|
15
|
+
"esm2020": "esm2020/ngdux-store-common.mjs",
|
|
16
|
+
"fesm2020": "fesm2020/ngdux-store-common.mjs",
|
|
17
|
+
"fesm2015": "fesm2015/ngdux-store-common.mjs",
|
|
18
|
+
"typings": "index.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
"./package.json": {
|
|
21
|
+
"default": "./package.json"
|
|
22
|
+
},
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./index.d.ts",
|
|
25
|
+
"esm2020": "./esm2020/ngdux-store-common.mjs",
|
|
26
|
+
"es2020": "./fesm2020/ngdux-store-common.mjs",
|
|
27
|
+
"es2015": "./fesm2015/ngdux-store-common.mjs",
|
|
28
|
+
"node": "./fesm2015/ngdux-store-common.mjs",
|
|
29
|
+
"default": "./fesm2020/ngdux-store-common.mjs"
|
|
30
|
+
},
|
|
31
|
+
"./test": {
|
|
32
|
+
"types": "./test/index.d.ts",
|
|
33
|
+
"esm2020": "./esm2020/test/ngdux-store-common-test.mjs",
|
|
34
|
+
"es2020": "./fesm2020/ngdux-store-common-test.mjs",
|
|
35
|
+
"es2015": "./fesm2015/ngdux-store-common-test.mjs",
|
|
36
|
+
"node": "./fesm2015/ngdux-store-common-test.mjs",
|
|
37
|
+
"default": "./fesm2020/ngdux-store-common-test.mjs"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"sideEffects": false
|
|
41
|
+
}
|
package/test/README.md
ADDED
package/test/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/store.fixture';
|
|
@@ -0,0 +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";
|