@rentman/rm-core 9.1.2 → 9.2.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.
Files changed (56) hide show
  1. package/changelog.md +6 -0
  2. package/dist/rm-core.js +1617 -1475
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/types/classes/ApiFormatter.d.ts +9 -9
  5. package/dist/types/classes/ApiResponseProcessor.d.ts +4 -4
  6. package/dist/types/classes/CacheSyncer.d.ts +6 -6
  7. package/dist/types/classes/ChangesDelta.d.ts +3 -3
  8. package/dist/types/classes/ChangesDeltaBase.d.ts +9 -4
  9. package/dist/types/classes/CollectionEntryService.d.ts +3 -3
  10. package/dist/types/classes/ColumnCache.d.ts +2 -4
  11. package/dist/types/classes/ColumnExpansion.d.ts +6 -8
  12. package/dist/types/classes/ColumnInfo.d.ts +5 -4
  13. package/dist/types/classes/ColumnSet.d.ts +12 -12
  14. package/dist/types/classes/ConversionMapService.d.ts +4 -4
  15. package/dist/types/classes/CreateRequest.d.ts +1 -1
  16. package/dist/types/classes/InternalChangesDelta.d.ts +3 -3
  17. package/dist/types/classes/ItemCache.d.ts +5 -5
  18. package/dist/types/classes/ItemCreateService.d.ts +2 -2
  19. package/dist/types/classes/KeyService.d.ts +1 -1
  20. package/dist/types/classes/LockService.d.ts +1 -1
  21. package/dist/types/classes/ParentChangesDelta.d.ts +2 -2
  22. package/dist/types/classes/QueryColumnExtractor.d.ts +11 -11
  23. package/dist/types/classes/QueryContainsLocalIdParser.d.ts +13 -11
  24. package/dist/types/classes/QueryLinkedToParser.d.ts +11 -9
  25. package/dist/types/classes/QueryLocallyMatchableParser.d.ts +11 -9
  26. package/dist/types/classes/QueryMatcher.d.ts +9 -3
  27. package/dist/types/classes/QueryParser.d.ts +1 -1
  28. package/dist/types/classes/QueryParserIdUpdater.d.ts +11 -9
  29. package/dist/types/classes/RequestBufferManager.d.ts +14 -2
  30. package/dist/types/classes/SocketMessageHandler.d.ts +3 -3
  31. package/dist/types/classes/TemplateCache.d.ts +3 -3
  32. package/dist/types/classes/Util.d.ts +4 -4
  33. package/dist/types/classes/cache/AbstractCache.d.ts +1 -1
  34. package/dist/types/classes/cache/CachedQueryHandlerBase.d.ts +14 -14
  35. package/dist/types/classes/cache/ItemHandlerBase.d.ts +4 -4
  36. package/dist/types/classes/cache/server/ServerCachedQueryHandler.d.ts +1 -1
  37. package/dist/types/classes/cache/server/ServerItemHandler.d.ts +3 -3
  38. package/dist/types/classes/cache/transaction/TransactionCache.d.ts +14 -13
  39. package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +6 -4
  40. package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +2 -2
  41. package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +6 -7
  42. package/dist/types/core.d.ts +1 -1
  43. package/dist/types/factories/ApiResponseProcessorFactory.d.ts +2 -2
  44. package/dist/types/factories/CollectionEntryFactory.d.ts +3 -3
  45. package/dist/types/factories/CollectionResourceFactory.d.ts +1 -1
  46. package/dist/types/factories/ColumnInfoFactory.d.ts +2 -2
  47. package/dist/types/factories/ItemResourceFactory.d.ts +3 -3
  48. package/dist/types/factories/QueryMatcherFactory.d.ts +1 -1
  49. package/dist/types/interfaces/PromiseLibraryInterface.d.ts +3 -3
  50. package/dist/types/models/CollectionEntry.d.ts +3 -3
  51. package/dist/types/models/CollectionOptions.d.ts +8 -6
  52. package/dist/types/models/CollectionResource.d.ts +20 -20
  53. package/dist/types/models/ItemResource.d.ts +2 -2
  54. package/dist/types/models/Template.d.ts +1 -1
  55. package/dist/types/types/ItemTypesCollection.d.ts +23 -21
  56. package/package.json +8 -6
