1.0.12 • Published 9 years ago

smart-setter v1.0.12

Weekly downloads
15
License
ISC
Repository
github
Last release
9 years ago

Install

npm install --save smart-setter

Usage

import smartSetter from 'smartSetter'

const obj1 = {
  key1: {
    key11: 'val11',
  },
  key2: {
    key21: 'val21',
  },
  key3: ['val31'],
  key4: [
    {id: 1, name: 'name1'},
    {id: 2, name: 'name2'},
  ],
  key5: [
    {id: 3, name: 'name3'},
    {id: 4, name: 'name4'},
  ],
}

const setterSpecification = {
  key1: {
    key12: 'val12',
  },
  key2: {
    _replace: {
      key22: 'val22',
    },
  },
  key3: {
    _insert: 'val32',
  },
  key4: {
    _remove: {id: 1},
    _insert: {id: 5, name: 'name5'},
  },
  key5: {
    "id=3": {
      name: "name3Updated",
      foo: "bar",
    }
  }
}

const obj2 = smart(setterSpecification)(obj1)

This results in the following new object (obj1 remains unchanged) :

{
  key1: {
    key11: 'val11',
    key12: 'val12',
  },
  key2: {
    key22: 'val22',
  },
  key3: ['val31', 'val32',],
  key4: [
    {id: 2, name: 'name2'},
    {id: 5, name: 'name5'}
  ],
  key5: [
    {id: 3, name: 'name3Updated', foo: 'bar'},
    {id: 4, name: 'name4'},
  ],
}
1.0.12

9 years ago

1.0.11

9 years ago

1.0.10

9 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago