@ngdux/store-common 0.0.1 → 0.1.7

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 CHANGED
@@ -1,7 +1,7 @@
1
- # shared-util-store-common
1
+ # ngdux-util-store-common
2
2
 
3
3
  This library was generated with [Nx](https://nx.dev).
4
4
 
5
5
  ## Running unit tests
6
6
 
7
- Run `nx test shared-util-store-common` to execute the unit tests.
7
+ Run `nx test ngdux-util-store-common` to execute the unit tests.
package/esm2020/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './lib/utils/action-handlers';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC91dGlsLXN0b3JlLWNvbW1vbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycyc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvYWN0aW9uLWhhbmRsZXJzJztcbiJdfQ==
@@ -26,4 +26,13 @@ export function createLoadingStateActionHandlers(loadAction, loadSuccessAction,
26
26
  on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))
27
27
  ];
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWhhbmRsZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvdXRpbC1zdG9yZS1jb21tb24vc3JjL2xpYi91dGlscy9hY3Rpb24taGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBaUIsWUFBWSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFXNUUsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxVQUF5QixFQUN6QixVQUF5QixFQUN6QixpQkFBZ0MsRUFDaEMsaUJBQWlGO0lBRWpGLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixVQUFVLEdBQUcsWUFBWSxDQUFDLDZCQUE2QixDQUFDLENBQUM7S0FDMUQ7SUFFRCxPQUFPO1FBQ0wsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkIsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLFlBQVksQ0FBQyxXQUFXO1lBQ3RDLE1BQU0sRUFBRSxTQUFTO1NBQ2xCLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEYsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPO1lBQ2xDLE1BQU07U0FDUCxDQUFDLENBQUM7S0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsVUFBeUIsRUFDekIsaUJBQWdDLEVBQ2hDLGlCQUFnQztJQUVoQyxPQUFPO1FBQ0wsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0UsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRixFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ25GLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVxdWVzdFN0YXRlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgY3JlYXRlQWN0aW9uLCBvbiwgUmVkdWNlclR5cGVzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXF1ZXN0U3RhdGU8RT4ge1xyXG4gIHJlcXVlc3RTdGF0ZTogUmVxdWVzdFN0YXRlO1xyXG4gIGVycm9yczogRTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2FkaW5nU3RhdGUge1xyXG4gIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVxdWVzdFN0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIEFwaVJlcXVlc3RTdGF0ZTxFPiwgRT4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBzYXZlQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVTdWNjZXNzQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxyXG4gIHNhdmVGYWlsdXJlQWN0aW9uOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yczogRSB9KSA9PiB7IGVycm9yczogRSB9PlxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICBpZiAoIWxvYWRBY3Rpb24pIHtcclxuICAgIGxvYWRBY3Rpb24gPSBjcmVhdGVBY3Rpb24oJ0R1bW15UmVxdWVzdFN0YXRlTG9hZEFjdGlvbicpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFtcclxuICAgIG9uKGxvYWRBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFIH0pKSxcclxuICAgIG9uKHNhdmVBY3Rpb24sIHN0YXRlID0+ICh7XHJcbiAgICAgIC4uLnN0YXRlLFxyXG4gICAgICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JTl9QUk9HUkVTUyxcclxuICAgICAgZXJyb3JzOiB1bmRlZmluZWRcclxuICAgIH0pKSxcclxuICAgIG9uKHNhdmVTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihzYXZlRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7IGVycm9ycyB9KSA9PiAoe1xyXG4gICAgICAuLi5zdGF0ZSxcclxuICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuRkFJTFVSRSxcclxuICAgICAgZXJyb3JzXHJcbiAgICB9KSlcclxuICBdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIExvYWRpbmdTdGF0ZT4oXHJcbiAgbG9hZEFjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkU3VjY2Vzc0FjdGlvbjogQWN0aW9uQ3JlYXRvcixcclxuICBsb2FkRmFpbHVyZUFjdGlvbjogQWN0aW9uQ3JlYXRvclxyXG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcclxuICByZXR1cm4gW1xyXG4gICAgb24obG9hZEFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLklOX1BST0dSRVNTIH0pKSxcclxuICAgIG9uKGxvYWRTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXHJcbiAgICBvbihsb2FkRmFpbHVyZUFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLkZBSUxVUkUgfSkpXHJcbiAgXTtcclxufVxyXG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWhhbmRsZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbGliL3V0aWxzL2FjdGlvbi1oYW5kbGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBaUIsWUFBWSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFXNUUsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxVQUF5QixFQUN6QixVQUF5QixFQUN6QixpQkFBZ0MsRUFDaEMsaUJBQWlGO0lBRWpGLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixVQUFVLEdBQUcsWUFBWSxDQUFDLDZCQUE2QixDQUFDLENBQUM7S0FDMUQ7SUFFRCxPQUFPO1FBQ0wsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkIsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLFlBQVksQ0FBQyxXQUFXO1lBQ3RDLE1BQU0sRUFBRSxTQUFTO1NBQ2xCLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEYsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPO1lBQ2xDLE1BQU07U0FDUCxDQUFDLENBQUM7S0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsVUFBeUIsRUFDekIsaUJBQWdDLEVBQ2hDLGlCQUFnQztJQUVoQyxPQUFPO1FBQ0wsRUFBRSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0UsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRixFQUFFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ25GLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFJLFNBQWMsRUFBRSxhQUE0QjtJQUMvRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtRQUNyQixPQUFPLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxRQUFRLEVBQUU7UUFDN0MsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDO0tBQzNCO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2luZ09wdGlvbnMsIFJlcXVlc3RTdGF0ZSB9IGZyb20gJ0BuZ2R1eC9kYXRhLW1vZGVsLWNvbW1vbic7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBjcmVhdGVBY3Rpb24sIG9uLCBSZWR1Y2VyVHlwZXMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpUmVxdWVzdFN0YXRlPEU+IHtcbiAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGU7XG4gIGVycm9yczogRTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkaW5nU3RhdGUge1xuICBsb2FkaW5nU3RhdGU6IFJlcXVlc3RTdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlcXVlc3RTdGF0ZUFjdGlvbkhhbmRsZXJzPFQgZXh0ZW5kcyBBcGlSZXF1ZXN0U3RhdGU8RT4sIEU+KFxuICBsb2FkQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxuICBzYXZlQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxuICBzYXZlU3VjY2Vzc0FjdGlvbjogQWN0aW9uQ3JlYXRvcixcbiAgc2F2ZUZhaWx1cmVBY3Rpb246IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3JzOiBFIH0pID0+IHsgZXJyb3JzOiBFIH0+XG4pOiBSZWR1Y2VyVHlwZXM8VCwgQWN0aW9uQ3JlYXRvcltdPltdIHtcbiAgaWYgKCFsb2FkQWN0aW9uKSB7XG4gICAgbG9hZEFjdGlvbiA9IGNyZWF0ZUFjdGlvbignRHVtbXlSZXF1ZXN0U3RhdGVMb2FkQWN0aW9uJyk7XG4gIH1cblxuICByZXR1cm4gW1xuICAgIG9uKGxvYWRBY3Rpb24sIHN0YXRlID0+ICh7IC4uLnN0YXRlLCByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JRExFIH0pKSxcbiAgICBvbihzYXZlQWN0aW9uLCBzdGF0ZSA9PiAoe1xuICAgICAgLi4uc3RhdGUsXG4gICAgICByZXF1ZXN0U3RhdGU6IFJlcXVlc3RTdGF0ZS5JTl9QUk9HUkVTUyxcbiAgICAgIGVycm9yczogdW5kZWZpbmVkXG4gICAgfSkpLFxuICAgIG9uKHNhdmVTdWNjZXNzQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuU1VDQ0VTUyB9KSksXG4gICAgb24oc2F2ZUZhaWx1cmVBY3Rpb24sIChzdGF0ZSwgeyBlcnJvcnMgfSkgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgcmVxdWVzdFN0YXRlOiBSZXF1ZXN0U3RhdGUuRkFJTFVSRSxcbiAgICAgIGVycm9yc1xuICAgIH0pKVxuICBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9hZGluZ1N0YXRlQWN0aW9uSGFuZGxlcnM8VCBleHRlbmRzIExvYWRpbmdTdGF0ZT4oXG4gIGxvYWRBY3Rpb246IEFjdGlvbkNyZWF0b3IsXG4gIGxvYWRTdWNjZXNzQWN0aW9uOiBBY3Rpb25DcmVhdG9yLFxuICBsb2FkRmFpbHVyZUFjdGlvbjogQWN0aW9uQ3JlYXRvclxuKTogUmVkdWNlclR5cGVzPFQsIEFjdGlvbkNyZWF0b3JbXT5bXSB7XG4gIHJldHVybiBbXG4gICAgb24obG9hZEFjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLklOX1BST0dSRVNTIH0pKSxcbiAgICBvbihsb2FkU3VjY2Vzc0FjdGlvbiwgc3RhdGUgPT4gKHsgLi4uc3RhdGUsIGxvYWRpbmdTdGF0ZTogUmVxdWVzdFN0YXRlLlNVQ0NFU1MgfSkpLFxuICAgIG9uKGxvYWRGYWlsdXJlQWN0aW9uLCBzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgbG9hZGluZ1N0YXRlOiBSZXF1ZXN0U3RhdGUuRkFJTFVSRSB9KSlcbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhc3RQYWdlTnVtYmVyPFQ+KHN1bW1hcmllczogVFtdLCBwYWdpbmdPcHRpb25zOiBQYWdpbmdPcHRpb25zKTogbnVtYmVyIHtcbiAgaWYgKCFzdW1tYXJpZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHBhZ2luZ09wdGlvbnMucGFnZSAtIDE7XG4gIH1cblxuICBpZiAoc3VtbWFyaWVzLmxlbmd0aCA8IHBhZ2luZ09wdGlvbnMucGFnZVNpemUpIHtcbiAgICByZXR1cm4gcGFnaW5nT3B0aW9ucy5wYWdlO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvdXRpbC1zdG9yZS1jb21tb24vc3JjL25nZHV4LXN0b3JlLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2R1eC91dGlsL3N0b3JlL2NvbW1vbi9zcmMvbmdkdXgtc3RvcmUtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './lib/store.fixture';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC91dGlsLXN0b3JlLWNvbW1vbi90ZXN0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc3RvcmUuZml4dHVyZSc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3Rlc3Qvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZS5maXh0dXJlJztcbiJdfQ==
@@ -10,4 +10,4 @@ export function createTestResource() {
10
10
  }
