@unchainedshop/core-warehousing 2.0.3 → 2.0.4

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.
@@ -114,7 +114,7 @@ export const configureWarehousingModule = async ({ db, }) => {
114
114
  },
115
115
  tokenizeItems: async (order, { items }, unchainedAPI) => {
116
116
  const virtualProviders = await WarehousingProviders.find(buildFindSelector({ type: WarehousingProviderType.VIRTUAL })).toArray();
117
- await Promise.all(items.map(async ({ orderPosition, product }) => {
117
+ const tokenizers = await Promise.all(items.flatMap(({ orderPosition, product }) => {
118
118
  const warehousingContext = {
119
119
  order,
120
120
  orderPosition,
@@ -122,19 +122,23 @@ export const configureWarehousingModule = async ({ db, }) => {
122
122
  quantity: orderPosition.quantity,
123
123
  referenceDate: order.ordered,
124
124
  };
125
- await virtualProviders.reduce(async (lastPromise, provider) => {
126
- const last = await lastPromise;
127
- if (last)
128
- return last;
129
- const currentDirector = await WarehousingDirector.actions(provider, warehousingContext, unchainedAPI);
130
- const isActive = await currentDirector.isActive();
131
- if (isActive) {
132
- const tokenSurrogates = await currentDirector.tokenize();
133
- await TokenSurrogates.insertMany(tokenSurrogates);
134
- }
135
- return true;
136
- }, Promise.resolve(false));
125
+ return virtualProviders.map(async (provider) => {
126
+ const director = await WarehousingDirector.actions(provider, warehousingContext, unchainedAPI);
127
+ const isActive = await director.isActive();
128
+ if (isActive)
129
+ return director.tokenize;
130
+ return (async () => []);
131
+ });
137
132
  }));
133
+ // Tokenize linearly so that after every tokenized item, the db is updated
134
+ await tokenizers.reduce(async (lastPromise, tokenizer) => {
135
+ const last = await lastPromise;
136
+ if (last)
137
+ return last;
138
+ const tokenSurrogates = await tokenizer();
139
+ await TokenSurrogates.insertMany(tokenSurrogates);
140
+ return true;
141
+ }, Promise.resolve(false));
138
142
  },
139
143
  tokenMetadata: async (chainTokenId, { token, product, locale, referenceDate }, unchainedAPI) => {
140
144
  const virtualProviders = await WarehousingProviders.find(buildFindSelector({ type: WarehousingProviderType.VIRTUAL })).toArray();
@@ -1 +1 @@
1
- {"version":3,"file":"configureWarehousingModule.js","sourceRoot":"","sources":["../../src/module/configureWarehousingModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureWarehousingModule.js","sourceRoot":"","sources":["../../src/module/configureWarehousingModule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-warehousing",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "main": "lib/warehousing-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/warehousing-index.js",
@@ -31,16 +31,16 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/events": "^2.0.3",
35
- "@unchainedshop/logger": "^2.0.3",
36
- "@unchainedshop/utils": "^2.0.3",
34
+ "@unchainedshop/events": "^2.0.4",
35
+ "@unchainedshop/logger": "^2.0.4",
36
+ "@unchainedshop/utils": "^2.0.4",
37
37
  "lru-cache": "^7.14.1",
38
38
  "simpl-schema": "=3.2.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@types/node": "^18.11.18",
42
- "@unchainedshop/types": "^2.0.3",
43
- "jest": "^29.4.1",
41
+ "@types/node": "^18.13.0",
42
+ "@unchainedshop/types": "^2.0.4",
43
+ "jest": "^29.4.2",
44
44
  "ts-jest": "^29.0.5",
45
45
  "typescript": "^4.9.5"
46
46
  }
@@ -169,8 +169,8 @@ export const configureWarehousingModule = async ({
169
169
  buildFindSelector({ type: WarehousingProviderType.VIRTUAL }),
170
170
  ).toArray();
171
171
 
172
- await Promise.all(
173
- items.map(async ({ orderPosition, product }) => {
172
+ const tokenizers = await Promise.all(
173
+ items.flatMap(({ orderPosition, product }) => {
174
174
  const warehousingContext: WarehousingContext = {
175
175
  order,
176
176
  orderPosition,
@@ -178,23 +178,27 @@ export const configureWarehousingModule = async ({
178
178
  quantity: orderPosition.quantity,
179
179
  referenceDate: order.ordered,
180
180
  };
181
- await virtualProviders.reduce(async (lastPromise, provider) => {
182
- const last = await lastPromise;
183
- if (last) return last;
184
- const currentDirector = await WarehousingDirector.actions(
181
+ return virtualProviders.map(async (provider) => {
182
+ const director = await WarehousingDirector.actions(
185
183
  provider,
186
184
  warehousingContext,
187
185
  unchainedAPI,
188
186
  );
189
- const isActive = await currentDirector.isActive();
190
- if (isActive) {
191
- const tokenSurrogates = await currentDirector.tokenize();
192
- await TokenSurrogates.insertMany(tokenSurrogates);
193
- }
194
- return true;
195
- }, Promise.resolve(false));
187
+ const isActive = await director.isActive();
188
+ if (isActive) return director.tokenize;
189
+ return (async () => []) as typeof director.tokenize;
190
+ });
196
191
  }),
197
192
  );
193
+
194
+ // Tokenize linearly so that after every tokenized item, the db is updated
195
+ await tokenizers.reduce(async (lastPromise, tokenizer) => {
196
+ const last = await lastPromise;
197
+ if (last) return last;
198
+ const tokenSurrogates = await tokenizer();
199
+ await TokenSurrogates.insertMany(tokenSurrogates);
200
+ return true;
201
+ }, Promise.resolve(false));
198
202
  },
199
203
 
200
204
  tokenMetadata: async (chainTokenId, { token, product, locale, referenceDate }, unchainedAPI) => {