|
| 1 | +<a name="0.6.0"></a> |
| 2 | + |
| 3 | +# [0.6.0](https://github.com/briebug/ngrx-auto-entity/compare/0.5.0...0.6.0) Beta (2021-04-02) |
| 4 | + |
| 5 | +Auto-Entity version 0.6 introduces NgRx 8+ compatible action factory functions. Similar to the |
| 6 | +kind of actions (technically factory functions that create actions!) you get when using the |
| 7 | +`createAction` factory function from NgRx itself. This change is NON-Breaking, as all legacy |
| 8 | +actions remain in place and fully usable, allowing migration to the new actions to be done |
| 9 | +progressively if necessary. |
| 10 | + |
| 11 | +New actions may be destructured from the object returend by calling `buildState` and `buildFeatureState`, |
| 12 | +as with all other auto-entity state functionality. Simply destructure the new `actions` property: |
| 13 | + |
| 14 | +```typescript |
| 15 | +export const { |
| 16 | + actions: { |
| 17 | + loadAll: loadAllCustomers, |
| 18 | + create: createCustomer, |
| 19 | + update: updateCustomer, |
| 20 | + delete: deleteCustomer, |
| 21 | + select: selectCustomer, |
| 22 | + deselect: deselectCustomer, |
| 23 | + // ... many more! |
| 24 | + } |
| 25 | +} = buildState(Customer); |
| 26 | +``` |
| 27 | + |
| 28 | +Actions introduce a new mechanism for building auto-entity state. Only the actions that are actually |
| 29 | +used (i.e. destructured) are actually created for the specified entity. This should limit the amount |
| 30 | +of memory used for auto-entity related functionality. This mechanism will be expanded |
| 31 | +to the rest of the state related functionality that can be generated by the build state calls |
| 32 | +in the future. |
| 33 | + |
| 34 | +The breaking changes this release should be minimally breaking, and mostly backwards compatible except |
| 35 | +in fringe cases covering more unusual use cases. Conversion of selection properties from read only getters |
| 36 | +to simple fields should improve the unit testability of facades by allowing simpler mocks, stubs, and fakes, |
| 37 | +easier spying, etc. This may also improve support for more custom use cases and extensions in concrete |
| 38 | +facade classes. |
| 39 | + |
| 40 | +### Features |
| 41 | +- **actions:** Add NgRx 8+ style action factory functions (#76) |
| 42 | +- **util:** Add support for NgRx 8+ style action factory generation (#76) |
| 43 | +- **actions:** Add "bare edit" support with `EditNew` action (#161) |
| 44 | +- **facades:** Add "bare edit" support with `editNew` activity method (#161) |
| 45 | +- **selectors:** Add new `selectHasEntities` and `selectHasNoEntities` selectors (#149) |
| 46 | +- **facades:** Add new `hasEntities$` and `hasNoEntities$` selections to facades (#149) |
| 47 | + |
| 48 | +### Bug Fix |
| 49 | +- **reducer:** Fix issue with meta reducer not calling next reducer with next state (#170) |
| 50 | +- **decorators:** Fix @Key decorator to only try to attach NAE_KEYS internal property if it has not yet been set |
| 51 | +- **reducer:** Add missing `updatedAt` and `replacedAt` timestamps in state for each entity |
| 52 | + |
| 53 | +### Breaking Changes !! |
| 54 | +- **facades:** Convert getter properties to fields to improve unit testability/mocking/spying (#150) |
| 55 | + |
| 56 | + |
| 57 | + |
1 | 58 | <a name="0.5.0"></a>
|
2 | 59 |
|
3 | 60 | # [0.5.0](https://github.com/briebug/ngrx-auto-entity/compare/0.4.2...0.5.0) Beta (2020-10-16)
|
|
0 commit comments