11
11
  export const featureKey = 'testFeature';
12
12
  export const i18nScope = 'testScope';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkL3V0aWwtc3RvcmUtY29tbW9uL3Rlc3Qvc3JjL2xpYi9zdG9yZS5maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU85RCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsVUFBVSxHQUFHLENBQUM7SUFDaEQsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPO1FBQ0wsRUFBRSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUU7UUFDM0IsSUFBSSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUU7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21tb25GaXh0dXJlIH0gZnJvbSAnQG5nZHV4L2RhdGEtbW9kZWwtY29tbW9uL3Rlc3QnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXN0UmVzb3VyY2Uge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGVzdFJlc291cmNlcyhuUmVzb3VyY2VzID0gMyk6IFRlc3RSZXNvdXJjZVtdIHtcclxuICByZXR1cm4gWy4uLkFycmF5KG5SZXNvdXJjZXMpXS5tYXAoKCkgPT4gY3JlYXRlVGVzdFJlc291cmNlKCkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGVzdFJlc291cmNlKCk6IFRlc3RSZXNvdXJjZSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGlkOiBjb21tb25GaXh0dXJlLmdldFdvcmQoKSxcclxuICAgIG5hbWU6IGNvbW1vbkZpeHR1cmUuZ2V0V29yZCgpXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGZlYXR1cmVLZXkgPSAndGVzdEZlYXR1cmUnO1xyXG5leHBvcnQgY29uc3QgaTE4blNjb3BlID0gJ3Rlc3RTY29wZSc7XHJcbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdkdXgvdXRpbC9zdG9yZS9jb21tb24vdGVzdC9zcmMvbGliL3N0b3JlLmZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBTzlELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQztJQUNoRCxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU87UUFDTCxFQUFFLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRTtRQUMzQixJQUFJLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRTtLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbW1vbkZpeHR1cmUgfSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24vdGVzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdFJlc291cmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGVzdFJlc291cmNlcyhuUmVzb3VyY2VzID0gMyk6IFRlc3RSZXNvdXJjZVtdIHtcbiAgcmV0dXJuIFsuLi5BcnJheShuUmVzb3VyY2VzKV0ubWFwKCgpID0+IGNyZWF0ZVRlc3RSZXNvdXJjZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRlc3RSZXNvdXJjZSgpOiBUZXN0UmVzb3VyY2Uge1xuICByZXR1cm4ge1xuICAgIGlkOiBjb21tb25GaXh0dXJlLmdldFdvcmQoKSxcbiAgICBuYW1lOiBjb21tb25GaXh0dXJlLmdldFdvcmQoKVxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZmVhdHVyZUtleSA9ICd0ZXN0RmVhdHVyZSc7XG5leHBvcnQgY29uc3QgaTE4blNjb3BlID0gJ3Rlc3RTY29wZSc7XG4iXX0=
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC91dGlsLXN0b3JlLWNvbW1vbi90ZXN0L3NyYy9uZ2R1eC1zdG9yZS1jb21tb24tdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdkdXgtc3RvcmUtY29tbW9uLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nZHV4L3V0aWwvc3RvcmUvY29tbW9uL3Rlc3Qvc3JjL25nZHV4LXN0b3JlLWNvbW1vbi10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/test/src/lib/store.fixture.ts","../../../../../../../libs/ngdux/util/store/common/test/src/ngdux-store-common-test.ts"],"sourcesContent":["import { commonFixture } from '@ngdux/data-model-common/test';\n\nexport interface TestResource {\n id: string;\n name: string;\n}\n\nexport function createTestResources(nResources = 3): TestResource[] {\n return [...Array(nResources)].map(() => createTestResource());\n}\n\nexport function createTestResource(): TestResource {\n return {\n id: commonFixture.getWord(),\n name: commonFixture.getWord()\n };\n}\n\nexport const featureKey = 'testFeature';\nexport const i18nScope = 'testScope';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOgB,SAAA,mBAAmB,CAAC,UAAU,GAAG,CAAC,EAAA;AAChD,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;AAChE,CAAC;SAEe,kBAAkB,GAAA;IAChC,OAAO;AACL,QAAA,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,cAAc;AACjC,MAAM,SAAS,GAAG;;ACnBzB;;AAEG;;;;"}
@@ -18,11 +18,20 @@ function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFai
18
18
  on(loadSuccessAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.SUCCESS }))),
