@blackfisk/blackfisk-vue-storefront-api 1.0.4 → 1.0.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 (81) hide show
  1. package/lib/packages/api-client/src/api/getCollection/index.d.ts +9 -0
  2. package/lib/packages/api-client/src/api/getCollection/index.d.ts.map +1 -0
  3. package/lib/{api → packages/api-client/src/api}/getProductCollection/index.d.ts +2 -2
  4. package/lib/packages/api-client/src/api/getProductCollection/index.d.ts.map +1 -0
  5. package/lib/packages/api-client/src/api/getProductFacets/index.d.ts +3 -0
  6. package/lib/packages/api-client/src/api/getProductFacets/index.d.ts.map +1 -0
  7. package/lib/packages/api-client/src/api/getProductListing/index.d.ts +15 -0
  8. package/lib/packages/api-client/src/api/getProductListing/index.d.ts.map +1 -0
  9. package/lib/packages/api-client/src/api/index.d.ts +6 -0
  10. package/lib/packages/api-client/src/api/index.d.ts.map +1 -0
  11. package/lib/packages/api-client/src/api/proxyInstantsearch/index.d.ts +6 -0
  12. package/lib/packages/api-client/src/api/proxyInstantsearch/index.d.ts.map +1 -0
  13. package/lib/packages/api-client/src/index.d.ts.map +1 -0
  14. package/lib/packages/api-client/src/index.server.d.ts.map +1 -0
  15. package/lib/packages/api-client/src/types/api/endpoints.d.ts +20 -0
  16. package/lib/packages/api-client/src/types/api/endpoints.d.ts.map +1 -0
  17. package/{server → lib/packages/api-client/src}/types/api/index.d.ts +23 -1
  18. package/lib/packages/api-client/src/types/api/index.d.ts.map +1 -0
  19. package/lib/packages/api-client/src/types/config/index.d.ts.map +1 -0
  20. package/lib/packages/api-client/src/types/context/index.d.ts.map +1 -0
  21. package/lib/packages/api-client/src/types/index.d.ts.map +1 -0
  22. package/lib/utils/elasticsearch/productGroup.d.ts +24 -0
  23. package/lib/utils/elasticsearch/productGroup.d.ts.map +1 -0
  24. package/package.json +2 -2
  25. package/server/index.js +194 -1
  26. package/server/index.js.map +1 -1
  27. package/server/packages/api-client/src/api/getCollection/index.d.ts +9 -0
  28. package/server/packages/api-client/src/api/getCollection/index.d.ts.map +1 -0
  29. package/server/{api → packages/api-client/src/api}/getProductCollection/index.d.ts +2 -2
  30. package/server/packages/api-client/src/api/getProductCollection/index.d.ts.map +1 -0
  31. package/server/packages/api-client/src/api/getProductFacets/index.d.ts +3 -0
  32. package/server/packages/api-client/src/api/getProductFacets/index.d.ts.map +1 -0
  33. package/server/packages/api-client/src/api/getProductListing/index.d.ts +15 -0
  34. package/server/packages/api-client/src/api/getProductListing/index.d.ts.map +1 -0
  35. package/server/packages/api-client/src/api/index.d.ts +6 -0
  36. package/server/packages/api-client/src/api/index.d.ts.map +1 -0
  37. package/server/packages/api-client/src/api/proxyInstantsearch/index.d.ts +6 -0
  38. package/server/packages/api-client/src/api/proxyInstantsearch/index.d.ts.map +1 -0
  39. package/server/packages/api-client/src/index.d.ts.map +1 -0
  40. package/server/packages/api-client/src/index.server.d.ts.map +1 -0
  41. package/server/packages/api-client/src/types/api/endpoints.d.ts +20 -0
  42. package/server/packages/api-client/src/types/api/endpoints.d.ts.map +1 -0
  43. package/{lib → server/packages/api-client/src}/types/api/index.d.ts +23 -1
  44. package/server/packages/api-client/src/types/api/index.d.ts.map +1 -0
  45. package/server/packages/api-client/src/types/config/index.d.ts.map +1 -0
  46. package/server/packages/api-client/src/types/context/index.d.ts.map +1 -0
  47. package/server/packages/api-client/src/types/index.d.ts.map +1 -0
  48. package/server/utils/elasticsearch/productGroup.d.ts +24 -0
  49. package/server/utils/elasticsearch/productGroup.d.ts.map +1 -0
  50. package/lib/api/getProductCollection/index.d.ts.map +0 -1
  51. package/lib/api/index.d.ts +0 -2
  52. package/lib/api/index.d.ts.map +0 -1
  53. package/lib/index.d.ts.map +0 -1
  54. package/lib/index.server.d.ts.map +0 -1
  55. package/lib/types/api/endpoints.d.ts +0 -13
  56. package/lib/types/api/endpoints.d.ts.map +0 -1
  57. package/lib/types/api/index.d.ts.map +0 -1
  58. package/lib/types/config/index.d.ts.map +0 -1
  59. package/lib/types/context/index.d.ts.map +0 -1
  60. package/lib/types/index.d.ts.map +0 -1
  61. package/server/api/getProductCollection/index.d.ts.map +0 -1
  62. package/server/api/index.d.ts +0 -2
  63. package/server/api/index.d.ts.map +0 -1
  64. package/server/index.d.ts.map +0 -1
  65. package/server/index.server.d.ts.map +0 -1
  66. package/server/types/api/endpoints.d.ts +0 -13
  67. package/server/types/api/endpoints.d.ts.map +0 -1
  68. package/server/types/api/index.d.ts.map +0 -1
  69. package/server/types/config/index.d.ts.map +0 -1
  70. package/server/types/context/index.d.ts.map +0 -1
  71. package/server/types/index.d.ts.map +0 -1
  72. /package/lib/{index.d.ts → packages/api-client/src/index.d.ts} +0 -0
  73. /package/lib/{index.server.d.ts → packages/api-client/src/index.server.d.ts} +0 -0
  74. /package/lib/{types → packages/api-client/src/types}/config/index.d.ts +0 -0
  75. /package/lib/{types → packages/api-client/src/types}/context/index.d.ts +0 -0
  76. /package/lib/{types → packages/api-client/src/types}/index.d.ts +0 -0
  77. /package/server/{index.d.ts → packages/api-client/src/index.d.ts} +0 -0
  78. /package/server/{index.server.d.ts → packages/api-client/src/index.server.d.ts} +0 -0
  79. /package/server/{types → packages/api-client/src/types}/config/index.d.ts +0 -0
  80. /package/server/{types → packages/api-client/src/types}/context/index.d.ts +0 -0
  81. /package/server/{types → packages/api-client/src/types}/index.d.ts +0 -0