@@ -1,12 +1,12 @@
1
- import { ApiEnumItemType, ApiFields, ItemId } from '@rentman/backend-types';
2
- import { ApiRequestLimit, ChangesDeltaResult, ChildCollectionResourcesNull, CollectionEntry, CollectionOptions, CollectionResourceFactory, CompareFieldCallback, DeregFunction, FieldMap, ItemEntry, ItemResource, OnAddCallback, OnChangeCallback, OnRemoveCallback, PromiseInterface, ResponseColumnItemTypeMap, TransactionCache } from '../internal';
3
- export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>, Children extends ChildCollectionResourcesNull = any> {
1
+ import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
2
+ import { ApiRequestLimit, ChangesDeltaResult, ChildCollectionResourcesNull, CollectionEntry, CollectionOptions, CollectionResourceFactory, CompareFieldCallback, DeregFunction, FieldMap, ItemEntry, ItemResource, ItemTypeColumnIds, OnAddCallback, OnChangeCallback, OnRemoveCallback, PromiseInterface, ResponseColumnItemTypeMap, TransactionCache } from '../internal';
3
+ export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> {
4
4
  protected factory: CollectionResourceFactory;
5
5
  options: CollectionOptions<ItemTypeType, ColumnIds>;
6
6
  transaction: TransactionCache;
7
7
  entry: CollectionEntry<ItemTypeType, ColumnIds>;
8
8
  columns: ResponseColumnItemTypeMap;
9
- items: Array<ItemResource<ItemTypeType, ColumnIds, Children>>;
9
+ items: ItemResource<ItemTypeType, ColumnIds, Children>[];
10
10
  protected itemIdMap: {
11
11
  [itemId: number]: ItemResource<ItemTypeType, ColumnIds, Children>;
12
12
  };
@@ -19,7 +19,7 @@ export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = a
19
19
  * 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
20
20
  */
21
21
  private removedItemIds;
22
- constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType, ColumnIds>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: Array<ItemEntry<ItemTypeType>>, childCollectionResourceMap: Children);
22
+ constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType, ColumnIds>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: ItemEntry<ItemTypeType>[], childCollectionResourceMap: Children);
23
23
  onConstruct(): void;
24
24
  /**
25
25
  * @description
@@ -35,10 +35,10 @@ export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = a
35
35
  * @deprecated
36
36
  * Use {@link ChangesDelta.setItemMoved ChangesDelta.setItemMoved}
37
37
  */
38
- moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
38
+ moveItems(itemEntries: ItemEntry<ItemTypeType>[], destinationResource: CollectionResource<ItemTypeType>): void;
39
39
  removeItems(idArray: ItemId[]): PromiseInterface<ChangesDeltaResult>;
40
40
  removeItem(itemId: ItemId): PromiseInterface<ChangesDeltaResult>;
41
- addItems(valuesArray: Array<Partial<FieldMap<ItemTypeType, ColumnIds>>>): PromiseInterface<ChangesDeltaResult>;
41
+ addItems(valuesArray: Partial<FieldMap<ItemTypeType, ColumnIds>>[]): PromiseInterface<ChangesDeltaResult>;
42
42
  addItem(values: Partial<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
43
43
  getIdArray(): ItemId[];
44
44
  getItemById(itemId: ItemId): ItemResource<ItemTypeType, ColumnIds, Children>;
@@ -46,29 +46,22 @@ export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = a
46
46
  * Creates item resources and adds them to the `items` array.
47
47
  * @param itemEntriesToBeAdded
48
48
  */
49
- addItemEntries(itemEntriesToBeAdded: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<Array<ItemResource<ItemTypeType, ColumnIds, Children>>>;
50
- /**
51
- * Creates item resources and adds them to the `items` array. This function is also called when the collection
52
- * resource is constructed. When adding item resources to the collection externally, {@link addItemEntries} should
53
- * be called.
54
- * @param itemEntriesToBeAdded - These item entries are assumed not to be in the collection yet.
55
- */
56
- private addItemResources;
49
+ addItemEntries(itemEntriesToBeAdded: ItemEntry<ItemTypeType>[], isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<ItemResource<ItemTypeType, ColumnIds, Children>[]>;
57
50
  /**
58
51
  * @description
59
52
  * Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
60
53
  * Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
61
54
  */
62
- removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): Array<ItemResource<ItemTypeType, ColumnIds, Children>>;
63
- callOnAdd(itemResources: Array<ItemResource<ItemTypeType, ColumnIds, Children>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
55
+ removeItemResources(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean): ItemResource<ItemTypeType, ColumnIds, Children>[];
56
+ callOnAdd(itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
64
57
  callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<FieldMap<ItemTypeType, ColumnIds>>, fields: FieldMap<ItemTypeType, ColumnIds>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType, ColumnIds>): void;
65
- callOnRemove(itemResources: Array<ItemResource<ItemTypeType, ColumnIds, Children>>, isCalledAfterSocketUpdate: boolean): void;
58
+ callOnRemove(itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], isCalledAfterSocketUpdate: boolean): void;
66
59
  forEach(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => void): void;
67
- filter(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): Array<ItemResource<ItemTypeType, ColumnIds, Children>>;
60
+ filter(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children>[];
68
61
  first(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children> | null;
69
62
  some(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): boolean;
70
63
  groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => string | null)): {
71
- [key: string]: Array<ItemResource<ItemTypeType, ColumnIds, Children>>;
64
+ [key: string]: ItemResource<ItemTypeType, ColumnIds, Children>[];
72
65
  };
73
66
  map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => U)): U[];
