@contrail/transform-data 1.1.1 → 1.1.3
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.
- package/lib/conditional/conditional-transformer.js +4 -1
- package/lib/map-file/map-file-util-spec-mockData.js +32 -29
- package/lib/map-file/map-file-util.d.ts +1 -1
- package/lib/map-file/map-file-util.js +7 -2
- package/lib/processor/process-interfaces.d.ts +1 -1
- package/lib/processor/transform-processor.d.ts +1 -1
- package/package.json +3 -3
|
@@ -19,7 +19,10 @@ class ConditionalTransformer {
|
|
|
19
19
|
static evaluateTransformDefinition(transformDefinition, row) {
|
|
20
20
|
if (!transformDefinition?.conditions?.length) {
|
|
21
21
|
if (transformDefinition.fromProperty) {
|
|
22
|
-
if ((row[transformDefinition.fromProperty] === null ||
|
|
22
|
+
if ((row[transformDefinition.fromProperty] === null ||
|
|
23
|
+
row[transformDefinition.fromProperty] === undefined ||
|
|
24
|
+
row[transformDefinition.fromProperty] === '') &&
|
|
25
|
+
transformDefinition.default) {
|
|
23
26
|
row[transformDefinition.toProperty] = ConditionalTransformer.getValue(transformDefinition.default, row);
|
|
24
27
|
}
|
|
25
28
|
else {
|
|
@@ -28,9 +28,9 @@ exports.mapping = {
|
|
|
28
28
|
break;
|
|
29
29
|
}
|
|
30
30
|
return mapKey;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
34
|
},
|
|
35
35
|
LCSProduct: {
|
|
36
36
|
vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
|
|
@@ -55,16 +55,19 @@ exports.mapping = {
|
|
|
55
55
|
}
|
|
56
56
|
return val;
|
|
57
57
|
},
|
|
58
|
-
transformOrder: [
|
|
58
|
+
transformOrder: [
|
|
59
|
+
{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' },
|
|
60
|
+
{ processor: 'VALUE_TRANSFORM', functionTransformersKey: 'valueTransform' },
|
|
61
|
+
],
|
|
59
62
|
rekey: {
|
|
60
63
|
productName: 'name',
|
|
61
|
-
vibeIQIdentifier: 'itemNumber'
|
|
64
|
+
vibeIQIdentifier: 'itemNumber',
|
|
62
65
|
},
|
|
63
66
|
valueTransform: {
|
|
64
67
|
transformEx: (row) => {
|
|
65
68
|
return row['otherProp'] + 'xxx';
|
|
66
|
-
}
|
|
67
|
-
}
|
|
69
|
+
},
|
|
70
|
+
},
|
|
68
71
|
},
|
|
69
72
|
flex2vibe: {
|
|
70
73
|
getClass: () => 'item',
|
|
@@ -72,8 +75,8 @@ exports.mapping = {
|
|
|
72
75
|
rekey: {
|
|
73
76
|
itemNumber: 'vibeIQIdentifier',
|
|
74
77
|
name: 'productName',
|
|
75
|
-
}
|
|
76
|
-
}
|
|
78
|
+
},
|
|
79
|
+
},
|
|
77
80
|
},
|
|
78
81
|
LCSSKU: {
|
|
79
82
|
vibeOwningKeys: ['itemNumber', 'lifecycleStage'],
|
|
@@ -101,56 +104,56 @@ exports.mapping = {
|
|
|
101
104
|
transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
|
|
102
105
|
rekey: {
|
|
103
106
|
skuName: 'optionName',
|
|
104
|
-
vibeIQIdentifier: 'itemNumber'
|
|
105
|
-
}
|
|
107
|
+
vibeIQIdentifier: 'itemNumber',
|
|
108
|
+
},
|
|
106
109
|
},
|
|
107
110
|
flex2vibe: {
|
|
108
111
|
transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
|
|
109
112
|
rekey: {
|
|
110
113
|
itemNumber: 'vibeIQIdentifier',
|
|
111
114
|
optionName: 'skuName',
|
|
112
|
-
}
|
|
113
|
-
}
|
|
115
|
+
},
|
|
116
|
+
},
|
|
114
117
|
},
|
|
115
118
|
packaging: {
|
|
116
119
|
vibe2flex: {
|
|
117
120
|
transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
|
|
118
121
|
rekey: {
|
|
119
122
|
retailPackType: 'packType',
|
|
120
|
-
retailIntroDate: 'introDate'
|
|
123
|
+
retailIntroDate: 'introDate',
|
|
121
124
|
},
|
|
122
125
|
getSoftType: () => 'Revisable Entity\\packaging',
|
|
123
|
-
getClass: () => 'LCSRevisableEntity'
|
|
126
|
+
getClass: () => 'LCSRevisableEntity',
|
|
124
127
|
},
|
|
125
128
|
flex2vibe: {
|
|
126
129
|
transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
|
|
127
130
|
rekey: {
|
|
128
131
|
packType: 'retailPackType',
|
|
129
|
-
introDate: 'retailIntroDate'
|
|
132
|
+
introDate: 'retailIntroDate',
|
|
130
133
|
},
|
|
131
134
|
getClass: () => 'custom-entity',
|
|
132
135
|
getSoftType: () => 'custom-entity:pack',
|
|
133
|
-
}
|
|
136
|
+
},
|
|
134
137
|
},
|
|
135
138
|
prefix: {
|
|
136
139
|
vibe2flex: {
|
|
137
140
|
transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
|
|
138
141
|
rekey: {
|
|
139
142
|
retailOwner: 'owner',
|
|
140
|
-
retailIntroDate: 'introDate'
|
|
143
|
+
retailIntroDate: 'introDate',
|
|
141
144
|
},
|
|
142
145
|
getSoftType: () => 'Revisable Entity\\prefix',
|
|
143
|
-
getClass: () => 'LCSRevisableEntity'
|
|
146
|
+
getClass: () => 'LCSRevisableEntity',
|
|
144
147
|
},
|
|
145
148
|
flex2vibe: {
|
|
146
149
|
transformOrder: [{ processor: 'REKEY', rekeyDelete: true, rekeyTransformersKey: 'rekey' }],
|
|
147
150
|
rekey: {
|
|
148
151
|
owner: 'retailOwner',
|
|
149
|
-
introDate: 'retailIntroDate'
|
|
152
|
+
introDate: 'retailIntroDate',
|
|
150
153
|
},
|
|
151
154
|
getClass: () => 'custom-entity',
|
|
152
155
|
getSoftType: () => 'custom-entity:prefix',
|
|
153
|
-
}
|
|
156
|
+
},
|
|
154
157
|
},
|
|
155
158
|
catName: {
|
|
156
159
|
getIdentifierProperties: () => ['catName', 'catNumber'],
|
|
@@ -158,48 +161,48 @@ exports.mapping = {
|
|
|
158
161
|
vibe2flex: {
|
|
159
162
|
transformOrder: [],
|
|
160
163
|
getSoftType: () => 'Revisable Entity\\catName',
|
|
161
|
-
getClass: () => 'LCSLast'
|
|
164
|
+
getClass: () => 'LCSLast',
|
|
162
165
|
},
|
|
163
166
|
flex2vibe: {
|
|
164
167
|
transformOrder: [],
|
|
165
168
|
getClass: () => 'custom-entity',
|
|
166
169
|
getSoftType: () => 'custom-entity:catName',
|
|
167
|
-
}
|
|
170
|
+
},
|
|
168
171
|
},
|
|
169
172
|
partnerOrg: {
|
|
170
173
|
vibe2flex: {
|
|
171
174
|
transformOrder: [],
|
|
172
175
|
getSoftType: () => 'Business Object\\partnerOrg',
|
|
173
|
-
getClass: () => 'LCSLifecycleManaged'
|
|
176
|
+
getClass: () => 'LCSLifecycleManaged',
|
|
174
177
|
},
|
|
175
178
|
flex2vibe: {
|
|
176
179
|
transformOrder: [],
|
|
177
180
|
getClass: () => 'custom-entity',
|
|
178
181
|
getSoftType: () => 'custom-entity:partnerOrg',
|
|
179
|
-
}
|
|
182
|
+
},
|
|
180
183
|
},
|
|
181
184
|
catFamily: {
|
|
182
185
|
vibe2flex: {
|
|
183
186
|
transformOrder: [],
|
|
184
187
|
getSoftType: () => 'Revisable Entity\\catFamily',
|
|
185
|
-
getClass: () => 'LCSRevisableEntity'
|
|
188
|
+
getClass: () => 'LCSRevisableEntity',
|
|
186
189
|
},
|
|
187
190
|
flex2vibe: {
|
|
188
191
|
transformOrder: [],
|
|
189
192
|
getClass: () => 'custom-entity',
|
|
190
193
|
getSoftType: () => 'custom-entity:catFamily',
|
|
191
|
-
}
|
|
194
|
+
},
|
|
192
195
|
},
|
|
193
196
|
formName: {
|
|
194
197
|
vibe2flex: {
|
|
195
198
|
transformOrder: [],
|
|
196
199
|
getSoftType: () => 'Material\\form',
|
|
197
|
-
getClass: () => 'LCSMaterial'
|
|
200
|
+
getClass: () => 'LCSMaterial',
|
|
198
201
|
},
|
|
199
202
|
flex2vibe: {
|
|
200
203
|
transformOrder: [],
|
|
201
204
|
getClass: () => 'custom-entity',
|
|
202
205
|
getSoftType: () => 'custom-entity:formName',
|
|
203
|
-
}
|
|
206
|
+
},
|
|
204
207
|
},
|
|
205
208
|
};
|
|
@@ -97,9 +97,14 @@ class MapFileUtil {
|
|
|
97
97
|
const task = {
|
|
98
98
|
processor: step['processor'],
|
|
99
99
|
rekeyDelete: step['rekeyDelete'],
|
|
100
|
-
rekeyKeepMissingValues: step['rekeyKeepMissingValues']
|
|
100
|
+
rekeyKeepMissingValues: step['rekeyKeepMissingValues'],
|
|
101
101
|
};
|
|
102
|
-
for (const mapping of [
|
|
102
|
+
for (const mapping of [
|
|
103
|
+
'conditionalTransformDefinitions',
|
|
104
|
+
'functionTransformers',
|
|
105
|
+
'rekeyTransformers',
|
|
106
|
+
'removeKeys',
|
|
107
|
+
]) {
|
|
103
108
|
const mapKey = step[mapping + 'Key'];
|
|
104
109
|
if (mapKey) {
|
|
105
110
|
task[mapping] = directionalMapSection[mapKey];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contrail/transform-data",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "Libraries for transforming data",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"testEnvironment": "node"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@contrail/sdk": "^1.
|
|
49
|
-
"@contrail/util": "^1.0.
|
|
48
|
+
"@contrail/sdk": "^1.4.3",
|
|
49
|
+
"@contrail/util": "^1.0.48",
|
|
50
50
|
"node-fetch": "^3.2.10",
|
|
51
51
|
"require-from-url": "^3.1.3"
|
|
52
52
|
}
|