@daffodil/category 0.64.1 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/driver/in-memory/backend/category.service.d.ts +2 -1
  2. package/esm2020/driver/in-memory/backend/category.service.mjs +8 -21
  3. package/esm2020/public_api.mjs +1 -2
  4. package/esm2020/state/effects/category-page-filter.effects.mjs +3 -2
  5. package/esm2020/state/effects/category-page.effects.mjs +3 -2
  6. package/esm2020/state/effects/category.effects.mjs +2 -2
  7. package/esm2020/state/injection-tokens/error-matcher.token.mjs +8 -0
  8. package/esm2020/state/injection-tokens/public_api.mjs +2 -0
  9. package/esm2020/state/public_api.mjs +2 -1
  10. package/esm2020/state/testing/category-testing.module.mjs +6 -6
  11. package/esm2020/state/testing/public_api.mjs +2 -2
  12. package/esm2020/testing/factories/category-breadcrumb.factory.mjs +29 -0
  13. package/esm2020/testing/factories/category.factory.mjs +41 -18
  14. package/esm2020/testing/factories/public_api.mjs +4 -3
  15. package/fesm2015/daffodil-category-driver-in-memory.mjs +7 -20
  16. package/fesm2015/daffodil-category-driver-in-memory.mjs.map +1 -1
  17. package/fesm2015/daffodil-category-state-testing.mjs +6 -6
  18. package/fesm2015/daffodil-category-state-testing.mjs.map +1 -1
  19. package/fesm2015/daffodil-category-state.mjs +9 -3
  20. package/fesm2015/daffodil-category-state.mjs.map +1 -1
  21. package/fesm2015/daffodil-category-testing.mjs +52 -18
  22. package/fesm2015/daffodil-category-testing.mjs.map +1 -1
  23. package/fesm2015/daffodil-category.mjs +1 -10
  24. package/fesm2015/daffodil-category.mjs.map +1 -1
  25. package/fesm2020/daffodil-category-driver-in-memory.mjs +7 -20
  26. package/fesm2020/daffodil-category-driver-in-memory.mjs.map +1 -1
  27. package/fesm2020/daffodil-category-state-testing.mjs +6 -6
  28. package/fesm2020/daffodil-category-state-testing.mjs.map +1 -1
  29. package/fesm2020/daffodil-category-state.mjs +9 -3
  30. package/fesm2020/daffodil-category-state.mjs.map +1 -1
  31. package/fesm2020/daffodil-category-testing.mjs +64 -18
  32. package/fesm2020/daffodil-category-testing.mjs.map +1 -1
  33. package/fesm2020/daffodil-category.mjs +1 -10
  34. package/fesm2020/daffodil-category.mjs.map +1 -1
  35. package/package.json +1 -1
  36. package/public_api.d.ts +0 -1
  37. package/state/public_api.d.ts +1 -0
  38. package/state/testing/category-testing.module.d.ts +4 -4
  39. package/state/testing/public_api.d.ts +1 -1
  40. package/testing/factories/category-breadcrumb.factory.d.ts +17 -0
  41. package/testing/factories/category.factory.d.ts +13 -8
  42. package/testing/factories/public_api.d.ts +3 -2
  43. package/esm2020/injection-tokens/error-matcher.token.mjs +0 -8
  44. package/esm2020/injection-tokens/public_api.mjs +0 -2
  45. /package/{injection-tokens → state/injection-tokens}/error-matcher.token.d.ts +0 -0
  46. /package/{injection-tokens → state/injection-tokens}/public_api.d.ts +0 -0
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@daffodil/category","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/category"]}}},"version":"0.64.1","description":"An ecommerce categories package that has multi-platform support and state management features.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"publishConfig":{"directory":"../../dist/category"},"homepage":"https://github.com/graycoreio/daffodil","peerDependencies":{"@angular/common":"^15.0.0","@angular/core":"^15.0.0","@daffodil/core":"0.64.1","@daffodil/product":"0.64.1","@ngrx/effects":"^15.0.0","@ngrx/entity":"^15.0.0","@ngrx/store":"^15.0.0","rxjs":"7.8.1"},"optionalDependencies":{"@apollo/client":"^3.0.0","@daffodil/driver":"0.64.1","angular-in-memory-web-api":"^0.15.0","apollo-angular":"^5.0.0","@faker-js/faker":"^7.6.0"},"module":"fesm2015/daffodil-category.mjs","es2020":"fesm2020/daffodil-category.mjs","esm2020":"esm2020/daffodil-category.mjs","fesm2020":"fesm2020/daffodil-category.mjs","fesm2015":"fesm2015/daffodil-category.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/daffodil-category.mjs","es2020":"./fesm2020/daffodil-category.mjs","es2015":"./fesm2015/daffodil-category.mjs","node":"./fesm2015/daffodil-category.mjs","default":"./fesm2020/daffodil-category.mjs"},"./driver/in-memory":{"types":"./driver/in-memory/index.d.ts","esm2020":"./esm2020/driver/in-memory/daffodil-category-driver-in-memory.mjs","es2020":"./fesm2020/daffodil-category-driver-in-memory.mjs","es2015":"./fesm2015/daffodil-category-driver-in-memory.mjs","node":"./fesm2015/daffodil-category-driver-in-memory.mjs","default":"./fesm2020/daffodil-category-driver-in-memory.mjs"},"./driver/magento":{"types":"./driver/magento/index.d.ts","esm2020":"./esm2020/driver/magento/daffodil-category-driver-magento.mjs","es2020":"./fesm2020/daffodil-category-driver-magento.mjs","es2015":"./fesm2015/daffodil-category-driver-magento.mjs","node":"./fesm2015/daffodil-category-driver-magento.mjs","default":"./fesm2020/daffodil-category-driver-magento.mjs"},"./driver/magento/testing":{"types":"./driver/magento/testing/index.d.ts","esm2020":"./esm2020/driver/magento/testing/daffodil-category-driver-magento-testing.mjs","es2020":"./fesm2020/daffodil-category-driver-magento-testing.mjs","es2015":"./fesm2015/daffodil-category-driver-magento-testing.mjs","node":"./fesm2015/daffodil-category-driver-magento-testing.mjs","default":"./fesm2020/daffodil-category-driver-magento-testing.mjs"},"./driver":{"types":"./driver/index.d.ts","esm2020":"./esm2020/driver/daffodil-category-driver.mjs","es2020":"./fesm2020/daffodil-category-driver.mjs","es2015":"./fesm2015/daffodil-category-driver.mjs","node":"./fesm2015/daffodil-category-driver.mjs","default":"./fesm2020/daffodil-category-driver.mjs"},"./driver/testing":{"types":"./driver/testing/index.d.ts","esm2020":"./esm2020/driver/testing/daffodil-category-driver-testing.mjs","es2020":"./fesm2020/daffodil-category-driver-testing.mjs","es2015":"./fesm2015/daffodil-category-driver-testing.mjs","node":"./fesm2015/daffodil-category-driver-testing.mjs","default":"./fesm2020/daffodil-category-driver-testing.mjs"},"./routing":{"types":"./routing/index.d.ts","esm2020":"./esm2020/routing/daffodil-category-routing.mjs","es2020":"./fesm2020/daffodil-category-routing.mjs","es2015":"./fesm2015/daffodil-category-routing.mjs","node":"./fesm2015/daffodil-category-routing.mjs","default":"./fesm2020/daffodil-category-routing.mjs"},"./state":{"types":"./state/index.d.ts","esm2020":"./esm2020/state/daffodil-category-state.mjs","es2020":"./fesm2020/daffodil-category-state.mjs","es2015":"./fesm2015/daffodil-category-state.mjs","node":"./fesm2015/daffodil-category-state.mjs","default":"./fesm2020/daffodil-category-state.mjs"},"./state/testing":{"types":"./state/testing/index.d.ts","esm2020":"./esm2020/state/testing/daffodil-category-state-testing.mjs","es2020":"./fesm2020/daffodil-category-state-testing.mjs","es2015":"./fesm2015/daffodil-category-state-testing.mjs","node":"./fesm2015/daffodil-category-state-testing.mjs","default":"./fesm2020/daffodil-category-state-testing.mjs"},"./testing":{"types":"./testing/index.d.ts","esm2020":"./esm2020/testing/daffodil-category-testing.mjs","es2020":"./fesm2020/daffodil-category-testing.mjs","es2015":"./fesm2015/daffodil-category-testing.mjs","node":"./fesm2015/daffodil-category-testing.mjs","default":"./fesm2020/daffodil-category-testing.mjs"}},"sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
1
+ {"name":"@daffodil/category","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/category"]}}},"version":"0.66.0","description":"An ecommerce categories package that has multi-platform support and state management features.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"publishConfig":{"directory":"../../dist/category"},"homepage":"https://github.com/graycoreio/daffodil","peerDependencies":{"@angular/common":"^15.0.0","@angular/core":"^15.0.0","@daffodil/core":"0.66.0","@daffodil/product":"0.66.0","@ngrx/effects":"^15.0.0","@ngrx/entity":"^15.0.0","@ngrx/store":"^15.0.0","rxjs":"7.8.1"},"optionalDependencies":{"@apollo/client":"^3.0.0","@daffodil/driver":"0.66.0","angular-in-memory-web-api":"^0.15.0","apollo-angular":"^5.0.2","@faker-js/faker":"^7.6.0"},"module":"fesm2015/daffodil-category.mjs","es2020":"fesm2020/daffodil-category.mjs","esm2020":"esm2020/daffodil-category.mjs","fesm2020":"fesm2020/daffodil-category.mjs","fesm2015":"fesm2015/daffodil-category.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/daffodil-category.mjs","es2020":"./fesm2020/daffodil-category.mjs","es2015":"./fesm2015/daffodil-category.mjs","node":"./fesm2015/daffodil-category.mjs","default":"./fesm2020/daffodil-category.mjs"},"./driver/in-memory":{"types":"./driver/in-memory/index.d.ts","esm2020":"./esm2020/driver/in-memory/daffodil-category-driver-in-memory.mjs","es2020":"./fesm2020/daffodil-category-driver-in-memory.mjs","es2015":"./fesm2015/daffodil-category-driver-in-memory.mjs","node":"./fesm2015/daffodil-category-driver-in-memory.mjs","default":"./fesm2020/daffodil-category-driver-in-memory.mjs"},"./driver/magento":{"types":"./driver/magento/index.d.ts","esm2020":"./esm2020/driver/magento/daffodil-category-driver-magento.mjs","es2020":"./fesm2020/daffodil-category-driver-magento.mjs","es2015":"./fesm2015/daffodil-category-driver-magento.mjs","node":"./fesm2015/daffodil-category-driver-magento.mjs","default":"./fesm2020/daffodil-category-driver-magento.mjs"},"./driver/magento/testing":{"types":"./driver/magento/testing/index.d.ts","esm2020":"./esm2020/driver/magento/testing/daffodil-category-driver-magento-testing.mjs","es2020":"./fesm2020/daffodil-category-driver-magento-testing.mjs","es2015":"./fesm2015/daffodil-category-driver-magento-testing.mjs","node":"./fesm2015/daffodil-category-driver-magento-testing.mjs","default":"./fesm2020/daffodil-category-driver-magento-testing.mjs"},"./driver":{"types":"./driver/index.d.ts","esm2020":"./esm2020/driver/daffodil-category-driver.mjs","es2020":"./fesm2020/daffodil-category-driver.mjs","es2015":"./fesm2015/daffodil-category-driver.mjs","node":"./fesm2015/daffodil-category-driver.mjs","default":"./fesm2020/daffodil-category-driver.mjs"},"./driver/testing":{"types":"./driver/testing/index.d.ts","esm2020":"./esm2020/driver/testing/daffodil-category-driver-testing.mjs","es2020":"./fesm2020/daffodil-category-driver-testing.mjs","es2015":"./fesm2015/daffodil-category-driver-testing.mjs","node":"./fesm2015/daffodil-category-driver-testing.mjs","default":"./fesm2020/daffodil-category-driver-testing.mjs"},"./routing":{"types":"./routing/index.d.ts","esm2020":"./esm2020/routing/daffodil-category-routing.mjs","es2020":"./fesm2020/daffodil-category-routing.mjs","es2015":"./fesm2015/daffodil-category-routing.mjs","node":"./fesm2015/daffodil-category-routing.mjs","default":"./fesm2020/daffodil-category-routing.mjs"},"./state":{"types":"./state/index.d.ts","esm2020":"./esm2020/state/daffodil-category-state.mjs","es2020":"./fesm2020/daffodil-category-state.mjs","es2015":"./fesm2015/daffodil-category-state.mjs","node":"./fesm2015/daffodil-category-state.mjs","default":"./fesm2020/daffodil-category-state.mjs"},"./state/testing":{"types":"./state/testing/index.d.ts","esm2020":"./esm2020/state/testing/daffodil-category-state-testing.mjs","es2020":"./fesm2020/daffodil-category-state-testing.mjs","es2015":"./fesm2015/daffodil-category-state-testing.mjs","node":"./fesm2015/daffodil-category-state-testing.mjs","default":"./fesm2020/daffodil-category-state-testing.mjs"},"./testing":{"types":"./testing/index.d.ts","esm2020":"./esm2020/testing/daffodil-category-testing.mjs","es2020":"./fesm2020/daffodil-category-testing.mjs","es2015":"./fesm2015/daffodil-category-testing.mjs","node":"./fesm2015/daffodil-category-testing.mjs","default":"./fesm2020/daffodil-category-testing.mjs"}},"sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
package/public_api.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export * from './models/public_api';
2
- export * from './injection-tokens/public_api';
@@ -6,3 +6,4 @@ export * from './facades/public_api';
6
6
  export * from './actions/category.actions';
