@rentman/rm-core 12.1.2 → 12.1.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.
Files changed (146) hide show
  1. package/changelog.md +1509 -1495
  2. package/dist/rm-core.js +909 -965
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/types/src/FieldLookupProxy.d.ts +4 -4
  5. package/dist/types/src/classes/ApiFormatter.d.ts +56 -76
  6. package/dist/types/src/classes/ApiRequestService.d.ts +18 -18
  7. package/dist/types/src/classes/ApiResponseProcessor.d.ts +29 -29
  8. package/dist/types/src/classes/BusinessLogicManager/BusinessLogicManager.d.ts +100 -100
  9. package/dist/types/src/classes/BusinessLogicManager/BusinessLogicRule.d.ts +93 -93
  10. package/dist/types/src/classes/BusinessLogicManager/Customfield/CustomFieldTypeBusinessLogicRule.d.ts +17 -17
  11. package/dist/types/src/classes/BusinessLogicManager/Documents/DocumentTemplateBusinessLogicRule.d.ts +24 -24
  12. package/dist/types/src/classes/BusinessLogicManager/Exemplaar/ExemplaarAanschafdatumBusinessLogicRule.d.ts +13 -13
  13. package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurBetalingsconditieBusinessLogicRule.d.ts +19 -19
  14. package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurDatumBusinessLogicRule.d.ts +18 -18
  15. package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurNumberseriesBusinessLogicRule.d.ts +13 -13
  16. package/dist/types/src/classes/BusinessLogicManager/Functie/FunctieNaaminternBusinessLogicRule.d.ts +17 -17
  17. package/dist/types/src/classes/BusinessLogicManager/Functie/FunctieTwowayBusinessLogicRule.d.ts +13 -13
  18. package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalTelexemplarenBusinessLogicRule.d.ts +15 -15
  19. package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalTypeBusinessLogicRule.d.ts +17 -17
  20. package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalVerhuurBusinessLogicRule.d.ts +17 -17
  21. package/dist/types/src/classes/BusinessLogicManager/Materiaal/SurfaceArticleSizeBusinessLogicRule.d.ts +18 -18
  22. package/dist/types/src/classes/BusinessLogicManager/OfferteContract/OfferteContractDatumBusinessLogicRule.d.ts +25 -25
  23. package/dist/types/src/classes/BusinessLogicManager/PlanningPersoneelTransport/PlanningPersoneelTransportBusinessLogicRule.d.ts +28 -28
  24. package/dist/types/src/classes/BusinessLogicManager/Project/ProjectClientNoteBusinessLogicRule.d.ts +22 -22
  25. package/dist/types/src/classes/BusinessLogicManager/Reparatie/ReparatieExemplaarAantalBusinessLogicRule.d.ts +13 -13
  26. package/dist/types/src/classes/BusinessLogicManager/Reparatie/ReparatieExemplaarLocationBusinessLogicRule.d.ts +23 -23
  27. package/dist/types/src/classes/BusinessLogicManager/Rol/RolDocumentAccessBusinessLogicRule.d.ts +17 -17
  28. package/dist/types/src/classes/BusinessLogicManager/Rol/RolEditOwnDataBusinessLogicRule.d.ts +17 -17
  29. package/dist/types/src/classes/BusinessLogicManager/Rol/RolFileAccessBusinessLogicRule.d.ts +17 -17
  30. package/dist/types/src/classes/BusinessLogicManager/Rol/RolPersoneelsplannerToegangBusinessLogicRule.d.ts +17 -17
  31. package/dist/types/src/classes/BusinessLogicManager/Rol/RolProjectenBewerkenBusinessLogicRule.d.ts +17 -17
  32. package/dist/types/src/classes/BusinessLogicManager/Rol/RolProjectenToegangBusinessLogicRule.d.ts +17 -17
  33. package/dist/types/src/classes/CacheSyncer.d.ts +71 -71
  34. package/dist/types/src/classes/ChangesCompilation.d.ts +33 -33
  35. package/dist/types/src/classes/ChangesDelta.d.ts +65 -65
  36. package/dist/types/src/classes/ChangesDeltaBase.d.ts +103 -88
  37. package/dist/types/src/classes/ChangesProcessor.d.ts +40 -40
  38. package/dist/types/src/classes/CollectionEntryService.d.ts +24 -24
  39. package/dist/types/src/classes/CollectionResourceService.d.ts +6 -6
  40. package/dist/types/src/classes/ColumnCache.d.ts +19 -19
  41. package/dist/types/src/classes/ColumnExpansion.d.ts +19 -19
  42. package/dist/types/src/classes/ColumnHandler.d.ts +20 -20
  43. package/dist/types/src/classes/ColumnInfo.d.ts +15 -15
  44. package/dist/types/src/classes/ColumnSet.d.ts +37 -37
  45. package/dist/types/src/classes/ColumnUtil.d.ts +108 -108
  46. package/dist/types/src/classes/ConversionMapService.d.ts +25 -25
  47. package/dist/types/src/classes/CreateRequest.d.ts +17 -17
  48. package/dist/types/src/classes/CreatedChangesDelta.d.ts +17 -17
  49. package/dist/types/src/classes/InternalChangesDelta.d.ts +44 -44
  50. package/dist/types/src/classes/ItemCache.d.ts +27 -27
  51. package/dist/types/src/classes/ItemCreateService.d.ts +18 -18
  52. package/dist/types/src/classes/ItemEntryService.d.ts +32 -32
  53. package/dist/types/src/classes/KeyService.d.ts +18 -18
  54. package/dist/types/src/classes/LockService.d.ts +28 -28
  55. package/dist/types/src/classes/ModuleChangesCompilation.d.ts +17 -17
  56. package/dist/types/src/classes/ParentChangesDelta.d.ts +41 -41
  57. package/dist/types/src/classes/QueryColumnExtractor.d.ts +18 -18
  58. package/dist/types/src/classes/QueryContainsLocalIdParser.d.ts +17 -17
  59. package/dist/types/src/classes/QueryLinkedToParser.d.ts +17 -17
  60. package/dist/types/src/classes/QueryLocallyMatchableParser.d.ts +20 -20
  61. package/dist/types/src/classes/QueryMatcher.d.ts +25 -25
  62. package/dist/types/src/classes/QueryParser.d.ts +25 -25
  63. package/dist/types/src/classes/QueryParserBase.d.ts +20 -20
  64. package/dist/types/src/classes/QueryParserIdUpdater.d.ts +17 -17
  65. package/dist/types/src/classes/QueryService.d.ts +12 -12
  66. package/dist/types/src/classes/RequestBuffer.d.ts +26 -26
  67. package/dist/types/src/classes/RequestBufferManager.d.ts +21 -21
  68. package/dist/types/src/classes/RequestColumnExpansion.d.ts +13 -13
  69. package/dist/types/src/classes/RequestColumnsOperationsCache.d.ts +46 -46
  70. package/dist/types/src/classes/SocketMessageHandler.d.ts +34 -34
  71. package/dist/types/src/classes/TemplateCache.d.ts +64 -64
  72. package/dist/types/src/classes/Util.d.ts +28 -28
  73. package/dist/types/src/classes/cache/AbstractCache.d.ts +85 -85
  74. package/dist/types/src/classes/cache/CachedQueryHandlerBase.d.ts +70 -70
  75. package/dist/types/src/classes/cache/ItemHandlerBase.d.ts +107 -107
  76. package/dist/types/src/classes/cache/server/ServerCache.d.ts +65 -65
  77. package/dist/types/src/classes/cache/server/ServerCachedQueryHandler.d.ts +27 -27
  78. package/dist/types/src/classes/cache/server/ServerItemHandler.d.ts +39 -39
  79. package/dist/types/src/classes/cache/transaction/TransactionCache.d.ts +298 -298
  80. package/dist/types/src/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +50 -50
  81. package/dist/types/src/classes/cache/transaction/TransactionCollectionHandler.d.ts +24 -24
  82. package/dist/types/src/classes/cache/transaction/TransactionEventHandler.d.ts +21 -21
  83. package/dist/types/src/classes/cache/transaction/TransactionItemHandler.d.ts +80 -80
  84. package/dist/types/src/classes/cache/transaction/TransactionValidator.d.ts +33 -33
  85. package/dist/types/src/constants.d.ts +7 -7
  86. package/dist/types/src/core.d.ts +48 -48
  87. package/dist/types/src/factories/ApiResponseProcessorFactory.d.ts +6 -6
  88. package/dist/types/src/factories/CacheSyncerFactory.d.ts +14 -14
  89. package/dist/types/src/factories/ChangesCompilationFactory.d.ts +5 -5
  90. package/dist/types/src/factories/ChangesDeltaFactory.d.ts +13 -13
  91. package/dist/types/src/factories/ChangesProcessorFactory.d.ts +13 -13
  92. package/dist/types/src/factories/CollectionEntryFactory.d.ts +11 -11
  93. package/dist/types/src/factories/CollectionResourceFactory.d.ts +18 -18
  94. package/dist/types/src/factories/ColumnExpansionFactory.d.ts +7 -7
  95. package/dist/types/src/factories/ColumnInfoFactory.d.ts +7 -7
  96. package/dist/types/src/factories/ColumnSetFactory.d.ts +18 -18
  97. package/dist/types/src/factories/CreateRequestFactory.d.ts +9 -9
  98. package/dist/types/src/factories/ItemCacheFactory.d.ts +6 -6
  99. package/dist/types/src/factories/ItemEntryFactory.d.ts +12 -12
  100. package/dist/types/src/factories/ItemResourceFactory.d.ts +11 -11
  101. package/dist/types/src/factories/ModuleChangesCompilationFactory.d.ts +6 -6
  102. package/dist/types/src/factories/QueryMatcherFactory.d.ts +8 -8
  103. package/dist/types/src/factories/QueryParserFactory.d.ts +5 -5
  104. package/dist/types/src/factories/RequestColumnExpansionFactory.d.ts +6 -6
  105. package/dist/types/src/factories/RequestColumnsOperationsCacheFactory.d.ts +8 -8
  106. package/dist/types/src/factories/TemplateFactory.d.ts +8 -8
  107. package/dist/types/src/factories/TransactionCacheFactory.d.ts +13 -13
  108. package/dist/types/src/index.d.ts +1 -1
  109. package/dist/types/src/interfaces/AbstractCacheDependencyInterface.d.ts +38 -38
  110. package/dist/types/src/interfaces/ApiRequestServiceInterface.d.ts +12 -12
  111. package/dist/types/src/interfaces/AuthInterface.d.ts +10 -10
  112. package/dist/types/src/interfaces/ErrorHandlerInterface.d.ts +6 -6
  113. package/dist/types/src/interfaces/ExceptionHandlerInterface.d.ts +3 -3
  114. package/dist/types/src/interfaces/LinkTreeServiceInterface.d.ts +4 -4
  115. package/dist/types/src/interfaces/PromiseLibraryInterface.d.ts +33 -33
  116. package/dist/types/src/interfaces/ServerCacheDependencyInterface.d.ts +5 -5
  117. package/dist/types/src/interfaces/SocketMessageInterface.d.ts +3 -3
  118. package/dist/types/src/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +17 -17
  119. package/dist/types/src/interfaces/TransactionItemHandlerDependencyInterface.d.ts +22 -22
  120. package/dist/types/src/internal.d.ts +128 -128
  121. package/dist/types/src/models/CachedQueryItem.d.ts +40 -40
  122. package/dist/types/src/models/CollectionEntry.d.ts +22 -22
  123. package/dist/types/src/models/CollectionOptions.d.ts +44 -44
  124. package/dist/types/src/models/CollectionResource.d.ts +87 -87
  125. package/dist/types/src/models/ItemEntry.d.ts +19 -19
  126. package/dist/types/src/models/ItemEntryOptions.d.ts +8 -8
  127. package/dist/types/src/models/ItemResource.d.ts +95 -95
  128. package/dist/types/src/models/Template.d.ts +11 -11
  129. package/dist/types/src/types/ItemTypesCollection.d.ts +361 -361
  130. package/dist/types/src/types/PromiseInterface.d.ts +2 -2
  131. package/dist/types/tests/integration/core.test.d.ts +1 -1
  132. package/dist/types/tests/integration/helpers/helpers.d.ts +32 -32
  133. package/dist/types/tests/integration/transactions/field_lookup.test.d.ts +1 -1
  134. package/dist/types/tests/integration/transactions/get_by.test.d.ts +1 -1
  135. package/dist/types/tests/integration/transactions/updates.test.d.ts +1 -1
  136. package/dist/types/tests/mocks/ApiMocked.d.ts +19 -19
  137. package/dist/types/tests/mocks/PromiseLibrary.mocked.d.ts +2 -2
  138. package/dist/types/tests/regression/RM4_17754.test.d.ts +1 -1
  139. package/dist/types/tests/regression/RM4_18216.test.d.ts +1 -1
  140. package/dist/types/tests/unit/query_contains_local_id_parser.test.d.ts +1 -1
  141. package/dist/types/tests/unit/query_linked_to_parser.test.d.ts +1 -1
  142. package/dist/types/tests/unit/query_matcher.test.d.ts +1 -1
  143. package/dist/types/tests/unit/query_parser_id_updater.test.d.ts +1 -1
  144. package/dist/types/tests/unit/query_service.test.d.ts +1 -1
  145. package/package.json +57 -57
  146. package/readme.md +16 -16
