@ricado/api-client 2.3.18 → 2.3.20

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 (41) hide show
  1. package/dist/ricado.api.client.js +1 -1
  2. package/lib/Controllers/Packhouse/Site/BinTipBarcodeScannerController.js +4 -2
  3. package/lib/Controllers/Packhouse/Site/BinTipBarcodeScannerResultController.js +207 -0
  4. package/lib/Controllers/Packhouse/Site/CompacSizerBinWeightController.js +2 -2
  5. package/lib/Controllers/Packhouse/Site/CompacSizerController.js +2 -2
  6. package/lib/Controllers/Packhouse/Site/MAFSizerController.js +2 -2
  7. package/lib/Controllers/Packhouse/Site/PackingLineController.js +2 -2
  8. package/lib/Controllers/Packhouse/Site/RejectBinScaleController.js +2 -2
  9. package/lib/Controllers/Packhouse/Site/RejectBinWeightController.js +2 -2
  10. package/lib/Controllers/Packhouse/Site/index.js +3 -0
  11. package/lib/Models/Packhouse/Site/BinTipBarcodeScannerModel.js +156 -8
  12. package/lib/Models/Packhouse/Site/BinTipBarcodeScannerResultModel.js +315 -0
  13. package/lib/Models/Packhouse/Site/CompacSizerBinWeightModel.js +1 -1
  14. package/lib/Models/Packhouse/Site/CompacSizerModel.js +1 -1
  15. package/lib/Models/Packhouse/Site/MAFSizerModel.js +1 -1
  16. package/lib/Models/Packhouse/Site/PackingLineModel.js +2 -2
  17. package/lib/Models/Packhouse/Site/RejectBinScaleModel.js +1 -1
  18. package/lib/Models/Packhouse/Site/RejectBinWeightModel.js +1 -1
  19. package/lib/Models/Packhouse/Site/index.js +3 -0
  20. package/lib/PackageVersion.js +1 -1
  21. package/lib/index.d.ts +362 -40
  22. package/package.json +1 -1
  23. package/src/Controllers/Packhouse/Site/BinTipBarcodeScannerController.js +4 -2
  24. package/src/Controllers/Packhouse/Site/BinTipBarcodeScannerResultController.js +184 -0
  25. package/src/Controllers/Packhouse/Site/CompacSizerBinWeightController.js +2 -2
  26. package/src/Controllers/Packhouse/Site/CompacSizerController.js +2 -2
  27. package/src/Controllers/Packhouse/Site/MAFSizerController.js +2 -2
  28. package/src/Controllers/Packhouse/Site/PackingLineController.js +2 -2
  29. package/src/Controllers/Packhouse/Site/RejectBinScaleController.js +2 -2
  30. package/src/Controllers/Packhouse/Site/RejectBinWeightController.js +2 -2
  31. package/src/Controllers/Packhouse/Site/index.js +2 -0
  32. package/src/Models/Packhouse/Site/BinTipBarcodeScannerModel.js +208 -8
  33. package/src/Models/Packhouse/Site/BinTipBarcodeScannerResultModel.js +305 -0
  34. package/src/Models/Packhouse/Site/CompacSizerBinWeightModel.js +1 -1
  35. package/src/Models/Packhouse/Site/CompacSizerModel.js +1 -1
  36. package/src/Models/Packhouse/Site/MAFSizerModel.js +1 -1
  37. package/src/Models/Packhouse/Site/PackingLineModel.js +2 -2
  38. package/src/Models/Packhouse/Site/RejectBinScaleModel.js +1 -1
  39. package/src/Models/Packhouse/Site/RejectBinWeightModel.js +1 -1
  40. package/src/Models/Packhouse/Site/index.js +2 -0
  41. package/src/PackageVersion.js +1 -1
