@rentman/rm-core 2.0.2 → 2.0.4

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.
@@ -33,6 +33,10 @@ export declare class ApiFormatter {
33
33
  copyFields<ItemTypeType extends ItemType>(source: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<any>>): FieldMap<ItemTypeType>;
34
34
  shallowCopyFields(shallowSource: FieldMap, deepSource: FieldMap, destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
35
35
  setDefaultValues(destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
36
+ /**
37
+ * @description
38
+ * Compares the given fields, returns `true` when the fields are equal
39
+ */
36
40
  compareFields(columnType: string, first?: any, second?: any): boolean;
37
41
  compareFloats(a: number, b: number): boolean;
38
42
  compareMomentObjects(first: moment.Moment, second: moment.Moment): boolean;
@@ -1,4 +1,4 @@
1
- import { ApiFormatter } from '../classes';
1
+ import { ApiFormatter, ApiRequestService } from '../classes';
2
2
  import { RequestColumnExpansionFactory, TransactionCacheFactory } from '../factories';
3
3
  import { ChangesDeltaFactory } from '../factories/ChangesDeltaFactory';
4
4
  import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
@@ -15,7 +15,8 @@ export declare class SocketMessageHandler {
15
15
  private transactionCacheFactory;
16
16
  private promiseService;
17
17
  private requestColumnExpansionFactory;
18
- constructor(requestBufferManager: RequestBufferManager, changesDeltaFactory: ChangesDeltaFactory, apiFormatter: ApiFormatter, errorHandler: ErrorHandlerInterface, transactionCacheFactory: TransactionCacheFactory, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory);
18
+ private apiRequestService;
19
+ constructor(requestBufferManager: RequestBufferManager, changesDeltaFactory: ChangesDeltaFactory, apiFormatter: ApiFormatter, errorHandler: ErrorHandlerInterface, transactionCacheFactory: TransactionCacheFactory, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, apiRequestService: ApiRequestService);
19
20
  onMessageReceived(message: SocketMessage): any;
20
21
  private formatMessageValues;
21
22
  private createCollectionMap;
@@ -19,7 +19,7 @@ export declare class TemplateCache {
19
19
  constructor(columnUtil: ColumnUtil, promiseService: PromiseLibraryInterface, requestBufferFactory: RequestBufferManager, columnHandler: ColumnHandler, templateFactory: TemplateFactory, errorHandler: ErrorHandlerInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory);
20
20
  /**
21
21
  * @description
22
- * Fetches a {@link Template template}
22
+ * Fetches a {@link Template template}, {@link TransactionItemHandler.createItems TransactionItemHandler.createItems} is a convenience function for this
23
23
  *
24
24
  * @param itemType The {@link ItemType ItemType} of the template item
25
25
  * @param itemId Used for caching, multiple concurrent template calls for the same itemId will return the same template
@@ -10,11 +10,13 @@ import { ApiRequestService } from '../ApiRequestService';
10
10
  import { ChangesDelta } from '../ChangesDelta';
11
11
  import { ChangesDeltaResult } from '../ChangesDeltaBase';
12
12
  import { OnAfterCreateCallback } from '../ChangesProcessor';
13
+ import { CollectionCache } from '../CollectionCache';
13
14
  import { CollectionEntryService } from '../CollectionEntryService';
14
15
  import { ColumnCache } from '../ColumnCache';
15
16
  import { ColumnHandler } from '../ColumnHandler';
16
17
  import { ColumnUtil } from '../ColumnUtil';
17
18
  import { InternalChangesDelta } from '../InternalChangesDelta';
19
+ import { ItemCache } from '../ItemCache';
18
20
  import { ItemEntryService } from '../ItemEntryService';
19
21
  import { KeyService } from '../KeyService';
20
22
  import { LockService } from '../LockService';
@@ -68,6 +70,16 @@ export declare abstract class AbstractCache {
68
70
  protected constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface);
69
71
  createChild(id?: string): TransactionCache;
70
72
  onChildDestroy(cache: TransactionCache): void;
73
+ /**
74
+ * @description
75
+ * Returns the {@link TransactionCollectionHandler.entries CollectionCache} of the transaction
76
+ */
77
+ getCurrentCollectionEntryCache(): CollectionCache;
78
+ /**
79
+ * @description
80
+ * Returns the {@link TransactionItemHandler.entries ItemCache} of the transaction
81
+ */
82
+ getCurrentItemEntryCache(): ItemCache;
71
83
  abstract getServerCache(): ServerCache;
72
84
  abstract getLocalItemEntry(itemEntryId: ItemEntry['id']): ItemEntry | undefined;
73
85
  abstract getLocalItemEntryByItemId(itemType: ItemType, itemId: ItemEntry['itemId']): ItemEntry | undefined;
@@ -88,7 +100,7 @@ export declare abstract class AbstractCache {
88
100
  *
89
101
  * @internal
90
102
  */
91
- abstract applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave: boolean): void;
103
+ abstract applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave: boolean, isCalledAfterSocketUpdate: boolean): void;
92
104
  abstract getParent(itemEntry: ItemEntry, fromInitial?: boolean): EntryParentNull;
93
105
  abstract getItemChangesRecursively(itemEntryId: ItemEntry['id'], copyFields?: boolean): FieldMap;
94
106
  abstract getLocalItemEntryChangesTuple(itemEntryId: ItemEntry['id']): any;
@@ -51,10 +51,10 @@ export declare abstract class CollectionHandlerBase {
51
51
  * Adds the passed {@link ItemEntry ItemEntries} to the collection's changes on the transaction,
52
52
  * will skip the ItemEntry if the `skipEntryFilterFn` callback returns `true`
53
53
  */
54
- addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, skipEntryFilterFn: (temEntry: ItemEntry) => boolean): void;
55
- protected abstract handleAddedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, addedEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
56
- removeItemEntriesFromCollectionChanges(collectionEntry: CollectionEntry, idArray: ItemId[]): void | never[];
57
- protected abstract handleRemovedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, removedItemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
54
+ protected _addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, skipEntryFilterFn: (temEntry: ItemEntry) => boolean, isCalledAfterSocketUpdate: boolean): void;
55
+ protected abstract handleAddedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, addedEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate: boolean): void;
56
+ removeItemEntriesFromCollectionChanges(collectionEntry: CollectionEntry, idArray: ItemId[], isCalledAfterSocketUpdate?: boolean): void | never[];
57
+ protected abstract handleRemovedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, removedItemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate: boolean): void;
58
58
  /**
59
59
  * @description
60
60
  * Expands the option's {@link CollectionEntryOptions.columns columns} with the columns required for the {@link CollectionMatcher CollectionMatcher} to function.
@@ -21,6 +21,6 @@ export declare type GroupedCollectionMatcherResult<ItemTypeType extends ItemType
21
21
  export declare class CollectionMatcherCacheProcessor extends CollectionMatcher {
22
22
  private apiRequestService;
23
23
  constructor(apiRequestService: ApiRequestService, queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache, getCollectionEntries: (itemType: ItemType) => CollectionEntry[]);
24
- removeFromAndAddToCollections(): void;
24
+ removeFromAndAddToCollections(isCalledAfterSocketUpdate?: boolean): void;
25
25
  private groupItemEntries;
26
26
  }
@@ -41,12 +41,12 @@ export declare class ServerCache extends AbstractCache {
41
41
  parent: null;
42
42
  constructor(changesProcessorFactory: ChangesProcessorFactory, core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiFormatter: ApiFormatter, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, linkTreeService: LinkTreeServiceInterface);
43
43
  getServerCache(): ServerCache;
44
- processResponse(response: ApiResponseProcessor): PromiseInterface<ChangesDeltaResult>;
44
+ processResponse(response: ApiResponseProcessor, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<ChangesDeltaResult>;
45
45
  /**
46
46
  * @description
47
47
  * Applies the changes of the changesDelta created by the API call ({@link ChangesProcessor ChangesProcessor}/{@link SocketMessageHandler SocketMessageHandler}, or manually through a module function) on all caches
48
48
  */
49
- applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean): void;
49
+ applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): void;
50
50
  /**
51
51
  * @description
52
52
  * Gets the fields required to set the parent
@@ -79,7 +79,7 @@ export declare class ServerCache extends AbstractCache {
79
79
  * Applies changes to this transaction and its children
80
80
  * Differs from {@link TransactionCache.applyChangesDelta TransactionCache.applyChangesDelta} in the handling of deleted entries and the applyChangesFromParent call
81
81
  */
