A collection of composable template helpers for declarative data manipulation and action composition in Ember.js.
Ember-composable-helpers is an Ember.js addon that provides a comprehensive set of template helpers designed for composability and declarative templating. It enables developers to write cleaner, more expressive templates by moving complex logic out of components and into reusable helper functions, facilitating powerful data pipelines directly within Handlebars templates.
Ember.js developers building applications with complex template logic who want to maintain declarative and readable templates without cluttering components. It is particularly useful for teams prioritizing code maintainability and reusability in their Ember projects.
Developers choose this addon for its extensive library of composable helpers that follow a consistent argument ordering, enabling easy chaining for complex operations. Its unique selling point is the ability to configure bundle size by including only needed helpers, optimizing performance while providing a declarative alternative to JavaScript in templates.
Composable helpers for declarative templating in Ember
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes over 40 helpers for arrays, objects, actions, and math, covering common templating needs as listed in the README's detailed sections, reducing the need for custom JavaScript in components.
Helpers use consistent argument ordering with the subject last, enabling easy chaining like `(take 5 (sort-by "lastName" array))` for readable data pipelines, as emphasized in the 'Argument ordering' section.
Allows specifying `only` or `except` lists in `ember-cli-build.js` to import only necessary helpers, optimizing application performance without bloating the build.
The `pipe` helper handles Promises seamlessly, aborting the sequence on rejection and enabling smooth async workflows in templates, as detailed in the action helpers documentation.
String helpers are extracted to a separate addon (ember-cli-string-helpers), requiring additional installation and dependency management for full functionality, as noted in the 'String helpers' section.
Encouraging complex logic in templates can make debugging harder and go against best practices that advocate keeping templates simple and logic in components, leading to maintainability issues.
The non-standard argument ordering (subject last) and composability concepts might confuse developers accustomed to traditional Ember helpers or JavaScript functions, increasing onboarding time.