@@ -0,0 +1,305 @@
1
+ /**
2
+ * File Auto-Generated by the RICADO Gen 4 PHP API Project
3
+ *
4
+ * Do Not Edit this File Manually!
5
+ */
6
+
7
+ import BaseModel from '../../../Models/BaseModel';
8
+
9
+ /**
10
+ * Model Class for a Bin Tip Barcode Scanner Result
11
+ *
12
+ * @class
13
+ * @hideconstructor
14
+ * @extends BaseModel
15
+ */
16
+ class BinTipBarcodeScannerResultModel extends BaseModel
17
+ {
18
+ /**
19
+ * BinTipBarcodeScannerResultModel Constructor
20
+ *
21
+ * @protected
22
+ * @param {number} siteId The Site ID associated with this Bin Tip Barcode Scanner Result
23
+ */
24
+ constructor(siteId)
25
+ {
26
+ super();
27
+
28
+ /**
29
+ * The Bin Tip Barcode Scanner Result ID
30
+ *
31
+ * @type {string}
32
+ * @public
33
+ */
34
+ this.id = "";
35
+
36
+ /**
37
+ * The Bin Tip Barcode Scanner ID associated with this Result
38
+ *
39
+ * @type {string}
40
+ * @public
41
+ */
42
+ this.barcodeScannerId = "";
43
+
44
+ /**
45
+ * A 10-Digit Bin Number made up of a Bin Lot (4-Digits) and a Unique Number (6-Digits)
46
+ *
47
+ * @type {string}
48
+ * @public
49
+ */
50
+ this.binNumber = "";
51
+
52
+ /**
53
+ * When this Barcode Scanner Result was Created
54
+ *
55
+ * @type {Date}
56
+ * @public
57
+ */
58
+ this.createdTimestamp = new Date();
59
+
60
+ /**
61
+ * The Type of this Barcode Scanner Result
62
+ *
63
+ * @type {string}
64
+ * @public
65
+ */
66
+ this.type = "";
67
+
68
+ /**
69
+ * The Packrun ID associated with this Barcode Scanner Result
70
+ *
71
+ * @type {?string}
72
+ * @public
73
+ */
74
+ this.packrunId = null;
75
+
76
+ /**
77
+ * Whether the Bin Number was Valid and could be matched with a Current or Scheduled Packrun
78
+ *
79
+ * @type {boolean}
80
+ * @public
81
+ */
82
+ this.result = false;
83
+
84
+ /**
85
+ * An Optional Message to accompany the Result. Typically only present when the Result is **false**
86
+ *
87
+ * @type {?string}
88
+ * @public
89
+ */
90
+ this.resultMessage = null;
91
+
92
+ /**
93
+ * The Bin Lot Code of this Barcode Scanner Result
94
+ *
95
+ * @type {?string}
96
+ * @public
97
+ */
98
+ this.binLotCode = null;
99
+
100
+ /**
101
+ * Whether the Bin Tip Barcode Scanner Result has been deleted
102
+ *
103
+ * @type {boolean}
104
+ * @public
105
+ */
106
+ this.deleted = false;
107
+
108
+ /**
109
+ * When the Bin Tip Barcode Scanner Result was last updated
110
+ *
111
+ * @type {Date}
112
+ * @public
113
+ */
114
+ this.updateTimestamp = new Date();
115
+
116
+ /**
117
+ * The Site ID associated with this Bin Tip Barcode Scanner Result
118
+ *
119
+ * @type {number}
120
+ * @public
121
+ */
122
+ this.siteId = siteId;
123
+ }
124
+
125
+ /**
126
+ * Create a new **BinTipBarcodeScannerResultModel** from a JSON Object or JSON String
127
+ *
128
+ * @static
129
+ * @public
130
+ * @param {Object<string, any>|string} json A JSON Object or JSON String
131
+ * @param {number} siteId The Site ID associated with this Bin Tip Barcode Scanner Result
132
+ * @return {BinTipBarcodeScannerResultModel}
133
+ */
134
+ static fromJSON(json, siteId)
135
+ {
136
+ let model = new BinTipBarcodeScannerResultModel(siteId);
137
+
138
+ /**
139
+ * The JSON Object
140
+ *
141
+ * @type {Object<string, any>}
142
+ */
143
+ let jsonObject = {};
144
+
145
+ if(typeof json === 'string')
146
+ {
147
+ jsonObject = JSON.parse(json);
148
+ }
149
+ else if(typeof json === 'object')
150
+ {
151
+ jsonObject = json;
152
+ }
153
+
154
+ if('id' in jsonObject)
155
+ {
156
+ model.id = (function(){
157
+ if(typeof jsonObject['id'] !== 'string')
158
+ {
159
+ return String(jsonObject['id']);
160
+ }
161
+
162
+ return jsonObject['id'];
163
+ }());
164
+ }
165
+
166
+ if('barcodeScannerId' in jsonObject)
167
+ {
168
+ model.barcodeScannerId = (function(){
169
+ if(typeof jsonObject['barcodeScannerId'] !== 'string')
170
+ {
171
+ return String(jsonObject['barcodeScannerId']);
172
+ }
173
+
174
+ return jsonObject['barcodeScannerId'];
175
+ }());
176
+ }
177
+
178
+ if('binNumber' in jsonObject)
179
+ {
180
+ model.binNumber = (function(){
181
+ if(typeof jsonObject['binNumber'] !== 'string')
182
+ {
183
+ return String(jsonObject['binNumber']);
184
+ }
185
+
186
+ return jsonObject['binNumber'];
187
+ }());
188
+ }
189
+
190
+ if('createdTimestamp' in jsonObject)
191
+ {
192
+ model.createdTimestamp = (function(){
193
+ if(typeof jsonObject['createdTimestamp'] !== 'string')
194
+ {
195
+ return new Date(String(jsonObject['createdTimestamp']));
196
+ }
197
+
198
+ return new Date(jsonObject['createdTimestamp']);
199
+ }());
200
+ }
201
+
202
+ if('type' in jsonObject)
203
+ {
204
+ model.type = (function(){
205
+ if(typeof jsonObject['type'] !== 'string')
206
+ {
207
+ return String(jsonObject['type']);
208
+ }
209
+
210
+ return jsonObject['type'];
211
+ }());
212
+ }
213
+
214
+ if('packrunId' in jsonObject)
215
+ {
216
+ model.packrunId = (function(){
217
+ if(jsonObject['packrunId'] === null)
218
+ {
219
+ return null;
220
+ }
221
+
222
+ if(typeof jsonObject['packrunId'] !== 'string')
223
+ {
224
+ return String(jsonObject['packrunId']);
225
+ }
226
+
227
+ return jsonObject['packrunId'];
228
+ }());
229
+ }
230
+
231
+ if('result' in jsonObject)
232
+ {
233
+ model.result = (function(){
234
+ if(typeof jsonObject['result'] !== 'boolean')
235
+ {
236
+ return Boolean(jsonObject['result']);
237
+ }
238
+
239
+ return jsonObject['result'];
240
+ }());
241
+ }
242
+
243
+ if('resultMessage' in jsonObject)
244
+ {
245
+ model.resultMessage = (function(){
246
+ if(jsonObject['resultMessage'] === null)
247
+ {
248
+ return null;
249
+ }
250
+
251
+ if(typeof jsonObject['resultMessage'] !== 'string')
252
+ {
253
+ return String(jsonObject['resultMessage']);
254
+ }
255
+
256
+ return jsonObject['resultMessage'];
257
+ }());
258
+ }
259
+
260
+ if('binLotCode' in jsonObject)
261
+ {
262
+ model.binLotCode = (function(){
263
+ if(jsonObject['binLotCode'] === null)
264
+ {
265
+ return null;
266
+ }
267
+
268
+ if(typeof jsonObject['binLotCode'] !== 'string')
269
+ {
270
+ return String(jsonObject['binLotCode']);
271
+ }
272
+
273
+ return jsonObject['binLotCode'];
274
+ }());
275
+ }
276
+
277
+ if('deleted' in jsonObject)
278
+ {
279
+ model.deleted = (function(){
280
+ if(typeof jsonObject['deleted'] !== 'boolean')
281
+ {
282
+ return Boolean(jsonObject['deleted']);
283
+ }
284
+
285
+ return jsonObject['deleted'];
286
+ }());
287
+ }
288
+
289
+ if('updateTimestamp' in jsonObject)
290
+ {
291
+ model.updateTimestamp = (function(){
292
+ if(typeof jsonObject['updateTimestamp'] !== 'string')
293
+ {
294
+ return new Date(String(jsonObject['updateTimestamp']));
295
+ }
296
+
297
+ return new Date(jsonObject['updateTimestamp']);
298
+ }());
299
+ }
300
+
301
+ return model;
302
+ }
303
+ }
304
+
305
+ export default BinTipBarcodeScannerResultModel;
@@ -68,7 +68,7 @@ class CompacSizerBinWeightModel extends BaseModel
68
68
  /**
69
69
  * The Sources and Weights that make up this Bin Weight
70
70
  *
71
- * @type {{type: string, outletNumber: number, outletName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}[]}
71
+ * @type {Array<{type: string, outletNumber: number, outletName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}>}
72
72
  * @public
73
73
  */