@@ -1,44 +1,44 @@
1
- import { ApiEnumItemType } from '@rentman/backend-types';
2
- import { ApiQuery, ApiRequestColumns, ApiRequestLimit, ChildCollectionResourcesNull, CollectionResource, EntryParentNull, FieldChangeCallback, ItemEntry, ItemResource, ItemTypeColumnIds } from '../internal';
3
- export declare type CollectionResourceOnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> = (itemEntries: ItemEntry<ItemTypeType>[], collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>, isCalledAfterSocketUpdate: boolean) => void;
4
- export declare type CollectionResourceOnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> = (itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
5
- export declare type ChildCollectionOptions = {
6
- [ChildItemType in ApiEnumItemType]?: CollectionOptions<ChildItemType>;
7
- };
8
- export interface CollectionOptionsInterface<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> {
9
- columns?: ApiRequestColumns;
10
- query?: ApiQuery | null;
11
- queryColumns?: ApiRequestColumns;
12
- parent?: EntryParentNull;
13
- limit?: ApiRequestLimit | null;
14
- onAdd?: CollectionResourceOnAddCallback<ItemTypeType, ColumnIds>;
15
- onRemove?: CollectionResourceOnRemoveCallback<ItemTypeType, ColumnIds>;
16
- onChange?: FieldChangeCallback;
17
- custom?: any;
18
- callOnAddWithInitialItems?: boolean;
19
- children?: {
20
- [ChildItemType in ApiEnumItemType]?: CollectionOptionsInterface<ChildItemType>;
21
- } | null;
22
- preventCaching?: boolean;
23
- usePrivateBuffer?: boolean;
24
- }
25
- export declare class CollectionOptions<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> implements Required<CollectionOptionsInterface> {
26
- columns: ApiRequestColumns;
27
- query: ApiQuery | null;
28
- queryColumns: ApiRequestColumns;
29
- parent: EntryParentNull;
30
- limit: ApiRequestLimit | null;
31
- onAdd: CollectionResourceOnAddCallback<ItemTypeType, ColumnIds>;
32
- onRemove: CollectionResourceOnRemoveCallback<ItemTypeType, ColumnIds>;
33
- onChange: FieldChangeCallback;
34
- custom: any;
35
- callOnAddWithInitialItems: boolean;
36
- children: ChildCollectionOptions | null;
37
- /**
38
- * @description
39
- * Prevents a CachedQueryItem from being cached (the CollectionResource will still be cached), you can use this when you fetch an Itemtype for which the backend doesn't send socket messages (so it never automatically updates)
40
- */
41
- preventCaching: boolean;
42
- usePrivateBuffer: boolean;
43
- constructor(optionsInterface: CollectionOptionsInterface<ItemTypeType, ColumnIds>);
44
- }
1
+ import { ApiEnumItemType } from '@rentman/backend-types';
2
+ import { ApiQuery, ApiRequestColumns, ApiRequestLimit, ChildCollectionResourcesNull, CollectionResource, EntryParentNull, FieldChangeCallback, ItemEntry, ItemResource, ItemTypeColumnIds } from '../internal';
3
+ export declare type CollectionResourceOnRemoveCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> = (itemEntries: ItemEntry<ItemTypeType>[], collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>, isCalledAfterSocketUpdate: boolean) => void;
4
+ export declare type CollectionResourceOnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> = (itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], collectionResource: CollectionResource<ItemTypeType, ColumnIds, Children>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
5
+ export declare type ChildCollectionOptions = {
6
+ [ChildItemType in ApiEnumItemType]?: CollectionOptions<ChildItemType>;
7
+ };
8
+ export interface CollectionOptionsInterface<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> {
9
+ columns?: ApiRequestColumns;
10
+ query?: ApiQuery | null;
11
+ queryColumns?: ApiRequestColumns;
12
+ parent?: EntryParentNull;
13
+ limit?: ApiRequestLimit | null;
14
+ onAdd?: CollectionResourceOnAddCallback<ItemTypeType, ColumnIds>;
15
+ onRemove?: CollectionResourceOnRemoveCallback<ItemTypeType, ColumnIds>;
16
+ onChange?: FieldChangeCallback;
17
+ custom?: any;
18
+ callOnAddWithInitialItems?: boolean;
19
+ children?: {
20
+ [ChildItemType in ApiEnumItemType]?: CollectionOptionsInterface<ChildItemType>;
21
+ } | null;
22
+ preventCaching?: boolean;
23
+ usePrivateBuffer?: boolean;
24
+ }
25
+ export declare class CollectionOptions<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>> implements Required<CollectionOptionsInterface> {
26
+ columns: ApiRequestColumns;
27
+ query: ApiQuery | null;
28
+ queryColumns: ApiRequestColumns;
29
+ parent: EntryParentNull;
30
+ limit: ApiRequestLimit | null;
31
+ onAdd: CollectionResourceOnAddCallback<ItemTypeType, ColumnIds>;
32
+ onRemove: CollectionResourceOnRemoveCallback<ItemTypeType, ColumnIds>;
33
+ onChange: FieldChangeCallback;
34
+ custom: any;
35
+ callOnAddWithInitialItems: boolean;
36
+ children: ChildCollectionOptions | null;
37
+ /**
38
+ * @description
39
+ * Prevents a CachedQueryItem from being cached (the CollectionResource will still be cached), you can use this when you fetch an Itemtype for which the backend doesn't send socket messages (so it never automatically updates)
40
+ */
41
+ preventCaching: boolean;
42
+ usePrivateBuffer: boolean;
43
+ constructor(optionsInterface: CollectionOptionsInterface<ItemTypeType, ColumnIds>);
44
+ }
@@ -1,87 +1,87 @@
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
- protected factory: CollectionResourceFactory;
5
- options: CollectionOptions<ItemTypeType, ColumnIds>;
6
- transaction: TransactionCache;
7
- entry: CollectionEntry<ItemTypeType, ColumnIds>;
8
- columns: ResponseColumnItemTypeMap;
9
- items: ItemResource<ItemTypeType, ColumnIds, Children>[];
10
- protected itemIdMap: {
11
- [itemId: number]: ItemResource<ItemTypeType, ColumnIds, Children>;
12
- };
13
- private fieldChangeDeregFns;
14
- private readonly onChangeCallbacks;
15
- private readonly onAddCallbacks;
16
- private readonly onRemoveCallbacks;
17
- /**
18
- * @description
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
- */
21
- private removedItemIds;
22
- constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType, ColumnIds>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: ItemEntry<ItemTypeType>[], childCollectionResourceMap: Children);
23
- onConstruct(): void;
24
- /**
25
- * @description
26
- * Removes the query (if it's cached) from the TransactionCachedQueryHandler and redoes the query
27
- */
28
- refresh(): PromiseInterface<void>;
29
- setLimit(newLimit: number | ApiRequestLimit): void;
30
- onAdd(callback: OnAddCallback<ItemTypeType, ColumnIds, Children>): DeregFunction;
31
- onChange(callback: OnChangeCallback<ItemTypeType, ColumnIds>): DeregFunction;
32
- onRemove(callback: OnRemoveCallback<ItemTypeType, ColumnIds, Children>): DeregFunction;
33
- __clear(): void;
34
- /**
35
- * @deprecated
36
- * Use {@link ChangesDelta.setItemMoved ChangesDelta.setItemMoved}
37
- */
38
- moveItems(itemEntries: ItemEntry<ItemTypeType>[], destinationResource: CollectionResource<ItemTypeType>): void;
39
- removeItems(idArray: ItemId[]): PromiseInterface<ChangesDeltaResult>;
40
- removeItem(itemId: ItemId): PromiseInterface<ChangesDeltaResult>;
41
- addItems(valuesArray: Partial<FieldMap<ItemTypeType, ColumnIds>>[]): PromiseInterface<ChangesDeltaResult>;
42
- addItem(values: Partial<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
43
- getIdArray(): ItemId[];
44
- getItemById(itemId: ItemId): ItemResource<ItemTypeType, ColumnIds, Children>;
45
- /**
46
- * Creates item resources and adds them to the `items` array.
47
- * @param itemEntriesToBeAdded
48
- */
49
- addItemEntries(itemEntriesToBeAdded: ItemEntry<ItemTypeType>[], isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<ItemResource<ItemTypeType, ColumnIds, Children>[]>;
50
- /**
51
- * @description
52
- * Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
53
- * Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
54
- */
55
- removeItemResources(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean): ItemEntry<ItemTypeType>[];
56
- callOnAdd(itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
57
- callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<FieldMap<ItemTypeType, ColumnIds>>, fields: FieldMap<ItemTypeType, ColumnIds>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType, ColumnIds>): void;
58
- callOnRemove(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean): void;
59
- forEach(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => void): void;
60
- filter(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children>[];
61
- first(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children> | null;
62
- some(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): boolean;
63
- groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => string | null)): {
64
- [key: string]: ItemResource<ItemTypeType, ColumnIds, Children>[];
65
- };
66
- map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => U)): U[];
67
- reduce<U>(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>, value: U) => U, value: U): U;
68
- /**
69
- * @description
70
- * Removes the reference to the {@link CollectionResource CollectionResource} from the {@link CollectionEntry CollectionEntry}
71
- *
72
- * @remarks
73
- * - Doesn't revert changes on the items themselves
74
- */
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
- private registerListeners;
84
- private __registerCallback;
85
- private limitAfterRemove;
86
- private limitAfterAdd;
87
- }
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
+ protected factory: CollectionResourceFactory;
5
+ options: CollectionOptions<ItemTypeType, ColumnIds>;
6
+ transaction: TransactionCache;
7
+ entry: CollectionEntry<ItemTypeType, ColumnIds>;
8
+ columns: ResponseColumnItemTypeMap;
9
+ items: ItemResource<ItemTypeType, ColumnIds, Children>[];
10
+ protected itemIdMap: {
11
+ [itemId: number]: ItemResource<ItemTypeType, ColumnIds, Children>;
12
+ };
13
+ private fieldChangeDeregFns;
14
+ private readonly onChangeCallbacks;
15
+ private readonly onAddCallbacks;
16
+ private readonly onRemoveCallbacks;
17
+ /**
18
+ * @description
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
+ */
21
+ private removedItemIds;
22
+ constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType, ColumnIds>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: ItemEntry<ItemTypeType>[], childCollectionResourceMap: Children);
23
+ onConstruct(): void;
24
+ /**
25
+ * @description
26
+ * Removes the query (if it's cached) from the TransactionCachedQueryHandler and redoes the query
27
+ */
28
+ refresh(): PromiseInterface<void>;
29
+ setLimit(newLimit: number | ApiRequestLimit): void;
30
+ onAdd(callback: OnAddCallback<ItemTypeType, ColumnIds, Children>): DeregFunction;
31
+ onChange(callback: OnChangeCallback<ItemTypeType, ColumnIds>): DeregFunction;
32
+ onRemove(callback: OnRemoveCallback<ItemTypeType, ColumnIds, Children>): DeregFunction;
33
+ __clear(): void;
34
+ /**
35
+ * @deprecated
36
+ * Use {@link ChangesDelta.setItemMoved ChangesDelta.setItemMoved}
37
+ */
38
+ moveItems(itemEntries: ItemEntry<ItemTypeType>[], destinationResource: CollectionResource<ItemTypeType>): void;
39
+ removeItems(idArray: ItemId[]): PromiseInterface<ChangesDeltaResult>;
40
+ removeItem(itemId: ItemId): PromiseInterface<ChangesDeltaResult>;
41
+ addItems(valuesArray: Partial<FieldMap<ItemTypeType, ColumnIds>>[]): PromiseInterface<ChangesDeltaResult>;
42
+ addItem(values: Partial<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
43
+ getIdArray(): ItemId[];
44
+ getItemById(itemId: ItemId): ItemResource<ItemTypeType, ColumnIds, Children>;
45
+ /**
46
+ * Creates item resources and adds them to the `items` array.
47
+ * @param itemEntriesToBeAdded
48
+ */
49
+ addItemEntries(itemEntriesToBeAdded: ItemEntry<ItemTypeType>[], isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<ItemResource<ItemTypeType, ColumnIds, Children>[]>;
50
+ /**
51
+ * @description
52
+ * Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
53
+ * Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
54
+ */
55
+ removeItemResources(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean): ItemEntry<ItemTypeType>[];
56
+ callOnAdd(itemResources: ItemResource<ItemTypeType, ColumnIds, Children>[], isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
57
+ callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<FieldMap<ItemTypeType, ColumnIds>>, fields: FieldMap<ItemTypeType, ColumnIds>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType, ColumnIds>): void;
58
+ callOnRemove(itemEntries: ItemEntry<ItemTypeType>[], isCalledAfterSocketUpdate: boolean): void;
59
+ forEach(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => void): void;
60
+ filter(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children>[];
61
+ first(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): ItemResource<ItemTypeType, ColumnIds, Children> | null;
62
+ some(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => boolean): boolean;
63
+ groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => string | null)): {
64
+ [key: string]: ItemResource<ItemTypeType, ColumnIds, Children>[];
65
+ };
66
+ map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds, Children>) => U)): U[];
67
+ reduce<U>(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds, Children>, value: U) => U, value: U): U;
68
+ /**
69
+ * @description
70
+ * Removes the reference to the {@link CollectionResource CollectionResource} from the {@link CollectionEntry CollectionEntry}
71
+ *
72
+ * @remarks
73
+ * - Doesn't revert changes on the items themselves
74
+ */
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
+ private registerListeners;
84
+ private __registerCallback;
85
+ private limitAfterRemove;
86
+ private limitAfterAdd;
87
+ }
@@ -1,19 +1,19 @@
1
- import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
2
- import { ColumnSet, ItemEntryFactory } from '../internal';
3
- export declare class ItemEntry<ItemTypeType extends ApiEnumItemType = any> {
4
- private factory;
5
- itemType: ItemTypeType;
6
- itemId: ItemId;
7
- columns: ColumnSet<ItemTypeType>;
8
- private static currentId;
9
- id: number;
10
- reloadQueued: boolean;
11
- constructor(factory: ItemEntryFactory, itemType: ItemTypeType, itemId: ItemId, columns: ColumnSet<ItemTypeType>);
12
- queueReload(): this;
13
- isLocal(): boolean;
14
- isLockable(): boolean;
15
- toJSON(): {
16
- id: number;
17
- columns: ColumnSet<ItemTypeType>;
18
- };
19
- }
1
+ import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
2
+ import { ColumnSet, ItemEntryFactory } from '../internal';
3
+ export declare class ItemEntry<ItemTypeType extends ApiEnumItemType = any> {
4
+ private factory;
5
+ itemType: ItemTypeType;
6
+ itemId: ItemId;
7
+ columns: ColumnSet<ItemTypeType>;
8
+ private static currentId;
9
+ id: number;
10
+ reloadQueued: boolean;
11
+ constructor(factory: ItemEntryFactory, itemType: ItemTypeType, itemId: ItemId, columns: ColumnSet<ItemTypeType>);
12
+ queueReload(): this;
13
+ isLocal(): boolean;
14
+ isLockable(): boolean;
15
+ toJSON(): {
16
+ id: number;
17
+ columns: ColumnSet<ItemTypeType>;
18
+ };
19
+ }
@@ -1,8 +1,8 @@
1
- import { ApiRequestColumns, EntryParentNull } from '../internal';
2
- export declare type ItemEntryOptionsInterface = Partial<ItemEntryOptions>;
3
- export declare class ItemEntryOptions {
4
- columns: ApiRequestColumns;
5
- parent: EntryParentNull;
6
- templateOptions: any;
7
- constructor(values: ItemEntryOptionsInterface);
8
- }
1
+ import { ApiRequestColumns, EntryParentNull } from '../internal';
2
+ export declare type ItemEntryOptionsInterface = Partial<ItemEntryOptions>;
3
+ export declare class ItemEntryOptions {
4
+ columns: ApiRequestColumns;
5
+ parent: EntryParentNull;
6
+ templateOptions: any;
7
+ constructor(values: ItemEntryOptionsInterface);
8
+ }
@@ -1,95 +1,95 @@
1
- import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
2
- import { CollectionResource, EntryParentNull, ExtractApiItemType, FieldMap, ItemEntry, ItemResourceFactory, ItemTypeColumnIds, PromiseInterface, ResponseColumnMap, TransactionCache } from '../internal';
3
- export declare type ChildCollectionResources = {
4
- [ChildItemType in ApiEnumItemType]?: CollectionResource<ChildItemType>;
5
- };
6
- export declare type ChildCollectionResourcesNull = ChildCollectionResources | null;
7
- export declare class ItemResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> {
8
- protected readonly factory: ItemResourceFactory;
9
- readonly entry: ItemEntry<ItemTypeType>;
10
- protected readonly transaction: TransactionCache;
11
- children: Children;
12
- private readonly _isNew;
13
- columns: ResponseColumnMap<ItemTypeType, ColumnIds>;
14
- fields: FieldMap<ItemTypeType, ColumnIds>;
15
- initial: Readonly<FieldMap<ItemTypeType, ColumnIds>>;
16
- constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, transaction: TransactionCache, children: Children, _isNew: boolean);
17
- onConstruct(): void;
18
- /**
19
- * Collects all the fields from this item, useful while debugging when you want to look at the complete fieldset
20
- * (because this.fields is now a proxy class)
21
- */
22
- collectFields(): FieldMap<ItemTypeType, ColumnIds>;
23
- /**
24
- * @description
25
- * 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
26
- */
27
- setFields(values: Partial<FieldMap<ItemTypeType, ColumnIds>>): PromiseInterface<this>;
28
- copyFields(destination?: FieldMap<ItemTypeType, []>): FieldMap<ItemTypeType, ColumnIds>;
29
- /**
30
- * Fetches the ItemResource's parent with the current fields
31
- *
32
- * ----------------
33
- *
34
- * @remark
35
- * Use this if you need to get the parent after an item has been deleted
36
- */
37
- getParent(fromInitial?: boolean): EntryParentNull;
38
- /**
39
- * @deprecated
40
- * Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
41
- */
42
- callOnChange(previous: FieldMap<ItemTypeType, ColumnIds>): void;
43
- /**
44
- * @description
45
- * Utility function to easily check if a field is changed.
46
- * Will return `false` if the field is changed
47
- *
48
- * @example
49
- * onChange: (
50
- * itemResource,
51
- * previous,
52
- * compareItemField
53
- * ) {
54
- * if (!compareItemField('columnId')) {
55
- * processItem(itemResource);
56
- * }
57
- * }
58
- */
59
- compareItemField(columnId: ColumnIds[number], previous: FieldMap<ItemTypeType, ColumnIds>): boolean;
60
- hasChanges(): boolean;
61
- setTransactionParameters(parameters: any): void;
62
- /**
63
- * @description
64
- * 'isNew' means that the {@link ItemEntry ItemEntry} is a local item and that this resource was created when the {@link ItemEntry ItemEntry} was first created
65
- */
66
- isNew(): boolean;
67
- isLocal(): boolean;
68
- toJSON(): {
69
- columns: string[];
70
- fields: FieldMap<ItemTypeType, ColumnIds>;
71
- entry: ItemEntry<ItemTypeType>;
72
- };
73
- /**
74
- * @description
75
- * Returns the value of the columnPath, or undefined when the path couldn't be traversed
76
- *
77
- * @param columnPath Can either be an array of columnIds (['column', 'column2']) or a config column string ('column>column2')
78
- */
79
- getDerivedValue<T1 extends string>(columnPath: T1): any | undefined;
80
- getDerivedValue<T1 extends ColumnIds[number]>(columnPath: [T1]): FieldMap<ItemTypeType>[T1] | undefined;
81
- getDerivedValue<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>]>(columnPath: [T1, T2]): FieldMap<ExtractApiItemType<ApiFields[ItemTypeType][T1]>>[T2] | undefined;
82
- getDerivedValue<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>], T3 extends keyof ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>(columnPath: [T1, T2, T3]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>>[T3] | undefined;
83
- /**
84
- * @description
85
- * Traverses the column path and returns the fields of the derived item, returns undefined if the item isn't found
86
- *
87
- * ---------------------
88
- *
89
- * @remark
90
- * Assumes the derived item's values are already cached
91
- */
92
- getDerivedValues<T1 extends ColumnIds[number]>(columnPath: [T1]): FieldMap<ExtractApiItemType<ApiFields[ItemTypeType][T1]>> | undefined;
93
- getDerivedValues<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>]>(columnPath: [T1, T2]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>> | undefined;
94
- getDerivedValues<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>], T3 extends keyof ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>(columnPath: [T1, T2, T3]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>> | undefined;
95
- }
1
+ import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
2
+ import { CollectionResource, EntryParentNull, ExtractApiItemType, FieldMap, ItemEntry, ItemResourceFactory, ItemTypeColumnIds, PromiseInterface, ResponseColumnMap, TransactionCache } from '../internal';
3
+ export declare type ChildCollectionResources = {
4
+ [ChildItemType in ApiEnumItemType]?: CollectionResource<ChildItemType>;
5
+ };
6
+ export declare type ChildCollectionResourcesNull = ChildCollectionResources | null;
7
+ export declare class ItemResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = ItemTypeColumnIds<ItemTypeType>, Children extends ChildCollectionResourcesNull = any> {
8
+ protected readonly factory: ItemResourceFactory;
9
+ readonly entry: ItemEntry<ItemTypeType>;
10
+ protected readonly transaction: TransactionCache;
11
+ children: Children;
12
+ private readonly _isNew;
13
+ columns: ResponseColumnMap<ItemTypeType, ColumnIds>;
14
+ fields: FieldMap<ItemTypeType, ColumnIds>;
15
+ initial: Readonly<FieldMap<ItemTypeType, ColumnIds>>;
16
+ constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, transaction: TransactionCache, children: Children, _isNew: boolean);
17
+ onConstruct(): void;
18
+ /**
19
+ * Collects all the fields from this item, useful while debugging when you want to look at the complete fieldset
20
+ * (because this.fields is now a proxy class)
21
+ */
22
+ collectFields(): FieldMap<ItemTypeType, ColumnIds>;
23
+ /**
24
+ * @description
25
+ * 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
26
+ */
27
+ setFields(values: Partial<FieldMap<ItemTypeType, ColumnIds>>): PromiseInterface<this>;
28
+ copyFields(destination?: FieldMap<ItemTypeType, []>): FieldMap<ItemTypeType, ColumnIds>;
29
+ /**
30
+ * Fetches the ItemResource's parent with the current fields
31
+ *
32
+ * ----------------
33
+ *
34
+ * @remark
35
+ * Use this if you need to get the parent after an item has been deleted
36
+ */
37
+ getParent(fromInitial?: boolean): EntryParentNull;
38
+ /**
39
+ * @deprecated
40
+ * Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
41
+ */
42
+ callOnChange(previous: FieldMap<ItemTypeType, ColumnIds>): void;
43
+ /**
44
+ * @description
45
+ * Utility function to easily check if a field is changed.
46
+ * Will return `false` if the field is changed
47
+ *
48
+ * @example
49
+ * onChange: (
50
+ * itemResource,
51
+ * previous,
52
+ * compareItemField
53
+ * ) {
54
+ * if (!compareItemField('columnId')) {
55
+ * processItem(itemResource);
56
+ * }
57
+ * }
58
+ */
59
+ compareItemField(columnId: ColumnIds[number], previous: FieldMap<ItemTypeType, ColumnIds>): boolean;
60
+ hasChanges(): boolean;
61
+ setTransactionParameters(parameters: any): void;
62
+ /**
63
+ * @description
64
+ * 'isNew' means that the {@link ItemEntry ItemEntry} is a local item and that this resource was created when the {@link ItemEntry ItemEntry} was first created
65
+ */
66
+ isNew(): boolean;
67
+ isLocal(): boolean;
68
+ toJSON(): {
69
+ columns: string[];
70
+ fields: FieldMap<ItemTypeType, ColumnIds>;
71
+ entry: ItemEntry<ItemTypeType>;
72
+ };
73
+ /**
74
+ * @description
75
+ * Returns the value of the columnPath, or undefined when the path couldn't be traversed
76
+ *
77
+ * @param columnPath Can either be an array of columnIds (['column', 'column2']) or a config column string ('column>column2')
78
+ */
79
+ getDerivedValue<T1 extends string>(columnPath: T1): any | undefined;
80
+ getDerivedValue<T1 extends ColumnIds[number]>(columnPath: [T1]): FieldMap<ItemTypeType>[T1] | undefined;
81
+ getDerivedValue<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>]>(columnPath: [T1, T2]): FieldMap<ExtractApiItemType<ApiFields[ItemTypeType][T1]>>[T2] | undefined;
82
+ getDerivedValue<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>], T3 extends keyof ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>(columnPath: [T1, T2, T3]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>>[T3] | undefined;
83
+ /**
84
+ * @description
85
+ * Traverses the column path and returns the fields of the derived item, returns undefined if the item isn't found
86
+ *
87
+ * ---------------------
88
+ *
89
+ * @remark
90
+ * Assumes the derived item's values are already cached
91
+ */
92
+ getDerivedValues<T1 extends ColumnIds[number]>(columnPath: [T1]): FieldMap<ExtractApiItemType<ApiFields[ItemTypeType][T1]>> | undefined;
93
+ getDerivedValues<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>]>(columnPath: [T1, T2]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>> | undefined;
94
+ getDerivedValues<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>], T3 extends keyof ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>(columnPath: [T1, T2, T3]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>> | undefined;
95
+ }
@@ -1,11 +1,11 @@
1
- import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
2
- import { ApiRequestColumnMap, ApiResponse, ColumnSet, FieldMap, ItemTypeMap, ResponseColumnItemTypeMap, TemplateFactory } from '../internal';
3
- export declare class Template<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> {
4
- itemType: ItemTypeType;
5
- response: ApiResponse;
6
- additionalRequestColumns: ApiRequestColumnMap;
7
- responseColumns: ResponseColumnItemTypeMap;
8
- columns: ColumnSet<ItemTypeType>;
9
- constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ItemTypeMap<ResponseColumnItemTypeMap>);
10
- getFields(): FieldMap<ItemTypeType, ColumnIds>;
11
- }
1
+ import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
2
+ import { ApiRequestColumnMap, ApiResponse, ColumnSet, FieldMap, ItemTypeMap, ResponseColumnItemTypeMap, TemplateFactory } from '../internal';
3
+ export declare class Template<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = any> {
4
+ itemType: ItemTypeType;
5
+ response: ApiResponse;
6
+ additionalRequestColumns: ApiRequestColumnMap;
7
+ responseColumns: ResponseColumnItemTypeMap;
8
+ columns: ColumnSet<ItemTypeType>;
9
+ constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ItemTypeMap<ResponseColumnItemTypeMap>);
10
+ getFields(): FieldMap<ItemTypeType, ColumnIds>;
11
+ }