@rentman/rm-core 6.0.0 → 6.0.2

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 (109) hide show
  1. package/changelog.md +713 -707
  2. package/dist/rm-core.js +9559 -9558
  3. package/dist/rm-core.min.js +2 -2
  4. package/dist/types/classes/ApiFormatter.d.ts +55 -55
  5. package/dist/types/classes/ApiRequestService.d.ts +20 -20
  6. package/dist/types/classes/ApiResponseProcessor.d.ts +31 -31
  7. package/dist/types/classes/ChangesCompilation.d.ts +34 -34
  8. package/dist/types/classes/ChangesDelta.d.ts +59 -59
  9. package/dist/types/classes/ChangesDeltaBase.d.ts +50 -50
  10. package/dist/types/classes/ChangesProcessor.d.ts +47 -47
  11. package/dist/types/classes/CollectionEntryService.d.ts +26 -26
  12. package/dist/types/classes/CollectionMatcherBase.d.ts +21 -21
  13. package/dist/types/classes/CollectionMatcherCachedCollectionProcessor.d.ts +31 -31
  14. package/dist/types/classes/CollectionResourceService.d.ts +7 -7
  15. package/dist/types/classes/ColumnCache.d.ts +21 -21
  16. package/dist/types/classes/ColumnExpansion.d.ts +22 -22
  17. package/dist/types/classes/ColumnHandler.d.ts +21 -21
  18. package/dist/types/classes/ColumnInfo.d.ts +14 -14
  19. package/dist/types/classes/ColumnSet.d.ts +38 -38
  20. package/dist/types/classes/ColumnSubsetCache.d.ts +10 -10
  21. package/dist/types/classes/ColumnUtil.d.ts +99 -99
  22. package/dist/types/classes/ConversionMapService.d.ts +27 -27
  23. package/dist/types/classes/CreateRequest.d.ts +19 -19
  24. package/dist/types/classes/CreatedChangesDelta.d.ts +15 -15
  25. package/dist/types/classes/InternalChangesDelta.d.ts +39 -39
  26. package/dist/types/classes/ItemCache.d.ts +29 -29
  27. package/dist/types/classes/ItemCreateService.d.ts +24 -24
  28. package/dist/types/classes/ItemEntryService.d.ts +34 -34
  29. package/dist/types/classes/KeyService.d.ts +17 -17
  30. package/dist/types/classes/LockService.d.ts +32 -32
  31. package/dist/types/classes/ModuleChangesCompilation.d.ts +18 -18
  32. package/dist/types/classes/QueryColumnExtractor.d.ts +20 -20
  33. package/dist/types/classes/QueryLinkedToParser.d.ts +16 -16
  34. package/dist/types/classes/QueryLocallyMatchableParser.d.ts +19 -19
  35. package/dist/types/classes/QueryMatcher.d.ts +18 -18
  36. package/dist/types/classes/QueryParser.d.ts +24 -24
  37. package/dist/types/classes/QueryParserBase.d.ts +29 -29
  38. package/dist/types/classes/QueryParserIdUpdater.d.ts +16 -16
  39. package/dist/types/classes/QueryService.d.ts +18 -18
  40. package/dist/types/classes/RequestBuffer.d.ts +28 -28
  41. package/dist/types/classes/RequestBufferManager.d.ts +25 -25
  42. package/dist/types/classes/RequestColumnExpansion.d.ts +15 -15
  43. package/dist/types/classes/SocketMessageHandler.d.ts +39 -39
  44. package/dist/types/classes/TemplateCache.d.ts +66 -66
  45. package/dist/types/classes/Util.d.ts +30 -30
  46. package/dist/types/classes/cache/AbstractCache.d.ts +102 -102
  47. package/dist/types/classes/cache/CachedQueryHandlerBase.d.ts +73 -73
  48. package/dist/types/classes/cache/CollectionMatcherCachedQueryProcessor.d.ts +35 -35
  49. package/dist/types/classes/cache/ItemHandlerBase.d.ts +93 -93
  50. package/dist/types/classes/cache/server/ServerCache.d.ts +82 -82
  51. package/dist/types/classes/cache/server/ServerCachedQueryHandler.d.ts +34 -34
  52. package/dist/types/classes/cache/server/ServerItemHandler.d.ts +52 -52
  53. package/dist/types/classes/cache/transaction/TransactionCache.d.ts +330 -330
  54. package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +23 -23
  55. package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +28 -28
  56. package/dist/types/classes/cache/transaction/TransactionEventHandler.d.ts +24 -24
  57. package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +90 -90
  58. package/dist/types/classes/cache/transaction/TransactionValidator.d.ts +28 -28
  59. package/dist/types/classes/index.d.ts +46 -46
  60. package/dist/types/constants.d.ts +7 -7
  61. package/dist/types/core.d.ts +51 -51
  62. package/dist/types/factories/ApiResponseProcessorFactory.d.ts +6 -6
  63. package/dist/types/factories/ChangesCompilationFactory.d.ts +6 -6
  64. package/dist/types/factories/ChangesDeltaFactory.d.ts +11 -11
  65. package/dist/types/factories/ChangesProcessorFactory.d.ts +22 -22
  66. package/dist/types/factories/CollectionEntryFactory.d.ts +14 -14
  67. package/dist/types/factories/CollectionMatcherFactory.d.ts +19 -19
  68. package/dist/types/factories/CollectionResourceFactory.d.ts +22 -22
  69. package/dist/types/factories/ColumnExpansionFactory.d.ts +8 -8
  70. package/dist/types/factories/ColumnInfoFactory.d.ts +7 -7
  71. package/dist/types/factories/ColumnSetFactory.d.ts +19 -19
  72. package/dist/types/factories/ColumnSubsetCacheFactory.d.ts +7 -7
  73. package/dist/types/factories/CreateRequestFactory.d.ts +11 -11
  74. package/dist/types/factories/ItemCacheFactory.d.ts +8 -8
  75. package/dist/types/factories/ItemEntryFactory.d.ts +15 -15
  76. package/dist/types/factories/ItemResourceFactory.d.ts +14 -14
  77. package/dist/types/factories/ModuleChangesCompilationFactory.d.ts +5 -5
  78. package/dist/types/factories/QueryMatcherFactory.d.ts +7 -7
  79. package/dist/types/factories/QueryParserFactory.d.ts +6 -6
  80. package/dist/types/factories/RequestColumnExpansionFactory.d.ts +6 -6
  81. package/dist/types/factories/TemplateFactory.d.ts +10 -10
  82. package/dist/types/factories/TransactionCacheFactory.d.ts +15 -15
  83. package/dist/types/factories/index.d.ts +21 -21
  84. package/dist/types/index.d.ts +7 -7
  85. package/dist/types/interfaces/AbstractCacheDependencyInterface.d.ts +43 -43
  86. package/dist/types/interfaces/ApiRequestServiceInterface.d.ts +11 -11
  87. package/dist/types/interfaces/AuthInterface.d.ts +9 -9
  88. package/dist/types/interfaces/ErrorHandlerInterface.d.ts +5 -5
  89. package/dist/types/interfaces/ExceptionHandlerInterface.d.ts +3 -3
  90. package/dist/types/interfaces/LinkTreeServiceInterface.d.ts +4 -4
  91. package/dist/types/interfaces/PromiseLibraryInterface.d.ts +25 -25
  92. package/dist/types/interfaces/ServerCacheDependencyInterface.d.ts +7 -7
  93. package/dist/types/interfaces/SocketMessageInterface.d.ts +3 -3
  94. package/dist/types/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +20 -20
  95. package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +26 -26
  96. package/dist/types/interfaces/index.d.ts +11 -11
  97. package/dist/types/models/CollectionEntry.d.ts +23 -23
  98. package/dist/types/models/CollectionOptions.d.ts +18 -18
  99. package/dist/types/models/CollectionResource.d.ts +72 -72
  100. package/dist/types/models/ItemEntry.d.ts +19 -19
  101. package/dist/types/models/ItemEntryOptions.d.ts +8 -8
  102. package/dist/types/models/ItemResource.d.ts +84 -84
  103. package/dist/types/models/Template.d.ts +11 -11
  104. package/dist/types/models/index.d.ts +7 -7
  105. package/dist/types/types/ItemTypesCollection.d.ts +263 -263
  106. package/dist/types/types/PromiseInterface.d.ts +2 -2
  107. package/dist/types/types/index.d.ts +2 -2
  108. package/package.json +36 -36
  109. package/readme.md +15 -15