74
74
  this.sources = [];
@@ -198,7 +198,7 @@ class CompacSizerModel extends BaseModel
198
198
  /**
199
199
  * An Array of Sources that deliver Fruit to this Compac Sizer
200
200
  *
201
- * @type {{type: string, riserId: string}|{type: string, sizerId: string, outletNumbers: number[]}[]}
201
+ * @type {Array<{type: string, riserId: string}|{type: string, sizerId: string, outletNumbers: number[]}>}
202
202
  * @public
203
203
  */
204
204
  this.sources = [];
@@ -160,7 +160,7 @@ class MAFSizerModel extends BaseModel
160
160
  /**
161
161
  * An Array of Sources that deliver Fruit to this MAF Sizer
162
162
  *
163
- * @type {{type: string, riserId: string}|{type: string, sizerId: string, outletNumbers: number[]}[]}
163
+ * @type {Array<{type: string, riserId: string}|{type: string, sizerId: string, outletNumbers: number[]}>}
164
164
  * @public
165
165
  */
166
166
  this.sources = [];
@@ -166,7 +166,7 @@ class PackingLineModel extends BaseModel
166
166
  /**
167
167
  * The Automation Object for this Packing Line
168
168
  *
169
- * @type {?{points: {controlMode: number, autoStartAllRequest: number, stopAllRequest: number, status: number, startWarningSiren: number, safetySystemHealthy: ?number}, autoControlGroups: Array<{id: string, name: string, points: {runControl: number, startRequest: number, stopRequest: number, status: number, disabled: number}, startDelay: ?number, userStartWithoutDependencies: boolean, startSequences: Array<{startDelay: number, startOrder: number, vsds: string[], contactors: string[], basicControls: Array<{points: {status: number, control: number}, name: string}>}>, downstreamDependencyGroups: string[], neighbourDependencyGroups: string[], shutdownAlarms: string[]}>, autoSpeedGroups: Array<{id: string, name: string, vsds: string[], points: {autoSetpoint: number, overrideSetpoint: number, overrideMode: number}, sectionId: string, displayOrder: number, supportsAutoMode: boolean}>, autoTargets: Array<{id: string, name: string, description: string, type: string, units: ?string, minValue: number, maxValue: number, points: {setpoint: number, actual: number}}>, vsds: Array<{id: string, displayOrder: number}>, contactors: Array<{id: string, displayOrder: number}>, basicControls: Array<{points: {status: number, control: number}, name: string, displayOrder: number}>, shutdownAlarms: string[], lightControls: Array<{name: string, points: {status: number, control: number}}>, infeedManagement: Array<{id: string, name: string, points: {infeedFruitPerMinuteTarget: number, infeedFruitPerMinuteActual: number, sizerFruitPerMinuteActual: number, sizerRecycleFruitPerMinute: number, riser1FruitPerMinuteActual: ?number, riser1LightsControlMode: ?number, riser1LightsManualControl: ?number, riser1LightsStatus: ?number, riser2FruitPerMinuteActual: ?number, riser2LightsControlMode: ?number, riser2LightsManualControl: ?number, riser2LightsStatus: ?number}, riserCount: number, displayOrder: number, riser1AutoControlGroupId: ?string, riser2AutoControlGroupId: ?string}>, autoSpeedSections: Array<{id: string, name: string, displayOrder: number, buttonControls: Array<{icon: string, name: string, type: string, points: {control: number, disable: number}, resetDelay: number, displayOrder: number}>, splitGroupId: ?string, splitGroupPosition: ?string}>, configurationGroups: Array<{id: string, name: string, sectionId: string, displayOrder: number, configurationPoints: {name: string, type: string, point: number}|{name: string, type: string, point: number, units: ?string, minValue: number, maxValue: number}[]}>, configurationSections: Array<{id: string, name: string, displayOrder: number}>, momentaryControlGroups: Array<{name: string, momentaryControls: Array<{name: string, points: Array<{name: string, point: number}>, displayOrder: number}>}>}}
169
+ * @type {?{points: {controlMode: number, autoStartAllRequest: number, stopAllRequest: number, status: number, startWarningSiren: number, safetySystemHealthy: ?number}, autoControlGroups: Array<{id: string, name: string, points: {runControl: number, startRequest: number, stopRequest: number, status: number, disabled: number}, startDelay: ?number, userStartWithoutDependencies: boolean, startSequences: Array<{startDelay: number, startOrder: number, vsds: string[], contactors: string[], basicControls: Array<{points: {status: number, control: number}, name: string}>}>, downstreamDependencyGroups: string[], neighbourDependencyGroups: string[], shutdownAlarms: string[]}>, autoSpeedGroups: Array<{id: string, name: string, vsds: string[], points: {autoSetpoint: number, overrideSetpoint: number, overrideMode: number}, sectionId: string, displayOrder: number, supportsAutoMode: boolean}>, autoTargets: Array<{id: string, name: string, description: string, type: string, units: ?string, minValue: number, maxValue: number, points: {setpoint: number, actual: number}}>, vsds: Array<{id: string, displayOrder: number}>, contactors: Array<{id: string, displayOrder: number}>, basicControls: Array<{points: {status: number, control: number}, name: string, displayOrder: number}>, shutdownAlarms: string[], lightControls: Array<{name: string, points: {status: number, control: number}}>, infeedManagement: Array<{id: string, name: string, points: {infeedFruitPerMinuteTarget: number, infeedFruitPerMinuteActual: number, sizerFruitPerMinuteActual: number, sizerRecycleFruitPerMinute: number, riser1FruitPerMinuteActual: ?number, riser1LightsControlMode: ?number, riser1LightsManualControl: ?number, riser1LightsStatus: ?number, riser2FruitPerMinuteActual: ?number, riser2LightsControlMode: ?number, riser2LightsManualControl: ?number, riser2LightsStatus: ?number}, riserCount: number, displayOrder: number, riser1AutoControlGroupId: ?string, riser2AutoControlGroupId: ?string}>, autoSpeedSections: Array<{id: string, name: string, displayOrder: number, buttonControls: Array<{icon: string, name: string, type: string, points: {control: number, disable: number}, resetDelay: number, displayOrder: number}>, splitGroupId: ?string, splitGroupPosition: ?string}>, configurationGroups: Array<{id: string, name: string, sectionId: string, displayOrder: number, configurationPoints: Array<{name: string, type: string, point: number}|{name: string, type: string, point: number, units: ?string, minValue: number, maxValue: number}>}>, configurationSections: Array<{id: string, name: string, displayOrder: number}>, momentaryControlGroups: Array<{name: string, momentaryControls: Array<{name: string, points: Array<{name: string, point: number}>, displayOrder: number}>}>}}
170
170
  * @public
171
171
  */
