Skip to content

timoxley/setter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

setter

Generate setter functions from string paths.

Installation

$ component install timoxley/setter

Examples

Simple Properties

var setter = require('setter')

var widget = {
  enabled: false
}

var setEnabled = setter(widget, 'enabled')
console.log(widget.enabled) // => false
setEnabled(true)
console.log(widget.enabled) // => true

Nested Properties

var user = {
  name: {
    first: 'Tim',
    last: 'Oxley'
  }
}

var setFirstName = setter(user, 'name.first')
setFirstName('Timothy')
console.log(user.name.first) // =>  'Timothy')

Intermediate properties are created if they do not exist

var user = {}

var setFirstName = setter(user, 'name.first')
setFirstName('Timothy')
console.log(user.name.first) // => 'Timothy'

Context is optional until setter() time

var user = {}

var setFirstName = setter('name.first')
setFirstName(user, 'Timothy')
console.log(user.name.first) // => 'Timothy'

context is set to this if not supplied

var user = {}

user.setFirstName = setter('name.first')
user.setFirstName('Timothy')
console.log(user.name.first) // => 'Timothy'

License

MIT

About

Create setter functions from string paths

Resources

Stars

Watchers

Forks

Packages

No packages published