@rentman/rm-core 2.0.7 → 2.0.8

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 (107) hide show
  1. package/changelog.md +585 -582
  2. package/dist/rm-core.js +9307 -9312
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/src/classes/ApiFormatter.d.ts +55 -55
  5. package/dist/src/classes/ApiRequestService.d.ts +20 -20
  6. package/dist/src/classes/ApiResponseProcessor.d.ts +29 -29
  7. package/dist/src/classes/ChangesCompilation.d.ts +34 -34
  8. package/dist/src/classes/ChangesDelta.d.ts +42 -42
  9. package/dist/src/classes/ChangesDeltaBase.d.ts +33 -33
  10. package/dist/src/classes/ChangesProcessor.d.ts +47 -47
  11. package/dist/src/classes/CollectionCache.d.ts +37 -37
  12. package/dist/src/classes/CollectionEntryService.d.ts +25 -25
  13. package/dist/src/classes/CollectionMatcher.d.ts +9 -9
  14. package/dist/src/classes/CollectionMatcherBase.d.ts +26 -26
  15. package/dist/src/classes/CollectionResourceService.d.ts +6 -6
  16. package/dist/src/classes/ColumnCache.d.ts +21 -21
  17. package/dist/src/classes/ColumnExpansion.d.ts +22 -22
  18. package/dist/src/classes/ColumnHandler.d.ts +21 -21
  19. package/dist/src/classes/ColumnInfo.d.ts +14 -14
  20. package/dist/src/classes/ColumnSet.d.ts +39 -39
  21. package/dist/src/classes/ColumnSubsetCache.d.ts +8 -8
  22. package/dist/src/classes/ColumnUtil.d.ts +99 -99
  23. package/dist/src/classes/CreateRequest.d.ts +19 -19
  24. package/dist/src/classes/InternalChangesDelta.d.ts +38 -38
  25. package/dist/src/classes/ItemCache.d.ts +29 -29
  26. package/dist/src/classes/ItemEntryService.d.ts +41 -41
  27. package/dist/src/classes/KeyService.d.ts +16 -16
  28. package/dist/src/classes/LockService.d.ts +32 -32
  29. package/dist/src/classes/ModuleChangesCompilation.d.ts +18 -18
  30. package/dist/src/classes/QueryColumnExtractor.d.ts +20 -20
  31. package/dist/src/classes/QueryMatcher.d.ts +14 -14
  32. package/dist/src/classes/QueryParser.d.ts +25 -25
  33. package/dist/src/classes/QueryParserBase.d.ts +29 -29
  34. package/dist/src/classes/QueryService.d.ts +14 -14
  35. package/dist/src/classes/RequestBuffer.d.ts +25 -25
  36. package/dist/src/classes/RequestBufferManager.d.ts +31 -31
  37. package/dist/src/classes/RequestColumnExpansion.d.ts +15 -15
  38. package/dist/src/classes/SocketMessageHandler.d.ts +31 -31
  39. package/dist/src/classes/TemplateCache.d.ts +63 -63
  40. package/dist/src/classes/Util.d.ts +28 -28
  41. package/dist/src/classes/cache/AbstractCache.d.ts +135 -135
  42. package/dist/src/classes/cache/CollectionHandlerBase.d.ts +64 -64
  43. package/dist/src/classes/cache/CollectionMatcherCacheProcessor.d.ts +26 -26
  44. package/dist/src/classes/cache/ItemHandlerBase.d.ts +93 -93
  45. package/dist/src/classes/cache/server/ServerCache.d.ts +98 -98
  46. package/dist/src/classes/cache/server/ServerCollectionHandler.d.ts +43 -43
  47. package/dist/src/classes/cache/server/ServerItemHandler.d.ts +50 -50
  48. package/dist/src/classes/cache/transaction/TransactionCache.d.ts +417 -417
  49. package/dist/src/classes/cache/transaction/TransactionCollectionHandler.d.ts +72 -72
  50. package/dist/src/classes/cache/transaction/TransactionEventHandler.d.ts +19 -19
  51. package/dist/src/classes/cache/transaction/TransactionItemHandler.d.ts +115 -115
  52. package/dist/src/classes/index.d.ts +41 -41
  53. package/dist/src/constants.d.ts +7 -7
  54. package/dist/src/core.d.ts +49 -49
  55. package/dist/src/factories/ApiResponseProcessorFactory.d.ts +6 -6
  56. package/dist/src/factories/ChangesCompilationFactory.d.ts +6 -6
  57. package/dist/src/factories/ChangesDeltaFactory.d.ts +9 -9
  58. package/dist/src/factories/ChangesProcessorFactory.d.ts +22 -22
  59. package/dist/src/factories/CollectionCacheFactory.d.ts +8 -8
  60. package/dist/src/factories/CollectionEntryFactory.d.ts +11 -11
  61. package/dist/src/factories/CollectionMatcherFactory.d.ts +9 -9
  62. package/dist/src/factories/CollectionResourceFactory.d.ts +34 -34
  63. package/dist/src/factories/ColumnExpansionFactory.d.ts +8 -8
  64. package/dist/src/factories/ColumnInfoFactory.d.ts +7 -7
  65. package/dist/src/factories/ColumnSetFactory.d.ts +19 -19
  66. package/dist/src/factories/ColumnSubsetCacheFactory.d.ts +6 -6
  67. package/dist/src/factories/CreateRequestFactory.d.ts +11 -11
  68. package/dist/src/factories/ItemCacheFactory.d.ts +8 -8
  69. package/dist/src/factories/ItemEntryFactory.d.ts +17 -17
  70. package/dist/src/factories/ItemResourceFactory.d.ts +32 -32
  71. package/dist/src/factories/ModuleChangesCompilationFactory.d.ts +5 -5
  72. package/dist/src/factories/QueryMatcherFactory.d.ts +7 -7
  73. package/dist/src/factories/QueryParserFactory.d.ts +6 -6
  74. package/dist/src/factories/RequestColumnExpansionFactory.d.ts +6 -6
  75. package/dist/src/factories/TemplateFactory.d.ts +10 -10
  76. package/dist/src/factories/TransactionCacheFactory.d.ts +55 -55
  77. package/dist/src/factories/index.d.ts +22 -22
  78. package/dist/src/index.d.ts +7 -7
  79. package/dist/src/interfaces/ApiRequestServiceInterface.d.ts +11 -11
  80. package/dist/src/interfaces/AuthInterface.d.ts +9 -9
  81. package/dist/src/interfaces/ErrorHandlerInterface.d.ts +5 -5
  82. package/dist/src/interfaces/ExceptionHandlerInterface.d.ts +3 -3
  83. package/dist/src/interfaces/LinkTreeServiceInterface.d.ts +4 -4
  84. package/dist/src/interfaces/PromiseLibraryInterface.d.ts +25 -25
  85. package/dist/src/interfaces/SocketMessageInterface.d.ts +3 -3
  86. package/dist/src/interfaces/index.d.ts +7 -7
  87. package/dist/src/models/CollectionEditResource.d.ts +17 -17
  88. package/dist/src/models/CollectionEntry.d.ts +27 -27
  89. package/dist/src/models/CollectionEntryOptions.d.ts +13 -13
  90. package/dist/src/models/CollectionResource.d.ts +52 -52
  91. package/dist/src/models/CollectionResourceOptions.d.ts +27 -27
  92. package/dist/src/models/CollectionViewResource.d.ts +7 -7
  93. package/dist/src/models/EditResource.d.ts +16 -16
  94. package/dist/src/models/ItemEntry.d.ts +19 -19
  95. package/dist/src/models/ItemEntryOptions.d.ts +9 -9
  96. package/dist/src/models/ItemResource.d.ts +87 -87
  97. package/dist/src/models/ItemResourceOptions.d.ts +9 -9
  98. package/dist/src/models/LocalViewResource.d.ts +7 -7
  99. package/dist/src/models/RemoteViewResource.d.ts +7 -7
  100. package/dist/src/models/Template.d.ts +11 -11
  101. package/dist/src/models/ViewResource.d.ts +8 -8
  102. package/dist/src/models/index.d.ts +15 -15
  103. package/dist/src/types/ItemTypesCollection.d.ts +256 -256
  104. package/dist/src/types/PromiseInterface.d.ts +2 -2
  105. package/dist/src/types/index.d.ts +2 -2
  106. package/package.json +36 -36
  107. package/readme.md +15 -15
