Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

NgRx Auto-Entity: Simplifying Reactive State

License

NotificationsYou must be signed in to change notification settings

briebug/ngrx-auto-entity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCIIssuesVersionDownloadsDownloads

NgRX Auto-Entity

Automatic entities for@ngrx! Simplifying reactive state!

Announcing: ANGULAR 12 is now supported! NgRx Auto-Entity has been updated to support the latestversions of Angular, as well as NgRx through version 12. With this update, we have also droppedsupport for Angular 8, meaning the supported versions of angular are 9-12.

NOTE: Angular 13 support is being researched. Starting with Ng 13, all View Engine support willbe dropped from the platform completely. One of our goals with Auto-Entity has been to supportolder versions of angular as long as possible, given the often slower upgrade times for manycompanies. With Ng 13 putting the burden on library developers to support Ivy, that forcesgroups like ourselves to build our library to target specific instruction sets. That willincrease the challenge of supporting older versions of Angular. As such, we are actively lookingfor ways to deal with that scenario, and hope to be prepared when the time comes.

NOTE: NgRX Auto-Entity is currently abeta library. It is in flux as we continue to refine andenhance it's functionality, identify and eliminate bugs, optimize it's performance. If youfind any errors in this documentation, or bugs within the library, please let us know!

What is it?

NgRX Auto-Entity aims to provide a seamless means of dealing with standard entity actions andeffects with minimal repetitive code requirements, while preserving the fundamental nature ofNgRX itself. This library is not a replacement for or alternative to NgRX. It works within thestandard paradigm that NgRX has set forth, making use of actions, reducers & effects like anyother NgRX application.

What Auto-Entity does do is provide a set of ready-made actions, selectors, effects & a coremetareducer for handling all of the standard CRUD functionality for entities, so you neitherhave to write nor generate any of that code yourself. Auto-Entity supports implementing applicationswith recommended best practices, including good action hygiene. Auto-Entity also generatespre-fabricated facades around NgRx and the store/state, providing a cohesive, logical andsimplified API into your state for those who prefer facades. Auto-Entity presents a flexibleframework that you may use in its entirety for all of your entity needs, or use piecemeal asnecessary in order to achieve your specific goals.

While it is not required and Auto-Entity is an entirely independent library that solely dependson Angular and NgRX, Auto-Entity manages state in a manner that is compatible with @ngrx/entityas well, in the event you wish to utilize some of the utilities from that library in your owncustom reducers.

Dependencies

NgRx Auto-Entity currently depends on Angular 9+, NgRx 9+ and RxJs 6.

Deps-AngularCoreDeps-AngularCommonDeps-NgRxStoreDeps-RxJs

Installation

Install @briebug/ngrx-auto-entity from npm:

npm install @briebug/ngrx-auto-entity oryarn add @briebug/ngrx-auto-entity

If you have not already, install the required peer dependencies as well:

npm install @ngrx/{effects,store,store-devtools} oryarn add @ngrx/{effects,store,store-devtools}

Quick Start

If you want to get rolling as quickly and simply as possible, you may jump to thequick start guide.(Note: Documentation still in progress!)

Full Usage Documentation

If you wish to learn more about how Auto-Entity works, you may jump to thefull usage documentation.(Note: Documentation still in progress!)

Roadmap

  • Initial design of automatic actions
  • Automatic service mapping & lookup
  • Custom criteria
  • Default effects
  • Composite keys
  • Get entity key support on entities
  • Built-in loading indicator tracking
  • Built-in saving indicator tracking
  • Built-in deleting indicator tracking
  • Built-in entity selection support
  • Dynamically generated per-entity actions
  • Dynamically generated per-entity selectors
  • Pre-fabricated facade generation
  • Generated stub reducers
  • Automatic correlation of related initiating and result actions
  • Enhanced IEntityInfo interface with naming utilities
  • Filtering of entities effects handle
  • Custom transformation of data to and from the server (i.e. ISO date to Date())
  • Optional data loading it not already present, with max age
  • Normalization of API with NgRx 8 functional/factory function architecture
  • Dynamic generate-only-on-use design
  • Extended effects for loading indicator display, toasts or snackbars, etc.
  • Filtering of entities meta reducer handles
  • Pre-fabricated, ready-to-go, reusable entity services

Contributors

Follow-BBFollow-BBFollow-BBFollow-BB

Packages

No packages published

Contributors11

Languages


[8]ページ先頭

©2009-2025 Movatter.jp