82
- applyChangesDelta(changesDelta: ChangesDelta): PromiseInterface<ChangesDeltaResult>;
82
+ applyChangesDelta(changesDelta: ChangesDelta, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<ChangesDeltaResult>;
83
83
  getLocalItemEntry(itemEntryId: ItemEntry['id']): ItemEntry | undefined;
84
84
  getLocalItemEntryByItemId(itemType: ItemType, itemId: ItemEntry['itemId']): ItemEntry | undefined;
85
85
  getLocalCollectionEntry(collectionEntryId: CollectionEntry['id']): CollectionEntry | undefined;
@@ -26,7 +26,7 @@ export declare class ServerCollectionHandler extends CollectionHandlerBase {
26
26
  extendCollectionEntry<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, queryCallback: QueryCallback): PromiseInterface<CollectionEntryType>;
27
27
  expandCollectionEntries<ItemTypeType extends ItemType>(parentType: ItemType, itemType: ItemTypeType, collections: CollectionResourceParentIdMap, newRequestColumns: ApiRequestColumn[]): PromiseInterface<CollectionResourceParentIdMap>;
28
28
  extendCollectionEntries<T extends CollectionResourceParentIdMap>(parentType: ItemType, itemType: ItemType, options: CollectionEntryOptions, queryCallback: QueryCallback, collections: T): PromiseInterface<void>;
29
- addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
29
+ addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate?: boolean): void;
30
30
  protected handleAddedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(_collectionEntry: CollectionEntryType, addedEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
31
31
  protected handleRemovedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(_collectionEntry: CollectionEntryType, removedItemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
32
32
  /**
@@ -23,7 +23,7 @@ export declare class ServerItemHandler extends ItemHandlerBase {
23
23
  * @description
24
24
  * Processes updates on a cached entry
25
25
  */
26
- processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, _forceOverwrite?: boolean, _updateInitial?: boolean): FieldMap<ItemTypeType>;
26
+ processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, _forceOverwrite?: boolean, _updateInitial?: boolean, _isCalledAfterSocketUpdate?: boolean): FieldMap<ItemTypeType>;
27
27
  fetchItemEntry<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