172
172
  this.automation = null;
@@ -198,7 +198,7 @@ class PackingLineModel extends BaseModel
198
198
  /**
199
199
  * The Advanced Packrun Management Configuration for this Packing Line
200
200
  *
201
- * @type {?{points: {startPackrunChangeRequest: number, cancelPackrunChangeRequest: number, advancePackrunChangeRequest: number, skipPackrunChangeStepRequest: number, packrunChangeCurrentStep: number, packrunChangeAutomationActionsEnabled: number}, steps: {index: number, type: string, title: string, subtitle: ?string, description: string, pointActions: Array<{trigger: string, pointId: number, value: any}>, autoControlGroupActions: Array<{trigger: string, groupId: string, action: string}>}|{index: number, type: string, sizerIds: string[]}|{index: number, type: string, sizerIds: string[]}|{index: number, type: string, sizerId: string}|{index: number, type: string, title: string, subtitle: ?string, description: string, actionType: string, trigger: string, actionReference: ?any}|{index: number, type: string, title: string, subtitle: ?string, description: string, actionType: string, trigger: string, actionReference: ?any}[], enabled: boolean}}
201
+ * @type {?{points: {startPackrunChangeRequest: number, cancelPackrunChangeRequest: number, advancePackrunChangeRequest: number, skipPackrunChangeStepRequest: number, packrunChangeCurrentStep: number, packrunChangeAutomationActionsEnabled: number}, steps: Array<{index: number, type: string, title: string, subtitle: ?string, description: string, pointActions: Array<{trigger: string, pointId: number, value: any}>, autoControlGroupActions: Array<{trigger: string, groupId: string, action: string}>}|{index: number, type: string, sizerIds: string[]}|{index: number, type: string, sizerIds: string[]}|{index: number, type: string, sizerId: string}|{index: number, type: string, title: string, subtitle: ?string, description: string, actionType: string, trigger: string, actionReference: ?any}|{index: number, type: string, title: string, subtitle: ?string, description: string, actionType: string, trigger: string, actionReference: ?any}>, enabled: boolean}}
202
202
  * @public
203
203
  */
