@rentman/rm-core 8.2.10 → 9.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.
@@ -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, transactionItemEntryChanges: TransactionItemEntryChanges): void;
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, TransactionItemEntryChanges } from '../internal';
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]: InternalChangesDeltaItemDeleteDelta[];
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: InternalChangesDeltaItemDeleteDelta): this;
38
- setItemsDeleted(deleted: InternalChangesDeltaItemDeleteDelta[]): this;
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, ServerItemEntryChanges, TransactionCache, TransactionCachedQueryHandler, TransactionItemEntryChanges, TransactionValidatorFactory } from '../../internal';
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']): any;
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: FieldMap<ItemTypeType>): EntryParentNull;
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: string]: any;
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, entry: ItemEntry): any;
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, ServerItemEntryChanges, ServerItemHandler, TransactionCache, TransactionOptions, TransactionValidatorFactory } from '../../../internal';
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, FieldMap, ItemCacheFactory, ItemEntry, ItemEntryFactory, ItemEntryOptions, ItemHandlerBase, ProcessItemEntryChangesResult, PromiseInterface, PromiseLibraryInterface, QueryParserFactory, QueryService, RequestBufferManager, RequestBufferResponse, RequestColumnExpansionFactory, ServerCache, TransactionItemEntryChanges } from '../../../internal';
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]: ServerItemEntryChanges;
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, entry: ItemEntry): ServerItemEntryChanges;
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, TransactionItemEntryChanges, TransactionItemHandler, TransactionOptions, TransactionValidatorFactory } from '../../../internal';
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 declare type TransactionItemEntryChanges<Fields extends FieldMap = FieldMap> = {
4
- initial: Fields;
5
- changes: Fields;
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: number]: TransactionItemEntryChanges;
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, entry: ItemEntry): 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": "8.2.10",
3
+ "version": "9.0.0",
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": "latest",
9
9
  "@babel/runtime": "^7.8.3"
10
10
  },
11
11
  "repository": {