@rentman/rm-core 1.7.6 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/changelog.md +6 -0
  2. package/dist/rm-core.js +8097 -7631
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/src/classes/ApiFormatter.d.ts +39 -39
  5. package/dist/src/classes/ApiRequestService.d.ts +20 -20
  6. package/dist/src/classes/ApiResponseProcessor.d.ts +39 -39
  7. package/dist/src/classes/BatchStatus.d.ts +28 -28
  8. package/dist/src/classes/ChangesCompilation.d.ts +51 -51
  9. package/dist/src/classes/ChangesProcessor.d.ts +33 -33
  10. package/dist/src/classes/CollectionCache.d.ts +32 -34
  11. package/dist/src/classes/CollectionEntryService.d.ts +22 -23
  12. package/dist/src/classes/CollectionHandler.d.ts +54 -54
  13. package/dist/src/classes/CollectionMatcher.d.ts +42 -42
  14. package/dist/src/classes/CollectionResourceService.d.ts +6 -6
  15. package/dist/src/classes/ColumnCache.d.ts +21 -21
  16. package/dist/src/classes/ColumnExpansion.d.ts +18 -18
  17. package/dist/src/classes/ColumnHandler.d.ts +21 -21
  18. package/dist/src/classes/ColumnInfo.d.ts +14 -14
  19. package/dist/src/classes/ColumnSet.d.ts +39 -39
  20. package/dist/src/classes/ColumnSubsetCache.d.ts +8 -8
  21. package/dist/src/classes/ColumnUtil.d.ts +88 -89
  22. package/dist/src/classes/CreateRequest.d.ts +20 -20
  23. package/dist/src/classes/ItemAdministrator.d.ts +234 -237
  24. package/dist/src/classes/ItemCache.d.ts +23 -23
  25. package/dist/src/classes/ItemEntryService.d.ts +23 -23
  26. package/dist/src/classes/ItemHandler.d.ts +60 -60
  27. package/dist/src/classes/ItemRequestService.d.ts +23 -23
  28. package/dist/src/classes/KeyService.d.ts +16 -16
  29. package/dist/src/classes/LocalCache.d.ts +112 -92
  30. package/dist/src/classes/LocalCacheEventHandler.d.ts +19 -19
  31. package/dist/src/classes/LockService.d.ts +32 -32
  32. package/dist/src/classes/ModuleChangesCompilation.d.ts +21 -21
  33. package/dist/src/classes/QueryMatcher.d.ts +14 -14
  34. package/dist/src/classes/QueryParser.d.ts +34 -34
  35. package/dist/src/classes/QueryService.d.ts +14 -14
  36. package/dist/src/classes/RequestColumnExpansion.d.ts +14 -14
  37. package/dist/src/classes/SocketMessageHandler.d.ts +41 -41
  38. package/dist/src/classes/Util.d.ts +28 -28
  39. package/dist/src/classes/index.d.ts +35 -36
  40. package/dist/src/constants.d.ts +18 -18
  41. package/dist/src/core.d.ts +48 -48
  42. package/dist/src/factories/ApiResponseProcessorFactory.d.ts +6 -6
  43. package/dist/src/factories/BatchStatusFactory.d.ts +9 -9
  44. package/dist/src/factories/ChangesCompilationFactory.d.ts +10 -10
  45. package/dist/src/factories/CollectionCacheFactory.d.ts +7 -8
  46. package/dist/src/factories/CollectionEntryFactory.d.ts +23 -23
  47. package/dist/src/factories/CollectionMatcherFactory.d.ts +8 -8
  48. package/dist/src/factories/CollectionResourceFactory.d.ts +32 -33
  49. package/dist/src/factories/ColumnExpansionFactory.d.ts +8 -8
  50. package/dist/src/factories/ColumnInfoFactory.d.ts +7 -7
  51. package/dist/src/factories/ColumnSetFactory.d.ts +17 -17
  52. package/dist/src/factories/ColumnSubsetCacheFactory.d.ts +6 -6
  53. package/dist/src/factories/CreateRequestFactory.d.ts +11 -11
  54. package/dist/src/factories/ItemCacheFactory.d.ts +7 -7
  55. package/dist/src/factories/ItemEntryFactory.d.ts +21 -21
  56. package/dist/src/factories/ItemResourceFactory.d.ts +28 -29
  57. package/dist/src/factories/LocalCacheFactory.d.ts +16 -16
  58. package/dist/src/factories/ModuleChangesCompilationFactory.d.ts +6 -6
  59. package/dist/src/factories/QueryMatcherFactory.d.ts +7 -7
  60. package/dist/src/factories/QueryParserFactory.d.ts +6 -6
  61. package/dist/src/factories/RequestColumnExpansionFactory.d.ts +6 -6
  62. package/dist/src/factories/TemplateFactory.d.ts +10 -10
  63. package/dist/src/factories/index.d.ts +21 -21
  64. package/dist/src/index.d.ts +7 -7
  65. package/dist/src/interfaces/ApiRequestServiceInterface.d.ts +11 -11
  66. package/dist/src/interfaces/AuthInterface.d.ts +9 -9
  67. package/dist/src/interfaces/ErrorHandlerInterface.d.ts +5 -5
  68. package/dist/src/interfaces/ExceptionHandlerInterface.d.ts +3 -3
  69. package/dist/src/interfaces/LocalCacheManagerInterface.d.ts +5 -5
  70. package/dist/src/interfaces/PromiseLibraryInterface.d.ts +25 -25
  71. package/dist/src/interfaces/SocketMessageInterface.d.ts +3 -3
  72. package/dist/src/interfaces/index.d.ts +7 -7
  73. package/dist/src/models/CollectionEditResource.d.ts +14 -14
  74. package/dist/src/models/CollectionEntry.d.ts +87 -82
  75. package/dist/src/models/CollectionEntryOptions.d.ts +12 -12
  76. package/dist/src/models/CollectionResource.d.ts +52 -41
  77. package/dist/src/models/CollectionResourceOptions.d.ts +22 -22
  78. package/dist/src/models/CollectionViewResource.d.ts +7 -7
  79. package/dist/src/models/EditResource.d.ts +18 -18
  80. package/dist/src/models/ItemEntry.d.ts +76 -70
  81. package/dist/src/models/ItemEntryOptions.d.ts +10 -10
  82. package/dist/src/models/ItemResource.d.ts +45 -27
  83. package/dist/src/models/ItemResourceOptions.d.ts +9 -9
  84. package/dist/src/models/LocalViewResource.d.ts +7 -7
  85. package/dist/src/models/RemoteViewResource.d.ts +7 -7
  86. package/dist/src/models/Template.d.ts +11 -11
  87. package/dist/src/models/ViewResource.d.ts +8 -8
  88. package/dist/src/models/index.d.ts +15 -15
  89. package/dist/src/types/ItemTypesCollection.d.ts +197 -196
  90. package/dist/src/types/PromiseInterface.d.ts +2 -2
  91. package/dist/src/types/index.d.ts +2 -2
  92. package/package.json +1 -1
  93. package/readme.md +15 -15
  94. package/dist/src/classes/ResourceCache.d.ts +0 -25