@@ -1,25 +1,25 @@
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
- createUnfoundLocalCollectionError(itemType: ItemType): {
10
- message: string;
11
- };
12
- cloneOptions(options: CollectionEntryOptions, parent: EntryParentNull): CollectionEntryOptions;
13
- processOptions<ItemTypeType extends ItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionEntryOptions;
14
- cloneQueryParams<T extends object>(parameters: T): T;
15
- createQuery(options: CollectionEntryOptions): CollectionQuery;
16
- getIdArray(itemEntries: Array<ItemEntry<any>>, accumulator?: ItemId[]): ItemId[];
17
- /**
18
- * @description
19
- * Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
20
- * Does an in-place replacement of the items in the array that do match the condition (keeping the array reference)
21
- *
22
- * @returns {@link ItemEntry ItemEntries} that failed the condition
23
- */
24
- filterArray<T extends ItemEntry<any> = ItemEntry<any>>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
25
- }
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
+ createUnfoundLocalCollectionError(itemType: ItemType): {
10
+ message: string;
11
+ };
12
+ cloneOptions(options: CollectionEntryOptions, parent: EntryParentNull): CollectionEntryOptions;
13
+ processOptions<ItemTypeType extends ItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionEntryOptions;
14
+ cloneQueryParams<T extends object>(parameters: T): T;
15
+ createQuery(options: CollectionEntryOptions): CollectionQuery;
16
+ getIdArray(itemEntries: Array<ItemEntry<any>>, accumulator?: ItemId[]): ItemId[];
17
+ /**
18
+ * @description
19
+ * Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
20
+ * Does an in-place replacement of the items in the array that do match the condition (keeping the array reference)
21
+ *
22
+ * @returns {@link ItemEntry ItemEntries} that failed the condition
23
+ */
24
+ filterArray<T extends ItemEntry<any> = ItemEntry<any>>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
25
+ }
@@ -1,9 +1,9 @@
1
- import { QueryMatcherFactory } from '../factories';
2
- import { CollectionEntry } from '../models';
3
- import { ItemType } from '../types';
4
- import { AbstractCache } from './cache/AbstractCache';
5
- import { CollectionMatcherBase } from './CollectionMatcherBase';
6
- export declare class CollectionMatcher extends CollectionMatcherBase {
7
- constructor(queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache, getCollectionEntries: (itemType: ItemType) => CollectionEntry[]);
8
- getCollectionsWithFittingItems(): CollectionEntry[];
9
- }
1
+ import { QueryMatcherFactory } from '../factories';
2
+ import { CollectionEntry } from '../models';
3
+ import { ItemType } from '../types';
4
+ import { AbstractCache } from './cache/AbstractCache';
5
+ import { CollectionMatcherBase } from './CollectionMatcherBase';
6
+ export declare class CollectionMatcher extends CollectionMatcherBase {
7
+ constructor(queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache, getCollectionEntries: (itemType: ItemType) => CollectionEntry[]);
8
+ getCollectionsWithFittingItems(): CollectionEntry[];
9
+ }
@@ -1,26 +1,26 @@
1
- import { AbstractCache, FieldMap, ItemType } from '../';
2
- import { QueryMatcherFactory } from '../factories/';
3
- import { CollectionEntry, ItemEntry } from '../models';
4
- import { InternalChangesDelta } from './InternalChangesDelta';
5
- export declare type CollectionMatcherMatches<ItemTypeType extends ItemType = ItemType> = {
6
- [itemId: number]: {
7
- item: ItemEntry<ItemTypeType>;
8
- isMatch: boolean | 'maybe';
9
- };
10
- };
11
- export declare class CollectionMatcherBase {
12
- protected queryMatcherFactory: QueryMatcherFactory;
13
- protected transaction: AbstractCache;
14
- private getCollectionEntries;
15
- protected map: {
16
- [collectionEntryId: number]: {
17
- collection: CollectionEntry;
18
- matches: CollectionMatcherMatches;
19
- };
20
- };
21
- constructor(queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache, getCollectionEntries: (itemType: ItemType) => CollectionEntry[]);
22
- expand<ItemEntryType extends ItemEntry>(itemEntry: ItemEntryType, fields: FieldMap<ItemEntryType['itemType']>): this;
23
- processDelta(internalChangesDelta: InternalChangesDelta): this;
24
- protected hasFittingItems(matches: CollectionMatcherMatches): boolean;
25
- protected _expand(itemEntry: ItemEntry, matchFunction: (collectionEntry: CollectionEntry) => boolean | 'maybe'): this;
26
- }
1
+ import { AbstractCache, FieldMap, ItemType } from '../';
2
+ import { QueryMatcherFactory } from '../factories/';
3
+ import { CollectionEntry, ItemEntry } from '../models';
4
+ import { InternalChangesDelta } from './InternalChangesDelta';
5
+ export declare type CollectionMatcherMatches<ItemTypeType extends ItemType = ItemType> = {
6
+ [itemId: number]: {
7
+ item: ItemEntry<ItemTypeType>;
8
+ isMatch: boolean | 'maybe';
9
+ };
10
+ };
11
+ export declare class CollectionMatcherBase {
12
+ protected queryMatcherFactory: QueryMatcherFactory;
13
+ protected transaction: AbstractCache;
14
+ private getCollectionEntries;
15
+ protected map: {
16
+ [collectionEntryId: number]: {
17
+ collection: CollectionEntry;
18
+ matches: CollectionMatcherMatches;
19
+ };
20
+ };
21
+ constructor(queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache, getCollectionEntries: (itemType: ItemType) => CollectionEntry[]);
22
+ expand<ItemEntryType extends ItemEntry>(itemEntry: ItemEntryType, fields: FieldMap<ItemEntryType['itemType']>): this;
23
+ processDelta(internalChangesDelta: InternalChangesDelta): this;
24
+ protected hasFittingItems(matches: CollectionMatcherMatches): boolean;
25
+ protected _expand(itemEntry: ItemEntry, matchFunction: (collectionEntry: CollectionEntry) => boolean | 'maybe'): this;
26
+ }
@@ -1,6 +1,6 @@
1
- import { CollectionResourceOptions, CollectionResourceOptionsInterface, ItemResource } from '../models';
2
- import { ItemId, ItemType } from '../types';
3
- export declare class CollectionResourceService {
4
- processOptions<ItemTypeType extends ItemType>(options: CollectionResourceOptionsInterface<ItemTypeType>): CollectionResourceOptions<ItemTypeType>;
5
- getIdArray(itemResources: Array<ItemResource<any>>): ItemId[];
6
- }
1
+ import { CollectionResourceOptions, CollectionResourceOptionsInterface, ItemResource } from '../models';
2
+ import { ItemId, ItemType } from '../types';
3
+ export declare class CollectionResourceService {
4
+ processOptions<ItemTypeType extends ItemType>(options: CollectionResourceOptionsInterface<ItemTypeType>): CollectionResourceOptions<ItemTypeType>;
5
+ getIdArray(itemResources: Array<ItemResource<any>>): ItemId[];
6
+ }
@@ -1,21 +1,21 @@
1
- import { ColumnUtil } from '../classes';
2
- import { ApiRequestColumns, ItemType, ResponseColumn, ResponseColumnItemTypeMap } from '../types';
3
- export declare class ColumnCache {
4
- private columnUtil;
5
- cache: ResponseColumnItemTypeMap;
6
- allColumns: {
7
- [itemType: string]: boolean;
8
- };
9
- constructor(columnUtil: ColumnUtil);
10
- setColumn(itemType: ItemType, responseColumn: ResponseColumn): ResponseColumn;
11
- setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
12
- retrieve(itemType: ItemType, requestColumns: ApiRequestColumns): {
13
- cached: ResponseColumnItemTypeMap;
14
- missing: ApiRequestColumns;
15
- };
16
- containsAll(itemType: ItemType): boolean;
17
- getColumns(itemType: ItemType): ResponseColumnItemTypeMap;
18
- private retrieveColumns;
19
- private retrieveColumn;
20
- private getColumn;
21
- }
1
+ import { ColumnUtil } from '../classes';
2
+ import { ApiRequestColumns, ItemType, ResponseColumn, ResponseColumnItemTypeMap } from '../types';
3
+ export declare class ColumnCache {
4
+ private columnUtil;
5
+ cache: ResponseColumnItemTypeMap;
6
+ allColumns: {
7
+ [itemType: string]: boolean;
8
+ };
9
+ constructor(columnUtil: ColumnUtil);
10
+ setColumn(itemType: ItemType, responseColumn: ResponseColumn): ResponseColumn;
11
+ setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
12
+ retrieve(itemType: ItemType, requestColumns: ApiRequestColumns): {
13
+ cached: ResponseColumnItemTypeMap;
14
+ missing: ApiRequestColumns;
15
+ };
16
+ containsAll(itemType: ItemType): boolean;
17
+ getColumns(itemType: ItemType): ResponseColumnItemTypeMap;
18
+ private retrieveColumns;
19
+ private retrieveColumn;
20
+ private getColumn;
21
+ }
@@ -1,22 +1,22 @@
1
- import { ColumnInfo, ColumnSet } from '../classes';
2
- import { ColumnInfoFactory } from '../factories';
3
- import { ApiRequestColumn, ApiRequestColumns, ColumnExpansionResult, ItemType, ResponseColumnItemTypeMap } from '../types';
4
- /**
5
- * @description
6
- * A ColumnExpansion is used to make sure {@link ItemEntry ItemEntries} that have the same {@link ColumnSet ColumnSet} (matched on {@link ColumnSet.id ColumnSet.id}) will all get the same new expanded ColumnSet
7
- */
8
- export declare class ColumnExpansion<ItemTypeType extends ItemType> {
9
- private columnInfoFactory;
10
- itemType: ItemTypeType;
11
- responseColumns: ResponseColumnItemTypeMap;
12
- expansionMap: {
13
- [columnSetId: string]: ColumnExpansionResult<ItemTypeType> | null;
14
- };
15
- expansionMapSize: number;
16
- requestColumnsTrue: boolean;
17
- requestColumns: ApiRequestColumn[];
18
- constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap);
19
- run(columnSet: ColumnSet<ItemTypeType>): ColumnExpansionResult<ItemTypeType> | null;
20
- aggregateRootColumns(): Array<ColumnInfo<ItemTypeType>>;
21
- private expandRootColumnMap;
22
- }
1
+ import { ColumnInfo, ColumnSet } from '../classes';
2
+ import { ColumnInfoFactory } from '../factories';
3
+ import { ApiRequestColumn, ApiRequestColumns, ColumnExpansionResult, ItemType, ResponseColumnItemTypeMap } from '../types';
4
+ /**
5
+ * @description
6
+ * A ColumnExpansion is used to make sure {@link ItemEntry ItemEntries} that have the same {@link ColumnSet ColumnSet} (matched on {@link ColumnSet.id ColumnSet.id}) will all get the same new expanded ColumnSet
7
+ */
8
+ export declare class ColumnExpansion<ItemTypeType extends ItemType> {
9
+ private columnInfoFactory;
10
+ itemType: ItemTypeType;
11
+ responseColumns: ResponseColumnItemTypeMap;
12
+ expansionMap: {
13
+ [columnSetId: string]: ColumnExpansionResult<ItemTypeType> | null;
14
+ };
15
+ expansionMapSize: number;
16
+ requestColumnsTrue: boolean;
17
+ requestColumns: ApiRequestColumn[];
18
+ constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap);
19
+ run(columnSet: ColumnSet<ItemTypeType>): ColumnExpansionResult<ItemTypeType> | null;
20
+ aggregateRootColumns(): Array<ColumnInfo<ItemTypeType>>;
21
+ private expandRootColumnMap;
22
+ }
@@ -1,21 +1,21 @@
1
- import { ApiRequestService, ColumnCache, ColumnUtil } from '../classes';
2
- import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
- import { ApiRequestColumns, ItemType, PromiseInterface, ResponseColumn, ResponseColumnItemTypeMap } from '../types';
4
- export declare class ColumnHandler {
5
- private apiRequestService;
6
- private errorHandler;
7
- private promiseService;
8
- private cache;
9
- private columnUtil;
10
- constructor(apiRequestService: ApiRequestService, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
11
- setColumn(itemType: ItemType, responseColumn: ResponseColumn): ResponseColumn;
12
- setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
13
- fetchItemTypeTranslations(itemTypes: ItemType[]): PromiseInterface<{
14
- [itemType: string]: string;
15
- }>;
16
- request(itemType: ItemType, columns: ApiRequestColumns, params?: {
17
- filter: boolean;
18
- }): PromiseInterface<ResponseColumnItemTypeMap>;
19
- fetch(itemType: ItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnItemTypeMap>;
20
- fetchAll(itemType: ItemType): PromiseInterface<ResponseColumnItemTypeMap>;
21
- }
1
+ import { ApiRequestService, ColumnCache, ColumnUtil } from '../classes';
2
+ import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
+ import { ApiRequestColumns, ItemType, PromiseInterface, ResponseColumn, ResponseColumnItemTypeMap } from '../types';
4
+ export declare class ColumnHandler {
5
+ private apiRequestService;
6
+ private errorHandler;
7
+ private promiseService;
8
+ private cache;
9
+ private columnUtil;
10
+ constructor(apiRequestService: ApiRequestService, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
11
+ setColumn(itemType: ItemType, responseColumn: ResponseColumn): ResponseColumn;
12
+ setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
13
+ fetchItemTypeTranslations(itemTypes: ItemType[]): PromiseInterface<{
14
+ [itemType: string]: string;
15
+ }>;
16
+ request(itemType: ItemType, columns: ApiRequestColumns, params?: {
17
+ filter: boolean;
18
+ }): PromiseInterface<ResponseColumnItemTypeMap>;
19
+ fetch(itemType: ItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnItemTypeMap>;
20
+ fetchAll(itemType: ItemType): PromiseInterface<ResponseColumnItemTypeMap>;
21
+ }
@@ -1,14 +1,14 @@
1
- import { ItemType, ResponseColumn } from '../types';
2
- export declare class ColumnInfo<ItemTypeType extends ItemType = any> {
3
- readonly apiColumn: ResponseColumn;
4
- readonly parent: ColumnInfo<ItemType> | null;
5
- id: string;
6
- level: number;
7
- path: string;
8
- tailPath: string;
9
- itemType: ItemTypeType | null;
10
- children: Array<ColumnInfo<ItemTypeType>>;
11
- isLeaf: boolean;
12
- constructor(apiColumn: ResponseColumn, parent?: ColumnInfo<ItemType> | null);
13
- setChildren(itemType: ItemTypeType, children: Array<ColumnInfo<ItemTypeType>>): this;
14
- }
1
+ import { ItemType, ResponseColumn } from '../types';
2
+ export declare class ColumnInfo<ItemTypeType extends ItemType = any> {
3
+ readonly apiColumn: ResponseColumn;
4
+ readonly parent: ColumnInfo<ItemType> | null;
5
+ id: string;
6
+ level: number;
7
+ path: string;
8
+ tailPath: string;
9
+ itemType: ItemTypeType | null;
10
+ children: Array<ColumnInfo<ItemTypeType>>;
11
+ isLeaf: boolean;
12
+ constructor(apiColumn: ResponseColumn, parent?: ColumnInfo<ItemType> | null);
13
+ setChildren(itemType: ItemTypeType, children: Array<ColumnInfo<ItemTypeType>>): this;
14
+ }
@@ -1,39 +1,39 @@
1
- import { ColumnInfo, ColumnUtil, RequestColumnMergeResult } from '../classes';
2
- import { ColumnSetFactory } from '../factories';
3
- import { ApiRequestColumns, ColumnExpansionResult, ItemType, ResponseColumnItemTypeMap } from '../types';
4
- export declare class ColumnSet<ItemTypeType extends ItemType = any> {
5
- private columnUtil;
6
- private columnSetFactory;
7
- itemType: ItemTypeType;
8
- id: number;
9
- request: ApiRequestColumns;
10
- requestColumnsTrue: boolean;
11
- response: ResponseColumnItemTypeMap;
12
- link: ColumnInfo<ItemTypeType> | null;
13
- main: Array<ColumnInfo<ItemTypeType>>;
14
- derived: Array<ColumnInfo<ItemTypeType>>;
15
- root: Array<ColumnInfo<ItemTypeType>>;
16
- leaf: Array<ColumnInfo<ItemTypeType>>;
17
- formatted: {
18
- main: Array<ColumnInfo<ItemTypeType>>;
19
- derived: Array<ColumnInfo<ItemTypeType>>;
20
- };
21
- filtered: Array<ColumnInfo<ItemTypeType>>;
22
- custom: Array<ColumnInfo<ItemTypeType>>;
23
- searchable: Array<ColumnInfo<ItemTypeType>>;
24
- item: Array<ColumnInfo<ItemTypeType>>;
25
- notItem: Array<ColumnInfo<ItemTypeType>>;
26
- constructor(columnUtil: ColumnUtil, columnSetFactory: ColumnSetFactory, itemType: ItemTypeType);
27
- groupColumnInfo(columnInfo: ColumnInfo): void;
28
- toJSON(): {
29
- main: string[];
30
- derived: string[];
31
- };
32
- expandRequestColumns(columns: ApiRequestColumns): void;
33
- isSupersetOf(columns: ApiRequestColumns): boolean;
34
- private getMergedColumnSet;
35
- mergeRequestColumns(requestColumns: ApiRequestColumns): RequestColumnMergeResult;
36
- mergeResponseColumns(responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
37
- merge(columnSet: ColumnSet<ItemTypeType>): ColumnSet<ItemTypeType>;
38
- expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnItemTypeMap): ColumnExpansionResult<ItemTypeType>;
39
- }
1
+ import { ColumnInfo, ColumnUtil, RequestColumnMergeResult } from '../classes';
2
+ import { ColumnSetFactory } from '../factories';
3
+ import { ApiRequestColumns, ColumnExpansionResult, ItemType, ResponseColumnItemTypeMap } from '../types';
4
+ export declare class ColumnSet<ItemTypeType extends ItemType = any> {
5
+ private columnUtil;
6
+ private columnSetFactory;
7
+ itemType: ItemTypeType;
8
+ id: number;
9
+ request: ApiRequestColumns;
10
+ requestColumnsTrue: boolean;
11
+ response: ResponseColumnItemTypeMap;
12
+ link: ColumnInfo<ItemTypeType> | null;
13
+ main: Array<ColumnInfo<ItemTypeType>>;
14
+ derived: Array<ColumnInfo<ItemTypeType>>;
15
+ root: Array<ColumnInfo<ItemTypeType>>;
16
+ leaf: Array<ColumnInfo<ItemTypeType>>;
17
+ formatted: {
18
+ main: Array<ColumnInfo<ItemTypeType>>;
19
+ derived: Array<ColumnInfo<ItemTypeType>>;
20
+ };
21
+ filtered: Array<ColumnInfo<ItemTypeType>>;
22
+ custom: Array<ColumnInfo<ItemTypeType>>;
23
+ searchable: Array<ColumnInfo<ItemTypeType>>;
24
+ item: Array<ColumnInfo<ItemTypeType>>;
25
+ notItem: Array<ColumnInfo<ItemTypeType>>;
26
+ constructor(columnUtil: ColumnUtil, columnSetFactory: ColumnSetFactory, itemType: ItemTypeType);
27
+ groupColumnInfo(columnInfo: ColumnInfo): void;
28
+ toJSON(): {
29
+ main: string[];
30
+ derived: string[];
31
+ };
32
+ expandRequestColumns(columns: ApiRequestColumns): void;
33
+ isSupersetOf(columns: ApiRequestColumns): boolean;
34
+ private getMergedColumnSet;
35
+ mergeRequestColumns(requestColumns: ApiRequestColumns): RequestColumnMergeResult;
36
+ mergeResponseColumns(responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
37
+ merge(columnSet: ColumnSet<ItemTypeType>): ColumnSet<ItemTypeType>;
38
+ expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnItemTypeMap): ColumnExpansionResult<ItemTypeType>;
39
+ }
@@ -1,8 +1,8 @@
1
- import { ColumnSet } from '../classes';
2
- import { ApiRequestColumns, ItemType } from '../types';
3
- export declare class ColumnSubsetCache<ItemTypeType extends ItemType> {
4
- requestColumns: ApiRequestColumns;
5
- private cache;
6
- constructor(requestColumns: ApiRequestColumns);
7
- run(columnSet: ColumnSet<ItemTypeType>): boolean;
8
- }
1
+ import { ColumnSet } from '../classes';
2
+ import { ApiRequestColumns, ItemType } from '../types';
3
+ export declare class ColumnSubsetCache<ItemTypeType extends ItemType> {
4
+ requestColumns: ApiRequestColumns;
5
+ private cache;
6
+ constructor(requestColumns: ApiRequestColumns);
7
+ run(columnSet: ColumnSet<ItemTypeType>): boolean;
8
+ }
@@ -1,99 +1,99 @@
1
- import { LinkTreeServiceInterface } from '../interfaces/LinkTreeServiceInterface';
2
- import { ApiRequestColumn, ApiRequestColumns, ItemType, ResponseColumn, ResponseColumnItemTypeMap, ResponseColumnMap } from '../types';
3
- export declare type RequestColumnMergeResult<T extends ApiRequestColumns = ApiRequestColumns, U extends ApiRequestColumns = ApiRequestColumns> = {
4
- merged: T;
5
- difference: U;
6
- };
7
- export declare class ColumnUtil {
8
- private linkTreeService;
9
- constructor(linkTreeService: LinkTreeServiceInterface);
10
- /**
11
- * @description
12
- * Checks the {@link ApiLinkTree LinkTree} and returns the link columnIds for the given ItemType
13
- *
14
- * @remark
15
- * - For {@link ApiLinkTreeType.DIRECT direct links} it will be a columnId
16
- * - For {@link ApiLinkTreeType.ITEMTABLE itemtable links} it will be 'itemtype' and 'item'
17
- */
18
- getColumnsFromLink(parentType: ItemType, itemType: ItemType): ApiRequestColumn[];
19
- getColumnPath(columns: ResponseColumn[], renderAs: null | string): string;
20
- getDateFormatOptions(columnType?: 'datetime'): {
21
- 'J-M-Y': string;
22
- 'J-M': string;
23
- 'j+F+Y': string;
24
- 'D+j+F+Y': string;
25
- 'F': string;
26
- 'f': string;
27
- 'D': string;
28
- 'd': string;
29
- };
30
- isStringColumn(column: ResponseColumn): boolean;
31
- isFloatColumn(column: ResponseColumn): boolean;
32
- isIntColumn(column: ResponseColumn): boolean;
33
- isNumberColumn(column: ResponseColumn): boolean;
34
- isCustomColumn(column: ResponseColumn): boolean;
35
- isItemColumn(column: ResponseColumn, includeId?: boolean): boolean;
36
- isDateColumn(column: ResponseColumn): boolean;
37
- isRenderedColumn(column: ResponseColumn): boolean;
38
- isFilteredColumn(column: ResponseColumn): boolean;
39
- isFormattedColumn(column: ResponseColumn): boolean;
40
- isSelectableColumn(column: ResponseColumn): boolean;
41
- hasLocationProperty(column: ResponseColumn, location: number): boolean;
42
- isEditableColumn(column: ResponseColumn): boolean;
43
- isSearchableColumn(column: ResponseColumn): boolean;
44
- getDefaultWeight(column: ResponseColumn): number;
45
- getComparators(column: ResponseColumn & {
46
- type: 'dimension' | 'weight' | 'price';
47
- }): ['=', '>', '<'];
48
- getComparators(column: ResponseColumn & {
49
- type: 'date' | 'datetime' | 'time' | 'duration';
50
- }): ['>', '<'];
51
- getComparators(column: ResponseColumn): ['=', '!='];
52
- containsColumn(requestColumn: ApiRequestColumn, destination: ApiRequestColumn[]): boolean;
53
- containsDerivedColumns(requestColumns: ApiRequestColumn[]): boolean;
54
- responseColumnsAvailable(itemType: ItemType, requestColumns: ApiRequestColumn[], responseColumnMap: ResponseColumnItemTypeMap): boolean;
55
- copyRequestColumns(columns: true): true;
56
- copyRequestColumns(columns: ApiRequestColumn[]): ApiRequestColumn[];
57
- copyRequestColumn(requestColumn: ApiRequestColumn): ApiRequestColumn;
58
- mergeRequestColumns(first: true, second: ApiRequestColumns): RequestColumnMergeResult<true, []>;
59
- mergeRequestColumns(first: ApiRequestColumn[], second: true): RequestColumnMergeResult<true, true>;
60
- mergeRequestColumns(first: ApiRequestColumn[], second: ApiRequestColumn[]): RequestColumnMergeResult<ApiRequestColumn[], ApiRequestColumn[]>;
61
- mergeRequestColumns(first: ApiRequestColumns, second: ApiRequestColumns): RequestColumnMergeResult;
62
- mergeRequestColumn(requestColumn: ApiRequestColumn, destination: ApiRequestColumn[]): string | {
63
- [columnId: string]: ApiRequestColumn[];
64
- } | null;
65
- getRequestColumnId(requestColumn: ApiRequestColumn): string;
66
- parseRequestColumn(requestColumn: ApiRequestColumn): {
67
- id: string;
68
- children: ApiRequestColumn[];
69
- };
70
- /**
71
- * @description
72
- * Merges two sets of {@link ResponseColumnItemTypeMap ResponseColumnItemTypeMaps}.
73
- *
74
- * @returns
75
- * - Merged: The merged set of columns
76
- * - Difference: Columns that are in second, but not in first
77
- */
78
- mergeResponseColumns(first: ResponseColumnItemTypeMap, second: ResponseColumnItemTypeMap): {
79
- merged: ResponseColumnItemTypeMap;
80
- difference: ResponseColumnItemTypeMap;
81
- };
82
- /**
83
- * @description
84
- * Merges two sets of {@link ResponseColumnMap response columns}.
85
- *
86
- * @returns
87
- * - Merged: The merged set of columns
88
- * - Difference: Columns that are in second, but not in first
89
- */
90
- mergeResponseColumnMap(first: ResponseColumnMap, second: ResponseColumnMap): {
91
- merged: ResponseColumnMap;
92
- difference: ResponseColumnMap;
93
- };
94
- isLocalColumnId(columnId: string): boolean;
95
- processConfigColumns(configColumns: string[]): ApiRequestColumn[];
96
- parseConfigColumn(configColumn: string): string[];
97
- processConfigColumn(parsedConfigColumn: string[], destination: ApiRequestColumn[]): void;
98
- findRequestColumn(columnId: string, requestColumns: ApiRequestColumn[]): number;
99
- }
1
+ import { LinkTreeServiceInterface } from '../interfaces/LinkTreeServiceInterface';
2
+ import { ApiRequestColumn, ApiRequestColumns, ItemType, ResponseColumn, ResponseColumnItemTypeMap, ResponseColumnMap } from '../types';
3
+ export declare type RequestColumnMergeResult<T extends ApiRequestColumns = ApiRequestColumns, U extends ApiRequestColumns = ApiRequestColumns> = {
4
+ merged: T;
5
+ difference: U;
6
+ };
7
+ export declare class ColumnUtil {
8
+ private linkTreeService;
9
+ constructor(linkTreeService: LinkTreeServiceInterface);
10
+ /**
11
+ * @description
12
+ * Checks the {@link ApiLinkTree LinkTree} and returns the link columnIds for the given ItemType
13
+ *
14
+ * @remark
15
+ * - For {@link ApiLinkTreeType.DIRECT direct links} it will be a columnId
16
+ * - For {@link ApiLinkTreeType.ITEMTABLE itemtable links} it will be 'itemtype' and 'item'
17
+ */
18
+ getColumnsFromLink(parentType: ItemType, itemType: ItemType): ApiRequestColumn[];
19
+ getColumnPath(columns: ResponseColumn[], renderAs: null | string): string;
20
+ getDateFormatOptions(columnType?: 'datetime'): {
21
+ 'J-M-Y': string;
22
+ 'J-M': string;
23
+ 'j+F+Y': string;
24
+ 'D+j+F+Y': string;
25
+ 'F': string;
26
+ 'f': string;
27
+ 'D': string;
28
+ 'd': string;
29
+ };
30
+ isStringColumn(column: ResponseColumn): boolean;
31
+ isFloatColumn(column: ResponseColumn): boolean;
32
+ isIntColumn(column: ResponseColumn): boolean;
33
+ isNumberColumn(column: ResponseColumn): boolean;
34
+ isCustomColumn(column: ResponseColumn): boolean;
35
+ isItemColumn(column: ResponseColumn, includeId?: boolean): boolean;
36
+ isDateColumn(column: ResponseColumn): boolean;
37
+ isRenderedColumn(column: ResponseColumn): boolean;
38
+ isFilteredColumn(column: ResponseColumn): boolean;
39
+ isFormattedColumn(column: ResponseColumn): boolean;
40
+ isSelectableColumn(column: ResponseColumn): boolean;
41
+ hasLocationProperty(column: ResponseColumn, location: number): boolean;
42
+ isEditableColumn(column: ResponseColumn): boolean;
43
+ isSearchableColumn(column: ResponseColumn): boolean;
44
+ getDefaultWeight(column: ResponseColumn): number;
45
+ getComparators(column: ResponseColumn & {
46
+ type: 'dimension' | 'weight' | 'price';
47
+ }): ['=', '>', '<'];
48
+ getComparators(column: ResponseColumn & {
49
+ type: 'date' | 'datetime' | 'time' | 'duration';
50
+ }): ['>', '<'];
51
+ getComparators(column: ResponseColumn): ['=', '!='];
52
+ containsColumn(requestColumn: ApiRequestColumn, destination: ApiRequestColumn[]): boolean;
53
+ containsDerivedColumns(requestColumns: ApiRequestColumn[]): boolean;
54
+ responseColumnsAvailable(itemType: ItemType, requestColumns: ApiRequestColumn[], responseColumnMap: ResponseColumnItemTypeMap): boolean;
55
+ copyRequestColumns(columns: true): true;
56
+ copyRequestColumns(columns: ApiRequestColumn[]): ApiRequestColumn[];
57
+ copyRequestColumn(requestColumn: ApiRequestColumn): ApiRequestColumn;
58
+ mergeRequestColumns(first: true, second: ApiRequestColumns): RequestColumnMergeResult<true, []>;
59
+ mergeRequestColumns(first: ApiRequestColumn[], second: true): RequestColumnMergeResult<true, true>;
60
+ mergeRequestColumns(first: ApiRequestColumn[], second: ApiRequestColumn[]): RequestColumnMergeResult<ApiRequestColumn[], ApiRequestColumn[]>;
61
+ mergeRequestColumns(first: ApiRequestColumns, second: ApiRequestColumns): RequestColumnMergeResult;
62
+ mergeRequestColumn(requestColumn: ApiRequestColumn, destination: ApiRequestColumn[]): string | {
63
+ [columnId: string]: ApiRequestColumn[];
64
+ } | null;
65
+ getRequestColumnId(requestColumn: ApiRequestColumn): string;
66
+ parseRequestColumn(requestColumn: ApiRequestColumn): {
67
+ id: string;
68
+ children: ApiRequestColumn[];
69
+ };
70
+ /**
71
+ * @description
72
+ * Merges two sets of {@link ResponseColumnItemTypeMap ResponseColumnItemTypeMaps}.
73
+ *
74
+ * @returns
75
+ * - Merged: The merged set of columns
76
+ * - Difference: Columns that are in second, but not in first
77
+ */
78
+ mergeResponseColumns(first: ResponseColumnItemTypeMap, second: ResponseColumnItemTypeMap): {
79
+ merged: ResponseColumnItemTypeMap;
80
+ difference: ResponseColumnItemTypeMap;
81
+ };
82
+ /**
83
+ * @description
84
+ * Merges two sets of {@link ResponseColumnMap response columns}.
85
+ *
86
+ * @returns
87
+ * - Merged: The merged set of columns
88
+ * - Difference: Columns that are in second, but not in first
89
+ */
90
+ mergeResponseColumnMap(first: ResponseColumnMap, second: ResponseColumnMap): {
91
+ merged: ResponseColumnMap;
92
+ difference: ResponseColumnMap;
93
+ };
94
+ isLocalColumnId(columnId: string): boolean;
95
+ processConfigColumns(configColumns: string[]): ApiRequestColumn[];
96
+ parseConfigColumn(configColumn: string): string[];
97
+ processConfigColumn(parsedConfigColumn: string[], destination: ApiRequestColumn[]): void;
98
+ findRequestColumn(columnId: string, requestColumns: ApiRequestColumn[]): number;
99
+ }