@daffodil/external-router 0.79.0 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/driver/magento/2.4.3/magento.service.d.ts +2 -1
  2. package/driver/magento/2.4.3/transforms/schema/category/category.d.ts +2 -0
  3. package/driver/magento/2.4.3/transforms/schema/clientify-url-path.d.ts +1 -0
  4. package/driver/magento/2.4.3/transforms/schema/product/base.d.ts +2 -0
  5. package/driver/magento/2.4.3/transforms/schema/product/bundle.d.ts +2 -0
  6. package/driver/magento/2.4.3/transforms/schema/product/configurable.d.ts +2 -0
  7. package/driver/magento/2.4.3/transforms/schema/product/product.d.ts +5 -0
  8. package/driver/magento/2.4.3/transforms/schema/product/simple.d.ts +2 -0
  9. package/driver/magento/2.4.3/transforms/schema/rescale-rating.d.ts +5 -0
  10. package/driver/magento/2.4.3/transforms/schema/transform-schema.d.ts +2 -0
  11. package/driver/magento/2.4.3/transforms/transform-client-urls.d.ts +2 -0
  12. package/driver/magento/model/category-route-product.d.ts +77 -0
  13. package/driver/magento/model/category-route.d.ts +41 -0
  14. package/driver/magento/model/product-route.d.ts +85 -0
  15. package/driver/magento/model/public_api.d.ts +2 -0
  16. package/driver/magento/model/routable.d.ts +14 -0
  17. package/driver/magento/model/route.d.ts +4 -34
  18. package/esm2022/driver/magento/2.4.3/graphql/queries/resolve.mjs +66 -2
  19. package/esm2022/driver/magento/2.4.3/magento.service.mjs +12 -6
  20. package/esm2022/driver/magento/2.4.3/transforms/resolution-to-resolvable-url.mjs +7 -3
  21. package/esm2022/driver/magento/2.4.3/transforms/schema/category/category.mjs +15 -0
  22. package/esm2022/driver/magento/2.4.3/transforms/schema/clientify-url-path.mjs +2 -0
  23. package/esm2022/driver/magento/2.4.3/transforms/schema/product/base.mjs +16 -0
  24. package/esm2022/driver/magento/2.4.3/transforms/schema/product/bundle.mjs +11 -0
  25. package/esm2022/driver/magento/2.4.3/transforms/schema/product/configurable.mjs +11 -0
  26. package/esm2022/driver/magento/2.4.3/transforms/schema/product/product.mjs +20 -0
  27. package/esm2022/driver/magento/2.4.3/transforms/schema/product/simple.mjs +25 -0
  28. package/esm2022/driver/magento/2.4.3/transforms/schema/rescale-rating.mjs +6 -0
  29. package/esm2022/driver/magento/2.4.3/transforms/schema/transform-schema.mjs +13 -0
  30. package/esm2022/driver/magento/2.4.3/transforms/transform-client-urls.mjs +28 -0
  31. package/esm2022/driver/magento/model/category-route-product.mjs +2 -0
  32. package/esm2022/driver/magento/model/category-route.mjs +2 -0
  33. package/esm2022/driver/magento/model/product-route.mjs +2 -0
  34. package/esm2022/driver/magento/model/public_api.mjs +1 -1
  35. package/esm2022/driver/magento/model/routable.mjs +2 -0
  36. package/esm2022/driver/magento/model/route.mjs +1 -1
  37. package/esm2022/model/route-data.mjs +1 -1
  38. package/fesm2022/daffodil-external-router-driver-magento-2.4.3.mjs +215 -9
  39. package/fesm2022/daffodil-external-router-driver-magento-2.4.3.mjs.map +1 -1
  40. package/model/route-data.d.ts +13 -0
  41. package/package.json +1 -1
@@ -11,7 +11,8 @@ import * as i0 from "@angular/core";
11
11
  */
12
12
  export declare class DaffExternalRouterMagentoDriver implements DaffExternalRouterDriverInterface {
13
13
  private apollo;
14
- constructor(apollo: Apollo);
14
+ private document;
15
+ constructor(apollo: Apollo, document: Document);
15
16
  resolve(url: string): Observable<DaffExternallyResolvableUrl>;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<DaffExternalRouterMagentoDriver, never>;
17
18
  static ɵprov: i0.ɵɵInjectableDeclaration<DaffExternalRouterMagentoDriver>;
@@ -0,0 +1,2 @@
1
+ import { MagentoCategoryRoute } from '@daffodil/external-router/driver/magento';
2
+ export declare const transformMagentoCategorySchema: (resolution: MagentoCategoryRoute) => Record<string, unknown>;
@@ -0,0 +1 @@
1
+ export declare const clientifyUrlPath: <T extends string | null>(path: T, domain: string) => string;
@@ -0,0 +1,2 @@
1
+ import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';
2
+ export declare const transformMagentoBaseProduct: (product: MagentoProductRoute) => Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';
2
+ export declare const transformMagentoBundleProduct: (resolution: MagentoProductRoute) => Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';
2
+ export declare const transformMagentoConfigurableProduct: (resolution: MagentoProductRoute) => Record<string, unknown>;
@@ -0,0 +1,5 @@
1
+ import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';
2
+ /**
3
+ * Computes supplementary SEO schema for Magento product routes.
4
+ */
5
+ export declare const transformMagentoProductSchema: (resolution: MagentoProductRoute) => Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';
2
+ export declare const transformMagentoSimpleProduct: (resolution: MagentoProductRoute) => Record<string, unknown>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Rescales a rating value from it's max rating
3
+ * to a scale of 5.
4
+ */
5
+ export declare const rescaleRatingOutOf5: (rating: number | null, max: number) => string;
@@ -0,0 +1,2 @@
1
+ import { MagentoRoute } from '@daffodil/external-router/driver/magento';
2
+ export declare const transformSchema: (resolution: MagentoRoute) => Record<string, any> | null;
@@ -0,0 +1,2 @@
1
+ import { MagentoRoute } from '@daffodil/external-router/driver/magento';
2
+ export declare const transformClientUrls: <T extends MagentoRoute>(route: T, origin: string) => T;
@@ -0,0 +1,77 @@
1
+ export interface MagentoCategoryRouteProduct {
2
+ /**
3
+ * The relative path for the route.
4
+ */
5
+ relative_url: string;
6
+ /**
7
+ * The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
8
+ */
9
+ type: 'PRODUCT';
10
+ /**
11
+ * The HTTP code for the page.
12
+ */
13
+ redirect_code: number;
14
+ /**
15
+ * In v2.4.3 this became the standard field across types
16
+ */
17
+ uid: string;
18
+ /**
19
+ * The canonical url of the route.
20
+ */
21
+ canonical_url: string | null;
22
+ /**
23
+ * The name of the route
24
+ */
25
+ name: string | null;
26
+ /**
27
+ * The title of the route
28
+ */
29
+ meta_title: string | null;
30
+ /**
31
+ * The sku of a product.
32
+ */
33
+ sku: string;
34
+ /**
35
+ * The number of reviews of a product.
36
+ */
37
+ review_count: number;
38
+ /**
39
+ * The rating of a product.
40
+ */
41
+ rating_summary: number;
42
+ /**
43
+ * The images of a product.
44
+ */
45
+ image: {
46
+ url: string;
47
+ };
48
+ /**
49
+ * The price of the item.
50
+ */
51
+ price_range: {
52
+ maximum_price: {
53
+ final_price: {
54
+ currency: string;
55
+ value: number;
56
+ };
57
+ regular_price: {
58
+ currency: string;
59
+ value: number;
60
+ };
61
+ };
62
+ minimum_price: {
63
+ final_price: {
64
+ currency: string;
65
+ value: number;
66
+ };
67
+ regular_price: {
68
+ currency: string;
69
+ value: number;
70
+ };
71
+ };
72
+ };
73
+ /**
74
+ * The type of route.
75
+ */
76
+ __typename: string;
77
+ }
@@ -0,0 +1,41 @@
1
+ import { MagentoCategoryRouteProduct } from './category-route-product';
2
+ export interface MagentoCategoryRoute {
3
+ /**
4
+ * The relative path for the route.
5
+ */
6
+ relative_url: string;
7
+ /**
8
+ * The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
9
+ */
10
+ type: 'CATEGORY';
11
+ /**
12
+ * The HTTP code for the page.
13
+ */
14
+ redirect_code: number;
15
+ /**
16
+ * In v2.4.3 this became the standard field across types
17
+ */
18
+ uid?: string;
19
+ /**
20
+ * The canonical url of the route.
21
+ */
22
+ canonical_url?: string;
23
+ /**
24
+ * The meta description of the route
25
+ */
26
+ meta_description?: string;
27
+ /**
28
+ * The name of the route
29
+ */
30
+ name?: string;
31
+ /**
32
+ * The title of the route
33
+ */
34
+ meta_title?: string;
35
+ /**
36
+ * The list of items in the category.
37
+ */
38
+ products: {
39
+ items: MagentoCategoryRouteProduct[];
40
+ };
41
+ }
@@ -0,0 +1,85 @@
1
+ export interface MagentoProductRoute {
2
+ /**
3
+ * The relative path for the route.
4
+ */
5
+ relative_url: string;
6
+ /**
7
+ * The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
8
+ */
9
+ type: 'PRODUCT';
10
+ /**
11
+ * The HTTP code for the page.
12
+ */
13
+ redirect_code: number;
14
+ /**
15
+ * In v2.4.3 this became the standard field across types
16
+ */
17
+ uid: string;
18
+ /**
19
+ * The canonical url of the route.
20
+ */
21
+ canonical_url: string | null;
22
+ /**
23
+ * The meta description of the route
24
+ */
25
+ meta_description: string | null;
26
+ /**
27
+ * The name of the route
28
+ */
29
+ name: string;
30
+ /**
31
+ * The title of the route
32
+ */
33
+ meta_title: string | null;
34
+ /**
35
+ * The sku of a product.
36
+ */
37
+ sku: string;
38
+ /**
39
+ * The number of reviews of a product.
40
+ */
41
+ review_count: number | null;
42
+ /**
43
+ * The rating of a product.
44
+ */
45
+ rating_summary: number | null;
46
+ /**
47
+ * The images of a product.
48
+ */
49
+ image?: {
50
+ url: string;
51
+ };
52
+ /**
53
+ * The type of route.
54
+ */
55
+ __typename: string;
56
+ /**
57
+ * The price of the item.
58
+ */
59
+ price_range: {
60
+ maximum_price: {
61
+ final_price: {
62
+ currency: string;
63
+ value: number;
64
+ };
65
+ regular_price: {
66
+ currency: string;
67
+ value: number;
68
+ };
69
+ };
70
+ minimum_price: {
71
+ final_price: {
72
+ currency: string;
73
+ value: number;
74
+ };
75
+ regular_price: {
76
+ currency: string;
77
+ value: number;
78
+ };
79
+ };
80
+ };
81
+ /**
82
+ * The stock status of a product.
83
+ */
84
+ stock_status: 'IN_STOCK' | 'OUT_OF_STOCK';
85
+ }
@@ -3,3 +3,5 @@ export { MagentoUrlRewriteEntityTypeEnum } from './resolution-types';
3
3
  export { MagentoUrlResolverResponse } from './url-resolver-response';
4
4
  export { MagentoRoute } from './route';
5
5
  export { MagentoRouteResponse } from './route-response';
6
+ export { MagentoProductRoute } from './product-route';
7
+ export { MagentoCategoryRoute } from './category-route';
@@ -0,0 +1,14 @@
1
+ export interface MagentoRoutable {
2
+ /**
3
+ * The relative path for the route.
4
+ */
5
+ relative_url: string;
6
+ /**
7
+ * The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
8
+ */
9
+ type: 'UNKNOWN' | null;
10
+ /**
11
+ * The HTTP code for the page.
12
+ */
13
+ redirect_code: number;
14
+ }
@@ -1,34 +1,4 @@
1
- export interface MagentoRoute {
2
- /**
3
- * The relative path for the route.
4
- */
5
- relative_url: string;
6
- /**
7
- * The type of route, typically PRODUCT, CATEGORY or CMS_PAGE
8
- */
9
- type: string;
10
- /**
11
- * The HTTP code for the page.
12
- */
13
- redirect_code: number;
14
- /**
15
- * In v2.4.3 this became the standard field across types
16
- */
17
- uid?: string;
18
- /**
19
- * The canonical url of the route.
20
- */
21
- canonical_url?: string;
22
- /**
23
- * The meta description of the route
24
- */
25
- meta_description?: string;
26
- /**
27
- * The name of the route
28
- */
29
- name?: string;
30
- /**
31
- * The title of the route
32
- */
33
- meta_title?: string;
34
- }
1
+ import { MagentoCategoryRoute } from './category-route';
2
+ import { MagentoProductRoute } from './product-route';
3
+ import { MagentoRoutable } from './routable';
4
+ export type MagentoRoute = MagentoRoutable | MagentoProductRoute | MagentoCategoryRoute;
@@ -13,9 +13,44 @@ export const MagentoResolveUrlv243 = gql `
13
13
  ... on CategoryInterface {
14
14
  uid
15
15
  name
16
- meta_description
17
16
  meta_title
18
17
  canonical_url
18
+ products {
19
+ items {
20
+ name
21
+ meta_description
22
+ meta_title
23
+ canonical_url
24
+ sku
25
+ review_count
26
+ rating_summary
27
+ image {
28
+ url
29
+ }
30
+ price_range {
31
+ minimum_price {
32
+ regular_price {
33
+ currency
34
+ value
35
+ }
36
+ final_price {
37
+ currency
38
+ value
39
+ }
40
+ }
41
+ maximum_price {
42
+ regular_price {
43
+ currency
44
+ value
45
+ }
46
+ final_price {
47
+ currency
48
+ value
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
19
54
  }
20
55
  ... on ProductInterface {
21
56
  uid
@@ -23,8 +58,37 @@ export const MagentoResolveUrlv243 = gql `
23
58
  meta_description
24
59
  meta_title
25
60
  canonical_url
61
+ sku
62
+ review_count
63
+ rating_summary
64
+ image {
65
+ url
66
+ }
67
+ stock_status
68
+ price_range {
69
+ minimum_price {
70
+ regular_price {
71
+ currency
72
+ value
73
+ }
74
+ final_price {
75
+ currency
76
+ value
77
+ }
78
+ }
79
+ maximum_price {
80
+ regular_price {
81
+ currency
82
+ value
83
+ }
84
+ final_price {
85
+ currency
86
+ value
87
+ }
88
+ }
89
+ }
26
90
  }
27
91
  }
28
92
  }
29
93
  `;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvLzIuNC4zL3NyYy9ncmFwaHFsL3F1ZXJpZXMvcmVzb2x2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsdUJBQXVCLENBQUM7QUFFM0U7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFBO1NBQy9CLG1DQUFtQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUIzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuXG5leHBvcnQgY29uc3QgREFGRl9NQUdFTlRPX1JFU09MVkVfVVJMX1FVRVJZX05BTUUgPSAnTWFnZW50b1Jlc29sdmVVcmx2MjQzJztcblxuLyoqXG4gKiBUaGlzIHF1ZXJ5IHJldHJpZXZlcyBhIFVSTCByZXNvbHV0aW9uIGZyb20gTWFnZW50byBhbmQgaW5mb3JtcyB5b3UgYWJvdXRcbiAqIHdoYXQgdHlwZSBvZiByb3V0ZSB0aGUgVVJMIGlzLlxuICovXG5leHBvcnQgY29uc3QgTWFnZW50b1Jlc29sdmVVcmx2MjQzID0gZ3FsYFxuXHRxdWVyeSAke0RBRkZfTUFHRU5UT19SRVNPTFZFX1VSTF9RVUVSWV9OQU1FfSgkdXJsOiBTdHJpbmchKSB7XG5cdFx0cm91dGUodXJsOiAkdXJsKSB7XG5cdFx0XHRyZWxhdGl2ZV91cmxcblx0XHRcdHJlZGlyZWN0X2NvZGVcblx0XHRcdHR5cGVcblx0XHRcdC4uLiBvbiBDYXRlZ29yeUludGVyZmFjZSB7XG5cdFx0XHRcdHVpZFxuXHRcdFx0XHRuYW1lXG5cdFx0XHRcdG1ldGFfZGVzY3JpcHRpb25cblx0XHRcdFx0bWV0YV90aXRsZVxuXHRcdFx0XHRjYW5vbmljYWxfdXJsXG5cdFx0XHR9XG5cdFx0XHQuLi4gb24gUHJvZHVjdEludGVyZmFjZSB7XG5cdFx0XHRcdHVpZFxuXHRcdFx0XHRuYW1lXG5cdFx0XHRcdG1ldGFfZGVzY3JpcHRpb25cblx0XHRcdFx0bWV0YV90aXRsZVxuXHRcdFx0XHRjYW5vbmljYWxfdXJsXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5gO1xuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvLzIuNC4zL3NyYy9ncmFwaHFsL3F1ZXJpZXMvcmVzb2x2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsdUJBQXVCLENBQUM7QUFFM0U7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFBO1NBQy9CLG1DQUFtQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFGM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcblxuZXhwb3J0IGNvbnN0IERBRkZfTUFHRU5UT19SRVNPTFZFX1VSTF9RVUVSWV9OQU1FID0gJ01hZ2VudG9SZXNvbHZlVXJsdjI0Myc7XG5cbi8qKlxuICogVGhpcyBxdWVyeSByZXRyaWV2ZXMgYSBVUkwgcmVzb2x1dGlvbiBmcm9tIE1hZ2VudG8gYW5kIGluZm9ybXMgeW91IGFib3V0XG4gKiB3aGF0IHR5cGUgb2Ygcm91dGUgdGhlIFVSTCBpcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1hZ2VudG9SZXNvbHZlVXJsdjI0MyA9IGdxbGBcblx0cXVlcnkgJHtEQUZGX01BR0VOVE9fUkVTT0xWRV9VUkxfUVVFUllfTkFNRX0oJHVybDogU3RyaW5nISkge1xuXHRcdHJvdXRlKHVybDogJHVybCkge1xuXHRcdFx0cmVsYXRpdmVfdXJsXG5cdFx0XHRyZWRpcmVjdF9jb2RlXG5cdFx0XHR0eXBlXG5cdFx0XHQuLi4gb24gQ2F0ZWdvcnlJbnRlcmZhY2Uge1xuXHRcdFx0XHR1aWRcblx0XHRcdFx0bmFtZVxuXHRcdFx0XHRtZXRhX3RpdGxlXG5cdFx0XHRcdGNhbm9uaWNhbF91cmxcblx0XHRcdFx0cHJvZHVjdHMge1xuXHRcdFx0XHRcdGl0ZW1zIHtcblx0XHRcdFx0XHRcdFx0bmFtZVxuXHRcdFx0XHRcdFx0XHRtZXRhX2Rlc2NyaXB0aW9uXG5cdFx0XHRcdFx0XHRcdG1ldGFfdGl0bGVcblx0XHRcdFx0XHRcdFx0Y2Fub25pY2FsX3VybFxuXHRcdFx0XHRcdFx0XHRza3Vcblx0XHRcdFx0XHRcdFx0cmV2aWV3X2NvdW50XG5cdFx0XHRcdFx0XHRcdHJhdGluZ19zdW1tYXJ5XG5cdFx0XHRcdFx0XHRcdGltYWdlIHtcblx0XHRcdFx0XHRcdFx0XHR1cmxcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRwcmljZV9yYW5nZSB7XG5cdFx0XHRcdFx0XHRcdFx0bWluaW11bV9wcmljZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZWd1bGFyX3ByaWNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVuY3lcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGZpbmFsX3ByaWNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVuY3lcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0bWF4aW11bV9wcmljZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZWd1bGFyX3ByaWNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVuY3lcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGZpbmFsX3ByaWNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVuY3lcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Li4uIG9uIFByb2R1Y3RJbnRlcmZhY2Uge1xuXHRcdFx0XHR1aWRcblx0XHRcdFx0bmFtZVxuXHRcdFx0XHRtZXRhX2Rlc2NyaXB0aW9uXG5cdFx0XHRcdG1ldGFfdGl0bGVcblx0XHRcdFx0Y2Fub25pY2FsX3VybFxuXHRcdFx0XHRza3Vcblx0XHRcdFx0cmV2aWV3X2NvdW50XG5cdFx0XHRcdHJhdGluZ19zdW1tYXJ5XG5cdFx0XHRcdGltYWdlIHtcblx0XHRcdFx0XHR1cmxcblx0XHRcdFx0fVxuXHRcdFx0XHRzdG9ja19zdGF0dXNcblx0XHRcdFx0cHJpY2VfcmFuZ2Uge1xuXHRcdFx0XHRcdG1pbmltdW1fcHJpY2Uge1xuXHRcdFx0XHRcdFx0cmVndWxhcl9wcmljZSB7XG5cdFx0XHRcdFx0XHRcdGN1cnJlbmN5XG5cdFx0XHRcdFx0XHRcdHZhbHVlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRmaW5hbF9wcmljZSB7XG5cdFx0XHRcdFx0XHRcdGN1cnJlbmN5XG5cdFx0XHRcdFx0XHRcdHZhbHVlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdG1heGltdW1fcHJpY2Uge1xuXHRcdFx0XHRcdFx0cmVndWxhcl9wcmljZSB7XG5cdFx0XHRcdFx0XHRcdGN1cnJlbmN5XG5cdFx0XHRcdFx0XHRcdHZhbHVlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRmaW5hbF9wcmljZSB7XG5cdFx0XHRcdFx0XHRcdGN1cnJlbmN5XG5cdFx0XHRcdFx0XHRcdHZhbHVlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5gO1xuIl19
@@ -1,8 +1,10 @@
1
- import { Injectable } from '@angular/core';
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Inject, Injectable, } from '@angular/core';
2
3
  import { Apollo } from 'apollo-angular';
3
4
  import { map } from 'rxjs/operators';
4
5
  import { MagentoResolveUrlv243 } from './graphql/queries/resolve';
5
6
  import { transformResolutionToResolvableUrlv243 } from './transforms/resolution-to-resolvable-url';
7
+ import { transformClientUrls } from './transforms/transform-client-urls';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "apollo-angular";
8
10
  /**
@@ -12,8 +14,9 @@ import * as i1 from "apollo-angular";
12
14
  * @inheritdoc
13
15
  */
14
16
  export class DaffExternalRouterMagentoDriver {
15
- constructor(apollo) {
17
+ constructor(apollo, document) {
16
18
  this.apollo = apollo;
19
+ this.document = document;
17
20
  }
18
21
  resolve(url) {
19
22
  return this.apollo
@@ -23,9 +26,9 @@ export class DaffExternalRouterMagentoDriver {
23
26
  url,
24
27
  },
25
28
  })
26
- .pipe(map(response => transformResolutionToResolvableUrlv243(response.data.route)));
29
+ .pipe(map((response) => response.data.route), map((route) => transformClientUrls(route, this.document.location.origin)), map(route => transformResolutionToResolvableUrlv243(route)));
27
30
  }
28
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
31
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, deps: [{ token: i1.Apollo }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
32
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, providedIn: 'root' }); }
30
33
  }
31
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, decorators: [{
@@ -33,5 +36,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
33
36
  args: [{
34
37
  providedIn: 'root',
35
38
  }]
36
- }], ctorParameters: () => [{ type: i1.Apollo }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnZW50by5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8vMi40LjMvc3JjL21hZ2VudG8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQUduRzs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosT0FBTyxDQUFDLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTTthQUNmLEtBQUssQ0FBdUI7WUFDM0IsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsR0FBRzthQUNKO1NBQ0YsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO2lJQWZVLCtCQUErQjtxSUFBL0IsK0JBQStCLGNBRjlCLE1BQU07OzJGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuaW1wb3J0IHsgRGFmZkV4dGVybmFsbHlSZXNvbHZhYmxlVXJsIH0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlcic7XG5pbXBvcnQgeyBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbnRlcmZhY2UgfSBmcm9tICdAZGFmZm9kaWwvZXh0ZXJuYWwtcm91dGVyL2RyaXZlcic7XG5pbXBvcnQgeyBNYWdlbnRvUm91dGVSZXNwb25zZSB9IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8nO1xuXG5pbXBvcnQgeyBNYWdlbnRvUmVzb2x2ZVVybHYyNDMgfSBmcm9tICcuL2dyYXBocWwvcXVlcmllcy9yZXNvbHZlJztcbmltcG9ydCB7IHRyYW5zZm9ybVJlc29sdXRpb25Ub1Jlc29sdmFibGVVcmx2MjQzIH0gZnJvbSAnLi90cmFuc2Zvcm1zL3Jlc29sdXRpb24tdG8tcmVzb2x2YWJsZS11cmwnO1xuXG5cbi8qKlxuICogVGhlIERhZmZFeHRlcm5hbFJvdXRlck1hZ2VudG9Ecml2ZXIgaXMgcmVzcG9uc2libGUgZm9yIHRyYW5zbGF0aW5nIGFuXG4gKiBhcmJpdHJhcnkgVVJJIGludG8gYSBEYWZmRXh0ZXJuYWxseVJlc29sdmFibGVVcmwgd2l0aCBNYWdlbnRvIGVudmlyb25tZW50cy5cbiAqXG4gKiBAaW5oZXJpdGRvY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGFmZkV4dGVybmFsUm91dGVyTWFnZW50b0RyaXZlclxuaW1wbGVtZW50cyBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbnRlcmZhY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvLFxuICApIHt9XG5cbiAgcmVzb2x2ZSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8RGFmZkV4dGVybmFsbHlSZXNvbHZhYmxlVXJsPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvXG4gICAgICAucXVlcnk8TWFnZW50b1JvdXRlUmVzcG9uc2U+KHtcbiAgICAgICAgcXVlcnk6IE1hZ2VudG9SZXNvbHZlVXJsdjI0MyxcbiAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiB0cmFuc2Zvcm1SZXNvbHV0aW9uVG9SZXNvbHZhYmxlVXJsdjI0MyhyZXNwb25zZS5kYXRhLnJvdXRlKSkpO1xuICB9XG59XG4iXX0=
39
+ }], ctorParameters: () => [{ type: i1.Apollo }, { type: Document, decorators: [{
40
+ type: Inject,
41
+ args: [DOCUMENT]
42
+ }] }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnZW50by5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8vMi40LjMvc3JjL21hZ2VudG8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBR3pFOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLCtCQUErQjtJQUUxQyxZQUNVLE1BQWMsRUFDSSxRQUFrQjtRQURwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0ksYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMzQyxDQUFDO0lBRUosT0FBTyxDQUFDLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTTthQUNmLEtBQUssQ0FBdUI7WUFDM0IsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsR0FBRzthQUNKO1NBQ0YsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3RDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ3pFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVELENBQUM7SUFDTixDQUFDO2lJQXBCVSwrQkFBK0Isd0NBSWhDLFFBQVE7cUlBSlAsK0JBQStCLGNBRjlCLE1BQU07OzJGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuaW1wb3J0IHsgRGFmZkV4dGVybmFsbHlSZXNvbHZhYmxlVXJsIH0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlcic7XG5pbXBvcnQgeyBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbnRlcmZhY2UgfSBmcm9tICdAZGFmZm9kaWwvZXh0ZXJuYWwtcm91dGVyL2RyaXZlcic7XG5pbXBvcnQgeyBNYWdlbnRvUm91dGVSZXNwb25zZSB9IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8nO1xuXG5pbXBvcnQgeyBNYWdlbnRvUmVzb2x2ZVVybHYyNDMgfSBmcm9tICcuL2dyYXBocWwvcXVlcmllcy9yZXNvbHZlJztcbmltcG9ydCB7IHRyYW5zZm9ybVJlc29sdXRpb25Ub1Jlc29sdmFibGVVcmx2MjQzIH0gZnJvbSAnLi90cmFuc2Zvcm1zL3Jlc29sdXRpb24tdG8tcmVzb2x2YWJsZS11cmwnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQ2xpZW50VXJscyB9IGZyb20gJy4vdHJhbnNmb3Jtcy90cmFuc2Zvcm0tY2xpZW50LXVybHMnO1xuXG5cbi8qKlxuICogVGhlIERhZmZFeHRlcm5hbFJvdXRlck1hZ2VudG9Ecml2ZXIgaXMgcmVzcG9uc2libGUgZm9yIHRyYW5zbGF0aW5nIGFuXG4gKiBhcmJpdHJhcnkgVVJJIGludG8gYSBEYWZmRXh0ZXJuYWxseVJlc29sdmFibGVVcmwgd2l0aCBNYWdlbnRvIGVudmlyb25tZW50cy5cbiAqXG4gKiBAaW5oZXJpdGRvY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGFmZkV4dGVybmFsUm91dGVyTWFnZW50b0RyaXZlclxuaW1wbGVtZW50cyBEYWZmRXh0ZXJuYWxSb3V0ZXJEcml2ZXJJbnRlcmZhY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICApIHt9XG5cbiAgcmVzb2x2ZSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8RGFmZkV4dGVybmFsbHlSZXNvbHZhYmxlVXJsPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvXG4gICAgICAucXVlcnk8TWFnZW50b1JvdXRlUmVzcG9uc2U+KHtcbiAgICAgICAgcXVlcnk6IE1hZ2VudG9SZXNvbHZlVXJsdjI0MyxcbiAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhLnJvdXRlKSxcbiAgICAgICAgbWFwKChyb3V0ZSkgPT4gdHJhbnNmb3JtQ2xpZW50VXJscyhyb3V0ZSwgdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4pKSxcbiAgICAgICAgbWFwKHJvdXRlID0+IHRyYW5zZm9ybVJlc29sdXRpb25Ub1Jlc29sdmFibGVVcmx2MjQzKHJvdXRlKSksXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -1,15 +1,19 @@
1
1
  import { daffUriTruncateLeadingSlash, daffUriTruncateQueryFragment, } from '@daffodil/core/routing';
2
2
  import { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';
3
3
  import { magentoTransformRedirectToHttpCode, } from '@daffodil/external-router/driver/magento';
4
- export const transformResolutionToResolvableUrlv243 = (resolution) => (resolution ? {
4
+ import { transformSchema } from './schema/transform-schema';
5
+ export const transformResolutionToResolvableUrlv243 = (resolution) => (resolution && (resolution.type === 'CATEGORY' || resolution.type === 'PRODUCT') ? {
5
6
  id: resolution.uid,
6
7
  url: daffUriTruncateLeadingSlash(daffUriTruncateQueryFragment(resolution.relative_url)),
7
8
  type: resolution.type,
8
9
  code: magentoTransformRedirectToHttpCode(resolution.redirect_code),
9
10
  data: {
10
- canonical_url: resolution.canonical_url,
11
+ canonical_url: resolution?.canonical_url,
11
12
  title: resolution.meta_title ?? resolution.name ?? '',
12
13
  meta_description: resolution.meta_description,
14
+ schema: {
15
+ ...transformSchema(resolution),
16
+ },
13
17
  },
14
18
  } : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x1dGlvbi10by1yZXNvbHZhYmxlLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvLzIuNC4zL3NyYy90cmFuc2Zvcm1zL3Jlc29sdXRpb24tdG8tcmVzb2x2YWJsZS11cmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw0QkFBNEIsR0FDN0IsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RixPQUFPLEVBQ0wsa0NBQWtDLEdBRW5DLE1BQU0sMENBQTBDLENBQUM7QUFHbEQsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsQ0FDcEQsVUFBd0IsRUFDSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzlDLEVBQUUsRUFBRSxVQUFVLENBQUMsR0FBRztJQUNsQixHQUFHLEVBQUUsMkJBQTJCLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZGLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtJQUNyQixJQUFJLEVBQUUsa0NBQWtDLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUNsRSxJQUFJLEVBQUU7UUFDSixhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7UUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ3JELGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7S0FDOUM7Q0FDRixDQUFDLENBQUMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZGFmZlVyaVRydW5jYXRlTGVhZGluZ1NsYXNoLFxuICBkYWZmVXJpVHJ1bmNhdGVRdWVyeUZyYWdtZW50LFxufSBmcm9tICdAZGFmZm9kaWwvY29yZS9yb3V0aW5nJztcbmltcG9ydCB7IERhZmZFeHRlcm5hbGx5UmVzb2x2YWJsZVVybCB9IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXInO1xuaW1wb3J0IHsgREFGRl9FWFRFUk5BTF9ST1VURVJfTk9UX0ZPVU5EX1JFU09MVVRJT04gfSBmcm9tICdAZGFmZm9kaWwvZXh0ZXJuYWwtcm91dGVyL2RyaXZlcic7XG5pbXBvcnQge1xuICBtYWdlbnRvVHJhbnNmb3JtUmVkaXJlY3RUb0h0dHBDb2RlLFxuICBNYWdlbnRvUm91dGUsXG59IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8nO1xuXG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1SZXNvbHV0aW9uVG9SZXNvbHZhYmxlVXJsdjI0MyA9IChcbiAgcmVzb2x1dGlvbjogTWFnZW50b1JvdXRlLFxuKTogRGFmZkV4dGVybmFsbHlSZXNvbHZhYmxlVXJsID0+IChyZXNvbHV0aW9uID8ge1xuICBpZDogcmVzb2x1dGlvbi51aWQsXG4gIHVybDogZGFmZlVyaVRydW5jYXRlTGVhZGluZ1NsYXNoKGRhZmZVcmlUcnVuY2F0ZVF1ZXJ5RnJhZ21lbnQocmVzb2x1dGlvbi5yZWxhdGl2ZV91cmwpKSxcbiAgdHlwZTogcmVzb2x1dGlvbi50eXBlLFxuICBjb2RlOiBtYWdlbnRvVHJhbnNmb3JtUmVkaXJlY3RUb0h0dHBDb2RlKHJlc29sdXRpb24ucmVkaXJlY3RfY29kZSksXG4gIGRhdGE6IHtcbiAgICBjYW5vbmljYWxfdXJsOiByZXNvbHV0aW9uLmNhbm9uaWNhbF91cmwsXG4gICAgdGl0bGU6IHJlc29sdXRpb24ubWV0YV90aXRsZSA/PyByZXNvbHV0aW9uLm5hbWUgPz8gJycsXG4gICAgbWV0YV9kZXNjcmlwdGlvbjogcmVzb2x1dGlvbi5tZXRhX2Rlc2NyaXB0aW9uLFxuICB9LFxufSA6IERBRkZfRVhURVJOQUxfUk9VVEVSX05PVF9GT1VORF9SRVNPTFVUSU9OKTtcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x1dGlvbi10by1yZXNvbHZhYmxlLXVybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvLzIuNC4zL3NyYy90cmFuc2Zvcm1zL3Jlc29sdXRpb24tdG8tcmVzb2x2YWJsZS11cmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw0QkFBNEIsR0FDN0IsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RixPQUFPLEVBQ0wsa0NBQWtDLEdBRW5DLE1BQU0sMENBQTBDLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHLENBQ3BELFVBQXdCLEVBQ00sRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksS0FBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkgsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHO0lBQ2xCLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkYsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO0lBQ3JCLElBQUksRUFBRSxrQ0FBa0MsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ2xFLElBQUksRUFBRTtRQUNKLGFBQWEsRUFBRSxVQUFVLEVBQUUsYUFBYTtRQUN4QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDckQsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtRQUM3QyxNQUFNLEVBQUU7WUFDTixHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7U0FDL0I7S0FDRjtDQUNGLENBQUMsQ0FBQyxDQUFDLHlDQUF5QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBkYWZmVXJpVHJ1bmNhdGVMZWFkaW5nU2xhc2gsXG4gIGRhZmZVcmlUcnVuY2F0ZVF1ZXJ5RnJhZ21lbnQsXG59IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3JvdXRpbmcnO1xuaW1wb3J0IHsgRGFmZkV4dGVybmFsbHlSZXNvbHZhYmxlVXJsIH0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlcic7XG5pbXBvcnQgeyBEQUZGX0VYVEVSTkFMX1JPVVRFUl9OT1RfRk9VTkRfUkVTT0xVVElPTiB9IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyJztcbmltcG9ydCB7XG4gIG1hZ2VudG9UcmFuc2Zvcm1SZWRpcmVjdFRvSHR0cENvZGUsXG4gIE1hZ2VudG9Sb3V0ZSxcbn0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50byc7XG5cbmltcG9ydCB7IHRyYW5zZm9ybVNjaGVtYSB9IGZyb20gJy4vc2NoZW1hL3RyYW5zZm9ybS1zY2hlbWEnO1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtUmVzb2x1dGlvblRvUmVzb2x2YWJsZVVybHYyNDMgPSAoXG4gIHJlc29sdXRpb246IE1hZ2VudG9Sb3V0ZSxcbik6IERhZmZFeHRlcm5hbGx5UmVzb2x2YWJsZVVybCAgPT4gKHJlc29sdXRpb24gJiYgKHJlc29sdXRpb24udHlwZSA9PT0gJ0NBVEVHT1JZJyB8fCByZXNvbHV0aW9uLnR5cGUgPT09J1BST0RVQ1QnKSA/IHtcbiAgaWQ6IHJlc29sdXRpb24udWlkLFxuICB1cmw6IGRhZmZVcmlUcnVuY2F0ZUxlYWRpbmdTbGFzaChkYWZmVXJpVHJ1bmNhdGVRdWVyeUZyYWdtZW50KHJlc29sdXRpb24ucmVsYXRpdmVfdXJsKSksXG4gIHR5cGU6IHJlc29sdXRpb24udHlwZSxcbiAgY29kZTogbWFnZW50b1RyYW5zZm9ybVJlZGlyZWN0VG9IdHRwQ29kZShyZXNvbHV0aW9uLnJlZGlyZWN0X2NvZGUpLFxuICBkYXRhOiB7XG4gICAgY2Fub25pY2FsX3VybDogcmVzb2x1dGlvbj8uY2Fub25pY2FsX3VybCxcbiAgICB0aXRsZTogcmVzb2x1dGlvbi5tZXRhX3RpdGxlID8/IHJlc29sdXRpb24ubmFtZSA/PyAnJyxcbiAgICBtZXRhX2Rlc2NyaXB0aW9uOiByZXNvbHV0aW9uLm1ldGFfZGVzY3JpcHRpb24sXG4gICAgc2NoZW1hOiB7XG4gICAgICAuLi50cmFuc2Zvcm1TY2hlbWEocmVzb2x1dGlvbiksXG4gICAgfSxcbiAgfSxcbn0gOiBEQUZGX0VYVEVSTkFMX1JPVVRFUl9OT1RfRk9VTkRfUkVTT0xVVElPTik7XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { transformMagentoProductSchema } from '../product/product';
2
+ export const transformMagentoCategorySchema = (resolution) => ({
3
+ '@context': 'https://schema.org',
4
+ '@type': 'ItemList',
5
+ itemListElement: resolution.products.items.map((item, index) => ({
6
+ '@type': 'ListItem',
7
+ position: index,
8
+ item: transformMagentoProductSchema({
9
+ ...item,
10
+ meta_description: undefined,
11
+ stock_status: undefined,
12
+ }),
13
+ })),
14
+ });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50by8yLjQuMy9zcmMvdHJhbnNmb3Jtcy9zY2hlbWEvY2F0ZWdvcnkvY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbkUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxVQUFnQyxFQUEyQixFQUFFLENBQUMsQ0FBQztJQUM1RyxVQUFVLEVBQUUsb0JBQW9CO0lBQ2hDLE9BQU8sRUFBRSxVQUFVO0lBQ25CLGVBQWUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sRUFBRSxVQUFVO1FBQ25CLFFBQVEsRUFBRSxLQUFLO1FBQ2YsSUFBSSxFQUFFLDZCQUE2QixDQUFDO1lBQ2xDLEdBQUcsSUFBSTtZQUNQLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsWUFBWSxFQUFFLFNBQVM7U0FDeEIsQ0FBQztLQUNILENBQUMsQ0FBQztDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9DYXRlZ29yeVJvdXRlIH0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50byc7XG5cbmltcG9ydCB7IHRyYW5zZm9ybU1hZ2VudG9Qcm9kdWN0U2NoZW1hIH0gZnJvbSAnLi4vcHJvZHVjdC9wcm9kdWN0JztcbmltcG9ydCB7IHJlc2NhbGVSYXRpbmdPdXRPZjUgfSBmcm9tICcuLi9yZXNjYWxlLXJhdGluZyc7XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NYWdlbnRvQ2F0ZWdvcnlTY2hlbWEgPSAocmVzb2x1dGlvbjogTWFnZW50b0NhdGVnb3J5Um91dGUpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiAoe1xuICAnQGNvbnRleHQnOiAnaHR0cHM6Ly9zY2hlbWEub3JnJyxcbiAgJ0B0eXBlJzogJ0l0ZW1MaXN0JyxcbiAgaXRlbUxpc3RFbGVtZW50OiByZXNvbHV0aW9uLnByb2R1Y3RzLml0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XG4gICAgJ0B0eXBlJzogJ0xpc3RJdGVtJyxcbiAgICBwb3NpdGlvbjogaW5kZXgsXG4gICAgaXRlbTogdHJhbnNmb3JtTWFnZW50b1Byb2R1Y3RTY2hlbWEoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIG1ldGFfZGVzY3JpcHRpb246IHVuZGVmaW5lZCxcbiAgICAgIHN0b2NrX3N0YXR1czogdW5kZWZpbmVkLFxuICAgIH0pLFxuICB9KSksXG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export const clientifyUrlPath = (path, domain) => path ? new URL(path, domain).toString() : path;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50aWZ5LXVybC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8vMi40LjMvc3JjL3RyYW5zZm9ybXMvc2NoZW1hL2NsaWVudGlmeS11cmwtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUEwQixJQUFPLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNsaWVudGlmeVVybFBhdGggPSA8VCBleHRlbmRzIHN0cmluZyB8IG51bGw+KHBhdGg6IFQsIGRvbWFpbjogc3RyaW5nKSA9PiBwYXRoID8gbmV3IFVSTChwYXRoLCBkb21haW4pLnRvU3RyaW5nKCkgOiBwYXRoO1xuIl19
@@ -0,0 +1,16 @@
1
+ import { rescaleRatingOutOf5 } from '../rescale-rating';
2
+ export const transformMagentoBaseProduct = (product) => ({
3
+ '@context': 'https://schema.org/',
4
+ '@type': 'Product',
5
+ url: product.canonical_url,
6
+ sku: product.sku,
7
+ name: product.meta_title ?? product.name ?? '',
8
+ ...(product.meta_description && { description: product.meta_description }),
9
+ ...(product.review_count > 0 && { aggregateRating: {
10
+ '@type': 'AggregateRating',
11
+ ratingValue: rescaleRatingOutOf5(product.rating_summary, 100),
12
+ reviewCount: product.review_count,
13
+ } }),
14
+ image: product.image?.url,
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvLzIuNC4zL3NyYy90cmFuc2Zvcm1zL3NjaGVtYS9wcm9kdWN0L2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxPQUE0QixFQUEyQixFQUFFLENBQUMsQ0FBQztJQUNyRyxVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxPQUFPLENBQUMsYUFBYTtJQUMxQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7SUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFO0lBQzlDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLElBQUksRUFBRyxXQUFXLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDM0UsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2pELE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDO1lBQzdELFdBQVcsRUFBRSxPQUFPLENBQUMsWUFBWTtTQUNsQyxFQUFDLENBQUM7SUFDSCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHO0NBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9Qcm9kdWN0Um91dGUgfSBmcm9tICdAZGFmZm9kaWwvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvJztcblxuaW1wb3J0IHsgcmVzY2FsZVJhdGluZ091dE9mNSB9IGZyb20gJy4uL3Jlc2NhbGUtcmF0aW5nJztcblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybU1hZ2VudG9CYXNlUHJvZHVjdCA9IChwcm9kdWN0OiBNYWdlbnRvUHJvZHVjdFJvdXRlKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4gKHtcbiAgJ0Bjb250ZXh0JzogJ2h0dHBzOi8vc2NoZW1hLm9yZy8nLFxuICAnQHR5cGUnOiAnUHJvZHVjdCcsXG4gIHVybDogcHJvZHVjdC5jYW5vbmljYWxfdXJsLFxuICBza3U6IHByb2R1Y3Quc2t1LFxuICBuYW1lOiBwcm9kdWN0Lm1ldGFfdGl0bGUgPz8gcHJvZHVjdC5uYW1lID8/ICcnLFxuICAuLi4ocHJvZHVjdC5tZXRhX2Rlc2NyaXB0aW9uICYmIHsgIGRlc2NyaXB0aW9uOiBwcm9kdWN0Lm1ldGFfZGVzY3JpcHRpb24gfSksXG4gIC4uLihwcm9kdWN0LnJldmlld19jb3VudCA+IDAgJiYgeyBhZ2dyZWdhdGVSYXRpbmc6IHtcbiAgICAnQHR5cGUnOiAnQWdncmVnYXRlUmF0aW5nJyxcbiAgICByYXRpbmdWYWx1ZTogcmVzY2FsZVJhdGluZ091dE9mNShwcm9kdWN0LnJhdGluZ19zdW1tYXJ5LCAxMDApLFxuICAgIHJldmlld0NvdW50OiBwcm9kdWN0LnJldmlld19jb3VudCxcbiAgfX0pLFxuICBpbWFnZTogcHJvZHVjdC5pbWFnZT8udXJsLFxufSk7XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { transformMagentoBaseProduct } from './base';
2
+ export const transformMagentoBundleProduct = (resolution) => ({
3
+ ...transformMagentoBaseProduct(resolution),
4
+ offers: {
5
+ '@type': 'AggregateOffer',
6
+ lowPrice: resolution.price_range.minimum_price.final_price.value,
7
+ highPrice: resolution.price_range.maximum_price.final_price.value,
8
+ priceCurrency: resolution.price_range.maximum_price.final_price.currency,
9
+ },
10
+ });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8vMi40LjMvc3JjL3RyYW5zZm9ybXMvc2NoZW1hL3Byb2R1Y3QvYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFVBQStCLEVBQTJCLEVBQUUsQ0FBQyxDQUFDO0lBQzFHLEdBQUcsMkJBQTJCLENBQUMsVUFBVSxDQUFDO0lBQzFDLE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1FBQ2hFLFNBQVMsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSztRQUNqRSxhQUFhLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVE7S0FDekU7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYWdlbnRvUHJvZHVjdFJvdXRlIH0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50byc7XG5cbmltcG9ydCB7IHRyYW5zZm9ybU1hZ2VudG9CYXNlUHJvZHVjdCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NYWdlbnRvQnVuZGxlUHJvZHVjdCA9IChyZXNvbHV0aW9uOiBNYWdlbnRvUHJvZHVjdFJvdXRlKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4gKHtcbiAgLi4udHJhbnNmb3JtTWFnZW50b0Jhc2VQcm9kdWN0KHJlc29sdXRpb24pLFxuICBvZmZlcnM6IHtcbiAgICAnQHR5cGUnOiAnQWdncmVnYXRlT2ZmZXInLFxuICAgIGxvd1ByaWNlOiByZXNvbHV0aW9uLnByaWNlX3JhbmdlLm1pbmltdW1fcHJpY2UuZmluYWxfcHJpY2UudmFsdWUsXG4gICAgaGlnaFByaWNlOiByZXNvbHV0aW9uLnByaWNlX3JhbmdlLm1heGltdW1fcHJpY2UuZmluYWxfcHJpY2UudmFsdWUsXG4gICAgcHJpY2VDdXJyZW5jeTogcmVzb2x1dGlvbi5wcmljZV9yYW5nZS5tYXhpbXVtX3ByaWNlLmZpbmFsX3ByaWNlLmN1cnJlbmN5LFxuICB9LFxufSk7XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { transformMagentoBaseProduct } from './base';
2
+ export const transformMagentoConfigurableProduct = (resolution) => ({
3
+ ...transformMagentoBaseProduct(resolution),
4
+ offers: {
5
+ '@type': 'AggregateOffer',
6
+ lowPrice: resolution.price_range.minimum_price.final_price.value,
7
+ highPrice: resolution.price_range.maximum_price.final_price.value,
8
+ priceCurrency: resolution.price_range.maximum_price.final_price.currency,
9
+ },
10
+ });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8vMi40LjMvc3JjL3RyYW5zZm9ybXMvc2NoZW1hL3Byb2R1Y3QvY29uZmlndXJhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxDQUFDLFVBQStCLEVBQTJCLEVBQUUsQ0FBQyxDQUFDO0lBQ2hILEdBQUcsMkJBQTJCLENBQUMsVUFBVSxDQUFDO0lBQzFDLE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1FBQ2hFLFNBQVMsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSztRQUNqRSxhQUFhLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVE7S0FDekU7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNYWdlbnRvUHJvZHVjdFJvdXRlLFxuICBNYWdlbnRvUm91dGUsXG59IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8nO1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1NYWdlbnRvQmFzZVByb2R1Y3QgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtTWFnZW50b0NvbmZpZ3VyYWJsZVByb2R1Y3QgPSAocmVzb2x1dGlvbjogTWFnZW50b1Byb2R1Y3RSb3V0ZSk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+ICh7XG4gIC4uLnRyYW5zZm9ybU1hZ2VudG9CYXNlUHJvZHVjdChyZXNvbHV0aW9uKSxcbiAgb2ZmZXJzOiB7XG4gICAgJ0B0eXBlJzogJ0FnZ3JlZ2F0ZU9mZmVyJyxcbiAgICBsb3dQcmljZTogcmVzb2x1dGlvbi5wcmljZV9yYW5nZS5taW5pbXVtX3ByaWNlLmZpbmFsX3ByaWNlLnZhbHVlLFxuICAgIGhpZ2hQcmljZTogcmVzb2x1dGlvbi5wcmljZV9yYW5nZS5tYXhpbXVtX3ByaWNlLmZpbmFsX3ByaWNlLnZhbHVlLFxuICAgIHByaWNlQ3VycmVuY3k6IHJlc29sdXRpb24ucHJpY2VfcmFuZ2UubWF4aW11bV9wcmljZS5maW5hbF9wcmljZS5jdXJyZW5jeSxcbiAgfSxcbn0pO1xuIl19
@@ -0,0 +1,20 @@
1
+ import { transformMagentoBaseProduct } from './base';
2
+ import { transformMagentoBundleProduct } from './bundle';
3
+ import { transformMagentoConfigurableProduct } from './configurable';
4
+ import { transformMagentoSimpleProduct } from './simple';
5
+ /**
6
+ * Computes supplementary SEO schema for Magento product routes.
7
+ */
8
+ export const transformMagentoProductSchema = (resolution) => {
9
+ switch (resolution.__typename) {
10
+ case 'BundleProduct':
11
+ return transformMagentoBundleProduct(resolution);
12
+ case 'ConfigurableProduct':
13
+ return transformMagentoConfigurableProduct(resolution);
14
+ case 'SimpleProduct':
15
+ return transformMagentoSimpleProduct(resolution);
16
+ default:
17
+ return transformMagentoBaseProduct(resolution);
18
+ }
19
+ };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvLzIuNC4zL3NyYy90cmFuc2Zvcm1zL3NjaGVtYS9wcm9kdWN0L3Byb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFVBQStCLEVBQTJCLEVBQUU7SUFDeEcsUUFBTyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0IsS0FBSyxlQUFlO1lBQ2xCLE9BQU8sNkJBQTZCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsS0FBSyxxQkFBcUI7WUFDeEIsT0FBTyxtQ0FBbUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RCxLQUFLLGVBQWU7WUFDbEIsT0FBTyw2QkFBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRDtZQUNFLE9BQU8sMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9Qcm9kdWN0Um91dGUgfSBmcm9tICdAZGFmZm9kaWwvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvJztcblxuaW1wb3J0IHsgdHJhbnNmb3JtTWFnZW50b0Jhc2VQcm9kdWN0IH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IHRyYW5zZm9ybU1hZ2VudG9CdW5kbGVQcm9kdWN0IH0gZnJvbSAnLi9idW5kbGUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtTWFnZW50b0NvbmZpZ3VyYWJsZVByb2R1Y3QgfSBmcm9tICcuL2NvbmZpZ3VyYWJsZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1NYWdlbnRvU2ltcGxlUHJvZHVjdCB9IGZyb20gJy4vc2ltcGxlJztcblxuLyoqXG4gKiBDb21wdXRlcyBzdXBwbGVtZW50YXJ5IFNFTyBzY2hlbWEgZm9yIE1hZ2VudG8gcHJvZHVjdCByb3V0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NYWdlbnRvUHJvZHVjdFNjaGVtYSA9IChyZXNvbHV0aW9uOiBNYWdlbnRvUHJvZHVjdFJvdXRlKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBzd2l0Y2gocmVzb2x1dGlvbi5fX3R5cGVuYW1lKSB7XG4gICAgY2FzZSAnQnVuZGxlUHJvZHVjdCc6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtTWFnZW50b0J1bmRsZVByb2R1Y3QocmVzb2x1dGlvbik7XG4gICAgY2FzZSAnQ29uZmlndXJhYmxlUHJvZHVjdCc6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtTWFnZW50b0NvbmZpZ3VyYWJsZVByb2R1Y3QocmVzb2x1dGlvbik7XG4gICAgY2FzZSAnU2ltcGxlUHJvZHVjdCc6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtTWFnZW50b1NpbXBsZVByb2R1Y3QocmVzb2x1dGlvbik7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NYWdlbnRvQmFzZVByb2R1Y3QocmVzb2x1dGlvbik7XG4gIH1cbn07XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { transformMagentoBaseProduct } from './base';
2
+ export const transformMagentoSimpleProduct = (resolution) => ({
3
+ ...transformMagentoBaseProduct(resolution),
4
+ offers: {
5
+ '@type': 'Offer',
6
+ url: resolution.canonical_url,
7
+ ...(resolution.stock_status && {
8
+ availability: resolution.stock_status === 'IN_STOCK' ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
9
+ }),
10
+ priceSpecification: [
11
+ {
12
+ '@type': 'UnitPriceSpecification',
13
+ price: resolution.price_range.maximum_price.final_price.value,
14
+ priceCurrency: resolution.price_range.maximum_price.final_price.currency,
15
+ },
16
+ {
17
+ '@type': 'UnitPriceSpecification',
18
+ priceType: 'https://schema.org/ListPrice',
19
+ price: resolution.price_range.maximum_price.regular_price.value,
20
+ priceCurrency: resolution.price_range.maximum_price.regular_price.currency,
21
+ },
22
+ ],
23
+ },
24
+ });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8vMi40LjMvc3JjL3RyYW5zZm9ybXMvc2NoZW1hL3Byb2R1Y3Qvc2ltcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFVBQStCLEVBQTJCLEVBQUUsQ0FBQyxDQUFDO0lBQzFHLEdBQUcsMkJBQTJCLENBQUMsVUFBVSxDQUFDO0lBQzFDLE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLEdBQUcsRUFBRSxVQUFVLENBQUMsYUFBYTtRQUM3QixHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksSUFBSTtZQUM3QixZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQywrQkFBK0I7U0FDdEgsQ0FBQztRQUNGLGtCQUFrQixFQUFFO1lBQ2xCO2dCQUNFLE9BQU8sRUFBRSx3QkFBd0I7Z0JBQ2pDLEtBQUssRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSztnQkFDN0QsYUFBYSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2FBQ3pFO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtnQkFDakMsU0FBUyxFQUFFLDhCQUE4QjtnQkFDekMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLO2dCQUMvRCxhQUFhLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVE7YUFDM0U7U0FDRjtLQUNGO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBNYWdlbnRvUHJvZHVjdFJvdXRlIH0gZnJvbSAnQGRhZmZvZGlsL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50byc7XG5cbmltcG9ydCB7IHRyYW5zZm9ybU1hZ2VudG9CYXNlUHJvZHVjdCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NYWdlbnRvU2ltcGxlUHJvZHVjdCA9IChyZXNvbHV0aW9uOiBNYWdlbnRvUHJvZHVjdFJvdXRlKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4gKHtcbiAgLi4udHJhbnNmb3JtTWFnZW50b0Jhc2VQcm9kdWN0KHJlc29sdXRpb24pLFxuICBvZmZlcnM6IHtcbiAgICAnQHR5cGUnOiAnT2ZmZXInLFxuICAgIHVybDogcmVzb2x1dGlvbi5jYW5vbmljYWxfdXJsLFxuICAgIC4uLihyZXNvbHV0aW9uLnN0b2NrX3N0YXR1cyAmJiB7XG4gICAgICBhdmFpbGFiaWxpdHk6IHJlc29sdXRpb24uc3RvY2tfc3RhdHVzID09PSAnSU5fU1RPQ0snID8gJ2h0dHBzOi8vc2NoZW1hLm9yZy9JblN0b2NrJyA6ICdodHRwczovL3NjaGVtYS5vcmcvT3V0T2ZTdG9jaycsXG4gICAgfSksXG4gICAgcHJpY2VTcGVjaWZpY2F0aW9uOiBbXG4gICAgICB7XG4gICAgICAgICdAdHlwZSc6ICdVbml0UHJpY2VTcGVjaWZpY2F0aW9uJyxcbiAgICAgICAgcHJpY2U6IHJlc29sdXRpb24ucHJpY2VfcmFuZ2UubWF4aW11bV9wcmljZS5maW5hbF9wcmljZS52YWx1ZSxcbiAgICAgICAgcHJpY2VDdXJyZW5jeTogcmVzb2x1dGlvbi5wcmljZV9yYW5nZS5tYXhpbXVtX3ByaWNlLmZpbmFsX3ByaWNlLmN1cnJlbmN5LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ0B0eXBlJzogJ1VuaXRQcmljZVNwZWNpZmljYXRpb24nLFxuICAgICAgICBwcmljZVR5cGU6ICdodHRwczovL3NjaGVtYS5vcmcvTGlzdFByaWNlJyxcbiAgICAgICAgcHJpY2U6IHJlc29sdXRpb24ucHJpY2VfcmFuZ2UubWF4aW11bV9wcmljZS5yZWd1bGFyX3ByaWNlLnZhbHVlLFxuICAgICAgICBwcmljZUN1cnJlbmN5OiByZXNvbHV0aW9uLnByaWNlX3JhbmdlLm1heGltdW1fcHJpY2UucmVndWxhcl9wcmljZS5jdXJyZW5jeSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn0pO1xuIl19
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Rescales a rating value from it's max rating
3
+ * to a scale of 5.
4
+ */
5
+ export const rescaleRatingOutOf5 = (rating, max) => (((rating ?? 0) / max) * 5).toPrecision(2);
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzY2FsZS1yYXRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50by8yLjQuMy9zcmMvdHJhbnNmb3Jtcy9zY2hlbWEvcmVzY2FsZS1yYXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFxQixFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzY2FsZXMgYSByYXRpbmcgdmFsdWUgZnJvbSBpdCdzIG1heCByYXRpbmdcbiAqIHRvIGEgc2NhbGUgb2YgNS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlc2NhbGVSYXRpbmdPdXRPZjUgPSAocmF0aW5nOiBudW1iZXIgfCBudWxsLCBtYXg6IG51bWJlcikgPT4gKCgocmF0aW5nID8/IDApL21heCkgKiA1KS50b1ByZWNpc2lvbigyKTtcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { transformMagentoCategorySchema } from './category/category';
2
+ import { transformMagentoProductSchema } from './product/product';
3
+ export const transformSchema = (resolution) => {
4
+ switch (resolution.type) {
5
+ case 'PRODUCT':
6
+ return transformMagentoProductSchema(resolution);
7
+ case 'CATEGORY':
8
+ return transformMagentoCategorySchema(resolution);
9
+ default:
10
+ return null;
11
+ }
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvLzIuNC4zL3NyYy90cmFuc2Zvcm1zL3NjaGVtYS90cmFuc2Zvcm0tc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFVBQXdCLEVBQThCLEVBQUU7SUFDdEYsUUFBTyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsS0FBSyxTQUFTO1lBQ1osT0FBTyw2QkFBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxLQUFLLFVBQVU7WUFDYixPQUFPLDhCQUE4QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BEO1lBQ0UsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9Sb3V0ZSB9IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8nO1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1NYWdlbnRvQ2F0ZWdvcnlTY2hlbWEgfSBmcm9tICcuL2NhdGVnb3J5L2NhdGVnb3J5JztcbmltcG9ydCB7IHRyYW5zZm9ybU1hZ2VudG9Qcm9kdWN0U2NoZW1hIH0gZnJvbSAnLi9wcm9kdWN0L3Byb2R1Y3QnO1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtU2NoZW1hID0gKHJlc29sdXRpb246IE1hZ2VudG9Sb3V0ZSk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsID0+IHtcbiAgc3dpdGNoKHJlc29sdXRpb24udHlwZSkge1xuICAgIGNhc2UgJ1BST0RVQ1QnOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybU1hZ2VudG9Qcm9kdWN0U2NoZW1hKHJlc29sdXRpb24pO1xuICAgIGNhc2UgJ0NBVEVHT1JZJzpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NYWdlbnRvQ2F0ZWdvcnlTY2hlbWEocmVzb2x1dGlvbik7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuIl19
@@ -0,0 +1,28 @@
1
+ import { clientifyUrlPath } from './schema/clientify-url-path';
2
+ export const transformClientUrls = (route, origin) => {
3
+ if (!route) {
4
+ return route;
5
+ }
6
+ switch (route.type) {
7
+ case 'CATEGORY':
8
+ return {
9
+ ...route,
10
+ canonical_url: clientifyUrlPath(route.canonical_url, origin),
11
+ products: {
12
+ items: route.products.items.map((product) => ({
13
+ ...product,
14
+ canonical_url: clientifyUrlPath(product.canonical_url, origin),
15
+ })),
16
+ },
17
+ };
18
+ case 'PRODUCT':
19
+ return {
20
+ ...route,
21
+ canonical_url: clientifyUrlPath(route.canonical_url, origin),
22
+ };
23
+ default:
24
+ return route;
25
+ }
26
+ return route;
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLWNsaWVudC11cmxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8vMi40LjMvc3JjL3RyYW5zZm9ybXMvdHJhbnNmb3JtLWNsaWVudC11cmxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQXlCLEtBQVEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN0RixJQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLFVBQVU7WUFDYixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixhQUFhLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Z0JBQzVELFFBQVEsRUFBRTtvQkFDUixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM1QyxHQUFHLE9BQU87d0JBQ1YsYUFBYSxFQUFFLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO3FCQUMvRCxDQUFDLENBQUM7aUJBQ0o7YUFDRixDQUFDO1FBQ0osS0FBSyxTQUFTO1lBQ1osT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsYUFBYSxFQUFFLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO2FBQzdELENBQUM7UUFDSjtZQUNFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9Sb3V0ZSB9IGZyb20gJ0BkYWZmb2RpbC9leHRlcm5hbC1yb3V0ZXIvZHJpdmVyL21hZ2VudG8nO1xuXG5pbXBvcnQgeyBjbGllbnRpZnlVcmxQYXRoIH0gZnJvbSAnLi9zY2hlbWEvY2xpZW50aWZ5LXVybC1wYXRoJztcblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUNsaWVudFVybHMgPSA8VCBleHRlbmRzIE1hZ2VudG9Sb3V0ZT4ocm91dGU6IFQsIG9yaWdpbjogc3RyaW5nKSA9PiB7XG4gIGlmKCFyb3V0ZSkge1xuICAgIHJldHVybiByb3V0ZTtcbiAgfVxuXG4gIHN3aXRjaChyb3V0ZS50eXBlKSB7XG4gICAgY2FzZSAnQ0FURUdPUlknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucm91dGUsXG4gICAgICAgIGNhbm9uaWNhbF91cmw6IGNsaWVudGlmeVVybFBhdGgocm91dGUuY2Fub25pY2FsX3VybCwgb3JpZ2luKSxcbiAgICAgICAgcHJvZHVjdHM6IHtcbiAgICAgICAgICBpdGVtczogcm91dGUucHJvZHVjdHMuaXRlbXMubWFwKChwcm9kdWN0KSA9PiAoe1xuICAgICAgICAgICAgLi4ucHJvZHVjdCxcbiAgICAgICAgICAgIGNhbm9uaWNhbF91cmw6IGNsaWVudGlmeVVybFBhdGgocHJvZHVjdC5jYW5vbmljYWxfdXJsLCBvcmlnaW4pLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgY2FzZSAnUFJPRFVDVCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yb3V0ZSxcbiAgICAgICAgY2Fub25pY2FsX3VybDogY2xpZW50aWZ5VXJsUGF0aChyb3V0ZS5jYW5vbmljYWxfdXJsLCBvcmlnaW4pLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHJvdXRlO1xuICB9XG4gIHJldHVybiByb3V0ZTtcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcm91dGUtcHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvL3NyYy9tb2RlbC9jYXRlZ29yeS1yb3V0ZS1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1hZ2VudG9DYXRlZ29yeVJvdXRlUHJvZHVjdCB7XG4gIC8qKlxuICAgKiBUaGUgcmVsYXRpdmUgcGF0aCBmb3IgdGhlIHJvdXRlLlxuICAgKi9cbiAgcmVsYXRpdmVfdXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHJvdXRlLCB0eXBpY2FsbHkgUFJPRFVDVCwgQ0FURUdPUlkgb3IgQ01TX1BBR0VcbiAgICovXG4gIHR5cGU6ICdQUk9EVUNUJztcblxuICAvKipcbiAgICogVGhlIEhUVFAgY29kZSBmb3IgdGhlIHBhZ2UuXG4gICAqL1xuICByZWRpcmVjdF9jb2RlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluIHYyLjQuMyB0aGlzIGJlY2FtZSB0aGUgc3RhbmRhcmQgZmllbGQgYWNyb3NzIHR5cGVzXG4gICAqL1xuICB1aWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbm9uaWNhbCB1cmwgb2YgdGhlIHJvdXRlLlxuICAgKi9cbiAgY2Fub25pY2FsX3VybDogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvdXRlXG4gICAqL1xuICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIHJvdXRlXG4gICAqL1xuICBtZXRhX3RpdGxlOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgc2t1IG9mIGEgcHJvZHVjdC5cbiAgICovXG4gIHNrdTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHJldmlld3Mgb2YgYSBwcm9kdWN0LlxuICAgKi9cbiAgcmV2aWV3X2NvdW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByYXRpbmcgb2YgYSBwcm9kdWN0LlxuICAgKi9cbiAgcmF0aW5nX3N1bW1hcnk6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGltYWdlcyBvZiBhIHByb2R1Y3QuXG4gICAqL1xuICBpbWFnZTogeyB1cmw6IHN0cmluZ307XG5cbiAgLyoqXG4gICAqIFRoZSBwcmljZSBvZiB0aGUgaXRlbS5cbiAgICovXG4gIHByaWNlX3JhbmdlOiB7XG4gICAgbWF4aW11bV9wcmljZToge1xuICAgICAgZmluYWxfcHJpY2U6IHsgY3VycmVuY3k6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9O1xuICAgICAgcmVndWxhcl9wcmljZTogeyBjdXJyZW5jeTogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH07XG4gICAgfTtcbiAgICBtaW5pbXVtX3ByaWNlOiB7XG4gICAgICBmaW5hbF9wcmljZTogeyBjdXJyZW5jeTogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH07XG4gICAgICByZWd1bGFyX3ByaWNlOiB7IGN1cnJlbmN5OiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfTtcbiAgICB9O1xuICB9O1xuXG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHJvdXRlLlxuICAgKi9cbiAgX190eXBlbmFtZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50by9zcmMvbW9kZWwvY2F0ZWdvcnktcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9DYXRlZ29yeVJvdXRlUHJvZHVjdCB9IGZyb20gJy4vY2F0ZWdvcnktcm91dGUtcHJvZHVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFnZW50b0NhdGVnb3J5Um91dGUge1xuICAvKipcbiAgICogVGhlIHJlbGF0aXZlIHBhdGggZm9yIHRoZSByb3V0ZS5cbiAgICovXG4gIHJlbGF0aXZlX3VybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiByb3V0ZSwgdHlwaWNhbGx5IFBST0RVQ1QsIENBVEVHT1JZIG9yIENNU19QQUdFXG4gICAqL1xuICB0eXBlOiAnQ0FURUdPUlknO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBjb2RlIGZvciB0aGUgcGFnZS5cbiAgICovXG4gIHJlZGlyZWN0X2NvZGU6IG51bWJlcjtcblxuICAvKipcbiAgICogSW4gdjIuNC4zIHRoaXMgYmVjYW1lIHRoZSBzdGFuZGFyZCBmaWVsZCBhY3Jvc3MgdHlwZXNcbiAgICovXG4gIHVpZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbm9uaWNhbCB1cmwgb2YgdGhlIHJvdXRlLlxuICAgKi9cbiAgY2Fub25pY2FsX3VybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1ldGEgZGVzY3JpcHRpb24gb2YgdGhlIHJvdXRlXG4gICAqL1xuICBtZXRhX2Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcm91dGVcbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgcm91dGVcbiAgICovXG4gIG1ldGFfdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGl0ZW1zIGluIHRoZSBjYXRlZ29yeS5cbiAgICovXG4gIHByb2R1Y3RzOiB7XG4gICAgaXRlbXM6IE1hZ2VudG9DYXRlZ29yeVJvdXRlUHJvZHVjdFtdO1xuICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvL3NyYy9tb2RlbC9wcm9kdWN0LXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1hZ2VudG9Qcm9kdWN0Um91dGUge1xuICAvKipcbiAgICogVGhlIHJlbGF0aXZlIHBhdGggZm9yIHRoZSByb3V0ZS5cbiAgICovXG4gIHJlbGF0aXZlX3VybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiByb3V0ZSwgdHlwaWNhbGx5IFBST0RVQ1QsIENBVEVHT1JZIG9yIENNU19QQUdFXG4gICAqL1xuICB0eXBlOiAnUFJPRFVDVCc7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIGNvZGUgZm9yIHRoZSBwYWdlLlxuICAgKi9cbiAgcmVkaXJlY3RfY29kZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbiB2Mi40LjMgdGhpcyBiZWNhbWUgdGhlIHN0YW5kYXJkIGZpZWxkIGFjcm9zcyB0eXBlc1xuICAgKi9cbiAgdWlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjYW5vbmljYWwgdXJsIG9mIHRoZSByb3V0ZS5cbiAgICovXG4gIGNhbm9uaWNhbF91cmw6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhIGRlc2NyaXB0aW9uIG9mIHRoZSByb3V0ZVxuICAgKi9cbiAgbWV0YV9kZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvdXRlXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgcm91dGVcbiAgICovXG4gIG1ldGFfdGl0bGU6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBza3Ugb2YgYSBwcm9kdWN0LlxuICAgKi9cbiAgc2t1OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgcmV2aWV3cyBvZiBhIHByb2R1Y3QuXG4gICAqL1xuICByZXZpZXdfY291bnQ6IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSByYXRpbmcgb2YgYSBwcm9kdWN0LlxuICAgKi9cbiAgcmF0aW5nX3N1bW1hcnk6IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZXMgb2YgYSBwcm9kdWN0LlxuICAgKi9cbiAgaW1hZ2U/OiB7IHVybDogc3RyaW5nfTtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygcm91dGUuXG4gICAqL1xuICBfX3R5cGVuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmljZSBvZiB0aGUgaXRlbS5cbiAgICovXG4gIHByaWNlX3JhbmdlOiB7XG4gICAgbWF4aW11bV9wcmljZToge1xuICAgICAgZmluYWxfcHJpY2U6IHsgY3VycmVuY3k6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9O1xuICAgICAgcmVndWxhcl9wcmljZTogeyBjdXJyZW5jeTogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH07XG4gICAgfTtcbiAgICBtaW5pbXVtX3ByaWNlOiB7XG4gICAgICBmaW5hbF9wcmljZTogeyBjdXJyZW5jeTogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH07XG4gICAgICByZWd1bGFyX3ByaWNlOiB7IGN1cnJlbmN5OiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfTtcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgc3RvY2sgc3RhdHVzIG9mIGEgcHJvZHVjdC5cbiAgICovXG4gIHN0b2NrX3N0YXR1czogJ0lOX1NUT0NLJyB8ICdPVVRfT0ZfU1RPQ0snO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export { MagentoUrlRewriteEntityTypeEnum } from './resolution-types';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvL3NyYy9tb2RlbC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWFnZW50b1VybFJlc29sdmVyIH0gZnJvbSAnLi91cmwtcmVzb2x2ZXInO1xuZXhwb3J0IHsgTWFnZW50b1VybFJld3JpdGVFbnRpdHlUeXBlRW51bSB9IGZyb20gJy4vcmVzb2x1dGlvbi10eXBlcyc7XG5leHBvcnQgeyBNYWdlbnRvVXJsUmVzb2x2ZXJSZXNwb25zZSB9IGZyb20gJy4vdXJsLXJlc29sdmVyLXJlc3BvbnNlJztcbmV4cG9ydCB7IE1hZ2VudG9Sb3V0ZSB9IGZyb20gJy4vcm91dGUnO1xuZXhwb3J0IHsgTWFnZW50b1JvdXRlUmVzcG9uc2UgfSBmcm9tICcuL3JvdXRlLXJlc3BvbnNlJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL2RyaXZlci9tYWdlbnRvL3NyYy9tb2RlbC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWFnZW50b1VybFJlc29sdmVyIH0gZnJvbSAnLi91cmwtcmVzb2x2ZXInO1xuZXhwb3J0IHsgTWFnZW50b1VybFJld3JpdGVFbnRpdHlUeXBlRW51bSB9IGZyb20gJy4vcmVzb2x1dGlvbi10eXBlcyc7XG5leHBvcnQgeyBNYWdlbnRvVXJsUmVzb2x2ZXJSZXNwb25zZSB9IGZyb20gJy4vdXJsLXJlc29sdmVyLXJlc3BvbnNlJztcbmV4cG9ydCB7IE1hZ2VudG9Sb3V0ZSB9IGZyb20gJy4vcm91dGUnO1xuZXhwb3J0IHsgTWFnZW50b1JvdXRlUmVzcG9uc2UgfSBmcm9tICcuL3JvdXRlLXJlc3BvbnNlJztcbmV4cG9ydCB7IE1hZ2VudG9Qcm9kdWN0Um91dGUgfSBmcm9tICcuL3Byb2R1Y3Qtcm91dGUnO1xuZXhwb3J0IHsgTWFnZW50b0NhdGVnb3J5Um91dGUgfSBmcm9tICcuL2NhdGVnb3J5LXJvdXRlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50by9zcmMvbW9kZWwvcm91dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWFnZW50b1JvdXRhYmxlIHtcbiAgLyoqXG4gICAqIFRoZSByZWxhdGl2ZSBwYXRoIGZvciB0aGUgcm91dGUuXG4gICAqL1xuICByZWxhdGl2ZV91cmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygcm91dGUsIHR5cGljYWxseSBQUk9EVUNULCBDQVRFR09SWSBvciBDTVNfUEFHRVxuICAgKi9cbiAgdHlwZTogJ1VOS05PV04nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIEhUVFAgY29kZSBmb3IgdGhlIHBhZ2UuXG4gICAqL1xuICByZWRpcmVjdF9jb2RlOiBudW1iZXI7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50by9zcmMvbW9kZWwvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWFnZW50b1JvdXRlIHtcbiAgLyoqXG4gICAqIFRoZSByZWxhdGl2ZSBwYXRoIGZvciB0aGUgcm91dGUuXG4gICAqL1xuICByZWxhdGl2ZV91cmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2Ygcm91dGUsIHR5cGljYWxseSBQUk9EVUNULCBDQVRFR09SWSBvciBDTVNfUEFHRVxuICAgKi9cbiAgdHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBjb2RlIGZvciB0aGUgcGFnZS5cbiAgICovXG4gIHJlZGlyZWN0X2NvZGU6IG51bWJlcjtcblxuICAvKipcbiAgICogSW4gdjIuNC4zIHRoaXMgYmVjYW1lIHRoZSBzdGFuZGFyZCBmaWVsZCBhY3Jvc3MgdHlwZXNcbiAgICovXG4gIHVpZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbm9uaWNhbCB1cmwgb2YgdGhlIHJvdXRlLlxuICAgKi9cbiAgY2Fub25pY2FsX3VybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1ldGEgZGVzY3JpcHRpb24gb2YgdGhlIHJvdXRlXG4gICAqL1xuICBtZXRhX2Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcm91dGVcbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgcm91dGVcbiAgICovXG4gIG1ldGFfdGl0bGU/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2V4dGVybmFsLXJvdXRlci9kcml2ZXIvbWFnZW50by9zcmMvbW9kZWwvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hZ2VudG9DYXRlZ29yeVJvdXRlIH0gZnJvbSAnLi9jYXRlZ29yeS1yb3V0ZSc7XG5pbXBvcnQgeyBNYWdlbnRvUHJvZHVjdFJvdXRlIH0gZnJvbSAnLi9wcm9kdWN0LXJvdXRlJztcbmltcG9ydCB7IE1hZ2VudG9Sb3V0YWJsZSB9IGZyb20gJy4vcm91dGFibGUnO1xuXG5leHBvcnQgdHlwZSBNYWdlbnRvUm91dGUgPSBNYWdlbnRvUm91dGFibGUgfCBNYWdlbnRvUHJvZHVjdFJvdXRlIHwgTWFnZW50b0NhdGVnb3J5Um91dGU7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL3NyYy9tb2RlbC9yb3V0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERhdGEgYXNzb2NpYXRlZCB3aXRoIGEgcm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGFmZlJvdXRlRGF0YSB7XG4gIGNhbm9uaWNhbF91cmw/OiBzdHJpbmc7XG4gIG1ldGFfZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvZXh0ZXJuYWwtcm91dGVyL3NyYy9tb2RlbC9yb3V0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERhdGEgYXNzb2NpYXRlZCB3aXRoIGEgcm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGFmZlJvdXRlRGF0YSB7XG5cbiAgLyoqXG4gICAqIFRoZSBjYW5vbmljYWwgdXJsIG9mIHRoZSByb3V0ZS5cbiAgICovXG4gIGNhbm9uaWNhbF91cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhIGRlc2NyaXB0aW9uIG9mIHRoZSByb3V0ZS5cbiAgICovXG4gIG1ldGFfZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgcm91dGUuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gYXNzb2NpYXRlZCBzY2hlbWEgZm9yIHRoZSByb3V0ZS4gIFNlZSB7QGxpbmsgU2NoZW1hfSBmb3IgZnVsbCBjYXBhYmlsaXRpZXMuXG4gICAqL1xuICBzY2hlbWE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cbiJdfQ==
@@ -1,12 +1,12 @@
1
+ import { DOCUMENT, CommonModule } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule, makeEnvironmentProviders } from '@angular/core';
3
+ import { Injectable, Inject, NgModule, makeEnvironmentProviders } from '@angular/core';
3
4
  import * as i1 from 'apollo-angular';
4
5
  import { gql } from 'apollo-angular';
5
6
  import { map } from 'rxjs/operators';
6
7
  import { daffUriTruncateLeadingSlash, daffUriTruncateQueryFragment } from '@daffodil/core/routing';
7
8
  import { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION, provideDaffExternalRouterDriver } from '@daffodil/external-router/driver';
8
9
  import { magentoTransformRedirectToHttpCode } from '@daffodil/external-router/driver/magento';
9
- import { CommonModule } from '@angular/common';
10
10
  import { provideDaffMagentoCacheableOperation } from '@daffodil/driver/magento';
11
11
 
12
12
  const DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME = 'MagentoResolveUrlv243';
@@ -23,9 +23,44 @@ const MagentoResolveUrlv243 = gql `
23
23
  ... on CategoryInterface {
24
24
  uid
25
25
  name
26
- meta_description
27
26
  meta_title
28
27
  canonical_url
28
+ products {
29
+ items {
30
+ name
31
+ meta_description
32
+ meta_title
33
+ canonical_url
34
+ sku
35
+ review_count
36
+ rating_summary
37
+ image {
38
+ url
39
+ }
40
+ price_range {
41
+ minimum_price {
42
+ regular_price {
43
+ currency
44
+ value
45
+ }
46
+ final_price {
47
+ currency
48
+ value
49
+ }
50
+ }
51
+ maximum_price {
52
+ regular_price {
53
+ currency
54
+ value
55
+ }
56
+ final_price {
57
+ currency
58
+ value
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
29
64
  }
30
65
  ... on ProductInterface {
31
66
  uid
@@ -33,23 +68,190 @@ const MagentoResolveUrlv243 = gql `
33
68
  meta_description
34
69
  meta_title
35
70
  canonical_url
71
+ sku
72
+ review_count
73
+ rating_summary
74
+ image {
75
+ url
76
+ }
77
+ stock_status
78
+ price_range {
79
+ minimum_price {
80
+ regular_price {
81
+ currency
82
+ value
83
+ }
84
+ final_price {
85
+ currency
86
+ value
87
+ }
88
+ }
89
+ maximum_price {
90
+ regular_price {
91
+ currency
92
+ value
93
+ }
94
+ final_price {
95
+ currency
96
+ value
97
+ }
98
+ }
99
+ }
36
100
  }
37
101
  }
38
102
  }
39
103
  `;
40
104
 
41
- const transformResolutionToResolvableUrlv243 = (resolution) => (resolution ? {
105
+ /**
106
+ * Rescales a rating value from it's max rating
107
+ * to a scale of 5.
108
+ */
109
+ const rescaleRatingOutOf5 = (rating, max) => (((rating ?? 0) / max) * 5).toPrecision(2);
110
+
111
+ const transformMagentoBaseProduct = (product) => ({
112
+ '@context': 'https://schema.org/',
113
+ '@type': 'Product',
114
+ url: product.canonical_url,
115
+ sku: product.sku,
116
+ name: product.meta_title ?? product.name ?? '',
117
+ ...(product.meta_description && { description: product.meta_description }),
118
+ ...(product.review_count > 0 && { aggregateRating: {
119
+ '@type': 'AggregateRating',
120
+ ratingValue: rescaleRatingOutOf5(product.rating_summary, 100),
121
+ reviewCount: product.review_count,
122
+ } }),
123
+ image: product.image?.url,
124
+ });
125
+
126
+ const transformMagentoBundleProduct = (resolution) => ({
127
+ ...transformMagentoBaseProduct(resolution),
128
+ offers: {
129
+ '@type': 'AggregateOffer',
130
+ lowPrice: resolution.price_range.minimum_price.final_price.value,
131
+ highPrice: resolution.price_range.maximum_price.final_price.value,
132
+ priceCurrency: resolution.price_range.maximum_price.final_price.currency,
133
+ },
134
+ });
135
+
136
+ const transformMagentoConfigurableProduct = (resolution) => ({
137
+ ...transformMagentoBaseProduct(resolution),
138
+ offers: {
139
+ '@type': 'AggregateOffer',
140
+ lowPrice: resolution.price_range.minimum_price.final_price.value,
141
+ highPrice: resolution.price_range.maximum_price.final_price.value,
142
+ priceCurrency: resolution.price_range.maximum_price.final_price.currency,
143
+ },
144
+ });
145
+
146
+ const transformMagentoSimpleProduct = (resolution) => ({
147
+ ...transformMagentoBaseProduct(resolution),
148
+ offers: {
149
+ '@type': 'Offer',
150
+ url: resolution.canonical_url,
151
+ ...(resolution.stock_status && {
152
+ availability: resolution.stock_status === 'IN_STOCK' ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
153
+ }),
154
+ priceSpecification: [
155
+ {
156
+ '@type': 'UnitPriceSpecification',
157
+ price: resolution.price_range.maximum_price.final_price.value,
158
+ priceCurrency: resolution.price_range.maximum_price.final_price.currency,
159
+ },
160
+ {
161
+ '@type': 'UnitPriceSpecification',
162
+ priceType: 'https://schema.org/ListPrice',
163
+ price: resolution.price_range.maximum_price.regular_price.value,
164
+ priceCurrency: resolution.price_range.maximum_price.regular_price.currency,
165
+ },
166
+ ],
167
+ },
168
+ });
169
+
170
+ /**
171
+ * Computes supplementary SEO schema for Magento product routes.
172
+ */
173
+ const transformMagentoProductSchema = (resolution) => {
174
+ switch (resolution.__typename) {
175
+ case 'BundleProduct':
176
+ return transformMagentoBundleProduct(resolution);
177
+ case 'ConfigurableProduct':
178
+ return transformMagentoConfigurableProduct(resolution);
179
+ case 'SimpleProduct':
180
+ return transformMagentoSimpleProduct(resolution);
181
+ default:
182
+ return transformMagentoBaseProduct(resolution);
183
+ }
184
+ };
185
+
186
+ const transformMagentoCategorySchema = (resolution) => ({
187
+ '@context': 'https://schema.org',
188
+ '@type': 'ItemList',
189
+ itemListElement: resolution.products.items.map((item, index) => ({
190
+ '@type': 'ListItem',
191
+ position: index,
192
+ item: transformMagentoProductSchema({
193
+ ...item,
194
+ meta_description: undefined,
195
+ stock_status: undefined,
196
+ }),
197
+ })),
198
+ });
199
+
200
+ const transformSchema = (resolution) => {
201
+ switch (resolution.type) {
202
+ case 'PRODUCT':
203
+ return transformMagentoProductSchema(resolution);
204
+ case 'CATEGORY':
205
+ return transformMagentoCategorySchema(resolution);
206
+ default:
207
+ return null;
208
+ }
209
+ };
210
+
211
+ const transformResolutionToResolvableUrlv243 = (resolution) => (resolution && (resolution.type === 'CATEGORY' || resolution.type === 'PRODUCT') ? {
42
212
  id: resolution.uid,
43
213
  url: daffUriTruncateLeadingSlash(daffUriTruncateQueryFragment(resolution.relative_url)),
44
214
  type: resolution.type,
45
215
  code: magentoTransformRedirectToHttpCode(resolution.redirect_code),
46
216
  data: {
47
- canonical_url: resolution.canonical_url,
217
+ canonical_url: resolution?.canonical_url,
48
218
  title: resolution.meta_title ?? resolution.name ?? '',
49
219
  meta_description: resolution.meta_description,
220
+ schema: {
221
+ ...transformSchema(resolution),
222
+ },
50
223
  },
51
224
  } : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);
52
225
 
226
+ const clientifyUrlPath = (path, domain) => path ? new URL(path, domain).toString() : path;
227
+
228
+ const transformClientUrls = (route, origin) => {
229
+ if (!route) {
230
+ return route;
231
+ }
232
+ switch (route.type) {
233
+ case 'CATEGORY':
234
+ return {
235
+ ...route,
236
+ canonical_url: clientifyUrlPath(route.canonical_url, origin),
237
+ products: {
238
+ items: route.products.items.map((product) => ({
239
+ ...product,
240
+ canonical_url: clientifyUrlPath(product.canonical_url, origin),
241
+ })),
242
+ },
243
+ };
244
+ case 'PRODUCT':
245
+ return {
246
+ ...route,
247
+ canonical_url: clientifyUrlPath(route.canonical_url, origin),
248
+ };
249
+ default:
250
+ return route;
251
+ }
252
+ return route;
253
+ };
254
+
53
255
  /**
54
256
  * The DaffExternalRouterMagentoDriver is responsible for translating an
55
257
  * arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.
@@ -57,8 +259,9 @@ const transformResolutionToResolvableUrlv243 = (resolution) => (resolution ? {
57
259
  * @inheritdoc
58
260
  */
59
261
  class DaffExternalRouterMagentoDriver {
60
- constructor(apollo) {
262
+ constructor(apollo, document) {
61
263
  this.apollo = apollo;
264
+ this.document = document;
62
265
  }
63
266
  resolve(url) {
64
267
  return this.apollo
@@ -68,9 +271,9 @@ class DaffExternalRouterMagentoDriver {
68
271
  url,
69
272
  },
70
273
  })
71
- .pipe(map(response => transformResolutionToResolvableUrlv243(response.data.route)));
274
+ .pipe(map((response) => response.data.route), map((route) => transformClientUrls(route, this.document.location.origin)), map(route => transformResolutionToResolvableUrlv243(route)));
72
275
  }
73
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
276
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, deps: [{ token: i1.Apollo }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
277
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, providedIn: 'root' }); }
75
278
  }
76
279
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffExternalRouterMagentoDriver, decorators: [{
@@ -78,7 +281,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
78
281
  args: [{
79
282
  providedIn: 'root',
80
283
  }]
81
- }], ctorParameters: () => [{ type: i1.Apollo }] });
284
+ }], ctorParameters: () => [{ type: i1.Apollo }, { type: Document, decorators: [{
285
+ type: Inject,
286
+ args: [DOCUMENT]
287
+ }] }] });
82
288
 