74
67
  reduce<U>(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>, value: U) => U, value: U): U;
@@ -80,6 +73,13 @@ export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = a
80
73
  * - Doesn't revert changes on the items themselves
81
74
  */
82
75
  clearResource(): void;
76
+ /**
77
+ * Creates item resources and adds them to the `items` array. This function is also called when the collection
78
+ * resource is constructed. When adding item resources to the collection externally, {@link addItemEntries} should
79
+ * be called.
80
+ * @param itemEntriesToBeAdded - These item entries are assumed not to be in the collection yet.
81
+ */
82
+ private addItemResources;
83
83
  private registerListeners;
84
84
  private __registerCallback;
85
85
  private limitAfterRemove;
@@ -1,10 +1,10 @@
1
1
  import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
2
- import { CollectionResource, EntryParentNull, ExtractApiItemType, FieldMap, ItemEntry, ItemResourceFactory, PromiseInterface, ResponseColumnMap, TransactionCache } from '../internal';
2
+ import { CollectionResource, EntryParentNull, ExtractApiItemType, FieldMap, ItemEntry, ItemResourceFactory, ItemTypeColumnIds, PromiseInterface, ResponseColumnMap, TransactionCache } from '../internal';
3
3
  export declare type ChildCollectionResources = {
4
4
  [ChildItemType in ApiEnumItemType]?: CollectionResource<ChildItemType>;
5
5
  };
6
6
  export declare type ChildCollectionResourcesNull = ChildCollectionResources | null;
