All Projects → poteto → ember-deep-set

poteto / ember-deep-set

Licence: MIT License
Deeply set values on an Ember Object or POJO

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Handlebars
879 projects

Projects that are alternatives of or similar to ember-deep-set

ember-autoresize-modifier
Autoresize Element Modifier for Ember.js
Stars: ✭ 15 (-50%)
Mutual labels:  ember, ember-addon
ember-google-charts
Google's Material charts made easy for Ember apps - http://sir-dunxalot.github.io/ember-google-charts/
Stars: ✭ 31 (+3.33%)
Mutual labels:  ember, ember-addon
ember-useragent
An Ember addon for Fastboot-enabled UserAgent parsing via UAParser.js.
Stars: ✭ 34 (+13.33%)
Mutual labels:  ember, ember-addon
ember-cordova
CLI for Ember/Cordova/Crosswalk Applications
Stars: ✭ 16 (-46.67%)
Mutual labels:  ember, ember-addon
ember-shadow-dom
Write templates for your components inside of a Shadow DOM root.
Stars: ✭ 26 (-13.33%)
Mutual labels:  ember, ember-addon
ember-event-helpers
Complimentary event template helpers to the {{on}} modifier
Stars: ✭ 33 (+10%)
Mutual labels:  ember, ember-addon
ember-google-analytics-embed
An Ember Addon for adding analytics visualizations using the Google Analytics Embed API.
Stars: ✭ 26 (-13.33%)
Mutual labels:  ember, ember-addon
ember-best-language
🏳 A FastBoot-enabled addon to detect the best language for your user.
Stars: ✭ 18 (-40%)
Mutual labels:  ember, ember-addon
ember-named-yields
Named Yields for Ember Components
Stars: ✭ 17 (-43.33%)
Mutual labels:  ember, ember-addon
ember-cli-ifa
Ember CLI addon for injecting fingerprinted asset map file into Ember app
Stars: ✭ 54 (+80%)
Mutual labels:  ember, ember-addon
ember-custom-actions
Custom API actions for Ember applications
Stars: ✭ 73 (+143.33%)
Mutual labels:  ember, ember-addon
ember-do-forms
ember-do-forms handles the icky parts of forms that you don't want to, and leaves the rest to you.
Stars: ✭ 18 (-40%)
Mutual labels:  ember, ember-addon
ember-link
Link primitive to pass around self-contained route references. It's {{link-to}}, but better!
Stars: ✭ 50 (+66.67%)
Mutual labels:  ember, ember-addon
ember-cli-yadda
Write cucumber specs for ember-cli applications
Stars: ✭ 41 (+36.67%)
Mutual labels:  ember, ember-addon
ember-foxy-forms
Ember Addon for Making Foxy Forms
Stars: ✭ 27 (-10%)
Mutual labels:  ember, ember-addon
ember-uikit
The ember implementation of UIkit
Stars: ✭ 24 (-20%)
Mutual labels:  ember, ember-addon
ember-fastboot-app-tests
FastBoot testing support for Ember apps
Stars: ✭ 17 (-43.33%)
Mutual labels:  ember, ember-addon
ember-get-config
Get `config/environment` from anywhere, even addons!!!
Stars: ✭ 63 (+110%)
Mutual labels:  ember, ember-addon
ember-ref-bucket
This is list of handy ember primitives, created to simplify class-based dom workflow
Stars: ✭ 31 (+3.33%)
Mutual labels:  ember, ember-addon
ember-query-params
Ember service for your query params
Stars: ✭ 44 (+46.67%)
Mutual labels:  ember, ember-addon

ember-deep-set Download count all time Build Status npm version

ember-deep-set is a simple utility function to deeply set a value on an Ember Object or POJO. Note that this mutates the object.

To install:

ember install ember-deep-set

Why this addon exists

Ember.set will throw an error if you try to set a value on a non-existent object. For example:

Ember.set({}, 'foo.bar.baz', 123); // Property set failed: object in path "foo.bar" could not be found or was destroyed.

With ember-deep-set, you can safely and deeply set values on POJOs as well as Ember.Objects without having to first create the empty intermediate objects.

Usage

import Ember from 'ember';
import deepSet from 'ember-deep-set';

const { get } = Ember;

let company = {};
deepSet(company, 'region.department.director.name', 'Jim Bob');
deepSet(company, 'region.department.name', 'Accounting');
deepSet(company, 'region.name', 'North America');

get(company, 'region.department.name'); // "Accounting"
get(company, 'region.department.director'); // { name: "Jim Bob" }

API

deepSet is designed to be a drop-in replacement to Ember.set:

deepSet( object, key, value )

Parameters:

  • object: {Ember.Object|Object} The object to set values on
  • key: {String} The key to set
  • value: {Any} Value to set

Returns:

  • value: {Any} Value that was passed in

Installation

  • git clone <repository-url> this repository
  • cd ember-deep-set
  • npm install
  • bower install

Running

Running Tests

  • npm test (Runs ember try:each to test your addon against multiple Ember versions)
  • ember test
  • ember test --server

Building

  • ember build

For more information on using ember-cli, visit https://ember-cli.com/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].