@@ -0,0 +1,9 @@
1
+ import { Endpoints } from '../../types';
2
+ export interface getCollectionParams {
3
+ collectionId: number;
4
+ }
5
+ export interface getCollectionResponse {
6
+ data: any;
7
+ }
8
+ export declare const getCollection: Endpoints['getCollection'];
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;CACrB;AACD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,GAAG,CAAA;CACV;AACD,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,eAAe,CAcpD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Endpoints, SearchProduct } from '../../types';
1
+ import { Endpoints } from '../../types';
2
2
  export interface getProductCollectionTemplateParams {
3
3
  [key: string]: any;
4
4
  }
@@ -8,7 +8,7 @@ export interface getProductCollectionParams {
8
8
  debug?: boolean;
9
9
  }
10
10
  export interface getProductCollectionResponse {
11
- data: SearchProduct[];
11
+ data: any[];
12
12
  }
13
13
  export declare const getProductCollection: Endpoints['getProductCollection'];
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getProductCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,WAAW,kCAAkC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,kCAAkC,CAAC;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAAC,sBAAsB,CA0BlE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Endpoints } from '../../types';
2
+ export declare const getProductFacets: Endpoints['getProductFacets'];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getProductFacets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,CAW1D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Endpoints, ProductListing } from '../../types';
2
+ export interface getProductListingTemplateParams {
3
+ [key: string]: any;
4
+ }
5
+ export interface getProductListingParams {
6
+ collectionId: number | string;
7
+ familyId: number | string;
8
+ channelListingId: number | string;
9
+ debug?: boolean;
10
+ }
11
+ export interface getProductListingResponse {
12
+ data: ProductListing[];
13
+ }
14
+ export declare const getProductListing: Endpoints['getProductListing'];
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getProductListing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,MAAM,WAAW,+BAA+B;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AACD,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,mBAAmB,CAiB5D,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { getProductCollection } from './getProductCollection';
2
+ export { getProductListing } from './getProductListing';
3
+ export { proxyInstantsearch } from './proxyInstantsearch';
4
+ export { getCollection } from './getCollection';
5
+ export { getProductFacets } from './getProductFacets';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Endpoints } from '../../types';
2
+ export interface proxyInstantsearchResponse {
3
+ results: any[];
4
+ }
5
+ export declare const proxyInstantsearch: Endpoints['proxyInstantsearch'];
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/proxyInstantsearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,GAAG,EAAE,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,oBAAoB,CAuC9D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../../src/index.server.ts"],"names":[],"mappings":"AAqCA,QAAA,MAAQ,eAAe,kEAGrB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BfskIntegrationContext, TODO } from '..';
2
+ import { getProductCollectionParams, getProductCollectionResponse } from '../../api/getProductCollection/index';
3
+ import { getProductListingParams, getProductListingResponse } from '../../api/getProductListing/index';
4
+ import { proxyInstantsearchResponse } from '../../api/proxyInstantsearch/index';
5
+ import { getCollectionParams, getCollectionResponse } from '../../api/getCollection/index';
6
+ /**
7
+ * Definition of all API-client methods available in {@link https://docs.vuestorefront.io/v2/advanced/context.html#context-api | context}.
8
+ */
9
+ export interface Endpoints {
10
+ /**
11
+ * Here you can find an example endpoint definition. Based on this example, you should define how your endpoint will look like.
12
+ * This description will appear in the API extractor, so try to document all endpoints added here.
13
+ */
14
+ getProductCollection(context: BfskIntegrationContext, params: getProductCollectionParams): Promise<getProductCollectionResponse>;
15
+ getProductListing(context: BfskIntegrationContext, params: getProductListingParams): Promise<getProductListingResponse>;
16
+ proxyInstantsearch(context: BfskIntegrationContext, params: any): Promise<proxyInstantsearchResponse>;
17
+ getCollection(context: BfskIntegrationContext, params: getCollectionParams): Promise<getCollectionResponse>;
18
+ getProductFacets(context: BfskIntegrationContext, params: TODO): Promise<TODO>;
19
+ }
20
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../../../src/types/api/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAC/G,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AACtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1F;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACjI,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxH,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACtG,aAAa,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5G,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF"}
@@ -14,6 +14,11 @@ export interface SearchProductCondition {
14
14
  name: string;
15
15
  description: string;
16
16
  }
17
+ export interface Color {
18
+ color: string;
19
+ hex: string;
20
+ hsl: string;
21
+ }
17
22
  export interface SearchProductImage {
18
23
  url: string;
19
24
  public_id: string;
@@ -34,7 +39,7 @@ export interface SearchProduct {
34
39
  categoryIds: number[];
35
40
  categoryName: string;
36
41
  channelId: number;
37
- colors: [];
42
+ colors: Color[];
38
43
  condition: SearchProductCondition;
39
44
  description: string;
40
45
  familyId: number;
@@ -58,5 +63,22 @@ export interface SearchProduct {
58
63
  title: string;
59
64
  upc: string;
60
65
  }
66
+ export interface SearchProductHit {
67
+ _index: string;
68
+ _id: string;
69
+ _score: number;
70
+ _ignored: string[];
71
+ _source: SearchProduct;
72
+ inner_hits: {
73
+ family: {
74
+ hits: {
75
+ hits: SearchProduct[];
76
+ };
77
+ };
78
+ };
79
+ }
80
+ export interface ProductListing {
81
+ [key: string]: any;
82
+ }
61
83
  export * from './endpoints';
62
84
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,IAAI,EAAE,sBAAsB,EAAE,CAAC;IAC/B,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,2BAA2B,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,sBAAsB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,iBAAiB,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE;QACV,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,aAAa,EAAE,CAAC;aACvB,CAAA;SACF,CAAA;KACF,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/types/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,UAAU,mBAAmB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAgB;IAE/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,mBAAmB,CAAC;CAC1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/types/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAErE;;IAEI;AACJ,oBAAY,sBAAsB,GAAG,kBAAkB,CACrD,aAAa,EACb,gBAAgB,EAChB,uBAAuB,CACxB,CAAC;AAEF;;IAEI;AACJ,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,sBAAsB,CAAC;CAC/B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;GAEG;AACH,oBAAY,uBAAuB,GAAG;KACnC,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC,EAAE,GAAG,EACN,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,MAAM,CAAC,GACR,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,KAAK;CACV,CAAC;AAEF,oBAAY,IAAI,GAAG,GAAG,CAAC;AAEvB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SearchProductHit } from '@blackfisk/blackfisk-vue-storefront-api/src/types/api';
2
+ export interface DisplayProductImage {
3
+ src: string;
4
+ url: string;
5
+ alt: string;
6
+ }
7
+ export interface DisplayProduct {
8
+ id: number;
9
+ slug: string;
10
+ name: string;
11
+ groupId: number;
12
+ price: string;
13
+ img: DisplayProductImage;
14
+ }
15
+ export interface DisplayProductGroup {
16
+ groupId: number;
17
+ groupName: string;
18
+ brandName: string;
19
+ groupPriceLow: number;
20
+ groupPriceHigh: number;
21
+ products: DisplayProduct[];
22
+ }
23
+ export declare const groupProductResult: (ProductResult: SearchProductHit) => unknown[];
24
+ //# sourceMappingURL=productGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productGroup.d.ts","sourceRoot":"","sources":["../../../../../utils/elasticsearch/productGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,uDAAuD,CAAA;AAC5G,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,mBAAmB,CAAC;CAC1B;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AACD,eAAO,MAAM,kBAAkB,kBAAmB,gBAAgB,cAyGjE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackfisk/blackfisk-vue-storefront-api",
3
- "version": "1.0.4",
3
+ "version": "1.0.7",
4
4
  "sideEffects": false,
5
5
  "server": "server/index.js",
6
6
  "main": "lib/index.cjs.js",
@@ -28,5 +28,5 @@
28
28
  "lib/**/*",
29
29
  "server/**/*"
30
30
  ],