19
19
  on(loadFailureAction, state => (Object.assign(Object.assign({}, state), { loadingState: RequestState.FAILURE })))
20
20
  ];
21
+ }
22
+ function getLastPageNumber(summaries, pagingOptions) {
23
+ if (!summaries.length) {
24
+ return pagingOptions.page - 1;
25
+ }
26
+ if (summaries.length < pagingOptions.pageSize) {
27
+ return pagingOptions.page;
28
+ }
29
+ return undefined;
21
30
  }
22
31
 
23
32
  /**
24
33
  * Generated bundle index. Do not edit.
25
34
  */
26
35
 
27
- export { createLoadingStateActionHandlers, createRequestStateActionHandlers };
36
+ export { createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
28
37
  //# sourceMappingURL=ngdux-store-common.mjs.map
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/src/lib/utils/action-handlers.ts","../../../../../../../libs/ngdux/util/store/common/src/ngdux-store-common.ts"],"sourcesContent":["import { PagingOptions, RequestState } from '@ngdux/data-model-common';\nimport { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\n\nexport interface ApiRequestState<E> {\n requestState: RequestState;\n errors: E;\n}\n\nexport interface LoadingState {\n loadingState: RequestState;\n}\n\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\n loadAction: ActionCreator,\n saveAction: ActionCreator,\n saveSuccessAction: ActionCreator,\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\n): ReducerTypes<T, ActionCreator[]>[] {\n if (!loadAction) {\n loadAction = createAction('DummyRequestStateLoadAction');\n }\n\n return [\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\n on(saveAction, state => ({\n ...state,\n requestState: RequestState.IN_PROGRESS,\n errors: undefined\n })),\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\n on(saveFailureAction, (state, { errors }) => ({\n ...state,\n requestState: RequestState.FAILURE,\n errors\n }))\n ];\n}\n\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\n loadAction: ActionCreator,\n loadSuccessAction: ActionCreator,\n loadFailureAction: ActionCreator\n): ReducerTypes<T, ActionCreator[]>[] {\n return [\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\n ];\n}\n\nexport function getLastPageNumber<T>(summaries: T[], pagingOptions: PagingOptions): number {\n if (!summaries.length) {\n return pagingOptions.page - 1;\n }\n\n if (summaries.length < pagingOptions.pageSize) {\n return pagingOptions.page;\n }\n\n return undefined;\n}\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,CAAC;AAEe,SAAA,iBAAiB,CAAI,SAAc,EAAE,aAA4B,EAAA;AAC/E,IAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACrB,QAAA,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAC/B,KAAA;AAED,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE;QAC7C,OAAO,aAAa,CAAC,IAAI,CAAC;AAC3B,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AACnB;;AC5DA;;AAEG;;;;"}
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"ngdux-store-common-test.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/test/src/lib/store.fixture.ts","../../../../../../../libs/ngdux/util/store/common/test/src/ngdux-store-common-test.ts"],"sourcesContent":["import { commonFixture } from '@ngdux/data-model-common/test';\n\nexport interface TestResource {\n id: string;\n name: string;\n}\n\nexport function createTestResources(nResources = 3): TestResource[] {\n return [...Array(nResources)].map(() => createTestResource());\n}\n\nexport function createTestResource(): TestResource {\n return {\n id: commonFixture.getWord(),\n name: commonFixture.getWord()\n };\n}\n\nexport const featureKey = 'testFeature';\nexport const i18nScope = 'testScope';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOgB,SAAA,mBAAmB,CAAC,UAAU,GAAG,CAAC,EAAA;AAChD,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;AAChE,CAAC;SAEe,kBAAkB,GAAA;IAChC,OAAO;AACL,QAAA,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,cAAc;AACjC,MAAM,SAAS,GAAG;;ACnBzB;;AAEG;;;;"}
@@ -26,11 +26,20 @@ function createLoadingStateActionHandlers(loadAction, loadSuccessAction, loadFai
26
26
  on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),
