@rentman/rm-core 8.2.11 → 9.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.
- package/changelog.md +7 -0
- package/dist/rm-core.js +75 -79
- package/dist/rm-core.min.js +1 -1
- package/dist/types/classes/ChangesDeltaBase.d.ts +3 -6
- package/dist/types/classes/InternalChangesDelta.d.ts +4 -8
- package/dist/types/classes/cache/AbstractCache.d.ts +4 -14
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +9 -2
- package/dist/types/classes/cache/server/ServerCache.d.ts +3 -7
- package/dist/types/classes/cache/server/ServerItemHandler.d.ts +3 -4
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +3 -7
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +9 -7
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChanges } from '../internal';
|
|
2
|
+
import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChanges, TransactionItemEntryChangesTuple } from '../internal';
|
|
3
3
|
export declare type ChangesDeltaResult = {
|
|
4
4
|
itemIdConversionMap: ItemIdConversionMap;
|
|
5
5
|
created: ItemEntry[];
|
|
@@ -36,10 +36,7 @@ export declare abstract class ChangesDeltaBase {
|
|
|
36
36
|
* Only contains remote items, when rolling back local items the whole entries are deleted.
|
|
37
37
|
*/
|
|
38
38
|
restored: {
|
|
39
|
-
[itemEntryId: number]:
|
|
40
|
-
entry: ItemEntry;
|
|
41
|
-
changes: TransactionItemEntryChanges;
|
|
42
|
-
};
|
|
39
|
+
[itemEntryId: number]: TransactionItemEntryChangesTuple<any>;
|
|
43
40
|
};
|
|
44
41
|
/**
|
|
45
42
|
* @private
|
|
@@ -71,6 +68,6 @@ export declare abstract class ChangesDeltaBase {
|
|
|
71
68
|
*/
|
|
72
69
|
_setQueryResult(itemType: ApiEnumItemType, queryString: string, itemIds: ItemId[]): void;
|
|
73
70
|
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
|
|
71
|
+
setItemRestored<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, transactionItemEntryChanges: TransactionItemEntryChanges<ItemTypeType>): void;
|
|
75
72
|
isEmpty(): boolean;
|
|
76
73
|
}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ChangesDeltaBase, EntryParent, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap,
|
|
2
|
+
import { ChangesDeltaBase, EntryParent, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChangesTuple } from '../internal';
|
|
3
3
|
export declare type InternalCreateDelta<ItemTypeType extends ApiEnumItemType = any> = {
|
|
4
4
|
entry: ItemEntry<ItemTypeType>;
|
|
5
5
|
fields: FieldMap<ItemTypeType>;
|
|
6
6
|
};
|
|
7
|
-
export declare type InternalChangesDeltaItemDeleteDelta = {
|
|
8
|
-
entry: ItemEntry;
|
|
9
|
-
changes: TransactionItemEntryChanges;
|
|
10
|
-
};
|
|
11
7
|
/**
|
|
12
8
|
* @description
|
|
13
9
|
* ChangesDelta used internally by the core
|
|
@@ -24,7 +20,7 @@ export declare class InternalChangesDelta extends ChangesDeltaBase {
|
|
|
24
20
|
[itemEntryId: string]: InternalCreateDelta;
|
|
25
21
|
};
|
|
26
22
|
deleted: {
|
|
27
|
-
[itemType: string]:
|
|
23
|
+
[itemType: string]: TransactionItemEntryChangesTuple<any>[];
|
|
28
24
|
};
|
|
29
25
|
moved: {
|
|
30
26
|
[itemEntryId: number]: {
|
|
@@ -34,8 +30,8 @@ export declare class InternalChangesDelta extends ChangesDeltaBase {
|
|
|
34
30
|
};
|
|
35
31
|
itemIdConversionMap: ItemIdConversionMap;
|
|
36
32
|
constructor(itemEntryService: ItemEntryService);
|
|
37
|
-
setItemDeleted(tuple:
|
|
38
|
-
setItemsDeleted(deleted:
|
|
33
|
+
setItemDeleted(tuple: TransactionItemEntryChangesTuple<any>): this;
|
|
34
|
+
setItemsDeleted(deleted: TransactionItemEntryChangesTuple<any>[]): this;
|
|
39
35
|
private itemIsDeleted;
|
|
40
36
|
setItemCreated<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>): void;
|
|
41
37
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
2
|
import { RmCore } from '../../core';
|
|
3
|
-
import { AbstractCacheDependencyInterface, ApiRequestColumn, CachedQueryItem, ChangesDelta, ChangesDeltaBase, ChangesDeltaResult, CollectionQuery, CollectionResourceParentIdMap, EntryParentNull, FieldMap, InternalChangesDelta, ItemCache, ItemEntry, ItemHandlerBase, ItemIdConversionMap, OnAfterCreateCallback, ParentChangesDelta, PromiseInterface, ServerCache, ServerCachedQueryHandler,
|
|
3
|
+
import { AbstractCacheDependencyInterface, ApiRequestColumn, CachedQueryItem, ChangesDelta, ChangesDeltaBase, ChangesDeltaResult, CollectionQuery, CollectionResourceParentIdMap, EntryParentNull, FieldMap, InternalChangesDelta, ItemCache, ItemEntry, ItemEntryChangesTuple, ItemHandlerBase, ItemIdConversionMap, OnAfterCreateCallback, ParentChangesDelta, PromiseInterface, ServerCache, ServerCachedQueryHandler, TransactionCache, TransactionCachedQueryHandler, TransactionValidatorFactory } from '../../internal';
|
|
4
4
|
export declare type TransactionOptions = {
|
|
5
5
|
/**
|
|
6
6
|
* @description
|
|
@@ -61,20 +61,10 @@ export declare abstract class AbstractCache {
|
|
|
61
61
|
*/
|
|
62
62
|
abstract applyChangesFromParent(parentChangesDelta: ParentChangesDelta, isCalledAfterSocketUpdate: boolean): void;
|
|
63
63
|
abstract getParent<ItemTypeType extends ApiEnumItemType = any>(itemEntry: ItemEntry<ItemTypeType>, fromInitial?: boolean, providedFields?: FieldMap<ItemTypeType>): EntryParentNull;
|
|
64
|
-
abstract getItemChangesRecursively(itemEntryId: ItemEntry['id'], copyFields?: boolean): FieldMap
|
|
65
|
-
abstract getLocalItemEntryChangesTuple(itemEntryId: ItemEntry['id']):
|
|
66
|
-
/**
|
|
67
|
-
* @description
|
|
68
|
-
* Because the `itemChanges` object differs between the {@link ServerItemHandler.itemChanges ServerItemHandler} and the {@link TransactionItemHandler.itemChanges TransactionItemHandler} we need a function to normalise those values
|
|
69
|
-
*
|
|
70
|
-
* @remarks
|
|
71
|
-
* - Should only be used by the core
|
|
72
|
-
*
|
|
73
|
-
* @internal
|
|
74
|
-
*/
|
|
75
|
-
abstract getChangesFromItemChanges<ItemTypeType extends ApiEnumItemType = any>(changesObject: ServerItemEntryChanges<ItemTypeType> | TransactionItemEntryChanges<FieldMap<ItemTypeType>>): FieldMap<ItemTypeType>;
|
|
64
|
+
abstract getItemChangesRecursively<ItemTypeType extends ApiEnumItemType>(itemEntryId: ItemEntry<ItemTypeType>['id'], copyFields?: boolean): FieldMap<ItemTypeType>;
|
|
65
|
+
abstract getLocalItemEntryChangesTuple<ItemTypeType extends ApiEnumItemType>(itemEntryId: ItemEntry<ItemTypeType>['id']): ItemEntryChangesTuple<ItemTypeType>;
|
|
76
66
|
abstract applyChangesDelta(changesDelta: ChangesDelta): PromiseInterface<ChangesDeltaResult>;
|
|
77
|
-
protected getParentFromFields<ItemTypeType extends ApiEnumItemType = any>(itemEntry: ItemEntry<ItemTypeType>, fields
|
|
67
|
+
protected getParentFromFields<ItemTypeType extends ApiEnumItemType = any>(itemEntry: ItemEntry<ItemTypeType>, fields?: FieldMap<ItemTypeType>): EntryParentNull;
|
|
78
68
|
/**
|
|
79
69
|
* @description
|
|
80
70
|
* Called by applyChangesDelta from ServerCache and TransactionCache. Applies creates, updates and moves, doesn't apply deletes
|
|
@@ -5,6 +5,13 @@ export declare enum ItemCacheStatus {
|
|
|
5
5
|
NOT_CACHED = "not_cached",
|
|
6
6
|
NO_CHANGES = "no_changes"
|
|
7
7
|
}
|
|
8
|
+
export interface ItemEntryChanges<ItemTypeType extends ApiEnumItemType> {
|
|
9
|
+
fields: FieldMap<ItemTypeType>;
|
|
10
|
+
}
|
|
11
|
+
export interface ItemEntryChangesTuple<ItemTypeType extends ApiEnumItemType> {
|
|
12
|
+
entry: ItemEntry<ItemTypeType>;
|
|
13
|
+
changes: ItemEntryChanges<ItemTypeType>;
|
|
14
|
+
}
|
|
8
15
|
export declare type ProcessItemEntryChangesResult<ItemTypeType extends ApiEnumItemType> = {
|
|
9
16
|
status: ItemCacheStatus.NO_CHANGES | ItemCacheStatus.NOT_CACHED;
|
|
10
17
|
previous: null;
|
|
@@ -22,7 +29,7 @@ export declare abstract class ItemHandlerBase {
|
|
|
22
29
|
protected transaction: AbstractCache;
|
|
23
30
|
readonly entries: ItemCache;
|
|
24
31
|
abstract itemChanges: {
|
|
25
|
-
[itemEntryId:
|
|
32
|
+
[itemEntryId: number]: ItemEntryChanges<any>;
|
|
26
33
|
};
|
|
27
34
|
protected constructor(columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, promiseService: PromiseLibraryInterface, errorHandler: ErrorHandlerInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, itemCacheFactory: ItemCacheFactory, transaction: AbstractCache);
|
|
28
35
|
/**
|
|
@@ -31,7 +38,7 @@ export declare abstract class ItemHandlerBase {
|
|
|
31
38
|
* @param itemEntryChanges
|
|
32
39
|
* @param entry
|
|
33
40
|
*/
|
|
34
|
-
abstract copyTransactionItemEntryChanges(itemEntryChanges: TransactionItemEntryChanges
|
|
41
|
+
abstract copyTransactionItemEntryChanges<ItemTypeType extends ApiEnumItemType>(itemEntryChanges: TransactionItemEntryChanges<ItemTypeType>, entry: ItemEntry<ItemTypeType>): ItemEntryChanges<ItemTypeType>;
|
|
35
42
|
/**
|
|
36
43
|
* @description
|
|
37
44
|
* Fetches the ItemEntries for the given query, does not look in the cache, since we don't know which ItemIds belong to the query !
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { AbstractCache, ApiRequestColumn, ApiRequestColumnMap, ApiResponseProcessor, CachedQueryItem, ChangesDelta, ChangesDeltaResult, CollectionQuery, CollectionResourceParentIdMap, EntryParent, EntryParentNull, FieldMap, ItemEntry, ItemIdConversionMap, ItemTypeMap, OnAfterCreateCallback, ParentChangesDelta, PromiseInterface, RmCore, ServerCacheDependencyInterface, ServerCachedQueryHandler,
|
|
2
|
+
import { AbstractCache, ApiRequestColumn, ApiRequestColumnMap, ApiResponseProcessor, CachedQueryItem, ChangesDelta, ChangesDeltaResult, CollectionQuery, CollectionResourceParentIdMap, EntryParent, EntryParentNull, FieldMap, ItemEntry, ItemEntryChangesTuple, ItemIdConversionMap, ItemTypeMap, OnAfterCreateCallback, ParentChangesDelta, PromiseInterface, RmCore, ServerCacheDependencyInterface, ServerCachedQueryHandler, ServerItemHandler, TransactionCache, TransactionOptions, TransactionValidatorFactory } from '../../../internal';
|
|
3
3
|
/**
|
|
4
4
|
* @description
|
|
5
5
|
* The {@link ServerCache ServerCache} is responsible for keeping track of {@link ItemEntry ItemEntries} and {@link CollectionEntry CollectionEntries}
|
|
@@ -49,15 +49,12 @@ export declare class ServerCache extends AbstractCache {
|
|
|
49
49
|
* Use {@link CollectionResource.getParent CollectionResource.getParent} instead of {@link TransactionCache.getParent TransactionCache.getParent} if you're getting the parent in the onRemove callback
|
|
50
50
|
*/
|
|
51
51
|
getParent<ItemTypeType extends ApiEnumItemType = any>(itemEntry: ItemEntry<ItemTypeType>, _fromInitial?: boolean, _providedFields?: FieldMap<ItemTypeType>): EntryParentNull;
|
|
52
|
-
getItemChangesRecursively(itemEntryId: ItemEntry['id'], copyFields?: boolean): FieldMap
|
|
52
|
+
getItemChangesRecursively<ItemTypeType extends ApiEnumItemType>(itemEntryId: ItemEntry<ItemTypeType>['id'], copyFields?: boolean): FieldMap<ItemTypeType>;
|
|
53
53
|
/**
|
|
54
54
|
* @description
|
|
55
55
|
* Only takes the local changes into account, used for saving
|
|
56
56
|
*/
|
|
57
|
-
getLocalItemEntryChangesTuple(itemEntryId: ItemEntry['id']):
|
|
58
|
-
entry: ItemEntry;
|
|
59
|
-
changes: ServerItemEntryChanges;
|
|
60
|
-
};
|
|
57
|
+
getLocalItemEntryChangesTuple<ItemTypeType extends ApiEnumItemType>(itemEntryId: ItemEntry<ItemTypeType>['id']): ItemEntryChangesTuple<ItemTypeType>;
|
|
61
58
|
getCollectionChangesRecursively<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, parsedQuery: CollectionQuery): CachedQueryItem<ItemTypeType> | undefined;
|
|
62
59
|
/**
|
|
63
60
|
* @description
|
|
@@ -78,5 +75,4 @@ export declare class ServerCache extends AbstractCache {
|
|
|
78
75
|
applyChangesDelta(changesDelta: ChangesDelta, isCalledAfterSocketUpdate?: boolean, conversionMap?: ItemIdConversionMap): PromiseInterface<ChangesDeltaResult>;
|
|
79
76
|
getLocalItemEntry(itemEntryId: ItemEntry['id']): ItemEntry | undefined;
|
|
80
77
|
getLocalItemEntryByItemId(itemType: ApiEnumItemType, itemId: ItemEntry['itemId']): ItemEntry | undefined;
|
|
81
|
-
getChangesFromItemChanges<ItemTypeType extends ApiEnumItemType = any>(changesObject: ServerItemEntryChanges<ItemTypeType>): FieldMap<ItemTypeType>;
|
|
82
78
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ApiFormatter, ApiQuery, ApiRequestColumns, ApiResponseProcessor, ChangesDelta, ChangesDeltaItemCreateDelta, ChangesDeltaItemUpdateDelta, ColumnExpansion, ColumnSet, ColumnSubsetCacheFactory, ColumnUtil, ErrorHandlerInterface,
|
|
3
|
-
export declare type ServerItemEntryChanges<ItemTypeType extends ApiEnumItemType = any> = FieldMap<ItemTypeType>;
|
|
2
|
+
import { ApiFormatter, ApiQuery, ApiRequestColumns, ApiResponseProcessor, ChangesDelta, ChangesDeltaItemCreateDelta, ChangesDeltaItemUpdateDelta, ColumnExpansion, ColumnSet, ColumnSubsetCacheFactory, ColumnUtil, ErrorHandlerInterface, ItemCacheFactory, ItemEntry, ItemEntryChanges, ItemEntryFactory, ItemEntryOptions, ItemHandlerBase, ProcessItemEntryChangesResult, PromiseInterface, PromiseLibraryInterface, QueryParserFactory, QueryService, RequestBufferManager, RequestBufferResponse, RequestColumnExpansionFactory, ServerCache, TransactionItemEntryChanges } from '../../../internal';
|
|
4
3
|
export declare class ServerItemHandler extends ItemHandlerBase {
|
|
5
4
|
private requestBufferManager;
|
|
6
5
|
private queryParserFactory;
|
|
@@ -8,7 +7,7 @@ export declare class ServerItemHandler extends ItemHandlerBase {
|
|
|
8
7
|
private columnSubsetCacheFactory;
|
|
9
8
|
protected transaction: ServerCache;
|
|
10
9
|
itemChanges: {
|
|
11
|
-
[itemEntryId: number]:
|
|
10
|
+
[itemEntryId: number]: ItemEntryChanges<any>;
|
|
12
11
|
};
|
|
13
12
|
constructor(requestBufferManager: RequestBufferManager, queryParserFactory: QueryParserFactory, queryService: QueryService, columnSubsetCacheFactory: ColumnSubsetCacheFactory, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, itemCacheFactory: ItemCacheFactory, requestColumnExpansionFactory: RequestColumnExpansionFactory, transaction: ServerCache);
|
|
14
13
|
createItemEntry(createTuple: ChangesDeltaItemCreateDelta): ItemEntry;
|
|
@@ -17,7 +16,7 @@ export declare class ServerItemHandler extends ItemHandlerBase {
|
|
|
17
16
|
* Processes updates on a cached entry
|
|
18
17
|
*/
|
|
19
18
|
processItemEntryChanges<ItemTypeType extends ApiEnumItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, _isCalledAfterSocketUpdate?: boolean, _createItemChangesIfNoneExist?: boolean): ProcessItemEntryChangesResult<ItemTypeType>;
|
|
20
|
-
copyTransactionItemEntryChanges(itemEntryChanges: TransactionItemEntryChanges
|
|
19
|
+
copyTransactionItemEntryChanges<ItemTypeType extends ApiEnumItemType>(itemEntryChanges: TransactionItemEntryChanges<ItemTypeType>, entry: ItemEntry<ItemTypeType>): ItemEntryChanges<ItemTypeType>;
|
|
21
20
|
fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
22
21
|
fetchItemEntriesByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
23
22
|
extendItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>, newColumns: ApiRequestColumns): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType, ApiFields, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { AbstractCache, AbstractCacheDependencyInterface, ApiQuery, ApiRequestColumn, ApiRequestColumns, CachedQueryItem, CachedQueryItemTree, ChangesDelta, ChangesDeltaResult, ChildCollectionOptions, ChildCollectionResources, ChildCollectionResourcesNull, CollectionDefinition, CollectionOptionsInterface, CollectionQuery, CollectionResource, CollectionResourceParentIdMap, ConversionMap, CreateRequestParameterMap, DeregFunction, EntryParentNull, FieldChangeCallback, FieldMap, InternalChangesDelta, ItemEntry, ItemEntryOptions, ItemIdConversionMap, ItemOptionsInterface, ItemResource, ItemResourcesItemTypeMap, ItemTypeMap, LinkCollectionDefinition, ModuleChangesCompilationResult, OnAfterCreateCallback, ParentChangesDelta, ParentItemMap, PromiseInterface, RmCore, ServerCache, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCachedQueryHandler, TransactionCollectionHandler, TransactionEventHandler,
|
|
2
|
+
import { AbstractCache, AbstractCacheDependencyInterface, ApiQuery, ApiRequestColumn, ApiRequestColumns, CachedQueryItem, CachedQueryItemTree, ChangesDelta, ChangesDeltaResult, ChildCollectionOptions, ChildCollectionResources, ChildCollectionResourcesNull, CollectionDefinition, CollectionOptionsInterface, CollectionQuery, CollectionResource, CollectionResourceParentIdMap, ConversionMap, CreateRequestParameterMap, DeregFunction, EntryParentNull, FieldChangeCallback, FieldMap, InternalChangesDelta, ItemEntry, ItemEntryOptions, ItemIdConversionMap, ItemOptionsInterface, ItemResource, ItemResourcesItemTypeMap, ItemTypeMap, LinkCollectionDefinition, ModuleChangesCompilationResult, OnAfterCreateCallback, ParentChangesDelta, ParentItemMap, PromiseInterface, RmCore, ServerCache, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCachedQueryHandler, TransactionCollectionHandler, TransactionEventHandler, TransactionItemEntryChangesTuple, TransactionItemHandler, TransactionOptions, TransactionValidatorFactory } from '../../../internal';
|
|
3
3
|
declare type ItemResourceLinks<ItemTypeType extends ApiEnumItemType> = {
|
|
4
4
|
main: ItemResource<ItemTypeType>;
|
|
5
5
|
linked: ItemResourcesItemTypeMap;
|
|
@@ -165,7 +165,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
165
165
|
*
|
|
166
166
|
* @param copyFields If set, will call {@link ApiFormatter.copyFields ApiFormatter.copyFields}, otherwise just returns the object
|
|
167
167
|
*/
|
|
168
|
-
getItemChangesRecursively(itemEntryId: ItemEntry['id'], copyFields?: boolean): FieldMap
|
|
168
|
+
getItemChangesRecursively<ItemTypeType extends ApiEnumItemType>(itemEntryId: ItemEntry<ItemTypeType>['id'], copyFields?: boolean): FieldMap<ItemTypeType>;
|
|
169
169
|
/**
|
|
170
170
|
* @description
|
|
171
171
|
* Removes the {@link CollectionResource CollectionResource} from the transaction, preventing the {@link CollectionResource.options.onAdd onAdd} and {@link CollectionResource.options.onRemove onRemove} callbacks from being called.
|
|
@@ -280,10 +280,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
280
280
|
* @description
|
|
281
281
|
* Gets an already cached {@link ItemEntry ItemEntry} and the changes of this specific transaction for that entry
|
|
282
282
|
*/
|
|
283
|
-
getLocalItemEntryChangesTuple(itemEntryId: ItemEntry['id']):
|
|
284
|
-
entry: ItemEntry;
|
|
285
|
-
changes: TransactionItemEntryChanges;
|
|
286
|
-
};
|
|
283
|
+
getLocalItemEntryChangesTuple<ItemTypeType extends ApiEnumItemType>(itemEntryId: ItemEntry<ItemTypeType>['id']): TransactionItemEntryChangesTuple<ItemTypeType>;
|
|
287
284
|
/**
|
|
288
285
|
* @description
|
|
289
286
|
* Gets an ItemEntry from the cache, doesn't do a API request, used for saving
|
|
@@ -306,7 +303,6 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
306
303
|
createCollectionResource<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>, initialEntries: Array<ItemEntry<ItemTypeType>>, childCollectionResourceMap?: ParentItemMap<CollectionResource> | null): CollectionResource<ItemTypeType>;
|
|
307
304
|
createChildCollectionResources(parentType: ApiEnumItemType, options: ChildCollectionOptions, cachedQueryItems: ParentItemMap<CachedQueryItemTree>): ChildCollectionResources;
|
|
308
305
|
private createChildCollectionResource;
|
|
309
|
-
getChangesFromItemChanges<ItemTypeType extends ApiEnumItemType = any>(changesObject: TransactionItemEntryChanges<FieldMap<ItemTypeType>>): FieldMap<ItemTypeType>;
|
|
310
306
|
/**
|
|
311
307
|
* @description
|
|
312
308
|
* Fetches all required columns to match/fit in collections
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ApiQuery, ApiRequestColumns, ChangesDelta, ChangesDeltaBase, ChangesDeltaItemCreateDelta, ChangesDeltaItemUpdateDelta, ChangesDeltaResult, ColumnSubsetCache, DeregFunction, FieldChangeCallback, FieldMap, ItemEntry, ItemEntryOptions, ItemHandlerBase, ItemIdConversionMap, ItemTypeMap, ModifyFieldsCallback, ProcessItemEntryChangesResult, PromiseInterface, ResponseColumnItemTypeMap, TransactionCache, TransactionItemHandlerDependencyInterface, TransactionValidator } from '../../../internal';
|
|
3
|
-
export
|
|
4
|
-
initial:
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { ApiQuery, ApiRequestColumns, ChangesDelta, ChangesDeltaBase, ChangesDeltaItemCreateDelta, ChangesDeltaItemUpdateDelta, ChangesDeltaResult, ColumnSubsetCache, DeregFunction, FieldChangeCallback, FieldMap, ItemEntry, ItemEntryChanges, ItemEntryChangesTuple, ItemEntryOptions, ItemHandlerBase, ItemIdConversionMap, ItemTypeMap, ModifyFieldsCallback, ProcessItemEntryChangesResult, PromiseInterface, ResponseColumnItemTypeMap, TransactionCache, TransactionItemHandlerDependencyInterface, TransactionValidator } from '../../../internal';
|
|
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
|
+
}
|
|
7
9
|
/**
|
|
8
10
|
* @description
|
|
9
11
|
* In a {@link TransactionCache Transaction} only local items can be stored, so all entries in {@link TransactionItemHandler.entries this.entries} are local
|
|
@@ -19,7 +21,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
19
21
|
*/
|
|
20
22
|
deletedItems: ItemTypeMap<ItemEntry[]>;
|
|
21
23
|
itemChanges: {
|
|
22
|
-
[itemEntryId:
|
|
24
|
+
[itemEntryId: string]: TransactionItemEntryChanges<any>;
|
|
23
25
|
};
|
|
24
26
|
fieldChangeCallbacks: {
|
|
25
27
|
[itemType: string]: {
|
|
@@ -29,7 +31,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
29
31
|
constructor(dependencies: TransactionItemHandlerDependencyInterface, transaction: TransactionCache, validator?: TransactionValidator | undefined);
|
|
30
32
|
updateLocalItemIdReferences(itemType: ApiEnumItemType, oldItemId: ItemId, newItemId: ItemId, changesDelta?: ChangesDeltaBase): void;
|
|
31
33
|
registerFieldChangeCallback<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, callback: FieldChangeCallback<ItemTypeType>): DeregFunction;
|
|
32
|
-
copyTransactionItemEntryChanges(itemEntryChanges: TransactionItemEntryChanges
|
|
34
|
+
copyTransactionItemEntryChanges<ItemTypeType extends ApiEnumItemType>(itemEntryChanges: TransactionItemEntryChanges<ItemTypeType>, entry: ItemEntry<ItemTypeType>): TransactionItemEntryChanges<ItemTypeType>;
|
|
33
35
|
createItemEntry(createTuple: ChangesDeltaItemCreateDelta): ItemEntry;
|
|
34
36
|
/**
|
|
35
37
|
* @description
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rentman/rm-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.1",
|
|
4
4
|
"description": "Rentman core functionalities",
|
|
5
5
|
"main": "./dist/rm-core.js",
|
|
6
6
|
"types": "./dist/types/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@rentman/backend-types": "
|
|
8
|
+
"@rentman/backend-types": "*",
|
|
9
9
|
"@babel/runtime": "^7.8.3"
|
|
10
10
|
},
|
|
11
11
|
"repository": {
|