@contrail/flexplm 1.5.0-alpha.98b8b06 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/.github/pull_request_template.md +31 -0
  2. package/.github/workflows/flexplm-lib.yml +27 -0
  3. package/.github/workflows/publish-to-npm.yml +121 -0
  4. package/CHANGELOG.md +45 -0
  5. package/lib/entity-processor/base-entity-processor.d.ts +0 -65
  6. package/lib/entity-processor/base-entity-processor.js +0 -71
  7. package/lib/entity-processor/base-entity-processor.spec.js +0 -1
  8. package/lib/index.d.ts +0 -1
  9. package/lib/index.js +0 -1
  10. package/lib/publish/base-process-publish-assortment.d.ts +0 -25
  11. package/lib/publish/base-process-publish-assortment.js +6 -60
  12. package/lib/publish/base-process-publish-assortment.spec.js +4 -22
  13. package/lib/publish/mockData.js +0 -5
  14. package/lib/transform/identifier-conversion-spec-mockData.js +6 -34
  15. package/lib/transform/identifier-conversion.d.ts +0 -36
  16. package/lib/transform/identifier-conversion.js +0 -36
  17. package/lib/transform/identifier-conversion.spec.js +0 -4
  18. package/lib/util/config-defaults.js +0 -3
  19. package/lib/util/config-defaults.spec.js +0 -9
  20. package/lib/util/data-converter-spec-mockData.js +3 -17
  21. package/lib/util/data-converter.d.ts +0 -97
  22. package/lib/util/data-converter.js +1 -127
  23. package/lib/util/data-converter.spec.js +0 -2
  24. package/lib/util/error-response-object.d.ts +0 -5
  25. package/lib/util/error-response-object.js +0 -7
  26. package/lib/util/event-short-message-status.js +0 -1
  27. package/lib/util/federation.js +0 -8
  28. package/lib/util/flexplm-connect.d.ts +0 -7
  29. package/lib/util/flexplm-connect.js +0 -14
  30. package/lib/util/logger-config.js +0 -1
  31. package/lib/util/map-util-spec-mockData.js +3 -17
  32. package/lib/util/map-utils.d.ts +0 -27
  33. package/lib/util/map-utils.js +0 -27
  34. package/lib/util/thumbnail-util.d.ts +0 -21
  35. package/lib/util/thumbnail-util.js +1 -28
  36. package/lib/util/thumbnail-util.spec.js +0 -6
  37. package/lib/util/type-conversion-utils-spec-mockData.js +3 -3
  38. package/lib/util/type-conversion-utils.d.ts +1 -152
  39. package/lib/util/type-conversion-utils.js +1 -155
  40. package/lib/util/type-defaults.d.ts +0 -66
  41. package/lib/util/type-defaults.js +0 -66
  42. package/lib/util/type-defaults.spec.js +5 -5
  43. package/lib/util/type-utils.d.ts +0 -21
  44. package/lib/util/type-utils.js +0 -23
  45. package/lib/util/type-utils.spec.js +0 -2
  46. package/package.json +6 -21
  47. package/publish.bat +5 -0
  48. package/publish.sh +5 -0
  49. package/src/entity-processor/base-entity-processor.spec.ts +689 -0
  50. package/src/entity-processor/base-entity-processor.ts +583 -0
  51. package/src/flexplm-request.ts +28 -0
  52. package/src/flexplm-utils.spec.ts +27 -0
  53. package/src/flexplm-utils.ts +29 -0
  54. package/src/index.ts +22 -0
  55. package/src/interfaces/interfaces.ts +122 -0
  56. package/src/interfaces/item-family-changes.ts +67 -0
  57. package/src/interfaces/publish-change-data.ts +43 -0
  58. package/src/publish/base-process-publish-assortment-callback.ts +50 -0
  59. package/src/publish/base-process-publish-assortment.spec.ts +1992 -0
  60. package/src/publish/base-process-publish-assortment.ts +1134 -0
  61. package/src/publish/mockData.ts +4561 -0
  62. package/src/transform/identifier-conversion-spec-mockData.ts +496 -0
  63. package/src/transform/identifier-conversion.spec.ts +386 -0
  64. package/src/transform/identifier-conversion.ts +282 -0
  65. package/src/util/config-defaults.spec.ts +445 -0
  66. package/src/util/config-defaults.ts +106 -0
  67. package/src/util/data-converter-spec-mockData.ts +231 -0
  68. package/src/util/data-converter.spec.ts +1622 -0
  69. package/src/util/data-converter.ts +819 -0
  70. package/src/util/error-response-object.spec.ts +116 -0
  71. package/src/util/error-response-object.ts +50 -0
  72. package/src/util/event-short-message-status.ts +22 -0
  73. package/src/util/federation.ts +172 -0
  74. package/src/util/flexplm-connect.spec.ts +132 -0
  75. package/src/util/flexplm-connect.ts +208 -0
  76. package/src/util/logger-config.ts +20 -0
  77. package/src/util/map-util-spec-mockData.ts +231 -0
  78. package/src/util/map-utils.spec.ts +103 -0
  79. package/src/util/map-utils.ts +41 -0
  80. package/src/util/mockData.ts +101 -0
  81. package/src/util/thumbnail-util.spec.ts +508 -0
  82. package/src/util/thumbnail-util.ts +272 -0
  83. package/src/util/type-conversion-utils-spec-mockData.ts +272 -0
  84. package/src/util/type-conversion-utils.spec.ts +1031 -0
  85. package/src/util/type-conversion-utils.ts +490 -0
  86. package/src/util/type-defaults.spec.ts +797 -0
  87. package/src/util/type-defaults.ts +320 -0
  88. package/src/util/type-utils.spec.ts +227 -0
  89. package/src/util/type-utils.ts +144 -0
  90. package/tsconfig.json +24 -0
  91. package/tslint.json +57 -0
  92. package/lib/cli/commands/compile.d.ts +0 -4
  93. package/lib/cli/commands/compile.js +0 -73
  94. package/lib/cli/commands/compile.spec.d.ts +0 -1
  95. package/lib/cli/commands/compile.spec.js +0 -80
  96. package/lib/cli/commands/create.d.ts +0 -5
  97. package/lib/cli/commands/create.js +0 -77
  98. package/lib/cli/commands/create.spec.d.ts +0 -1
  99. package/lib/cli/commands/create.spec.js +0 -78
  100. package/lib/cli/commands/upload.d.ts +0 -17
  101. package/lib/cli/commands/upload.js +0 -228
  102. package/lib/cli/commands/upload.spec.d.ts +0 -1
  103. package/lib/cli/commands/upload.spec.js +0 -88
  104. package/lib/cli/index.d.ts +0 -5
  105. package/lib/cli/index.js +0 -70
  106. package/lib/cli/index.spec.d.ts +0 -1
  107. package/lib/cli/index.spec.js +0 -85
  108. package/lib/cli/template/mapping-template.ts.template +0 -62
  109. package/lib/interfaces/mapping-file.d.ts +0 -460
  110. package/lib/interfaces/mapping-file.js +0 -2
  111. package/scripts/copy-template.js +0 -10
