@or-sdk/sku-builder 2.0.2 → 2.0.3-beta.3979.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.
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/makeSkuFragment.js +16 -2
- package/dist/cjs/utils/makeSkuFragment.js.map +1 -1
- package/dist/cjs/utils/skuBuilder.js +15 -9
- package/dist/cjs/utils/skuBuilder.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/makeSkuFragment.js +16 -2
- package/dist/esm/utils/makeSkuFragment.js.map +1 -1
- package/dist/esm/utils/skuBuilder.js +15 -9
- package/dist/esm/utils/skuBuilder.js.map +1 -1
- package/dist/types/SkuBuilder.d.ts +4 -2
- package/dist/types/SkuBuilder.d.ts.map +1 -1
- package/dist/types/types.d.ts +11 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/makeSkuFragment.d.ts +2 -2
- package/dist/types/utils/makeSkuFragment.d.ts.map +1 -1
- package/dist/types/utils/skuBuilder.d.ts +6 -2
- package/dist/types/utils/skuBuilder.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/SkuBuilder.ts +1 -1
- package/src/types.ts +13 -0
- package/src/utils/makeSkuFragment.ts +24 -3
- package/src/utils/skuBuilder.ts +25 -12
package/dist/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAkDA,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IAC3B,wDAAmC,CAAA;IACnC,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IACjC,sCAAiB,CAAA;IACjB,wDAAmC,CAAA;IACnC,sDAAiC,CAAA;IACjC,2DAAsC,CAAA;IACtC,gDAA2B,CAAA;IAC3B,kCAAa,CAAA;IACb,8CAAyB,CAAA;IACzB,wDAAmC,CAAA;IACnC,0DAAqC,CAAA;AACvC,CAAC,EAdW,iBAAiB,iCAAjB,iBAAiB,QAc5B;AAKD,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,qDAAmD,CAAA;IACnD,uDAAqD,CAAA;IACrD,mDAAiD,CAAA;IACjD,mCAAiC,CAAA;IACjC,qDAAmD,CAAA;IACnD,mDAAiD,CAAA;IACjD,wDAAuD,CAAA;IACvD,6CAA2C,CAAA;IAC3C,uDAAqD,CAAA;IACrD,qDAAmD,CAAA;AACrD,CAAC,EAXW,cAAc,8BAAd,cAAc,QAWzB;AAKD,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,wCAA6B,CAAA;IAC7B,oDAAyC,CAAA;AAC3C,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC"}
|
|
@@ -2,15 +2,29 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = makeSkuFragment;
|
|
4
4
|
function makeSkuFragment(value, pattern, mapping) {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
var errorDetails = [];
|
|
6
|
+
var fragment = pattern.reduce(function (acc, item, index) {
|
|
7
|
+
var _a, _b, _c, _d, _e;
|
|
7
8
|
var service = item.service, valueKey = item.valueKey;
|
|
8
9
|
var codeItem = (_b = (_a = mapping[service]) === null || _a === void 0 ? void 0 : _a.find(function (el) { return el.sqlCode === String(value[valueKey]); })) !== null && _b !== void 0 ? _b : { skuCode: 'ERR' };
|
|
9
10
|
if (service === 'direction' && value[valueKey] === 'Transfer') {
|
|
10
11
|
codeItem.skuCode = 'OUT';
|
|
11
12
|
}
|
|
12
13
|
var code = codeItem.skuCode || 'ERR';
|
|
14
|
+
if (code === 'ERR' && !((_c = mapping[service]) === null || _c === void 0 ? void 0 : _c.find(function (el) { return el.sqlCode === String(value[valueKey]); }))) {
|
|
15
|
+
errorDetails.push({
|
|
16
|
+
segment_position: index,
|
|
17
|
+
original_value: String(value[valueKey]),
|
|
18
|
+
expected_service: service,
|
|
19
|
+
error_type: 'mapping_not_found',
|
|
20
|
+
groupId: (_e = (_d = mapping[service]) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.groupId
|
|
21
|
+
});
|
|
22
|
+
}
|
|
13
23
|
return !acc ? code : "".concat(acc, "-").concat(code);
|
|
14
24
|
}, '');
|
|
25
|
+
return {
|
|
26
|
+
fragment: fragment,
|
|
27
|
+
errorDetails: errorDetails.length > 0 ? errorDetails : undefined
|
|
28
|
+
};
|
|
15
29
|
}
|
|
16
30
|
//# sourceMappingURL=makeSkuFragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeSkuFragment.js","sourceRoot":"","sources":["../../../src/utils/makeSkuFragment.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"makeSkuFragment.js","sourceRoot":"","sources":["../../../src/utils/makeSkuFragment.ts"],"names":[],"mappings":";;AAEA,kCAsCC;AAtCD,SAAwB,eAAe,CACrC,KAA8B,EAC9B,OAGG,EACH,OAAkC;IAElC,IAAM,YAAY,GAAmB,EAAE,CAAC;IAExC,IAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,EAAE,KAAK;;QACvC,IAAA,OAAO,GAAe,IAAI,QAAnB,EAAE,QAAQ,GAAK,IAAI,SAAT,CAAU;QACnC,IAAM,QAAQ,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAtC,CAAsC,CAAC,mCAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAE5G,IAAI,OAAO,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;YAC9D,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,IAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC;QAGvC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAtC,CAAsC,CAAC,CAAA,EAAE,CAAC;YAC5F,YAAY,CAAC,IAAI,CAAC;gBAChB,gBAAgB,EAAE,KAAK;gBACvB,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACvC,gBAAgB,EAAE,OAAO;gBACzB,UAAU,EAAE,mBAAmB;gBAC/B,OAAO,EAAE,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,0CAAG,CAAC,CAAC,0CAAE,OAAO;aACxC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAG,GAAG,cAAI,IAAI,CAAE,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,QAAQ,UAAA;QACR,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACJ,CAAC"}
|
|
@@ -34,7 +34,7 @@ function skuBuilder(item, type, mapping, options) {
|
|
|
34
34
|
if (options === void 0) { options = {}; }
|
|
35
35
|
var result = __assign(__assign({}, item), { SKU: '', Amount: 0 });
|
|
36
36
|
var pattern = (0, getPattern_1.default)(type, item);
|
|
37
|
-
var
|
|
37
|
+
var skuFragmentResult = (0, makeSkuFragment_1.default)(item, pattern, mapping);
|
|
38
38
|
switch (type) {
|
|
39
39
|
case types_1.CategoryNamespace.PROCESSING_FLOW:
|
|
40
40
|
result = (0, makeFlowProcessingSku_1.default)(item, options);
|
|
@@ -43,38 +43,44 @@ function skuBuilder(item, type, mapping, options) {
|
|
|
43
43
|
result = (0, makeVoiceProcessingSku_1.default)(item);
|
|
44
44
|
break;
|
|
45
45
|
case types_1.CategoryNamespace.LOOKUP:
|
|
46
|
-
result = (0, makeLookupSku_1.default)(item,
|
|
46
|
+
result = (0, makeLookupSku_1.default)(item, skuFragmentResult.fragment);
|
|
47
47
|
break;
|
|
48
48
|
case types_1.CategoryNamespace.TELEPHONY_VOICE:
|
|
49
|
-
result = (0, makeTelephonyVoiceSku_1.default)(item,
|
|
49
|
+
result = (0, makeTelephonyVoiceSku_1.default)(item, skuFragmentResult.fragment);
|
|
50
50
|
break;
|
|
51
51
|
case types_1.CategoryNamespace.MESSAGING_TEXT:
|
|
52
|
-
result = (0, makeTextMessagingSku_1.default)(item,
|
|
52
|
+
result = (0, makeTextMessagingSku_1.default)(item, skuFragmentResult.fragment);
|
|
53
53
|
break;
|
|
54
54
|
case types_1.CategoryNamespace.CARRIER_FEE:
|
|
55
|
-
result = (0, makeCarrierFeeSku_1.default)(item,
|
|
55
|
+
result = (0, makeCarrierFeeSku_1.default)(item, skuFragmentResult.fragment);
|
|
56
56
|
break;
|
|
57
57
|
case types_1.CategoryNamespace.STORAGE_WEAVIATE:
|
|
58
|
-
result = (0, makeWeaviateStorageSku_1.default)(item,
|
|
58
|
+
result = (0, makeWeaviateStorageSku_1.default)(item, skuFragmentResult.fragment);
|
|
59
59
|
break;
|
|
60
60
|
case types_1.CategoryNamespace.STORAGE_GENERAL:
|
|
61
61
|
result = (0, makeGeneralStorageSku_1.default)(item);
|
|
62
62
|
break;
|
|
63
63
|
case types_1.CategoryNamespace.CONVERSATIONS_WAP:
|
|
64
|
-
result = (0, makeWapConversationSku_1.default)(item,
|
|
64
|
+
result = (0, makeWapConversationSku_1.default)(item, skuFragmentResult.fragment);
|
|
65
65
|
break;
|
|
66
66
|
case types_1.CategoryNamespace.EXECUTABLE_GENERAL:
|
|
67
67
|
case types_1.CategoryNamespace.EXECUTABLE_LLM:
|
|
68
|
-
result = (0, makeExecutableSku_1.default)(item,
|
|
68
|
+
result = (0, makeExecutableSku_1.default)(item, skuFragmentResult.fragment);
|
|
69
69
|
break;
|
|
70
70
|
case types_1.CategoryNamespace.IDENTIFIER:
|
|
71
|
-
result = (0, makeIdentifierSku_1.default)(item,
|
|
71
|
+
result = (0, makeIdentifierSku_1.default)(item, skuFragmentResult.fragment);
|
|
72
72
|
break;
|
|
73
73
|
case types_1.CategoryNamespace.USER: {
|
|
74
74
|
result = (0, makeUserSku_1.default)(item, mapping['user']);
|
|
75
75
|
break;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
if (skuFragmentResult.errorDetails && Array.isArray(result)) {
|
|
79
|
+
result = result.map(function (r) { return (__assign(__assign({}, r), { errorDetails: skuFragmentResult.errorDetails })); });
|
|
80
|
+
}
|
|
81
|
+
else if (skuFragmentResult.errorDetails && !Array.isArray(result)) {
|
|
82
|
+
result = __assign(__assign({}, result), { errorDetails: skuFragmentResult.errorDetails });
|
|
83
|
+
}
|
|
78
84
|
return result;
|
|
79
85
|
}
|
|
80
86
|
//# sourceMappingURL=skuBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skuBuilder.js","sourceRoot":"","sources":["../../../src/utils/skuBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAiBA,
|
|
1
|
+
{"version":3,"file":"skuBuilder.js","sourceRoot":"","sources":["../../../src/utils/skuBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAkDA,MAAM,CAAN,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IAC3B,wDAAmC,CAAA;IACnC,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IACjC,sCAAiB,CAAA;IACjB,wDAAmC,CAAA;IACnC,sDAAiC,CAAA;IACjC,2DAAsC,CAAA;IACtC,gDAA2B,CAAA;IAC3B,kCAAa,CAAA;IACb,8CAAyB,CAAA;IACzB,wDAAmC,CAAA;IACnC,0DAAqC,CAAA;AACvC,CAAC,EAdW,iBAAiB,KAAjB,iBAAiB,QAc5B;AAKD,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,qDAAmD,CAAA;IACnD,uDAAqD,CAAA;IACrD,mDAAiD,CAAA;IACjD,mCAAiC,CAAA;IACjC,qDAAmD,CAAA;IACnD,mDAAiD,CAAA;IACjD,wDAAuD,CAAA;IACvD,6CAA2C,CAAA;IAC3C,uDAAqD,CAAA;IACrD,qDAAmD,CAAA;AACrD,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAKD,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,wCAA6B,CAAA;IAC7B,oDAAyC,CAAA;AAC3C,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC"}
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
export default function makeSkuFragment(value, pattern, mapping) {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
const errorDetails = [];
|
|
3
|
+
const fragment = pattern.reduce((acc, item, index) => {
|
|
4
|
+
var _a, _b, _c, _d, _e;
|
|
4
5
|
const { service, valueKey } = item;
|
|
5
6
|
const codeItem = (_b = (_a = mapping[service]) === null || _a === void 0 ? void 0 : _a.find(el => el.sqlCode === String(value[valueKey]))) !== null && _b !== void 0 ? _b : { skuCode: 'ERR' };
|
|
6
7
|
if (service === 'direction' && value[valueKey] === 'Transfer') {
|
|
7
8
|
codeItem.skuCode = 'OUT';
|
|
8
9
|
}
|
|
9
10
|
const code = codeItem.skuCode || 'ERR';
|
|
11
|
+
if (code === 'ERR' && !((_c = mapping[service]) === null || _c === void 0 ? void 0 : _c.find(el => el.sqlCode === String(value[valueKey])))) {
|
|
12
|
+
errorDetails.push({
|
|
13
|
+
segment_position: index,
|
|
14
|
+
original_value: String(value[valueKey]),
|
|
15
|
+
expected_service: service,
|
|
16
|
+
error_type: 'mapping_not_found',
|
|
17
|
+
groupId: (_e = (_d = mapping[service]) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.groupId
|
|
18
|
+
});
|
|
19
|
+
}
|
|
10
20
|
return !acc ? code : `${acc}-${code}`;
|
|
11
21
|
}, '');
|
|
22
|
+
return {
|
|
23
|
+
fragment,
|
|
24
|
+
errorDetails: errorDetails.length > 0 ? errorDetails : undefined
|
|
25
|
+
};
|
|
12
26
|
}
|
|
13
27
|
//# sourceMappingURL=makeSkuFragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeSkuFragment.js","sourceRoot":"","sources":["../../../src/utils/makeSkuFragment.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,KAA8B,EAC9B,OAGG,EACH,OAAkC;IAElC,
|
|
1
|
+
{"version":3,"file":"makeSkuFragment.js","sourceRoot":"","sources":["../../../src/utils/makeSkuFragment.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,KAA8B,EAC9B,OAGG,EACH,OAAkC;IAElC,MAAM,YAAY,GAAmB,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;;QACnD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAE5G,IAAI,OAAO,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;YAC9D,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC;QAGvC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,CAAC,0CAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAE,CAAC;YAC5F,YAAY,CAAC,IAAI,CAAC;gBAChB,gBAAgB,EAAE,KAAK;gBACvB,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACvC,gBAAgB,EAAE,OAAO;gBACzB,UAAU,EAAE,mBAAmB;gBAC/B,OAAO,EAAE,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,0CAAG,CAAC,CAAC,0CAAE,OAAO;aACxC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACJ,CAAC"}
|
|
@@ -16,7 +16,7 @@ import makeWeaviateStorageSku from './makeWeaviateStorageSku';
|
|
|
16
16
|
export default function skuBuilder(item, type, mapping, options = {}) {
|
|
17
17
|
let result = Object.assign(Object.assign({}, item), { SKU: '', Amount: 0 });
|
|
18
18
|
const pattern = getPattern(type, item);
|
|
19
|
-
const
|
|
19
|
+
const skuFragmentResult = makeSkuFragment(item, pattern, mapping);
|
|
20
20
|
switch (type) {
|
|
21
21
|
case CategoryNamespace.PROCESSING_FLOW:
|
|
22
22
|
result = makeFlowProcessingSku(item, options);
|
|
@@ -25,38 +25,44 @@ export default function skuBuilder(item, type, mapping, options = {}) {
|
|
|
25
25
|
result = makeVoiceProcessingSku(item);
|
|
26
26
|
break;
|
|
27
27
|
case CategoryNamespace.LOOKUP:
|
|
28
|
-
result = makeLookupSku(item,
|
|
28
|
+
result = makeLookupSku(item, skuFragmentResult.fragment);
|
|
29
29
|
break;
|
|
30
30
|
case CategoryNamespace.TELEPHONY_VOICE:
|
|
31
|
-
result = makeTelephonyVoiceSku(item,
|
|
31
|
+
result = makeTelephonyVoiceSku(item, skuFragmentResult.fragment);
|
|
32
32
|
break;
|
|
33
33
|
case CategoryNamespace.MESSAGING_TEXT:
|
|
34
|
-
result = makeTextMessagingSku(item,
|
|
34
|
+
result = makeTextMessagingSku(item, skuFragmentResult.fragment);
|
|
35
35
|
break;
|
|
36
36
|
case CategoryNamespace.CARRIER_FEE:
|
|
37
|
-
result = makeCarrierFeeSku(item,
|
|
37
|
+
result = makeCarrierFeeSku(item, skuFragmentResult.fragment);
|
|
38
38
|
break;
|
|
39
39
|
case CategoryNamespace.STORAGE_WEAVIATE:
|
|
40
|
-
result = makeWeaviateStorageSku(item,
|
|
40
|
+
result = makeWeaviateStorageSku(item, skuFragmentResult.fragment);
|
|
41
41
|
break;
|
|
42
42
|
case CategoryNamespace.STORAGE_GENERAL:
|
|
43
43
|
result = makeGeneralStorageSku(item);
|
|
44
44
|
break;
|
|
45
45
|
case CategoryNamespace.CONVERSATIONS_WAP:
|
|
46
|
-
result = makeWapConversationSku(item,
|
|
46
|
+
result = makeWapConversationSku(item, skuFragmentResult.fragment);
|
|
47
47
|
break;
|
|
48
48
|
case CategoryNamespace.EXECUTABLE_GENERAL:
|
|
49
49
|
case CategoryNamespace.EXECUTABLE_LLM:
|
|
50
|
-
result = makeExecutableSku(item,
|
|
50
|
+
result = makeExecutableSku(item, skuFragmentResult.fragment);
|
|
51
51
|
break;
|
|
52
52
|
case CategoryNamespace.IDENTIFIER:
|
|
53
|
-
result = makeIdentifierSku(item,
|
|
53
|
+
result = makeIdentifierSku(item, skuFragmentResult.fragment);
|
|
54
54
|
break;
|
|
55
55
|
case CategoryNamespace.USER: {
|
|
56
56
|
result = makeUserSku(item, mapping['user']);
|
|
57
57
|
break;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
if (skuFragmentResult.errorDetails && Array.isArray(result)) {
|
|
61
|
+
result = result.map(r => (Object.assign(Object.assign({}, r), { errorDetails: skuFragmentResult.errorDetails })));
|
|
62
|
+
}
|
|
63
|
+
else if (skuFragmentResult.errorDetails && !Array.isArray(result)) {
|
|
64
|
+
result = Object.assign(Object.assign({}, result), { errorDetails: skuFragmentResult.errorDetails });
|
|
65
|
+
}
|
|
60
66
|
return result;
|
|
61
67
|
}
|
|
62
68
|
//# sourceMappingURL=skuBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skuBuilder.js","sourceRoot":"","sources":["../../../src/utils/skuBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"skuBuilder.js","sourceRoot":"","sources":["../../../src/utils/skuBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AxiosError, Base } from '@or-sdk/base';
|
|
2
|
-
import { Mapping, Options, SkuBuilderConfig } from './types';
|
|
2
|
+
import { Mapping, Options, SkuBuilderConfig, ErrorDetails } from './types';
|
|
3
3
|
export declare class SkuBuilder extends Base {
|
|
4
4
|
private readonly userToken?;
|
|
5
5
|
private readonly billingApiUrl?;
|
|
@@ -7,7 +7,9 @@ export declare class SkuBuilder extends Base {
|
|
|
7
7
|
private withApiErrorLog;
|
|
8
8
|
constructor(params?: SkuBuilderConfig);
|
|
9
9
|
getMapping(): Promise<Mapping[]>;
|
|
10
|
-
makeSku<T extends Record<string, unknown>>(payload: T[], type: string, options?: Options): Promise<(Record<"SKU" | "Amount", unknown> & T
|
|
10
|
+
makeSku<T extends Record<string, unknown>>(payload: T[], type: string, options?: Options): Promise<(Record<"SKU" | "Amount", unknown> & T & {
|
|
11
|
+
errorDetails?: ErrorDetails[];
|
|
12
|
+
})[]>;
|
|
11
13
|
parseError(e: AxiosError): Error;
|
|
12
14
|
private logApiError;
|
|
13
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkuBuilder.d.ts","sourceRoot":"","sources":["../../src/SkuBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAS,MAAM,cAAc,CAAC;AAKvD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAwB,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"SkuBuilder.d.ts","sourceRoot":"","sources":["../../src/SkuBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAS,MAAM,cAAc,CAAC;AAKvD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAwB,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAWjG,qBAAa,UAAW,SAAQ,IAAI;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,eAAe,CAAU;gBAiCrB,MAAM,GAAE,gBAAqB;IAsB5B,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IA0DhC,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO;;;IAmBZ,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK;IAavC,OAAO,CAAC,WAAW;CAYpB"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -14,6 +14,17 @@ export type SkuBuilderConfig = {
|
|
|
14
14
|
withApiErrorLog?: boolean;
|
|
15
15
|
mapping?: Array<Mapping>;
|
|
16
16
|
};
|
|
17
|
+
export type ErrorDetails = {
|
|
18
|
+
segment_position: number;
|
|
19
|
+
original_value: string;
|
|
20
|
+
expected_service: string;
|
|
21
|
+
error_type: 'mapping_not_found';
|
|
22
|
+
groupId?: string;
|
|
23
|
+
};
|
|
24
|
+
export type SkuFragmentResult = {
|
|
25
|
+
fragment: string;
|
|
26
|
+
errorDetails?: ErrorDetails[];
|
|
27
|
+
};
|
|
17
28
|
export type Options = {
|
|
18
29
|
isProcessingSegment?: boolean;
|
|
19
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAI7B,KAAK,CAAC,EAAE,KAAK,CAAC;IAId,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAI1B,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAAE,CAAC;AAEzD,oBAAY,iBAAiB;IAC3B,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,iBAAiB,qBAAqB;IACtC,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;CACtC;AAKD,oBAAY,cAAc;IACxB,eAAe,oBAAoC;IACnD,gBAAgB,qBAAqC;IACrD,UAAU,uBAAuC;IACjD,MAAM,WAA2B;IACjC,eAAe,oBAAoC;IACnD,cAAc,mBAAmC;IACjD,iBAAiB,qBAAsC;IACvD,WAAW,gBAAgC;IAC3C,gBAAgB,qBAAqC;IACrD,eAAe,oBAAoC;CACpD;AAKD,oBAAY,uBAAuB;IACjC,IAAI,SAAyB;IAC7B,UAAU,eAA+B;CAC1C;AAKD,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,uBAAuB,CAAC;AAEjE,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,EAAE,CAAC;CACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAI7B,KAAK,CAAC,EAAE,KAAK,CAAC;IAId,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAI1B,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,mBAAmB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAAE,CAAC;AAEzD,oBAAY,iBAAiB;IAC3B,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,iBAAiB,qBAAqB;IACtC,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;CACtC;AAKD,oBAAY,cAAc;IACxB,eAAe,oBAAoC;IACnD,gBAAgB,qBAAqC;IACrD,UAAU,uBAAuC;IACjD,MAAM,WAA2B;IACjC,eAAe,oBAAoC;IACnD,cAAc,mBAAmC;IACjD,iBAAiB,qBAAsC;IACvD,WAAW,gBAAgC;IAC3C,gBAAgB,qBAAqC;IACrD,eAAe,oBAAoC;CACpD;AAKD,oBAAY,uBAAuB;IACjC,IAAI,SAAyB;IAC7B,UAAU,eAA+B;CAC1C;AAKD,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,uBAAuB,CAAC;AAEjE,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,EAAE,CAAC;CACX,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Mapping } from '../types';
|
|
1
|
+
import { Mapping, SkuFragmentResult } from '../types';
|
|
2
2
|
export default function makeSkuFragment(value: Record<string, unknown>, pattern: {
|
|
3
3
|
service: string;
|
|
4
4
|
valueKey: string;
|
|
5
|
-
}[], mapping: Record<string, Mapping[]>):
|
|
5
|
+
}[], mapping: Record<string, Mapping[]>): SkuFragmentResult;
|
|
6
6
|
//# sourceMappingURL=makeSkuFragment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeSkuFragment.d.ts","sourceRoot":"","sources":["../../../src/utils/makeSkuFragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"makeSkuFragment.d.ts","sourceRoot":"","sources":["../../../src/utils/makeSkuFragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,EAAE,EACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GACjC,iBAAiB,CA+BnB"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import { Mapping, Options } from '../types';
|
|
2
|
-
export default function skuBuilder<T extends Record<string, unknown>>(item: T, type: string, mapping: Record<string, Mapping[]>, options?: Options): (Record<'SKU' | 'Amount', unknown> & T
|
|
1
|
+
import { Mapping, Options, ErrorDetails } from '../types';
|
|
2
|
+
export default function skuBuilder<T extends Record<string, unknown>>(item: T, type: string, mapping: Record<string, Mapping[]>, options?: Options): (Record<'SKU' | 'Amount', unknown> & T & {
|
|
3
|
+
errorDetails?: ErrorDetails[];
|
|
4
|
+
}) | (Record<'SKU' | 'Amount', unknown> & T & {
|
|
5
|
+
errorDetails?: ErrorDetails[];
|
|
6
|
+
})[];
|
|
3
7
|
//# sourceMappingURL=skuBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skuBuilder.d.ts","sourceRoot":"","sources":["../../../src/utils/skuBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"skuBuilder.d.ts","sourceRoot":"","sources":["../../../src/utils/skuBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAiB7E,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAClC,OAAO,GAAE,OAAY,GACpB,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,EAAE,CAgF7J"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@or-sdk/sku-builder",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3-beta.3979.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -32,6 +32,5 @@
|
|
|
32
32
|
},
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"access": "public"
|
|
35
|
-
}
|
|
36
|
-
"gitHead": "adc76707d75a0550999f5e5576d6ba370ed9a219"
|
|
35
|
+
}
|
|
37
36
|
}
|
package/src/SkuBuilder.ts
CHANGED
|
@@ -3,7 +3,7 @@ import cloneDeep from 'lodash.clonedeep';
|
|
|
3
3
|
|
|
4
4
|
import { ApiError } from './apiError';
|
|
5
5
|
import { SERVICE_KEY } from './constants';
|
|
6
|
-
import { Mapping, Options, PaginatedResponseDto, SkuBuilderConfig } from './types';
|
|
6
|
+
import { Mapping, Options, PaginatedResponseDto, SkuBuilderConfig, ErrorDetails } from './types';
|
|
7
7
|
import { skuBuilder } from './utils';
|
|
8
8
|
import { transformMapping } from './utils/transformMapping';
|
|
9
9
|
|
package/src/types.ts
CHANGED
|
@@ -33,6 +33,19 @@ export type SkuBuilderConfig = {
|
|
|
33
33
|
mapping?: Array<Mapping>;
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
+
export type ErrorDetails = {
|
|
37
|
+
segment_position: number;
|
|
38
|
+
original_value: string;
|
|
39
|
+
expected_service: string;
|
|
40
|
+
error_type: 'mapping_not_found';
|
|
41
|
+
groupId?: string;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type SkuFragmentResult = {
|
|
45
|
+
fragment: string;
|
|
46
|
+
errorDetails?: ErrorDetails[];
|
|
47
|
+
};
|
|
48
|
+
|
|
36
49
|
export type Options = { isProcessingSegment?: boolean; };
|
|
37
50
|
|
|
38
51
|
export enum CategoryNamespace {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Mapping } from '../types';
|
|
1
|
+
import { Mapping, ErrorDetails, SkuFragmentResult } from '../types';
|
|
2
2
|
|
|
3
3
|
export default function makeSkuFragment(
|
|
4
4
|
value: Record<string, unknown>,
|
|
@@ -7,14 +7,35 @@ export default function makeSkuFragment(
|
|
|
7
7
|
valueKey: string;
|
|
8
8
|
}[],
|
|
9
9
|
mapping: Record<string, Mapping[]>,
|
|
10
|
-
) {
|
|
11
|
-
|
|
10
|
+
): SkuFragmentResult {
|
|
11
|
+
const errorDetails: ErrorDetails[] = [];
|
|
12
|
+
|
|
13
|
+
const fragment = pattern.reduce((acc, item, index) => {
|
|
12
14
|
const { service, valueKey } = item;
|
|
13
15
|
const codeItem = mapping[service]?.find(el => el.sqlCode === String(value[valueKey])) ?? { skuCode: 'ERR' };
|
|
16
|
+
|
|
14
17
|
if (service === 'direction' && value[valueKey] === 'Transfer') {
|
|
15
18
|
codeItem.skuCode = 'OUT'; // apply overrides for direction codes
|
|
16
19
|
}
|
|
20
|
+
|
|
17
21
|
const code = codeItem.skuCode || 'ERR';
|
|
22
|
+
|
|
23
|
+
// Track error details if mapping was not found
|
|
24
|
+
if (code === 'ERR' && !mapping[service]?.find(el => el.sqlCode === String(value[valueKey]))) {
|
|
25
|
+
errorDetails.push({
|
|
26
|
+
segment_position: index,
|
|
27
|
+
original_value: String(value[valueKey]),
|
|
28
|
+
expected_service: service,
|
|
29
|
+
error_type: 'mapping_not_found',
|
|
30
|
+
groupId: mapping[service]?.[0]?.groupId
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
18
34
|
return !acc ? code : `${acc}-${code}`;
|
|
19
35
|
}, '');
|
|
36
|
+
|
|
37
|
+
return {
|
|
38
|
+
fragment,
|
|
39
|
+
errorDetails: errorDetails.length > 0 ? errorDetails : undefined
|
|
40
|
+
};
|
|
20
41
|
}
|
package/src/utils/skuBuilder.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CategoryNamespace, Mapping, Options } from '../types';
|
|
1
|
+
import { CategoryNamespace, Mapping, Options, ErrorDetails } from '../types';
|
|
2
2
|
|
|
3
3
|
import getPattern from './getPattern';
|
|
4
4
|
import makeCarrierFeeSku from './makeCarrierFeeSku';
|
|
@@ -20,9 +20,9 @@ export default function skuBuilder<T extends Record<string, unknown>>(
|
|
|
20
20
|
type: string,
|
|
21
21
|
mapping: Record<string, Mapping[]>,
|
|
22
22
|
options: Options = {},
|
|
23
|
-
): (Record<'SKU' | 'Amount', unknown> & T) | (Record<'SKU' | 'Amount', unknown> & T)[] {
|
|
23
|
+
): (Record<'SKU' | 'Amount', unknown> & T & { errorDetails?: ErrorDetails[] }) | (Record<'SKU' | 'Amount', unknown> & T & { errorDetails?: ErrorDetails[] })[] {
|
|
24
24
|
|
|
25
|
-
let result: (Record<'SKU' | 'Amount', unknown> & T) | (Record<'SKU' | 'Amount', unknown> & T)[] = {
|
|
25
|
+
let result: (Record<'SKU' | 'Amount', unknown> & T & { errorDetails?: ErrorDetails[] }) | (Record<'SKU' | 'Amount', unknown> & T & { errorDetails?: ErrorDetails[] })[] = {
|
|
26
26
|
...item,
|
|
27
27
|
SKU: '',
|
|
28
28
|
Amount: 0,
|
|
@@ -32,7 +32,7 @@ export default function skuBuilder<T extends Record<string, unknown>>(
|
|
|
32
32
|
* to handle unique case for executable category
|
|
33
33
|
*/
|
|
34
34
|
const pattern = getPattern(type, item);
|
|
35
|
-
const
|
|
35
|
+
const skuFragmentResult = makeSkuFragment(item, pattern, mapping);
|
|
36
36
|
|
|
37
37
|
switch (type) {
|
|
38
38
|
case CategoryNamespace.PROCESSING_FLOW:
|
|
@@ -44,23 +44,23 @@ export default function skuBuilder<T extends Record<string, unknown>>(
|
|
|
44
44
|
break;
|
|
45
45
|
|
|
46
46
|
case CategoryNamespace.LOOKUP:
|
|
47
|
-
result = makeLookupSku(item,
|
|
47
|
+
result = makeLookupSku(item, skuFragmentResult.fragment);
|
|
48
48
|
break;
|
|
49
49
|
|
|
50
50
|
case CategoryNamespace.TELEPHONY_VOICE:
|
|
51
|
-
result = makeTelephonyVoiceSku(item,
|
|
51
|
+
result = makeTelephonyVoiceSku(item, skuFragmentResult.fragment);
|
|
52
52
|
break;
|
|
53
53
|
|
|
54
54
|
case CategoryNamespace.MESSAGING_TEXT:
|
|
55
|
-
result = makeTextMessagingSku(item,
|
|
55
|
+
result = makeTextMessagingSku(item, skuFragmentResult.fragment);
|
|
56
56
|
break;
|
|
57
57
|
|
|
58
58
|
case CategoryNamespace.CARRIER_FEE:
|
|
59
|
-
result = makeCarrierFeeSku(item,
|
|
59
|
+
result = makeCarrierFeeSku(item, skuFragmentResult.fragment);
|
|
60
60
|
break;
|
|
61
61
|
|
|
62
62
|
case CategoryNamespace.STORAGE_WEAVIATE:
|
|
63
|
-
result = makeWeaviateStorageSku(item,
|
|
63
|
+
result = makeWeaviateStorageSku(item, skuFragmentResult.fragment);
|
|
64
64
|
break;
|
|
65
65
|
|
|
66
66
|
case CategoryNamespace.STORAGE_GENERAL:
|
|
@@ -68,16 +68,16 @@ export default function skuBuilder<T extends Record<string, unknown>>(
|
|
|
68
68
|
break;
|
|
69
69
|
|
|
70
70
|
case CategoryNamespace.CONVERSATIONS_WAP:
|
|
71
|
-
result = makeWapConversationSku(item,
|
|
71
|
+
result = makeWapConversationSku(item, skuFragmentResult.fragment);
|
|
72
72
|
break;
|
|
73
73
|
|
|
74
74
|
case CategoryNamespace.EXECUTABLE_GENERAL:
|
|
75
75
|
case CategoryNamespace.EXECUTABLE_LLM:
|
|
76
|
-
result = makeExecutableSku(item,
|
|
76
|
+
result = makeExecutableSku(item, skuFragmentResult.fragment);
|
|
77
77
|
break;
|
|
78
78
|
|
|
79
79
|
case CategoryNamespace.IDENTIFIER:
|
|
80
|
-
result = makeIdentifierSku(item,
|
|
80
|
+
result = makeIdentifierSku(item, skuFragmentResult.fragment);
|
|
81
81
|
break;
|
|
82
82
|
|
|
83
83
|
case CategoryNamespace.USER: {
|
|
@@ -86,5 +86,18 @@ export default function skuBuilder<T extends Record<string, unknown>>(
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
// Add error details to the result if they exist
|
|
90
|
+
if (skuFragmentResult.errorDetails && Array.isArray(result)) {
|
|
91
|
+
result = result.map(r => ({
|
|
92
|
+
...r,
|
|
93
|
+
errorDetails: skuFragmentResult.errorDetails
|
|
94
|
+
}));
|
|
95
|
+
} else if (skuFragmentResult.errorDetails && !Array.isArray(result)) {
|
|
96
|
+
result = {
|
|
97
|
+
...result,
|
|
98
|
+
errorDetails: skuFragmentResult.errorDetails
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
89
102
|
return result;
|
|
90
103
|
}
|