@@ -1,263 +1,263 @@
1
- import { ApiResponseProcessor, ColumnSet, RequestColumnExpansion } from '../classes';
2
- import { CollectionResource, ItemEntry, ItemEntryOptionsInterface, ItemResource } from '../models';
3
- import { CollectionOptions } from '../models/CollectionOptions';
4
- export declare type ParentIdMap<T> = {
5
- [parentId: number]: T;
6
- };
7
- export declare type EntryParent = {
8
- itemType: string;
9
- itemId: number;
10
- };
11
- export declare type EntryParentNull = EntryParent | null;
12
- /**
13
- * @description
14
- * Used for fields that belong to a specific itemType
15
- */
16
- export declare type FieldMap<_ItemTypeType extends ItemType = any> = {
17
- [key: string]: any;
18
- };
19
- export declare type ItemOptionsInterface = ItemEntryOptionsInterface;
20
- export interface CollectionDefinition<ItemTypeType extends ItemType = any> {
21
- itemType: ItemTypeType;
22
- options: CollectionOptions;
23
- }
24
- export interface LinkCollectionDefinition<ItemTypeType extends ItemType = any> extends CollectionDefinition<ItemTypeType> {
25
- linkField: string;
26
- }
27
- export declare enum StateKeyType {
28
- New = "new",
29
- Duplicate = "duplicate"
30
- }
31
- export declare type StateKey = {
32
- type: StateKeyType;
33
- template?: string;
34
- itemId?: number;
35
- };
36
- export declare type SocketMessageType = 'event' | 'notification';
37
- export interface SocketMessage {
38
- header: {
39
- domain: string;
40
- account: string;
41
- sender: {
42
- displayname: string;
43
- itemType: 'Medewerker';
44
- itemId: ItemId;
45
- authorized: boolean;
46
- session: string;
47
- };
48
- messageId: {
49
- Id: string;
50
- sequence: number;
51
- batch: number;
52
- request: number;
53
- };
54
- sent: string;
55
- forceEvaluate: boolean;
56
- };
57
- body: any;
58
- messageType: SocketMessageType;
59
- }
60
- export interface SocketMessageCreate extends SocketMessage {
61
- body: {
62
- eventType: 'create';
63
- columns: ResponseColumnItemTypeMap;
64
- itemType: ItemType;
65
- items: {
66
- [itemType: string]: {
67
- [itemId: number]: {
68
- parent: null | EntryParent;
69
- values: FieldMap;
70
- };
71
- };
72
- };
73
- };
74
- }
75
- export interface SocketMessageUpdate extends SocketMessage {
76
- body: {
77
- eventType: 'update';
78
- columns: ResponseColumnItemTypeMap;
79
- itemType: ItemType;
80
- items: {
81
- [itemType: string]: {
82
- [itemId: number]: {
83
- parent: null | EntryParent;
84
- values: FieldMap;
85
- };
86
- };
87
- };
88
- };
89
- }
90
- export interface SocketMessageLinkTo extends SocketMessage {
91
- body: {
92
- eventType: 'linkto';
93
- columns: ResponseColumnItemTypeMap;
94
- itemType: ItemType;
95
- items: {
96
- [itemType: string]: {
97
- [itemId: number]: {
98
- parent: null | EntryParent;
99
- values: FieldMap;
100
- };
101
- };
102
- };
103
- };
104
- }
105
- export interface SocketMessageDelete extends SocketMessage {
106
- body: {
107
- eventType: 'delete';
108
- itemType: ItemType;
109
- items: ItemId[];
110
- };
111
- }
112
- export interface FunctionChangesResolveSocketMessage extends SocketMessage {
113
- body: {
114
- itemType: 'FunctionChangesResolve';
115
- [key: string]: any;
116
- };
117
- }
118
- export declare type ItemResourceItemIdMap<T extends ItemResource<any> = ItemResource<any>> = {
119
- [itemId: number]: T;
120
- };
121
- export declare type ItemResourcesItemTypeMap<T extends ItemResource<any> = ItemResource<any>> = {
122
- [itemType: string]: T[];
123
- };
124
- export declare type ItemId = number;
125
- export declare type ItemType = string;
126
- export declare type ItemMap<T> = {
127
- [itemType: string]: {
128
- [itemId: string]: T;
129
- };
130
- };
131
- export declare type ItemEntryMap<ItemTypeType extends ItemType> = ItemMap<ItemEntry<ItemTypeType>>;
132
- export declare type ItemEntryParentIdMap<ItemTypeType extends ItemType> = ParentIdMap<Array<ItemEntry<ItemTypeType>>>;
133
- export declare type ConversionMap = {
134
- [itemId: number]: number;
135
- };
136
- export declare type ItemIdConversionMap = {
137
- [itemType: string]: ConversionMap;
138
- };
139
- export declare type CreateRequestParameterMap<T = any> = ItemMap<T>;
140
- export declare type ItemError = {
141
- message: string;
142
- };
143
- export declare type CollectionQuery = {
144
- object: object;
145
- string: string;
146
- };
147
- export declare type CollectionResourceParentIdMap<ItemTypeType extends ItemType = any> = ParentIdMap<CollectionResource<ItemTypeType>>;
148
- export declare type ResponseColumn = any;
149
- export declare type ResponseColumnMap = {
150
- [columnId: string]: ResponseColumn;
151
- };
152
- export declare type ResponseColumnItemTypeMap = {
153
- [itemType: string]: ResponseColumnMap;
154
- };
155
- export declare type ColumnExpansionResult<ItemTypeType extends ItemType = any> = {
156
- merged: ColumnSet<ItemTypeType>;
157
- difference: ColumnSet<ItemTypeType>;
158
- };
159
- export declare type RootColumnMap = {
160
- [columnId: string]: {
161
- apiColumn: ResponseColumn;
162
- children: RootColumnMap;
163
- };
164
- };
165
- export declare type ApiResponse = ApiResponseProcessor;
166
- export declare type TemplateItemResourceMap<T extends ItemResource<any>> = {
167
- main: T;
168
- linked: ItemResourcesItemTypeMap;
169
- };
170
- export declare type ItemTypeMap<T = any> = {
171
- [itemType: string]: T;
172
- };
173
- export declare type ApiQuery = any;
174
- export declare type ApiRequestItemValues = {
175
- values?: any;
176
- links?: {
177
- [itemType: string]: ItemId[];
178
- };
179
- };
180
- export declare type ApiRequestItemMap = {
181
- [itemType: string]: {
182
- [itemId: number]: ApiRequestItemValues;
183
- };
184
- };
185
- export declare type ApiRequestColumn = string | {
186
- [columnId: string]: ApiRequestColumn[];
187
- };
188
- export declare type ApiRequestColumns = ApiRequestColumn[] | true;
189
- export declare type ApiRequestColumnMap = {
190
- [itemType: string]: ApiRequestColumns;
191
- };
192
- export declare type ApiRequestLimit = {
193
- field: string;
194
- limit: number;
195
- order?: 'desc' | 'asc';
196
- };
197
- export declare type ApiRequestMoveItems = {
198
- [itemType: string]: ItemId[];
199
- };
200
- export declare type CreateRequestEntry<ItemTypeType extends ItemType> = {
201
- request: {
202
- requestType: 'create';
203
- itemType?: ItemTypeType;
204
- parentType?: ItemType;
205
- parentId?: {
206
- [itemId: string]: ItemId;
207
- };
208
- items: ApiRequestItemMap;
209
- columns: ApiRequestColumnMap;
210
- };
211
- columns: RequestColumnExpansion;
212
- items: ItemEntryMap<ItemTypeType>;
213
- };
214
- export declare enum ApiLinkTreeType {
215
- ITEMTABLE = "itemtable",
216
- DIRECT = "direct"
217
- }
218
- export declare type ApiLinkTreeEntry = {
219
- type: ApiLinkTreeType.ITEMTABLE;
220
- } | {
221
- type: ApiLinkTreeType.DIRECT;
222
- field: string;
223
- };
224
- export declare type ApiLinkTree = {
225
- [itemType: string]: {
226
- [childType: string]: ApiLinkTreeEntry;
227
- };
228
- };
229
- /**
230
- * @description
231
- * Callback to determine if an item should be included in the create delta, return `false` to exclude the item
232
- */
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;
235
- /**
236
- * @description
237
- * Returns 'false' if the field changed
238
- */
239
- export declare type CompareFieldCallback<ItemTypeType extends ItemType = any> = (field: keyof FieldMap<ItemTypeType>) => boolean;
240
- export declare type FieldChangeCallbackArgs<ItemTypeType extends ItemType = any> = {
241
- itemEntry: ItemEntry<ItemTypeType>;
242
- compareField: CompareFieldCallback;
243
- fields: FieldMap<ItemTypeType>;
244
- isCalledAfterSocketUpdate: boolean;
245
- previous: FieldMap<ItemTypeType>;
246
- };
247
- export declare type FieldChangeCallback<ItemTypeType extends ItemType = any> = (args: FieldChangeCallbackArgs<ItemTypeType>) => void;
248
- 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>;
254
- isInitialCall: boolean;
255
- isCalledAfterSocketUpdate: boolean;
256
- };
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>;
261
- isCalledAfterSocketUpdate: boolean;
262
- };
263
- export declare type OnRemoveCallback<ItemTypeType extends ItemType = any> = (args: OnRemoveCallbackArgs<ItemTypeType>) => void;
1
+ import { ApiResponseProcessor, ColumnSet, RequestColumnExpansion } from '../classes';
2
+ import { CollectionResource, ItemEntry, ItemEntryOptionsInterface, ItemResource } from '../models';
3
+ import { CollectionOptions } from '../models/CollectionOptions';
4
+ export declare type ParentIdMap<T> = {
5
+ [parentId: number]: T;
6
+ };
7
+ export declare type EntryParent = {
8
+ itemType: string;
9
+ itemId: number;
10
+ };
11
+ export declare type EntryParentNull = EntryParent | null;
12
+ /**
13
+ * @description
14
+ * Used for fields that belong to a specific itemType
15
+ */
16
+ export declare type FieldMap<_ItemTypeType extends ItemType = any> = {
17
+ [key: string]: any;
18
+ };
19
+ export declare type ItemOptionsInterface = ItemEntryOptionsInterface;
20
+ export interface CollectionDefinition<ItemTypeType extends ItemType = any> {
21
+ itemType: ItemTypeType;
22
+ options: CollectionOptions;
23
+ }
24
+ export interface LinkCollectionDefinition<ItemTypeType extends ItemType = any> extends CollectionDefinition<ItemTypeType> {
25
+ linkField: string;
26
+ }
27
+ export declare enum StateKeyType {
28
+ New = "new",
29
+ Duplicate = "duplicate"
30
+ }
31
+ export declare type StateKey = {
32
+ type: StateKeyType;
33
+ template?: string;
34
+ itemId?: number;
35
+ };
36
+ export declare type SocketMessageType = 'event' | 'notification';
37
+ export interface SocketMessage {
38
+ header: {
39
+ domain: string;
40
+ account: string;
41
+ sender: {
42
+ displayname: string;
43
+ itemType: 'Medewerker';
44
+ itemId: ItemId;
45
+ authorized: boolean;
46
+ session: string;
47
+ };
48
+ messageId: {
49
+ Id: string;
50
+ sequence: number;
51
+ batch: number;
52
+ request: number;
53
+ };
54
+ sent: string;
55
+ forceEvaluate: boolean;
56
+ };
57
+ body: any;
58
+ messageType: SocketMessageType;
59
+ }
60
+ export interface SocketMessageCreate extends SocketMessage {
61
+ body: {
62
+ eventType: 'create';
63
+ columns: ResponseColumnItemTypeMap;
64
+ itemType: ItemType;
65
+ items: {
66
+ [itemType: string]: {
67
+ [itemId: number]: {
68
+ parent: null | EntryParent;
69
+ values: FieldMap;
70
+ };
71
+ };
72
+ };
73
+ };
74
+ }
75
+ export interface SocketMessageUpdate extends SocketMessage {
76
+ body: {
77
+ eventType: 'update';
78
+ columns: ResponseColumnItemTypeMap;
79
+ itemType: ItemType;
80
+ items: {
81
+ [itemType: string]: {
82
+ [itemId: number]: {
83
+ parent: null | EntryParent;
84
+ values: FieldMap;
85
+ };
86
+ };
87
+ };
88
+ };
89
+ }
90
+ export interface SocketMessageLinkTo extends SocketMessage {
91
+ body: {
92
+ eventType: 'linkto';
93
+ columns: ResponseColumnItemTypeMap;
94
+ itemType: ItemType;
95
+ items: {
96
+ [itemType: string]: {
97
+ [itemId: number]: {
98
+ parent: null | EntryParent;
99
+ values: FieldMap;
100
+ };
101
+ };
102
+ };
103
+ };
104
+ }
105
+ export interface SocketMessageDelete extends SocketMessage {
106
+ body: {
107
+ eventType: 'delete';
108
+ itemType: ItemType;
109
+ items: ItemId[];
110
+ };
111
+ }
112
+ export interface FunctionChangesResolveSocketMessage extends SocketMessage {
113
+ body: {
114
+ itemType: 'FunctionChangesResolve';
115
+ [key: string]: any;
116
+ };
117
+ }
118
+ export declare type ItemResourceItemIdMap<T extends ItemResource<any> = ItemResource<any>> = {
119
+ [itemId: number]: T;
120
+ };
121
+ export declare type ItemResourcesItemTypeMap<T extends ItemResource<any> = ItemResource<any>> = {
122
+ [itemType: string]: T[];
123
+ };
124
+ export declare type ItemId = number;
125
+ export declare type ItemType = string;
126
+ export declare type ItemMap<T> = {
127
+ [itemType: string]: {
128
+ [itemId: string]: T;
129
+ };
130
+ };
131
+ export declare type ItemEntryMap<ItemTypeType extends ItemType> = ItemMap<ItemEntry<ItemTypeType>>;
132
+ export declare type ItemEntryParentIdMap<ItemTypeType extends ItemType> = ParentIdMap<Array<ItemEntry<ItemTypeType>>>;
133
+ export declare type ConversionMap = {
134
+ [itemId: number]: number;
135
+ };
136
+ export declare type ItemIdConversionMap = {
137
+ [itemType: string]: ConversionMap;
138
+ };
139
+ export declare type CreateRequestParameterMap<T = any> = ItemMap<T>;
140
+ export declare type ItemError = {
141
+ message: string;
142
+ };
143
+ export declare type CollectionQuery = {
144
+ object: object;
145
+ string: string;
146
+ };
147
+ export declare type CollectionResourceParentIdMap<ItemTypeType extends ItemType = any> = ParentIdMap<CollectionResource<ItemTypeType>>;
148
+ export declare type ResponseColumn = any;
149
+ export declare type ResponseColumnMap = {
150
+ [columnId: string]: ResponseColumn;
151
+ };
152
+ export declare type ResponseColumnItemTypeMap = {
153
+ [itemType: string]: ResponseColumnMap;
154
+ };
155
+ export declare type ColumnExpansionResult<ItemTypeType extends ItemType = any> = {
156
+ merged: ColumnSet<ItemTypeType>;
157
+ difference: ColumnSet<ItemTypeType>;
158
+ };
159
+ export declare type RootColumnMap = {
160
+ [columnId: string]: {
161
+ apiColumn: ResponseColumn;
162
+ children: RootColumnMap;
163
+ };
164
+ };
165
+ export declare type ApiResponse = ApiResponseProcessor;
166
+ export declare type TemplateItemResourceMap<T extends ItemResource<any>> = {
167
+ main: T;
168
+ linked: ItemResourcesItemTypeMap;
169
+ };
170
+ export declare type ItemTypeMap<T = any> = {
171
+ [itemType: string]: T;
172
+ };
173
+ export declare type ApiQuery = any;
174
+ export declare type ApiRequestItemValues = {
175
+ values?: any;
176
+ links?: {
177
+ [itemType: string]: ItemId[];
178
+ };
179
+ };
180
+ export declare type ApiRequestItemMap = {
181
+ [itemType: string]: {
182
+ [itemId: number]: ApiRequestItemValues;
183
+ };
184
+ };
185
+ export declare type ApiRequestColumn = string | {
186
+ [columnId: string]: ApiRequestColumn[];
187
+ };
188
+ export declare type ApiRequestColumns = ApiRequestColumn[] | true;
189
+ export declare type ApiRequestColumnMap = {
190
+ [itemType: string]: ApiRequestColumns;
191
+ };
192
+ export declare type ApiRequestLimit = {
193
+ field: string;
194
+ limit: number;
195
+ order?: 'desc' | 'asc';
196
+ };
197
+ export declare type ApiRequestMoveItems = {
198
+ [itemType: string]: ItemId[];
199
+ };
200
+ export declare type CreateRequestEntry<ItemTypeType extends ItemType> = {
201
+ request: {
202
+ requestType: 'create';
203
+ itemType?: ItemTypeType;
204
+ parentType?: ItemType;
205
+ parentId?: {
206
+ [itemId: string]: ItemId;
207
+ };
208
+ items: ApiRequestItemMap;
209
+ columns: ApiRequestColumnMap;
210
+ };
211
+ columns: RequestColumnExpansion;
212
+ items: ItemEntryMap<ItemTypeType>;
213
+ };
214
+ export declare enum ApiLinkTreeType {
215
+ ITEMTABLE = "itemtable",
216
+ DIRECT = "direct"
217
+ }
218
+ export declare type ApiLinkTreeEntry = {
219
+ type: ApiLinkTreeType.ITEMTABLE;
220
+ } | {
221
+ type: ApiLinkTreeType.DIRECT;
222
+ field: string;
223
+ };
224
+ export declare type ApiLinkTree = {
225
+ [itemType: string]: {
226
+ [childType: string]: ApiLinkTreeEntry;
227
+ };
228
+ };
229
+ /**
230
+ * @description
231
+ * Callback to determine if an item should be included in the create delta, return `false` to exclude the item
232
+ */
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;
235
+ /**
236
+ * @description
237
+ * Returns 'false' if the field changed
238
+ */
239
+ export declare type CompareFieldCallback<ItemTypeType extends ItemType = any> = (field: keyof FieldMap<ItemTypeType>) => boolean;
240
+ export declare type FieldChangeCallbackArgs<ItemTypeType extends ItemType = any> = {
241
+ itemEntry: ItemEntry<ItemTypeType>;
242
+ compareField: CompareFieldCallback;
243
+ fields: FieldMap<ItemTypeType>;
244
+ isCalledAfterSocketUpdate: boolean;
245
+ previous: FieldMap<ItemTypeType>;
246
+ };
247
+ export declare type FieldChangeCallback<ItemTypeType extends ItemType = any> = (args: FieldChangeCallbackArgs<ItemTypeType>) => void;
248
+ 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>;
254
+ isInitialCall: boolean;
255
+ isCalledAfterSocketUpdate: boolean;
256
+ };
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>;
261
+ isCalledAfterSocketUpdate: boolean;
262
+ };
263
+ export declare type OnRemoveCallback<ItemTypeType extends ItemType = any> = (args: OnRemoveCallbackArgs<ItemTypeType>) => void;
@@ -1,2 +1,2 @@
1
- export interface PromiseInterface<T> extends Promise<T> {
2
- }
1
+ export interface PromiseInterface<T> extends Promise<T> {
2
+ }
@@ -1,2 +1,2 @@
1
- export * from './ItemTypesCollection';
2
- export * from './PromiseInterface';
1
+ export * from './ItemTypesCollection';
2
+ export * from './PromiseInterface';
package/package.json CHANGED
@@ -1,36 +1,36 @@
1
- {
2
- "name": "@rentman/rm-core",
3
- "version": "6.0.0",
4
- "description": "Rentman core functionalities",
5
- "main": "./dist/rm-core.js",
6
- "types": "./dist/types/index.d.ts",
7
- "dependencies": {},
8
- "repository": {
9
- "type": "git",
10
- "url": "https://github.com/rentmanpublic/frontend-core"
11
- },
12
- "devDependencies": {
13
- "@types/moment": "^2.13.0",
14
- "@types/q": "^1.5.0",
15
- "clean-webpack-plugin": "^0.1.19",
16
- "ts-loader": "^6.2.1",
17
- "tslint": "5.19.0",
18
- "typescript": "^3.7.2",
19
- "typescript-tslint-plugin": "^0.5.5",
20
- "uglifyjs-webpack-plugin": "^1.2.5",
21
- "webpack": "4.41.2",
22
- "webpack-cli": "3.3.6",
23
- "webpack-merge": "^4.1.4"
24
- },
25
- "files": [
26
- "dist"
27
- ],
28
- "scripts": {
29
- "prepublishOnly": "npm run bundle",
30
- "bundle-dev": "webpack --config webpack.dev.js",
31
- "bundle": "webpack --config webpack.prod.js",
32
- "type-check": "tsc --noEmit"
33
- },
34
- "author": "Martijn Welker <martijn@rentman.nl>",
35
- "license": "UNLICENSED"
36
- }
1
+ {
2
+ "name": "@rentman/rm-core",
3
+ "version": "6.0.2",
4
+ "description": "Rentman core functionalities",
5
+ "main": "./dist/rm-core.js",
6
+ "types": "./dist/types/index.d.ts",
7
+ "dependencies": {},
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/rentmanpublic/frontend-core"
11
+ },
12
+ "devDependencies": {
13
+ "@types/moment": "^2.13.0",
14
+ "@types/q": "^1.5.0",
15
+ "clean-webpack-plugin": "^0.1.19",
16
+ "ts-loader": "^6.2.1",
17
+ "tslint": "5.19.0",
18
+ "typescript": "^3.7.2",
19
+ "typescript-tslint-plugin": "^0.5.5",
20
+ "uglifyjs-webpack-plugin": "^1.2.5",
21
+ "webpack": "4.41.2",
22
+ "webpack-cli": "3.3.6",
23
+ "webpack-merge": "^4.1.4"
24
+ },
25
+ "files": [
26
+ "dist"
27
+ ],
28
+ "scripts": {
29
+ "prepublishOnly": "npm run bundle",
30
+ "bundle-dev": "webpack --config webpack.dev.js",
31
+ "bundle": "webpack --config webpack.prod.js",
32
+ "type-check": "tsc --noEmit"
33
+ },
34
+ "author": "Martijn Welker <martijn@rentman.nl>",
35
+ "license": "UNLICENSED"
36
+ }
package/readme.md CHANGED
@@ -1,16 +1,16 @@
1
- # Running a local test version
2
- 1. Make changes
3
- 2. run `npm run bundle-dev`
4
- 3. copy `dist` folder to
5
- - Frontend: `<project>/bower_components/rentman-rm-core/`
6
- - App: `<project>/node_modules/@rentman/rm-core/`
7
-
8
- # Publishing your local version
9
-
10
- (You have to be logged in as rentman-user on npm, run `npm whoami` to see who you are logged in as)
11
-
12
- 1. Make changes
13
- 2. Report changes in changelog
14
- 3. Update version in package.json and main.ts
15
- 4. Commit, tag and push changes
1
+ # Running a local test version
2
+ 1. Make changes
3
+ 2. run `npm run bundle-dev`
4
+ 3. copy `dist` folder to
5
+ - Frontend: `<project>/bower_components/rentman-rm-core/`
6
+ - App: `<project>/node_modules/@rentman/rm-core/`
7
+
8
+ # Publishing your local version
9
+
10
+ (You have to be logged in as rentman-user on npm, run `npm whoami` to see who you are logged in as)
11
+
12
+ 1. Make changes
13
+ 2. Report changes in changelog
14
+ 3. Update version in package.json and main.ts
15
+ 4. Commit, tag and push changes
16
16
  5. run `npm publish`