83
289
  /**
84
290
  * The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-external-router-driver-magento-2.4.3.mjs","sources":["../../../libs/external-router/driver/magento/2.4.3/src/graphql/queries/resolve.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/resolution-to-resolvable-url.ts","../../../libs/external-router/driver/magento/2.4.3/src/magento.service.ts","../../../libs/external-router/driver/magento/2.4.3/src/magento.module.ts","../../../libs/external-router/driver/magento/2.4.3/src/provider.ts","../../../libs/external-router/driver/magento/2.4.3/src/public_api.ts","../../../libs/external-router/driver/magento/2.4.3/src/daffodil-external-router-driver-magento-2.4.3.ts"],"sourcesContent":["import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME = 'MagentoResolveUrlv243';\n\n/**\n * This query retrieves a URL resolution from Magento and informs you about\n * what type of route the URL is.\n */\nexport const MagentoResolveUrlv243 = gql`\n\tquery ${DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME}($url: String!) {\n\t\troute(url: $url) {\n\t\t\trelative_url\n\t\t\tredirect_code\n\t\t\ttype\n\t\t\t... on CategoryInterface {\n\t\t\t\tuid\n\t\t\t\tname\n\t\t\t\tmeta_description\n\t\t\t\tmeta_title\n\t\t\t\tcanonical_url\n\t\t\t}\n\t\t\t... on ProductInterface {\n\t\t\t\tuid\n\t\t\t\tname\n\t\t\t\tmeta_description\n\t\t\t\tmeta_title\n\t\t\t\tcanonical_url\n\t\t\t}\n\t\t}\n\t}\n`;\n","import {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\nimport {\n magentoTransformRedirectToHttpCode,\n MagentoRoute,\n} from '@daffodil/external-router/driver/magento';\n\n\nexport const transformResolutionToResolvableUrlv243 = (\n resolution: MagentoRoute,\n): DaffExternallyResolvableUrl => (resolution ? {\n id: resolution.uid,\n url: daffUriTruncateLeadingSlash(daffUriTruncateQueryFragment(resolution.relative_url)),\n type: resolution.type,\n code: magentoTransformRedirectToHttpCode(resolution.redirect_code),\n data: {\n canonical_url: resolution.canonical_url,\n title: resolution.meta_title ?? resolution.name ?? '',\n meta_description: resolution.meta_description,\n },\n} : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n","import { Injectable } from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';\nimport { MagentoRouteResponse } from '@daffodil/external-router/driver/magento';\n\nimport { MagentoResolveUrlv243 } from './graphql/queries/resolve';\nimport { transformResolutionToResolvableUrlv243 } from './transforms/resolution-to-resolvable-url';\n\n\n/**\n * The DaffExternalRouterMagentoDriver is responsible for translating an\n * arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterMagentoDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n private apollo: Apollo,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n return this.apollo\n .query<MagentoRouteResponse>({\n query: MagentoResolveUrlv243,\n variables: {\n url,\n },\n })\n .pipe(map(response => transformResolutionToResolvableUrlv243(response.data.route)));\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { provideDaffMagentoCacheableOperation } from '@daffodil/driver/magento';\nimport { provideDaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport { DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME } from './graphql/queries/resolve';\nimport { DaffExternalRouterMagentoDriver } from './magento.service';\n\n/**\n * The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.\n *\n * ```ts\n * @NgModule({\n * declarations: [],\n * imports: [\n * ...\n * DaffExternalRouterDriverMagentoModule.forRoot()\n * ],\n * })\n * export class AppModule{}\n * ```\n *\n * Note that this package depends upon ApolloClient, as the Magento driver uses GraphQl to make it's API calls.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverMagentoModule {\n\n /**\n * Configures the package for the root injector.\n */\n static forRoot(): ModuleWithProviders<DaffExternalRouterDriverMagentoModule> {\n return {\n ngModule: DaffExternalRouterDriverMagentoModule,\n providers: [\n provideDaffExternalRouterDriver(DaffExternalRouterMagentoDriver),\n provideDaffMagentoCacheableOperation(DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME),\n ],\n };\n }\n}\n","import {\n EnvironmentProviders,\n makeEnvironmentProviders,\n} from '@angular/core';\n\nimport { provideDaffMagentoCacheableOperation } from '@daffodil/driver/magento';\nimport { provideDaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport { DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME } from './graphql/queries/resolve';\nimport { DaffExternalRouterMagentoDriver } from './magento.service';\n\n/**\n * Provides a Magento implementation of {@link DaffExternalRouterDriver}.\n */\nexport const provideDaffExternalRouterMagentoDriver = (\n): EnvironmentProviders => makeEnvironmentProviders([\n provideDaffExternalRouterDriver(DaffExternalRouterMagentoDriver),\n provideDaffMagentoCacheableOperation(DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME),\n]);\n","/*\n * Public API Surface of @daffodil/external-router/driver/magento/2.4.3\n */\n\nexport { DaffExternalRouterMagentoDriver } from './magento.service';\nexport { DaffExternalRouterDriverMagentoModule } from './magento.module';\nexport { provideDaffExternalRouterMagentoDriver } from './provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-external-router-driver-magento-2.4.3.mjs","sources":["../../../libs/external-router/driver/magento/2.4.3/src/graphql/queries/resolve.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/rescale-rating.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/product/base.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/product/bundle.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/product/configurable.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/product/simple.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/product/product.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/category/category.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/transform-schema.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/resolution-to-resolvable-url.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/schema/clientify-url-path.ts","../../../libs/external-router/driver/magento/2.4.3/src/transforms/transform-client-urls.ts","../../../libs/external-router/driver/magento/2.4.3/src/magento.service.ts","../../../libs/external-router/driver/magento/2.4.3/src/magento.module.ts","../../../libs/external-router/driver/magento/2.4.3/src/provider.ts","../../../libs/external-router/driver/magento/2.4.3/src/public_api.ts","../../../libs/external-router/driver/magento/2.4.3/src/daffodil-external-router-driver-magento-2.4.3.ts"],"sourcesContent":["import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME = 'MagentoResolveUrlv243';\n\n/**\n * This query retrieves a URL resolution from Magento and informs you about\n * what type of route the URL is.\n */\nexport const MagentoResolveUrlv243 = gql`\n\tquery ${DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME}($url: String!) {\n\t\troute(url: $url) {\n\t\t\trelative_url\n\t\t\tredirect_code\n\t\t\ttype\n\t\t\t... on CategoryInterface {\n\t\t\t\tuid\n\t\t\t\tname\n\t\t\t\tmeta_title\n\t\t\t\tcanonical_url\n\t\t\t\tproducts {\n\t\t\t\t\titems {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\tmeta_description\n\t\t\t\t\t\t\tmeta_title\n\t\t\t\t\t\t\tcanonical_url\n\t\t\t\t\t\t\tsku\n\t\t\t\t\t\t\treview_count\n\t\t\t\t\t\t\trating_summary\n\t\t\t\t\t\t\timage {\n\t\t\t\t\t\t\t\turl\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprice_range {\n\t\t\t\t\t\t\t\tminimum_price {\n\t\t\t\t\t\t\t\t\tregular_price {\n\t\t\t\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfinal_price {\n\t\t\t\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmaximum_price {\n\t\t\t\t\t\t\t\t\tregular_price {\n\t\t\t\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfinal_price {\n\t\t\t\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t... on ProductInterface {\n\t\t\t\tuid\n\t\t\t\tname\n\t\t\t\tmeta_description\n\t\t\t\tmeta_title\n\t\t\t\tcanonical_url\n\t\t\t\tsku\n\t\t\t\treview_count\n\t\t\t\trating_summary\n\t\t\t\timage {\n\t\t\t\t\turl\n\t\t\t\t}\n\t\t\t\tstock_status\n\t\t\t\tprice_range {\n\t\t\t\t\tminimum_price {\n\t\t\t\t\t\tregular_price {\n\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinal_price {\n\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmaximum_price {\n\t\t\t\t\t\tregular_price {\n\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinal_price {\n\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n","/**\n * Rescales a rating value from it's max rating\n * to a scale of 5.\n */\nexport const rescaleRatingOutOf5 = (rating: number | null, max: number) => (((rating ?? 0)/max) * 5).toPrecision(2);\n","import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';\n\nimport { rescaleRatingOutOf5 } from '../rescale-rating';\n\nexport const transformMagentoBaseProduct = (product: MagentoProductRoute): Record<string, unknown> => ({\n '@context': 'https://schema.org/',\n '@type': 'Product',\n url: product.canonical_url,\n sku: product.sku,\n name: product.meta_title ?? product.name ?? '',\n ...(product.meta_description && { description: product.meta_description }),\n ...(product.review_count > 0 && { aggregateRating: {\n '@type': 'AggregateRating',\n ratingValue: rescaleRatingOutOf5(product.rating_summary, 100),\n reviewCount: product.review_count,\n }}),\n image: product.image?.url,\n});\n","import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';\n\nimport { transformMagentoBaseProduct } from './base';\n\nexport const transformMagentoBundleProduct = (resolution: MagentoProductRoute): Record<string, unknown> => ({\n ...transformMagentoBaseProduct(resolution),\n offers: {\n '@type': 'AggregateOffer',\n lowPrice: resolution.price_range.minimum_price.final_price.value,\n highPrice: resolution.price_range.maximum_price.final_price.value,\n priceCurrency: resolution.price_range.maximum_price.final_price.currency,\n },\n});\n","import {\n MagentoProductRoute,\n MagentoRoute,\n} from '@daffodil/external-router/driver/magento';\n\nimport { transformMagentoBaseProduct } from './base';\n\nexport const transformMagentoConfigurableProduct = (resolution: MagentoProductRoute): Record<string, unknown> => ({\n ...transformMagentoBaseProduct(resolution),\n offers: {\n '@type': 'AggregateOffer',\n lowPrice: resolution.price_range.minimum_price.final_price.value,\n highPrice: resolution.price_range.maximum_price.final_price.value,\n priceCurrency: resolution.price_range.maximum_price.final_price.currency,\n },\n});\n","\nimport { MagentoProductRoute } from '@daffodil/external-router/driver/magento';\n\nimport { transformMagentoBaseProduct } from './base';\n\nexport const transformMagentoSimpleProduct = (resolution: MagentoProductRoute): Record<string, unknown> => ({\n ...transformMagentoBaseProduct(resolution),\n offers: {\n '@type': 'Offer',\n url: resolution.canonical_url,\n ...(resolution.stock_status && {\n availability: resolution.stock_status === 'IN_STOCK' ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',\n }),\n priceSpecification: [\n {\n '@type': 'UnitPriceSpecification',\n price: resolution.price_range.maximum_price.final_price.value,\n priceCurrency: resolution.price_range.maximum_price.final_price.currency,\n },\n {\n '@type': 'UnitPriceSpecification',\n priceType: 'https://schema.org/ListPrice',\n price: resolution.price_range.maximum_price.regular_price.value,\n priceCurrency: resolution.price_range.maximum_price.regular_price.currency,\n },\n ],\n },\n});\n","import { MagentoProductRoute } from '@daffodil/external-router/driver/magento';\n\nimport { transformMagentoBaseProduct } from './base';\nimport { transformMagentoBundleProduct } from './bundle';\nimport { transformMagentoConfigurableProduct } from './configurable';\nimport { transformMagentoSimpleProduct } from './simple';\n\n/**\n * Computes supplementary SEO schema for Magento product routes.\n */\nexport const transformMagentoProductSchema = (resolution: MagentoProductRoute): Record<string, unknown> => {\n switch(resolution.__typename) {\n case 'BundleProduct':\n return transformMagentoBundleProduct(resolution);\n case 'ConfigurableProduct':\n return transformMagentoConfigurableProduct(resolution);\n case 'SimpleProduct':\n return transformMagentoSimpleProduct(resolution);\n default:\n return transformMagentoBaseProduct(resolution);\n }\n};\n","import { MagentoCategoryRoute } from '@daffodil/external-router/driver/magento';\n\nimport { transformMagentoProductSchema } from '../product/product';\nimport { rescaleRatingOutOf5 } from '../rescale-rating';\n\nexport const transformMagentoCategorySchema = (resolution: MagentoCategoryRoute): Record<string, unknown> => ({\n '@context': 'https://schema.org',\n '@type': 'ItemList',\n itemListElement: resolution.products.items.map((item, index) => ({\n '@type': 'ListItem',\n position: index,\n item: transformMagentoProductSchema({\n ...item,\n meta_description: undefined,\n stock_status: undefined,\n }),\n })),\n});\n","import { MagentoRoute } from '@daffodil/external-router/driver/magento';\n\nimport { transformMagentoCategorySchema } from './category/category';\nimport { transformMagentoProductSchema } from './product/product';\n\nexport const transformSchema = (resolution: MagentoRoute): Record<string, any> | null => {\n switch(resolution.type) {\n case 'PRODUCT':\n return transformMagentoProductSchema(resolution);\n case 'CATEGORY':\n return transformMagentoCategorySchema(resolution);\n default:\n return null;\n }\n};\n","import {\n daffUriTruncateLeadingSlash,\n daffUriTruncateQueryFragment,\n} from '@daffodil/core/routing';\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION } from '@daffodil/external-router/driver';\nimport {\n magentoTransformRedirectToHttpCode,\n MagentoRoute,\n} from '@daffodil/external-router/driver/magento';\n\nimport { transformSchema } from './schema/transform-schema';\n\nexport const transformResolutionToResolvableUrlv243 = (\n resolution: MagentoRoute,\n): DaffExternallyResolvableUrl => (resolution && (resolution.type === 'CATEGORY' || resolution.type ==='PRODUCT') ? {\n id: resolution.uid,\n url: daffUriTruncateLeadingSlash(daffUriTruncateQueryFragment(resolution.relative_url)),\n type: resolution.type,\n code: magentoTransformRedirectToHttpCode(resolution.redirect_code),\n data: {\n canonical_url: resolution?.canonical_url,\n title: resolution.meta_title ?? resolution.name ?? '',\n meta_description: resolution.meta_description,\n schema: {\n ...transformSchema(resolution),\n },\n },\n} : DAFF_EXTERNAL_ROUTER_NOT_FOUND_RESOLUTION);\n","export const clientifyUrlPath = <T extends string | null>(path: T, domain: string) => path ? new URL(path, domain).toString() : path;\n","import { MagentoRoute } from '@daffodil/external-router/driver/magento';\n\nimport { clientifyUrlPath } from './schema/clientify-url-path';\n\nexport const transformClientUrls = <T extends MagentoRoute>(route: T, origin: string) => {\n if(!route) {\n return route;\n }\n\n switch(route.type) {\n case 'CATEGORY':\n return {\n ...route,\n canonical_url: clientifyUrlPath(route.canonical_url, origin),\n products: {\n items: route.products.items.map((product) => ({\n ...product,\n canonical_url: clientifyUrlPath(product.canonical_url, origin),\n })),\n },\n };\n case 'PRODUCT':\n return {\n ...route,\n canonical_url: clientifyUrlPath(route.canonical_url, origin),\n };\n default:\n return route;\n }\n return route;\n};\n","import { DOCUMENT } from '@angular/common';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\nimport { DaffExternallyResolvableUrl } from '@daffodil/external-router';\nimport { DaffExternalRouterDriverInterface } from '@daffodil/external-router/driver';\nimport { MagentoRouteResponse } from '@daffodil/external-router/driver/magento';\n\nimport { MagentoResolveUrlv243 } from './graphql/queries/resolve';\nimport { transformResolutionToResolvableUrlv243 } from './transforms/resolution-to-resolvable-url';\nimport { transformClientUrls } from './transforms/transform-client-urls';\n\n\n/**\n * The DaffExternalRouterMagentoDriver is responsible for translating an\n * arbitrary URI into a DaffExternallyResolvableUrl with Magento environments.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffExternalRouterMagentoDriver\nimplements DaffExternalRouterDriverInterface {\n constructor(\n private apollo: Apollo,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n resolve(url: string): Observable<DaffExternallyResolvableUrl> {\n return this.apollo\n .query<MagentoRouteResponse>({\n query: MagentoResolveUrlv243,\n variables: {\n url,\n },\n })\n .pipe(\n map((response) => response.data.route),\n map((route) => transformClientUrls(route, this.document.location.origin)),\n map(route => transformResolutionToResolvableUrlv243(route)),\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { provideDaffMagentoCacheableOperation } from '@daffodil/driver/magento';\nimport { provideDaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport { DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME } from './graphql/queries/resolve';\nimport { DaffExternalRouterMagentoDriver } from './magento.service';\n\n/**\n * The module used to configure the {@link DaffExternalRouterDriver} for usage with Magento.\n *\n * ```ts\n * @NgModule({\n * declarations: [],\n * imports: [\n * ...\n * DaffExternalRouterDriverMagentoModule.forRoot()\n * ],\n * })\n * export class AppModule{}\n * ```\n *\n * Note that this package depends upon ApolloClient, as the Magento driver uses GraphQl to make it's API calls.\n */\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class DaffExternalRouterDriverMagentoModule {\n\n /**\n * Configures the package for the root injector.\n */\n static forRoot(): ModuleWithProviders<DaffExternalRouterDriverMagentoModule> {\n return {\n ngModule: DaffExternalRouterDriverMagentoModule,\n providers: [\n provideDaffExternalRouterDriver(DaffExternalRouterMagentoDriver),\n provideDaffMagentoCacheableOperation(DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME),\n ],\n };\n }\n}\n","import {\n EnvironmentProviders,\n makeEnvironmentProviders,\n} from '@angular/core';\n\nimport { provideDaffMagentoCacheableOperation } from '@daffodil/driver/magento';\nimport { provideDaffExternalRouterDriver } from '@daffodil/external-router/driver';\n\nimport { DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME } from './graphql/queries/resolve';\nimport { DaffExternalRouterMagentoDriver } from './magento.service';\n\n/**\n * Provides a Magento implementation of {@link DaffExternalRouterDriver}.\n */\nexport const provideDaffExternalRouterMagentoDriver = (\n): EnvironmentProviders => makeEnvironmentProviders([\n provideDaffExternalRouterDriver(DaffExternalRouterMagentoDriver),\n provideDaffMagentoCacheableOperation(DAFF_MAGENTO_RESOLVE_URL_QUERY_NAME),\n]);\n","/*\n * Public API Surface of @daffodil/external-router/driver/magento/2.4.3\n */\n\nexport { DaffExternalRouterMagentoDriver } from './magento.service';\nexport { DaffExternalRouterDriverMagentoModule } from './magento.module';\nexport { provideDaffExternalRouterMagentoDriver } from './provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,20 @@
2
2
  * Data associated with a route.
3
3
  */
4
4
  export interface DaffRouteData {
5
+ /**
6
+ * The canonical url of the route.
7
+ */
5
8
  canonical_url?: string;
9
+ /**
10
+ * The meta description of the route.
11
+ */
6
12
  meta_description?: string;
13
+ /**
14
+ * The title of the route.
15
+ */
7
16
  title?: string;
17
+ /**
18
+ * An associated schema for the route. See {@link Schema} for full capabilities.
19
+ */
20
+ schema?: Record<string, unknown>;
8
21
  }
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@daffodil/external-router","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/external-router"]}}},"version":"0.79.0","description":"A platform-agnostic package that connects the @angular/router with an external routing service (e.g. an API), allowing for runtime route resolution.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"homepage":"https://github.com/graycoreio/daffodil","peerDependencies":{"@angular/common":"^18.2.2","@angular/core":"^18.2.2","@angular/router":"^18.2.2","@daffodil/core":"0.79.0","rxjs":"7.8.1"},"optionalDependencies":{"apollo-angular":"^7.1.2","@daffodil/driver":"0.79.0"},"module":"fesm2022/daffodil-external-router.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/daffodil-external-router.mjs","esm":"./esm2022/daffodil-external-router.mjs","default":"./fesm2022/daffodil-external-router.mjs"},"./driver":{"types":"./driver/index.d.ts","esm2022":"./esm2022/driver/daffodil-external-router-driver.mjs","esm":"./esm2022/driver/daffodil-external-router-driver.mjs","default":"./fesm2022/daffodil-external-router-driver.mjs"},"./routing":{"types":"./routing/index.d.ts","esm2022":"./esm2022/routing/daffodil-external-router-routing.mjs","esm":"./esm2022/routing/daffodil-external-router-routing.mjs","default":"./fesm2022/daffodil-external-router-routing.mjs"},"./driver/in-memory":{"types":"./driver/in-memory/index.d.ts","esm2022":"./esm2022/driver/in-memory/daffodil-external-router-driver-in-memory.mjs","esm":"./esm2022/driver/in-memory/daffodil-external-router-driver-in-memory.mjs","default":"./fesm2022/daffodil-external-router-driver-in-memory.mjs"},"./driver/magento":{"types":"./driver/magento/index.d.ts","esm2022":"./esm2022/driver/magento/daffodil-external-router-driver-magento.mjs","esm":"./esm2022/driver/magento/daffodil-external-router-driver-magento.mjs","default":"./fesm2022/daffodil-external-router-driver-magento.mjs"},"./driver/testing":{"types":"./driver/testing/index.d.ts","esm2022":"./esm2022/driver/testing/daffodil-external-router-driver-testing.mjs","esm":"./esm2022/driver/testing/daffodil-external-router-driver-testing.mjs","default":"./fesm2022/daffodil-external-router-driver-testing.mjs"},"./driver/magento/2.4.1":{"types":"./driver/magento/2.4.1/index.d.ts","esm2022":"./esm2022/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.mjs","esm":"./esm2022/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.mjs","default":"./fesm2022/daffodil-external-router-driver-magento-2.4.1.mjs"},"./driver/magento/2.4.2":{"types":"./driver/magento/2.4.2/index.d.ts","esm2022":"./esm2022/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.mjs","esm":"./esm2022/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.mjs","default":"./fesm2022/daffodil-external-router-driver-magento-2.4.2.mjs"},"./driver/magento/2.4.3":{"types":"./driver/magento/2.4.3/index.d.ts","esm2022":"./esm2022/driver/magento/2.4.3/daffodil-external-router-driver-magento-2.4.3.mjs","esm":"./esm2022/driver/magento/2.4.3/daffodil-external-router-driver-magento-2.4.3.mjs","default":"./fesm2022/daffodil-external-router-driver-magento-2.4.3.mjs"}},"sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
1
+ {"name":"@daffodil/external-router","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/external-router"]}}},"version":"0.80.0","description":"A platform-agnostic package that connects the @angular/router with an external routing service (e.g. an API), allowing for runtime route resolution.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"homepage":"https://github.com/graycoreio/daffodil","peerDependencies":{"@angular/common":"^18.2.2","@angular/core":"^18.2.2","@angular/router":"^18.2.2","@daffodil/core":"0.80.0","rxjs":"7.8.1"},"optionalDependencies":{"apollo-angular":"^7.1.2","@daffodil/driver":"0.80.0"},"module":"fesm2022/daffodil-external-router.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/daffodil-external-router.mjs","esm":"./esm2022/daffodil-external-router.mjs","default":"./fesm2022/daffodil-external-router.mjs"},"./driver":{"types":"./driver/index.d.ts","esm2022":"./esm2022/driver/daffodil-external-router-driver.mjs","esm":"./esm2022/driver/daffodil-external-router-driver.mjs","default":"./fesm2022/daffodil-external-router-driver.mjs"},"./routing":{"types":"./routing/index.d.ts","esm2022":"./esm2022/routing/daffodil-external-router-routing.mjs","esm":"./esm2022/routing/daffodil-external-router-routing.mjs","default":"./fesm2022/daffodil-external-router-routing.mjs"},"./driver/in-memory":{"types":"./driver/in-memory/index.d.ts","esm2022":"./esm2022/driver/in-memory/daffodil-external-router-driver-in-memory.mjs","esm":"./esm2022/driver/in-memory/daffodil-external-router-driver-in-memory.mjs","default":"./fesm2022/daffodil-external-router-driver-in-memory.mjs"},"./driver/magento":{"types":"./driver/magento/index.d.ts","esm2022":"./esm2022/driver/magento/daffodil-external-router-driver-magento.mjs","esm":"./esm2022/driver/magento/daffodil-external-router-driver-magento.mjs","default":"./fesm2022/daffodil-external-router-driver-magento.mjs"},"./driver/testing":{"types":"./driver/testing/index.d.ts","esm2022":"./esm2022/driver/testing/daffodil-external-router-driver-testing.mjs","esm":"./esm2022/driver/testing/daffodil-external-router-driver-testing.mjs","default":"./fesm2022/daffodil-external-router-driver-testing.mjs"},"./driver/magento/2.4.1":{"types":"./driver/magento/2.4.1/index.d.ts","esm2022":"./esm2022/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.mjs","esm":"./esm2022/driver/magento/2.4.1/daffodil-external-router-driver-magento-2.4.1.mjs","default":"./fesm2022/daffodil-external-router-driver-magento-2.4.1.mjs"},"./driver/magento/2.4.2":{"types":"./driver/magento/2.4.2/index.d.ts","esm2022":"./esm2022/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.mjs","esm":"./esm2022/driver/magento/2.4.2/daffodil-external-router-driver-magento-2.4.2.mjs","default":"./fesm2022/daffodil-external-router-driver-magento-2.4.2.mjs"},"./driver/magento/2.4.3":{"types":"./driver/magento/2.4.3/index.d.ts","esm2022":"./esm2022/driver/magento/2.4.3/daffodil-external-router-driver-magento-2.4.3.mjs","esm":"./esm2022/driver/magento/2.4.3/daffodil-external-router-driver-magento-2.4.3.mjs","default":"./fesm2022/daffodil-external-router-driver-magento-2.4.3.mjs"}},"sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}