28
28
  fetchItemEntriesByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
29
29
  fetchItemEntries<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
@@ -10,7 +10,7 @@ import { ChangesDeltaResult } from '../../ChangesDeltaBase';
10
10
  import { CollectionEntryService } from '../../CollectionEntryService';
11
11
  import { ColumnHandler } from '../../ColumnHandler';
12
12
  import { ColumnUtil } from '../../ColumnUtil';
13
- import { ApiFormatter, ApiRequestService, CollectionCache, ColumnCache, ItemCache, LockService, ModuleChangesCompilationResult, OnAfterCreateCallback, RequestBufferManager, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCollectionHandler, TransactionItemEntryChanges, TransactionItemHandler } from '../../index';
13
+ import { ApiFormatter, ApiRequestService, ColumnCache, LockService, ModuleChangesCompilationResult, OnAfterCreateCallback, RequestBufferManager, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCollectionHandler, TransactionItemEntryChanges, TransactionItemHandler } from '../../index';
14
14
  import { InternalChangesDelta } from '../../InternalChangesDelta';
15
15
  import { ItemEntryService } from '../../ItemEntryService';
16
16
  import { KeyService } from '../../KeyService';
@@ -92,7 +92,7 @@ export declare class TransactionCache extends AbstractCache {
92
92
  * @param internalChangesDelta Changes to be applied
93
93
  * @param isCalledAfterApiSave If 'isCalledAfterApiSave' is true local changes will always be overwritten (instead of only when there are no changes)
94
94
  */
95
- applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean): void;
95
+ applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): void;
96
96
  /**
97
97
  * @description
98
98
  * Applies changes to this transaction and its children
@@ -202,16 +202,6 @@ export declare class TransactionCache extends AbstractCache {
202
202
  updateItemIdMap(collectionMap: {
203
203
  [itemId: number]: any;
204
204
  }, conversionMap: ConversionMap): void;
205
- /**
206
- * @description
207
- * Returns the {@link TransactionCollectionHandler.entries CollectionCache} of the transaction
208
- */
209
- getCurrentCollectionEntryCache(): CollectionCache;
210
- /**
211
- * @description
212
- * Returns the {@link TransactionItemHandler.entries ItemCache} of the transaction
213
- */
214
- getCurrentItemEntryCache(): ItemCache;
215
205
  cloneCollection<ItemTypeType extends ItemType>(collectionResource: CollectionResource<ItemTypeType>, options: CollectionOptionsInterface<ItemTypeType> & {
216
206
  editItems: true;
217
207
  editCollection: true;
@@ -368,13 +358,13 @@ export declare class TransactionCache extends AbstractCache {
368
358
  * won't be included
369
359
  */
370
360
  getDelta(): InternalChangesDelta;
371
- createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
361
+ createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<EditResource<ItemTypeType>> & {
372
362
  edit: true;
373
363
  }, isRoot?: boolean, isNew?: boolean): EditResource<ItemTypeType>;
374
- createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
364
+ createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<RemoteViewResource<ItemTypeType>> & {
375
365
  remote: true;
376
366
  }, isRoot?: boolean, isNew?: boolean): RemoteViewResource<ItemTypeType>;
377
- createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface, isRoot?: boolean, isNew?: boolean): LocalViewResource<ItemTypeType>;
367
+ createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<LocalViewResource<ItemTypeType>>, isRoot?: boolean, isNew?: boolean): LocalViewResource<ItemTypeType>;
378
368
  createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface & {
379
369
  edit: true;
380
370
  }): Array<EditResource<ItemTypeType>>;
