@unchainedshop/core 4.3.5 → 4.3.6

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.
@@ -28,11 +28,11 @@ const upsertProductMedia = async (productMedia, { modules }) => {
28
28
  export default async function upsertMedia({ media, productId }, unchainedAPI) {
29
29
  const { modules } = unchainedAPI;
30
30
  const productMediaObjects = await Promise.all(media.map(async ({ asset, content, ...mediaData }) => {
31
- const tags = mediaData?.tags ? convertTagsToLowerCase(mediaData?.tags) : [];
32
31
  const file = await upsertAsset('product-media', { meta: { ...(asset.meta || {}), productId }, ...asset }, unchainedAPI);
33
32
  if (!file)
34
33
  throw new Error(`Unable to create binary ${asset._id}`);
35
34
  const fileId = file._id;
35
+ const tags = mediaData?.tags ? convertTagsToLowerCase(mediaData?.tags) : [];
36
36
  const productMedia = await upsertProductMedia({
37
37
  ...mediaData,
38
38
  tags,
@@ -1 +1 @@
1
- {"version":3,"file":"upsertMedia.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/upsertMedia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,WAAW,EAAE,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,CAAC;SACP,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS;IACrB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CACH;SACA,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,KAAK,EAAE,YAA0B,EAAE,EAAE,OAAO,EAAwB,EAAE,EAAE;IACjG,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,EAAE,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC;QAClD,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,EAAE,KAAK,EAAE,SAAS,EAA+D,EACjF,YAAsD;IAEtD,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAEjC,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,eAAe,EACf,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,EACxD,YAAY,CACb,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C;YACE,GAAG,SAAS;YACZ,IAAI;YACJ,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,GAAG;SACF,EACjB,YAAY,CACb,CAAC;QACF,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,EAAE,CAAC,CAAC;QAE/F,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CACjD,YAAY,CAAC,GAAG,EAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;gBACrE,OAAO;oBACL,MAAM;oBACN,GAAG,aAAa;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5C,SAAS;QACT,uBAAuB,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;KACnE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"upsertMedia.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/upsertMedia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,WAAW,EAAE,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,CAAC;SACP,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS;IACrB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CACH;SACA,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,KAAK,EAAE,YAA0B,EAAE,EAAE,OAAO,EAAwB,EAAE,EAAE;IACjG,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,EAAE,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC;QAClD,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,EAAE,KAAK,EAAE,SAAS,EAA+D,EACjF,YAAsD;IAEtD,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAEjC,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,eAAe,EACf,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,EACxD,YAAY,CACb,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C;YACE,GAAG,SAAS;YACZ,IAAI;YACJ,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,GAAG;SACF,EACjB,YAAY,CACb,CAAC;QACF,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,EAAE,CAAC,CAAC;QAE/F,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CACjD,YAAY,CAAC,GAAG,EAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;gBACrE,OAAO;oBACL,MAAM;oBACN,GAAG,aAAa;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5C,SAAS;QACT,uBAAuB,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;KACnE,CAAC,CAAC;AACL,CAAC"}
@@ -11,6 +11,6 @@ export declare const AssetSchema: z.ZodObject<{
11
11
  declare const upsertAsset: (directoryName: string, asset: z.infer<typeof AssetSchema>, unchainedAPI: {
12
12
  modules: Modules;
13
13
  services: Services;
14
- }) => Promise<import("@unchainedshop/core-files").File | null>;
14
+ }) => Promise<import("@unchainedshop/core-files").File | null | undefined>;
15
15
  export default upsertAsset;
16
16
  //# sourceMappingURL=upsertAsset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upsertAsset.d.ts","sourceRoot":"","sources":["../../src/bulk-importer/upsertAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW;;;;;;iBAMtB,CAAC;AAEH,QAAA,MAAM,WAAW,GACf,eAAe,MAAM,EACrB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAClC,cAAc;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,6DAgCvD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"upsertAsset.d.ts","sourceRoot":"","sources":["../../src/bulk-importer/upsertAsset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;iBAMtB,CAAC;AAEH,QAAA,MAAM,WAAW,GACf,eAAe,MAAM,EACrB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAClC,cAAc;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,yEAgCvD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { createLogger } from '@unchainedshop/logger';
1
2
  import { z } from 'zod';
3
+ const logger = createLogger('unchained:bulk-import');
2
4
  export const AssetSchema = z.object({
3
5
  _id: z.string().optional(),
4
6
  url: z.string(),
@@ -30,10 +32,10 @@ const upsertAsset = async (directoryName, asset, unchainedAPI) => {
30
32
  meta,
31
33
  });
32
34
  if (!assetObject)
33
- throw new Error('Media not created');
34
- return assetObject;
35
+ return null;
35
36
  }
36
- catch {
37
+ catch (e) {
38
+ logger.warn(`Unable to upsert asset ${fileId || fileName}: ${e.message}`);
37
39
  return null;
38
40
  }
39
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"upsertAsset.js","sourceRoot":"","sources":["../../src/bulk-importer/upsertAsset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,KAAK,EACvB,aAAqB,EACrB,KAAkC,EAClC,YAAsD,EACtD,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAC3C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACzD,aAAa;YACb,SAAS,EAAE;gBACT,QAAQ,EAAE,GAAG;gBACb,QAAQ;gBACR,MAAM;gBACN,OAAO;aACR;YACD,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvD,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"upsertAsset.js","sourceRoot":"","sources":["../../src/bulk-importer/upsertAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,KAAK,EACvB,aAAqB,EACrB,KAAkC,EAClC,YAAsD,EACtD,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAC3C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACzD,aAAa;YACb,SAAS,EAAE;gBACT,QAAQ,EAAE,GAAG;gBACb,QAAQ;gBACR,MAAM;gBACN,OAAO;aACR;YACD,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -23,11 +23,11 @@ export type IFilterDirector = IBaseDirector<IFilterAdapter> & {
23
23
  forceLiveCollection?: boolean;
24
24
  }, unchainedAPI: {
25
25
  modules: Modules;
26
- }) => Promise<string[]>;
26
+ }) => Promise<Set<string>>;
27
27
  filterFacets: (filter: Filter, params: {
28
28
  searchQuery: SearchQuery;
29
29
  forceLiveCollection?: boolean;
30
- allProductIds: string[];
30
+ allProductIdSet: Set<string>;
31
31
  otherFilters: Filter[];
32
32
  }, unchainedAPI: {
33
33
  modules: Modules;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDirector.d.ts","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACL,MAAM,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,eAAe,GAAI,QAAQ,iBAAiB,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAOhF,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,CAAC,GAAG;IAC5D,OAAO,EAAE,CACP,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,cAAc,EAAE,CACd,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,EACvC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvB,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,EACpF,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvB,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,WAAW,EAAE,WAAW,CAAC;QACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,EACD,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC;QACX,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KACtC,CAAC,CAAC;IAEH,oBAAoB,EAAE,CACpB,UAAU,EAAE,MAAM,EAAE,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACxB,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,eAoP5B,CAAC"}
1
+ {"version":3,"file":"FilterDirector.d.ts","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACL,MAAM,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,eAAe,GAAI,QAAQ,iBAAiB,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAOhF,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,CAAC,GAAG;IAC5D,OAAO,EAAE,CACP,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,cAAc,EAAE,CACd,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,EACvC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvB,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,EACpF,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1B,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,WAAW,EAAE,WAAW,CAAC;QACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,EACD,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC;QACX,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KACtC,CAAC,CAAC;IAEH,oBAAoB,EAAE,CACpB,UAAU,EAAE,MAAM,EAAE,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACxB,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,eAmP5B,CAAC"}
@@ -87,11 +87,14 @@ export const FilterDirector = {
87
87
  const [allProductIds, keyToProductIdMap] = (!forceLiveCollection && (await filtersSettings.getCachedProductIds(filter._id))) ||
88
88
  (await this.buildProductIdMap(filter, unchainedAPI));
89
89
  const filteredKeys = unchainedAPI.modules.filters.parse(filter, values, Object.keys(keyToProductIdMap));
90
- const result = [];
90
+ if (filteredKeys.includes(undefined))
91
+ return new Set(allProductIds);
92
+ const result = new Set();
91
93
  for (const key of filteredKeys) {
92
- const additionalValues = key === undefined ? allProductIds : keyToProductIdMap[key];
94
+ const additionalValues = keyToProductIdMap[key];
93
95
  if (additionalValues) {
94
- result.push(...additionalValues);
96
+ for (const val of additionalValues)
97
+ result.add(val);
95
98
  }
96
99
  }
97
100
  return result;
@@ -118,12 +121,12 @@ export const FilterDirector = {
118
121
  values,
119
122
  forceLiveCollection,
120
123
  }, unchainedAPI);
121
- return productIdSet.intersection(new Set(filterOptionProductIds));
124
+ return productIdSet.intersection(filterOptionProductIds);
122
125
  }, Promise.resolve(new Set(productIds)));
123
126
  return [...intersectedProductIds];
124
127
  },
125
128
  async filterFacets(filter, params, unchainedAPI) {
126
- const { allProductIds, searchQuery, forceLiveCollection, otherFilters } = params;
129
+ const { allProductIdSet, searchQuery, forceLiveCollection, otherFilters } = params;
127
130
  const filterQueryParsed = parseQueryArray(searchQuery.filterQuery);
128
131
  // The examinedProductIdSet is a set of product id's that:
129
132
  // - Fit this filter generally
@@ -132,9 +135,10 @@ export const FilterDirector = {
132
135
  values: [undefined],
133
136
  forceLiveCollection,
134
137
  }, unchainedAPI);
135
- const examinedProductIdSet = new Set(allProductIds).intersection(new Set(filteredProductIds));
138
+ // Optimize: Create Set from allProductIds, iterate through smaller filteredProductIds
139
+ const examinedProductIdSet = allProductIdSet.intersection(filteredProductIds);
136
140
  const values = filterQueryParsed[filter.key];
137
- // The filteredProductIdSet is a set of product id's that:
141
+ // The filteredProductIds is a set of product id's that:
138
142
  // - Are filtered by all other filters
139
143
  // - Are filtered by the currently selected value of this filter
140
144
  // or if there is no currently selected value:
@@ -151,15 +155,14 @@ export const FilterDirector = {
151
155
  values: filterQueryParsed[otherFilter.key],
152
156
  forceLiveCollection,
153
157
  }, unchainedAPI);
154
- return productIdSet.intersection(new Set(otherFilterProductIds));
155
- }, Promise.resolve(new Set(examinedProductIdSet)));
156
- const filterProductIdsForValues = values
158
+ return productIdSet.intersection(otherFilterProductIds);
159
+ }, Promise.resolve(examinedProductIdSet));
160
+ const filteredByThisFilterSet = values
157
161
  ? await this.filterProductIds(filter, {
158
162
  values,
159
163
  forceLiveCollection,
160
164
  }, unchainedAPI)
