@rentman/rm-core 6.2.4 → 6.3.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,6 +1,11 @@
1
1
  import moment from 'moment';
2
2
  import { ColumnInfo } from '../classes';
3
- import { FieldMap, ItemType } from '../types';
3
+ import { ColumnIdTypeMap, FieldMap, ItemType, ResponseColumn } from '../types';
4
+ declare type GetChangesResult<Fields extends FieldMap, key extends keyof Fields = string> = {
5
+ oldValue: Fields[key];
6
+ newValue: Fields[key];
7
+ column: ResponseColumn;
8
+ };
4
9
  export declare class ApiFormatter {
5
10
  MOMENT_INVALID: string;
6
11
  SERVER_DATETIME_FORMAT: string;
@@ -20,14 +25,18 @@ export declare class ApiFormatter {
20
25
  * @description
21
26
  * Overwrites the values in 'changes' if the values in 'initial' and 'changes' are the same (leaving user changes intact)
22
27
  */
23
- mergeCopyFields<ItemTypeType extends ItemType>(initial: FieldMap<ItemTypeType>, changes: FieldMap<ItemTypeType>, newInitial: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<ItemTypeType>>): FieldMap<ItemTypeType>;
24
- formatRequest<ItemTypeType extends ItemType>(initial: FieldMap<ItemTypeType>, modified: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<any>>): FieldMap<ItemTypeType>;
25
- formatRequestLocal<ItemTypeType extends ItemType>(fields: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<any>>): FieldMap<ItemTypeType>;
28
+ mergeCopyFields<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(initial: FieldMap<ItemTypeType, Fields>, changes: FieldMap<ItemTypeType, Fields>, newInitial: FieldMap<ItemTypeType, Fields>, columns: Array<ColumnInfo<ItemTypeType>>): FieldMap<ItemTypeType, Fields>;
29
+ formatRequest<Fields extends FieldMap>(initial: Fields, modified: Fields, columns: Array<ColumnInfo<any>>): {
30
+ [columnId: string]: any;
31
+ };
32
+ formatRequestLocal<Fields extends FieldMap>(fields: Fields, columns: Array<ColumnInfo<any>>): {
33
+ [columnId: string]: any;
34
+ };
26
35
  hasChanges(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>, includeReadOnlyColumns?: boolean): boolean;
27
- getChanges<ItemTypeType extends ItemType>(initial: FieldMap<ItemTypeType>, modified: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<any>>): FieldMap<ItemTypeType>;
28
- copyFields<ItemTypeType extends ItemType>(source: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<any>>): FieldMap<ItemTypeType>;
29
- shallowCopyFields(shallowSource: FieldMap, deepSource: FieldMap, destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
30
- setDefaultValues(destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
36
+ getChanges<Fields extends FieldMap>(initial: Fields, modified: Fields, columns: Array<ColumnInfo<any>>): Array<GetChangesResult<Fields> | undefined>;
37
+ copyFields<Fields extends FieldMap>(source: Fields, destination: Fields, columns: Array<ColumnInfo<any>>): Fields;
38
+ shallowCopyFields<Fields extends FieldMap>(shallowSource: Fields, deepSource: Fields, destination: Fields, columns: Array<ColumnInfo<any>>): Fields;
39
+ setDefaultValues<ItemTypeType extends ItemType = any>(destination: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<ItemTypeType>>): FieldMap<ItemTypeType>;
31
40
  /**
32
41
  * @description
33
42
  * Compares the given fields, returns `true` when the fields are equal
@@ -53,3 +62,4 @@ export declare class ApiFormatter {
53
62
  cloneDate(date: moment.Moment): moment.Moment;
54
63
  identity<T>(input: T): T;
55
64
  }
65
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { ApiFormatter } from '../classes';
2
- import { FieldMap, ItemId, ItemType, ItemTypeMap, ResponseColumn } from '../types';
2
+ import { ColumnIdTypeMap, FieldMap, ItemId, ItemType, ItemTypeMap, ResponseColumn } from '../types';
3
3
  export declare class ApiResponseProcessor<RequestItemType extends ItemType = any> {
4
4
  apiFormatter: ApiFormatter;
5
5
  response: any;
@@ -21,8 +21,8 @@ export declare class ApiResponseProcessor<RequestItemType extends ItemType = any
21
21
  fetchColumnArray(itemType: ItemType): ResponseColumn[];
22
22
  fetchDerivedObject(itemType: ItemType, itemId: ItemId, rootColumns: ResponseColumn[]): {};
23
23
  fetchDerivedValues(value: any, column: ResponseColumn, destination: any): void;
24
- fetchObject<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: string | ItemId, includeLinks?: boolean): FieldMap<ItemTypeType> | undefined;
25
- fetchObjectArray<ItemTypeType extends ItemType>(itemType: ItemTypeType, includeLinks?: boolean, idArray?: ItemId[] | null): Array<FieldMap<ItemTypeType>>;
24
+ fetchObject<Fields extends ColumnIdTypeMap, ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: string | ItemId): FieldMap<ItemTypeType, Fields> | undefined;
25
+ fetchObjectArray<ItemTypeType extends ItemType>(itemType: ItemTypeType, idArray?: ItemId[] | null): Array<FieldMap<ItemTypeType>>;
26
26
  fetchColumnsObject(): {
27
27
  [itemType: string]: ResponseColumn;
28
28
  };
@@ -30,7 +30,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
30
30
  * - If the values don't contain an `id` a new one will be generated
31
31
  * - If you want to set a parent set the proper field, you can't pass it as a separate object
32
32
  */
33
- setItemCreated<ItemTypeType extends ItemType>(itemType: ItemTypeType, values: FieldMap<ItemTypeType>): PromiseInterface<this>;
33
+ setItemCreated<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType>>(itemType: ItemTypeType, values: Fields): PromiseInterface<this>;
34
34
  /**
35
35
  * @description
36
36
  * Fetches a template for the passed itemType and processes the passed values and sets the items to be created when the delta is applied
@@ -39,7 +39,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
39
39
  * - If the values don't contain an `id` a new one will be generated
40
40
  * - If you want to set a parent set the proper field, you can't pass it as a separate object
41
41
  */
42
- setItemsCreated<ItemTypeType extends ItemType>(itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType>>): PromiseInterface<this>;
42
+ setItemsCreated<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType>>(itemType: ItemTypeType, valuesArray: Fields[]): PromiseInterface<this>;
43
43
  /**
44
44
  * @description
45
45
  * Will create an {@link ItemEntry ItemEntry} when the delta is applied
@@ -51,7 +51,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
51
51
  *
52
52
  * @internal
53
53
  */
54
- _setItemCreated<ItemTypeType extends ItemType>(itemId: ItemId, fields: FieldMap<ItemTypeType>, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull): this;
54
+ _setItemCreated<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull): this;
55
55
  /**
56
56
  * @description
57
57
  * Convenience function to assign the proper parent fields, will call {@link ChangesDeltaBase.setItemUpdated setItemUpdated} internally
@@ -10,7 +10,7 @@ export declare class CollectionEntryService {
10
10
  createUnfoundLocalCollectionError(itemType: ItemType): {
11
11
  message: string;
12
12
  };
13
- cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any>;
13
+ cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, any>;
14
14
  processOptions<ItemTypeType extends ItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions;
15
15
  createQuery(query: ApiQuery): CollectionQuery;
16
16
  createQueryFromOptions(options: CollectionOptions): CollectionQuery;
@@ -1,7 +1,7 @@
1
1
  import { ColumnSetFactory } from '../factories';
2
2
  import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
3
  import { Template } from '../models';
4
- import { EntryParentNull, FieldMap, FilterItemEntryCallback, ItemId, ItemIdConversionMap, ItemType, ModifyFieldsCallback, PromiseInterface } from '../types';
4
+ import { ColumnIdTypeMap, EntryParentNull, FieldMap, FilterItemEntryCallback, ItemId, ItemIdConversionMap, ItemType, ModifyFieldsCallback, PromiseInterface } from '../types';
5
5
  import { ChangesDelta } from './ChangesDelta';
6
6
  import { ConversionMapService } from './ConversionMapService';
7
7
  import { KeyService } from './KeyService';
@@ -18,7 +18,7 @@ export declare class ItemCreateService {
18
18
  * @description
19
19
  * Fetches a new {@link Template template} and sets the items created on the passed {@link ChangesDelta}
20
20
  */
21
- createItemsFromValues<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType>>, parent?: EntryParentNull): PromiseInterface<void>;
22
- processTemplate<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
21
+ createItemsFromValues<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType, Fields>>, parent?: EntryParentNull): PromiseInterface<void>;
22
+ processTemplate<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType, Fields>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
23
23
  processTemplateLinkItems<ParentItemType extends ItemType>(changesDelta: ChangesDelta, parentType: ParentItemType, localParentId: ItemId, template: Template<ParentItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
24
24
  }
@@ -1,7 +1,7 @@
1
1
  import { RequestColumnExpansionFactory, TemplateFactory } from '../factories';
2
2
  import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
3
  import { Template } from '../models';
4
- import { EntryParentNull, ItemId, ItemType, PromiseInterface } from '../types';
4
+ import { ColumnIdTypeMap, EntryParentNull, ItemId, ItemType, PromiseInterface } from '../types';
5
5
  import { ApiRequestService } from './ApiRequestService';
6
6
  import { ColumnHandler } from './ColumnHandler';
7
7
  import { ColumnUtil } from './ColumnUtil';
@@ -60,7 +60,7 @@ export declare class TemplateCache {
60
60
  * );
61
61
  * ```
62
62
  */
63
- fetchTemplate<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId?: ItemId, templateOptions?: any, templateColumns?: any, entryParentOrParentItemType?: EntryParentNull | ItemType): PromiseInterface<Template<ItemTypeType>>;
63
+ fetchTemplate<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(itemType: ItemTypeType, itemId?: ItemId, templateOptions?: any, templateColumns?: any, entryParentOrParentItemType?: EntryParentNull | ItemType): PromiseInterface<Template<ItemTypeType, Fields>>;
64
64
  private fetchTemplateById;
65
65
  private constructTemplateBuffer;
66
66
  }
@@ -3,7 +3,7 @@ import { RmCore } from '../../../core';
3
3
  import { AbstractCacheDependencyInterface } from '../../../interfaces/AbstractCacheDependencyInterface';
4
4
  import { CollectionResource, ItemEntry, ItemEntryOptions, ItemResource } from '../../../models';
5
5
  import { CollectionOptionsInterface } from '../../../models/CollectionOptions';
6
- import { ApiQuery, ApiRequestColumn, ApiRequestColumns, CollectionDefinition, CollectionQuery, CollectionResourceParentIdMap, ConversionMap, CreateRequestParameterMap, DeregFunction, EntryParentNull, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemResourcesItemTypeMap, ItemType, ItemTypeMap, LinkCollectionDefinition, PromiseInterface } from '../../../types';
6
+ import { ApiQuery, ApiRequestColumn, ApiRequestColumns, CollectionDefinition, CollectionQuery, CollectionResourceParentIdMap, ColumnIdTypeMap, ConversionMap, CreateRequestParameterMap, DeregFunction, EntryParentNull, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemResourcesItemTypeMap, ItemType, ItemTypeMap, LinkCollectionDefinition, PromiseInterface } from '../../../types';
7
7
  import { ChangesDeltaResult } from '../../ChangesDeltaBase';
8
8
  import { OnAfterCreateCallback } from '../../ChangesProcessor';
9
9
  import { ModuleChangesCompilationResult } from '../../ModuleChangesCompilation';
@@ -247,7 +247,7 @@ export declare class TransactionCache extends AbstractCache {
247
247
  getLinkCollectionsFromDef<ItemTypeType extends ItemType>(linkType: ItemType, linkIdArray: ItemId[], definition: LinkCollectionDefinition<ItemTypeType>): PromiseInterface<CollectionResourceParentIdMap<ItemTypeType>>;
248
248
  getLinkCollections<ItemTypeType extends ItemType>(linkType: ItemType, linkIdArray: ItemId[], itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): PromiseInterface<CollectionResourceParentIdMap<ItemTypeType>>;
249
249
  getCollectionFromDef<ItemTypeType extends ItemType>(definition: CollectionDefinition<ItemTypeType>): PromiseInterface<CollectionResource<ItemTypeType>>;
250
- getCollection<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): PromiseInterface<CollectionResource<ItemTypeType>>;
250
+ getCollection<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType> = FieldMap<ItemTypeType>>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): PromiseInterface<CollectionResource<ItemTypeType, Fields>>;
251
251
  getCollectionDef<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): CollectionDefinition<ItemTypeType>;
252
252
  getLinkCollectionsDef<ItemTypeType extends ItemType>(itemType: ItemTypeType, linkField: string, options: CollectionOptionsInterface<ItemTypeType>): LinkCollectionDefinition<ItemTypeType>;
253
253
  /**
@@ -280,7 +280,7 @@ export declare class TransactionCache extends AbstractCache {
280
280
  *
281
281
  * @param isRoot Sets the item as the root item of the transaction, new items will be linked to this item (if there's a connection in the LinkTree)
282
282
  */
283
- getItemById<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options?: Partial<ItemEntryOptions>, isRoot?: boolean): PromiseInterface<ItemResource<ItemTypeType>>;
283
+ getItemById<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType> = FieldMap<ItemTypeType>>(itemType: ItemTypeType, itemId: ItemId, options?: Partial<ItemEntryOptions>, isRoot?: boolean): PromiseInterface<ItemResource<ItemTypeType, Fields>>;
284
284
  /**
285
285
  * @description
286
286
  * Fetches the title of an item, does not create an {@link ItemResource ItemResource}
@@ -316,7 +316,7 @@ export declare class TransactionCache extends AbstractCache {
316
316
  */
317
317
  getDelta(): InternalChangesDelta;
318
318
  createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, isRoot?: boolean, isNew?: boolean): ItemResource<ItemTypeType>;
319
- createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType>>;
319
+ createItemResources<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType, Fields>>;
320
320
  processLinkedItems<ItemTypeType extends ItemType>(linkedEntries: ItemTypeMap<ItemEntry[]>): ItemResourcesItemTypeMap<ItemResource<ItemTypeType>>;
321
321
  createCollectionResource<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>, initialEntries: Array<ItemEntry<ItemTypeType>>): CollectionResource<ItemTypeType>;
322
322
  getChangesFromItemChanges<ItemTypeType extends ItemType = any>(changesObject: TransactionItemEntryChanges<ItemTypeType>): FieldMap<ItemTypeType>;
@@ -1,15 +1,15 @@
1
1
  import { TransactionItemHandlerDependencyInterface } from '../../../interfaces';
2
2
  import { ItemEntry, ItemEntryOptions } from '../../../models';
3
- import { ApiQuery, ApiRequestColumns, DeregFunction, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
3
+ import { ApiQuery, ApiRequestColumns, ColumnIdTypeMap, DeregFunction, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
4
4
  import { ChangesDelta } from '../../ChangesDelta';
5
5
  import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta, ChangesDeltaResult } from '../../ChangesDeltaBase';
6
6
  import { ChangesDeltaItemCreateDelta, ColumnSubsetCache } from '../../index';
7
7
  import { ItemHandlerBase, ProcessItemEntryChangesResult } from '../ItemHandlerBase';
8
8
  import { TransactionCache } from './TransactionCache';
9
9
  import { TransactionValidator } from './TransactionValidator';
10
- export declare type TransactionItemEntryChanges<ItemTypeType extends ItemType = any> = {
11
- initial: FieldMap<ItemTypeType>;
12
- changes: FieldMap<ItemTypeType>;
10
+ export declare type TransactionItemEntryChanges<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
11
+ initial: FieldMap<ItemTypeType, Fields>;
12
+ changes: FieldMap<ItemTypeType, Fields>;
13
13
  };
14
14
  /**
15
15
  * @description
@@ -22,11 +22,11 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
22
22
  private validator?;
23
23
  deletedItems: ItemTypeMap<ItemEntry[]>;
24
24
  itemChanges: {
25
- [itemEntryId: number]: TransactionItemEntryChanges;
25
+ [itemEntryId: number]: TransactionItemEntryChanges<any, any>;
26
26
  };
27
27
  fieldChangeCallbacks: {
28
28
  [itemType: string]: {
29
- [itemId: string]: FieldChangeCallback[];
29
+ [itemId: string]: Array<FieldChangeCallback<any, any>>;
30
30
  };
31
31
  };
32
32
  constructor(dependencies: TransactionItemHandlerDependencyInterface, transaction: TransactionCache, validator?: TransactionValidator | undefined);
@@ -1,7 +1,7 @@
1
1
  import { CollectionEntryService, ColumnCache, KeyService, QueryService } from '../classes';
2
2
  import { CollectionEntry } from '../models/';
3
3
  import { CollectionOptionsInterface } from '../models/CollectionOptions';
4
- import { ItemType } from '../types/';
4
+ import { ColumnIdTypeMap, ItemType } from '../types/';
5
5
  import { ColumnSetFactory } from './ColumnSetFactory';
6
6
  export declare class CollectionEntryFactory {
7
7
  private collectionEntryService;
@@ -10,5 +10,5 @@ export declare class CollectionEntryFactory {
10
10
  private queryService;
11
11
  private columnCache;
12
12
  constructor(collectionEntryService: CollectionEntryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, queryService: QueryService, columnCache: ColumnCache);
13
- construct<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): CollectionEntry<ItemTypeType>;
13
+ construct<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType, Fields>): CollectionEntry<ItemTypeType, Fields>;
14
14
  }
@@ -2,7 +2,7 @@ import { ApiFormatter, ColumnUtil } from '../classes';
2
2
  import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
3
3
  import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
4
  import { ItemEntry, ItemResource } from '../models';
5
- import { ItemType } from '../types';
5
+ import { ColumnIdTypeMap, ItemType } from '../types';
6
6
  export declare class ItemResourceFactory {
7
7
  apiFormatter: ApiFormatter;
8
8
  errorHandler: ErrorHandlerInterface;
@@ -10,5 +10,5 @@ export declare class ItemResourceFactory {
10
10
  exceptionHandler: ExceptionHandlerInterface;
11
11
  columnUtil: ColumnUtil;
12
12
  constructor(apiFormatter: ApiFormatter, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, exceptionHandler: ExceptionHandlerInterface, columnUtil: ColumnUtil);
13
- construct<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, transaction: TransactionCache, isNew?: boolean): ItemResource<ItemTypeType>;
13
+ construct<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemEntry: ItemEntry<ItemTypeType>, transaction: TransactionCache, isNew?: boolean): ItemResource<ItemTypeType, Fields>;
14
14
  }
@@ -1,22 +1,22 @@
1
1
  import { CollectionEntryService, ColumnCache, ColumnExpansion, ColumnSet, KeyService, QueryService } from '../classes';
2
2
  import { ColumnSetFactory } from '../factories';
3
- import { CollectionQuery, EntryParentNull, ItemType, PromiseInterface } from '../types';
3
+ import { CollectionQuery, ColumnIdTypeMap, EntryParentNull, ItemType, PromiseInterface } from '../types';
4
4
  import { CollectionOptions } from './CollectionOptions';
5
- export declare class CollectionEntry<ItemTypeType extends ItemType = any> {
5
+ export declare class CollectionEntry<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
6
6
  private collectionEntryService;
7
7
  private queryService;
8
8
  private columnSetFactory;
9
9
  private keyService;
10
10
  private columnCache;
11
11
  itemType: ItemTypeType;
12
- options: CollectionOptions;
12
+ options: CollectionOptions<ItemTypeType, Fields>;
13
13
  id: number;
14
14
  parent: EntryParentNull;
15
15
  query: CollectionQuery;
16
16
  columns: ColumnSet<ItemTypeType>;
17
17
  reloadQueued: boolean;
18
18
  promise: PromiseInterface<this>;
19
- constructor(collectionEntryService: CollectionEntryService, queryService: QueryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, columnCache: ColumnCache, itemType: ItemTypeType, options: CollectionOptions);
19
+ constructor(collectionEntryService: CollectionEntryService, queryService: QueryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, columnCache: ColumnCache, itemType: ItemTypeType, options: CollectionOptions<ItemTypeType, Fields>);
20
20
  isLocal(): boolean;
21
21
  queueReload(): void;
22
22
  expandColumns(columnExpansion: ColumnExpansion<ItemTypeType>): void;
@@ -1,18 +1,18 @@
1
1
  import { CollectionResource, ItemResource } from '../models';
2
- import { ApiQuery, ApiRequestColumns, ApiRequestLimit, EntryParentNull, FieldChangeCallback, ItemType } from '../types';
3
- export declare type CollectionResourceCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>, isCalledAfterSocketUpdate: boolean) => void;
4
- export declare type CollectionResourceOnAddCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
5
- export declare type CollectionOptionsInterface<ItemTypeType extends ItemType> = Partial<CollectionOptions<ItemTypeType>>;
6
- export declare class CollectionOptions<ItemTypeType extends ItemType = any> {
2
+ import { ApiQuery, ApiRequestColumns, ApiRequestLimit, ColumnIdTypeMap, EntryParentNull, FieldChangeCallback, ItemType } from '../types';
3
+ export declare type CollectionResourceCallback<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any> = (itemResources: Array<ItemResource<ItemTypeType, Fields>>, collectionResource: CollectionResource<ItemTypeType, Fields>, isCalledAfterSocketUpdate: boolean) => void;
4
+ export declare type CollectionResourceOnAddCallback<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any> = (itemResources: Array<ItemResource<ItemTypeType, Fields>>, collectionResource: CollectionResource<ItemTypeType, Fields>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
5
+ export declare type CollectionOptionsInterface<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any> = Partial<CollectionOptions<ItemTypeType, Fields>>;
6
+ export declare class CollectionOptions<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
7
7
  columns: ApiRequestColumns;
8
8
  query: ApiQuery | null;
9
9
  queryColumns: ApiRequestColumns;
10
10
  parent: EntryParentNull;
11
11
  limit: ApiRequestLimit | null;
12
- onAdd: CollectionResourceOnAddCallback<ItemTypeType>;
13
- onRemove: CollectionResourceCallback<ItemTypeType>;
12
+ onAdd: CollectionResourceOnAddCallback<ItemTypeType, Fields>;
13
+ onRemove: CollectionResourceCallback<ItemTypeType, Fields>;
14
14
  onChange: FieldChangeCallback;
15
15
  custom: any;
16
16
  callOnAddWithInitialItems: boolean;
17
- constructor(values: CollectionOptionsInterface<ItemTypeType>);
17
+ constructor(values: CollectionOptionsInterface<ItemTypeType, Fields>);
18
18
  }
@@ -2,15 +2,15 @@ import { TransactionCache } from '../classes/cache/transaction/TransactionCache'
2
2
  import { ChangesDeltaResult } from '../classes/ChangesDeltaBase';
3
3
  import { CollectionResourceFactory } from '../factories';
4
4
  import { CollectionEntry, CollectionOptions, ItemEntry, ItemResource } from '../models';
5
- import { ApiRequestLimit, CompareFieldCallback, DeregFunction, FieldMap, ItemId, ItemResourceItemIdMap, ItemType, OnAddCallback, OnChangeCallback, OnRemoveCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../types';
6
- export declare class CollectionResource<ItemTypeType extends ItemType = any> {
5
+ import { ApiRequestLimit, ColumnIdTypeMap, CompareFieldCallback, DeregFunction, FieldMap, ItemId, ItemResourceItemIdMap, ItemType, OnAddCallback, OnChangeCallback, OnRemoveCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../types';
6
+ export declare class CollectionResource<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
7
7
  protected factory: CollectionResourceFactory;
8
- options: CollectionOptions<ItemTypeType>;
8
+ options: CollectionOptions<ItemTypeType, Fields>;
9
9
  transaction: TransactionCache;
10
- entry: CollectionEntry<ItemTypeType>;
10
+ entry: CollectionEntry<ItemTypeType, Fields>;
11
11
  columns: ResponseColumnItemTypeMap;
12
- items: Array<ItemResource<ItemTypeType>>;
13
- protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType>>;
12
+ items: Array<ItemResource<ItemTypeType, Fields>>;
13
+ protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType, Fields>>;
14
14
  private fieldChangeDeregFns;
15
15
  private readonly onChangeCallbacks;
16
16
  private readonly onAddCallbacks;
@@ -20,12 +20,12 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any> {
20
20
  * We store the ItemIds of the items that were taking out the collections so that we can include those when doing a not-in when having a limit
21
21
  */
22
22
  private removedItemIds;
23
- constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: Array<ItemEntry<ItemTypeType>>);
23
+ constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType, Fields>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: Array<ItemEntry<ItemTypeType>>);
24
24
  onConstruct(): void;
25
25
  setLimit(newLimit: number | ApiRequestLimit): void;
26
- onAdd(callback: OnAddCallback): DeregFunction;
27
- onChange(callback: OnChangeCallback): DeregFunction;
28
- onRemove(callback: OnRemoveCallback): DeregFunction;
26
+ onAdd(callback: OnAddCallback<ItemTypeType, Fields>): DeregFunction;
27
+ onChange(callback: OnChangeCallback<ItemTypeType, Fields>): DeregFunction;
28
+ onRemove(callback: OnRemoveCallback<ItemTypeType, Fields>): DeregFunction;
29
29
  __clear(): void;
30
30
  /**
31
31
  * @deprecated
@@ -34,29 +34,29 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any> {
34
34
  moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
35
35
  removeItems(idArray: ItemId[]): PromiseInterface<ChangesDeltaResult>;
36
36
  removeItem(itemId: ItemId): PromiseInterface<ChangesDeltaResult>;
37
- addItems(valuesArray: Array<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
37
+ addItems(valuesArray: Array<Partial<Fields>>): PromiseInterface<ChangesDeltaResult>;
38
38
  addItem(values: FieldMap<ItemTypeType>): PromiseInterface<ChangesDeltaResult>;
39
39
  getIdArray(): ItemId[];
40
- getItemById(itemId: number): ItemResource<ItemTypeType>;
41
- addItemResources(itemEntriesToBeAdded: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): Array<ItemResource<ItemTypeType>>;
40
+ getItemById(itemId: number): ItemResource<ItemTypeType, Fields>;
41
+ addItemResources(itemEntriesToBeAdded: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): Array<ItemResource<ItemTypeType, Fields>>;
42
42
  /**
43
43
  * @description
44
44
  * Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
45
45
  * Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
46
46
  */
47
- removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): Array<ItemResource<ItemTypeType>>;
48
- callOnAdd(itemResources: Array<ItemResource<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
49
- callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback, fields: FieldMap<ItemTypeType>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType>): void;
50
- callOnRemove(itemResources: Array<ItemResource<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): void;
51
- forEach(callback: (itemResource: ItemResource<ItemTypeType>) => void): void;
52
- filter(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): Array<ItemResource<ItemTypeType>>;
53
- first(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): ItemResource<ItemTypeType> | null;
54
- some(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): boolean;
55
- groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType>) => string | null)): {
56
- [key: string]: Array<ItemResource<ItemTypeType>>;
47
+ removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): Array<ItemResource<ItemTypeType, Fields>>;
48
+ callOnAdd(itemResources: Array<ItemResource<ItemTypeType, Fields>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
49
+ callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<Fields>, fields: FieldMap<ItemTypeType, Fields>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType, Fields>): void;
50
+ callOnRemove(itemResources: Array<ItemResource<ItemTypeType, Fields>>, isCalledAfterSocketUpdate: boolean): void;
51
+ forEach(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => void): void;
52
+ filter(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => boolean): Array<ItemResource<ItemTypeType, Fields>>;
53
+ first(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => boolean): ItemResource<ItemTypeType, Fields> | null;
54
+ some(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => boolean): boolean;
55
+ groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType, Fields>) => string | null)): {
56
+ [key: string]: Array<ItemResource<ItemTypeType, Fields>>;
57
57
  };
58
- map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType>) => U)): U[];
59
- reduce<U>(callback: (itemResource: ItemResource<ItemTypeType>, value: U) => U, value: U): U;
58
+ map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType, Fields>) => U)): U[];
59
+ reduce<U>(callback: (itemResource: ItemResource<ItemTypeType, Fields>, value: U) => U, value: U): U;
60
60
  /**
61
61
  * @description
62
62
  * Removes the reference to the {@link CollectionResource CollectionResource} from the {@link CollectionEntry CollectionEntry}
@@ -1,8 +1,8 @@
1
1
  import { TransactionCache } from '../classes';
2
2
  import { ItemResourceFactory } from '../factories';
3
3
  import { ItemEntry } from '../models';
4
- import { EntryParentNull, FieldMap, ItemType, PromiseInterface, ResponseColumn } from '../types';
5
- export declare class ItemResource<ItemTypeType extends ItemType = any> {
4
+ import { ColumnIdTypeMap, EntryParentNull, FieldMap, ItemType, PromiseInterface, ResponseColumn } from '../types';
5
+ export declare class ItemResource<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
6
6
  protected readonly factory: ItemResourceFactory;
7
7
  readonly entry: ItemEntry<ItemTypeType>;
8
8
  protected readonly _isNew: boolean;
@@ -10,16 +10,16 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
10
10
  columns: {
11
11
  [columnId: string]: ResponseColumn;
12
12
  };
13
- fields: FieldMap<ItemTypeType>;
14
- initial: Readonly<FieldMap<ItemTypeType>>;
13
+ fields: FieldMap<ItemTypeType, Fields>;
14
+ initial: Readonly<FieldMap<ItemTypeType, Fields>>;
15
15
  constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, _isNew: boolean, transaction: TransactionCache);
16
16
  onConstruct(): void;
17
17
  /**
18
18
  * @description
19
19
  * Updates the fields of the item and calls onChange, when updating many fields of many items it's better to create a {@link ChangesDelta ChangesDelta} yourself so all changes can be applied at once
20
20
  */
21
- setFields(values: FieldMap<ItemTypeType>): PromiseInterface<this>;
22
- copyFields(destination?: FieldMap<ItemTypeType>): FieldMap<ItemTypeType>;
21
+ setFields(values: Partial<Fields>): PromiseInterface<this>;
22
+ copyFields(destination?: FieldMap<ItemTypeType>): Fields;
23
23
  /**
24
24
  * Fetches the ItemResource's parent with the current fields
25
25
  *
@@ -33,7 +33,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
33
33
  * @deprecated
34
34
  * Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
35
35
  */
36
- callOnChange(previous: FieldMap<ItemTypeType>): void;
36
+ callOnChange(previous: Fields): void;
37
37
  /**
38
38
  * @description
39
39
  * Utility function to easily check if a field is changed.
@@ -50,7 +50,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
50
50
  * }
51
51
  * }
52
52
  */
53
- compareItemField(columnId: keyof FieldMap<ItemTypeType>, previous: FieldMap<ItemTypeType>): boolean;
53
+ compareItemField(columnId: keyof Fields, previous: Fields): boolean;
54
54
  hasChanges(): boolean;
55
55
  setTransactionParameters(parameters: any): void;
56
56
  /**
@@ -61,7 +61,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
61
61
  isLocal(): boolean;
62
62
  toJSON(): {
63
63
  columns: string[];
64
- fields: FieldMap<ItemTypeType>;
64
+ fields: Fields;
65
65
  entry: ItemEntry<ItemTypeType>;
66
66
  };
67
67
  /**
@@ -80,5 +80,5 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
80
80
  * @remark
81
81
  * Assumes the derived item's values are already cached
82
82
  */
83
- getDerivedValues(columnPath: string[]): Readonly<FieldMap> | undefined;
83
+ getDerivedValues<DerivedFields extends FieldMap = any>(columnPath: string[]): Readonly<DerivedFields> | undefined;
84
84
  }
@@ -1,11 +1,11 @@
1
1
  import { ColumnSet } from '../classes';
2
2
  import { TemplateFactory } from '../factories';
3
- import { ApiRequestColumnMap, ApiResponse, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
4
- export declare class Template<ItemTypeType extends ItemType = any> {
3
+ import { ApiRequestColumnMap, ApiResponse, ColumnIdTypeMap, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
4
+ export declare class Template<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
5
5
  itemType: ItemTypeType;
6
6
  response: ApiResponse;
7
7
  responseColumns: ResponseColumnItemTypeMap;
8
8
  columns: ColumnSet<ItemTypeType>;
9
9
  constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap);
10
- getFields(): FieldMap<ItemTypeType>;
10
+ getFields(): FieldMap<ItemTypeType, Fields>;
11
11
  }
@@ -13,9 +13,8 @@ export declare type EntryParentNull = EntryParent | null;
13
13
  * @description
14
14
  * Used for fields that belong to a specific itemType
15
15
  */
16
- export declare type FieldMap<_ItemTypeType extends ItemType = any> = {
17
- [key: string]: any;
18
- };
16
+ export declare type FieldMap<_ItemTypeType extends ItemType = any, Values = ColumnIdTypeMap> = Values;
17
+ export declare type ColumnIdTypeMap<Fields extends object = any> = Fields;
19
18
  export declare type ItemOptionsInterface = ItemEntryOptionsInterface;
20
19
  export interface CollectionDefinition<ItemTypeType extends ItemType = any> {
21
20
  itemType: ItemTypeType;
@@ -115,10 +114,10 @@ export interface FunctionChangesResolveSocketMessage extends SocketMessage {
115
114
  [key: string]: any;
116
115
  };
117
116
  }
118
- export declare type ItemResourceItemIdMap<T extends ItemResource<any> = ItemResource<any>> = {
117
+ export declare type ItemResourceItemIdMap<T extends ItemResource = ItemResource> = {
119
118
  [itemId: number]: T;
120
119
  };
121
- export declare type ItemResourcesItemTypeMap<T extends ItemResource<any> = ItemResource<any>> = {
120
+ export declare type ItemResourcesItemTypeMap<T extends ItemResource = ItemResource> = {
122
121
  [itemType: string]: T[];
123
122
  };
124
123
  export declare type ItemId = number;
@@ -230,34 +229,34 @@ export declare type ApiLinkTree = {
230
229
  * @description
231
230
  * Callback to determine if an item should be included in the create delta, return `false` to exclude the item
232
231
  */
233
- export declare type FilterItemEntryCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>) => boolean;
234
- export declare type ModifyFieldsCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>, itemIdConversionMap?: ItemIdConversionMap) => void;
232
+ export declare type FilterItemEntryCallback = <ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType, Fields>) => boolean;
233
+ export declare type ModifyFieldsCallback = <ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType, Fields>, itemIdConversionMap?: ItemIdConversionMap) => void;
235
234
  /**
236
235
  * @description
237
236
  * Returns 'false' if the field changed
238
237
  */
239
- export declare type CompareFieldCallback<ItemTypeType extends ItemType = any> = (field: keyof FieldMap<ItemTypeType>) => boolean;
240
- export declare type FieldChangeCallbackArgs<ItemTypeType extends ItemType = any> = {
238
+ export declare type CompareFieldCallback<Fields extends ColumnIdTypeMap, T extends keyof Fields = string> = (field: T) => boolean;
239
+ export declare type FieldChangeCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
241
240
  itemEntry: ItemEntry<ItemTypeType>;
242
- compareField: CompareFieldCallback;
243
- fields: FieldMap<ItemTypeType>;
241
+ compareField: CompareFieldCallback<Fields>;
242
+ fields: FieldMap<ItemTypeType, Fields>;
244
243
  isCalledAfterSocketUpdate: boolean;
245
- previous: FieldMap<ItemTypeType>;
244
+ previous: FieldMap<ItemTypeType, Fields>;
246
245
  };
247
- export declare type FieldChangeCallback<ItemTypeType extends ItemType = any> = (args: FieldChangeCallbackArgs<ItemTypeType>) => void;
246
+ export declare type FieldChangeCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = (args: FieldChangeCallbackArgs<ItemTypeType, Fields>) => void;
248
247
  export declare type DeregFunction = () => void;
249
- export declare type OnChangeCallbackArgs<ItemTypeType extends ItemType = any> = FieldChangeCallbackArgs<ItemTypeType>;
250
- export declare type OnChangeCallback<ItemTypeType extends ItemType = any> = FieldChangeCallback<ItemTypeType>;
251
- export declare type OnAddCallbackArgs<ItemTypeType extends ItemType = any> = {
252
- itemResources: Array<ItemResource<ItemTypeType>>;
253
- collectionResource: CollectionResource<ItemTypeType>;
248
+ export declare type OnChangeCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = FieldChangeCallbackArgs<ItemTypeType, Fields>;
249
+ export declare type OnChangeCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = FieldChangeCallback<ItemTypeType, Fields>;
250
+ export declare type OnAddCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
251
+ itemResources: Array<ItemResource<ItemTypeType, Fields>>;
252
+ collectionResource: CollectionResource<ItemTypeType, Fields>;
254
253
  isInitialCall: boolean;
255
254
  isCalledAfterSocketUpdate: boolean;
256
255
  };
257
- export declare type OnAddCallback<ItemTypeType extends ItemType = any> = (args: OnAddCallbackArgs<ItemTypeType>) => void;
258
- export declare type OnRemoveCallbackArgs<ItemTypeType extends ItemType = any> = {
259
- itemResources: Array<ItemResource<ItemTypeType>>;
260
- collectionResource: CollectionResource<ItemTypeType>;
256
+ export declare type OnAddCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = (args: OnAddCallbackArgs<ItemTypeType, Fields>) => void;
257
+ export declare type OnRemoveCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
258
+ itemResources: Array<ItemResource<ItemTypeType, Fields>>;
259
+ collectionResource: CollectionResource<ItemTypeType, Fields>;
261
260
  isCalledAfterSocketUpdate: boolean;
262
261
  };
263
- export declare type OnRemoveCallback<ItemTypeType extends ItemType = any> = (args: OnRemoveCallbackArgs<ItemTypeType>) => void;
262
+ export declare type OnRemoveCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = (args: OnRemoveCallbackArgs<ItemTypeType, Fields>) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rentman/rm-core",
3
- "version": "6.2.4",
3
+ "version": "6.3.0",
4
4
  "description": "Rentman core functionalities",
5
5
  "main": "./dist/rm-core.js",
6
6
  "types": "./dist/types/index.d.ts",