@@ -49,7 +49,7 @@ export declare class TransactionCollectionHandler extends CollectionHandlerBase
49
49
  fetchLinkedCollectionEntries<ItemTypeType extends ItemType>(parentType: ItemType, parentIdArray: ItemId[] | (() => ItemId[]), itemType: ItemTypeType, options: CollectionEntryOptions): PromiseInterface<CollectionEntryParentIdMap<ItemTypeType>>;
50
50
  expandCollectionEntries<ItemTypeType extends ItemType>(parentType: ItemType, itemType: ItemTypeType, collections: CollectionResourceParentIdMap, newColumns: ApiRequestColumn[]): PromiseInterface<CollectionResourceParentIdMap>;
51
51
  extendCollectionEntries<T extends CollectionResourceParentIdMap>(parentType: ItemType, itemType: ItemType, options: CollectionEntryOptions, queryCallback: QueryCallback, collections: T): PromiseInterface<void>;
52
- addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
52
+ addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate?: boolean): void;
53
53
  isLocal(options: CollectionEntryOptions): boolean;
54
54
  expandCollectionEntry<CollectionEntryType extends CollectionEntry>(changesDelta: ChangesDelta, collectionEntry: CollectionEntryType, newColumns: ApiRequestColumns): PromiseInterface<CollectionEntryType>;
55
55
  /**
@@ -76,11 +76,12 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
76
76
  * @param itemEntryChangesTuple The changes tuple
77
77
  * @param forceOverwrite Instead of calling {@link ApiFormatter.mergeCopyFields mergeCopyFields}, {@link ApiFormatter.copyFields copyFields} will be used (because API values are always right)
78
78
  * @param updateInitial Should be `true` if called by applyChangesFromParent
79
+ * @param isCalledAfterSocketUpdate Indicates that the change is done by a different user
79
80
  *
80
81
  * @returns
81
82
  * The previous changes {@link FieldMap FieldMap}
82
83
  */