7
7
  export * from './actions/category-page.actions';
8
8
  export * from './actions/category-page-filter.actions';
9
+ export * from './injection-tokens/public_api';
@@ -2,8 +2,8 @@ import * as i0 from "@angular/core";
2
2
  /**
3
3
  * A module that mocks out the {@link DaffCategoryFacade} with {@link MockDaffCategoryFacade} for testing environments.
4
4
  */
5
- export declare class DaffCategoryTestingModule {
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryTestingModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<DaffCategoryTestingModule, never, never, never>;
8
- static ɵinj: i0.ɵɵInjectorDeclaration<DaffCategoryTestingModule>;
5
+ export declare class DaffCategoryStateTestingModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryStateTestingModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DaffCategoryStateTestingModule, never, never, never>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<DaffCategoryStateTestingModule>;
9
9
  }
@@ -1,2 +1,2 @@
1
- export { DaffCategoryTestingModule } from './category-testing.module';
1
+ export { DaffCategoryStateTestingModule } from './category-testing.module';
2
2
  export { MockDaffCategoryFacade } from './mock-category-facade';
@@ -0,0 +1,17 @@
1
+ import { DaffCategoryBreadcrumb } from '@daffodil/category';
2
+ import { DaffModelFactory } from '@daffodil/core/testing';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MockCategoryBreadcrumb implements DaffCategoryBreadcrumb {
5
+ id: string;
6
+ name: string;
7
+ level: number;
8
+ url: string;
9
+ }
10
+ /**
11
+ * A factory for creating a {@link DaffCategoryBreadcrumb}.
12
+ */
13
+ export declare class DaffCategoryBreadcrumbFactory extends DaffModelFactory<DaffCategoryBreadcrumb, typeof MockCategoryBreadcrumb> {
14
+ constructor();
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryBreadcrumbFactory, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryBreadcrumbFactory>;
17
+ }
@@ -1,7 +1,10 @@
1
1
  import { DaffCategory } from '@daffodil/category';
