@rentman/rm-core 11.0.4 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +15 -0
- package/dist/rm-core.js +1902 -1798
- package/dist/rm-core.min.js +1 -1
- package/dist/types/src/FieldLookupProxy.d.ts +4 -0
- package/dist/types/src/classes/ApiFormatter.d.ts +1 -4
- package/dist/types/src/classes/BusinessLogicManager/BusinessLogicRule.d.ts +8 -9
- package/dist/types/src/classes/BusinessLogicManager/Customfield/CustomFieldTypeBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Documents/DocumentTemplateBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Exemplaar/ExemplaarAanschafdatumBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurBetalingsconditieBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurDatumBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurNumberseriesBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Functie/FunctieNaaminternBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Functie/FunctieTwowayBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalTypeBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalVerhuurBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Materiaal/SurfaceArticleSizeBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/OfferteContract/OfferteContractDatumBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/PlanningPersoneelTransport/PlanningPersoneelTransportBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Project/ProjectClientNoteBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Reparatie/ReparatieExemplaarBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolDocumentAccessBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolEditOwnDataBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolFileAccessBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolPersoneelsplannerToegangBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolProjectenBewerkenBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolProjectenToegangBusinessLogicRule.d.ts +1 -2
- package/dist/types/src/classes/CacheSyncer.d.ts +3 -2
- package/dist/types/src/classes/ChangesDelta.d.ts +3 -3
- package/dist/types/src/classes/ChangesDeltaBase.d.ts +20 -15
- package/dist/types/src/classes/ColumnUtil.d.ts +14 -14
- package/dist/types/src/classes/InternalChangesDelta.d.ts +5 -5
- package/dist/types/src/classes/QueryMatcher.d.ts +8 -7
- package/dist/types/src/classes/RequestBuffer.d.ts +2 -2
- package/dist/types/src/classes/RequestBufferManager.d.ts +2 -2
- package/dist/types/src/classes/RequestColumnExpansion.d.ts +6 -8
- package/dist/types/src/classes/RequestColumnsOperationsCache.d.ts +46 -0
- package/dist/types/src/classes/TemplateCache.d.ts +2 -2
- package/dist/types/src/classes/cache/AbstractCache.d.ts +2 -3
- package/dist/types/src/classes/cache/CachedQueryHandlerBase.d.ts +18 -17
- package/dist/types/src/classes/cache/ItemHandlerBase.d.ts +7 -8
- package/dist/types/src/classes/cache/server/ServerCache.d.ts +2 -3
- package/dist/types/src/classes/cache/server/ServerCachedQueryHandler.d.ts +10 -9
- package/dist/types/src/classes/cache/server/ServerItemHandler.d.ts +3 -7
- package/dist/types/src/classes/cache/transaction/TransactionCache.d.ts +3 -11
- package/dist/types/src/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +17 -6
- package/dist/types/src/classes/cache/transaction/TransactionItemHandler.d.ts +5 -15
- package/dist/types/src/core.d.ts +2 -2
- package/dist/types/src/factories/CacheSyncerFactory.d.ts +5 -1
- package/dist/types/src/factories/QueryMatcherFactory.d.ts +4 -3
- package/dist/types/src/factories/RequestColumnExpansionFactory.d.ts +1 -3
- package/dist/types/src/factories/RequestColumnsOperationsCacheFactory.d.ts +8 -0
- package/dist/types/src/interfaces/AbstractCacheDependencyInterface.d.ts +3 -3
- package/dist/types/src/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +7 -7
- package/dist/types/src/interfaces/TransactionItemHandlerDependencyInterface.d.ts +3 -3
- package/dist/types/src/internal.d.ts +2 -2
- package/dist/types/src/models/CachedQueryItem.d.ts +3 -3
- package/dist/types/src/models/CollectionOptions.d.ts +2 -2
- package/dist/types/src/models/CollectionResource.d.ts +2 -2
- package/dist/types/src/types/ItemTypesCollection.d.ts +19 -6
- package/dist/types/tests/integration/helpers/helpers.d.ts +1 -0
- package/dist/types/tests/integration/transactions/field_lookup.test.d.ts +1 -0
- package/package.json +1 -1
- package/dist/types/src/classes/ColumnSubsetCache.d.ts +0 -14
- package/dist/types/src/factories/ColumnSubsetCacheFactory.d.ts +0 -8
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ApiQuery, ApiRequestColumns, ChangesDelta, ChangesDeltaBase, ChangesDeltaItemCreateDelta, ChangesDeltaItemUpdateDelta, ChangesDeltaResult,
|
|
3
|
-
export interface TransactionItemEntryChanges<ItemTypeType extends ApiEnumItemType> extends ItemEntryChanges<ItemTypeType> {
|
|
4
|
-
initial: FieldMap<ItemTypeType>;
|
|
5
|
-
}
|
|
6
|
-
export interface TransactionItemEntryChangesTuple<ItemTypeType extends ApiEnumItemType> extends ItemEntryChangesTuple<ItemTypeType> {
|
|
7
|
-
changes: TransactionItemEntryChanges<ItemTypeType>;
|
|
8
|
-
}
|
|
2
|
+
import { ApiQuery, ApiRequestColumns, ChangesDelta, ChangesDeltaBase, ChangesDeltaItemCreateDelta, ChangesDeltaItemUpdateDelta, ChangesDeltaResult, DeregFunction, FieldChangeCallback, ItemEntry, ItemEntryOptions, ItemHandlerBase, ItemIdConversionMap, ItemTypeMap, ModifyFieldsCallback, ProcessItemEntryChangesResult, PromiseInterface, RequestColumnsOperationsCache, ResponseColumnItemTypeMap, TransactionCache, TransactionItemHandlerDependencyInterface, TransactionValidator } from '../../../internal';
|
|
9
3
|
/**
|
|
10
4
|
* @description
|
|
11
5
|
* In a {@link TransactionCache Transaction} only local items can be stored, so all entries in {@link TransactionItemHandler.entries this.entries} are local
|
|
@@ -20,18 +14,14 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
20
14
|
* Can contain both local and non-local {@link ItemEntry itemEntries}
|
|
21
15
|
*/
|
|
22
16
|
deletedItems: ItemTypeMap<ItemEntry[]>;
|
|
23
|
-
itemChanges: {
|
|
24
|
-
[itemEntryId: string]: TransactionItemEntryChanges<any>;
|
|
25
|
-
};
|
|
26
17
|
fieldChangeCallbacks: {
|
|
27
18
|
[itemType: string]: {
|
|
28
19
|
[itemId: string]: FieldChangeCallback[];
|
|
29
20
|
};
|
|
30
21
|
};
|
|
31
22
|
constructor(dependencies: TransactionItemHandlerDependencyInterface, transaction: TransactionCache, validator?: TransactionValidator | undefined);
|
|
32
|
-
updateLocalItemIdReferences(itemType: ApiEnumItemType, oldItemId: ItemId, newItemId: ItemId
|
|
23
|
+
updateLocalItemIdReferences(itemType: ApiEnumItemType, oldItemId: ItemId, newItemId: ItemId): void;
|
|
33
24
|
registerFieldChangeCallback<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, callback: FieldChangeCallback<ItemTypeType>): DeregFunction;
|
|
34
|
-
copyTransactionItemEntryChanges<ItemTypeType extends ApiEnumItemType>(itemEntryChanges: TransactionItemEntryChanges<ItemTypeType>, entry: ItemEntry<ItemTypeType>): TransactionItemEntryChanges<ItemTypeType>;
|
|
35
25
|
createItemEntry(createTuple: ChangesDeltaItemCreateDelta): ItemEntry;
|
|
36
26
|
/**
|
|
37
27
|
* @description
|
|
@@ -72,8 +62,8 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
72
62
|
*/
|
|
73
63
|
fetchNewItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, isRoot?: boolean): PromiseInterface<ChangesDeltaResult>;
|
|
74
64
|
fetchItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>[]>;
|
|
75
|
-
fetchTitle(itemType:
|
|
76
|
-
resolveLocalItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntry: ItemEntry<ItemTypeType>,
|
|
65
|
+
fetchTitle<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId): PromiseInterface<string>;
|
|
66
|
+
resolveLocalItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntry: ItemEntry<ItemTypeType>, columnsOperationsCache: RequestColumnsOperationsCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
77
67
|
expandLocalItemEntries<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDeltaBase, itemType: ItemTypeType, itemEntries: ItemEntry<ItemTypeType>[], requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): PromiseInterface<ItemEntry<ItemTypeType>[]>;
|
|
78
68
|
/**
|
|
79
69
|
* @description
|
|
@@ -82,7 +72,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
82
72
|
* @remark
|
|
83
73
|
* Assumes the the ItemEntry with the given ItemType-ItemId is already cached
|
|
84
74
|
*/
|
|
85
|
-
fetchLocalItemEntryData<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId,
|
|
75
|
+
fetchLocalItemEntryData<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, columnsOperationsCache: RequestColumnsOperationsCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
86
76
|
fetchLocalItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>[]>;
|
|
87
77
|
private getColumnDifference;
|
|
88
78
|
private expandLocalItemEntry;
|
package/dist/types/src/core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiModuleFunctionLocalsGetLocals } from '@rentman/backend-types';
|
|
2
2
|
import { BusinessLogicManager } from './classes/BusinessLogicManager/BusinessLogicManager';
|
|
3
|
-
import { ApiFormatter, ApiRequestService, ApiRequestServiceInterface, ApiResponseProcessorFactory, AuthInterface, CacheSyncerFactory, ChangesCompilationFactory, ChangesDeltaFactory, ChangesProcessorFactory, CollectionEntryFactory, CollectionEntryService, CollectionResourceFactory, CollectionResourceService, ColumnCache, ColumnExpansionFactory, ColumnHandler, ColumnInfoFactory, ColumnSetFactory,
|
|
3
|
+
import { ApiFormatter, ApiRequestService, ApiRequestServiceInterface, ApiResponseProcessorFactory, AuthInterface, CacheSyncerFactory, ChangesCompilationFactory, ChangesDeltaFactory, ChangesProcessorFactory, CollectionEntryFactory, CollectionEntryService, CollectionResourceFactory, CollectionResourceService, ColumnCache, ColumnExpansionFactory, ColumnHandler, ColumnInfoFactory, ColumnSetFactory, ColumnUtil, ConversionMapService, CreateRequestFactory, ErrorHandlerInterface, ExceptionHandlerInterface, ItemCacheFactory, ItemCreateService, ItemEntryFactory, ItemEntryService, ItemResourceFactory, KeyService, LinkTreeServiceInterface, LockService, ModuleChangesCompilationFactory, PromiseLibraryInterface, QueryMatcherFactory, QueryParserFactory, QueryService, RequestColumnExpansionFactory, RequestColumnsOperationsCacheFactory, SocketMessageHandler, TemplateCache, TemplateFactory, TransactionCacheFactory } from './internal';
|
|
4
4
|
export declare class RmCore {
|
|
5
5
|
version: string;
|
|
6
6
|
noop: typeof noop;
|
|
@@ -20,7 +20,7 @@ export declare class RmCore {
|
|
|
20
20
|
columnHandler: ColumnHandler;
|
|
21
21
|
columnInfoFactory: ColumnInfoFactory;
|
|
22
22
|
columnSetFactory: ColumnSetFactory;
|
|
23
|
-
|
|
23
|
+
requestColumnOperationsCacheFactory: RequestColumnsOperationsCacheFactory;
|
|
24
24
|
columnUtil: ColumnUtil;
|
|
25
25
|
conversionMapService: ConversionMapService;
|
|
26
26
|
createRequestFactory: CreateRequestFactory;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { AbstractCache, ApiRequestService, CachedQueryItem, CacheSyncer, CacheSyncerQueryMap, PromiseLibraryInterface, QueryMatcherFactory, QueryService } from '../internal';
|
|
2
3
|
export declare class CacheSyncerFactory {
|
|
3
4
|
private queryMatcherFactory;
|
|
4
5
|
private queryService;
|
|
@@ -6,5 +7,8 @@ export declare class CacheSyncerFactory {
|
|
|
6
7
|
private promiseService;
|
|
7
8
|
constructor(queryMatcherFactory: QueryMatcherFactory, queryService: QueryService, apiRequestService: ApiRequestService, promiseService: PromiseLibraryInterface);
|
|
8
9
|
construct(transaction: AbstractCache, queryStringMap?: CacheSyncerQueryMap): CacheSyncer;
|
|
10
|
+
constructForItemType(transaction: AbstractCache, itemType: ApiEnumItemType): CacheSyncer;
|
|
11
|
+
constructForCachedQuery(transaction: AbstractCache, cachedQueryItem: CachedQueryItem): CacheSyncer;
|
|
9
12
|
private collectQueries;
|
|
13
|
+
private createCacheSyncerQueryMapEntry;
|
|
10
14
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiFormatter,
|
|
2
|
+
import { ApiFormatter, FieldMap, LinkTreeServiceInterface, QueryMatcher } from '../internal';
|
|
3
3
|
export declare class QueryMatcherFactory {
|
|
4
4
|
private apiFormatter;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
private linkTreeService;
|
|
6
|
+
constructor(apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface);
|
|
7
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, fields: FieldMap | [FieldMap, FieldMap]): QueryMatcher<ItemTypeType>;
|
|
7
8
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AbstractCache, ApiRequestColumnMap, ApiRequestColumns, ColumnUtil, RequestColumnExpansion } from '../internal';
|
|
1
|
+
import { ColumnUtil, RequestColumnExpansion } from '../internal';
|
|
3
2
|
export declare class RequestColumnExpansionFactory {
|
|
4
3
|
private columnUtil;
|
|
5
4
|
constructor(columnUtil: ColumnUtil);
|
|
6
5
|
construct(): RequestColumnExpansion;
|
|
7
|
-
expandColumnsWithCachedQueryColumns(transaction: AbstractCache, itemType: ApiEnumItemType, requestColumns?: ApiRequestColumns, requestColumnExpansion?: RequestColumnExpansion): ApiRequestColumnMap;
|
|
8
6
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ColumnCache, ColumnUtil, RequestColumnsOperationsCache } from '../internal';
|
|
3
|
+
export declare class RequestColumnsOperationsCacheFactory {
|
|
4
|
+
private columnUtil;
|
|
5
|
+
private columnCache;
|
|
6
|
+
constructor(columnUtil: ColumnUtil, columnCache: ColumnCache);
|
|
7
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, requestColumns: ApiRequestColumns): RequestColumnsOperationsCache<ItemTypeType>;
|
|
8
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BusinessLogicManager } from '../classes/BusinessLogicManager/BusinessLogicManager';
|
|
2
|
-
import { ApiFormatter, ApiRequestService, AuthInterface, CacheSyncerFactory, ChangesDeltaFactory, CollectionEntryFactory, CollectionEntryService, CollectionResourceFactory, ColumnCache, ColumnExpansionFactory, ColumnHandler, ColumnSetFactory,
|
|
2
|
+
import { ApiFormatter, ApiRequestService, AuthInterface, CacheSyncerFactory, ChangesDeltaFactory, CollectionEntryFactory, CollectionEntryService, CollectionResourceFactory, ColumnCache, ColumnExpansionFactory, ColumnHandler, ColumnSetFactory, ColumnUtil, ConversionMapService, ErrorHandlerInterface, ExceptionHandlerInterface, ItemCacheFactory, ItemCreateService, ItemEntryFactory, ItemEntryService, ItemResourceFactory, KeyService, LinkTreeServiceInterface, LockService, ModuleChangesCompilationFactory, PromiseLibraryInterface, QueryMatcherFactory, QueryParserFactory, QueryService, RequestBufferManager, RequestColumnExpansionFactory, RequestColumnsOperationsCacheFactory, TemplateCache } from '../internal';
|
|
3
3
|
export interface AbstractCacheDependencyInterface {
|
|
4
|
-
businessLogicManager: BusinessLogicManager;
|
|
5
4
|
apiFormatter: ApiFormatter;
|
|
6
5
|
apiRequestService: ApiRequestService;
|
|
7
6
|
authInterface: AuthInterface;
|
|
7
|
+
businessLogicManager: BusinessLogicManager;
|
|
8
8
|
changesDeltaFactory: ChangesDeltaFactory;
|
|
9
9
|
collectionEntryFactory: CollectionEntryFactory;
|
|
10
10
|
collectionEntryService: CollectionEntryService;
|
|
@@ -14,7 +14,6 @@ export interface AbstractCacheDependencyInterface {
|
|
|
14
14
|
columnExpansionFactory: ColumnExpansionFactory;
|
|
15
15
|
columnHandler: ColumnHandler;
|
|
16
16
|
columnSetFactory: ColumnSetFactory;
|
|
17
|
-
columnSubsetCacheFactory: ColumnSubsetCacheFactory;
|
|
18
17
|
columnUtil: ColumnUtil;
|
|
19
18
|
conversionMapService: ConversionMapService;
|
|
20
19
|
errorHandler: ErrorHandlerInterface;
|
|
@@ -34,5 +33,6 @@ export interface AbstractCacheDependencyInterface {
|
|
|
34
33
|
queryService: QueryService;
|
|
35
34
|
requestBufferManager: RequestBufferManager;
|
|
36
35
|
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
36
|
+
requestColumnsOperationsCacheFactory: RequestColumnsOperationsCacheFactory;
|
|
37
37
|
templateCache: TemplateCache;
|
|
38
38
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { CacheSyncerFactory, ChangesDeltaFactory, CollectionEntryService, ColumnCache, ColumnExpansionFactory, ColumnHandler,
|
|
1
|
+
import { CacheSyncerFactory, ChangesDeltaFactory, CollectionEntryService, ColumnCache, ColumnExpansionFactory, ColumnHandler, ColumnUtil, ErrorHandlerInterface, ExceptionHandlerInterface, KeyService, PromiseLibraryInterface, QueryService, RequestColumnExpansionFactory, RequestColumnsOperationsCacheFactory } from '../internal';
|
|
2
2
|
export interface TransactionCollectionHandlerDependencyInterface {
|
|
3
|
-
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
4
|
-
columnUtil: ColumnUtil;
|
|
5
|
-
columnSubsetCacheFactory: ColumnSubsetCacheFactory;
|
|
6
|
-
columnExpansionFactory: ColumnExpansionFactory;
|
|
7
3
|
changesDeltaFactory: ChangesDeltaFactory;
|
|
8
4
|
collectionEntryService: CollectionEntryService;
|
|
9
5
|
collectionMatcherFactory: CacheSyncerFactory;
|
|
6
|
+
columnCache: ColumnCache;
|
|
7
|
+
columnExpansionFactory: ColumnExpansionFactory;
|
|
10
8
|
columnHandler: ColumnHandler;
|
|
9
|
+
columnUtil: ColumnUtil;
|
|
11
10
|
errorHandler: ErrorHandlerInterface;
|
|
11
|
+
exceptionHandler: ExceptionHandlerInterface;
|
|
12
12
|
keyService: KeyService;
|
|
13
13
|
promiseService: PromiseLibraryInterface;
|
|
14
|
-
exceptionHandler: ExceptionHandlerInterface;
|
|
15
14
|
queryService: QueryService;
|
|
16
|
-
|
|
15
|
+
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
16
|
+
requestColumnsOperationsCacheFactory: RequestColumnsOperationsCacheFactory;
|
|
17
17
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ApiFormatter, ChangesDeltaFactory, CollectionEntryService, ColumnExpansionFactory, ColumnHandler, ColumnSetFactory,
|
|
1
|
+
import { ApiFormatter, ChangesDeltaFactory, CollectionEntryService, ColumnExpansionFactory, ColumnHandler, ColumnSetFactory, ColumnUtil, ConversionMapService, ErrorHandlerInterface, ExceptionHandlerInterface, ItemCacheFactory, ItemCreateService, ItemEntryFactory, ItemEntryService, KeyService, PromiseLibraryInterface, RequestColumnExpansionFactory, RequestColumnsOperationsCacheFactory, TemplateCache } from '../internal';
|
|
2
2
|
export interface TransactionItemHandlerDependencyInterface {
|
|
3
3
|
apiFormatter: ApiFormatter;
|
|
4
4
|
changesDeltaFactory: ChangesDeltaFactory;
|
|
5
|
+
collectionEntryService: CollectionEntryService;
|
|
5
6
|
columnExpansionFactory: ColumnExpansionFactory;
|
|
6
7
|
columnHandler: ColumnHandler;
|
|
7
8
|
columnSetFactory: ColumnSetFactory;
|
|
8
|
-
columnSubsetCacheFactory: ColumnSubsetCacheFactory;
|
|
9
9
|
columnUtil: ColumnUtil;
|
|
10
10
|
conversionMapService: ConversionMapService;
|
|
11
11
|
errorHandler: ErrorHandlerInterface;
|
|
@@ -17,6 +17,6 @@ export interface TransactionItemHandlerDependencyInterface {
|
|
|
17
17
|
keyService: KeyService;
|
|
18
18
|
promiseService: PromiseLibraryInterface;
|
|
19
19
|
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
20
|
+
requestColumnsOperationsCacheFactory: RequestColumnsOperationsCacheFactory;
|
|
20
21
|
templateCache: TemplateCache;
|
|
21
|
-
collectionEntryService: CollectionEntryService;
|
|
22
22
|
}
|
|
@@ -34,7 +34,7 @@ export * from './classes/ColumnExpansion';
|
|
|
34
34
|
export * from './classes/ColumnHandler';
|
|
35
35
|
export * from './classes/ColumnInfo';
|
|
36
36
|
export * from './classes/ColumnSet';
|
|
37
|
-
export * from './classes/
|
|
37
|
+
export * from './classes/RequestColumnsOperationsCache';
|
|
38
38
|
export * from './classes/ColumnUtil';
|
|
39
39
|
export * from './classes/ConversionMapService';
|
|
40
40
|
export * from './classes/CreateRequest';
|
|
@@ -108,7 +108,7 @@ export * from './factories/CollectionResourceFactory';
|
|
|
108
108
|
export * from './factories/ColumnExpansionFactory';
|
|
109
109
|
export * from './factories/ColumnInfoFactory';
|
|
110
110
|
export * from './factories/ColumnSetFactory';
|
|
111
|
-
export * from './factories/
|
|
111
|
+
export * from './factories/RequestColumnsOperationsCacheFactory';
|
|
112
112
|
export * from './factories/CreateRequestFactory';
|
|
113
113
|
export * from './factories/ItemCacheFactory';
|
|
114
114
|
export * from './factories/ItemEntryFactory';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import {
|
|
2
|
+
import { CollectionQuery, ItemEntry, PromiseInterface, PromiseLibraryInterface, RequestColumnsTuple } from '../internal';
|
|
3
3
|
export declare class CachedQueryItem<ItemTypeType extends ApiEnumItemType = any> {
|
|
4
4
|
readonly itemType: ItemTypeType;
|
|
5
5
|
query: CollectionQuery;
|
|
6
6
|
items: ItemEntry<ItemTypeType>[];
|
|
7
|
-
|
|
7
|
+
requestColumnsTuple: RequestColumnsTuple;
|
|
8
8
|
private promiseService;
|
|
9
9
|
promise: PromiseInterface<this>;
|
|
10
10
|
/**
|
|
@@ -29,7 +29,7 @@ export declare class CachedQueryItem<ItemTypeType extends ApiEnumItemType = any>
|
|
|
29
29
|
get matches(): number;
|
|
30
30
|
creation: Date;
|
|
31
31
|
private deferred;
|
|
32
|
-
constructor(itemType: ItemTypeType, query: CollectionQuery, items: ItemEntry<ItemTypeType>[],
|
|
32
|
+
constructor(itemType: ItemTypeType, query: CollectionQuery, items: ItemEntry<ItemTypeType>[], requestColumnsTuple: RequestColumnsTuple, promiseService: PromiseLibraryInterface);
|
|
33
33
|
itemsResolved(): boolean;
|
|
34
34
|
/**
|
|
35
35
|
* Resolve can be called on items that are already resolved. The request buffer might or might not combine
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiQuery, ApiRequestColumns, ApiRequestLimit, ChildCollectionResourcesNull, CollectionResource, EntryParentNull, FieldChangeCallback, ItemResource, ItemTypeColumnIds } from '../internal';
|
|
3
|
-
export declare type CollectionResourceOnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> = (
|
|
2
|
+
import { ApiQuery, ApiRequestColumns, ApiRequestLimit, ChildCollectionResourcesNull, CollectionResource, EntryParentNull, FieldChangeCallback, ItemEntry, ItemResource, ItemTypeColumnIds } from '../internal';
|
|
3
|
+
export declare type CollectionResourceOnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> = (itemEntries: ItemEntry<ItemTypeType>[], collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>, isCalledAfterSocketUpdate: boolean) => void;
|
|
4
4
|
export declare type CollectionResourceOnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> = (itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
|
|
5
5
|
export declare type ChildCollectionOptions = {
|
|
6
6
|
[ChildItemType in ApiEnumItemType]?: CollectionOptions<ChildItemType>;
|
|
@@ -52,10 +52,10 @@ export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = a
|
|
|
52
52
|
* Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
|
|
53
53
|
* Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
|
|
54
54
|
*/
|
|
55
|
-
removeItemResources(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean):
|
|
55
|
+
removeItemResources(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean): ItemEntry<ItemTypeType>[];
|
|
56
56
|
callOnAdd(itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
|
|
57
57
|
callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<FieldMap<ItemTypeType, ColumnIds>>, fields: FieldMap<ItemTypeType, ColumnIds>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType, ColumnIds>): void;
|
|
58
|
-
callOnRemove(
|
|
58
|
+
callOnRemove(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean): void;
|
|
59
59
|
forEach(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => void): void;
|
|
60
60
|
filter(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children>[];
|
|
61
61
|
first(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children> | null;
|
|
@@ -250,9 +250,22 @@ export declare type ApiRequestItemMap = {
|
|
|
250
250
|
};
|
|
251
251
|
};
|
|
252
252
|
export declare type ApiRequestColumn = string | {
|
|
253
|
-
[columnId: string]:
|
|
253
|
+
readonly [columnId: string]: ApiRequestColumnArray;
|
|
254
|
+
};
|
|
255
|
+
export declare type ApiRequestColumnArray = readonly ApiRequestColumn[];
|
|
256
|
+
export declare type ApiRequestColumns = ApiRequestColumnArray | true;
|
|
257
|
+
export declare type MutableApiRequestColumnArray = ApiRequestColumn[];
|
|
258
|
+
/**
|
|
259
|
+
* Both the array and string representation are read-only, because whenever the object changes, the string representation
|
|
260
|
+
* should change too.
|
|
261
|
+
*/
|
|
262
|
+
export declare type RequestColumnsTuple = {
|
|
263
|
+
readonly object: true;
|
|
264
|
+
readonly string: 'true';
|
|
265
|
+
} | {
|
|
266
|
+
readonly object: ApiRequestColumns;
|
|
267
|
+
readonly string: string;
|
|
254
268
|
};
|
|
255
|
-
export declare type ApiRequestColumns = ApiRequestColumn[] | true;
|
|
256
269
|
export declare type ApiRequestColumnMap = {
|
|
257
270
|
[itemType: string]: ApiRequestColumns;
|
|
258
271
|
};
|
|
@@ -285,11 +298,11 @@ export declare enum ApiLinkTreeType {
|
|
|
285
298
|
export declare type ApiLinkTreeEntryItemTable = {
|
|
286
299
|
type: ApiLinkTreeType.ITEMTABLE;
|
|
287
300
|
};
|
|
288
|
-
export declare type ApiLinkTreeEntryDirect = {
|
|
301
|
+
export declare type ApiLinkTreeEntryDirect<ItemTypeType extends ApiEnumItemType = any> = {
|
|
289
302
|
type: ApiLinkTreeType.DIRECT;
|
|
290
|
-
field:
|
|
303
|
+
field: ItemTypeColumnId<ItemTypeType>;
|
|
291
304
|
};
|
|
292
|
-
export declare type ApiLinkTreeEntry = ApiLinkTreeEntryItemTable | ApiLinkTreeEntryDirect
|
|
305
|
+
export declare type ApiLinkTreeEntry<ItemTypeType extends ApiEnumItemType = any> = ApiLinkTreeEntryItemTable | ApiLinkTreeEntryDirect<ItemTypeType>;
|
|
293
306
|
export declare type ApiLinkTree = {
|
|
294
307
|
[itemType: string]: {
|
|
295
308
|
[childType: string]: ApiLinkTreeEntry;
|
|
@@ -324,7 +337,7 @@ export declare type OnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnId
|
|
|
324
337
|
isCalledAfterSocketUpdate: boolean;
|
|
325
338
|
}) => void;
|
|
326
339
|
export declare type OnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull> = (args: {
|
|
327
|
-
|
|
340
|
+
itemEntries: ItemEntry<ItemTypeType>[];
|
|
328
341
|
collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>;
|
|
329
342
|
isCalledAfterSocketUpdate: boolean;
|
|
330
343
|
}) => void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ApiRequestServiceInterface, AuthInterface, ErrorHandlerInterface, LinkTreeServiceInterface, RmCore } from '../../../src';
|
|
2
2
|
import { ApiMocked } from '../../mocks/ApiMocked';
|
|
3
|
+
export declare function sleep(time: number): Promise<unknown>;
|
|
3
4
|
export declare const defaultMockAuthInterface: {
|
|
4
5
|
getUserId: () => number;
|
|
5
6
|
getUniqueUserId(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
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,8 +0,0 @@
|
|
|
1
|
-
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ColumnCache, ColumnSubsetCache, ColumnUtil } from '../internal';
|
|
3
|
-
export declare class ColumnSubsetCacheFactory {
|
|
4
|
-
private columnUtil;
|
|
5
|
-
private columnCache;
|
|
6
|
-
constructor(columnUtil: ColumnUtil, columnCache: ColumnCache);
|
|
7
|
-
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, requestColumns: ApiRequestColumns): ColumnSubsetCache<ItemTypeType>;
|
|
8
|
-
}
|