27
27
  on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))
28
28
  ];
29
+ }
30
+ function getLastPageNumber(summaries, pagingOptions) {
31
+ if (!summaries.length) {
32
+ return pagingOptions.page - 1;
33
+ }
34
+ if (summaries.length < pagingOptions.pageSize) {
35
+ return pagingOptions.page;
36
+ }
37
+ return undefined;
29
38
  }
30
39
 
31
40
  /**
32
41
  * Generated bundle index. Do not edit.
33
42
  */
34
43
 
35
- export { createLoadingStateActionHandlers, createRequestStateActionHandlers };
44
+ export { createLoadingStateActionHandlers, createRequestStateActionHandlers, getLastPageNumber };
36
45
  //# sourceMappingURL=ngdux-store-common.mjs.map
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"ngdux-store-common.mjs","sources":["../../../../../../../libs/ngdux/util/store/common/src/lib/utils/action-handlers.ts","../../../../../../../libs/ngdux/util/store/common/src/ngdux-store-common.ts"],"sourcesContent":["import { PagingOptions, RequestState } from '@ngdux/data-model-common';\nimport { ActionCreator, createAction, on, ReducerTypes } from '@ngrx/store';\n\nexport interface ApiRequestState<E> {\n requestState: RequestState;\n errors: E;\n}\n\nexport interface LoadingState {\n loadingState: RequestState;\n}\n\nexport function createRequestStateActionHandlers<T extends ApiRequestState<E>, E>(\n loadAction: ActionCreator,\n saveAction: ActionCreator,\n saveSuccessAction: ActionCreator,\n saveFailureAction: ActionCreator<string, (props: { errors: E }) => { errors: E }>\n): ReducerTypes<T, ActionCreator[]>[] {\n if (!loadAction) {\n loadAction = createAction('DummyRequestStateLoadAction');\n }\n\n return [\n on(loadAction, state => ({ ...state, requestState: RequestState.IDLE })),\n on(saveAction, state => ({\n ...state,\n requestState: RequestState.IN_PROGRESS,\n errors: undefined\n })),\n on(saveSuccessAction, state => ({ ...state, requestState: RequestState.SUCCESS })),\n on(saveFailureAction, (state, { errors }) => ({\n ...state,\n requestState: RequestState.FAILURE,\n errors\n }))\n ];\n}\n\nexport function createLoadingStateActionHandlers<T extends LoadingState>(\n loadAction: ActionCreator,\n loadSuccessAction: ActionCreator,\n loadFailureAction: ActionCreator\n): ReducerTypes<T, ActionCreator[]>[] {\n return [\n on(loadAction, state => ({ ...state, loadingState: RequestState.IN_PROGRESS })),\n on(loadSuccessAction, state => ({ ...state, loadingState: RequestState.SUCCESS })),\n on(loadFailureAction, state => ({ ...state, loadingState: RequestState.FAILURE }))\n ];\n}\n\nexport function getLastPageNumber<T>(summaries: T[], pagingOptions: PagingOptions): number {\n if (!summaries.length) {\n return pagingOptions.page - 1;\n }\n\n if (summaries.length < pagingOptions.pageSize) {\n return pagingOptions.page;\n }\n\n return undefined;\n}\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,CAAC;AAEe,SAAA,iBAAiB,CAAI,SAAc,EAAE,aAA4B,EAAA;AAC/E,IAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACrB,QAAA,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAC/B,KAAA;AAED,IAAA,IAAI,SAAS,CAAC,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE;QAC7C,OAAO,aAAa,CAAC,IAAI,CAAC;AAC3B,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AACnB;;AC5DA;;AAEG;;;;"}
@@ -1,4 +1,4 @@
1
- import { RequestState } from '@ngdux/data-model-common';
1
+ import { PagingOptions, RequestState } from '@ngdux/data-model-common';
2
2
  import { ActionCreator, ReducerTypes } from '@ngrx/store';
3
3
  export interface ApiRequestState<E> {
4
4
  requestState: RequestState;
@@ -13,3 +13,4 @@ export declare function createRequestStateActionHandlers<T extends ApiRequestSta
13
13
  errors: E;
14
14
  }>): ReducerTypes<T, ActionCreator[]>[];
15
15
  export declare function createLoadingStateActionHandlers<T extends LoadingState>(loadAction: ActionCreator, loadSuccessAction: ActionCreator, loadFailureAction: ActionCreator): ReducerTypes<T, ActionCreator[]>[];
16
+ export declare function getLastPageNumber<T>(summaries: T[], pagingOptions: PagingOptions): number;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@ngdux/store-common",
3
- "version": "0.0.1",
3
+ "version": "0.1.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0",
7
- "@ngrx/store": "14.0.2",
8
- "@ngdux/data-model-common": "0.0.1"
7
+ "@ngdux/data-model-common": "0.1.7",
8
+ "@ngrx/store": "14.0.2"
9
9
  },
10
10
  "dependencies": {
11
11
  "tslib": "^2.3.0"