Neverending Programming Mistakes

    only-nested

    0.3.3 • Public • Published

    only-nested

    npm Travis Code Climate Code Climate Coverage

    Return on the whitelisted properties of an object, similar to only, but with support for nested properties.

    Installation

    $ npm isntall only-nested --save

    Usage

    var only = require('only-nested')
     
    var whitelist = {
      a: null,
      b: {
        x: null,
        y: null
      }
    }
     
    var obj = {
      a: 1,
      b: {
        x: 2,
        y: 3,
        z: 4
      },
      c: 5
    }
     
    only(whitelist, obj)
    /*
    -> {
      a: 1,
      b: {
        x: 2,
        y: 3
      }
    }
    */

    Arrays of Objects

    The only() function also supports whitelisting keys of objects in an array. This is expressed in the whitelist by having an array with a whitelist object as the first element.

    var whitelistWithArray = {
      a: [{
        x: null
      }]
    }
     
    var objWithArray = {
      a: [
        {
          x: 1,
          y: 2
        },
        {
          x: 3,
          y: 4,
          z: 5
        }
      ]
    }
     
    only(whitelistWithArray, objWithArray)
    /*
    -> {
      a: [
        {
          x: 1
        },
        {
          x: 3
        }
      ]
    }
    */

    Partial Application

    If you call only() with a whitelist as the only argument, it returns a partially applied function which takes a source object as its only argument.

    var onlyWhitelist = only(whitelist)
    onlyWhitelist(obj)

    It works great with map().

    someArrayOfObjects.map(only({a: null}))

    Install

    npm i only-nested

    DownloadsWeekly Downloads

    997

    Version

    0.3.3

    License

    MIT

    Last publish

    Collaborators

    • brentburgoyne