2
2
  import { DaffModelFactory } from '@daffodil/core/testing';
3
+ import { DaffProduct } from '@daffodil/product';
4
+ import { DaffCategoryBreadcrumbFactory } from './category-breadcrumb.factory';
3
5
  import * as i0 from "@angular/core";
4
6
  export declare class MockCategory implements DaffCategory {
7
+ protected breadcrumbFactory: DaffCategoryBreadcrumbFactory;
5
8
  id: string;
6
9
  url: string;
7
10
  canonicalUrl: string;
@@ -9,21 +12,23 @@ export declare class MockCategory implements DaffCategory {
9
12
  description: string;
10
13
  meta_title: string;
11
14
  meta_description: string;
12
- breadcrumbs: {
13
- id: string;
14
- name: string;
15
- level: number;
16
- url: string;
17
- }[];
15
+ breadcrumbs: import("@daffodil/category").DaffCategoryBreadcrumb[];
18
16
  children_count: number;
19
17
  total_products: number;
20
18
  product_ids: string[];
19
+ constructor(breadcrumbFactory: DaffCategoryBreadcrumbFactory);
21
20
  }
22
21
  /**
23
22
  * A factory for creating a {@link DaffCategory}.
24
23
  */
25
- export declare class DaffCategoryFactory extends DaffModelFactory<DaffCategory> {
26
- constructor();
24
+ export declare class DaffCategoryFactory extends DaffModelFactory<DaffCategory, typeof MockCategory> {
25
+ constructor(breadcrumbFactory: DaffCategoryBreadcrumbFactory);
26
+ /**
27
+ * Creates a category tree of specified depth, optionally using the passed product IDs.
28
+ * This is very useful for creating a category tree that closely resembles those found in the wild.
29
+ * Each child has a minimum of half of the parent's products.
30
+ */
31
+ createTree(depth: number, productIds?: DaffProduct['id'][], partial?: Partial<DaffCategory>): DaffCategory;
27
32
  static ɵfac: i0.ɵɵFactoryDeclaration<DaffCategoryFactory, never>;
28
33
  static ɵprov: i0.ɵɵInjectableDeclaration<DaffCategoryFactory>;
29
34
  }
@@ -1,2 +1,3 @@
1
- export { DaffCategoryFactory } from './category.factory';
2
- export { DaffCategoryPageMetadataFactory, MockCategoryPageMetadata, } from './category-page-metadata.factory';
1
+ export * from './category.factory';
2
+ export * from './category-breadcrumb.factory';
3
+ export * from './category-page-metadata.factory';
@@ -1,8 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { daffTransformErrorToStateError } from '@daffodil/core/state';
3
- /**
4
- * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.
5
- * Can be used to further refine Daffodil errors into more specific app errors.
6
- */
7
- export const DAFF_CATEGORY_ERROR_MATCHER = new InjectionToken('DAFF_CATEGORY_ERROR_MATCHER', { factory: () => daffTransformErrorToStateError });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWF0Y2hlci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3JjL2luamVjdGlvbi10b2tlbnMvZXJyb3ItbWF0Y2hlci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCw2QkFBNkIsRUFDN0IsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsOEJBQThCLEVBQUUsQ0FDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGRhZmZUcmFuc2Zvcm1FcnJvclRvU3RhdGVFcnJvciB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3N0YXRlJztcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIGBEYWZmRXJyb3JgcyBpbnRvIGBEYWZmU3RhdGVFcnJvcmBzIGJlZm9yZSB0aGV5IGFyZSBzZXJpYWxpemVkIGludG8gc3RhdGUuXG4gKiBDYW4gYmUgdXNlZCB0byBmdXJ0aGVyIHJlZmluZSBEYWZmb2RpbCBlcnJvcnMgaW50byBtb3JlIHNwZWNpZmljIGFwcCBlcnJvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dHlwZW9mIGRhZmZUcmFuc2Zvcm1FcnJvclRvU3RhdGVFcnJvcj4oXG4gICdEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVInLFxuICB7IGZhY3Rvcnk6ICgpID0+IGRhZmZUcmFuc2Zvcm1FcnJvclRvU3RhdGVFcnJvciB9LFxuKTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export { DAFF_CATEGORY_ERROR_MATCHER } from './error-matcher.token';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3JjL2luamVjdGlvbi10b2tlbnMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IERBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUiB9IGZyb20gJy4vZXJyb3ItbWF0Y2hlci50b2tlbic7XG4iXX0=