83
- processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean): FieldMap<ItemTypeType>;
84
+ processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean, isCalledAfterSocketUpdate?: boolean): FieldMap<ItemTypeType>;
84
85
  cloneItemEntries<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: (sourceEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>) => void): PromiseInterface<ChangesDeltaResult>;
85
86
  cloneItemEntry<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, sourceEntry: ItemEntry<ItemTypeType>, newFields?: FieldMap<ItemTypeType>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: (sourceEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>) => void): ItemId;
86
87
  fetchItemEntriesByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
@@ -10,28 +10,8 @@ export declare class CollectionEditResource<ItemTypeType extends ItemType = any,
10
10
  * Use {@link ChangesDelta.setItemMoved ChangesDelta.setItemMoved}
11
11
  */
12
12
  moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
13
- /**
14
- * @deprecated
15
- * Use {@link ChangesDelta.setItemDeleted ChangesDelta.setItemDeleted}
16
- */
17
13
  removeItems(idArray: ItemId[]): void;
18
- /**
19
- * @deprecated
20
- * Use {@link ChangesDelta.setItemDeleted ChangesDelta.setItemDeleted}
21
- */
22
14
  removeItem(itemId: ItemId): void;
23
- /**
24
- * @deprecated
25
- * Use {@link ChangesDelta.setItemCreated ChangesDelta.setItemCreated}
26
- *
27
- * todo[cache] this will fetchCollectionEntry a template for you, make a convenience function ?
28
- */
29
15
  addItems(valuesArray: Array<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
30
- /**
31
- * @deprecated
32
- * Use {@link ChangesDelta.setItemCreated ChangesDelta.setItemCreated}
33
- *
34
- * todo[cache] this will fetchCollectionEntry a template for you, make a convenience function ?
35
- */
36
16
  addItem(values: FieldMap<ItemTypeType>): PromiseInterface<ChangesDeltaResult>;
37
17
  }
@@ -12,7 +12,7 @@ export declare type EntryParentNull = EntryParent | null;
12
12
  export declare type FieldMap<_ItemTypeType extends ItemType = any> = {
13
13
  [key: string]: any;
14
14
  };
15
- export declare type ItemOptionsInterface = ItemEntryOptionsInterface & ItemResourceOptionsInterface;
15
+ export declare type ItemOptionsInterface<ItemResourceType extends ItemResource<any> = ItemResource> = ItemEntryOptionsInterface & ItemResourceOptionsInterface<ItemResourceType>;
16
16
  export declare type CollectionOptionsInterface<ItemTypeType extends ItemType = any> = CollectionEntryOptionsInterface & CollectionResourceOptionsInterface<ItemTypeType>;
17
17
  export interface CollectionDefinition<ItemTypeType extends ItemType = any> {
18
18
  itemType: ItemTypeType;
@@ -27,9 +27,9 @@ export interface LinkCollectionDefinition<ItemTypeType extends ItemType = any> e
27
27
  export declare type OnChangeFunction<ItemResourceType extends ItemResource<any> = ItemResource<any>> = (itemResource: ItemResourceType, previous: FieldMap<ItemResourceType['entry']['itemType']>,
28
28
  /**
29
29
  * @description
30
- * Returns 'true' if the field changed
30
+ * Returns 'false' if the field changed
31
31
  */
32
- compareField: (field: keyof FieldMap<ItemResourceType['entry']['itemType']>) => boolean) => void;
32
+ compareField: (field: keyof FieldMap<ItemResourceType['entry']['itemType']>) => boolean, isCalledAfterSocketUpdate: boolean) => void;
33
33
  export declare const enum StateKeyType {
34
34
  New = "new",
35
35
  Duplicate = "duplicate"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rentman/rm-core",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "Rentman core functionalities",
5
5
  "main": "./dist/rm-core.js",
6
6
  "types": "./dist/src/index.d.ts",