@@ -0,0 +1,496 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.mapping = {
4
+ typeConversion: {
5
+ vibe2flex: {
6
+ 'custom-entity': {
7
+ getMapKey: (entity) =>{
8
+ const typePath = entity['typePath'];
9
+ let mapKey = '';
10
+ switch (typePath) {
11
+ case 'custom-entity:pack':
12
+ mapKey = 'packaging';
13
+ break;
14
+ case 'custom-entity:prefix':
15
+ mapKey = 'prefix';
16
+ break;
17
+ case 'custom-entity:catName':
18
+ mapKey = 'catName';
19
+ break;
20
+ case 'custom-entity:partnerOrg':
21
+ mapKey = 'partnerOrg';
22
+ break;
23
+ case 'custom-entity:catFamily':
24
+ mapKey = 'catFamily';
25
+ break;
26
+ case 'custom-entity:formName':
27
+ mapKey = 'formName';
28
+ break;
29
+ }
30
+
31
+ return mapKey;
32
+ }
33
+ }
34
+ }
35
+ // flex2vibe: {
36
+ // LCSRevisableEntity: {
37
+ // getMapKey: (object) =>{ return object;}
38
+ // },
39
+ // LCSLast: {
40
+ // getMapKey: (object) => {return object;}
41
+ // },
42
+ // LCSMaterial: {
43
+ // getMapKey: (object) =>{ return object;}
44
+ // },
45
+ // LCSBusinessObject: {
46
+ // getMapKey: (object) => {return object;}
47
+ // }
48
+ // },
49
+ },
50
+ LCSSeason: {
51
+ vibe2flex: {
52
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
53
+ rekey: {
54
+ seasonName: 'flexPLMSeasonName',
55
+ year: 'seasonYear'
56
+ },
57
+ getSoftType: () => 'Season',
58
+ getClass: () => 'LCSSeason'
59
+ },
60
+ flex2vibe: {
61
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
62
+ rekey: {
63
+ flexPLMSeasonName: 'seasonName',
64
+ seasonYear: 'year'
65
+ }
66
+ }
67
+ },
68
+ LCSProduct: {
69
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
70
+ vibe2flex: {
71
+ getClass: () => 'LCSProduct',
72
+ getSoftType: (entity /*, dependencies*/) =>{
73
+ const prodType = entity['prodType'];
74
+ let val = '';
75
+ switch (prodType) {
76
+ case 'acc':
77
+ val = 'Product\\Accesories';
78
+ break;
79
+ case 'app':
80
+ val = 'Product\\Apparel';
81
+ break;
82
+ case 'eqp':
83
+ val = 'Product\\Equipment';
84
+ break;
85
+ case 'foot':
86
+ val = 'Product\\Footwear';
87
+ break;
88
+ }
89
+
90
+ return val;
91
+ },
92
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }, { processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' }],
93
+ rekey: {
94
+ productName: 'name',
95
+ vibeIQIdentifier: 'itemNumber'
96
+ },
97
+ valueTransform: {
98
+ transformEx: (row/*, dependencies*/) => {
99
+ return row['otherProp'] + 'xxx';
100
+ }
101
+ }
102
+
103
+ },
104
+ flex2vibe: {
105
+ getClass: () => 'item',
106
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
107
+ rekey: {
108
+ itemNumber: 'vibeIQIdentifier',
109
+ name: 'productName',
110
+ }
111
+ }
112
+ },
113
+ LCSSKU: {
114
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
115
+ vibe2flex: {
116
+ getClass: () => 'LCSSKU',
117
+ getSoftType: (entity /*, dependencies*/) =>{
118
+ const prodType = entity['prodType'];
119
+ let val = '';
120
+ switch (prodType) {
121
+ case 'acc':
122
+ val = 'Product\\Accesories';
123
+ break;
124
+ case 'app':
125
+ val = 'Product\\Apparel';
126
+ break;
127
+ case 'eqp':
128
+ val = 'Product\\Equipment';
129
+ break;
130
+ case 'foot':
131
+ val = 'Product\\Footwear';
132
+ break;
133
+ }
134
+
135
+ return val;
136
+ },
137
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
138
+ rekey: {
139
+ skuName: 'optionName',
140
+ vibeIQIdentifier: 'itemNumber'
141
+ }
142
+ },
143
+ flex2vibe: {
144
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
145
+ rekey: {
146
+ itemNumber: 'vibeIQIdentifier',
147
+ optionName: 'skuName',
148
+ }
149
+ }
150
+ },
151
+
152
+ packaging: {
153
+ vibe2flex: {
154
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
155
+ rekey: {
156
+ retailPackType: 'packType',
157
+ retailIntroDate: 'introDate'
158
+ },
159
+ getSoftType: () => 'Revisable Entity\\packaging',
160
+ getClass: () => 'LCSRevisableEntity'
161
+ },
162
+ flex2vibe: {
163
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
164
+ rekey: {
165
+ packType: 'retailPackType',
166
+ introDate: 'retailIntroDate'
167
+ },
168
+ getClass: () => 'custom-entity',
169
+ getSoftType: () => 'custom-entity:pack',
170
+
171
+ }
172
+ },
173
+ prefix: {
174
+ vibe2flex: {
175
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
176
+ rekey: {
177
+ retailOwner: 'owner',
178
+ retailIntroDate: 'introDate'
179
+ },
180
+ getSoftType: () => 'Revisable Entity\\prefix',
181
+ getClass: () => 'LCSRevisableEntity'
182
+ },
183
+ flex2vibe: {
184
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
185
+ rekey: {
186
+ owner: 'retailOwner',
187
+ introDate: 'retailIntroDate'
188
+ },
189
+ getClass: () => 'custom-entity',
190
+ getSoftType: () => 'custom-entity:prefix',
191
+
192
+ }
193
+ },
194
+ catName: {
195
+ getIdentifierProperties: () => ['catName', 'catNumber'],
196
+ getInformationalProperties: () => ['longName'],
197
+ vibe2flex: {
198
+ transformOrder: [],
199
+ getSoftType: () => 'Last\\catName',
200
+ getClass: () => 'LCSLast'
201
+ },
202
+ flex2vibe: {
203
+ transformOrder: [],
204
+ getClass: () => 'custom-entity',
205
+ getSoftType: () => 'custom-entity:catName',
206
+
207
+ }
208
+ },
209
+ partnerOrg: {
210
+ vibe2flex: {
211
+ transformOrder: [],
212
+ getSoftType: () => 'Business Object\\partnerOrg',
213
+ getClass: () => 'LCSLifecycleManaged'
214
+ },
215
+ flex2vibe: {
216
+ transformOrder: [],
217
+ getClass: () => 'custom-entity',
218
+ getSoftType: () => 'custom-entity:partnerOrg',
219
+
220
+ }
221
+ },
222
+ catFamily: {
223
+ vibe2flex: {
224
+ transformOrder: [],
225
+ getSoftType: () => 'Revisable Entity\\catFamily',
226
+ getClass: () => 'LCSRevisableEntity'
227
+ },
228
+ flex2vibe: {
229
+ transformOrder: [],
230
+ getClass: () => 'custom-entity',
231
+ getSoftType: () => 'custom-entity:catFamily',
232
+
233
+ }
234
+ },
235
+ formName: {
236
+ vibe2flex: {
237
+ transformOrder: [],
238
+ getSoftType: () => 'Material\\form',
239
+ getClass: () => 'LCSMaterial'
240
+ },
241
+ flex2vibe: {
242
+ transformOrder: [],
243
+ getClass: () => 'custom-entity',
244
+ getSoftType: () => 'custom-entity:formName',
245
+
246
+ }
247
+ },
248
+
249
+ };
250
+ exports.mapping2 = {
251
+ typeConversion: {
252
+ vibe2flex: {
253
+ 'custom-entity': {
254
+ getMapKey: (entity) =>{
255
+ const typePath = entity['typePath'];
256
+ let mapKey = '';
257
+ switch (typePath) {
258
+ case 'custom-entity:pack':
259
+ mapKey = 'packaging';
260
+ break;
261
+ case 'custom-entity:prefix':
262
+ mapKey = 'prefix';
263
+ break;
264
+ case 'custom-entity:catName':
265
+ mapKey = 'catName';
266
+ break;
267
+ case 'custom-entity:partnerOrg':
268
+ mapKey = 'partnerOrg';
269
+ break;
270
+ case 'custom-entity:catFamily':
271
+ mapKey = 'catFamily';
272
+ break;
273
+ case 'custom-entity:formName':
274
+ mapKey = 'formName';
275
+ break;
276
+ }
277
+
278
+ return mapKey;
279
+ }
280
+ }
281
+ }
282
+ // flex2vibe: {
283
+ // LCSRevisableEntity: {
284
+ // getMapKey: (object) =>{ return object;}
285
+ // },
286
+ // LCSLast: {
287
+ // getMapKey: (object) => {return object;}
288
+ // },
289
+ // LCSMaterial: {
290
+ // getMapKey: (object) =>{ return object;}
291
+ // },
292
+ // LCSBusinessObject: {
293
+ // getMapKey: (object) => {return object;}
294
+ // }
295
+ // },
296
+ },
297
+ LCSSeason: {
298
+ getIdentifierProperties: () => ['brand', 'year', 'seasonType'],
299
+ vibe2flex: {
300
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
301
+ rekey: {
302
+ seasonName: 'flexPLMSeasonName'
303
+ },
304
+ getSoftType: () => 'Season',
305
+ getClass: () => 'LCSSeason'
306
+ },
307
+ flex2vibe: {
308
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
309
+ rekey: {
310
+ flexPLMSeasonName: 'seasonName'
311
+ }
312
+ }
313
+ },
314
+ LCSProduct: {
315
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
316
+ vibe2flex: {
317
+ getClass: () => 'LCSProduct',
318
+ getSoftType: (entity /*, dependencies*/) =>{
319
+ const prodType = entity['prodType'];
320
+ let val = '';
321
+ switch (prodType) {
322
+ case 'acc':
323
+ val = 'Product\\Accesories';
324
+ break;
325
+ case 'app':
326
+ val = 'Product\\Apparel';
327
+ break;
328
+ case 'eqp':
329
+ val = 'Product\\Equipment';
330
+ break;
331
+ case 'foot':
332
+ val = 'Product\\Footwear';
333
+ break;
334
+ }
335
+
336
+ return val;
337
+ },
338
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }, { processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' }],
339
+ rekey: {
340
+ productName: 'name',
341
+ vibeIQIdentifier: 'itemNumber'
342
+ },
343
+ valueTransform: {
344
+ transformEx: (row/*, dependencies*/) => {
345
+ return row['otherProp'] + 'xxx';
346
+ }
347
+ }
348
+
349
+ },
350
+ flex2vibe: {
351
+ getClass: () => 'item',
352
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
353
+ rekey: {
354
+ itemNumber: 'vibeIQIdentifier',
355
+ name: 'productName',
356
+ }
357
+ }
358
+ },
359
+ LCSSKU: {
360
+ vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
361
+ getIdentifierProperties: () => ['uniqueIdentifierA', 'uniqueIdentifierB'],
362
+ vibe2flex: {
363
+ getClass: () => 'LCSSKU',
364
+ getSoftType: (entity /*, dependencies*/) =>{
365
+ const prodType = entity['prodType'];
366
+ let val = '';
367
+ switch (prodType) {
368
+ case 'acc':
369
+ val = 'Product\\Accesories';
370
+ break;
371
+ case 'app':
372
+ val = 'Product\\Apparel';
373
+ break;
374
+ case 'eqp':
375
+ val = 'Product\\Equipment';
376
+ break;
377
+ case 'foot':
378
+ val = 'Product\\Footwear';
379
+ break;
380
+ }
381
+
382
+ return val;
383
+ },
384
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
385
+ rekey: {
386
+ skuName: 'optionName',
387
+ vibeIQIdentifier: 'itemNumber'
388
+ }
389
+ },
390
+ flex2vibe: {
391
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
392
+ rekey: {
393
+ itemNumber: 'vibeIQIdentifier',
394
+ optionName: 'skuName',
395
+ }
396
+ }
397
+ },
398
+
399
+ packaging: {
400
+ vibe2flex: {
401
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
402
+ rekey: {
403
+ retailPackType: 'packType',
404
+ retailIntroDate: 'introDate'
405
+ },
406
+ getSoftType: () => 'Revisable Entity\\packaging',
407
+ getClass: () => 'LCSRevisableEntity'
408
+ },
409
+ flex2vibe: {
410
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
411
+ rekey: {
412
+ packType: 'retailPackType',
413
+ introDate: 'retailIntroDate'
414
+ },
415
+ getClass: () => 'custom-entity',
416
+ getSoftType: () => 'custom-entity:pack',
417
+
418
+ }
419
+ },
420
+ prefix: {
421
+ vibe2flex: {
422
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
423
+ rekey: {
424
+ retailOwner: 'owner',
425
+ retailIntroDate: 'introDate'
426
+ },
427
+ getSoftType: () => 'Revisable Entity\\prefix',
428
+ getClass: () => 'LCSRevisableEntity'
429
+ },
430
+ flex2vibe: {
431
+ transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
432
+ rekey: {
433
+ owner: 'retailOwner',
434
+ introDate: 'retailIntroDate'
435
+ },
436
+ getClass: () => 'custom-entity',
437
+ getSoftType: () => 'custom-entity:prefix',
438
+
439
+ }
440
+ },
441
+ catName: {
442
+ getIdentifierProperties: () => ['catName', 'catNumber'],
443
+ getInformationalProperties: () => ['longName'],
444
+ vibe2flex: {
445
+ transformOrder: [],
446
+ getSoftType: () => 'Last\\catName',
447
+ getClass: () => 'LCSLast'
448
+ },
449
+ flex2vibe: {
450
+ transformOrder: [],
451
+ getClass: () => 'custom-entity',
452
+ getSoftType: () => 'custom-entity:catName',
453
+
454
+ }
455
+ },
456
+ partnerOrg: {
457
+ vibe2flex: {
458
+ transformOrder: [],
459
+ getSoftType: () => 'Business Object\\partnerOrg',
460
+ getClass: () => 'LCSLifecycleManaged'
461
+ },
462
+ flex2vibe: {
463
+ transformOrder: [],
464
+ getClass: () => 'custom-entity',
465
+ getSoftType: () => 'custom-entity:partnerOrg',
466
+
467
+ }
468
+ },
469
+ catFamily: {
470
+ vibe2flex: {
471
+ transformOrder: [],
472
+ getSoftType: () => 'Revisable Entity\\catFamily',
473
+ getClass: () => 'LCSRevisableEntity'
474
+ },
475
+ flex2vibe: {
476
+ transformOrder: [],
477
+ getClass: () => 'custom-entity',
478
+ getSoftType: () => 'custom-entity:catFamily',
479
+
480
+ }
481
+ },
482
+ formName: {
483
+ vibe2flex: {
484
+ transformOrder: [],
485
+ getSoftType: () => 'Material\\form',
486
+ getClass: () => 'LCSMaterial'
487
+ },
488
+ flex2vibe: {
489
+ transformOrder: [],
490
+ getClass: () => 'custom-entity',
491
+ getSoftType: () => 'custom-entity:formName',
492
+
493
+ }
494
+ },
495
+
496
+ };