204
204
  this.advancedPackrunManagement = null;
@@ -148,7 +148,7 @@ class RejectBinScaleModel extends BaseModel
148
148
  /**
149
149
  * An Array of Sources that deliver Fruit to this Reject Bin Scale
150
150
  *
151
- * @type {{type: string, sortingTableId: string, classType: string, varietyClassTypes: Array<{varietyId: string, classType: string}>}|{type: string, beltName: ?string, classType: string, varietyClassTypes: Array<{varietyId: string, classType: string}>}|{type: string, sizerId: string, outletNumber: number}[]}
151
+ * @type {Array<{type: string, sortingTableId: string, classType: string, varietyClassTypes: Array<{varietyId: string, classType: string}>}|{type: string, beltName: ?string, classType: string, varietyClassTypes: Array<{varietyId: string, classType: string}>}|{type: string, sizerId: string, outletNumber: number}>}
152
152
  * @public
153
153
  */
154
154
  this.sources = [];
@@ -76,7 +76,7 @@ class RejectBinWeightModel extends BaseModel
76
76
  /**
77
77
  * The Source Weights that make up the Net Weight
78
78
  *
79
- * @type {{type: string, sortingTableId: string, sortingTableName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, beltName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, sizerId: string, sizerName: ?string, outletNumber: number, outletName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, mixedNames: string[], weights: Array<{classType: string, weight: number, fruitCount: ?number}>}[]}
79
+ * @type {Array<{type: string, sortingTableId: string, sortingTableName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, beltName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, sizerId: string, sizerName: ?string, outletNumber: number, outletName: ?string, weights: Array<{classType: string, weight: number, fruitCount: ?number}>}|{type: string, mixedNames: string[], weights: Array<{classType: string, weight: number, fruitCount: ?number}>}>}
80
80
  * @public
81
81
  */
82
82
  this.sources = [];
@@ -8,6 +8,7 @@
8
8
  * @namespace Models.Packhouse.Site
9
9
  */
10
10
  import BinTipBarcodeScannerModel from './BinTipBarcodeScannerModel';
11
+ import BinTipBarcodeScannerResultModel from './BinTipBarcodeScannerResultModel';
11
12
  import BinTipBinCardModel from './BinTipBinCardModel';
12
13
  import BinTipBinModel from './BinTipBinModel';
13
14
  import BinTipWeightModel from './BinTipWeightModel';
@@ -44,6 +45,7 @@ import VarietyModel from './VarietyModel';
44
45
 
45
46
  const Site = {
46
47
  BinTipBarcodeScannerModel,
48
+ BinTipBarcodeScannerResultModel,
47
49
  BinTipBinCardModel,
48
50
  BinTipBinModel,
49
51
  BinTipWeightModel,
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '2.3.18';
2
+ export const version = '2.3.20';