@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 ADDED
@@ -0,0 +1,7 @@
1
+ # shared-util-store-common
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test shared-util-store-common` to execute the unit tests.
@@ -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
@@ -0,0 +1,3 @@
1
+ # @ngdux/store-common/test
2
+
3
+ Secondary entry point of `@ngdux/store-common`. It can be used by importing from `@ngdux/store-common/test`.
@@ -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";