31
- "gitHead": "be6d7a7b779ae7025136bd8e093ca3d2284f1a9d"
31
+ "gitHead": "c3722e1a48c62b4fa0c254778677fedc6950fc8a"
32
32
  }
package/server/index.js CHANGED
@@ -9,6 +9,118 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
11
11
 
12
+ const groupProductResult = (ProductResult) => {
13
+ const ProductCollectionItems = (Array.isArray(ProductResult) ? ProductResult : [ProductResult]);
14
+ if (ProductCollectionItems.length > 0) {
15
+ const formatDisplayProductImage = (ProductCollectionItem) => {
16
+ const primaryImage = ProductCollectionItem.images?.[0] ?? { public_id: '', alt: '', url: '' };
17
+ return {
18
+ src: primaryImage.public_id,
19
+ url: primaryImage.url,
20
+ alt: primaryImage.alt,
21
+ };
22
+ };
23
+ const formatDisplayProduct = (ProductCollectionItem) => {
24
+ return {
25
+ id: ProductCollectionItem.id,
26
+ slug: ProductCollectionItem.slug,
27
+ name: ProductCollectionItem.heading || ProductCollectionItem.productName,
28
+ price: `$${ProductCollectionItem.priceSale}`,
29
+ groupId: ProductCollectionItem.familyId,
30
+ img: formatDisplayProductImage(ProductCollectionItem),
31
+ };
32
+ };
33
+ // console.log({ProductCollectionItem: ProductCollectionItems[0]})
34
+ const isGroupRepresented = {};
35
+ let sortOrder = 0;
36
+ const DisplayFamilies = ProductCollectionItems
37
+ .reduce((accumulator, ProductCollectionItemHit) => {
38
+ const ProductCollectionItem = ProductCollectionItemHit['_source'] || ProductCollectionItemHit;
39
+ if (ProductCollectionItem) {
40
+ if (ProductCollectionItem?.familyId > 0) {
41
+ if (!accumulator['groups'][ProductCollectionItem.familyId]) {
42
+ isGroupRepresented[ProductCollectionItem.familyId] = false;
43
+ accumulator['sort'][ProductCollectionItem.familyId] = sortOrder;
44
+ sortOrder++;
45
+ accumulator['groups'][ProductCollectionItem.familyId] = {
46
+ groupId: ProductCollectionItem.familyId,
47
+ groupName: ProductCollectionItem.parentName,
48
+ brandName: ProductCollectionItem.brandName,
49
+ groupPriceLow: ProductCollectionItem.priceSale,
50
+ groupPriceHigh: ProductCollectionItem.priceSale,
51
+ products: [formatDisplayProduct(ProductCollectionItem)],
52
+ };
53
+ }
54
+ else {
55
+ if (ProductCollectionItem.priceSale < accumulator['groups'][ProductCollectionItem.familyId].groupPriceLow) {
56
+ accumulator['groups'][ProductCollectionItem.familyId].groupPriceLow = ProductCollectionItem.priceSale;
57
+ }
58
+ if (ProductCollectionItem.priceSale > accumulator['groups'][ProductCollectionItem.familyId].groupPriceHigh) {
59
+ accumulator['groups'][ProductCollectionItem.familyId].groupPriceHigh = ProductCollectionItem.priceSale;
60
+ }
61
+ // accumulator['groups'][ProductCollectionItem.familyId].products.push()
62
+ }
63
+ const InnerHits = (ProductCollectionItemHit?.['inner_hits']?.['family']?.['hits']?.['hits'] ?? []);
64
+ if (InnerHits.length > 0) {
65
+ accumulator['groups'][ProductCollectionItem.familyId]['products'] = [
66
+ ...accumulator['groups'][ProductCollectionItem.familyId]['products'],
67
+ ...InnerHits
68
+ .filter((InnerHit) => InnerHit['_source']['id'] !== ProductCollectionItem.id)
69
+ .map((InnerHit) => formatDisplayProduct(InnerHit['_source'])),
70
+ ];
71
+ }
72
+ }
73
+ else if (!accumulator['groups'][`S${ProductCollectionItem.id}`]) {
74
+ isGroupRepresented[`S${ProductCollectionItem.id}`] = false;
75
+ accumulator['sort'][`S${ProductCollectionItem.id}`] = sortOrder;
76
+ sortOrder++;
77
+ accumulator['groups'][`S${ProductCollectionItem.id}`] = {
78
+ groupId: ProductCollectionItem.familyId,
79
+ groupName: ProductCollectionItem.heading || ProductCollectionItem.productName,
80
+ brandName: ProductCollectionItem.brandName,
81
+ groupPriceLow: ProductCollectionItem.priceSale,
82
+ groupPriceHigh: ProductCollectionItem.priceSale,
83
+ products: [formatDisplayProduct(ProductCollectionItem)],
84
+ };
85
+ const InnerHits = (ProductCollectionItemHit?.['inner_hits']?.['family']?.['hits']?.['hits'] ?? []);
86
+ if (InnerHits.length > 0) {
87
+ accumulator['groups'][`S${ProductCollectionItem.id}`]['products'] = [
88
+ ...accumulator['groups'][`S${ProductCollectionItem.id}`]['products'],
89
+ ...InnerHits
90
+ .filter((InnerHit) => InnerHit['_source']['id'] !== ProductCollectionItem.id)
91
+ .map((InnerHit) => formatDisplayProduct(InnerHit['_source'])),
92
+ ];
93
+ }
94
+ }
95
+ }
96
+ return accumulator;
97
+ }, {
98
+ groups: {},
99
+ sort: {},
100
+ });
101
+ const SortedGroups = Object.entries(DisplayFamilies['groups'])
102
+ .sort(([firstKey, firstVal], [secondKey, secondVal]) => {
103
+ const firstElSort = DisplayFamilies['sort'][firstKey];
104
+ const secondElSort = DisplayFamilies['sort'][secondKey];
105
+ if (firstElSort < secondElSort) {
106
+ return -1;
107
+ }
108
+ else if (firstElSort > secondElSort) {
109
+ return 1;
110
+ }
111
+ else {
112
+ return 0;
113
+ }
114
+ })
115
+ .map(([groupId, group]) => group);
116
+ // console.log({SortedGroups})
117
+ return SortedGroups;
118
+ }
119
+ else {
120
+ return [];
121
+ }
122
+ };
123
+
12
124
  const getProductCollection = async (context, params = {
13
125
  collectionId: 0,
14
126
  templateParams: {
@@ -31,12 +143,93 @@ const getProductCollection = async (context, params = {
31
143
  data: params,
32
144
  });
33
145
  const productCollection = (data?.data ?? []);
146
+ return { data: groupProductResult(productCollection) };
147
+ };
148
+
149
+ const getProductListing = async (context, params = {
150
+ collectionId: 0,
151
+ familyId: 0,
152
+ channelListingId: 0,
153
+ debug: false,
154
+ }) => {
155
+ const RequestURL = new URL('v2/vsf/product/variations', context.config.api.url);
156
+ const { data, status } = await context.client.request({
157
+ method: 'POST',
158
+ url: RequestURL.href,
159
+ data: params,
160
+ });
161
+ const productCollection = (data?.data ?? []);
34
162
  return { data: productCollection };
35
163
  };
36
164
 
165
+ const proxyInstantsearch = async (context, ...searchRequests) => {
166
+ // * Retrieve Brand & Category filters from Header
167
+ const brandHeaderIndex = (context?.req?.rawHeaders ?? []).indexOf('x-brand-id');
168
+ let brandId = 0;
169
+ if (brandHeaderIndex > -1) {
170
+ brandId = (context?.req?.rawHeaders?.[brandHeaderIndex + 1] ?? 0);
171
+ }
172
+ const categoryHeaderIndex = (context?.req?.rawHeaders ?? []).indexOf('x-category-id');
173
+ let categoryId = 0;
174
+ if (categoryHeaderIndex > -1) {
175
+ categoryId = (context?.req?.rawHeaders?.[categoryHeaderIndex + 1] ?? 0);
176
+ }
177
+ const RequestURL = new URL('v2/searchkit/proxy', context.config.api.url);
178
+ const { data, status } = await context.client.request({
179
+ method: 'POST',
180
+ url: RequestURL.href,
181
+ headers: {
182
+ 'X-Brand-Id': brandId,
183
+ 'X-Category-Id': categoryId,
184
+ },
185
+ data: Array.isArray(searchRequests) ? searchRequests : [searchRequests],
186
+ });
187
+ const FormattedResults = data.results.map((result, index) => {
188
+ if (index === 0 && (result?.hits ?? []).length > 0 && result.hits[0].id) {
189
+ return {
190
+ ...result,
191
+ hits: groupProductResult(result.hits),
192
+ };
193
+ }
194
+ else {
195
+ return result;
196
+ }
197
+ });
198
+ return {
199
+ results: FormattedResults,
200
+ };
201
+ };
202
+
203
+ const getCollection = async (context, params = {
204
+ collectionId: 0,
205
+ }) => {
206
+ const { collectionId = 0 } = params;
207
+ const RequestURL = new URL(`/blackfisk/collection/${collectionId}`, context.config.api.url);
208
+ const { data, status } = await context.client.request({
209
+ method: 'GET',
210
+ url: RequestURL.href,
211
+ });
212
+ const Collection = (data?.data ?? []);
213
+ return { data: (Collection?.[0] ?? null) };
214
+ };
215
+
216
+ const getProductFacets = async (context, params) => {
217
+ const RequestURL = new URL(`/v2/vsf/product/facets`, context.config.api.url);
218
+ const { data, status } = await context.client.request({
219
+ method: 'GET',
220
+ url: RequestURL.href,
221
+ });
222
+ const ProductFacets = (data?.data ?? []);
223
+ return { data: ProductFacets };
224
+ };
225
+
37
226
  var apiEndpoints = /*#__PURE__*/Object.freeze({
38
227
  __proto__: null,
39
- getProductCollection: getProductCollection
228
+ getProductCollection: getProductCollection,
229
+ getProductListing: getProductListing,
230
+ proxyInstantsearch: proxyInstantsearch,
231
+ getCollection: getCollection,
232
+ getProductFacets: getProductFacets
40
233
  });
41
234
 
42
235
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/api/getProductCollection/index.ts","../src/index.server.ts"],"sourcesContent":["import { Endpoints, SearchProduct } from '../../types';\nexport interface getProductCollectionTemplateParams {\n [key: string]: any,\n}\nexport interface getProductCollectionParams {\n collectionId: number | string,\n templateParams?: getProductCollectionTemplateParams,\n debug?: boolean,\n}\nexport interface getProductCollectionResponse {\n data: SearchProduct[],\n}\nexport const getProductCollection: Endpoints['getProductCollection'] = async (\n context,\n params: getProductCollectionParams = {\n collectionId: 0,\n templateParams: {\n id: 0,\n ids: [],\n term: '',\n familyId: 0,\n categoryId: 0,\n brandId: 0,\n pricingStrategy: '',\n conditionId: 0,\n limit: 0,\n },\n debug: false,\n }\n) => {\n const RequestURL = new URL('v2/vsf/productCollection', context.config.api.url);\n const { data, status } = await context.client.request({\n method: 'POST',\n url: RequestURL.href,\n data: params,\n })\n const productCollection = (data?.data ?? [])\n return { data: productCollection };\n};\n","import axios from 'axios';\nimport { apiClientFactory } from '@vue-storefront/middleware';\nimport { MiddlewareConfig } from './index';\nimport * as apiEndpoints from './api';\n\n/**\n * In here you should create the client you'll use to communicate with the backend.\n * Axios is just an example.\n */\nconst buildClient = (settings: MiddlewareConfig) => {\n const defaultSettings = {\n accountId: 0,\n channelId: 0,\n accountSiteId: 0,\n baseURL: '',\n }\n const axiosInstance = axios.create({\n baseURL: settings.api.url || defaultSettings.baseURL,\n // baseURL: settings.api.url,\n headers: {\n 'X-Account-Id': settings.accountId || defaultSettings.accountId,\n 'X-Channel-Id': settings.channelId || defaultSettings.channelId,\n 'X-Site-Id': settings.accountSiteId || defaultSettings.accountSiteId,\n authorization: `${settings.api.auth_jwt || process.env.SECURITY_TOKEN || ''}`\n },\n });\n return axiosInstance\n}\n\nconst onCreate = (settings: MiddlewareConfig) => {\n const client = buildClient(settings);\n return {\n config: settings,\n client\n };\n};\n\nconst { createApiClient } = apiClientFactory<any, any>({\n onCreate,\n api: apiEndpoints,\n});\n\nexport { createApiClient };\n"],"names":["axios","apiClientFactory"],"mappings":";;;;;;;;;;;AAYO,MAAM,oBAAoB,GAAsC,OACrE,OAAO,EACP,MAAqC,GAAA;AACnC,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,cAAc,EAAE;AACd,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,KAAK,EAAE,CAAC;AACT,KAAA;AACD,IAAA,KAAK,EAAE,KAAK;AACb,CAAA,KACC;AACF,IAAA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/E,IAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;AACpD,QAAA,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,UAAU,CAAC,IAAI;AACpB,QAAA,IAAI,EAAE,MAAM;AACb,KAAA,CAAC,CAAA;IACF,MAAM,iBAAiB,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;AAC5C,IAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;AACrC,CAAC;;;;;;;ACjCD;;;AAGG;AACH,MAAM,WAAW,GAAG,CAAC,QAA0B,KAAI;AACjD,IAAA,MAAM,eAAe,GAAG;AACtB,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,OAAO,EAAE,EAAE;KACZ,CAAA;AACD,IAAA,MAAM,aAAa,GAAGA,yBAAK,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC,OAAO;;AAEpD,QAAA,OAAO,EAAE;AACP,YAAA,cAAc,EAAE,QAAQ,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS;AAC/D,YAAA,cAAc,EAAE,QAAQ,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS;AAC/D,YAAA,WAAW,EAAE,QAAQ,CAAC,aAAa,IAAI,eAAe,CAAC,aAAa;AACpE,YAAA,aAAa,EAAE,CAAA,EAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAE,CAAA;AAC9E,SAAA;AACF,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,QAA0B,KAAI;AAC9C,IAAA,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO;AACL,QAAA,MAAM,EAAE,QAAQ;QAChB,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,EAAE,eAAe,EAAE,GAAGC,2BAAgB,CAAW;IACrD,QAAQ;AACR,IAAA,GAAG,EAAE,YAAY;AAClB,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../utils/elasticsearch/productGroup.ts","../src/api/getProductCollection/index.ts","../src/api/getProductListing/index.ts","../src/api/proxyInstantsearch/index.ts","../src/api/getCollection/index.ts","../src/api/getProductFacets/index.ts","../src/index.server.ts"],"sourcesContent":["import type { SearchProductHit, SearchProduct } from '@blackfisk/blackfisk-vue-storefront-api/src/types/api'\nexport interface DisplayProductImage {\n src: string,\n url: string,\n alt: string,\n}\nexport interface DisplayProduct {\n id: number,\n slug: string,\n name: string,\n groupId: number,\n price: string,\n img: DisplayProductImage,\n}\nexport interface DisplayProductGroup {\n groupId: number,\n groupName: string,\n brandName: string,\n groupPriceLow: number,\n groupPriceHigh: number,\n products: DisplayProduct[],\n}\nexport const groupProductResult = (ProductResult: SearchProductHit) => {\n const ProductCollectionItems:SearchProductHit[] = (Array.isArray(ProductResult) ? ProductResult : [ProductResult]);\n if (ProductCollectionItems.length > 0) {\n const formatDisplayProductImage = (ProductCollectionItem: SearchProduct) => {\n const primaryImage = ProductCollectionItem.images?.[0] ?? { public_id: '', alt: '', url: '' }\n return {\n src: primaryImage.public_id,\n url: primaryImage.url,\n alt: primaryImage.alt,\n }\n }\n const formatDisplayProduct = (ProductCollectionItem: SearchProduct) => {\n return {\n id: ProductCollectionItem.id,\n slug: ProductCollectionItem.slug,\n name: ProductCollectionItem.heading || ProductCollectionItem.productName,\n price: `$${ProductCollectionItem.priceSale}`,\n groupId: ProductCollectionItem.familyId,\n img: formatDisplayProductImage(ProductCollectionItem),\n }\n }\n // console.log({ProductCollectionItem: ProductCollectionItems[0]})\n const isGroupRepresented = {}\n let sortOrder = 0\n const DisplayFamilies: any = ProductCollectionItems\n .reduce((accumulator: {'groups': {[groupId: number | string]: DisplayProductGroup}, 'sort': {[groupId: number | string]: number}}, ProductCollectionItemHit: SearchProductHit | SearchProduct) => {\n const ProductCollectionItem = ProductCollectionItemHit['_source'] || ProductCollectionItemHit\n if (ProductCollectionItem) {\n if (ProductCollectionItem?.familyId > 0) {\n if (!accumulator['groups'][ProductCollectionItem.familyId]) {\n isGroupRepresented[ProductCollectionItem.familyId] = false\n accumulator['sort'][ProductCollectionItem.familyId] = sortOrder\n sortOrder++\n accumulator['groups'][ProductCollectionItem.familyId] = {\n groupId: ProductCollectionItem.familyId,\n groupName: ProductCollectionItem.parentName,\n brandName: ProductCollectionItem.brandName,\n groupPriceLow: ProductCollectionItem.priceSale,\n groupPriceHigh: ProductCollectionItem.priceSale,\n products: [formatDisplayProduct(ProductCollectionItem)],\n }\n } else {\n if (ProductCollectionItem.priceSale < accumulator['groups'][ProductCollectionItem.familyId].groupPriceLow) {\n accumulator['groups'][ProductCollectionItem.familyId].groupPriceLow = ProductCollectionItem.priceSale\n }\n if (ProductCollectionItem.priceSale > accumulator['groups'][ProductCollectionItem.familyId].groupPriceHigh) {\n accumulator['groups'][ProductCollectionItem.familyId].groupPriceHigh = ProductCollectionItem.priceSale\n }\n // accumulator['groups'][ProductCollectionItem.familyId].products.push()\n }\n const InnerHits = (ProductCollectionItemHit?.['inner_hits']?.['family']?.['hits']?.['hits'] ?? [])\n if (InnerHits.length > 0) {\n accumulator['groups'][ProductCollectionItem.familyId]['products'] = [\n ...accumulator['groups'][ProductCollectionItem.familyId]['products'],\n ...InnerHits\n .filter((InnerHit) => InnerHit['_source']['id'] !== ProductCollectionItem.id)\n .map((InnerHit) => formatDisplayProduct(InnerHit['_source'])),\n ]\n }\n } else if (!accumulator['groups'][`S${ProductCollectionItem.id}`]) {\n isGroupRepresented[`S${ProductCollectionItem.id}`] = false\n accumulator['sort'][`S${ProductCollectionItem.id}`] = sortOrder\n sortOrder++\n accumulator['groups'][`S${ProductCollectionItem.id}`] = {\n groupId: ProductCollectionItem.familyId,\n groupName: ProductCollectionItem.heading || ProductCollectionItem.productName,\n brandName: ProductCollectionItem.brandName,\n groupPriceLow: ProductCollectionItem.priceSale,\n groupPriceHigh: ProductCollectionItem.priceSale,\n products: [formatDisplayProduct(ProductCollectionItem)],\n }\n const InnerHits = (ProductCollectionItemHit?.['inner_hits']?.['family']?.['hits']?.['hits'] ?? [])\n if (InnerHits.length > 0) {\n accumulator['groups'][`S${ProductCollectionItem.id}`]['products'] = [\n ...accumulator['groups'][`S${ProductCollectionItem.id}`]['products'],\n ...InnerHits\n .filter((InnerHit) => InnerHit['_source']['id'] !== ProductCollectionItem.id)\n .map((InnerHit) => formatDisplayProduct(InnerHit['_source'])),\n ]\n }\n }\n }\n return accumulator\n }, {\n groups: {},\n sort: {},\n })\n const SortedGroups = Object.entries(DisplayFamilies['groups'])\n .sort(([firstKey, firstVal]: any, [secondKey, secondVal]: any) => {\n const firstElSort = DisplayFamilies['sort'][firstKey]\n const secondElSort = DisplayFamilies['sort'][secondKey]\n if (firstElSort < secondElSort) {\n return -1\n } else if (firstElSort > secondElSort) {\n return 1\n } else {\n return 0\n }\n })\n .map(([groupId, group]) => group)\n // console.log({SortedGroups})\n return SortedGroups\n } else {\n return []\n }\n}\n","import { Endpoints } from '../../types';\nimport { groupProductResult } from 'utils/elasticsearch/productGroup'\n// import type { DisplayProductGroup } from 'utils/elasticsearch/productGroup'\nexport interface getProductCollectionTemplateParams {\n [key: string]: any,\n}\nexport interface getProductCollectionParams {\n collectionId: number | string,\n templateParams?: getProductCollectionTemplateParams,\n debug?: boolean,\n}\nexport interface getProductCollectionResponse {\n data: any[],\n}\n\nexport const getProductCollection: Endpoints['getProductCollection'] = async (\n context,\n params: getProductCollectionParams = {\n collectionId: 0,\n templateParams: {\n id: 0,\n ids: [],\n term: '',\n familyId: 0,\n categoryId: 0,\n brandId: 0,\n pricingStrategy: '',\n conditionId: 0,\n limit: 0,\n },\n debug: false,\n }\n) => {\n const RequestURL = new URL('v2/vsf/productCollection', context.config.api.url);\n const { data, status } = await context.client.request({\n method: 'POST',\n url: RequestURL.href,\n data: params,\n })\n const productCollection = (data?.data ?? [])\n return { data: groupProductResult(productCollection) };\n};\n","import { Endpoints, ProductListing } from '../../types';\nexport interface getProductListingTemplateParams {\n [key: string]: any,\n}\nexport interface getProductListingParams {\n collectionId: number | string,\n familyId: number | string,\n channelListingId: number | string,\n debug?: boolean,\n}\nexport interface getProductListingResponse {\n data: ProductListing[],\n}\nexport const getProductListing: Endpoints['getProductListing'] = async (\n context,\n params: getProductListingParams = {\n collectionId: 0,\n familyId: 0,\n channelListingId: 0,\n debug: false,\n }\n) => {\n const RequestURL = new URL('v2/vsf/product/variations', context.config.api.url);\n const { data, status } = await context.client.request({\n method: 'POST',\n url: RequestURL.href,\n data: params,\n })\n const productCollection = (data?.data ?? [])\n return { data: productCollection };\n};\n","import { Endpoints } from '../../types';\nimport { groupProductResult } from 'utils/elasticsearch/productGroup'\n\nexport interface proxyInstantsearchResponse {\n results: any[],\n}\n\nexport const proxyInstantsearch: Endpoints['proxyInstantsearch'] = async (\n context,\n ...searchRequests\n) => {\n // * Retrieve Brand & Category filters from Header\n const brandHeaderIndex = (context?.req?.rawHeaders ?? []).indexOf('x-brand-id')\n let brandId = 0\n if (brandHeaderIndex > -1) {\n brandId = (context?.req?.rawHeaders?.[brandHeaderIndex + 1] ?? 0)\n }\n const categoryHeaderIndex = (context?.req?.rawHeaders ?? []).indexOf('x-category-id')\n let categoryId = 0\n if (categoryHeaderIndex > -1) {\n categoryId = (context?.req?.rawHeaders?.[categoryHeaderIndex + 1] ?? 0)\n }\n\n const RequestURL = new URL('v2/searchkit/proxy', context.config.api.url);\n const { data, status } = await context.client.request({\n method: 'POST',\n url: RequestURL.href,\n headers: {\n 'X-Brand-Id': brandId,\n 'X-Category-Id': categoryId,\n },\n data: Array.isArray(searchRequests) ? searchRequests : [searchRequests],\n })\n const FormattedResults = data.results.map((result: any, index: number) => {\n if (index === 0 && (result?.hits ?? []).length > 0 && result.hits[0].id) {\n return {\n ...result,\n hits: groupProductResult(result.hits),\n }\n } else {\n return result\n }\n });\n return {\n results: FormattedResults,\n }\n};\n","import { Endpoints } from '../../types';\nexport interface getCollectionParams {\n collectionId: number\n}\nexport interface getCollectionResponse {\n data: any\n}\nexport const getCollection: Endpoints['getCollection'] = async (\n context,\n params = {\n collectionId: 0,\n },\n) => {\n const { collectionId = 0 } = params\n const RequestURL = new URL(`/blackfisk/collection/${collectionId}`, context.config.api.url);\n const { data, status } = await context.client.request({\n method: 'GET',\n url: RequestURL.href,\n })\n const Collection = (data?.data ?? [])\n return { data: (Collection?.[0] ?? null) };\n};\n","import { Endpoints } from '../../types';\n\nexport const getProductFacets: Endpoints['getProductFacets'] = async (\n context,\n params\n) => {\n const RequestURL = new URL(`/v2/vsf/product/facets`, context.config.api.url);\n const { data, status } = await context.client.request({\n method: 'GET',\n url: RequestURL.href,\n });\n const ProductFacets = (data?.data ?? []);\n return { data: ProductFacets };\n};\n","import axios from 'axios';\nimport { apiClientFactory } from '@vue-storefront/middleware';\nimport { MiddlewareConfig } from './index';\nimport * as apiEndpoints from './api';\n\n/**\n * In here you should create the client you'll use to communicate with the backend.\n * Axios is just an example.\n */\nconst buildClient = (settings: MiddlewareConfig) => {\n const defaultSettings = {\n accountId: 0,\n channelId: 0,\n accountSiteId: 0,\n baseURL: '',\n }\n const axiosInstance = axios.create({\n baseURL: settings.api.url || defaultSettings.baseURL,\n // baseURL: settings.api.url,\n headers: {\n 'X-Account-Id': settings.accountId || defaultSettings.accountId,\n 'X-Channel-Id': settings.channelId || defaultSettings.channelId,\n 'X-Site-Id': settings.accountSiteId || defaultSettings.accountSiteId,\n authorization: `${settings.api.auth_jwt || process.env.SECURITY_TOKEN || ''}`\n },\n });\n return axiosInstance\n}\n\nconst onCreate = (settings: MiddlewareConfig) => {\n const client = buildClient(settings);\n return {\n config: settings,\n client\n };\n};\n\nconst { createApiClient } = apiClientFactory<any, any>({\n onCreate,\n api: apiEndpoints,\n});\n\nexport { createApiClient };\n"],"names":["axios","apiClientFactory"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Endpoints } from '../../types';
2
+ export interface getCollectionParams {
3
+ collectionId: number;
4
+ }
5
+ export interface getCollectionResponse {
6
+ data: any;
7
+ }
8
+ export declare const getCollection: Endpoints['getCollection'];
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;CACrB;AACD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,GAAG,CAAA;CACV;AACD,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,eAAe,CAcpD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Endpoints, SearchProduct } from '../../types';
1
+ import { Endpoints } from '../../types';
2
2
  export interface getProductCollectionTemplateParams {
3
3
  [key: string]: any;
4
4
  }
@@ -8,7 +8,7 @@ export interface getProductCollectionParams {
8
8
  debug?: boolean;
9
9
  }
10
10
  export interface getProductCollectionResponse {
11
- data: SearchProduct[];
11
+ data: any[];
12
12
  }
13
13
  export declare const getProductCollection: Endpoints['getProductCollection'];
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getProductCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,WAAW,kCAAkC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,kCAAkC,CAAC;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAAC,sBAAsB,CA0BlE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Endpoints } from '../../types';
2
+ export declare const getProductFacets: Endpoints['getProductFacets'];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getProductFacets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,CAW1D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Endpoints, ProductListing } from '../../types';
2
+ export interface getProductListingTemplateParams {
3
+ [key: string]: any;
4
+ }
5
+ export interface getProductListingParams {
6
+ collectionId: number | string;
7
+ familyId: number | string;
8
+ channelListingId: number | string;
9
+ debug?: boolean;
10
+ }
11
+ export interface getProductListingResponse {
12
+ data: ProductListing[];
13
+ }
14
+ export declare const getProductListing: Endpoints['getProductListing'];
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/getProductListing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,MAAM,WAAW,+BAA+B;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AACD,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,mBAAmB,CAiB5D,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { getProductCollection } from './getProductCollection';
2
+ export { getProductListing } from './getProductListing';
3
+ export { proxyInstantsearch } from './proxyInstantsearch';
4
+ export { getCollection } from './getCollection';
5
+ export { getProductFacets } from './getProductFacets';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Endpoints } from '../../types';
2
+ export interface proxyInstantsearchResponse {
3
+ results: any[];
4
+ }
5
+ export declare const proxyInstantsearch: Endpoints['proxyInstantsearch'];
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/proxyInstantsearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,GAAG,EAAE,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,oBAAoB,CAuC9D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../../src/index.server.ts"],"names":[],"mappings":"AAqCA,QAAA,MAAQ,eAAe,kEAGrB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BfskIntegrationContext, TODO } from '..';
2
+ import { getProductCollectionParams, getProductCollectionResponse } from '../../api/getProductCollection/index';
3
+ import { getProductListingParams, getProductListingResponse } from '../../api/getProductListing/index';
4
+ import { proxyInstantsearchResponse } from '../../api/proxyInstantsearch/index';
5
+ import { getCollectionParams, getCollectionResponse } from '../../api/getCollection/index';
6
+ /**
7
+ * Definition of all API-client methods available in {@link https://docs.vuestorefront.io/v2/advanced/context.html#context-api | context}.
8
+ */
9
+ export interface Endpoints {
10
+ /**
11
+ * Here you can find an example endpoint definition. Based on this example, you should define how your endpoint will look like.
12
+ * This description will appear in the API extractor, so try to document all endpoints added here.
13
+ */
14
+ getProductCollection(context: BfskIntegrationContext, params: getProductCollectionParams): Promise<getProductCollectionResponse>;
15
+ getProductListing(context: BfskIntegrationContext, params: getProductListingParams): Promise<getProductListingResponse>;
16
+ proxyInstantsearch(context: BfskIntegrationContext, params: any): Promise<proxyInstantsearchResponse>;
17
+ getCollection(context: BfskIntegrationContext, params: getCollectionParams): Promise<getCollectionResponse>;
18
+ getProductFacets(context: BfskIntegrationContext, params: TODO): Promise<TODO>;
19
+ }
20
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../../../src/types/api/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAC/G,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AACtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1F;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACjI,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxH,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACtG,aAAa,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5G,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF"}
@@ -14,6 +14,11 @@ export interface SearchProductCondition {
14
14
  name: string;
15
15
  description: string;
16
16
  }
