Ngrx Auto Entity Versions Save

NgRx Auto-Entity: Simplifying Reactive State

0.3.1

4 years ago

Bug fix release! We apologize for any inconvenience the v0.3.0 release may have caused. We introduced a correlation Id into our actions, and relied on uuidv4 to handle their generation. Turned out, uuidv4 just recently went through a breaking change, and the default import was removed. This caused problems, dependent upon which version of uuidv4 was used by the application using ngrx-ae.

We have replaced uuidv4 with internal code. Fast, small uuid function acquired from the following gist:

https://gist.github.com/LeverOne/1308368

Bug Fix

  • uuidv4: Removed in favor of small, fast built in function

0.3.0

4 years ago

This release adds the correlationId property (defaulting to uuid()) to EntityAction which should help in tracking correlated actions. Correlated actions are usually sets of request/success/failure actions, such as Create, CreateSuccess, and CreateFailure.

Features

  • correlated actions: Add correlationId property to EntityAction for tracking correlated actions.

Package

  • dependencies: Add peer dependency on uuidv4

Breaking Changes !!

  • uuidv4 will need to be added to your package.json as a dependency

Security Updates

0.2.8

4 years ago

This release restores a missing action to the library public interface index.

Bug Fixes

  • actions: Add clear action to exported actions of public interface

0.2.7

4 years ago

This release restores a missing selector and adds a new factory function for use with custom effects creation.

Features

  • actions: Add fromEntityTypes factory function for multi-entity multi-action effects filtering

Bug Fixes

  • selectors: Add createdAt facade getter and corresponding selectors

0.2.6

4 years ago

This release resolves two issues with multiple-entity deselections due to bugs in the reduction of deselectMany and deselectAll.

Features

  • actions: Add input validation checks and exception throwing to selection related actions
  • reducer: Fix issue with potential undefined in selection related reductions #62
  • reducer: Fix issue with calls to Array.prototype.some on certain arrays being implemented incorrectly #60

0.2.5

4 years ago

This release add new actions (and related effects, reducers, selectors & facade features) for edit and change tracking as well as adding more entities to the current set selection.

Features

  • edit: Add new Edit, Change, EndEdit actions and related functionality
  • selection: Added new selectMore and selectMoreByKeys actions and related functionality

0.2.2

4 years ago

This release focuses on reducing the intrinsic package size and total package+dependency size of the library. Total library size is now ~10k or so smaller than before. Third party dependency on changeCase, which included a lot of casing functionality this library did not directly require, has been removed in favor of integrated case conversion code. Further size optimizations may be made possible in the future with some additional internal restructuring.

For the most compatibility with future internal (but otherwise non-breaking) changes, make sure you are importing from @briebug/ngrx-auto-entity and not from child paths within the library!

Package

  • dependencies: Remove direct dependency on changeCase, integrate functionality

Features

  • utils: Added a new buildSelectorMap utility function
  • utils: Added a new buildFacade utility function

Cleanup

  • operators: Reduce duplication of code by pulling out error handling to function
  • utils: Reduce duplication of code by pulling out selector map creation to function
  • actions: Reduce duplication of code by moving common lines to EntityAction base type
  • actions: Reduce duplication of code by moving entity action type checking into function

0.2.1

4 years ago

Bug Fixes

  • service: Remove legacy reference to Ramda

0.2.0

4 years ago

This version introduces some fundamental changes to how NgRx Auto-Entity is initialized, additional features and functionality, as well as some breaking changes to facade properties. Many of these changes further reduce the already minimal boilerplate with Auto-Entity.

Documentation

Extensive documentation, examples and a proper quickstart guide have been added to our GitBook.

Platform Update

This release involves a major update to the minimum required Angular and NgRx versions. In order to leverage updated functionality from both libraries, as well as begin phasing in improved use of TypeScript, both platforms have been updated to the 8.x versions. We apologize for any inconvenience this may cause, however we do believe the changes and future improvements allowed by making this change will be welcome.

  • angular: The required version of @angular has been bumped up to 8.0
  • ngrx: The required version of @ngrx has been bumped uop to 8.0

Features

  • actions: Added multiple entity selection and deselection actions
  • effects: Added new ExtraEffects class containing selection and clearing related effects
  • operators: Added new operators to handle selection and clearing related actions
  • reducer: Updated meta reducer to handle new multiple entity selection and deselection
  • facade: Updated facade base class to include support for multiple entity selections
  • module: NgrxAutoEntityModule will now automatically provide autoEntityMetaReducer in META_REDUCERS
  • module: NgrxAutoEntityModule will now automatically provide EntityEffects and ExtraEffects
  • module Must now call .forRoot(() or .forFeature() as appropriate to import module
  • module: A new .forRootNoEntityEffects() can be used instead of .forRoot() to disable auto-provisioning of entity effects (keeps extra effects)
  • module: A new .forRootNoEffects() can be used instead of .forRoot() to disable auto-provisioning of all effects

Bug Fixes

  • module: Implemented .forRoot() and .forFeature() calls on NgrxAutoEntityModule to fix broken support for lazy loaded modules
  • effects: Added missing effects for select/deselect actions to dispatch selected/deselected counterparts
  • service: Updated NgrxAutoEntityService to support aggregate Injector tree so that models/entity services in lazy loaded modules will be found by root entity service
  • util: Changed interface ITModelType<TModel> to a type IModelType<TModel> to better conform to TypeScript best practices

Breaking Changes !!

  • facade: Updated facade base class to include a $ postfix on all streaming properties
  • module: Module must now be imported with .forRoot() or .forFeature()
  • reducer: The module now leverages NgRx 8's META_REDUCERS token and manual inclusion of meta reducer by developer is no longer required. Remove autoEntityMetaReducer from your meta reducers!

0.1.1

4 years ago

Bug Fixes

  • operators: Restore missing operators for many alts of: Load, Create, Replace, Delete
  • effects: Restore missing effects for many alts of: Load, Create, Replace, Delete
  • service: Restore missing service methods for many alts of: Load, Create, Replace, Delete
  • api: Move AOT-compatible export bundle into index.ts, re-export index from public_api.ts, to improve auto-import functionality in IDEs

Testing

  • reducer: Add additional test cases for many alts

Broken Features !!

  • features: Feature state via buildFeatureState will not function at runtime due to issues locating lazy module Injector instances