@rentman/rm-core 8.2.0 → 8.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +938 -931
- package/dist/rm-core.js +700 -693
- package/dist/rm-core.min.js +1 -1
- package/dist/types/classes/ApiFormatter.d.ts +73 -73
- package/dist/types/classes/ApiRequestService.d.ts +18 -18
- package/dist/types/classes/ApiResponseProcessor.d.ts +29 -29
- package/dist/types/classes/CacheSyncer.d.ts +36 -36
- package/dist/types/classes/ChangesCompilation.d.ts +33 -33
- package/dist/types/classes/ChangesDelta.d.ts +61 -61
- package/dist/types/classes/ChangesDeltaBase.d.ts +76 -76
- package/dist/types/classes/ChangesProcessor.d.ts +40 -40
- package/dist/types/classes/CollectionEntryService.d.ts +23 -23
- package/dist/types/classes/CollectionResourceService.d.ts +6 -6
- package/dist/types/classes/ColumnCache.d.ts +21 -21
- package/dist/types/classes/ColumnExpansion.d.ts +21 -21
- package/dist/types/classes/ColumnHandler.d.ts +20 -20
- package/dist/types/classes/ColumnInfo.d.ts +14 -14
- package/dist/types/classes/ColumnSet.d.ts +37 -37
- package/dist/types/classes/ColumnSubsetCache.d.ts +14 -14
- package/dist/types/classes/ColumnUtil.d.ts +100 -100
- package/dist/types/classes/ConversionMapService.d.ts +25 -25
- package/dist/types/classes/CreateRequest.d.ts +17 -17
- package/dist/types/classes/CreatedChangesDelta.d.ts +17 -17
- package/dist/types/classes/InternalChangesDelta.d.ts +47 -47
- package/dist/types/classes/ItemCache.d.ts +27 -27
- package/dist/types/classes/ItemCreateService.d.ts +18 -18
- package/dist/types/classes/ItemEntryService.d.ts +32 -32
- package/dist/types/classes/KeyService.d.ts +18 -18
- package/dist/types/classes/LockService.d.ts +29 -29
- package/dist/types/classes/ModuleChangesCompilation.d.ts +18 -18
- package/dist/types/classes/ParentChangesDelta.d.ts +39 -39
- package/dist/types/classes/QueryColumnExtractor.d.ts +18 -18
- package/dist/types/classes/QueryContainsLocalIdParser.d.ts +15 -15
- package/dist/types/classes/QueryLinkedToParser.d.ts +15 -15
- package/dist/types/classes/QueryLocallyMatchableParser.d.ts +18 -18
- package/dist/types/classes/QueryMatcher.d.ts +18 -18
- package/dist/types/classes/QueryParser.d.ts +25 -25
- package/dist/types/classes/QueryParserBase.d.ts +20 -20
- package/dist/types/classes/QueryParserIdUpdater.d.ts +15 -15
- package/dist/types/classes/QueryService.d.ts +12 -12
- package/dist/types/classes/RequestBuffer.d.ts +24 -24
- package/dist/types/classes/RequestBufferManager.d.ts +20 -20
- package/dist/types/classes/RequestColumnExpansion.d.ts +15 -15
- package/dist/types/classes/SocketMessageHandler.d.ts +34 -34
- package/dist/types/classes/TemplateCache.d.ts +62 -63
- package/dist/types/classes/Util.d.ts +28 -28
- package/dist/types/classes/cache/AbstractCache.d.ts +95 -95
- package/dist/types/classes/cache/CachedQueryHandlerBase.d.ts +68 -68
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +95 -95
- package/dist/types/classes/cache/server/ServerCache.d.ts +82 -82
- package/dist/types/classes/cache/server/ServerCachedQueryHandler.d.ts +25 -25
- package/dist/types/classes/cache/server/ServerItemHandler.d.ts +44 -44
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +319 -319
- package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +31 -31
- package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +24 -24
- package/dist/types/classes/cache/transaction/TransactionEventHandler.d.ts +21 -21
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +89 -89
- package/dist/types/classes/cache/transaction/TransactionValidator.d.ts +33 -33
- package/dist/types/constants.d.ts +7 -7
- package/dist/types/core.d.ts +45 -45
- package/dist/types/factories/ApiResponseProcessorFactory.d.ts +6 -6
- package/dist/types/factories/CacheSyncerFactory.d.ts +10 -10
- package/dist/types/factories/ChangesCompilationFactory.d.ts +5 -5
- package/dist/types/factories/ChangesDeltaFactory.d.ts +13 -13
- package/dist/types/factories/ChangesProcessorFactory.d.ts +13 -13
- package/dist/types/factories/CollectionEntryFactory.d.ts +11 -11
- package/dist/types/factories/CollectionResourceFactory.d.ts +18 -18
- package/dist/types/factories/ColumnExpansionFactory.d.ts +7 -7
- package/dist/types/factories/ColumnInfoFactory.d.ts +7 -7
- package/dist/types/factories/ColumnSetFactory.d.ts +18 -18
- package/dist/types/factories/ColumnSubsetCacheFactory.d.ts +8 -8
- package/dist/types/factories/CreateRequestFactory.d.ts +9 -9
- package/dist/types/factories/ItemCacheFactory.d.ts +6 -6
- package/dist/types/factories/ItemEntryFactory.d.ts +12 -12
- package/dist/types/factories/ItemResourceFactory.d.ts +11 -11
- package/dist/types/factories/ModuleChangesCompilationFactory.d.ts +4 -4
- package/dist/types/factories/QueryMatcherFactory.d.ts +7 -7
- package/dist/types/factories/QueryParserFactory.d.ts +5 -5
- package/dist/types/factories/RequestColumnExpansionFactory.d.ts +8 -8
- package/dist/types/factories/TemplateFactory.d.ts +8 -8
- package/dist/types/factories/TransactionCacheFactory.d.ts +13 -13
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interfaces/AbstractCacheDependencyInterface.d.ts +36 -36
- package/dist/types/interfaces/ApiRequestServiceInterface.d.ts +12 -12
- package/dist/types/interfaces/AuthInterface.d.ts +10 -10
- package/dist/types/interfaces/ErrorHandlerInterface.d.ts +5 -5
- package/dist/types/interfaces/ExceptionHandlerInterface.d.ts +3 -3
- package/dist/types/interfaces/LinkTreeServiceInterface.d.ts +4 -4
- package/dist/types/interfaces/PromiseLibraryInterface.d.ts +25 -25
- package/dist/types/interfaces/ServerCacheDependencyInterface.d.ts +5 -5
- package/dist/types/interfaces/SocketMessageInterface.d.ts +3 -3
- package/dist/types/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +17 -17
- package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +22 -22
- package/dist/types/internal.d.ts +104 -104
- package/dist/types/models/CachedQueryItem.d.ts +19 -19
- package/dist/types/models/CollectionEntry.d.ts +21 -21
- package/dist/types/models/CollectionOptions.d.ts +42 -42
- package/dist/types/models/CollectionResource.d.ts +87 -87
- package/dist/types/models/ItemEntry.d.ts +18 -18
- package/dist/types/models/ItemEntryOptions.d.ts +8 -8
- package/dist/types/models/ItemResource.d.ts +90 -90
- package/dist/types/models/Template.d.ts +11 -11
- package/dist/types/types/ItemTypesCollection.d.ts +343 -343
- package/dist/types/types/PromiseInterface.d.ts +2 -2
- package/package.json +48 -48
- package/readme.md +15 -15
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChanges } from '../internal';
|
|
3
|
-
export declare type ChangesDeltaResult = {
|
|
4
|
-
itemIdConversionMap: ItemIdConversionMap;
|
|
5
|
-
created: ItemEntry[];
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* @remark
|
|
9
|
-
* We explicitly keep track of the new parent, so we can set an item to moved if it isn't null (Needed for linkTo request)
|
|
10
|
-
*/
|
|
11
|
-
export declare type ChangesDeltaItemUpdateDelta<ItemTypeType extends ApiEnumItemType = any> = {
|
|
12
|
-
entry: ItemEntry<ItemTypeType>;
|
|
13
|
-
changes: {
|
|
14
|
-
expandedColumns: ColumnExpansionResult<ItemTypeType> | null;
|
|
15
|
-
fields: FieldMap<ItemTypeType>;
|
|
16
|
-
parent: EntryParentNull;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* @description
|
|
20
|
-
* Should be set to `true` when either the changes are made by the user, or when it's the direct result (not derived value) of a create/update API call
|
|
21
|
-
*/
|
|
22
|
-
updateModified: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* @description
|
|
25
|
-
* Should be set to `true` when the changes are a result of an API call
|
|
26
|
-
*/
|
|
27
|
-
updateInitial: boolean;
|
|
28
|
-
};
|
|
29
|
-
export declare abstract class ChangesDeltaBase {
|
|
30
|
-
protected itemEntryService: ItemEntryService;
|
|
31
|
-
updated: {
|
|
32
|
-
[itemEntryId: number]: ChangesDeltaItemUpdateDelta;
|
|
33
|
-
};
|
|
34
|
-
itemIdConversionMap: ItemIdConversionMap;
|
|
35
|
-
/**
|
|
36
|
-
* Only contains remote items, when rolling back local items the whole entries are deleted.
|
|
37
|
-
*/
|
|
38
|
-
restored: {
|
|
39
|
-
[itemEntryId: number]: {
|
|
40
|
-
entry: ItemEntry;
|
|
41
|
-
changes: TransactionItemEntryChanges;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* @private
|
|
46
|
-
* @warning
|
|
47
|
-
* Do not set in frontend
|
|
48
|
-
*/
|
|
49
|
-
__isUndo: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* @private
|
|
52
|
-
* @warning
|
|
53
|
-
* Do not set in frontend
|
|
54
|
-
*/
|
|
55
|
-
__isRedo: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* @private
|
|
58
|
-
*/
|
|
59
|
-
_queryResults: {
|
|
60
|
-
[itemType: string]: {
|
|
61
|
-
[queryString: string]: ItemId[];
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
protected constructor(itemEntryService: ItemEntryService);
|
|
65
|
-
/**
|
|
66
|
-
* @description
|
|
67
|
-
* Adds a hint for the {@link CollectionMatcherBase CacheSyncer] to the ChangesDelta, when the CollectionMatcher encounters a collection
|
|
68
|
-
* with the exact query, it will use the hint instead of running the matcher
|
|
69
|
-
*
|
|
70
|
-
* @private
|
|
71
|
-
*/
|
|
72
|
-
_setQueryResult(itemType: ApiEnumItemType, queryString: string, itemIds: ItemId[]): void;
|
|
73
|
-
setItemUpdated<ItemTypeType extends ApiEnumItemType>(entry: ItemEntry<ItemTypeType>, fields: Partial<FieldMap<ItemTypeType>>, columnExpansionResult?: ColumnExpansionResult<ItemTypeType> | null, parent?: EntryParentNull, updateModified?: boolean, updateInitial?: boolean): this;
|
|
74
|
-
setItemRestored(itemEntry: ItemEntry, transactionItemEntryChanges: TransactionItemEntryChanges): void;
|
|
75
|
-
isEmpty(): boolean;
|
|
76
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChanges } from '../internal';
|
|
3
|
+
export declare type ChangesDeltaResult = {
|
|
4
|
+
itemIdConversionMap: ItemIdConversionMap;
|
|
5
|
+
created: ItemEntry[];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @remark
|
|
9
|
+
* We explicitly keep track of the new parent, so we can set an item to moved if it isn't null (Needed for linkTo request)
|
|
10
|
+
*/
|
|
11
|
+
export declare type ChangesDeltaItemUpdateDelta<ItemTypeType extends ApiEnumItemType = any> = {
|
|
12
|
+
entry: ItemEntry<ItemTypeType>;
|
|
13
|
+
changes: {
|
|
14
|
+
expandedColumns: ColumnExpansionResult<ItemTypeType> | null;
|
|
15
|
+
fields: FieldMap<ItemTypeType>;
|
|
16
|
+
parent: EntryParentNull;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @description
|
|
20
|
+
* Should be set to `true` when either the changes are made by the user, or when it's the direct result (not derived value) of a create/update API call
|
|
21
|
+
*/
|
|
22
|
+
updateModified: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @description
|
|
25
|
+
* Should be set to `true` when the changes are a result of an API call
|
|
26
|
+
*/
|
|
27
|
+
updateInitial: boolean;
|
|
28
|
+
};
|
|
29
|
+
export declare abstract class ChangesDeltaBase {
|
|
30
|
+
protected itemEntryService: ItemEntryService;
|
|
31
|
+
updated: {
|
|
32
|
+
[itemEntryId: number]: ChangesDeltaItemUpdateDelta;
|
|
33
|
+
};
|
|
34
|
+
itemIdConversionMap: ItemIdConversionMap;
|
|
35
|
+
/**
|
|
36
|
+
* Only contains remote items, when rolling back local items the whole entries are deleted.
|
|
37
|
+
*/
|
|
38
|
+
restored: {
|
|
39
|
+
[itemEntryId: number]: {
|
|
40
|
+
entry: ItemEntry;
|
|
41
|
+
changes: TransactionItemEntryChanges;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @private
|
|
46
|
+
* @warning
|
|
47
|
+
* Do not set in frontend
|
|
48
|
+
*/
|
|
49
|
+
__isUndo: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* @private
|
|
52
|
+
* @warning
|
|
53
|
+
* Do not set in frontend
|
|
54
|
+
*/
|
|
55
|
+
__isRedo: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
_queryResults: {
|
|
60
|
+
[itemType: string]: {
|
|
61
|
+
[queryString: string]: ItemId[];
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
protected constructor(itemEntryService: ItemEntryService);
|
|
65
|
+
/**
|
|
66
|
+
* @description
|
|
67
|
+
* Adds a hint for the {@link CollectionMatcherBase CacheSyncer] to the ChangesDelta, when the CollectionMatcher encounters a collection
|
|
68
|
+
* with the exact query, it will use the hint instead of running the matcher
|
|
69
|
+
*
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
_setQueryResult(itemType: ApiEnumItemType, queryString: string, itemIds: ItemId[]): void;
|
|
73
|
+
setItemUpdated<ItemTypeType extends ApiEnumItemType>(entry: ItemEntry<ItemTypeType>, fields: Partial<FieldMap<ItemTypeType>>, columnExpansionResult?: ColumnExpansionResult<ItemTypeType> | null, parent?: EntryParentNull, updateModified?: boolean, updateInitial?: boolean): this;
|
|
74
|
+
setItemRestored(itemEntry: ItemEntry, transactionItemEntryChanges: TransactionItemEntryChanges): void;
|
|
75
|
+
isEmpty(): boolean;
|
|
76
|
+
}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { ApiRequestService, ChangesCompilationFactory, ChangesDeltaFactory, CreateRequestFactory, ErrorHandlerInterface, ItemEntryService, ItemIdConversionMap, PromiseInterface, PromiseLibraryInterface, RequestColumnExpansionFactory, TransactionCache } from '../internal';
|
|
2
|
-
export declare type OnAfterCreateCallback = (conversionMap: ItemIdConversionMap) => void;
|
|
3
|
-
/**
|
|
4
|
-
* @description
|
|
5
|
-
* Executes the changes from a specific {@link TransactionCache transaction} and returns a {@link ChangesDelta ChangesDelta}
|
|
6
|
-
*/
|
|
7
|
-
export declare class ChangesProcessor {
|
|
8
|
-
private changesDeltaFactory;
|
|
9
|
-
private apiRequestService;
|
|
10
|
-
private changesCompilationFactory;
|
|
11
|
-
private createRequestFactory;
|
|
12
|
-
private errorHandler;
|
|
13
|
-
private promiseService;
|
|
14
|
-
private requestColumnExpansionFactory;
|
|
15
|
-
private itemEntryService;
|
|
16
|
-
private transaction;
|
|
17
|
-
private breakUpByParent?;
|
|
18
|
-
private onAfterCreateCallback?;
|
|
19
|
-
private itemIdConversionMap;
|
|
20
|
-
private serverCache;
|
|
21
|
-
constructor(changesDeltaFactory: ChangesDeltaFactory, apiRequestService: ApiRequestService, changesCompilationFactory: ChangesCompilationFactory, createRequestFactory: CreateRequestFactory, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, itemEntryService: ItemEntryService, transaction: TransactionCache, breakUpByParent?: boolean | undefined, onAfterCreateCallback?: OnAfterCreateCallback | undefined);
|
|
22
|
-
/**
|
|
23
|
-
* @description
|
|
24
|
-
* Executes the requests in the order of:
|
|
25
|
-
* 1. create
|
|
26
|
-
* 2. move
|
|
27
|
-
* 3. delete
|
|
28
|
-
* 4. update
|
|
29
|
-
*/
|
|
30
|
-
execute(): PromiseInterface<ItemIdConversionMap>;
|
|
31
|
-
private buildMoveRequest;
|
|
32
|
-
private getMapValue;
|
|
33
|
-
private executeCreateRequests;
|
|
34
|
-
private executeCreateRequest;
|
|
35
|
-
private executeUpdateRequests;
|
|
36
|
-
private executeUpdateRequest;
|
|
37
|
-
private executeDeleteRequests;
|
|
38
|
-
private executeDeleteRequest;
|
|
39
|
-
private executeMoveRequests;
|
|
40
|
-
}
|
|
1
|
+
import { ApiRequestService, ChangesCompilationFactory, ChangesDeltaFactory, CreateRequestFactory, ErrorHandlerInterface, ItemEntryService, ItemIdConversionMap, PromiseInterface, PromiseLibraryInterface, RequestColumnExpansionFactory, TransactionCache } from '../internal';
|
|
2
|
+
export declare type OnAfterCreateCallback = (conversionMap: ItemIdConversionMap) => void;
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* Executes the changes from a specific {@link TransactionCache transaction} and returns a {@link ChangesDelta ChangesDelta}
|
|
6
|
+
*/
|
|
7
|
+
export declare class ChangesProcessor {
|
|
8
|
+
private changesDeltaFactory;
|
|
9
|
+
private apiRequestService;
|
|
10
|
+
private changesCompilationFactory;
|
|
11
|
+
private createRequestFactory;
|
|
12
|
+
private errorHandler;
|
|
13
|
+
private promiseService;
|
|
14
|
+
private requestColumnExpansionFactory;
|
|
15
|
+
private itemEntryService;
|
|
16
|
+
private transaction;
|
|
17
|
+
private breakUpByParent?;
|
|
18
|
+
private onAfterCreateCallback?;
|
|
19
|
+
private itemIdConversionMap;
|
|
20
|
+
private serverCache;
|
|
21
|
+
constructor(changesDeltaFactory: ChangesDeltaFactory, apiRequestService: ApiRequestService, changesCompilationFactory: ChangesCompilationFactory, createRequestFactory: CreateRequestFactory, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, itemEntryService: ItemEntryService, transaction: TransactionCache, breakUpByParent?: boolean | undefined, onAfterCreateCallback?: OnAfterCreateCallback | undefined);
|
|
22
|
+
/**
|
|
23
|
+
* @description
|
|
24
|
+
* Executes the requests in the order of:
|
|
25
|
+
* 1. create
|
|
26
|
+
* 2. move
|
|
27
|
+
* 3. delete
|
|
28
|
+
* 4. update
|
|
29
|
+
*/
|
|
30
|
+
execute(): PromiseInterface<ItemIdConversionMap>;
|
|
31
|
+
private buildMoveRequest;
|
|
32
|
+
private getMapValue;
|
|
33
|
+
private executeCreateRequests;
|
|
34
|
+
private executeCreateRequest;
|
|
35
|
+
private executeUpdateRequests;
|
|
36
|
+
private executeUpdateRequest;
|
|
37
|
+
private executeDeleteRequests;
|
|
38
|
+
private executeDeleteRequest;
|
|
39
|
+
private executeMoveRequests;
|
|
40
|
+
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ApiQuery, CollectionOptions, CollectionOptionsInterface, CollectionQuery, EntryParentNull, ItemEntry, QueryParserFactory, QueryService } from '../internal';
|
|
3
|
-
export declare class CollectionEntryService {
|
|
4
|
-
private queryParserFactory;
|
|
5
|
-
private queryService;
|
|
6
|
-
constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
|
|
7
|
-
createUnfoundLocalCollectionError(itemType: ApiEnumItemType): {
|
|
8
|
-
message: string;
|
|
9
|
-
};
|
|
10
|
-
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, (string | number | symbol)[]>;
|
|
11
|
-
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions;
|
|
12
|
-
createQuery(query: ApiQuery): CollectionQuery;
|
|
13
|
-
createQueryFromOptions(options: CollectionOptions): CollectionQuery;
|
|
14
|
-
getIdArray(itemEntries: Array<ItemEntry<any>>, accumulator?: ItemId[]): ItemId[];
|
|
15
|
-
/**
|
|
16
|
-
* @description
|
|
17
|
-
* Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
|
|
18
|
-
* Does an in-place replacement of the items in the array that do match the condition (keeping the array reference)
|
|
19
|
-
*
|
|
20
|
-
* @returns {@link ItemEntry ItemEntries} that failed the condition
|
|
21
|
-
*/
|
|
22
|
-
filterArray<T extends ItemEntry<any> = ItemEntry<any>>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
|
|
23
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { ApiQuery, CollectionOptions, CollectionOptionsInterface, CollectionQuery, EntryParentNull, ItemEntry, QueryParserFactory, QueryService } from '../internal';
|
|
3
|
+
export declare class CollectionEntryService {
|
|
4
|
+
private queryParserFactory;
|
|
5
|
+
private queryService;
|
|
6
|
+
constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
|
|
7
|
+
createUnfoundLocalCollectionError(itemType: ApiEnumItemType): {
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
10
|
+
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, (string | number | symbol)[]>;
|
|
11
|
+
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions;
|
|
12
|
+
createQuery(query: ApiQuery): CollectionQuery;
|
|
13
|
+
createQueryFromOptions(options: CollectionOptions): CollectionQuery;
|
|
14
|
+
getIdArray(itemEntries: Array<ItemEntry<any>>, accumulator?: ItemId[]): ItemId[];
|
|
15
|
+
/**
|
|
16
|
+
* @description
|
|
17
|
+
* Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
|
|
18
|
+
* Does an in-place replacement of the items in the array that do match the condition (keeping the array reference)
|
|
19
|
+
*
|
|
20
|
+
* @returns {@link ItemEntry ItemEntries} that failed the condition
|
|
21
|
+
*/
|
|
22
|
+
filterArray<T extends ItemEntry<any> = ItemEntry<any>>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
|
|
23
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { CollectionOptions, CollectionOptionsInterface, ItemResource } from '../internal';
|
|
3
|
-
export declare class CollectionResourceService {
|
|
4
|
-
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions<ItemTypeType>;
|
|
5
|
-
getIdArray(itemResources: ItemResource[]): ItemId[];
|
|
6
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { CollectionOptions, CollectionOptionsInterface, ItemResource } from '../internal';
|
|
3
|
+
export declare class CollectionResourceService {
|
|
4
|
+
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions<ItemTypeType>;
|
|
5
|
+
getIdArray(itemResources: ItemResource[]): ItemId[];
|
|
6
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ColumnUtil, ResponseColumnItemTypeMap } from '../internal';
|
|
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: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
|
-
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, columnFilter: string | false): ResponseColumnItemTypeMap;
|
|
12
|
-
retrieve(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns): {
|
|
13
|
-
cached: ResponseColumnItemTypeMap;
|
|
14
|
-
missing: ApiRequestColumns;
|
|
15
|
-
};
|
|
16
|
-
containsAll(itemType: ApiEnumItemType): boolean;
|
|
17
|
-
getColumns(itemType: ApiEnumItemType): ResponseColumnItemTypeMap;
|
|
18
|
-
getColumn(itemType: ApiEnumItemType, columnId: string): ResponseColumn | undefined;
|
|
19
|
-
private retrieveColumns;
|
|
20
|
-
private retrieveColumn;
|
|
21
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ColumnUtil, ResponseColumnItemTypeMap } from '../internal';
|
|
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: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
|
+
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, columnFilter: string | false): ResponseColumnItemTypeMap;
|
|
12
|
+
retrieve(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns): {
|
|
13
|
+
cached: ResponseColumnItemTypeMap;
|
|
14
|
+
missing: ApiRequestColumns;
|
|
15
|
+
};
|
|
16
|
+
containsAll(itemType: ApiEnumItemType): boolean;
|
|
17
|
+
getColumns(itemType: ApiEnumItemType): ResponseColumnItemTypeMap;
|
|
18
|
+
getColumn(itemType: ApiEnumItemType, columnId: string): ResponseColumn | undefined;
|
|
19
|
+
private retrieveColumns;
|
|
20
|
+
private retrieveColumn;
|
|
21
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumn, ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnInfoFactory, ColumnSet, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
-
/**
|
|
4
|
-
* @description
|
|
5
|
-
* 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
|
|
6
|
-
*/
|
|
7
|
-
export declare class ColumnExpansion<ItemTypeType extends ApiEnumItemType> {
|
|
8
|
-
private columnInfoFactory;
|
|
9
|
-
itemType: ItemTypeType;
|
|
10
|
-
responseColumns: ResponseColumnItemTypeMap;
|
|
11
|
-
expansionMap: {
|
|
12
|
-
[columnSetId: string]: ColumnExpansionResult<ItemTypeType> | null;
|
|
13
|
-
};
|
|
14
|
-
expansionMapSize: number;
|
|
15
|
-
requestColumnsTrue: boolean;
|
|
16
|
-
requestColumns: ApiRequestColumn[];
|
|
17
|
-
constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap);
|
|
18
|
-
run(columnSet: ColumnSet<ItemTypeType>): ColumnExpansionResult<ItemTypeType> | null;
|
|
19
|
-
aggregateRootColumns(): Array<ColumnInfo<ItemTypeType>>;
|
|
20
|
-
private expandRootColumnMap;
|
|
21
|
-
}
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumn, ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnInfoFactory, ColumnSet, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* 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
|
|
6
|
+
*/
|
|
7
|
+
export declare class ColumnExpansion<ItemTypeType extends ApiEnumItemType> {
|
|
8
|
+
private columnInfoFactory;
|
|
9
|
+
itemType: ItemTypeType;
|
|
10
|
+
responseColumns: ResponseColumnItemTypeMap;
|
|
11
|
+
expansionMap: {
|
|
12
|
+
[columnSetId: string]: ColumnExpansionResult<ItemTypeType> | null;
|
|
13
|
+
};
|
|
14
|
+
expansionMapSize: number;
|
|
15
|
+
requestColumnsTrue: boolean;
|
|
16
|
+
requestColumns: ApiRequestColumn[];
|
|
17
|
+
constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap);
|
|
18
|
+
run(columnSet: ColumnSet<ItemTypeType>): ColumnExpansionResult<ItemTypeType> | null;
|
|
19
|
+
aggregateRootColumns(): Array<ColumnInfo<ItemTypeType>>;
|
|
20
|
+
private expandRootColumnMap;
|
|
21
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ApiRequestService, ColumnCache, ColumnUtil, ErrorHandlerInterface, PromiseInterface, PromiseLibraryInterface, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
-
export declare class ColumnHandler {
|
|
4
|
-
private apiRequestService;
|
|
5
|
-
private errorHandler;
|
|
6
|
-
private promiseService;
|
|
7
|
-
private cache;
|
|
8
|
-
private columnUtil;
|
|
9
|
-
constructor(apiRequestService: ApiRequestService, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
|
|
10
|
-
setColumn(itemType: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
|
-
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, filter?: string | false): ResponseColumnItemTypeMap;
|
|
12
|
-
fetchItemTypeTranslations(itemTypes: ApiEnumItemType[]): PromiseInterface<{
|
|
13
|
-
[itemType: string]: string;
|
|
14
|
-
}>;
|
|
15
|
-
request(itemType: ApiEnumItemType, columns: ApiRequestColumns, params?: {
|
|
16
|
-
filter: string | false;
|
|
17
|
-
}): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
18
|
-
fetch(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
19
|
-
fetchAll(itemType: ApiEnumItemType): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
20
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ApiRequestService, ColumnCache, ColumnUtil, ErrorHandlerInterface, PromiseInterface, PromiseLibraryInterface, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
+
export declare class ColumnHandler {
|
|
4
|
+
private apiRequestService;
|
|
5
|
+
private errorHandler;
|
|
6
|
+
private promiseService;
|
|
7
|
+
private cache;
|
|
8
|
+
private columnUtil;
|
|
9
|
+
constructor(apiRequestService: ApiRequestService, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
|
|
10
|
+
setColumn(itemType: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
|
+
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, filter?: string | false): ResponseColumnItemTypeMap;
|
|
12
|
+
fetchItemTypeTranslations(itemTypes: ApiEnumItemType[]): PromiseInterface<{
|
|
13
|
+
[itemType: string]: string;
|
|
14
|
+
}>;
|
|
15
|
+
request(itemType: ApiEnumItemType, columns: ApiRequestColumns, params?: {
|
|
16
|
+
filter: string | false;
|
|
17
|
+
}): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
18
|
+
fetch(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
19
|
+
fetchAll(itemType: ApiEnumItemType): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
20
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ApiEnumItemType, ApiFields, GetColumnType } from '@rentman/backend-types';
|
|
2
|
-
export declare class ColumnInfo<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = any> {
|
|
3
|
-
readonly apiColumn: GetColumnType<ItemTypeType, ColumnId>;
|
|
4
|
-
readonly parent: ColumnInfo | null;
|
|
5
|
-
id: ColumnId;
|
|
6
|
-
level: number;
|
|
7
|
-
path: string;
|
|
8
|
-
tailPath: string;
|
|
9
|
-
itemType: ItemTypeType | null;
|
|
10
|
-
children: Array<ColumnInfo<ItemTypeType>>;
|
|
11
|
-
isLeaf: boolean;
|
|
12
|
-
constructor(apiColumn: GetColumnType<ItemTypeType, ColumnId>, parent?: ColumnInfo | null);
|
|
13
|
-
setChildren(itemType: ItemTypeType, children: Array<ColumnInfo<ItemTypeType>>): this;
|
|
14
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ApiFields, GetColumnType } from '@rentman/backend-types';
|
|
2
|
+
export declare class ColumnInfo<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = any> {
|
|
3
|
+
readonly apiColumn: GetColumnType<ItemTypeType, ColumnId>;
|
|
4
|
+
readonly parent: ColumnInfo | null;
|
|
5
|
+
id: ColumnId;
|
|
6
|
+
level: number;
|
|
7
|
+
path: string;
|
|
8
|
+
tailPath: string;
|
|
9
|
+
itemType: ItemTypeType | null;
|
|
10
|
+
children: Array<ColumnInfo<ItemTypeType>>;
|
|
11
|
+
isLeaf: boolean;
|
|
12
|
+
constructor(apiColumn: GetColumnType<ItemTypeType, ColumnId>, parent?: ColumnInfo | null);
|
|
13
|
+
setChildren(itemType: ItemTypeType, children: Array<ColumnInfo<ItemTypeType>>): this;
|
|
14
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnSetFactory, ColumnUtil, RequestColumnMergeResult, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
-
export declare class ColumnSet<ItemTypeType extends ApiEnumItemType = any> {
|
|
4
|
-
private columnUtil;
|
|
5
|
-
private columnSetFactory;
|
|
6
|
-
itemType: ItemTypeType;
|
|
7
|
-
id: number;
|
|
8
|
-
request: ApiRequestColumns;
|
|
9
|
-
requestColumnsTrue: boolean;
|
|
10
|
-
response: ResponseColumnItemTypeMap;
|
|
11
|
-
link: ColumnInfo<ItemTypeType> | null;
|
|
12
|
-
main: Array<ColumnInfo<ItemTypeType>>;
|
|
13
|
-
derived: Array<ColumnInfo<ItemTypeType>>;
|
|
14
|
-
root: Array<ColumnInfo<ItemTypeType>>;
|
|
15
|
-
leaf: Array<ColumnInfo<ItemTypeType>>;
|
|
16
|
-
formatted: {
|
|
17
|
-
main: Array<ColumnInfo<ItemTypeType>>;
|
|
18
|
-
derived: Array<ColumnInfo<ItemTypeType>>;
|
|
19
|
-
};
|
|
20
|
-
filtered: Array<ColumnInfo<ItemTypeType>>;
|
|
21
|
-
custom: Array<ColumnInfo<ItemTypeType>>;
|
|
22
|
-
searchable: Array<ColumnInfo<ItemTypeType>>;
|
|
23
|
-
item: Array<ColumnInfo<ItemTypeType>>;
|
|
24
|
-
notItem: Array<ColumnInfo<ItemTypeType>>;
|
|
25
|
-
constructor(columnUtil: ColumnUtil, columnSetFactory: ColumnSetFactory, itemType: ItemTypeType);
|
|
26
|
-
groupColumnInfo(columnInfo: ColumnInfo): void;
|
|
27
|
-
toJSON(): {
|
|
28
|
-
main: any[];
|
|
29
|
-
derived: any[];
|
|
30
|
-
};
|
|
31
|
-
isSupersetOf(columnsToCompare: ApiRequestColumns): boolean;
|
|
32
|
-
private getMergedColumnSet;
|
|
33
|
-
mergeRequestColumns(requestColumns: ApiRequestColumns): RequestColumnMergeResult;
|
|
34
|
-
mergeResponseColumns(responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
|
|
35
|
-
merge(columnSet: ColumnSet<ItemTypeType>): ColumnSet<ItemTypeType>;
|
|
36
|
-
expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnItemTypeMap): ColumnExpansionResult<ItemTypeType>;
|
|
37
|
-
}
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnSetFactory, ColumnUtil, RequestColumnMergeResult, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
+
export declare class ColumnSet<ItemTypeType extends ApiEnumItemType = any> {
|
|
4
|
+
private columnUtil;
|
|
5
|
+
private columnSetFactory;
|
|
6
|
+
itemType: ItemTypeType;
|
|
7
|
+
id: number;
|
|
8
|
+
request: ApiRequestColumns;
|
|
9
|
+
requestColumnsTrue: boolean;
|
|
10
|
+
response: ResponseColumnItemTypeMap;
|
|
11
|
+
link: ColumnInfo<ItemTypeType> | null;
|
|
12
|
+
main: Array<ColumnInfo<ItemTypeType>>;
|
|
13
|
+
derived: Array<ColumnInfo<ItemTypeType>>;
|
|
14
|
+
root: Array<ColumnInfo<ItemTypeType>>;
|
|
15
|
+
leaf: Array<ColumnInfo<ItemTypeType>>;
|
|
16
|
+
formatted: {
|
|
17
|
+
main: Array<ColumnInfo<ItemTypeType>>;
|
|
18
|
+
derived: Array<ColumnInfo<ItemTypeType>>;
|
|
19
|
+
};
|
|
20
|
+
filtered: Array<ColumnInfo<ItemTypeType>>;
|
|
21
|
+
custom: Array<ColumnInfo<ItemTypeType>>;
|
|
22
|
+
searchable: Array<ColumnInfo<ItemTypeType>>;
|
|
23
|
+
item: Array<ColumnInfo<ItemTypeType>>;
|
|
24
|
+
notItem: Array<ColumnInfo<ItemTypeType>>;
|
|
25
|
+
constructor(columnUtil: ColumnUtil, columnSetFactory: ColumnSetFactory, itemType: ItemTypeType);
|
|
26
|
+
groupColumnInfo(columnInfo: ColumnInfo): void;
|
|
27
|
+
toJSON(): {
|
|
28
|
+
main: any[];
|
|
29
|
+
derived: any[];
|
|
30
|
+
};
|
|
31
|
+
isSupersetOf(columnsToCompare: ApiRequestColumns): boolean;
|
|
32
|
+
private getMergedColumnSet;
|
|
33
|
+
mergeRequestColumns(requestColumns: ApiRequestColumns): RequestColumnMergeResult;
|
|
34
|
+
mergeResponseColumns(responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
|
|
35
|
+
merge(columnSet: ColumnSet<ItemTypeType>): ColumnSet<ItemTypeType>;
|
|
36
|
+
expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnItemTypeMap): ColumnExpansionResult<ItemTypeType>;
|
|
37
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumn, ApiRequestColumns, ColumnCache, ColumnSet, ColumnUtil } from '../internal';
|
|
3
|
-
export declare class ColumnSubsetCache<ItemTypeType extends ApiEnumItemType> {
|
|
4
|
-
private columnUtil;
|
|
5
|
-
private columnCache;
|
|
6
|
-
itemType: ItemTypeType;
|
|
7
|
-
requestColumns: ApiRequestColumns;
|
|
8
|
-
aggregateColumns: ApiRequestColumn[];
|
|
9
|
-
private cache;
|
|
10
|
-
constructor(columnUtil: ColumnUtil, columnCache: ColumnCache, itemType: ItemTypeType, requestColumns: ApiRequestColumns);
|
|
11
|
-
run(columnSet: ColumnSet<ItemTypeType>): boolean;
|
|
12
|
-
runWithRequestColumns(cachedRequestColumns: ApiRequestColumns): boolean;
|
|
13
|
-
private extractAggregateColumns;
|
|
14
|
-
}
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumn, ApiRequestColumns, ColumnCache, ColumnSet, ColumnUtil } from '../internal';
|
|
3
|
+
export declare class ColumnSubsetCache<ItemTypeType extends ApiEnumItemType> {
|
|
4
|
+
private columnUtil;
|
|
5
|
+
private columnCache;
|
|
6
|
+
itemType: ItemTypeType;
|
|
7
|
+
requestColumns: ApiRequestColumns;
|
|
8
|
+
aggregateColumns: ApiRequestColumn[];
|
|
9
|
+
private cache;
|
|
10
|
+
constructor(columnUtil: ColumnUtil, columnCache: ColumnCache, itemType: ItemTypeType, requestColumns: ApiRequestColumns);
|
|
11
|
+
run(columnSet: ColumnSet<ItemTypeType>): boolean;
|
|
12
|
+
runWithRequestColumns(cachedRequestColumns: ApiRequestColumns): boolean;
|
|
13
|
+
private extractAggregateColumns;
|
|
14
|
+
}
|