17
+ export interface Color {
18
+ color: string;
19
+ hex: string;
20
+ hsl: string;
21
+ }
17
22
  export interface SearchProductImage {
18
23
  url: string;
19
24
  public_id: string;
@@ -34,7 +39,7 @@ export interface SearchProduct {
34
39
  categoryIds: number[];
35
40
  categoryName: string;
36
41
  channelId: number;
37
- colors: [];
42
+ colors: Color[];
38
43
  condition: SearchProductCondition;
39
44
  description: string;
40
45
  familyId: number;
@@ -58,5 +63,22 @@ export interface SearchProduct {
58
63
  title: string;
59
64
  upc: string;
60
65
  }
66
+ export interface SearchProductHit {
67
+ _index: string;
68
+ _id: string;
69
+ _score: number;
70
+ _ignored: string[];
71
+ _source: SearchProduct;
72
+ inner_hits: {
73
+ family: {
74
+ hits: {
75
+ hits: SearchProduct[];
76
+ };
77
+ };
78
+ };
79
+ }
80
+ export interface ProductListing {
81
+ [key: string]: any;
82
+ }
61
83
  export * from './endpoints';
62
84
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,IAAI,EAAE,sBAAsB,EAAE,CAAC;IAC/B,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,2BAA2B,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,sBAAsB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,iBAAiB,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE;QACV,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,aAAa,EAAE,CAAC;aACvB,CAAA;SACF,CAAA;KACF,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/types/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,UAAU,mBAAmB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAgB;IAE/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,mBAAmB,CAAC;CAC1B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/types/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAErE;;IAEI;AACJ,oBAAY,sBAAsB,GAAG,kBAAkB,CACrD,aAAa,EACb,gBAAgB,EAChB,uBAAuB,CACxB,CAAC;AAEF;;IAEI;AACJ,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,sBAAsB,CAAC;CAC/B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;GAEG;AACH,oBAAY,uBAAuB,GAAG;KACnC,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC,EAAE,GAAG,EACN,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,MAAM,CAAC,GACR,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,KAAK;CACV,CAAC;AAEF,oBAAY,IAAI,GAAG,GAAG,CAAC;AAEvB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SearchProductHit } from '@blackfisk/blackfisk-vue-storefront-api/src/types/api';
2
+ export interface DisplayProductImage {
3
+ src: string;
4
+ url: string;
5
+ alt: string;
6
+ }
7
+ export interface DisplayProduct {
8
+ id: number;
9
+ slug: string;
10
+ name: string;
11
+ groupId: number;
12
+ price: string;
13
+ img: DisplayProductImage;
14
+ }
15
+ export interface DisplayProductGroup {
16
+ groupId: number;
17
+ groupName: string;
18
+ brandName: string;
19
+ groupPriceLow: number;
20
+ groupPriceHigh: number;
21
+ products: DisplayProduct[];
22
+ }
23
+ export declare const groupProductResult: (ProductResult: SearchProductHit) => unknown[];
24
+ //# sourceMappingURL=productGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productGroup.d.ts","sourceRoot":"","sources":["../../../../../utils/elasticsearch/productGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,uDAAuD,CAAA;AAC5G,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,mBAAmB,CAAC;CAC1B;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AACD,eAAO,MAAM,kBAAkB,kBAAmB,gBAAgB,cAyGjE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getProductCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,MAAM,WAAW,kCAAkC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,kCAAkC,CAAC;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AACD,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAAC,sBAAsB,CA0BlE,CAAC"}
@@ -1,2 +0,0 @@
1
- export { getProductCollection } from './getProductCollection';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AAqCA,QAAA,MAAQ,eAAe,kEAGrB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- import { BfskIntegrationContext } from '..';
2
- import { getProductCollectionParams, getProductCollectionResponse } from '../../api/getProductCollection/index';
3
- /**
4
- * Definition of all API-client methods available in {@link https://docs.vuestorefront.io/v2/advanced/context.html#context-api | context}.
5
- */
6
- export interface Endpoints {
7
- /**
8
- * Here you can find an example endpoint definition. Based on this example, you should define how your endpoint will look like.
9
- * This description will appear in the API extractor, so try to document all endpoints added here.
10
- */
11
- getProductCollection(context: BfskIntegrationContext, params: getProductCollectionParams): Promise<getProductCollectionResponse>;
12
- }
13
- //# sourceMappingURL=endpoints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/types/api/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAQ,MAAM,IAAI,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAE/G;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAClI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,IAAI,EAAE,sBAAsB,EAAE,CAAC;IAC/B,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,2BAA2B,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,EAAE,CAAC;IACX,SAAS,EAAE,sBAAsB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,iBAAiB,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AACD,cAAc,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,UAAU,mBAAmB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAgB;IAE/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,mBAAmB,CAAC;CAC1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAErE;;IAEI;AACJ,oBAAY,sBAAsB,GAAG,kBAAkB,CACrD,aAAa,EACb,gBAAgB,EAChB,uBAAuB,CACxB,CAAC;AAEF;;IAEI;AACJ,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,sBAAsB,CAAC;CAC/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;GAEG;AACH,oBAAY,uBAAuB,GAAG;KACnC,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC,EAAE,GAAG,EACN,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,MAAM,CAAC,GACR,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,KAAK;CACV,CAAC;AAEF,oBAAY,IAAI,GAAG,GAAG,CAAC;AAEvB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getProductCollection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,MAAM,WAAW,kCAAkC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,kCAAkC,CAAC;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AACD,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAAC,sBAAsB,CA0BlE,CAAC"}
@@ -1,2 +0,0 @@
1
- export { getProductCollection } from './getProductCollection';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AAqCA,QAAA,MAAQ,eAAe,kEAGrB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- import { BfskIntegrationContext } from '..';
2
- import { getProductCollectionParams, getProductCollectionResponse } from '../../api/getProductCollection/index';
3
- /**
4
- * Definition of all API-client methods available in {@link https://docs.vuestorefront.io/v2/advanced/context.html#context-api | context}.
5
- */
6
- export interface Endpoints {
7
- /**
8
- * Here you can find an example endpoint definition. Based on this example, you should define how your endpoint will look like.
9
- * This description will appear in the API extractor, so try to document all endpoints added here.
10
- */
11
- getProductCollection(context: BfskIntegrationContext, params: getProductCollectionParams): Promise<getProductCollectionResponse>;
12
- }
13
- //# sourceMappingURL=endpoints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/types/api/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAQ,MAAM,IAAI,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAE/G;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAClI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,IAAI,EAAE,sBAAsB,EAAE,CAAC;IAC/B,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,iBAAiB;CAAG;AACrC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,2BAA2B,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,EAAE,CAAC;IACX,SAAS,EAAE,sBAAsB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,iBAAiB,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AACD,cAAc,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,UAAU,mBAAmB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAgB;IAE/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,mBAAmB,CAAC;CAC1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAErE;;IAEI;AACJ,oBAAY,sBAAsB,GAAG,kBAAkB,CACrD,aAAa,EACb,gBAAgB,EAChB,uBAAuB,CACxB,CAAC;AAEF;;IAEI;AACJ,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,sBAAsB,CAAC;CAC/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;GAEG;AACH,oBAAY,uBAAuB,GAAG;KACnC,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC,EAAE,GAAG,EACN,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,MAAM,CAAC,GACR,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,KAAK;CACV,CAAC;AAEF,oBAAY,IAAI,GAAG,GAAG,CAAC;AAEvB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}