@daffodil/category 0.39.7 → 0.39.11
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.
- package/bundles/daffodil-category-driver-magento-testing.umd.js +3 -2
- package/bundles/daffodil-category-driver-magento-testing.umd.js.map +1 -1
- package/bundles/daffodil-category-driver-magento-testing.umd.min.js +2 -2
- package/bundles/daffodil-category-driver-magento-testing.umd.min.js.map +1 -1
- package/bundles/daffodil-category-driver-magento.umd.js +12 -8
- package/bundles/daffodil-category-driver-magento.umd.js.map +1 -1
- package/bundles/daffodil-category-driver-magento.umd.min.js +1 -1
- package/bundles/daffodil-category-driver-magento.umd.min.js.map +1 -1
- package/bundles/daffodil-category-testing.umd.js +3 -3
- package/bundles/daffodil-category-testing.umd.js.map +1 -1
- package/bundles/daffodil-category-testing.umd.min.js +2 -2
- package/bundles/daffodil-category-testing.umd.min.js.map +1 -1
- package/driver/magento/daffodil-category-driver-magento.metadata.json +1 -1
- package/driver/magento/models/category.d.ts +1 -0
- package/driver/magento/queries/fragments/category-tree.d.ts +1 -0
- package/driver/magento/queries/fragments/public_api.d.ts +1 -0
- package/driver/magento/queries/public_api.d.ts +1 -0
- package/driver/magento/testing/daffodil-category-driver-magento-testing.metadata.json +1 -1
- package/driver/magento/transformers/category-transformer.service.d.ts +2 -1
- package/esm2015/driver/magento/models/category.js +1 -1
- package/esm2015/driver/magento/queries/fragments/category-tree.js +27 -0
- package/esm2015/driver/magento/queries/fragments/public_api.js +2 -0
- package/esm2015/driver/magento/queries/get-category.js +6 -23
- package/esm2015/driver/magento/queries/public_api.js +2 -1
- package/esm2015/driver/magento/testing/factories/aggregation/aggregation.factory.js +2 -2
- package/esm2015/driver/magento/testing/factories/aggregation/type/price.factory.js +2 -2
- package/esm2015/driver/magento/testing/factories/aggregation/type/select.factory.js +2 -2
- package/esm2015/driver/magento/testing/factories/category.factory.js +3 -2
- package/esm2015/driver/magento/testing/factories/filter-type-field.factory.js +2 -2
- package/esm2015/driver/magento/testing/factories/page-info.factory.js +2 -2
- package/esm2015/driver/magento/testing/factories/sort-fields.factory.js +1 -1
- package/esm2015/driver/magento/transformers/category-response-transform.service.js +2 -2
- package/esm2015/driver/magento/transformers/category-transformer.service.js +4 -4
- package/esm2015/models/filters/type/equal/option.js +1 -1
- package/esm2015/testing/factories/category-page-metadata.factory.js +2 -2
- package/esm2015/testing/factories/category.factory.js +3 -3
- package/esm2015/testing/factories/filters/filter.factory.js +2 -2
- package/esm2015/testing/factories/filters/request.factory.js +2 -2
- package/esm2015/testing/factories/filters/toggle-request.js +2 -2
- package/esm2015/testing/factories/filters/type/equal/option.js +2 -2
- package/esm2015/testing/factories/filters/type/equal/request.js +2 -2
- package/esm2015/testing/factories/filters/type/equal/toggle-request.js +2 -2
- package/esm2015/testing/factories/filters/type/equal.js +2 -2
- package/esm2015/testing/factories/filters/type/range-numeric/option.js +2 -2
- package/esm2015/testing/factories/filters/type/range-numeric/pair.js +2 -2
- package/esm2015/testing/factories/filters/type/range-numeric/request-option.js +2 -2
- package/esm2015/testing/factories/filters/type/range-numeric/request.js +2 -2
- package/esm2015/testing/factories/filters/type/range-numeric/toggle-request.js +2 -2
- package/esm2015/testing/factories/filters/type/range-numeric.js +2 -2
- package/fesm2015/daffodil-category-driver-magento-testing.js +2 -1
- package/fesm2015/daffodil-category-driver-magento-testing.js.map +1 -1
- package/fesm2015/daffodil-category-driver-magento.js +19 -11
- package/fesm2015/daffodil-category-driver-magento.js.map +1 -1
- package/fesm2015/daffodil-category-testing.js +2 -2
- package/fesm2015/daffodil-category-testing.js.map +1 -1
- package/models/filters/type/equal/option.d.ts +3 -0
- package/package.json +5 -5
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-category-driver-magento-testing.js","sources":["../../../libs/category/driver/magento/testing/src/factories/aggregation/type/price.factory.ts","../../../libs/category/driver/magento/testing/src/factories/aggregation/type/select.factory.ts","../../../libs/category/driver/magento/testing/src/factories/aggregation/aggregation.factory.ts","../../../libs/category/driver/magento/testing/src/factories/category.factory.ts","../../../libs/category/driver/magento/testing/src/factories/filter-type-field.factory.ts","../../../libs/category/driver/magento/testing/src/factories/page-info.factory.ts","../../../libs/category/driver/magento/testing/src/factories/sort-fields.factory.ts","../../../libs/category/driver/magento/testing/src/daffodil-category-driver-magento-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoAggregationPrice implements MagentoAggregation {\n attribute_code = 'price';\n\ttype = MagentoCategoryFilterType.Range;\n\tcount = faker.datatype.number();\n\tlabel = 'Price';\n\toptions = [\n\t {\n\t value: '0-10',\n\t count: faker.datatype.number(),\n\t label: '0-10',\n\t },\n\t {\n\t value: '10-20',\n\t count: faker.datatype.number(),\n\t label: '10-20',\n\t },\n\t {\n\t value: '20-30',\n\t count: faker.datatype.number(),\n\t label: '20-30',\n\t },\n\t {\n\t value: '30-40',\n\t count: faker.datatype.number(),\n\t label: '30-40',\n\t },\n\t];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoAggregationPriceFactory extends DaffModelFactory<MagentoAggregation> {\n constructor(){\n super(MockMagentoAggregationPrice);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoAggregationSelect implements MagentoAggregation {\n attribute_code = 'select';\n\ttype = MagentoCategoryFilterType.Equal;\n\tcount = faker.datatype.number();\n\tlabel = faker.random.word();\n\toptions = [\n\t {\n\t count: faker.datatype.number(),\n\t label: faker.random.word(),\n\t value: faker.datatype.uuid(),\n\t },\n\t {\n\t count: faker.datatype.number(),\n\t label: faker.random.word(),\n\t value: faker.datatype.uuid(),\n\t },\n\t {\n\t count: faker.datatype.number(),\n\t label: faker.random.word(),\n\t value: faker.datatype.uuid(),\n\t },\n\t];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoAggregationSelectFactory extends DaffModelFactory<MagentoAggregation> {\n constructor(){\n super(MockMagentoAggregationSelect);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { MagentoAggregation } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryDriverMagentoAggregationPriceFactory } from './type/price.factory';\nimport { DaffCategoryDriverMagentoAggregationSelectFactory } from './type/select.factory';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoAggregationFactory extends DaffModelFactory<MagentoAggregation> {\n constructor(private selectFactory: DaffCategoryDriverMagentoAggregationSelectFactory, private priceFactory: DaffCategoryDriverMagentoAggregationPriceFactory){\n super(faker.datatype.number({ min: 1, max: 2 }) === 2 ? selectFactory.type : priceFactory.type);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { MagentoCategory } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoCategory implements MagentoCategory {\n uid = faker.random.alphaNumeric(10);\n url_path = faker.random.word();\n url_suffix = '.html';\n canonical_url = faker.internet.url();\n name? = faker.random.word();\n description? = faker.random.words(40);\n breadcrumbs? = [];\n level? = faker.datatype.number(15);\n children_count? = faker.datatype.number(15);\n products? = { items: []};\n children?: MagentoCategory[] = [];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoCategoryFactory extends DaffModelFactory<MagentoCategory> {\n constructor(){\n super(MockMagentoCategory);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n MagentoCategoryFilterTypeField,\n MagentoCategoryFilterType,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nconst TYPES = [\n MagentoCategoryFilterType.Equal,\n MagentoCategoryFilterType.Range,\n MagentoCategoryFilterType.Match,\n];\n\nclass MockMagentoCategoryFilterTypeField implements MagentoCategoryFilterTypeField {\n name = faker.random.word();\n type = {\n name: TYPES[faker.datatype.number({ min: 0, max: TYPES.length - 1 })],\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoCategoryFilterTypeFieldFactory extends DaffModelFactory<MagentoCategoryFilterTypeField> {\n constructor(){\n super(MockMagentoCategoryFilterTypeField);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n MagentoCategory,\n MagentoPageInfo,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoPageInfo implements MagentoPageInfo {\n current_page = 1;\n page_size = faker.datatype.number(100);\n total_pages = faker.datatype.number(100);\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoPageInfoFactory extends DaffModelFactory<MagentoPageInfo> {\n constructor(){\n super(MockMagentoPageInfo);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { MagentoSortFields } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoSortFields implements MagentoSortFields {\n default = 'position';\n options = [\n {\n label: 'string',\n value: 'position',\n },\n ];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoSortFieldsFactory extends DaffModelFactory<MagentoSortFields> {\n constructor(){\n super(MockMagentoSortFields);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["faker.datatype","faker.random","faker.internet"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-category-driver-magento-testing.js","sources":["../../../libs/category/driver/magento/testing/src/factories/aggregation/type/price.factory.ts","../../../libs/category/driver/magento/testing/src/factories/aggregation/type/select.factory.ts","../../../libs/category/driver/magento/testing/src/factories/aggregation/aggregation.factory.ts","../../../libs/category/driver/magento/testing/src/factories/category.factory.ts","../../../libs/category/driver/magento/testing/src/factories/filter-type-field.factory.ts","../../../libs/category/driver/magento/testing/src/factories/page-info.factory.ts","../../../libs/category/driver/magento/testing/src/factories/sort-fields.factory.ts","../../../libs/category/driver/magento/testing/src/daffodil-category-driver-magento-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoAggregationPrice implements MagentoAggregation {\n attribute_code = 'price';\n\ttype = MagentoCategoryFilterType.Range;\n\tcount = faker.datatype.number();\n\tlabel = 'Price';\n\toptions = [\n\t {\n\t value: '0-10',\n\t count: faker.datatype.number(),\n\t label: '0-10',\n\t },\n\t {\n\t value: '10-20',\n\t count: faker.datatype.number(),\n\t label: '10-20',\n\t },\n\t {\n\t value: '20-30',\n\t count: faker.datatype.number(),\n\t label: '20-30',\n\t },\n\t {\n\t value: '30-40',\n\t count: faker.datatype.number(),\n\t label: '30-40',\n\t },\n\t];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoAggregationPriceFactory extends DaffModelFactory<MagentoAggregation> {\n constructor(){\n super(MockMagentoAggregationPrice);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoAggregationSelect implements MagentoAggregation {\n attribute_code = 'select';\n\ttype = MagentoCategoryFilterType.Equal;\n\tcount = faker.datatype.number();\n\tlabel = faker.random.word();\n\toptions = [\n\t {\n\t count: faker.datatype.number(),\n\t label: faker.random.word(),\n\t value: faker.datatype.uuid(),\n\t },\n\t {\n\t count: faker.datatype.number(),\n\t label: faker.random.word(),\n\t value: faker.datatype.uuid(),\n\t },\n\t {\n\t count: faker.datatype.number(),\n\t label: faker.random.word(),\n\t value: faker.datatype.uuid(),\n\t },\n\t];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoAggregationSelectFactory extends DaffModelFactory<MagentoAggregation> {\n constructor(){\n super(MockMagentoAggregationSelect);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { MagentoAggregation } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryDriverMagentoAggregationPriceFactory } from './type/price.factory';\nimport { DaffCategoryDriverMagentoAggregationSelectFactory } from './type/select.factory';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoAggregationFactory extends DaffModelFactory<MagentoAggregation> {\n constructor(private selectFactory: DaffCategoryDriverMagentoAggregationSelectFactory, private priceFactory: DaffCategoryDriverMagentoAggregationPriceFactory){\n super(faker.datatype.number({ min: 1, max: 2 }) === 2 ? selectFactory.type : priceFactory.type);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { MagentoCategory } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoCategory implements MagentoCategory {\n __typename = 'CategoryTree';\n uid = faker.random.alphaNumeric(10);\n url_path = faker.random.word();\n url_suffix = '.html';\n canonical_url = faker.internet.url();\n name? = faker.random.word();\n description? = faker.random.words(40);\n breadcrumbs? = [];\n level? = faker.datatype.number(15);\n children_count? = faker.datatype.number(15);\n products? = { items: []};\n children?: MagentoCategory[] = [];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoCategoryFactory extends DaffModelFactory<MagentoCategory> {\n constructor(){\n super(MockMagentoCategory);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n MagentoCategoryFilterTypeField,\n MagentoCategoryFilterType,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nconst TYPES = [\n MagentoCategoryFilterType.Equal,\n MagentoCategoryFilterType.Range,\n MagentoCategoryFilterType.Match,\n];\n\nclass MockMagentoCategoryFilterTypeField implements MagentoCategoryFilterTypeField {\n name = faker.random.word();\n type = {\n name: TYPES[faker.datatype.number({ min: 0, max: TYPES.length - 1 })],\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoCategoryFilterTypeFieldFactory extends DaffModelFactory<MagentoCategoryFilterTypeField> {\n constructor(){\n super(MockMagentoCategoryFilterTypeField);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n MagentoCategory,\n MagentoPageInfo,\n} from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoPageInfo implements MagentoPageInfo {\n current_page = 1;\n page_size = faker.datatype.number(100);\n total_pages = faker.datatype.number(100);\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoPageInfoFactory extends DaffModelFactory<MagentoPageInfo> {\n constructor(){\n super(MockMagentoPageInfo);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { MagentoSortFields } from '@daffodil/category/driver/magento';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nclass MockMagentoSortFields implements MagentoSortFields {\n default = 'position';\n options = [\n {\n label: 'string',\n value: 'position',\n },\n ];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryDriverMagentoSortFieldsFactory extends DaffModelFactory<MagentoSortFields> {\n constructor(){\n super(MockMagentoSortFields);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["faker.datatype","faker.random","faker.internet"],"mappings":"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"}
|
@@ -44,11 +44,9 @@ query ${DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME} {
|
|
44
44
|
}
|
45
45
|
`;
|
46
46
|
|
47
|
-
const
|
48
|
-
|
49
|
-
|
50
|
-
categoryList(filters: $filters) {
|
51
|
-
uid
|
47
|
+
const magentoCategoryTreeFragment = gql `
|
48
|
+
fragment categoryTree on CategoryTree {
|
49
|
+
uid
|
52
50
|
url_path
|
53
51
|
url_suffix
|
54
52
|
canonical_url
|
@@ -69,8 +67,18 @@ query ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){
|
|
69
67
|
}
|
70
68
|
}
|
71
69
|
children_count
|
70
|
+
}
|
71
|
+
`;
|
72
|
+
|
73
|
+
const DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME = 'MagentoGetCategoryQuery';
|
74
|
+
const MagentoGetCategoryQuery = gql `
|
75
|
+
query ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){
|
76
|
+
categoryList(filters: $filters) {
|
77
|
+
...categoryTree
|
72
78
|
}
|
73
|
-
}
|
79
|
+
}
|
80
|
+
${magentoCategoryTreeFragment}
|
81
|
+
`;
|
74
82
|
|
75
83
|
const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';
|
76
84
|
/**
|
@@ -288,7 +296,7 @@ DaffMagentoCategoryPageConfigTransformerService.decorators = [
|
|
288
296
|
];
|
289
297
|
|
290
298
|
class DaffMagentoCategoryTransformerService {
|
291
|
-
transform(category) {
|
299
|
+
transform(category, products) {
|
292
300
|
var _a;
|
293
301
|
return {
|
294
302
|
id: category.uid,
|
@@ -300,8 +308,8 @@ class DaffMagentoCategoryTransformerService {
|
|
300
308
|
meta_description: category.meta_description,
|
301
309
|
children_count: category.children_count,
|
302
310
|
breadcrumbs: ((_a = category.breadcrumbs) === null || _a === void 0 ? void 0 : _a.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category)).sort((a, b) => a.level - b.level)) || null,
|
303
|
-
product_ids:
|
304
|
-
total_products:
|
311
|
+
product_ids: products.map(product => product.sku),
|
312
|
+
total_products: products.length,
|
305
313
|
};
|
306
314
|
}
|
307
315
|
transformBreadcrumb(breadcrumb, category) {
|
@@ -327,7 +335,7 @@ class DaffMagentoCategoryResponseTransformService {
|
|
327
335
|
this.magentoProductsTransformService = magentoProductsTransformService;
|
328
336
|
}
|
329
337
|
transform(completeCategory, mediaUrl) {
|
330
|
-
return Object.assign({ magentoCompleteCategoryResponse: completeCategory }, { category: this.magentoCategoryTransformerService.transform(completeCategory.category), categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory), products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl) });
|
338
|
+
return Object.assign({ magentoCompleteCategoryResponse: completeCategory }, { category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products), categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory), products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl) });
|
331
339
|
}
|
332
340
|
}
|
333
341
|
/** @nocollapse */ DaffMagentoCategoryResponseTransformService.ɵprov = ɵɵdefineInjectable({ factory: function DaffMagentoCategoryResponseTransformService_Factory() { return new DaffMagentoCategoryResponseTransformService(ɵɵinject(DaffMagentoCategoryTransformerService), ɵɵinject(DaffMagentoCategoryPageConfigTransformerService), ɵɵinject(DaffMagentoProductsTransformer)); }, token: DaffMagentoCategoryResponseTransformService, providedIn: "root" });
|
@@ -507,5 +515,5 @@ DaffCategoryMagentoDriverModule.decorators = [
|
|
507
515
|
* Generated bundle index. Do not edit.
|
508
516
|
*/
|
509
517
|
|
510
|
-
export { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME, DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME, DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME, DaffCategoryMagentoDriverModule, DaffMagentoAppliedFiltersTransformService, DaffMagentoAppliedSortOptionTransformService, DaffMagentoCategoryPageConfigTransformerService, DaffMagentoCategoryResponseTransformService, DaffMagentoCategoryService, DaffMagentoCategoryTransformerService, MAGENTO_CATEGORY_CONFIG_DEFAULT, MAGENTO_CATEGORY_CONFIG_TOKEN, MagentoCategoryFilterActionEnum, MagentoCategoryFilterType, MagentoGetCategoryFilterTypes, MagentoGetCategoryQuery, MagentoGetProductsQuery, MagentoSortDirectionEnum, magentoCategoryTruncateUrl as ɵa };
|
518
|
+
export { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME, DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME, DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME, DaffCategoryMagentoDriverModule, DaffMagentoAppliedFiltersTransformService, DaffMagentoAppliedSortOptionTransformService, DaffMagentoCategoryPageConfigTransformerService, DaffMagentoCategoryResponseTransformService, DaffMagentoCategoryService, DaffMagentoCategoryTransformerService, MAGENTO_CATEGORY_CONFIG_DEFAULT, MAGENTO_CATEGORY_CONFIG_TOKEN, MagentoCategoryFilterActionEnum, MagentoCategoryFilterType, MagentoGetCategoryFilterTypes, MagentoGetCategoryQuery, MagentoGetProductsQuery, MagentoSortDirectionEnum, magentoCategoryTreeFragment, magentoCategoryTruncateUrl as ɵa };
|
511
519
|
//# sourceMappingURL=daffodil-category-driver-magento.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-category-driver-magento.js","sources":["../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/get-filter-types.ts","../../../libs/category/driver/magento/src/queries/get-category.ts","../../../libs/category/driver/magento/src/queries/get-products.ts","../../../libs/category/driver/magento/src/models/requests/filters.ts","../../../libs/category/driver/magento/src/models/requests/sort.ts","../../../libs/category/driver/magento/src/models/filter-type.enum.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/applied-sort-option-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/equal.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/range.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/transform.ts","../../../libs/category/driver/magento/src/transformers/pure/sort-default-option-first.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/get-matched-attribute-type.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\n/**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\nexport const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken<DaffCategoryMagentoDriverConfig>('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME = 'MagentoGetFilterFieldTypesForCategory';\n\nexport const MagentoGetCategoryFilterTypes = gql`\nquery ${DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME} {\n __type (name: \"ProductAttributeFilterInput\") {\n inputFields {\n name\n type {\n name\n }\n }\n }\n}\n`;\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME = 'MagentoGetCategoryQuery';\n\nexport const MagentoGetCategoryQuery = gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){\n\tcategoryList(filters: $filters) {\n\t\tuid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tproducts {\n\t\t\titems {\n\t\t\t\tsku\n\t\t\t}\n\t\t}\n\t\tchildren_count\n\t}\n}`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoProductFragment } from '@daffodil/product/driver/magento';\n\nexport const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';\n/**\n * This query only exists because products and their associated aggregations/filter cannot\n * be retrieved through a category call.\n */\nexport const MagentoGetProductsQuery = (extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME}($filter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n\tproducts(filter: $filter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\tpage_size\n\t\t\tcurrent_page\n\t\t\ttotal_pages\n\t\t}\n\t\taggregations {\n\t\t\tlabel\n\t\t\tcount\n\t\t\tattribute_code\n options {\n count\n label\n value\n\t\t\t}\n\t\t}\n\t\tsort_fields {\n\t\t\tdefault\n\t\t\toptions {\n\t\t\t\tlabel\n\t\t\t\tvalue\n\t\t\t}\n\t\t}\n\t}\n}\n${magentoProductFragment}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","export enum MagentoCategoryFilterActionEnum {\n\tEqual = 'eq',\n\tTo = 'to',\n\tFrom = 'from',\n\tIn = 'in',\n\tMatch = 'match'\n}\n\nexport interface MagentoCategoryFilters {\n\t[x: string]: MagentoFilterAction;\n}\n\nexport type MagentoFilterAction = {\n\t[key in MagentoCategoryFilterActionEnum]?: string | string[];\n};\n","export enum MagentoSortDirectionEnum {\n\tAscending = 'ASC',\n\tDecending = 'DESC'\n}\n\nexport interface MagentoSortFieldAction {\n\t[x: string]: MagentoSortDirectionEnum;\n}\n","// maybe this shoould be in @daffodil/product/driver/magento?\nexport enum MagentoCategoryFilterType {\n Equal = 'FilterEqualTypeInput',\n Match = 'FilterEqualTypeInput',\n Range = 'FilterRangeTypeInput'\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryFilterRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\n\nimport {\n MagentoCategoryFilters,\n MagentoCategoryFilterActionEnum,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffCategoryFilterRequest[]): MagentoCategoryFilters {\n const magentoFilters: MagentoCategoryFilters = {\n category_uid: {\n [MagentoCategoryFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n daffFilters.forEach(filter => {\n // The FromTo filter needs special treatment, because Magento accepts the \"from\" and \"to\" filters\n // separately (it also outputs FromTo filter pairs together)\n if(filter.type === DaffCategoryFilterType.RangeNumeric) {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n ...this.getRangeFromValue(filter.value.min.toString()),\n ...this.getRangeToValue(filter.value.max.toString()),\n };\n } else {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n [this.getFilterAction(filter.type)]: this.getFilterValue(filter.type, filter.value),\n };\n }\n });\n\n return magentoFilters;\n }\n\n /**\n * Returns an In action for Equal type and a Match action for Match type.\n */\n private getFilterAction(type: DaffCategoryFilterType): MagentoCategoryFilterActionEnum {\n return type === DaffCategoryFilterType.Equal\n ? MagentoCategoryFilterActionEnum.In\n : MagentoCategoryFilterActionEnum.Match;\n }\n\n /**\n * Returns an array for Equal type and a string for Match type.\n */\n private getFilterValue(type: DaffCategoryFilterType, value: DaffCategoryFilterRequest['value']): string | string[] {\n return type === DaffCategoryFilterType.Equal ? value : value[0];\n }\n\n private getRangeFromValue(fromValue: string) {\n return fromValue !== '*' ? { [MagentoCategoryFilterActionEnum.From]: fromValue } : null;\n }\n\n private getRangeToValue(toValue: string) {\n return toValue !== '*' ? { [MagentoCategoryFilterActionEnum.To]: toValue } : null;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffSortDirectionEnum } from '@daffodil/core/state';\n\nimport {\n MagentoSortFieldAction,\n MagentoSortDirectionEnum,\n} from '../models/public_api';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedSortOptionTransformService {\n\n transform(appliedOption: string, appliedDirection: DaffSortDirectionEnum): MagentoSortFieldAction {\n return {\n [appliedOption]: this.transformDirection(appliedDirection),\n };\n }\n\n private transformDirection(direction: DaffSortDirectionEnum): MagentoSortDirectionEnum {\n if(direction === DaffSortDirectionEnum.Ascending) {\n return MagentoSortDirectionEnum.Ascending;\n } else if(direction === DaffSortDirectionEnum.Descending) {\n return MagentoSortDirectionEnum.Decending;\n }\n }\n}\n","import { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { Dict } from '@daffodil/core';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\nexport const transformAggregateEqual = (aggregate: MagentoAggregation): DaffCategoryFilterEqual => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.Equal,\n name: aggregate.attribute_code,\n options: aggregate.options.reduce((acc, option) => {\n acc[option.value] = {\n applied: false,\n label: option.label,\n count: option.count,\n value: option.value,\n };\n return acc;\n }, <Dict<DaffCategoryFilterEqualOption>>{}),\n});\n","import {\n DaffCategoryFilterType,\n DaffCategoryFilterRangeNumeric,\n} from '@daffodil/category';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\n/**\n * The char that Magento uses to separate individual elements of the buckets\n * they return for range elements\n */\nexport const magentoBucketSeparator = '-';\n\nexport const transformAggregateRange = (aggregate: MagentoAggregation): DaffCategoryFilterRangeNumeric => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.RangeNumeric,\n name: aggregate.attribute_code,\n min: parseInt(aggregate.options[0].value.split('-')[0], 10),\n max: parseInt(aggregate.options[aggregate.options.length - 1].value.split(magentoBucketSeparator)[1], 10),\n options: {},\n});\n","import { DaffCategoryFilter } from '@daffodil/category';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\nimport { transformAggregateEqual } from './type/equal';\nimport { transformAggregateRange } from './type/range';\n\nexport const transformAggregate = (aggregate: MagentoAggregation): DaffCategoryFilter => {\n switch (aggregate.type) {\n case MagentoCategoryFilterType.Range:\n return transformAggregateRange(aggregate);\n case MagentoCategoryFilterType.Equal:\n case MagentoCategoryFilterType.Match:\n default:\n return transformAggregateEqual(aggregate);\n }\n};\n","import { MagentoSortFields } from '../../models/sort-fields';\n\nexport function coerceDefaultSortOptionFirst(sort_fields: MagentoSortFields): MagentoSortFields {\n const index = sort_fields.options.findIndex(option => sort_fields.default === option.value);\n\n return {\n ...sort_fields,\n options: [\n sort_fields.options[index],\n ...sort_fields.options.slice(0, index),\n ...sort_fields.options.slice(index + 1),\n ],\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategoryPageMetadata,\n daffCategoryFilterArrayToDict,\n} from '@daffodil/category';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { transformAggregate } from './pure/aggregate/transform';\nimport { coerceDefaultSortOptionFirst } from './pure/sort-default-option-first';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n id: categoryResponse.category.uid,\n page_size: categoryResponse.page_info.page_size,\n current_page: categoryResponse.page_info.current_page,\n total_pages: categoryResponse.page_info.total_pages,\n total_products: categoryResponse.total_count,\n filters: daffCategoryFilterArrayToDict(aggregatesWithoutCategories.map(transformAggregate)),\n sort_options: {\n default: categoryResponse.sort_fields.default,\n options: coerceDefaultSortOptionFirst(categoryResponse.sort_fields).options,\n },\n product_ids: categoryResponse.products.map(product => product.sku),\n // TODO: implement?\n applied_sort_direction: null,\n applied_sort_option: null,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n\n transform(category: MagentoCategory): DaffCategory {\n return {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: category.products.items.map(product => product.sku),\n total_products: category.products.items.length,\n };\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport { DaffMagentoProductsTransformer } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n\t\tprivate magentoProductsTransformService: DaffMagentoProductsTransformer,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl),\n };\n }\n}\n","import { MagentoGetCategoryFilterTypesResponse } from '../../../models/get-filter-types-response.interface';\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\n\nexport const getMatchedAttributeType = (aggregate: MagentoAggregation, attributes: MagentoGetCategoryFilterTypesResponse): MagentoCategoryFilterType =>\n attributes.__type.inputFields.filter(item => item.name === aggregate.attribute_code)[0].type.name;\n","import {\n MagentoGetCategoryFilterTypesResponse,\n MagentoGetProductsResponse,\n} from '../../../models/public_api';\nimport { getMatchedAttributeType } from './get-matched-attribute-type';\n\nexport function addMetadataTypesToAggregates(\n attributeResponse: MagentoGetCategoryFilterTypesResponse,\n aggregationResponse: MagentoGetProductsResponse,\n): MagentoGetProductsResponse {\n\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: getMatchedAttributeType(aggregate, attributeResponse),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n daffApplyRequestsToFilters,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryFilterRequest,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n} from '@daffodil/product/driver/magento';\n\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport { MagentoGetCategoryFilterTypesResponse } from './models/get-filter-types-response.interface';\nimport {\n MagentoGetACategoryResponse,\n MagentoGetProductsResponse,\n MagentoGetProductsByCategoriesRequest,\n} from './models/public_api';\nimport { MagentoGetCategoryFilterTypes } from './queries/get-filter-types';\nimport {\n MagentoGetProductsQuery,\n MagentoGetCategoryQuery,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToAggregates } from './transformers/pure/aggregate/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffCategoryFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n\t\tprivate magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n\t\tprivate magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n\t\tprivate magentoAppliedSortTransformer: DaffMagentoAppliedSortOptionTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraPreviewFragments: DocumentNode[],\n ) {}\n\n //todo the MagentoGetCategoryQuery needs to get its own product ids.\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { category_uid: { eq: categoryRequest.id }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n category,\n filterTypes,\n products,\n ]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { url_path: {\n eq: this.config.truncateUrl\n ? this.config.uriTruncationStrategy(categoryRequest.url)\n : categoryRequest.url,\n }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables({\n ...categoryRequest,\n id: category.data.categoryList[0]?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n )),\n );\n }\n\n private getProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetProductsByCategoriesRequest {\n const queryVariables = {\n filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filter_requests),\n };\n if(request.page_size) {\n queryVariables['pageSize'] = request.page_size;\n }\n if(request.current_page) {\n queryVariables['currentPage'] = request.current_page;\n }\n if(request.applied_sort_option && request.applied_sort_direction) {\n queryVariables['sort'] = this.magentoAppliedSortTransformer.transform(request.applied_sort_option, request.applied_sort_direction);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetACategoryResponse,\n filterTypesResponse: MagentoGetCategoryFilterTypesResponse,\n productsResponse: MagentoGetProductsResponse,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToAggregates(filterTypesResponse, productsResponse);\n const completeCategory = {\n category: categoryResponse.categoryList[0],\n products: productsResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: productsResponse.products.total_count,\n page_info: productsResponse.products.page_info,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\nimport { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n} from './interfaces/public_api';\nimport { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME } from './queries/get-category';\nimport { DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME } from './queries/get-products';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoAppliedSortOptionTransformService } from './transformers/applied-sort-option-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffMagentoCategoryService,\n },\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME,\n multi: true,\n },\n {\n provide: MAGENTO_CATEGORY_CONFIG_TOKEN,\n useValue: {\n ...MAGENTO_CATEGORY_CONFIG_DEFAULT,\n ...config,\n },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {magentoCategoryTruncateUrl as ɵa} from './transformers/truncate-url';"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-category-driver-magento.js","sources":["../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/get-filter-types.ts","../../../libs/category/driver/magento/src/queries/fragments/category-tree.ts","../../../libs/category/driver/magento/src/queries/get-category.ts","../../../libs/category/driver/magento/src/queries/get-products.ts","../../../libs/category/driver/magento/src/models/requests/filters.ts","../../../libs/category/driver/magento/src/models/requests/sort.ts","../../../libs/category/driver/magento/src/models/filter-type.enum.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/applied-sort-option-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/equal.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/range.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/transform.ts","../../../libs/category/driver/magento/src/transformers/pure/sort-default-option-first.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/get-matched-attribute-type.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\n/**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\nexport const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken<DaffCategoryMagentoDriverConfig>('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME = 'MagentoGetFilterFieldTypesForCategory';\n\nexport const MagentoGetCategoryFilterTypes = gql`\nquery ${DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME} {\n __type (name: \"ProductAttributeFilterInput\") {\n inputFields {\n name\n type {\n name\n }\n }\n }\n}\n`;\n","import { gql } from 'apollo-angular';\n\nexport const magentoCategoryTreeFragment = gql`\n fragment categoryTree on CategoryTree {\n uid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tproducts {\n\t\t\titems {\n\t\t\t\tsku\n\t\t\t}\n\t\t}\n\t\tchildren_count\n }\n`;\n","import { gql } from 'apollo-angular';\n\nimport { magentoCategoryTreeFragment } from './fragments/public_api';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME = 'MagentoGetCategoryQuery';\n\nexport const MagentoGetCategoryQuery = gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){\n\tcategoryList(filters: $filters) {\n\t\t...categoryTree\n\t}\n}\n${magentoCategoryTreeFragment}\n`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoProductFragment } from '@daffodil/product/driver/magento';\n\nexport const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';\n/**\n * This query only exists because products and their associated aggregations/filter cannot\n * be retrieved through a category call.\n */\nexport const MagentoGetProductsQuery = (extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME}($filter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n\tproducts(filter: $filter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\tpage_size\n\t\t\tcurrent_page\n\t\t\ttotal_pages\n\t\t}\n\t\taggregations {\n\t\t\tlabel\n\t\t\tcount\n\t\t\tattribute_code\n options {\n count\n label\n value\n\t\t\t}\n\t\t}\n\t\tsort_fields {\n\t\t\tdefault\n\t\t\toptions {\n\t\t\t\tlabel\n\t\t\t\tvalue\n\t\t\t}\n\t\t}\n\t}\n}\n${magentoProductFragment}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","export enum MagentoCategoryFilterActionEnum {\n\tEqual = 'eq',\n\tTo = 'to',\n\tFrom = 'from',\n\tIn = 'in',\n\tMatch = 'match'\n}\n\nexport interface MagentoCategoryFilters {\n\t[x: string]: MagentoFilterAction;\n}\n\nexport type MagentoFilterAction = {\n\t[key in MagentoCategoryFilterActionEnum]?: string | string[];\n};\n","export enum MagentoSortDirectionEnum {\n\tAscending = 'ASC',\n\tDecending = 'DESC'\n}\n\nexport interface MagentoSortFieldAction {\n\t[x: string]: MagentoSortDirectionEnum;\n}\n","// maybe this shoould be in @daffodil/product/driver/magento?\nexport enum MagentoCategoryFilterType {\n Equal = 'FilterEqualTypeInput',\n Match = 'FilterEqualTypeInput',\n Range = 'FilterRangeTypeInput'\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryFilterRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\n\nimport {\n MagentoCategoryFilters,\n MagentoCategoryFilterActionEnum,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffCategoryFilterRequest[]): MagentoCategoryFilters {\n const magentoFilters: MagentoCategoryFilters = {\n category_uid: {\n [MagentoCategoryFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n daffFilters.forEach(filter => {\n // The FromTo filter needs special treatment, because Magento accepts the \"from\" and \"to\" filters\n // separately (it also outputs FromTo filter pairs together)\n if(filter.type === DaffCategoryFilterType.RangeNumeric) {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n ...this.getRangeFromValue(filter.value.min.toString()),\n ...this.getRangeToValue(filter.value.max.toString()),\n };\n } else {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n [this.getFilterAction(filter.type)]: this.getFilterValue(filter.type, filter.value),\n };\n }\n });\n\n return magentoFilters;\n }\n\n /**\n * Returns an In action for Equal type and a Match action for Match type.\n */\n private getFilterAction(type: DaffCategoryFilterType): MagentoCategoryFilterActionEnum {\n return type === DaffCategoryFilterType.Equal\n ? MagentoCategoryFilterActionEnum.In\n : MagentoCategoryFilterActionEnum.Match;\n }\n\n /**\n * Returns an array for Equal type and a string for Match type.\n */\n private getFilterValue(type: DaffCategoryFilterType, value: DaffCategoryFilterRequest['value']): string | string[] {\n return type === DaffCategoryFilterType.Equal ? value : value[0];\n }\n\n private getRangeFromValue(fromValue: string) {\n return fromValue !== '*' ? { [MagentoCategoryFilterActionEnum.From]: fromValue } : null;\n }\n\n private getRangeToValue(toValue: string) {\n return toValue !== '*' ? { [MagentoCategoryFilterActionEnum.To]: toValue } : null;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffSortDirectionEnum } from '@daffodil/core/state';\n\nimport {\n MagentoSortFieldAction,\n MagentoSortDirectionEnum,\n} from '../models/public_api';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedSortOptionTransformService {\n\n transform(appliedOption: string, appliedDirection: DaffSortDirectionEnum): MagentoSortFieldAction {\n return {\n [appliedOption]: this.transformDirection(appliedDirection),\n };\n }\n\n private transformDirection(direction: DaffSortDirectionEnum): MagentoSortDirectionEnum {\n if(direction === DaffSortDirectionEnum.Ascending) {\n return MagentoSortDirectionEnum.Ascending;\n } else if(direction === DaffSortDirectionEnum.Descending) {\n return MagentoSortDirectionEnum.Decending;\n }\n }\n}\n","import { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { Dict } from '@daffodil/core';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\nexport const transformAggregateEqual = (aggregate: MagentoAggregation): DaffCategoryFilterEqual => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.Equal,\n name: aggregate.attribute_code,\n options: aggregate.options.reduce((acc, option) => {\n acc[option.value] = {\n applied: false,\n label: option.label,\n count: option.count,\n value: option.value,\n };\n return acc;\n }, <Dict<DaffCategoryFilterEqualOption>>{}),\n});\n","import {\n DaffCategoryFilterType,\n DaffCategoryFilterRangeNumeric,\n} from '@daffodil/category';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\n/**\n * The char that Magento uses to separate individual elements of the buckets\n * they return for range elements\n */\nexport const magentoBucketSeparator = '-';\n\nexport const transformAggregateRange = (aggregate: MagentoAggregation): DaffCategoryFilterRangeNumeric => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.RangeNumeric,\n name: aggregate.attribute_code,\n min: parseInt(aggregate.options[0].value.split('-')[0], 10),\n max: parseInt(aggregate.options[aggregate.options.length - 1].value.split(magentoBucketSeparator)[1], 10),\n options: {},\n});\n","import { DaffCategoryFilter } from '@daffodil/category';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\nimport { transformAggregateEqual } from './type/equal';\nimport { transformAggregateRange } from './type/range';\n\nexport const transformAggregate = (aggregate: MagentoAggregation): DaffCategoryFilter => {\n switch (aggregate.type) {\n case MagentoCategoryFilterType.Range:\n return transformAggregateRange(aggregate);\n case MagentoCategoryFilterType.Equal:\n case MagentoCategoryFilterType.Match:\n default:\n return transformAggregateEqual(aggregate);\n }\n};\n","import { MagentoSortFields } from '../../models/sort-fields';\n\nexport function coerceDefaultSortOptionFirst(sort_fields: MagentoSortFields): MagentoSortFields {\n const index = sort_fields.options.findIndex(option => sort_fields.default === option.value);\n\n return {\n ...sort_fields,\n options: [\n sort_fields.options[index],\n ...sort_fields.options.slice(0, index),\n ...sort_fields.options.slice(index + 1),\n ],\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategoryPageMetadata,\n daffCategoryFilterArrayToDict,\n} from '@daffodil/category';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { transformAggregate } from './pure/aggregate/transform';\nimport { coerceDefaultSortOptionFirst } from './pure/sort-default-option-first';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n id: categoryResponse.category.uid,\n page_size: categoryResponse.page_info.page_size,\n current_page: categoryResponse.page_info.current_page,\n total_pages: categoryResponse.page_info.total_pages,\n total_products: categoryResponse.total_count,\n filters: daffCategoryFilterArrayToDict(aggregatesWithoutCategories.map(transformAggregate)),\n sort_options: {\n default: categoryResponse.sort_fields.default,\n options: coerceDefaultSortOptionFirst(categoryResponse.sort_fields).options,\n },\n product_ids: categoryResponse.products.map(product => product.sku),\n // TODO: implement?\n applied_sort_direction: null,\n applied_sort_option: null,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\nimport { MagentoProduct } from '@daffodil/product/driver/magento';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n\n transform(category: MagentoCategory, products: MagentoProduct[]): DaffCategory {\n return {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: products.map(product => product.sku),\n total_products: products.length,\n };\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport { DaffMagentoProductsTransformer } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n\t\tprivate magentoProductsTransformService: DaffMagentoProductsTransformer,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl),\n };\n }\n}\n","import { MagentoGetCategoryFilterTypesResponse } from '../../../models/get-filter-types-response.interface';\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\n\nexport const getMatchedAttributeType = (aggregate: MagentoAggregation, attributes: MagentoGetCategoryFilterTypesResponse): MagentoCategoryFilterType =>\n attributes.__type.inputFields.filter(item => item.name === aggregate.attribute_code)[0].type.name;\n","import {\n MagentoGetCategoryFilterTypesResponse,\n MagentoGetProductsResponse,\n} from '../../../models/public_api';\nimport { getMatchedAttributeType } from './get-matched-attribute-type';\n\nexport function addMetadataTypesToAggregates(\n attributeResponse: MagentoGetCategoryFilterTypesResponse,\n aggregationResponse: MagentoGetProductsResponse,\n): MagentoGetProductsResponse {\n\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: getMatchedAttributeType(aggregate, attributeResponse),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n daffApplyRequestsToFilters,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryFilterRequest,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n} from '@daffodil/product/driver/magento';\n\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport { MagentoGetCategoryFilterTypesResponse } from './models/get-filter-types-response.interface';\nimport {\n MagentoGetACategoryResponse,\n MagentoGetProductsResponse,\n MagentoGetProductsByCategoriesRequest,\n} from './models/public_api';\nimport { MagentoGetCategoryFilterTypes } from './queries/get-filter-types';\nimport {\n MagentoGetProductsQuery,\n MagentoGetCategoryQuery,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToAggregates } from './transformers/pure/aggregate/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffCategoryFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n\t\tprivate magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n\t\tprivate magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n\t\tprivate magentoAppliedSortTransformer: DaffMagentoAppliedSortOptionTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraPreviewFragments: DocumentNode[],\n ) {}\n\n //todo the MagentoGetCategoryQuery needs to get its own product ids.\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { category_uid: { eq: categoryRequest.id }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n category,\n filterTypes,\n products,\n ]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { url_path: {\n eq: this.config.truncateUrl\n ? this.config.uriTruncationStrategy(categoryRequest.url)\n : categoryRequest.url,\n }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables({\n ...categoryRequest,\n id: category.data.categoryList[0]?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n )),\n );\n }\n\n private getProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetProductsByCategoriesRequest {\n const queryVariables = {\n filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filter_requests),\n };\n if(request.page_size) {\n queryVariables['pageSize'] = request.page_size;\n }\n if(request.current_page) {\n queryVariables['currentPage'] = request.current_page;\n }\n if(request.applied_sort_option && request.applied_sort_direction) {\n queryVariables['sort'] = this.magentoAppliedSortTransformer.transform(request.applied_sort_option, request.applied_sort_direction);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetACategoryResponse,\n filterTypesResponse: MagentoGetCategoryFilterTypesResponse,\n productsResponse: MagentoGetProductsResponse,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToAggregates(filterTypesResponse, productsResponse);\n const completeCategory = {\n category: categoryResponse.categoryList[0],\n products: productsResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: productsResponse.products.total_count,\n page_info: productsResponse.products.page_info,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\nimport { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n} from './interfaces/public_api';\nimport { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME } from './queries/get-category';\nimport { DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME } from './queries/get-products';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoAppliedSortOptionTransformService } from './transformers/applied-sort-option-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffMagentoCategoryService,\n },\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME,\n multi: true,\n },\n {\n provide: MAGENTO_CATEGORY_CONFIG_TOKEN,\n useValue: {\n ...MAGENTO_CATEGORY_CONFIG_DEFAULT,\n ...config,\n },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {magentoCategoryTruncateUrl as ɵa} from './transformers/truncate-url';"],"names":[],"mappings":"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"}
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { ɵɵdefineInjectable, Injectable, ɵɵinject } from '@angular/core';
|
2
|
-
import { datatype,
|
2
|
+
import { datatype, internet, commerce, random } from '@faker-js/faker/locale/en_US';
|
3
3
|
import { DaffModelFactory } from '@daffodil/core/testing';
|
4
4
|
import { DaffCategoryFilterType } from '@daffodil/category';
|
5
5
|
|
6
6
|
class MockCategory {
|
7
7
|
constructor() {
|
8
8
|
this.id = datatype.uuid();
|
9
|
-
this.url = `/${
|
9
|
+
this.url = `/${internet.domainWord()}.html`;
|
10
10
|
this.canonicalUrl = internet.url();
|
11
11
|
this.name = commerce.productMaterial();
|
12
12
|
this.description = random.words(Math.floor(Math.random() * 20));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-category-testing.js","sources":["../../../libs/category/testing/src/factories/category.factory.ts","../../../libs/category/testing/src/helpers/category-helper.ts","../../../libs/category/testing/src/factories/category-page-metadata.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric.ts","../../../libs/category/testing/src/factories/filters/filter.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal/request.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/request-option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/request.ts","../../../libs/category/testing/src/factories/filters/request.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal/toggle-request.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/toggle-request.ts","../../../libs/category/testing/src/factories/filters/toggle-request.ts","../../../libs/category/testing/src/factories/filters/type/equal/option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/pair.ts","../../../libs/category/testing/src/daffodil-category-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategory implements DaffCategory {\n id = faker.datatype.uuid();\n\turl = `/${faker.random.word()}.html`;\n canonicalUrl = faker.internet.url();\n\tname = faker.commerce.productMaterial();\n\tdescription = faker.random.words(Math.floor(Math.random() * 20));\n\tmeta_title = faker.commerce.productMaterial();\n\tmeta_description = faker.random.words(Math.floor(Math.random() * 20));\n breadcrumbs = [{\n id: faker.datatype.uuid(),\n name: faker.commerce.productMaterial(),\n level: faker.datatype.number({ min: 1, max: 5 }),\n url: faker.commerce.productMaterial(),\n }];\n children_count = faker.datatype.number({ min: 1, max: 10 });\n total_products = 1;\n product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];\n}\n\n/**\n * A factory for creating a {@link DaffCategory}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFactory extends DaffModelFactory<DaffCategory>{\n constructor(){\n super(MockCategory);\n }\n}\n","import { DaffCategory } from '@daffodil/category';\n\n/**\n * A helper function to verify that a model is a Category.\n *\n * @param category\n */\nexport function isCategory(category: DaffCategory): boolean {\n return !!category.id\n && !!category.name;\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryPageMetadata implements DaffCategoryPageMetadata {\n id = faker.datatype.uuid();\n total_products = faker.datatype.number({ min: 1, max: 3 });\n product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];\n\n sort_options = {\n default: 'position',\n options: [\n {\n label: 'Position',\n value: 'position',\n },\n {\n label: 'Name',\n value: 'name',\n },\n {\n label: 'Price',\n value: 'price',\n },\n \t],\n };\n applied_sort_option = 'position';\n\tapplied_sort_direction = null;\n\n current_page = 1;\n total_pages = faker.datatype.number({ min: 1, max: 4 });\n page_size = 20;\n\n filters = {};\n}\n\n/**\n * A factory for creating {@link DaffCategoryPageMetadata}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryPageMetadataFactory extends DaffModelFactory<DaffCategoryPageMetadata>{\n constructor(){\n super(MockCategoryPageMetadata);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryEqualFilter implements DaffCategoryFilterEqual {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n label = faker.commerce.productMaterial();\n name = faker.datatype.uuid();\n options = {};\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqual}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterEqualFactory extends DaffModelFactory<DaffCategoryFilterEqual>{\n constructor(){\n super(MockCategoryEqualFilter);\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumeric,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryFilterRangeNumeric implements DaffCategoryFilterRangeNumeric {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n label = faker.commerce.productMaterial();\n name = faker.datatype.uuid();\n min = faker.datatype.number({ min: 1, max: 10 });\n max = faker.datatype.number({ min: 10, max: 200 });\n options = {};\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumeric}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumeric>{\n constructor(){\n super(MockCategoryFilterRangeNumeric);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilter,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterEqualFactory } from './type/equal';\nimport { DaffCategoryFilterRangeNumericFactory } from './type/range-numeric';\n\nexport class MockDaffCategoryFilter {\n\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilter}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterFactory extends DaffModelFactory<DaffCategoryFilter>{\n\n constructor(private equalFactory: DaffCategoryFilterEqualFactory, private rangeFactory: DaffCategoryFilterRangeNumericFactory){\n super(<any>MockDaffCategoryFilter);\n }\n\n create(partial: Partial<DaffCategoryFilter> = {}): DaffCategoryFilter {\n let factory;\n\n switch (partial.type) {\n case DaffCategoryFilterType.Equal:\n factory = this.equalFactory;\n break;\n case DaffCategoryFilterType.RangeNumeric:\n factory = this.rangeFactory;\n break;\n default:\n factory = faker.datatype.number({ min: 1, max: 2 }) === 2\n ? this.equalFactory\n : this.rangeFactory;\n break;\n }\n return {\n ...new this.type(),\n ...factory.create(partial),\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqualRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterEqualRequest implements DaffCategoryFilterEqualRequest {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n name = faker.random.word();\n value = [faker.datatype.uuid()];\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestEqualFactory extends DaffModelFactory<DaffCategoryFilterEqualRequest>{\n constructor(){\n super(MockDaffCategoryFilterEqualRequest);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { DaffCategoryFilterRangeRequestOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterRangeNumericRequestOption implements DaffCategoryFilterRangeRequestOption<number> {\n min = faker.datatype.number({ min: 0, max: 100 });\n max = faker.datatype.number({ min: 100, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeRequestOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericRequestOptionFactory extends DaffModelFactory<DaffCategoryFilterRangeRequestOption<number>>{\n constructor(){\n super(MockDaffCategoryFilterRangeNumericRequestOption);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumericRequest,\n DaffCategoryFilterType,\n DaffCategoryFilterRangeRequestOption,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericRequestOptionFactory } from './request-option';\n\n\nexport class MockDaffCategoryFilterRangeNumericRequest implements DaffCategoryFilterRangeNumericRequest {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n name = faker.random.word();\n value: DaffCategoryFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumericRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumericRequest>{\n constructor(private option: DaffCategoryFilterRangeNumericRequestOptionFactory = new DaffCategoryFilterRangeNumericRequestOptionFactory()){\n super(MockDaffCategoryFilterRangeNumericRequest);\n }\n\n create(partial: Partial<DaffCategoryFilterRangeNumericRequest> = {}) {\n return {\n ...new this.type(),\n value: this.option.create(),\n ...partial,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { DaffCategoryFilterRequest } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRequestEqualFactory } from './type/equal/request';\nimport { DaffCategoryFilterRequestRangeNumericFactory } from './type/range-numeric/request';\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestFactory extends DaffModelFactory<DaffCategoryFilterRequest>{\n constructor(private equalFactory: DaffCategoryFilterRequestEqualFactory, private rangeFactory: DaffCategoryFilterRequestRangeNumericFactory){\n super(faker.datatype.number({ min: 1, max: 2 }) === 2 ? equalFactory.type : rangeFactory.type);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqualToggleRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffToggleCategoryFilterEqualRequest implements DaffCategoryFilterEqualToggleRequest {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n name = faker.random.word();\n value = faker.datatype.uuid();\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestEqualFactory extends DaffModelFactory<DaffCategoryFilterEqualToggleRequest>{\n constructor(){\n super(MockDaffToggleCategoryFilterEqualRequest);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumericToggleRequest,\n DaffCategoryFilterRangeRequestOption,\n} from '@daffodil/category';\nimport { DaffCategoryFilterType } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericRequestOptionFactory } from './request-option';\n\nexport class MockDaffToggleCategoryFilterRangeNumericRequest implements DaffCategoryFilterRangeNumericToggleRequest {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n name = faker.random.word();\n value: DaffCategoryFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumericToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumericToggleRequest>{\n constructor(private option: DaffCategoryFilterRangeNumericRequestOptionFactory) {\n super(MockDaffToggleCategoryFilterRangeNumericRequest);\n }\n\n create(partial: Partial<DaffCategoryFilterRangeNumericToggleRequest> = {}): DaffCategoryFilterRangeNumericToggleRequest {\n return {\n ...new this.type(),\n value: this.option.create(),\n ...partial,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { DaffCategoryFilterToggleRequest } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterToggleRequestEqualFactory } from './type/equal/toggle-request';\nimport { DaffCategoryFilterToggleRequestRangeNumericFactory } from './type/range-numeric/toggle-request';\n\nexport class MockDaffToggleCategoryFilterRequest {\n\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestFactory extends DaffModelFactory<DaffCategoryFilterToggleRequest>{\n constructor(private equalFactory: DaffCategoryFilterToggleRequestEqualFactory, private rangeFactory: DaffCategoryFilterToggleRequestRangeNumericFactory){\n super(<any>MockDaffToggleCategoryFilterRequest);\n }\n\n create(partial?: Partial<DaffCategoryFilterToggleRequest>): DaffCategoryFilterToggleRequest {\n return {\n ...new this.type(),\n ...faker.datatype.number({ min: 1, max: 2 }) === 2 ? this.equalFactory.create() : this.rangeFactory.create(),\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterEqualOption implements DaffCategoryFilterEqualOption {\n applied = false;\n\tvalue = faker.datatype.uuid();\n\tlabel = faker.random.word();\n\tcount = faker.datatype.number({ min: 1, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterEqualOptionFactory extends DaffModelFactory<DaffCategoryFilterEqualOption> {\n constructor(){\n super(MockDaffCategoryFilterEqualOption);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport { DaffCategoryFilterRangeOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryFilterRangeNumericOption implements DaffCategoryFilterRangeOption<number> {\n value = faker.datatype.number({ min: 0, max: 10 });\n label = faker.random.alpha({ count: 3 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericOptionFactory extends DaffModelFactory<DaffCategoryFilterRangeOption<number>>{\n constructor(){\n super(MockCategoryFilterRangeNumericOption);\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as faker from 'faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangePair,\n DaffCategoryFilterRangeOption,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericOptionFactory } from './option';\n\nexport class MockDaffCategoryFilterRangeNumericPair implements DaffCategoryFilterRangePair<number> {\n applied: true = true;\n max: DaffCategoryFilterRangeOption<number>;\n min: DaffCategoryFilterRangeOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangePair}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericPairFactory extends DaffModelFactory<DaffCategoryFilterRangePair<number>>{\n constructor(private option: DaffCategoryFilterRangeNumericOptionFactory){\n super(MockDaffCategoryFilterRangeNumericPair);\n }\n\n create(partial: Partial<DaffCategoryFilterRangePair<number>> = {}) {\n return {\n ...new this.type(),\n min: this.option.create({ value: faker.datatype.number({ min: 0, max: 100 }) }),\n max: this.option.create({ value: faker.datatype.number({ min: 100, max: 1000 }) }),\n ...partial,\n };\n }\n}\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["faker.datatype","faker.random","faker.internet","faker.commerce"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-category-testing.js","sources":["../../../libs/category/testing/src/factories/category.factory.ts","../../../libs/category/testing/src/helpers/category-helper.ts","../../../libs/category/testing/src/factories/category-page-metadata.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric.ts","../../../libs/category/testing/src/factories/filters/filter.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal/request.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/request-option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/request.ts","../../../libs/category/testing/src/factories/filters/request.factory.ts","../../../libs/category/testing/src/factories/filters/type/equal/toggle-request.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/toggle-request.ts","../../../libs/category/testing/src/factories/filters/toggle-request.ts","../../../libs/category/testing/src/factories/filters/type/equal/option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/option.ts","../../../libs/category/testing/src/factories/filters/type/range-numeric/pair.ts","../../../libs/category/testing/src/daffodil-category-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategory implements DaffCategory {\n id = faker.datatype.uuid();\n\turl = `/${faker.internet.domainWord()}.html`;\n canonicalUrl = faker.internet.url();\n\tname = faker.commerce.productMaterial();\n\tdescription = faker.random.words(Math.floor(Math.random() * 20));\n\tmeta_title = faker.commerce.productMaterial();\n\tmeta_description = faker.random.words(Math.floor(Math.random() * 20));\n breadcrumbs = [{\n id: faker.datatype.uuid(),\n name: faker.commerce.productMaterial(),\n level: faker.datatype.number({ min: 1, max: 5 }),\n url: faker.commerce.productMaterial(),\n }];\n children_count = faker.datatype.number({ min: 1, max: 10 });\n total_products = 1;\n product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];\n}\n\n/**\n * A factory for creating a {@link DaffCategory}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFactory extends DaffModelFactory<DaffCategory>{\n constructor(){\n super(MockCategory);\n }\n}\n","import { DaffCategory } from '@daffodil/category';\n\n/**\n * A helper function to verify that a model is a Category.\n *\n * @param category\n */\nexport function isCategory(category: DaffCategory): boolean {\n return !!category.id\n && !!category.name;\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryPageMetadata implements DaffCategoryPageMetadata {\n id = faker.datatype.uuid();\n total_products = faker.datatype.number({ min: 1, max: 3 });\n product_ids = [faker.datatype.number({ min: 1, max: 100 }).toString()];\n\n sort_options = {\n default: 'position',\n options: [\n {\n label: 'Position',\n value: 'position',\n },\n {\n label: 'Name',\n value: 'name',\n },\n {\n label: 'Price',\n value: 'price',\n },\n \t],\n };\n applied_sort_option = 'position';\n\tapplied_sort_direction = null;\n\n current_page = 1;\n total_pages = faker.datatype.number({ min: 1, max: 4 });\n page_size = 20;\n\n filters = {};\n}\n\n/**\n * A factory for creating {@link DaffCategoryPageMetadata}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryPageMetadataFactory extends DaffModelFactory<DaffCategoryPageMetadata>{\n constructor(){\n super(MockCategoryPageMetadata);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryEqualFilter implements DaffCategoryFilterEqual {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n label = faker.commerce.productMaterial();\n name = faker.datatype.uuid();\n options = {};\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqual}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterEqualFactory extends DaffModelFactory<DaffCategoryFilterEqual>{\n constructor(){\n super(MockCategoryEqualFilter);\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumeric,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryFilterRangeNumeric implements DaffCategoryFilterRangeNumeric {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n label = faker.commerce.productMaterial();\n name = faker.datatype.uuid();\n min = faker.datatype.number({ min: 1, max: 10 });\n max = faker.datatype.number({ min: 10, max: 200 });\n options = {};\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumeric}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumeric>{\n constructor(){\n super(MockCategoryFilterRangeNumeric);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilter,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterEqualFactory } from './type/equal';\nimport { DaffCategoryFilterRangeNumericFactory } from './type/range-numeric';\n\nexport class MockDaffCategoryFilter {\n\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilter}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterFactory extends DaffModelFactory<DaffCategoryFilter>{\n\n constructor(private equalFactory: DaffCategoryFilterEqualFactory, private rangeFactory: DaffCategoryFilterRangeNumericFactory){\n super(<any>MockDaffCategoryFilter);\n }\n\n create(partial: Partial<DaffCategoryFilter> = {}): DaffCategoryFilter {\n let factory;\n\n switch (partial.type) {\n case DaffCategoryFilterType.Equal:\n factory = this.equalFactory;\n break;\n case DaffCategoryFilterType.RangeNumeric:\n factory = this.rangeFactory;\n break;\n default:\n factory = faker.datatype.number({ min: 1, max: 2 }) === 2\n ? this.equalFactory\n : this.rangeFactory;\n break;\n }\n return {\n ...new this.type(),\n ...factory.create(partial),\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqualRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterEqualRequest implements DaffCategoryFilterEqualRequest {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n name = faker.random.word();\n value = [faker.datatype.uuid()];\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestEqualFactory extends DaffModelFactory<DaffCategoryFilterEqualRequest>{\n constructor(){\n super(MockDaffCategoryFilterEqualRequest);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterRangeRequestOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterRangeNumericRequestOption implements DaffCategoryFilterRangeRequestOption<number> {\n min = faker.datatype.number({ min: 0, max: 100 });\n max = faker.datatype.number({ min: 100, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeRequestOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericRequestOptionFactory extends DaffModelFactory<DaffCategoryFilterRangeRequestOption<number>>{\n constructor(){\n super(MockDaffCategoryFilterRangeNumericRequestOption);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumericRequest,\n DaffCategoryFilterType,\n DaffCategoryFilterRangeRequestOption,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericRequestOptionFactory } from './request-option';\n\n\nexport class MockDaffCategoryFilterRangeNumericRequest implements DaffCategoryFilterRangeNumericRequest {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n name = faker.random.word();\n value: DaffCategoryFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumericRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumericRequest>{\n constructor(private option: DaffCategoryFilterRangeNumericRequestOptionFactory = new DaffCategoryFilterRangeNumericRequestOptionFactory()){\n super(MockDaffCategoryFilterRangeNumericRequest);\n }\n\n create(partial: Partial<DaffCategoryFilterRangeNumericRequest> = {}) {\n return {\n ...new this.type(),\n value: this.option.create(),\n ...partial,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterRequest } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRequestEqualFactory } from './type/equal/request';\nimport { DaffCategoryFilterRequestRangeNumericFactory } from './type/range-numeric/request';\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRequestFactory extends DaffModelFactory<DaffCategoryFilterRequest>{\n constructor(private equalFactory: DaffCategoryFilterRequestEqualFactory, private rangeFactory: DaffCategoryFilterRequestRangeNumericFactory){\n super(faker.datatype.number({ min: 1, max: 2 }) === 2 ? equalFactory.type : rangeFactory.type);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterEqualToggleRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffToggleCategoryFilterEqualRequest implements DaffCategoryFilterEqualToggleRequest {\n type: DaffCategoryFilterType.Equal = DaffCategoryFilterType.Equal;\n name = faker.random.word();\n value = faker.datatype.uuid();\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestEqualFactory extends DaffModelFactory<DaffCategoryFilterEqualToggleRequest>{\n constructor(){\n super(MockDaffToggleCategoryFilterEqualRequest);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangeNumericToggleRequest,\n DaffCategoryFilterRangeRequestOption,\n} from '@daffodil/category';\nimport { DaffCategoryFilterType } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericRequestOptionFactory } from './request-option';\n\nexport class MockDaffToggleCategoryFilterRangeNumericRequest implements DaffCategoryFilterRangeNumericToggleRequest {\n type: DaffCategoryFilterType.RangeNumeric = DaffCategoryFilterType.RangeNumeric;\n name = faker.random.word();\n value: DaffCategoryFilterRangeRequestOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeNumericToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestRangeNumericFactory extends DaffModelFactory<DaffCategoryFilterRangeNumericToggleRequest>{\n constructor(private option: DaffCategoryFilterRangeNumericRequestOptionFactory) {\n super(MockDaffToggleCategoryFilterRangeNumericRequest);\n }\n\n create(partial: Partial<DaffCategoryFilterRangeNumericToggleRequest> = {}): DaffCategoryFilterRangeNumericToggleRequest {\n return {\n ...new this.type(),\n value: this.option.create(),\n ...partial,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterToggleRequest } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterToggleRequestEqualFactory } from './type/equal/toggle-request';\nimport { DaffCategoryFilterToggleRequestRangeNumericFactory } from './type/range-numeric/toggle-request';\n\nexport class MockDaffToggleCategoryFilterRequest {\n\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterToggleRequest}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterToggleRequestFactory extends DaffModelFactory<DaffCategoryFilterToggleRequest>{\n constructor(private equalFactory: DaffCategoryFilterToggleRequestEqualFactory, private rangeFactory: DaffCategoryFilterToggleRequestRangeNumericFactory){\n super(<any>MockDaffToggleCategoryFilterRequest);\n }\n\n create(partial?: Partial<DaffCategoryFilterToggleRequest>): DaffCategoryFilterToggleRequest {\n return {\n ...new this.type(),\n ...faker.datatype.number({ min: 1, max: 2 }) === 2 ? this.equalFactory.create() : this.rangeFactory.create(),\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockDaffCategoryFilterEqualOption implements DaffCategoryFilterEqualOption {\n applied = false;\n\tvalue = faker.datatype.uuid();\n\tlabel = faker.random.word();\n\tcount = faker.datatype.number({ min: 1, max: 1000 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterEqualOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterEqualOptionFactory extends DaffModelFactory<DaffCategoryFilterEqualOption> {\n constructor(){\n super(MockDaffCategoryFilterEqualOption);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport { DaffCategoryFilterRangeOption } from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nexport class MockCategoryFilterRangeNumericOption implements DaffCategoryFilterRangeOption<number> {\n value = faker.datatype.number({ min: 0, max: 10 });\n label = faker.random.alpha({ count: 3 });\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangeOption}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericOptionFactory extends DaffModelFactory<DaffCategoryFilterRangeOption<number>>{\n constructor(){\n super(MockCategoryFilterRangeNumericOption);\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport * as faker from '@faker-js/faker/locale/en_US';\n\nimport {\n DaffCategoryFilterRangePair,\n DaffCategoryFilterRangeOption,\n} from '@daffodil/category';\nimport { DaffModelFactory } from '@daffodil/core/testing';\n\nimport { DaffCategoryFilterRangeNumericOptionFactory } from './option';\n\nexport class MockDaffCategoryFilterRangeNumericPair implements DaffCategoryFilterRangePair<number> {\n applied: true = true;\n max: DaffCategoryFilterRangeOption<number>;\n min: DaffCategoryFilterRangeOption<number>;\n}\n\n/**\n * A factory for creating a {@link DaffCategoryFilterRangePair}.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFilterRangeNumericPairFactory extends DaffModelFactory<DaffCategoryFilterRangePair<number>>{\n constructor(private option: DaffCategoryFilterRangeNumericOptionFactory){\n super(MockDaffCategoryFilterRangeNumericPair);\n }\n\n create(partial: Partial<DaffCategoryFilterRangePair<number>> = {}) {\n return {\n ...new this.type(),\n min: this.option.create({ value: faker.datatype.number({ min: 0, max: 100 }) }),\n max: this.option.create({ value: faker.datatype.number({ min: 100, max: 1000 }) }),\n ...partial,\n };\n }\n}\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["faker.datatype","faker.internet","faker.commerce","faker.random"],"mappings":"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"}
|
@@ -12,5 +12,8 @@ export interface DaffCategoryFilterEqualOption extends DaffCategoryFilterOptionB
|
|
12
12
|
* A label to represent the filter option in the UI.
|
13
13
|
*/
|
14
14
|
label: string;
|
15
|
+
/**
|
16
|
+
* The number of products that would be returned after application of this filter.
|
17
|
+
*/
|
15
18
|
count: number;
|
16
19
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@daffodil/category",
|
3
|
-
"version": "0.39.
|
3
|
+
"version": "0.39.11",
|
4
4
|
"description": "An ecommerce categories package that has multi-platform support and state management features.",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -18,8 +18,8 @@
|
|
18
18
|
"peerDependencies": {
|
19
19
|
"@angular/common": "^11.0.0",
|
20
20
|
"@angular/core": "^11.0.0",
|
21
|
-
"@daffodil/core": "0.39.
|
22
|
-
"@daffodil/product": "0.39.
|
21
|
+
"@daffodil/core": "0.39.11",
|
22
|
+
"@daffodil/product": "0.39.11",
|
23
23
|
"@ngrx/effects": "^11.0.0",
|
24
24
|
"@ngrx/entity": "^11.0.0",
|
25
25
|
"@ngrx/store": "^11.0.0",
|
@@ -27,10 +27,10 @@
|
|
27
27
|
},
|
28
28
|
"optionalDependencies": {
|
29
29
|
"@apollo/client": "^3.0.0",
|
30
|
-
"@daffodil/driver": "0.39.
|
30
|
+
"@daffodil/driver": "0.39.11",
|
31
31
|
"angular-in-memory-web-api": "^0.11.0",
|
32
32
|
"apollo-angular": "^2.4.0",
|
33
|
-
"faker": "^5.5.3"
|
33
|
+
"@faker-js/faker": "^5.5.3"
|
34
34
|
},
|
35
35
|
"main": "bundles/daffodil-category.umd.js",
|
36
36
|
"module": "fesm2015/daffodil-category.js",
|