@@ -1,39 +1,39 @@
1
- import * as moment from 'moment';
2
- import { ColumnInfo } from '../classes';
3
- import { FieldMap } from '../types';
4
- export declare class ApiFormatter {
5
- MOMENT_INVALID: string;
6
- SERVER_DATETIME_FORMAT: string;
7
- SERVER_TIME_FORMAT: string;
8
- SERVER_DATE_FORMAT: string;
9
- constructor();
10
- formatResponse(fields: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
11
- expandResponse(current: FieldMap, expanded: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
12
- formatRequest(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
13
- formatRequestLocal(fields: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
14
- hasChanges(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>): boolean;
15
- getChanges(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
16
- copyFields(source: FieldMap, destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
17
- shallowCopyFields(shallowSource: FieldMap, deepSource: FieldMap, destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
18
- setDefaultValues(destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
19
- compareFields(columnType: string, first?: any, second?: any): boolean;
20
- compareFloats(a: number, b: number): boolean;
21
- compareMomentObjects(first: moment.Moment, second: moment.Moment): boolean;
22
- compareDurations(first: moment.Duration, second: moment.Duration): boolean;
23
- formatResponseValue(columnType: string, value: any): any;
24
- formatRequestValue(columnType: string, value: any): any;
25
- formatResponseDate(value: null | any): moment.Moment;
26
- formatResponseDuration(value: null | number): moment.Duration;
27
- formatResponseColor(value: string): string;
28
- formatRequestDateTime(value: moment.Moment): string | null;
29
- formatRequestDate(value: moment.Moment): string | null;
30
- formatRequestDuration(value: moment.Duration): number;
31
- formatRequestColor(value: string): string;
32
- getDefaultValue(columnType: string): any;
33
- isDefaultValue(columnType: string, value: any): boolean;
34
- clone(columnType: string, value: any): any;
35
- getCloneFunction(columnType: string): ((duration: moment.Duration) => moment.Duration) | ((date: moment.Moment) => moment.Moment);
36
- cloneDuration(duration: moment.Duration): moment.Duration;
37
- cloneDate(date: moment.Moment): moment.Moment;
38
- identity<T>(input: T): T;
39
- }
1
+ import * as moment from 'moment';
2
+ import { ColumnInfo } from '../classes';
3
+ import { FieldMap } from '../types';
4
+ export declare class ApiFormatter {
5
+ MOMENT_INVALID: string;
6
+ SERVER_DATETIME_FORMAT: string;
7
+ SERVER_TIME_FORMAT: string;
8
+ SERVER_DATE_FORMAT: string;
9
+ constructor();
10
+ formatResponse(fields: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
11
+ expandResponse(current: FieldMap, expanded: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
12
+ formatRequest(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
13
+ formatRequestLocal(fields: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
14
+ hasChanges(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>): boolean;
15
+ getChanges(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
16
+ copyFields(source: FieldMap, destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
17
+ shallowCopyFields(shallowSource: FieldMap, deepSource: FieldMap, destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
18
+ setDefaultValues(destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
19
+ compareFields(columnType: string, first?: any, second?: any): boolean;
20
+ compareFloats(a: number, b: number): boolean;
21
+ compareMomentObjects(first: moment.Moment, second: moment.Moment): boolean;
22
+ compareDurations(first: moment.Duration, second: moment.Duration): boolean;
23
+ formatResponseValue(columnType: string, value: any): any;
24
+ formatRequestValue(columnType: string, value: any): any;
25
+ formatResponseDate(value: null | any): moment.Moment;
26
+ formatResponseDuration(value: null | number): moment.Duration;
27
+ formatResponseColor(value: string): string;
28
+ formatRequestDateTime(value: moment.Moment): string | null;
29
+ formatRequestDate(value: moment.Moment): string | null;
30
+ formatRequestDuration(value: moment.Duration): number;
31
+ formatRequestColor(value: string): string;
32
+ getDefaultValue(columnType: string): any;
33
+ isDefaultValue(columnType: string, value: any): boolean;
34
+ clone(columnType: string, value: any): any;
35
+ getCloneFunction(columnType: string): ((duration: moment.Duration) => moment.Duration) | ((date: moment.Moment) => moment.Moment);
36
+ cloneDuration(duration: moment.Duration): moment.Duration;
37
+ cloneDate(date: moment.Moment): moment.Moment;
38
+ identity<T>(input: T): T;
39
+ }
@@ -1,20 +1,20 @@
1
- import { ApiResponseProcessor } from '../classes';
2
- import { ApiResponseProcessorFactory } from '../factories';
3
- import { ApiRequestServiceInterface } from '../interfaces';
4
- import { ApiRequestColumnMap, ApiRequestItemMap, ApiRequestLimit, ItemId, ItemType, PromiseInterface } from '../types';
5
- export declare class ApiRequestService {
6
- private externalApiRequestService;
7
- private apiResponseProcessorFactory;
8
- constructor(externalApiRequestService: ApiRequestServiceInterface, apiResponseProcessorFactory: ApiResponseProcessorFactory);
9
- template(itemType: ItemType, params: any): PromiseInterface<ApiResponseProcessor>;
10
- create(itemType: ItemType, itemId: ItemId, values: any, parentType?: ItemType, parentId?: ItemId): PromiseInterface<ApiResponseProcessor>;
11
- delete(itemType: ItemType, itemIds: ItemId[]): PromiseInterface<ApiResponseProcessor>;
12
- updateItems(itemType: ItemType, items: ApiRequestItemMap, columns: any): PromiseInterface<ApiResponseProcessor>;
13
- requestSkeleton(params: any, requestCanceler?: PromiseInterface<any>): PromiseInterface<ApiResponseProcessor>;
14
- moveItems(parentType: ItemType, parentId: ItemId, items: {
15
- [itemType: string]: ItemId[];
16
- }): PromiseInterface<ApiResponseProcessor>;
17
- columns(itemType: ItemType, columns: ApiRequestColumnMap, params?: any): PromiseInterface<ApiResponseProcessor>;
18
- query(itemType: ItemType, query: any, columns: ApiRequestColumnMap, limit?: ApiRequestLimit): PromiseInterface<ApiResponseProcessor>;
19
- processResponse(request: any): PromiseInterface<ApiResponseProcessor>;
20
- }
1
+ import { ApiResponseProcessor } from '../classes';
2
+ import { ApiResponseProcessorFactory } from '../factories';
3
+ import { ApiRequestServiceInterface } from '../interfaces';
4
+ import { ApiRequestColumnMap, ApiRequestItemMap, ApiRequestLimit, ItemId, ItemType, PromiseInterface } from '../types';
5
+ export declare class ApiRequestService {
6
+ private externalApiRequestService;
7
+ private apiResponseProcessorFactory;
8
+ constructor(externalApiRequestService: ApiRequestServiceInterface, apiResponseProcessorFactory: ApiResponseProcessorFactory);
9
+ template(itemType: ItemType, params: any): PromiseInterface<ApiResponseProcessor>;
10
+ create(itemType: ItemType, itemId: ItemId, values: any, parentType?: ItemType, parentId?: ItemId): PromiseInterface<ApiResponseProcessor>;
11
+ delete(itemType: ItemType, itemIds: ItemId[]): PromiseInterface<ApiResponseProcessor>;
12
+ updateItems(itemType: ItemType, items: ApiRequestItemMap, columns: any): PromiseInterface<ApiResponseProcessor>;
13
+ requestSkeleton(params: any, requestCanceler?: PromiseInterface<any>): PromiseInterface<ApiResponseProcessor>;
14
+ moveItems(parentType: ItemType, parentId: ItemId, items: {
15
+ [itemType: string]: ItemId[];
16
+ }): PromiseInterface<ApiResponseProcessor>;
17
+ columns(itemType: ItemType, columns: ApiRequestColumnMap, params?: any): PromiseInterface<ApiResponseProcessor>;
18
+ query(itemType: ItemType, query: any, columns: ApiRequestColumnMap, limit?: ApiRequestLimit): PromiseInterface<ApiResponseProcessor>;
19
+ processResponse(request: any): PromiseInterface<ApiResponseProcessor>;
20
+ }
@@ -1,39 +1,39 @@
1
- import { ApiFormatter } from '../classes';
2
- import { FieldMap, ItemId, ItemType, ItemTypeMap, ResponseColumn } from '../types';
3
- export declare class ApiResponseProcessor {
4
- apiFormatter: ApiFormatter;
5
- response: any;
6
- columns: ItemTypeMap;
7
- items: {
8
- [itemType: string]: {
9
- [itemId: number]: any;
10
- };
11
- };
12
- links: ItemTypeMap;
13
- cacheable: boolean;
14
- map: any;
15
- columnIndexMap: any;
16
- columnMap: any;
17
- constructor(apiFormatter: ApiFormatter, response: any);
18
- createColumnMaps(): void;
19
- fetchValue(itemType: ItemType, itemId: ItemId, columnId: string): any;
20
- fetchDerivedObject(itemType: ItemType, itemId: ItemId, rootColumns: ResponseColumn[]): {};
21
- fetchDerivedValues(value: any, column: ResponseColumn, destination: any): void;
22
- fetchObject<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: string | ItemId, includeLinks?: boolean): FieldMap<ItemTypeType> | undefined;
23
- fetchObjectArray<ItemTypeType extends ItemType>(itemType: ItemTypeType, includeLinks?: boolean, idArray?: ItemId[] | null): Array<FieldMap<ItemTypeType>>;
24
- fetchObjectMap(itemType: ItemType, columnId: string, includeLinks?: boolean, returnKeys?: boolean): {
25
- [key: string]: any;
26
- };
27
- fetchFieldMap<ItemTypeType extends ItemType>(itemType: ItemTypeType, columnId: string): FieldMap<ItemTypeType>;
28
- fetchColumnArray(itemType: ItemType): ResponseColumn[];
29
- fetchColumnObject(itemType: ItemType): ResponseColumn;
30
- fetchColumnsObject(): {
31
- [itemType: string]: ResponseColumn;
32
- };
33
- createResource<ItemTypeType extends ItemType>(itemType: ItemTypeType, id: ItemId): {
34
- object: FieldMap<ItemTypeType> | undefined;
35
- links: any;
36
- };
37
- hasItems(itemType: ItemType): boolean;
38
- getIdArray(itemType: ItemType): ItemId[];
39
- }
1
+ import { ApiFormatter } from '../classes';
2
+ import { FieldMap, ItemId, ItemType, ItemTypeMap, ResponseColumn } from '../types';
3
+ export declare class ApiResponseProcessor {
4
+ apiFormatter: ApiFormatter;
5
+ response: any;
6
+ columns: ItemTypeMap;
7
+ items: {
8
+ [itemType: string]: {
9
+ [itemId: number]: any;
10
+ };
11
+ };
12
+ links: ItemTypeMap;
13
+ cacheable: boolean;
14
+ map: any;
15
+ columnIndexMap: any;
16
+ columnMap: any;
17
+ constructor(apiFormatter: ApiFormatter, response: any);
18
+ createColumnMaps(): void;
19
+ fetchValue(itemType: ItemType, itemId: ItemId, columnId: string): any;
20
+ fetchDerivedObject(itemType: ItemType, itemId: ItemId, rootColumns: ResponseColumn[]): {};
21
+ fetchDerivedValues(value: any, column: ResponseColumn, destination: any): void;
22
+ fetchObject<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: string | ItemId, includeLinks?: boolean): FieldMap<ItemTypeType> | undefined;
23
+ fetchObjectArray<ItemTypeType extends ItemType>(itemType: ItemTypeType, includeLinks?: boolean, idArray?: ItemId[] | null): Array<FieldMap<ItemTypeType>>;
24
+ fetchObjectMap(itemType: ItemType, columnId: string, includeLinks?: boolean, returnKeys?: boolean): {
25
+ [key: string]: any;
26
+ };
27
+ fetchFieldMap<ItemTypeType extends ItemType>(itemType: ItemTypeType, columnId: string): FieldMap<ItemTypeType>;
28
+ fetchColumnArray(itemType: ItemType): ResponseColumn[];
29
+ fetchColumnObject(itemType: ItemType): ResponseColumn;
30
+ fetchColumnsObject(): {
31
+ [itemType: string]: ResponseColumn;
32
+ };
33
+ createResource<ItemTypeType extends ItemType>(itemType: ItemTypeType, id: ItemId): {
34
+ object: FieldMap<ItemTypeType> | undefined;
35
+ links: any;
36
+ };
37
+ hasItems(itemType: ItemType): boolean;
38
+ getIdArray(itemType: ItemType): ItemId[];
39
+ }
@@ -1,28 +1,28 @@
1
- import { ENTRY_STATUS } from '../constants';
2
- import { PromiseLibraryInterface } from '../interfaces';
3
- import { CollectionEntry, ItemEntry } from '../models';
4
- import { EntryStatus, EntryStatusMap, ItemId, ItemType, PromiseInterface } from '../types';
5
- export declare class BatchStatus<ItemTypeType extends ItemType, T extends ItemEntry<ItemTypeType> | CollectionEntry<ItemTypeType>> {
6
- private promiseService;
7
- itemType: ItemTypeType;
8
- getItemId: (itemEntry: T) => ItemId;
9
- getPromise: (itemEntry: T) => PromiseInterface<T>;
10
- readonly requestStatus: ENTRY_STATUS[];
11
- readonly remoteExpandStatus: ENTRY_STATUS[];
12
- readonly localExpandStatus: ENTRY_STATUS[];
13
- entries: EntryStatusMap<T>;
14
- constructor(promiseService: PromiseLibraryInterface, itemType: ItemTypeType, getItemId: (itemEntry: T) => ItemId, getPromise: (itemEntry: T) => PromiseInterface<T>);
15
- add(entryStatus: EntryStatus<T>): void;
16
- hasEntries(statusArray: ENTRY_STATUS[]): boolean;
17
- hasRequests(): boolean;
18
- forEachEntry(statusArray: ENTRY_STATUS[], callback: (entry: T, itemId: ItemId) => void): void;
19
- reduceEntries<U>(statusArray: ENTRY_STATUS[], callback: (entry: T, itemId: ItemId, destination: U) => void, destination: U): U;
20
- reduceAllEntries<U>(callback: (entry: T, itemId: ItemId, destination: U) => void, destination: U): U;
21
- getPromises(): PromiseInterface<T[]>;
22
- getItemIds(statusArray: ENTRY_STATUS[]): ItemId[];
23
- getRequestIds(): ItemId[];
24
- getArray(statusArray?: ENTRY_STATUS[]): T[];
25
- getMap(): {
26
- [itemId: string]: T;
27
- };
28
- }
1
+ import { ENTRY_STATUS } from '../constants';
2
+ import { PromiseLibraryInterface } from '../interfaces';
3
+ import { CollectionEntry, ItemEntry } from '../models';
4
+ import { EntryStatus, EntryStatusMap, ItemId, ItemType, PromiseInterface } from '../types';
5
+ export declare class BatchStatus<ItemTypeType extends ItemType, T extends ItemEntry<ItemTypeType> | CollectionEntry<ItemTypeType>> {
6
+ private promiseService;
7
+ itemType: ItemTypeType;
8
+ getItemId: (itemEntry: T) => ItemId;
9
+ getPromise: (itemEntry: T) => PromiseInterface<T>;
10
+ readonly requestStatus: ENTRY_STATUS[];
11
+ readonly remoteExpandStatus: ENTRY_STATUS[];
12
+ readonly localExpandStatus: ENTRY_STATUS[];
13
+ entries: EntryStatusMap<T>;
14
+ constructor(promiseService: PromiseLibraryInterface, itemType: ItemTypeType, getItemId: (itemEntry: T) => ItemId, getPromise: (itemEntry: T) => PromiseInterface<T>);
15
+ add(entryStatus: EntryStatus<T>): void;
16
+ hasEntries(statusArray: ENTRY_STATUS[]): boolean;
17
+ hasRequests(): boolean;
18
+ forEachEntry(statusArray: ENTRY_STATUS[], callback: (entry: T, itemId: ItemId) => void): void;
19
+ reduceEntries<U>(statusArray: ENTRY_STATUS[], callback: (entry: T, itemId: ItemId, destination: U) => void, destination: U): U;
20
+ reduceAllEntries<U>(callback: (entry: T, itemId: ItemId, destination: U) => void, destination: U): U;
21
+ getPromises(): PromiseInterface<T[]>;
22
+ getItemIds(statusArray: ENTRY_STATUS[]): ItemId[];
23
+ getRequestIds(): ItemId[];
24
+ getArray(statusArray?: ENTRY_STATUS[]): T[];
25
+ getMap(): {
26
+ [itemId: string]: T;
27
+ };
28
+ }
@@ -1,51 +1,51 @@
1
- import { CollectionCache, KeyService } from '../classes';
2
- import { CollectionCacheFactory } from '../factories';
3
- import { CollectionEntry, ItemEntry } from '../models';
4
- import { EntryParent, EntryParentNull, ItemEntryMap, ItemId, ItemType } from '../types';
5
- export declare type DeleteMapEntry<ItemTypeType extends ItemType> = {
6
- item: ItemEntry<ItemTypeType>;
7
- parent: EntryParentNull;
8
- };
9
- export declare type MoveMapEntry<ItemTypeType extends ItemType> = {
10
- item: ItemEntry<ItemTypeType>;
11
- parent: EntryParent;
12
- };
13
- export declare type CreateCompilation = {
14
- [parentType: string]: {
15
- [parentId: number]: ItemEntryMap<ItemType>;
16
- };
17
- };
18
- export declare type DeleteCompilation = {
19
- [itemType: string]: Array<ItemEntry<ItemType>>;
20
- };
21
- export declare type UpdateCompilation = ItemEntryMap<ItemType>;
22
- export declare type MoveCompilation = {
23
- [parentType: string]: {
24
- [parentId: number]: Array<MoveMapEntry<any>>;
25
- };
26
- };
27
- export declare class ChangesCompilation {
28
- private collectionCacheFactory;
29
- private keyService;
30
- singleItems: Array<ItemEntry<ItemType>>;
31
- compilation: {
32
- create: CreateCompilation;
33
- delete: DeleteCompilation;
34
- update: UpdateCompilation;
35
- move: MoveCompilation;
36
- };
37
- collections: CollectionCache;
38
- private moveArray;
39
- private deleteMap;
40
- constructor(collectionCacheFactory: CollectionCacheFactory, keyService: KeyService, singleItems: Array<ItemEntry<ItemType>>, collectionEntries: Array<CollectionEntry<ItemType>>);
41
- getDefaultParent(): EntryParent;
42
- addMoveEntry(itemEntry: ItemEntry<ItemType>): void;
43
- addDeleteEntry(itemEntry: ItemEntry<ItemType>, parent: EntryParentNull): void;
44
- addUpdateEntry(itemEntry: ItemEntry<ItemType>): void;
45
- addCreateEntry(itemEntry: ItemEntry<ItemType>): void;
46
- containsCreateEntry(itemType: ItemType, itemId: ItemId): boolean;
47
- private createDeleteCompilation;
48
- postProcess(): void;
49
- private processSingleItems;
50
- private processCollections;
51
- }
1
+ import { CollectionCache, KeyService } from '../classes';
2
+ import { CollectionCacheFactory } from '../factories';
3
+ import { CollectionEntry, ItemEntry } from '../models';
4
+ import { EntryParent, EntryParentNull, ItemEntryMap, ItemId, ItemType } from '../types';
5
+ export declare type DeleteMapEntry<ItemTypeType extends ItemType> = {
6
+ item: ItemEntry<ItemTypeType>;
7
+ parent: EntryParentNull;
8
+ };
9
+ export declare type MoveMapEntry<ItemTypeType extends ItemType> = {
10
+ item: ItemEntry<ItemTypeType>;
11
+ parent: EntryParent;
12
+ };
13
+ export declare type CreateCompilation = {
14
+ [parentType: string]: {
15
+ [parentId: number]: ItemEntryMap<ItemType>;
16
+ };
17
+ };
18
+ export declare type DeleteCompilation = {
19
+ [itemType: string]: Array<ItemEntry<ItemType>>;
20
+ };
21
+ export declare type UpdateCompilation = ItemEntryMap<ItemType>;
22
+ export declare type MoveCompilation = {
23
+ [parentType: string]: {
24
+ [parentId: number]: Array<MoveMapEntry<any>>;
25
+ };
26
+ };
27
+ export declare class ChangesCompilation {
28
+ private collectionCacheFactory;
29
+ private keyService;
30
+ singleItems: Array<ItemEntry<ItemType>>;
31
+ compilation: {
32
+ create: CreateCompilation;
33
+ delete: DeleteCompilation;
34
+ update: UpdateCompilation;
35
+ move: MoveCompilation;
36
+ };
37
+ collections: CollectionCache;
38
+ private moveArray;
39
+ private deleteMap;
40
+ constructor(collectionCacheFactory: CollectionCacheFactory, keyService: KeyService, singleItems: Array<ItemEntry<ItemType>>, collectionEntries: Array<CollectionEntry<ItemType>>);
41
+ getDefaultParent(): EntryParent;
42
+ addMoveEntry(itemEntry: ItemEntry<ItemType>): void;
43
+ addDeleteEntry(itemEntry: ItemEntry<ItemType>, parent: EntryParentNull): void;
44
+ addUpdateEntry(itemEntry: ItemEntry<ItemType>): void;
45
+ addCreateEntry(itemEntry: ItemEntry<ItemType>): void;
46
+ containsCreateEntry(itemType: ItemType, itemId: ItemId): boolean;
47
+ private createDeleteCompilation;
48
+ postProcess(): void;
49
+ private processSingleItems;
50
+ private processCollections;
51
+ }
@@ -1,33 +1,33 @@
1
- import { ApiFormatter, CollectionEntryService, CollectionHandler, ItemHandler, MoveMapEntry } from '../classes';
2
- import { ChangesCompilationFactory, ColumnExpansionFactory, CreateRequestFactory, RequestColumnExpansionFactory } from '../factories';
3
- import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
- import { CollectionEntry, ItemEntry } from '../models';
5
- import { ApiRequestMoveItems, CreateRequestParameterMap, ItemId, ItemIdConversionMap, ItemType, PromiseInterface } from '../types';
6
- export declare class ChangesProcessor {
7
- private apiFormatter;
8
- private apiRequestService;
9
- private changesCompilationFactory;
10
- private collectionEntryService;
11
- private collectionHandler;
12
- private columnExpansionFactory;
13
- private createRequestFactory;
14
- private errorHandler;
15
- private itemHandler;
16
- private promiseService;
17
- private requestColumnExpansionFactory;
18
- constructor(apiFormatter: ApiFormatter, apiRequestService: ApiRequestServiceInterface, changesCompilationFactory: ChangesCompilationFactory, collectionEntryService: CollectionEntryService, collectionHandler: CollectionHandler, columnExpansionFactory: ColumnExpansionFactory, createRequestFactory: CreateRequestFactory, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory);
19
- buildMoveRequest(compilationEntries: Array<MoveMapEntry<any>>): ApiRequestMoveItems;
20
- getMapValue(itemType: ItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
21
- private executeCreateRequests;
22
- private executeCreateRequest;
23
- private executeUpdateRequests;
24
- private executeUpdateRequest;
25
- private executeDeleteRequests;
26
- private executeDeleteRequest;
27
- private executeMoveRequests;
28
- private processMoveResponse;
29
- private addCollectionMapEntry;
30
- private forEachCollection;
31
- private onItemsCreated;
32
- execute(singleItems: Array<ItemEntry<any>>, collections: Array<CollectionEntry<any>>, parameters?: CreateRequestParameterMap, breakupByParent?: boolean, onAfterCreateCallback?: (conversionMap: ItemIdConversionMap) => void): PromiseInterface<ItemIdConversionMap>;
33
- }
1
+ import { ApiFormatter, CollectionEntryService, CollectionHandler, ItemHandler, MoveMapEntry } from '../classes';
2
+ import { ChangesCompilationFactory, ColumnExpansionFactory, CreateRequestFactory, RequestColumnExpansionFactory } from '../factories';
3
+ import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
+ import { CollectionEntry, ItemEntry } from '../models';
5
+ import { ApiRequestMoveItems, CreateRequestParameterMap, ItemId, ItemIdConversionMap, ItemType, PromiseInterface } from '../types';
6
+ export declare class ChangesProcessor {
7
+ private apiFormatter;
8
+ private apiRequestService;
9
+ private changesCompilationFactory;
10
+ private collectionEntryService;
11
+ private collectionHandler;
12
+ private columnExpansionFactory;
13
+ private createRequestFactory;
14
+ private errorHandler;
15
+ private itemHandler;
16
+ private promiseService;
17
+ private requestColumnExpansionFactory;
18
+ constructor(apiFormatter: ApiFormatter, apiRequestService: ApiRequestServiceInterface, changesCompilationFactory: ChangesCompilationFactory, collectionEntryService: CollectionEntryService, collectionHandler: CollectionHandler, columnExpansionFactory: ColumnExpansionFactory, createRequestFactory: CreateRequestFactory, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory);
19
+ buildMoveRequest(compilationEntries: Array<MoveMapEntry<any>>): ApiRequestMoveItems;
20
+ getMapValue(itemType: ItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
21
+ private executeCreateRequests;
22
+ private executeCreateRequest;
23
+ private executeUpdateRequests;
24
+ private executeUpdateRequest;
25
+ private executeDeleteRequests;
26
+ private executeDeleteRequest;
27
+ private executeMoveRequests;
28
+ private processMoveResponse;
29
+ private addCollectionMapEntry;
30
+ private forEachCollection;
31
+ private onItemsCreated;
32
+ execute(singleItems: Array<ItemEntry<any>>, collections: Array<CollectionEntry<any>>, parameters?: CreateRequestParameterMap, breakupByParent?: boolean, onAfterCreateCallback?: (conversionMap: ItemIdConversionMap) => void): PromiseInterface<ItemIdConversionMap>;
33
+ }
@@ -1,34 +1,32 @@
1
- import { CollectionResourceFactory, QueryMatcherFactory } from '../factories';
2
- import { CollectionEntry, CollectionResource } from '../models';
3
- import { CollectionMatchResult, CollectionQuery, EntryParentNull, FieldMap, ItemId, ItemType } from '../types';
4
- export declare class CollectionCache {
5
- private collectionResourceFactory;
6
- private queryMatcherFactory;
7
- private entries;
8
- constructor(collectionResourceFactory: CollectionResourceFactory, queryMatcherFactory: QueryMatcherFactory);
9
- contains(collectionEntry: CollectionEntry<any>): boolean;
10
- some(callback: (entry: CollectionEntry<any>) => boolean): boolean;
11
- forEach(callback: (entry: CollectionEntry<any>) => void): void;
12
- toArray(): CollectionEntry<any>[];
13
- add<T extends CollectionEntry<any>>(collectionEntry: T): T;
14
- clear(collectionEntry?: CollectionEntry<any>): boolean;
15
- getByItemType<ItemTypeType extends ItemType>(itemType: ItemTypeType): CollectionEntry<ItemTypeType>[];
16
- matchParent(collectionEntry: CollectionEntry<any>, itemType: string, itemId: ItemId): boolean;
17
- getByParent<ItemTypeType extends ItemType>(parentType: ItemType, parentId: ItemId, itemType: ItemTypeType): CollectionEntry<ItemTypeType> | null;
18
- getResourceByParent<ItemTypeType extends ItemType>(parentType: ItemType, parentId: ItemId, itemType: ItemTypeType): CollectionResource<ItemTypeType> | null;
19
- getCollectionsByParent(parentType: ItemType, parentId: ItemId): CollectionEntry<any>[];
20
- /**
21
- * Only resources
22
- * @param {String} itemType
23
- * @param {String|Integer} itemId
24
- * @returns {Object} Array of collections.
25
- */
26
- getByContainingItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId): CollectionEntry<ItemTypeType>[];
27
- /**
28
- * Returns an array of collections the item 'belongs' in.
29
- */
30
- getByFittingItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap, parent: EntryParentNull): CollectionMatchResult<ItemTypeType>;
31
- getByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: CollectionQuery): CollectionEntry<ItemTypeType> | null;
32
- getByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, entryKey: string): Array<CollectionEntry<ItemTypeType>>;
33
- getResourceByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, resourceKey: string): Array<CollectionResource<ItemTypeType>>;
34
- }
1
+ import { QueryMatcherFactory } from '../factories';
2
+ import { CollectionEntry, CollectionResource } from '../models';
3
+ import { CollectionMatchResult, CollectionQuery, EntryParentNull, FieldMap, ItemId, ItemType } from '../types';
4
+ export declare class CollectionCache {
5
+ private queryMatcherFactory;
6
+ private entries;
7
+ constructor(queryMatcherFactory: QueryMatcherFactory);
8
+ contains(collectionEntry: CollectionEntry<any>): boolean;
9
+ some(callback: (entry: CollectionEntry<any>) => boolean): boolean;
10
+ forEach(callback: (entry: CollectionEntry<any>) => void): void;
11
+ toArray(): CollectionEntry<any>[];
12
+ add<T extends CollectionEntry<any>>(collectionEntry: T): T;
13
+ clear(collectionEntry?: CollectionEntry<any>): boolean;
14
+ getByItemType<ItemTypeType extends ItemType>(itemType: ItemTypeType): CollectionEntry<ItemTypeType>[];
15
+ matchParent(collectionEntry: CollectionEntry<any>, itemType: string, itemId: ItemId): boolean;
16
+ getByParent<ItemTypeType extends ItemType>(parentType: ItemType, parentId: ItemId, itemType: ItemTypeType): CollectionEntry<ItemTypeType> | null;
17
+ getResourceByParent<ItemTypeType extends ItemType>(parentType: ItemType, parentId: ItemId, itemType: ItemTypeType): CollectionResource<ItemTypeType> | null;
18
+ getCollectionsByParent(parentType: ItemType, parentId: ItemId): CollectionEntry<any>[];
19
+ /**
20
+ * @description
21
+ * Gets {@link CollectionEntry CollectionEntries} which contain the item with the passed ItemType/ItemId
22
+ */
23
+ getByContainingItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId): CollectionEntry<ItemTypeType>[];
24
+ /**
25
+ * @description
26
+ * Checks if the passed fields would fit in the collections using the {@link QueryMatcher QueryMatcher}
27
+ */
28
+ getByFittingItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap, parent: EntryParentNull): CollectionMatchResult<ItemTypeType>;
29
+ getByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: CollectionQuery): CollectionEntry<ItemTypeType> | null;
30
+ getByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, entryKey: string): Array<CollectionEntry<ItemTypeType>>;
31
+ getResourceByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, resourceKey: string): Array<CollectionResource<ItemTypeType>>;
32
+ }
@@ -1,23 +1,22 @@
1
- import { QueryService } from '../classes';
2
- import { QueryParserFactory } from '../factories';
3
- import { CollectionEntryOptions, ItemEntry } from '../models';
4
- import { CollectionOptionsInterface, CollectionQuery, EntryParentNull, ItemId, ItemType } from '../types';
5
- export declare class CollectionEntryService {
6
- private queryParserFactory;
7
- private queryService;
8
- constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
9
- cloneOptions(options: CollectionEntryOptions, parent: EntryParentNull): CollectionEntryOptions;
10
- processOptions<ItemTypeType extends ItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionEntryOptions;
11
- cloneQueryParams<T extends object>(parameters: T): T;
12
- createQuery(options: CollectionEntryOptions): CollectionQuery;
13
- getIdArray(itemEntries: Array<ItemEntry<any>>, accumulator?: ItemId[]): ItemId[];
14
- /**
15
- * @param {ItemEntry[]} itemEntries
16
- * @param {(itemEntry: ItemEntry) => boolean} callback
17
- * @returns {ItemEntry[]}
18
- *
19
- * filter an array according to the callback function. Return the entries that failed the condition
20
- * Replace the given array with the entries that didn't fail the condition.
21
- */
22
- filterArray<T extends ItemEntry<any> = ItemEntry<any>>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
23
- }
1
+ import { QueryService } from '../classes';
2
+ import { QueryParserFactory } from '../factories';
3
+ import { CollectionEntryOptions, ItemEntry } from '../models';
4
+ import { CollectionOptionsInterface, CollectionQuery, EntryParentNull, ItemId, ItemType } from '../types';
5
+ export declare class CollectionEntryService {
6
+ private queryParserFactory;
7
+ private queryService;
8
+ constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
9
+ cloneOptions(options: CollectionEntryOptions, parent: EntryParentNull): CollectionEntryOptions;
10
+ processOptions<ItemTypeType extends ItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionEntryOptions;
11
+ cloneQueryParams<T extends object>(parameters: T): T;
12
+ createQuery(options: CollectionEntryOptions): CollectionQuery;
13
+ getIdArray(itemEntries: Array<ItemEntry<any>>, accumulator?: ItemId[]): ItemId[];
14
+ /**
15
+ * @description
16
+ * Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
17
+ * Does an in-place replacement of the items in the array that do match the condition (keeping the array reference)
18
+ *
19
+ * @returns {@link ItemEntry ItemEntries} that failed the condition
20
+ */
21
+ filterArray<T extends ItemEntry<any> = ItemEntry<any>>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
22
+ }