@contrail/flexplm 1.2.1 → 1.3.0-alpha.04c91a9

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 (125) hide show
  1. package/.github/pull_request_template.md +31 -31
  2. package/.github/workflows/flexplm-lib.yml +27 -27
  3. package/.github/workflows/publish-to-npm.yml +131 -0
  4. package/CHANGELOG.md +10 -0
  5. package/lib/entity-processor/base-entity-processor.d.ts +42 -42
  6. package/lib/entity-processor/base-entity-processor.js +385 -363
  7. package/lib/entity-processor/base-entity-processor.spec.d.ts +1 -1
  8. package/lib/entity-processor/base-entity-processor.spec.js +397 -302
  9. package/lib/flexplm-request.d.ts +3 -3
  10. package/lib/flexplm-request.js +34 -34
  11. package/lib/flexplm-utils.d.ts +5 -5
  12. package/lib/flexplm-utils.js +33 -33
  13. package/lib/flexplm-utils.spec.d.ts +1 -1
  14. package/lib/flexplm-utils.spec.js +26 -26
  15. package/lib/index.d.ts +22 -22
  16. package/lib/index.js +38 -38
  17. package/lib/interfaces/interfaces.d.ts +105 -105
  18. package/lib/interfaces/interfaces.js +2 -2
  19. package/lib/interfaces/item-family-changes.d.ts +20 -20
  20. package/lib/interfaces/item-family-changes.js +56 -56
  21. package/lib/interfaces/publish-change-data.d.ts +19 -19
  22. package/lib/interfaces/publish-change-data.js +32 -32
  23. package/lib/publish/base-process-publish-assortment-callback.d.ts +9 -9
  24. package/lib/publish/base-process-publish-assortment-callback.js +38 -38
  25. package/lib/publish/base-process-publish-assortment.d.ts +93 -93
  26. package/lib/publish/base-process-publish-assortment.js +944 -944
  27. package/lib/publish/base-process-publish-assortment.spec.d.ts +1 -1
  28. package/lib/publish/base-process-publish-assortment.spec.js +1670 -1670
  29. package/lib/publish/mockData.d.ts +1389 -1389
  30. package/lib/publish/mockData.js +4519 -4519
  31. package/lib/transform/identifier-conversion-spec-mockData.js +444 -444
  32. package/lib/transform/identifier-conversion.d.ts +15 -15
  33. package/lib/transform/identifier-conversion.js +212 -212
  34. package/lib/transform/identifier-conversion.spec.d.ts +1 -1
  35. package/lib/transform/identifier-conversion.spec.js +339 -339
  36. package/lib/util/config-defaults.d.ts +8 -8
  37. package/lib/util/config-defaults.js +85 -85
  38. package/lib/util/config-defaults.spec.d.ts +1 -1
  39. package/lib/util/config-defaults.spec.js +293 -293
  40. package/lib/util/data-converter-spec-mockData.js +205 -205
  41. package/lib/util/data-converter.d.ts +39 -39
  42. package/lib/util/data-converter.js +592 -592
  43. package/lib/util/data-converter.spec.d.ts +1 -1
  44. package/lib/util/data-converter.spec.js +904 -904
  45. package/lib/util/error-response-object.d.ts +4 -4
  46. package/lib/util/error-response-object.js +47 -47
  47. package/lib/util/error-response-object.spec.d.ts +1 -1
  48. package/lib/util/error-response-object.spec.js +99 -99
  49. package/lib/util/event-short-message-status.d.ts +19 -18
  50. package/lib/util/event-short-message-status.js +23 -22
  51. package/lib/util/federation.d.ts +15 -15
  52. package/lib/util/federation.js +149 -149
  53. package/lib/util/flexplm-connect.d.ts +22 -18
  54. package/lib/util/flexplm-connect.js +176 -171
  55. package/lib/util/flexplm-connect.spec.d.ts +1 -0
  56. package/lib/util/flexplm-connect.spec.js +88 -0
  57. package/lib/util/logger-config.d.ts +1 -1
  58. package/lib/util/logger-config.js +26 -26
  59. package/lib/util/map-util-spec-mockData.js +205 -205
  60. package/lib/util/map-utils.d.ts +6 -6
  61. package/lib/util/map-utils.js +15 -15
  62. package/lib/util/map-utils.spec.d.ts +1 -1
  63. package/lib/util/map-utils.spec.js +89 -89
  64. package/lib/util/mockData.d.ts +80 -79
  65. package/lib/util/mockData.js +103 -99
  66. package/lib/util/thumbnail-util.d.ts +34 -19
  67. package/lib/util/thumbnail-util.js +215 -114
  68. package/lib/util/thumbnail-util.spec.d.ts +1 -1
  69. package/lib/util/thumbnail-util.spec.js +434 -242
  70. package/lib/util/type-conversion-utils-spec-mockData.js +259 -241
  71. package/lib/util/type-conversion-utils.d.ts +23 -21
  72. package/lib/util/type-conversion-utils.js +265 -223
  73. package/lib/util/type-conversion-utils.spec.d.ts +1 -1
  74. package/lib/util/type-conversion-utils.spec.js +868 -708
  75. package/lib/util/type-defaults.d.ts +16 -16
  76. package/lib/util/type-defaults.js +221 -221
  77. package/lib/util/type-defaults.spec.d.ts +1 -1
  78. package/lib/util/type-defaults.spec.js +516 -516
  79. package/lib/util/type-utils.d.ts +13 -13
  80. package/lib/util/type-utils.js +114 -114
  81. package/lib/util/type-utils.spec.d.ts +1 -1
  82. package/lib/util/type-utils.spec.js +190 -190
  83. package/package.json +1 -1
  84. package/publish.bat +4 -4
  85. package/publish.sh +4 -4
  86. package/src/entity-processor/base-entity-processor.spec.ts +122 -0
  87. package/src/entity-processor/base-entity-processor.ts +31 -2
  88. package/src/flexplm-request.ts +28 -28
  89. package/src/flexplm-utils.spec.ts +27 -27
  90. package/src/flexplm-utils.ts +29 -29
  91. package/src/index.ts +21 -21
  92. package/src/interfaces/item-family-changes.ts +66 -66
  93. package/src/interfaces/publish-change-data.ts +42 -42
  94. package/src/publish/base-process-publish-assortment-callback.ts +50 -50
  95. package/src/transform/identifier-conversion-spec-mockData.ts +495 -495
  96. package/src/transform/identifier-conversion.spec.ts +353 -353
  97. package/src/transform/identifier-conversion.ts +281 -281
  98. package/src/util/config-defaults.spec.ts +350 -350
  99. package/src/util/config-defaults.ts +92 -92
  100. package/src/util/data-converter-spec-mockData.ts +230 -230
  101. package/src/util/error-response-object.spec.ts +115 -115
  102. package/src/util/error-response-object.ts +49 -49
  103. package/src/util/event-short-message-status.ts +1 -0
  104. package/src/util/federation.ts +172 -172
  105. package/src/util/flexplm-connect.spec.ts +132 -0
  106. package/src/util/flexplm-connect.ts +14 -5
  107. package/src/util/logger-config.ts +19 -19
  108. package/src/util/map-util-spec-mockData.ts +230 -230
  109. package/src/util/map-utils.spec.ts +102 -102
  110. package/src/util/map-utils.ts +40 -40
  111. package/src/util/mockData.ts +101 -97
  112. package/src/util/thumbnail-util.spec.ts +239 -0
  113. package/src/util/thumbnail-util.ts +140 -5
  114. package/src/util/type-conversion-utils-spec-mockData.ts +18 -0
  115. package/src/util/type-conversion-utils.spec.ts +184 -0
  116. package/src/util/type-conversion-utils.ts +75 -1
  117. package/src/util/type-defaults.spec.ts +668 -668
  118. package/src/util/type-defaults.ts +280 -280
  119. package/src/util/type-utils.spec.ts +227 -227
  120. package/src/util/type-utils.ts +144 -144
  121. package/tsconfig.json +23 -26
  122. package/tslint.json +57 -57
  123. package/.claude/settings.local.json +0 -8
  124. package/scripts/output.png +0 -0
  125. package/scripts/test-get-request.ts +0 -35
@@ -1,496 +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
-
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
496
  };