@rentman/rm-core 3.1.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/changelog.md +685 -668
  2. package/dist/rm-core.js +9449 -9520
  3. package/dist/rm-core.min.js +2 -2
  4. package/dist/types/classes/ApiFormatter.d.ts +55 -55
  5. package/dist/types/classes/ApiRequestService.d.ts +20 -20
  6. package/dist/types/classes/ApiResponseProcessor.d.ts +31 -31
  7. package/dist/types/classes/ChangesCompilation.d.ts +34 -34
  8. package/dist/types/classes/ChangesDelta.d.ts +59 -59
  9. package/dist/types/classes/ChangesDeltaBase.d.ts +50 -50
  10. package/dist/types/classes/ChangesProcessor.d.ts +47 -47
  11. package/dist/types/classes/CollectionCache.d.ts +38 -38
  12. package/dist/types/classes/CollectionEntryService.d.ts +25 -25
  13. package/dist/types/classes/CollectionMatcher.d.ts +9 -9
  14. package/dist/types/classes/CollectionMatcherBase.d.ts +26 -26
  15. package/dist/types/classes/CollectionResourceService.d.ts +6 -6
  16. package/dist/types/classes/ColumnCache.d.ts +21 -21
  17. package/dist/types/classes/ColumnExpansion.d.ts +22 -22
  18. package/dist/types/classes/ColumnHandler.d.ts +21 -21
  19. package/dist/types/classes/ColumnInfo.d.ts +14 -14
  20. package/dist/types/classes/ColumnSet.d.ts +39 -39
  21. package/dist/types/classes/ColumnSubsetCache.d.ts +8 -8
  22. package/dist/types/classes/ColumnUtil.d.ts +99 -99
  23. package/dist/types/classes/ConversionMapService.d.ts +27 -27
  24. package/dist/types/classes/CreateRequest.d.ts +19 -19
  25. package/dist/types/classes/CreatedChangesDelta.d.ts +15 -15
  26. package/dist/types/classes/InternalChangesDelta.d.ts +39 -39
  27. package/dist/types/classes/ItemCache.d.ts +29 -29
  28. package/dist/types/classes/ItemCreateService.d.ts +24 -24
  29. package/dist/types/classes/ItemEntryService.d.ts +34 -34
  30. package/dist/types/classes/KeyService.d.ts +16 -16
  31. package/dist/types/classes/LockService.d.ts +32 -32
  32. package/dist/types/classes/ModuleChangesCompilation.d.ts +18 -18
  33. package/dist/types/classes/QueryColumnExtractor.d.ts +20 -20
  34. package/dist/types/classes/QueryMatcher.d.ts +14 -14
  35. package/dist/types/classes/QueryParser.d.ts +25 -25
  36. package/dist/types/classes/QueryParserBase.d.ts +29 -29
  37. package/dist/types/classes/QueryService.d.ts +14 -14
  38. package/dist/types/classes/RequestBuffer.d.ts +28 -28
  39. package/dist/types/classes/RequestBufferManager.d.ts +24 -24
  40. package/dist/types/classes/RequestColumnExpansion.d.ts +15 -15
  41. package/dist/types/classes/SocketMessageHandler.d.ts +31 -31
  42. package/dist/types/classes/TemplateCache.d.ts +66 -66
  43. package/dist/types/classes/Util.d.ts +30 -30
  44. package/dist/types/classes/cache/AbstractCache.d.ts +101 -101
  45. package/dist/types/classes/cache/CollectionHandlerBase.d.ts +68 -68
  46. package/dist/types/classes/cache/CollectionMatcherCacheProcessor.d.ts +26 -26
  47. package/dist/types/classes/cache/ItemHandlerBase.d.ts +95 -95
  48. package/dist/types/classes/cache/server/ServerCache.d.ts +83 -83
  49. package/dist/types/classes/cache/server/ServerCollectionHandler.d.ts +44 -44
  50. package/dist/types/classes/cache/server/ServerItemHandler.d.ts +51 -51
  51. package/dist/types/classes/cache/transaction/TransactionCache.d.ts +336 -344
  52. package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +62 -62
  53. package/dist/types/classes/cache/transaction/TransactionEventHandler.d.ts +24 -24
  54. package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +90 -99
  55. package/dist/types/classes/cache/transaction/TransactionValidator.d.ts +28 -28
  56. package/dist/types/classes/index.d.ts +46 -46
  57. package/dist/types/constants.d.ts +7 -7
  58. package/dist/types/core.d.ts +52 -52
  59. package/dist/types/factories/ApiResponseProcessorFactory.d.ts +6 -6
  60. package/dist/types/factories/ChangesCompilationFactory.d.ts +6 -6
  61. package/dist/types/factories/ChangesDeltaFactory.d.ts +11 -11
  62. package/dist/types/factories/ChangesProcessorFactory.d.ts +22 -22
  63. package/dist/types/factories/CollectionCacheFactory.d.ts +8 -8
  64. package/dist/types/factories/CollectionEntryFactory.d.ts +11 -11
  65. package/dist/types/factories/CollectionMatcherFactory.d.ts +9 -9
  66. package/dist/types/factories/CollectionResourceFactory.d.ts +16 -16
  67. package/dist/types/factories/ColumnExpansionFactory.d.ts +8 -8
  68. package/dist/types/factories/ColumnInfoFactory.d.ts +7 -7
  69. package/dist/types/factories/ColumnSetFactory.d.ts +19 -19
  70. package/dist/types/factories/ColumnSubsetCacheFactory.d.ts +6 -6
  71. package/dist/types/factories/CreateRequestFactory.d.ts +11 -11
  72. package/dist/types/factories/ItemCacheFactory.d.ts +8 -8
  73. package/dist/types/factories/ItemEntryFactory.d.ts +15 -15
  74. package/dist/types/factories/ItemResourceFactory.d.ts +14 -17
  75. package/dist/types/factories/ModuleChangesCompilationFactory.d.ts +5 -5
  76. package/dist/types/factories/QueryMatcherFactory.d.ts +7 -7
  77. package/dist/types/factories/QueryParserFactory.d.ts +6 -6
  78. package/dist/types/factories/RequestColumnExpansionFactory.d.ts +6 -6
  79. package/dist/types/factories/TemplateFactory.d.ts +10 -10
  80. package/dist/types/factories/TransactionCacheFactory.d.ts +15 -15
  81. package/dist/types/factories/index.d.ts +22 -22
  82. package/dist/types/index.d.ts +7 -7
  83. package/dist/types/interfaces/AbstractCacheDependencyInterface.d.ts +44 -44
  84. package/dist/types/interfaces/ApiRequestServiceInterface.d.ts +11 -11
  85. package/dist/types/interfaces/AuthInterface.d.ts +9 -9
  86. package/dist/types/interfaces/ErrorHandlerInterface.d.ts +5 -5
  87. package/dist/types/interfaces/ExceptionHandlerInterface.d.ts +3 -3
  88. package/dist/types/interfaces/LinkTreeServiceInterface.d.ts +4 -4
  89. package/dist/types/interfaces/PromiseLibraryInterface.d.ts +25 -25
  90. package/dist/types/interfaces/ServerCacheDependencyInterface.d.ts +7 -7
  91. package/dist/types/interfaces/SocketMessageInterface.d.ts +3 -3
  92. package/dist/types/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +20 -20
  93. package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +26 -26
  94. package/dist/types/interfaces/index.d.ts +11 -12
  95. package/dist/types/models/CollectionEntry.d.ts +27 -27
  96. package/dist/types/models/CollectionEntryOptions.d.ts +13 -13
  97. package/dist/types/models/CollectionResource.d.ts +63 -62
  98. package/dist/types/models/CollectionResourceOptions.d.ts +23 -23
  99. package/dist/types/models/ItemEntry.d.ts +19 -19
  100. package/dist/types/models/ItemEntryOptions.d.ts +8 -8
  101. package/dist/types/models/ItemResource.d.ts +84 -93
  102. package/dist/types/models/Template.d.ts +11 -11
  103. package/dist/types/models/index.d.ts +8 -9
  104. package/dist/types/types/ItemTypesCollection.d.ts +263 -262
  105. package/dist/types/types/PromiseInterface.d.ts +2 -2
  106. package/dist/types/types/index.d.ts +2 -2
  107. package/package.json +36 -36
  108. package/readme.md +15 -15
  109. package/dist/types/interfaces/TransactionCacheDependencyInterface.d.ts +0 -3
  110. package/dist/types/models/ItemResourceOptions.d.ts +0 -6
