@configura/web-api 1.6.1-alpha.5 → 1.6.1-alpha.7

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 (75) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +1 -1
  3. package/dist/CatalogueAPI.d.ts +512 -511
  4. package/dist/CatalogueAPI.js +277 -273
  5. package/dist/CfgMeasure.d.ts +32 -32
  6. package/dist/CfgMeasure.js +30 -30
  7. package/dist/CfgProduct.d.ts +239 -253
  8. package/dist/CfgProduct.js +668 -731
  9. package/dist/index.d.ts +18 -20
  10. package/dist/index.js +18 -20
  11. package/dist/material/CfgMaterialMapping.d.ts +7 -7
  12. package/dist/material/CfgMaterialMapping.js +181 -181
  13. package/dist/material/CfgMtrlApplication.d.ts +18 -18
  14. package/dist/material/CfgMtrlApplication.js +43 -43
  15. package/dist/material/CfgMtrlApplicationSource.d.ts +7 -7
  16. package/dist/material/CfgMtrlApplicationSource.js +8 -8
  17. package/dist/material/CfgMtrlSource.d.ts +19 -19
  18. package/dist/material/CfgMtrlSource.js +40 -40
  19. package/dist/material/CfgMtrlSourceWithMetaData.d.ts +7 -7
  20. package/dist/material/CfgMtrlSourceWithMetaData.js +1 -1
  21. package/dist/productConfiguration/CfgFeature.d.ts +178 -179
  22. package/dist/productConfiguration/CfgFeature.js +611 -617
  23. package/dist/productConfiguration/CfgOption.d.ts +128 -150
  24. package/dist/productConfiguration/CfgOption.js +394 -426
  25. package/dist/productConfiguration/CfgProductConfiguration.d.ts +120 -120
  26. package/dist/productConfiguration/CfgProductConfiguration.js +307 -307
  27. package/dist/productConfiguration/filters.d.ts +15 -15
  28. package/dist/productConfiguration/filters.js +70 -70
  29. package/dist/productConfiguration/productParamsGenerator.d.ts +15 -15
  30. package/dist/productConfiguration/productParamsGenerator.js +51 -51
  31. package/dist/productConfiguration/utilitiesProductConfiguration.d.ts +17 -17
  32. package/dist/productConfiguration/utilitiesProductConfiguration.js +80 -80
  33. package/dist/productLoader.d.ts +33 -33
  34. package/dist/productLoader.js +49 -49
  35. package/dist/tasks/TaskHandler.d.ts +78 -78
  36. package/dist/tasks/TaskHandler.js +265 -265
  37. package/dist/tasks/formats.d.ts +4 -4
  38. package/dist/tasks/formats.js +7 -7
  39. package/dist/tests/testData/collectorForTest.d.ts +73 -73
  40. package/dist/tests/testData/collectorForTest.js +195 -195
  41. package/dist/tests/testData/dummyProductForTest.d.ts +4 -4
  42. package/dist/tests/testData/dummyProductForTest.js +36 -36
  43. package/dist/tests/testData/testDataAdditionalProductInAdditionalProductInProductForTest.d.ts +32 -32
  44. package/dist/tests/testData/testDataAdditionalProductInAdditionalProductInProductForTest.js +348 -277
  45. package/dist/tests/testData/testDataCachedGetProduct.d.ts +5 -5
  46. package/dist/tests/testData/testDataCachedGetProduct.js +196 -185
  47. package/dist/tests/testData/testDataCachedPostValidate.d.ts +7 -7
  48. package/dist/tests/testData/testDataCachedPostValidate.js +183 -183
  49. package/dist/tests/testData/testDataNoAdditionalProductNoPropagateForTest.d.ts +3 -3
  50. package/dist/tests/testData/testDataNoAdditionalProductNoPropagateForTest.js +1099 -1099
  51. package/dist/tests/testData/testDataProductAggregatedPrice.d.ts +6 -6
  52. package/dist/tests/testData/testDataProductAggregatedPrice.js +198 -187
  53. package/dist/tests/testData/testDataUpcharge.d.ts +29 -29
  54. package/dist/tests/testData/testDataUpcharge.js +151 -119
  55. package/dist/utilitiesCatalogueData.d.ts +25 -31
  56. package/dist/utilitiesCatalogueData.js +66 -168
  57. package/dist/utilitiesCataloguePermission.d.ts +39 -39
  58. package/dist/utilitiesCataloguePermission.js +84 -84
  59. package/dist/utilitiesNumericValues.d.ts +24 -24
  60. package/dist/utilitiesNumericValues.js +109 -109
  61. package/package.json +3 -3
  62. package/dist/syncGroups/SyncGroupsApplier.d.ts +0 -20
  63. package/dist/syncGroups/SyncGroupsApplier.js +0 -514
  64. package/dist/syncGroups/SyncGroupsApplyMode.d.ts +0 -21
  65. package/dist/syncGroups/SyncGroupsApplyMode.js +0 -21
  66. package/dist/syncGroups/SyncGroupsHandler.d.ts +0 -40
  67. package/dist/syncGroups/SyncGroupsHandler.js +0 -352
  68. package/dist/syncGroups/SyncGroupsPathHelper.d.ts +0 -27
  69. package/dist/syncGroups/SyncGroupsPathHelper.js +0 -89
  70. package/dist/syncGroups/SyncGroupsState.d.ts +0 -26
  71. package/dist/syncGroups/SyncGroupsState.js +0 -111
  72. package/dist/syncGroups/SyncGroupsTransaction.d.ts +0 -51
  73. package/dist/syncGroups/SyncGroupsTransaction.js +0 -100
  74. package/dist/tests/testData/testDataOptions.d.ts +0 -13
  75. package/dist/tests/testData/testDataOptions.js +0 -60
