Skip to content

v3.0.0

Compare
Choose a tag to compare
@lukeed lukeed released this 28 Jan 19:40
· 20 commits to master since this release

Breaking

  • Overwrites existing, non-object values as needed: 569955d
    Now dset is inline with lodash/set and set-value behaviors

    let input = { foo: 123 };
    
    dset(input, 'foo.bar', 456);
    console.log(input);
    //=> (Before) { foo: 123 } -- no change
    //=> (After) { foo: { bar: 456 } } -- convert "foo" to object
  • Use named dset export instead of default export: 7ac17ed

    -import dset from 'dset';
    +import { dset } from 'dset';
  • Exit loop when unsafe key(s) encountered (#22): 0a11c8a
    Previously, as of v2.1.0, dset skipped over the offending key, but continued processing those after it.
    Now dset matches the lodash/set behavior, abandoning the current dset() execution entirely.

Features

  • Add "exports" map for native ESM support: fa7ab74
  • Add support for keys with number type (#12): 5b09e52
    Previously, dset(input, ['foo', 1], 123) failed because 1 was a number.
    Now, ['foo', 1] is treated the same as ['foo', '1'] and 'foo.1'

Chores