@sankhyalabs/core 1.0.71-beta.5 → 1.0.71

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.
Files changed (39) hide show
  1. package/.eslintrc.cjs +1 -2
  2. package/dist/dataunit/DataUnit.d.ts +18 -32
  3. package/dist/dataunit/DataUnit.js +84 -195
  4. package/dist/dataunit/DataUnit.js.map +1 -1
  5. package/dist/dataunit/state/action/DataUnitAction.d.ts +0 -4
  6. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
  7. package/dist/dataunit/state/slice/RecordsSlice.js +2 -2
  8. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
  9. package/dist/dataunit/state/slice/WaitingChangesSlice.js.map +1 -1
  10. package/dist/index.d.ts +3 -6
  11. package/dist/index.js +2 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/utils/StringUtils.d.ts +2 -0
  14. package/dist/utils/StringUtils.js +15 -1
  15. package/dist/utils/StringUtils.js.map +1 -1
  16. package/jest.config.ts +5 -5
  17. package/package.json +1 -1
  18. package/src/dataunit/DataUnit.ts +92 -213
  19. package/src/dataunit/state/action/DataUnitAction.ts +0 -4
  20. package/src/dataunit/state/slice/RecordsSlice.ts +5 -3
  21. package/src/dataunit/state/slice/WaitingChangesSlice.ts +1 -0
  22. package/src/index.ts +3 -13
  23. package/src/utils/StringUtils.ts +17 -1
  24. package/dist/dataunit/loading/LoadDataRequest.d.ts +0 -9
  25. package/dist/dataunit/loading/LoadDataRequest.js +0 -2
  26. package/dist/dataunit/loading/LoadDataRequest.js.map +0 -1
  27. package/dist/dataunit/loading/LoadDataResponse.d.ts +0 -6
  28. package/dist/dataunit/loading/LoadDataResponse.js +0 -2
  29. package/dist/dataunit/loading/LoadDataResponse.js.map +0 -1
  30. package/dist/dataunit/loading/PaginationInfo.d.ts +0 -7
  31. package/dist/dataunit/loading/PaginationInfo.js +0 -2
  32. package/dist/dataunit/loading/PaginationInfo.js.map +0 -1
  33. package/dist/dataunit/state/slice/LoadingControlSlice.d.ts +0 -19
  34. package/dist/dataunit/state/slice/LoadingControlSlice.js +0 -45
  35. package/dist/dataunit/state/slice/LoadingControlSlice.js.map +0 -1
  36. package/src/dataunit/loading/LoadDataRequest.ts +0 -10
  37. package/src/dataunit/loading/LoadDataResponse.ts +0 -7
  38. package/src/dataunit/loading/PaginationInfo.ts +0 -8
  39. package/src/dataunit/state/slice/LoadingControlSlice.ts +0 -60
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaginationInfo.js","sourceRoot":"","sources":["../../../src/dataunit/loading/PaginationInfo.ts"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- import { LoadDataRequest } from "../../loading/LoadDataRequest.js";
2
- import { PaginationInfo } from "../../loading/PaginationInfo.js";
3
- import StateManager, { ActionReducer, StateAction } from "../StateManager.js";
4
- declare class LoadingControlReducerImpl implements ActionReducer {
5
- sliceName: string;
6
- reduce(stateManager: StateManager, currentState: LoadingControlState, action: StateAction): LoadingControlState;
7
- }
8
- export declare const LoadingControlReducer: LoadingControlReducerImpl;
9
- export declare const getPaginationInfo: (stateManager: StateManager) => PaginationInfo | void;
10
- export declare const getCurrentRequest: (stateManager: StateManager) => LoadDataRequest | void;
11
- export declare const getCurrentPage: (stateManager: StateManager) => number;
12
- export declare const getLastPage: (stateManager: StateManager, pageSize: number) => number;
13
- export declare const hasMorePages: (stateManager: StateManager) => boolean;
14
- export declare const hasPreviousPages: (stateManager: StateManager) => boolean;
15
- interface LoadingControlState {
16
- lastRequest: LoadDataRequest;
17
- paginationInfo: PaginationInfo;
18
- }
19
- export {};
@@ -1,45 +0,0 @@
1
- import { Action } from "../action/DataUnitAction.js";
2
- class LoadingControlReducerImpl {
3
- constructor() {
4
- this.sliceName = "loadingControl";
5
- }
6
- reduce(stateManager, currentState, action) {
7
- var _a;
8
- switch (action.type) {
9
- case Action.LOADING_DATA:
10
- return Object.assign(Object.assign({}, currentState), { lastRequest: action.payload });
11
- case Action.DATA_LOADED:
12
- return Object.assign(Object.assign({}, currentState), { paginationInfo: (_a = action.payload) === null || _a === void 0 ? void 0 : _a.paginationInfo });
13
- }
14
- return currentState;
15
- }
16
- }
17
- export const LoadingControlReducer = new LoadingControlReducerImpl();
18
- export const getPaginationInfo = (stateManager) => {
19
- const state = stateManager.select(LoadingControlReducer.sliceName, (state) => state);
20
- return state ? state.paginationInfo : undefined;
21
- };
22
- export const getCurrentRequest = (stateManager) => {
23
- const state = stateManager.select(LoadingControlReducer.sliceName, (state) => state);
24
- return state ? state.lastRequest : undefined;
25
- };
26
- export const getCurrentPage = (stateManager) => {
27
- const paginationInfo = getPaginationInfo(stateManager);
28
- return paginationInfo ? paginationInfo.currentPage : 0;
29
- };
30
- export const getLastPage = (stateManager, pageSize) => {
31
- const paginationInfo = getPaginationInfo(stateManager);
32
- return paginationInfo ? Math.ceil(paginationInfo.total / pageSize) : 0;
33
- };
34
- export const hasMorePages = (stateManager) => {
35
- const paginationInfo = getPaginationInfo(stateManager);
36
- if (paginationInfo && paginationInfo.hasMore) {
37
- return true;
38
- }
39
- return false;
40
- };
41
- export const hasPreviousPages = (stateManager) => {
42
- const paginationInfo = getPaginationInfo(stateManager);
43
- return paginationInfo ? paginationInfo.currentPage > 0 : false;
44
- };
45
- //# sourceMappingURL=LoadingControlSlice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoadingControlSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/LoadingControlSlice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAGrD,MAAM,yBAAyB;IAA/B;QAEW,cAAS,GAAW,gBAAgB,CAAC;IAWhD,CAAC;IATU,MAAM,CAAC,YAA0B,EAAE,YAAiC,EAAE,MAAmB;;QAC5F,QAAQ,MAAM,CAAC,IAAI,EAAE;YACjB,KAAK,MAAM,CAAC,YAAY;gBACpB,uCAAW,YAAY,KAAE,WAAW,EAAE,MAAM,CAAC,OAAO,IAAE;YAC1D,KAAK,MAAM,CAAC,WAAW;gBACnB,uCAAW,YAAY,KAAE,cAAc,EAAE,MAAA,MAAM,CAAC,OAAO,0CAAE,cAAc,IAAE;SAChF;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAA0B,EAAuB,EAAE;IACjF,MAAM,KAAK,GAAwB,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,KAA0B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/H,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAA0B,EAAwB,EAAE;IAClF,MAAM,KAAK,GAAwB,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,KAA0B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/H,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAA0B,EAAU,EAAE;IACjE,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvD,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAE,QAAgB,EAAU,EAAE;IAChF,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvD,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAA0B,EAAW,EAAE;IAChE,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvD,IAAG,cAAc,IAAI,cAAc,CAAC,OAAO,EAAC;QACxC,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,YAA0B,EAAW,EAAE;IACpE,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvD,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACnE,CAAC,CAAA"}
@@ -1,10 +0,0 @@
1
- import { QuickFilter } from "../DataUnit.js";
2
- import { Filter, Sort } from "../metadata/UnitMetadata.js";
3
-
4
- export interface LoadDataRequest {
5
- offset?: number;
6
- limit?: number;
7
- quickFilter?: QuickFilter;
8
- filters?: Array<Filter>;
9
- sort?: Array<Sort>;
10
- }
@@ -1,7 +0,0 @@
1
- import { Record } from "../DataUnit.js";
2
- import { PaginationInfo } from "./PaginationInfo.js";
3
-
4
- export interface LoadDataResponse {
5
- records: Array<Record>;
6
- paginationInfo?: PaginationInfo;
7
- }
@@ -1,8 +0,0 @@
1
-
2
- export interface PaginationInfo {
3
- currentPage: number;
4
- firstRecord: number;
5
- lastRecord: number;
6
- total: number;
7
- hasMore: boolean;
8
- }
@@ -1,60 +0,0 @@
1
-
2
- import { LoadDataRequest } from "../../loading/LoadDataRequest.js";
3
- import { PaginationInfo } from "../../loading/PaginationInfo.js";
4
- import { Action } from "../action/DataUnitAction.js";
5
- import StateManager, { ActionReducer, StateAction } from "../StateManager.js";
6
-
7
- class LoadingControlReducerImpl implements ActionReducer {
8
-
9
- public sliceName: string = "loadingControl";
10
-
11
- public reduce(stateManager: StateManager, currentState: LoadingControlState, action: StateAction): LoadingControlState {
12
- switch (action.type) {
13
- case Action.LOADING_DATA :
14
- return {...currentState, lastRequest: action.payload};
15
- case Action.DATA_LOADED:
16
- return {...currentState, paginationInfo: action.payload?.paginationInfo};
17
- }
18
- return currentState;
19
- }
20
- }
21
-
22
- export const LoadingControlReducer = new LoadingControlReducerImpl();
23
-
24
- export const getPaginationInfo = (stateManager: StateManager): PaginationInfo|void => {
25
- const state: LoadingControlState = stateManager.select(LoadingControlReducer.sliceName, (state: LoadingControlState) => state);
26
- return state ? state.paginationInfo : undefined;
27
- };
28
-
29
- export const getCurrentRequest = (stateManager: StateManager): LoadDataRequest|void => {
30
- const state: LoadingControlState = stateManager.select(LoadingControlReducer.sliceName, (state: LoadingControlState) => state);
31
- return state ? state.lastRequest : undefined;
32
- };
33
-
34
- export const getCurrentPage = (stateManager: StateManager): number => {
35
- const paginationInfo = getPaginationInfo(stateManager);
36
- return paginationInfo ? paginationInfo.currentPage : 0;
37
- };
38
-
39
- export const getLastPage = (stateManager: StateManager, pageSize: number): number => {
40
- const paginationInfo = getPaginationInfo(stateManager);
41
- return paginationInfo ? Math.ceil(paginationInfo.total / pageSize) : 0;
42
- };
43
-
44
- export const hasMorePages = (stateManager: StateManager): boolean => {
45
- const paginationInfo = getPaginationInfo(stateManager);
46
- if(paginationInfo && paginationInfo.hasMore){
47
- return true;
48
- }
49
- return false;
50
- }
51
-
52
- export const hasPreviousPages = (stateManager: StateManager): boolean => {
53
- const paginationInfo = getPaginationInfo(stateManager);
54
- return paginationInfo ? paginationInfo.currentPage > 0 : false;
55
- }
56
-
57
- interface LoadingControlState{
58
- lastRequest: LoadDataRequest;
59
- paginationInfo: PaginationInfo;
60
- }