7
- export declare class ItemResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>, Children extends ChildCollectionResourcesNull = any> {
7
+ export declare class ItemResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> {
8
8
  protected readonly factory: ItemResourceFactory;
9
9
  readonly entry: ItemEntry<ItemTypeType>;
10
10
  protected readonly transaction: TransactionCache;
@@ -1,6 +1,6 @@
1
1
  import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
2
2
  import { ApiRequestColumnMap, ApiResponse, ColumnSet, FieldMap, ItemTypeMap, ResponseColumnItemTypeMap, TemplateFactory } from '../internal';
3
- export declare class Template<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any> {
3
+ export declare class Template<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> {
4
4
  itemType: ItemTypeType;
5
5
  response: ApiResponse;
6
6
  additionalRequestColumns: ApiRequestColumnMap;
@@ -56,7 +56,9 @@ export declare type EntryParent<ItemTypeType extends ApiEnumItemType = any> = {
56
56
  itemId: ItemId;
57
57
  };
58
58
  export declare type EntryParentNull<ItemTypeType extends ApiEnumItemType = any> = EntryParent<ItemTypeType> | null;
59
- export declare type FieldMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = {
59
+ export declare type ItemTypeColumnId<ItemTypeType extends ApiEnumItemType = any> = keyof ApiFields[ItemTypeType];
60
+ export declare type ItemTypeColumnIds<ItemTypeType extends ApiEnumItemType = any> = ItemTypeColumnId<ItemTypeType>[];
61
+ export declare type FieldMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = {
60
62
  [ColumnId in ColumnIds[number]]: GetFieldValueType<ItemTypeType, ColumnId>;
61
63
  };
62
64
  export declare type ExtractApiType<T> = T extends {
@@ -196,7 +198,7 @@ export declare type ParentItemMap<T> = {
196
198
  };
197
199
  };
198
200
  export declare type ItemEntryMap<ItemTypeType extends ApiEnumItemType = any> = ItemMap<ItemEntry<ItemTypeType>>;
199
- export declare type ItemEntryParentIdMap<ItemTypeType extends ApiEnumItemType> = ParentIdMap<Array<ItemEntry<ItemTypeType>>>;
201
+ export declare type ItemEntryParentIdMap<ItemTypeType extends ApiEnumItemType> = ParentIdMap<ItemEntry<ItemTypeType>[]>;
200
202
  export declare type ConversionMap = {
201
203
  [itemId: number]: number;
202
204
  };
@@ -211,8 +213,8 @@ export declare type CollectionQuery = {
211
213
  object: BackendApiQuery;
212
214
  string: string;
213
215
  };
214
- export declare type CollectionResourceParentIdMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any> = ParentIdMap<CollectionResource<ItemTypeType, ColumnIds>>;
215
- export declare type ResponseColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any> = {
216
+ export declare type CollectionResourceParentIdMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = any> = ParentIdMap<CollectionResource<ItemTypeType, ColumnIds>>;
217
+ export declare type ResponseColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> = {
216
218
  [ColumnId in ColumnIds[number]]: GetColumnType<ItemTypeType, ColumnId>;
217
219
  };
218
220
  export declare type ResponseColumnItemTypeMap = {
@@ -222,7 +224,7 @@ export declare type ColumnExpansionResult<ItemTypeType extends ApiEnumItemType =
222
224
  merged: ColumnSet<ItemTypeType>;
223
225
  difference: ColumnSet<ItemTypeType>;
224
226
  };
225
- export declare type RootColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any> = {
227
+ export declare type RootColumnMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> = {
226
228
  [ColumnId in ColumnIds[number]]: {
227
229
  apiColumn: GetColumnType<ItemTypeType, ColumnId>;
228
230
  children: RootColumnMap;
@@ -297,47 +299,47 @@ export declare type ApiLinkTree = {
297
299
  * @description
298
300
  * Callback to determine if an item should be included in the create delta, return `false` to exclude the item
299
301
  */
300
- export declare type FilterItemEntryCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>) => boolean;
301
- export declare type ModifyFieldsCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>, itemIdConversionMap?: ItemIdConversionMap) => void;
302
+ export declare type FilterItemEntryCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>) => boolean;
303
+ export declare type ModifyFieldsCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (itemType: ItemTypeType, fields: FieldMap<ItemTypeType, ColumnIds>, itemIdConversionMap?: ItemIdConversionMap) => void;
302
304
  /**
303
305
  * @description
304
306
  * Returns 'false' if the field changed
305
307
  */
306
308
  export declare type CompareFieldCallback<Fields extends FieldMap, T extends keyof Fields = string> = (field: T) => boolean;
307
- export declare type FieldChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = {
309
+ export declare type FieldChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = {
308
310
  itemEntry: ItemEntry<ItemTypeType>;
309
311
  compareField: CompareFieldCallback<ColumnIds>;
310
312
  fields: FieldMap<ItemTypeType, ColumnIds>;
311
313
  isCalledAfterSocketUpdate: boolean;
312
314
  previous: FieldMap<ItemTypeType, ColumnIds>;
313
315
  };
314
- export declare type FieldChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = (args: FieldChangeCallbackArgs<ItemTypeType, ColumnIds>) => void;
316
+ export declare type FieldChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = (args: FieldChangeCallbackArgs<ItemTypeType, ColumnIds>) => void;
315
317
  export declare type DeregFunction = () => void;
316
- export declare type OnChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = FieldChangeCallbackArgs<ItemTypeType, ColumnIds>;
317
- export declare type OnChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = FieldChangeCallback<ItemTypeType, ColumnIds>;
318
- export declare type OnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]>, Children extends ChildCollectionResourcesNull> = (args: {
319
- itemResources: Array<ItemResource<ItemTypeType, ColumnIds, Children>>;
318
+ export declare type OnChangeCallbackArgs<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = FieldChangeCallbackArgs<ItemTypeType, ColumnIds>;
319
+ export declare type OnChangeCallback<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> = FieldChangeCallback<ItemTypeType, ColumnIds>;
320
+ export declare type OnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull> = (args: {
321
+ itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[];
320
322
  collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>;
321
323
  isInitialCall: boolean;
322
324
  isCalledAfterSocketUpdate: boolean;
323
325
  }) => void;
324
- export declare type OnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]>, Children extends ChildCollectionResourcesNull> = (args: {
325
- itemResources: Array<ItemResource<ItemTypeType, ColumnIds, Children>>;
326
+ export declare type OnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull> = (args: {
327
+ itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[];
326
328
  collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>;
327
329
  isCalledAfterSocketUpdate: boolean;
328
330
  }) => void;
329
- /************************************/
330
- export declare type ApiQueryConditionComparatorShort<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = any> = BackendApiQueryConditionComparatorShort<ItemTypeType, ColumnId> & {
331
+ /** **********************************/
332
+ export declare type ApiQueryConditionComparatorShort<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> = BackendApiQueryConditionComparatorShort<ItemTypeType, ColumnId> & {
331
333
  [_T in ColumnId]: 'NOW' | ApiEnumApiTypeTsTypeMapping[ExtractApiType<ApiFields[ItemTypeType][ColumnId]>];
332
334
  };
333
- export interface ApiQueryConditionComparator<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = keyof ApiFields[ItemTypeType]> extends BackendTypesApiQueryConditionComparator {
335
+ export interface ApiQueryConditionComparator<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = ItemTypeColumnId<ItemTypeType>> extends BackendTypesApiQueryConditionComparator {
334
336
  value: 'NOW' | ApiEnumApiTypeTsTypeMapping[ExtractApiType<ApiFields[ItemTypeType][ColumnId]>];
335
337
  }
336
- declare type ApiQueryCondition<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]> = ApiQueryConditionComparatorShort<ItemTypeType, ColumnId> | ApiQueryConditionComparator<ItemTypeType, ColumnId> | ApiQueryConditionIn<ItemTypeType, ColumnId> | ApiQueryConditionInShort<ItemTypeType, ColumnId> | ApiQueryConditionLinkedTo | ApiQueryConditionSubQuery<ItemTypeType> | ApiQueryConditionSearch | ApiQueryConditionCustom;
338
+ declare type ApiQueryCondition<ItemTypeType extends ApiEnumItemType, ColumnId extends ItemTypeColumnId<ItemTypeType>> = ApiQueryConditionComparatorShort<ItemTypeType, ColumnId> | ApiQueryConditionComparator<ItemTypeType, ColumnId> | ApiQueryConditionIn<ItemTypeType, ColumnId> | ApiQueryConditionInShort<ItemTypeType, ColumnId> | ApiQueryConditionLinkedTo | ApiQueryConditionSubQuery<ItemTypeType> | ApiQueryConditionSearch | ApiQueryConditionCustom;
337
339
  export declare type ApiQueryWithConditions<ItemTypeType extends ApiEnumItemType = any> = {
338
340
  operator?: 'and' | 'AND' | 'or' | 'OR';
339
- conditions: Array<ApiQuery<ItemTypeType>>;
341
+ conditions: ApiQuery<ItemTypeType>[];
340
342
  not?: boolean;
341
343
  };
342
- export declare type ApiQuery<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = any> = ApiQueryWithConditions<ItemTypeType> | ApiQueryCondition<ItemTypeType, ColumnId>;
344
+ export declare type ApiQuery<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> = ApiQueryWithConditions<ItemTypeType> | ApiQueryCondition<ItemTypeType, ColumnId>;
343
345
  export {};
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@rentman/rm-core",
3
- "version": "9.1.2",
3
+ "version": "9.2.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": "*",
9
- "@babel/runtime": "^7.8.3"
8
+ "@babel/runtime": "^7.8.3",
9
+ "@rentman/backend-types": "*"
10
10
  },
11
11
  "repository": {
12
12
  "type": "git",
@@ -26,13 +26,15 @@
26
26
  "@types/q": "^1.5.0",
27
27
  "clean-webpack-plugin": "^0.1.19",
28
28
  "ts-loader": "^6.2.1",
29
- "tslint": "5.19.0",
30
29
  "typescript": "^3.9.2",
31
- "typescript-tslint-plugin": "^0.5.5",
32
30
  "uglifyjs-webpack-plugin": "^1.2.5",
33
31
  "webpack": "4.41.2",
34
32
  "webpack-cli": "3.3.6",
35
- "webpack-merge": "^4.1.4"
33
+ "webpack-merge": "^4.1.4",
34
+ "@typescript-eslint/eslint-plugin": "^2.22.0",
35
+ "@typescript-eslint/parser": "^2.22.0",
36
+ "eslint": "^6.8.0",
37
+ "eslint-plugin-import": "^2.20.1"
36
38
  },
37
39
  "files": [
38
40
  "dist"