161
165
  : filteredProductIds;
162
- const filteredByThisFilterSet = new Set(filterProductIdsForValues);
163
166
  return {
164
167
  examinedProductIdSet,
165
168
  filteredByOtherFiltersSet,
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDirector.js","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterDirector.js","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export async function loadFilterOptionsService(filter, params) {
10
10
  values: [value],
11
11
  forceLiveCollection,
12
12
  }, { modules: this });
13
- const filteredProductIdSet = productIdSet.intersection(new Set(filterOptionProductIds));
13
+ const filteredProductIdSet = productIdSet.intersection(filterOptionProductIds);
14
14
  const normalizedValues = values && this.filters.parse(filter, values, [value]);
15
15
  const isSelected = normalizedValues && normalizedValues.indexOf(value) !== -1;
16
16
  if (!filteredProductIdSet.size && !isSelected) {
@@ -1 +1 @@
1
- {"version":3,"file":"loadFilterOptions.js","sourceRoot":"","sources":["../../src/services/loadFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAE5C,MAAc,EACd,MAIC;IAED,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAElE,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACpG,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,sBAAsB,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAClE,MAAM,EACN;YACE,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,mBAAmB;SACpB,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QACF,MAAM,oBAAoB,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAExF,MAAM,gBAAgB,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9E,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,oBAAoB;YACpB,WAAW;YACX,KAAK;YACL,MAAM;YACN,UAAU;SACX,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"loadFilterOptions.js","sourceRoot":"","sources":["../../src/services/loadFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAE5C,MAAc,EACd,MAIC;IAED,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAElE,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACpG,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,sBAAsB,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAClE,MAAM,EACN;YACE,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,mBAAmB;SACpB,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QACF,MAAM,oBAAoB,GAAG,YAAY,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;QAE/E,MAAM,gBAAgB,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9E,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,oBAAoB;YACpB,WAAW;YACX,KAAK;YACL,MAAM;YACN,UAAU;SACX,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadFilters.d.ts","sourceRoot":"","sources":["../../src/services/loadFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;;;;KA+CF"}
1
+ {"version":3,"file":"loadFilters.d.ts","sourceRoot":"","sources":["../../src/services/loadFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;;;;KAiDF"}
@@ -16,11 +16,12 @@ export async function loadFiltersService(searchQuery, options) {
16
16
  const rightIndex = extractedFilterIds.indexOf(right._id);
17
17
  return leftIndex - rightIndex;
18
18
  });
19
+ const allProductIdSet = new Set(options.productIds || []);
19
20
  return Promise.all(sortedFilters.map(async (filter) => {
20
21
  const { examinedProductIdSet, filteredByOtherFiltersSet, filteredByThisFilterSet } = await FilterDirector.filterFacets(filter, {
21
22
  searchQuery,
22
23
  forceLiveCollection: !!options.forceLiveCollection,
23
- allProductIds: options.productIds,
24
+ allProductIdSet,
24
25
  otherFilters: sortedFilters,
25
26
  }, { modules: this });
26
27
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"loadFilters.js","sourceRoot":"","sources":["../../src/services/loadFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAEtC,WAAwB,EACxB,OAKC;IAED,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAChE,qBAAqB,CAAC,WAAW,CAAC,EAClC,OAAO,CACR,CAAC;IAEF,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAClD,GAAG,cAAc;QACjB,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAI,cAAc,EAAE,GAAW,EAAE,GAAG,IAAI,EAAE,CAAC;IACnE,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,SAAS,GAAG,UAAU,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAChB,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACjC,MAAM,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,GAChF,MAAM,cAAc,CAAC,YAAY,CAC/B,MAAM,EACN;YACE,WAAW;YACX,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB;YAClD,aAAa,EAAE,OAAO,CAAC,UAAU;YACjC,YAAY,EAAE,aAAa;SAC5B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QAEJ,OAAO;YACL,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB;YAClD,WAAW;YACX,MAAM;YACN,oBAAoB;YACpB,yBAAyB;YACzB,uBAAuB;SACxB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"loadFilters.js","sourceRoot":"","sources":["../../src/services/loadFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAEtC,WAAwB,EACxB,OAKC;IAED,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAChE,qBAAqB,CAAC,WAAW,CAAC,EAClC,OAAO,CACR,CAAC;IAEF,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAClD,GAAG,cAAc;QACjB,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAI,cAAc,EAAE,GAAW,EAAE,GAAG,IAAI,EAAE,CAAC;IACnE,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,SAAS,GAAG,UAAU,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAE1D,OAAO,OAAO,CAAC,GAAG,CAChB,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACjC,MAAM,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,GAChF,MAAM,cAAc,CAAC,YAAY,CAC/B,MAAM,EACN;YACE,WAAW;YACX,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB;YAClD,eAAe;YACf,YAAY,EAAE,aAAa;SAC5B,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;QAEJ,OAAO;YACL,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB;YAClD,WAAW;YACX,MAAM;YACN,oBAAoB;YACpB,yBAAyB;YACzB,uBAAuB;SACxB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core",
3
- "version": "4.3.5",
3
+ "version": "4.3.6",
4
4
  "main": "lib/core-index.js",
5
5
  "types": "lib/core-index.d.ts",
6
6
  "type": "module",
@@ -40,7 +40,6 @@ export default async function upsertMedia(
40
40
 
41
41
  const productMediaObjects = await Promise.all(
42
42
  media.map(async ({ asset, content, ...mediaData }) => {
43
- const tags = mediaData?.tags ? convertTagsToLowerCase(mediaData?.tags)! : [];
44
43
  const file = await upsertAsset(
45
44
  'product-media',
46
45
  { meta: { ...(asset.meta || {}), productId }, ...asset },
@@ -48,6 +47,7 @@ export default async function upsertMedia(
48
47
  );
49
48
  if (!file) throw new Error(`Unable to create binary ${asset._id}`);
50
49
  const fileId = file._id;
50
+ const tags = mediaData?.tags ? convertTagsToLowerCase(mediaData?.tags)! : [];
51
51
  const productMedia = await upsertProductMedia(
52
52
  {
53
53
  ...mediaData,
@@ -1,7 +1,10 @@
1
+ import { createLogger } from '@unchainedshop/logger';
1
2
  import { Modules } from '../modules.js';
2
3
  import { Services } from '../services/index.js';
3
4
  import { z } from 'zod';
4
5
 
6
+ const logger = createLogger('unchained:bulk-import');
7
+
5
8
  export const AssetSchema = z.object({
6
9
  _id: z.string().optional(),
7
10
  url: z.string(),
@@ -40,9 +43,9 @@ const upsertAsset = async (
40
43
  meta,
41
44
  });
42
45
 
43
- if (!assetObject) throw new Error('Media not created');
44
- return assetObject;
45
- } catch {
46
+ if (!assetObject) return null;
47
+ } catch (e) {
48
+ logger.warn(`Unable to upsert asset ${fileId || fileName}: ${e.message}`);
46
49
  return null;
47
50
  }
48
51
  };
@@ -40,14 +40,14 @@ export type IFilterDirector = IBaseDirector<IFilterAdapter> & {
40
40
  filter: Filter,
41
41
  { values, forceLiveCollection }: { values: string[]; forceLiveCollection?: boolean },
42
42
  unchainedAPI: { modules: Modules },
43
- ) => Promise<string[]>;
43
+ ) => Promise<Set<string>>;
44
44
 
45
45
  filterFacets: (
46
46
  filter: Filter,
47
47
  params: {
48
48
  searchQuery: SearchQuery;
49
49
  forceLiveCollection?: boolean;
50
- allProductIds: string[];
50
+ allProductIdSet: Set<string>;
51
51
  otherFilters: Filter[];
52
52
  },
53
53
  unchainedAPI: { modules: Modules },
@@ -177,7 +177,7 @@ export const FilterDirector: IFilterDirector = {
177
177
  filter: Filter,
178
178
  { values, forceLiveCollection }: { values: string[]; forceLiveCollection?: boolean },
179
179
  unchainedAPI: { modules: Modules },
180
- ) {
180
+ ): Promise<Set<string>> {
181
181
  const [allProductIds, keyToProductIdMap]: [string[], Record<string, string[]>] =
182
182
  (!forceLiveCollection && (await filtersSettings.getCachedProductIds(filter._id))) ||
183
183
  (await this.buildProductIdMap(filter, unchainedAPI));
@@ -187,11 +187,14 @@ export const FilterDirector: IFilterDirector = {
187
187
  values,
188
188
  Object.keys(keyToProductIdMap),
189
189
  );
190
- const result: string[] = [];
191
- for (const key of filteredKeys) {
192
- const additionalValues = key === undefined ? allProductIds : keyToProductIdMap[key];
190
+
191
+ if (filteredKeys.includes(undefined)) return new Set(allProductIds);
192
+
193
+ const result = new Set<string>();
194
+ for (const key of filteredKeys as string[]) {
195
+ const additionalValues = keyToProductIdMap[key];
193
196
  if (additionalValues) {
194
- result.push(...additionalValues);
197
+ for (const val of additionalValues) result.add(val);
195
198
  }
196
199
  }
197
200
  return result;
@@ -233,7 +236,7 @@ export const FilterDirector: IFilterDirector = {
233
236
  unchainedAPI,
234
237
  );
235
238
 
236
- return productIdSet.intersection(new Set(filterOptionProductIds));
239
+ return productIdSet.intersection(filterOptionProductIds);
237
240
  },
238
241
  Promise.resolve(new Set(productIds)),
239
242
  );
@@ -242,7 +245,7 @@ export const FilterDirector: IFilterDirector = {
242
245
  },
243
246
 
244
247
  async filterFacets(filter, params, unchainedAPI) {
245
- const { allProductIds, searchQuery, forceLiveCollection, otherFilters } = params;
248
+ const { allProductIdSet, searchQuery, forceLiveCollection, otherFilters } = params;
246
249
 
247
250
  const filterQueryParsed = parseQueryArray(searchQuery.filterQuery);
248
251
 
@@ -258,35 +261,33 @@ export const FilterDirector: IFilterDirector = {
258
261
  unchainedAPI,
259
262
  );
260
263
 
261
- const examinedProductIdSet = new Set(allProductIds).intersection(new Set(filteredProductIds));
264
+ // Optimize: Create Set from allProductIds, iterate through smaller filteredProductIds
265
+ const examinedProductIdSet = allProductIdSet.intersection(filteredProductIds);
262
266
  const values = filterQueryParsed[filter.key];
263
267
 
264
- // The filteredProductIdSet is a set of product id's that:
268
+ // The filteredProductIds is a set of product id's that:
265
269
  // - Are filtered by all other filters
266
270
  // - Are filtered by the currently selected value of this filter
267
271
  // or if there is no currently selected value:
268
272
  // - Is the same like examinedProductIdSet
269
273
  const filteredByOtherFiltersSet = await otherFilters
270
274
  .filter((otherFilter) => otherFilter.key !== filter.key)
271
- .reduce(
272
- async (productIdSetPromise, otherFilter) => {
273
- if (otherFilter.key === filter.key) return productIdSetPromise;
274
- if (!filterQueryParsed[otherFilter.key]) return productIdSetPromise;
275
- const productIdSet = await productIdSetPromise;
276
- const otherFilterProductIds = await this.filterProductIds(
277
- otherFilter,
278
- {
279
- values: filterQueryParsed[otherFilter.key],
280
- forceLiveCollection,
281
- },
282
- unchainedAPI,
283
- );
284
- return productIdSet.intersection(new Set(otherFilterProductIds));
285
- },
286
- Promise.resolve(new Set(examinedProductIdSet)),
287
- );
288
-
289
- const filterProductIdsForValues = values
275
+ .reduce(async (productIdSetPromise, otherFilter) => {
276
+ if (otherFilter.key === filter.key) return productIdSetPromise;
277
+ if (!filterQueryParsed[otherFilter.key]) return productIdSetPromise;
278
+ const productIdSet = await productIdSetPromise;
279
+ const otherFilterProductIds = await this.filterProductIds(
280
+ otherFilter,
281
+ {
282
+ values: filterQueryParsed[otherFilter.key],
283
+ forceLiveCollection,
284
+ },
285
+ unchainedAPI,
286
+ );
287
+ return productIdSet.intersection(otherFilterProductIds);
288
+ }, Promise.resolve(examinedProductIdSet));
289
+
290
+ const filteredByThisFilterSet = values
290
291
  ? await this.filterProductIds(
291
292
  filter,
292
293
  {
@@ -297,8 +298,6 @@ export const FilterDirector: IFilterDirector = {
297
298
  )
298
299
  : filteredProductIds;
299
300
 
300
- const filteredByThisFilterSet = new Set<string>(filterProductIdsForValues);
301
-
302
301
  return {
303
302
  examinedProductIdSet,
304
303
  filteredByOtherFiltersSet,
@@ -27,7 +27,7 @@ export async function loadFilterOptionsService(
27
27
  },
28
28
  { modules: this },
29
29
  );
30
- const filteredProductIdSet = productIdSet.intersection(new Set(filterOptionProductIds));
30
+ const filteredProductIdSet = productIdSet.intersection(filterOptionProductIds);
31
31
 
32
32
  const normalizedValues = values && this.filters.parse(filter, values, [value]);
33
33
  const isSelected = normalizedValues && normalizedValues.indexOf(value) !== -1;
@@ -33,6 +33,8 @@ export async function loadFiltersService(
33
33
  return leftIndex - rightIndex;
34
34
  });
35
35
 
36
+ const allProductIdSet = new Set(options.productIds || []);
37
+
36
38
  return Promise.all(
37
39
  sortedFilters.map(async (filter) => {
38
40
  const { examinedProductIdSet, filteredByOtherFiltersSet, filteredByThisFilterSet } =
@@ -41,7 +43,7 @@ export async function loadFiltersService(
41
43
  {
42
44
  searchQuery,
43
45
  forceLiveCollection: !!options.forceLiveCollection,
44
- allProductIds: options.productIds,
46
+ allProductIdSet,
45
47
  otherFilters: sortedFilters,
46
48
  },
47
49
  { modules: this },