@@ -1,185 +1,196 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { CfgProduct } from "../../CfgProduct.js";
11
- import { wrapWithGetProductCache } from "../../productLoader.js";
12
- import { dummyCatId } from "./dummyProductForTest.js";
13
- import { letterOptionCodeA, letterOptions } from "./testDataOptions.js";
14
- let prodKeyArray = [];
15
- const A = () => ({
16
- uuid: "A",
17
- unit: "m",
18
- features: [
19
- {
20
- code: "featureA",
21
- description: "",
22
- numericOrder: false,
23
- options: [
24
- Object.assign(Object.assign({}, letterOptions[0]), { additionalProductRefs: [
25
- { refKey: "C_0", catId: dummyCatId, partNumber: "C" },
26
- { refKey: "B_0", catId: dummyCatId, partNumber: "B" },
27
- ] }),
28
- Object.assign(Object.assign({}, letterOptions[1]), { additionalProductRefs: [{ refKey: "E", catId: dummyCatId, partNumber: "E" }] }),
29
- Object.assign(Object.assign({}, letterOptions[2]), { additionalProductRefs: [{ refKey: "D", catId: dummyCatId, partNumber: "D" }] }),
30
- ],
31
- },
32
- ],
33
- productData: {
34
- sku: "A",
35
- partsData: {
36
- basePrice: 40,
37
- currency: "EURO",
38
- listPrice: 50,
39
- pkgCount: 0,
40
- styleNr: "",
41
- selOptions: [
42
- {
43
- code: "!~!",
44
- next: {
45
- [letterOptionCodeA]: {
46
- code: letterOptionCodeA,
47
- },
48
- },
49
- },
50
- ],
51
- },
52
- additionalProductRefs: [
53
- { refKey: "B_1", catId: dummyCatId, partNumber: "B", optional: true },
54
- ],
55
- },
56
- rootFeatureRefs: [{ code: "featureA" }],
57
- });
58
- const B = () => ({
59
- uuid: "B",
60
- unit: "m",
61
- features: [],
62
- productData: {
63
- sku: "B",
64
- partsData: {
65
- basePrice: 30,
66
- currency: "EURO",
67
- listPrice: 40,
68
- pkgCount: 0,
69
- selOptions: [],
70
- styleNr: "",
71
- },
72
- additionalProductRefs: [{ refKey: "C_0", catId: dummyCatId, partNumber: "C" }],
73
- },
74
- rootFeatureRefs: [],
75
- });
76
- const C = () => ({
77
- uuid: "C",
78
- unit: "m",
79
- features: [],
80
- productData: {
81
- sku: "C",
82
- partsData: {
83
- basePrice: 20,
84
- currency: "EURO",
85
- listPrice: 30,
86
- pkgCount: 0,
87
- selOptions: [],
88
- styleNr: "",
89
- },
90
- },
91
- rootFeatureRefs: [],
92
- });
93
- const D = () => ({
94
- uuid: "D",
95
- unit: "m",
96
- features: [],
97
- productData: {
98
- sku: "D",
99
- partsData: {
100
- basePrice: 10,
101
- currency: "EURO",
102
- listPrice: 20,
103
- pkgCount: 0,
104
- selOptions: [],
105
- styleNr: "",
106
- },
107
- },
108
- rootFeatureRefs: [],
109
- });
110
- const E = () => ({
111
- uuid: "E",
112
- unit: "m",
113
- features: [],
114
- productData: {
115
- sku: "E",
116
- partsData: {
117
- basePrice: 15,
118
- currency: "USD",
119
- listPrice: 25,
120
- pkgCount: 0,
121
- selOptions: [],
122
- styleNr: "",
123
- },
124
- },
125
- rootFeatureRefs: [],
126
- });
127
- export const getTestProduct = (params, validateCall) => __awaiter(void 0, void 0, void 0, function* () {
128
- const partNumber = params.partNumber;
129
- if (validateCall !== true) {
130
- if (prodKeyArray.indexOf(partNumber) > -1) {
131
- throw new Error("Duplicate call!");
132
- }
133
- else {
134
- prodKeyArray.push(partNumber);
135
- }
136
- }
137
- switch (partNumber) {
138
- case "A":
139
- return A();
140
- case "B":
141
- return B();
142
- case "C":
143
- return C();
144
- case "D":
145
- return D();
146
- case "E":
147
- return E();
148
- }
149
- throw new Error("No such part");
150
- });
151
- export const cachedProductLoaderTest = () => __awaiter(void 0, void 0, void 0, function* () {
152
- prodKeyArray = [];
153
- const productLoader = {
154
- getProduct: getTestProduct,
155
- postValidate: (params, _body) => __awaiter(void 0, void 0, void 0, function* () {
156
- const productData = (yield getTestProduct(params, true)).productData;
157
- let code = letterOptionCodeA;
158
- for (let test in _body.selOptions[0].next) {
159
- code = test;
160
- break;
161
- }
162
- productData.partsData.selOptions = [
163
- {
164
- code: _body.selOptions[0].code,
165
- next: {
166
- [code]: {
167
- code: code,
168
- },
169
- },
170
- },
171
- ];
172
- const validateResponse = {
173
- uuid: "",
174
- validated: true,
175
- productData,
176
- };
177
- return validateResponse;
178
- }),
179
- };
180
- const productWrapper = yield CfgProduct.make({
181
- getProduct: wrapWithGetProductCache(productLoader.getProduct.bind(productLoader)),
182
- postValidate: productLoader.postValidate.bind(productLoader),
183
- }, "lang", dummyCatId, "A");
184
- return productWrapper;
185
- });
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CfgProduct } from "../../CfgProduct.js";
11
+ import { wrapWithGetProductCache } from "../../productLoader.js";
12
+ import { dummyCatId } from "./dummyProductForTest.js";
13
+ let prodKeyArray = [];
14
+ const A = () => ({
15
+ uuid: "A",
16
+ unit: "m",
17
+ features: [
18
+ {
19
+ code: "featureA",
20
+ description: "",
21
+ numericOrder: false,
22
+ options: [
23
+ {
24
+ code: "optionA",
25
+ description: "",
26
+ additionalProductRefs: [
27
+ { refKey: "C_0", catId: dummyCatId, partNumber: "C" },
28
+ { refKey: "B_0", catId: dummyCatId, partNumber: "B" },
29
+ ],
30
+ },
31
+ {
32
+ code: "optionB",
33
+ description: "",
34
+ additionalProductRefs: [{ refKey: "E", catId: dummyCatId, partNumber: "E" }],
35
+ },
36
+ {
37
+ code: "optionC",
38
+ description: "",
39
+ additionalProductRefs: [{ refKey: "D", catId: dummyCatId, partNumber: "D" }],
40
+ },
41
+ ],
42
+ },
43
+ ],
44
+ productData: {
45
+ sku: "A",
46
+ partsData: {
47
+ basePrice: 40,
48
+ currency: "EURO",
49
+ listPrice: 50,
50
+ pkgCount: 0,
51
+ styleNr: "",
52
+ selOptions: [
53
+ {
54
+ code: "!~!",
55
+ next: {
56
+ optionA: {
57
+ code: "optionA",
58
+ },
59
+ },
60
+ },
61
+ ],
62
+ },
63
+ additionalProductRefs: [
64
+ { refKey: "B_1", catId: dummyCatId, partNumber: "B", optional: true },
65
+ ],
66
+ },
67
+ rootFeatureRefs: [{ code: "featureA" }],
68
+ });
69
+ const B = () => ({
70
+ uuid: "B",
71
+ unit: "m",
72
+ features: [],
73
+ productData: {
74
+ sku: "B",
75
+ partsData: {
76
+ basePrice: 30,
77
+ currency: "EURO",
78
+ listPrice: 40,
79
+ pkgCount: 0,
80
+ selOptions: [],
81
+ styleNr: "",
82
+ },
83
+ additionalProductRefs: [{ refKey: "C_0", catId: dummyCatId, partNumber: "C" }],
84
+ },
85
+ rootFeatureRefs: [],
86
+ });
87
+ const C = () => ({
88
+ uuid: "C",
89
+ unit: "m",
90
+ features: [],
91
+ productData: {
92
+ sku: "C",
93
+ partsData: {
94
+ basePrice: 20,
95
+ currency: "EURO",
96
+ listPrice: 30,
97
+ pkgCount: 0,
98
+ selOptions: [],
99
+ styleNr: "",
100
+ },
101
+ },
102
+ rootFeatureRefs: [],
103
+ });
104
+ const D = () => ({
105
+ uuid: "D",
106
+ unit: "m",
107
+ features: [],
108
+ productData: {
109
+ sku: "D",
110
+ partsData: {
111
+ basePrice: 10,
112
+ currency: "EURO",
113
+ listPrice: 20,
114
+ pkgCount: 0,
115
+ selOptions: [],
116
+ styleNr: "",
117
+ },
118
+ },
119
+ rootFeatureRefs: [],
120
+ });
121
+ const E = () => ({
122
+ uuid: "E",
123
+ unit: "m",
124
+ features: [],
125
+ productData: {
126
+ sku: "E",
127
+ partsData: {
128
+ basePrice: 15,
129
+ currency: "USD",
130
+ listPrice: 25,
131
+ pkgCount: 0,
132
+ selOptions: [],
133
+ styleNr: "",
134
+ },
135
+ },
136
+ rootFeatureRefs: [],
137
+ });
138
+ export const getTestProduct = (params, validateCall) => __awaiter(void 0, void 0, void 0, function* () {
139
+ const partNumber = params.partNumber;
140
+ if (validateCall !== true) {
141
+ if (prodKeyArray.indexOf(partNumber) > -1) {
142
+ throw new Error("Duplicate call!");
143
+ }
144
+ else {
145
+ prodKeyArray.push(partNumber);
146
+ }
147
+ }
148
+ switch (partNumber) {
149
+ case "A":
150
+ return A();
151
+ case "B":
152
+ return B();
153
+ case "C":
154
+ return C();
155
+ case "D":
156
+ return D();
157
+ case "E":
158
+ return E();
159
+ }
160
+ throw new Error("No such part");
161
+ });
162
+ export const cachedProductLoaderTest = () => __awaiter(void 0, void 0, void 0, function* () {
163
+ prodKeyArray = [];
164
+ const productLoader = {
165
+ getProduct: getTestProduct,
166
+ postValidate: (params, _body) => __awaiter(void 0, void 0, void 0, function* () {
167
+ const productData = (yield getTestProduct(params, true)).productData;
168
+ let code = "optionA";
169
+ for (let test in _body.selOptions[0].next) {
170
+ code = test;
171
+ break;
172
+ }
173
+ productData.partsData.selOptions = [
174
+ {
175
+ code: _body.selOptions[0].code,
176
+ next: {
177
+ [code]: {
178
+ code: code,
179
+ },
180
+ },
181
+ },
182
+ ];
183
+ const validateResponse = {
184
+ uuid: "",
185
+ validated: true,
186
+ productData,
187
+ };
188
+ return validateResponse;
189
+ }),
190
+ };
191
+ const productWrapper = yield CfgProduct.make({
192
+ getProduct: wrapWithGetProductCache(productLoader.getProduct.bind(productLoader)),
193
+ postValidate: productLoader.postValidate.bind(productLoader),
194
+ }, "lang", dummyCatId, "A");
195
+ return productWrapper;
196
+ });
@@ -1,8 +1,8 @@
1
- import { CfgProduct } from "../../CfgProduct.js";
2
- export declare const cachedProductLoaderTest: () => Promise<{
3
- product: CfgProduct;
4
- validateCounter: {
5
- count: number;
6
- };
7
- }>;
1
+ import { CfgProduct } from "../../CfgProduct.js";
2
+ export declare const cachedProductLoaderTest: () => Promise<{
3
+ product: CfgProduct;
4
+ validateCounter: {
5
+ count: number;
6
+ };
7
+ }>;
8
8
  //# sourceMappingURL=testDataCachedPostValidate.d.ts.map