@@ -1,38 +1,38 @@
1
- import { QueryMatcherFactory } from '../factories';
2
- import { CollectionEntry, CollectionResource } from '../models';
3
- import { CollectionMatchResult, CollectionQuery, EntryParentNull, FieldMap, ItemId, ItemType } from '../types';
4
- import { AbstractCache } from './cache/AbstractCache';
5
- export declare class CollectionCache {
6
- private queryMatcherFactory;
7
- private transaction;
8
- private entries;
9
- constructor(queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache);
10
- getByEntryId(collectionEntryId: CollectionEntry['id']): CollectionEntry | undefined;
11
- contains(collectionEntry: CollectionEntry<any>): boolean;
12
- some(callback: (entry: CollectionEntry<any>) => boolean): boolean;
13
- forEach(callback: (entry: CollectionEntry<any>) => void): void;
14
- toArray(): CollectionEntry<any>[];
15
- add<T extends CollectionEntry<any>>(collectionEntry: T): T;
16
- clear(collectionEntry?: CollectionEntry<any>): boolean;
17
- getByItemType<ItemTypeType extends ItemType>(itemType: ItemTypeType): CollectionEntry<ItemTypeType>[];
18
- matchParent(collectionEntry: CollectionEntry<any>, itemType: string, itemId: ItemId): boolean;
19
- getByParent<ItemTypeType extends ItemType>(parentType: ItemType, parentId: ItemId, itemType: ItemTypeType): CollectionEntry<ItemTypeType> | null;
20
- getCollectionsByParent(parentType: ItemType, parentId: ItemId): CollectionEntry<any>[];
21
- /**
22
- * @description
23
- * Gets {@link CollectionEntry CollectionEntries} which contain the item with the passed ItemType/ItemId
24
- */
25
- getByContainingItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId): CollectionEntry<ItemTypeType>[];
26
- /**
27
- * @description
28
- * Checks if the passed fields would fit in the collections using the {@link QueryMatcher QueryMatcher}
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
- getByQueryString<ItemTypeType extends ItemType>(itemType: ItemTypeType, queryString: string): CollectionEntry<ItemTypeType> | null;
33
- getByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, entryKey: string): Array<CollectionEntry<ItemTypeType>>;
34
- /**
35
- * @deprecated
36
- */
37
- getResourceByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, resourceKey: string): Array<CollectionResource<ItemTypeType>>;
38
- }
1
+ import { QueryMatcherFactory } from '../factories';
2
+ import { CollectionEntry, CollectionResource } from '../models';
3
+ import { CollectionMatchResult, CollectionQuery, EntryParentNull, FieldMap, ItemId, ItemType } from '../types';
4
+ import { AbstractCache } from './cache/AbstractCache';
5
+ export declare class CollectionCache {
6
+ private queryMatcherFactory;
7
+ private transaction;
8
+ private entries;
9
+ constructor(queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache);
10
+ getByEntryId(collectionEntryId: CollectionEntry['id']): CollectionEntry | undefined;
11
+ contains(collectionEntry: CollectionEntry<any>): boolean;
12
+ some(callback: (entry: CollectionEntry<any>) => boolean): boolean;
13
+ forEach(callback: (entry: CollectionEntry<any>) => void): void;
14
+ toArray(): CollectionEntry<any>[];
15
+ add<T extends CollectionEntry<any>>(collectionEntry: T): T;
16
+ clear(collectionEntry?: CollectionEntry<any>): boolean;
17
+ getByItemType<ItemTypeType extends ItemType>(itemType: ItemTypeType): CollectionEntry<ItemTypeType>[];
18
+ matchParent(collectionEntry: CollectionEntry<any>, itemType: string, itemId: ItemId): boolean;
19
+ getByParent<ItemTypeType extends ItemType>(parentType: ItemType, parentId: ItemId, itemType: ItemTypeType): CollectionEntry<ItemTypeType> | null;
20
+ getCollectionsByParent(parentType: ItemType, parentId: ItemId): CollectionEntry<any>[];
21
+ /**
22
+ * @description
23
+ * Gets {@link CollectionEntry CollectionEntries} which contain the item with the passed ItemType/ItemId
24
+ */
25
+ getByContainingItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId): CollectionEntry<ItemTypeType>[];
26
+ /**
27
+ * @description
28
+ * Checks if the passed fields would fit in the collections using the {@link QueryMatcher QueryMatcher}
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
+ getByQueryString<ItemTypeType extends ItemType>(itemType: ItemTypeType, queryString: string): CollectionEntry<ItemTypeType> | null;
33
+ getByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, entryKey: string): Array<CollectionEntry<ItemTypeType>>;
34
+ /**
35
+ * @deprecated
36
+ */
37
+ getResourceByKey<ItemTypeType extends ItemType>(itemType: ItemTypeType, resourceKey: string): Array<CollectionResource<ItemTypeType>>;
38
+ }
@@ -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
+ }