0.0.9 • Published 10 years ago

deep_pick v0.0.9

Weekly downloads
72
License
MIT
Repository
github
Last release
10 years ago

Deep Pick

Build Status

Underscore Deep Pick Plugin

Makes it easy to pick deep inside an object. It's very similiar to XSLT. You need ro provide a schema that defines hieriachy of keys you need in your output instead of a list of keys that you use in regular _.pick.

Example

var input = {
  one: 1,
  two: true,
  three: 'Three',
  four: [1,2,3,4],
  five: {
    alpha: 1,
    beta: 2,
    gamma: 3,
    teta: {
        alef: 1,
        beh: 2,
        peh: 3
    }
  },
  answer: '42.00',
  description: 'This is an object.'
};


var schema = {
  one: true,
  three: true,
  five: {
    alpha: true,
    teta: {
      beh: true
    }
  }
};

deepPick(input, schema); // =>

{
  one: 1,
  three: "Three",
  five: {
    alpha: 1,
    teta: { 
      beh: 2
    }
  }
}

Array Support Example

var arr = [
  {
    blue: 100,
    green: 400,
    red: 300,
    grey: 200
  },
  {
    blue: 10,
    green: 40,
    red: 30,
    grey: 20
  },
  {
    blue: 1,
    green: 4,
    red: 3,
    grey: 2
  },

];

var arrSchema = [{blue: true}];

_.deepPick(arr, arrSchema)) // =>
  [
    {
      blue: 100
    },
    {
      blue: 10
    },
    {
      blue: 1
    }
  ]

Available in NPM and Bower

NodeJS environment

npm install deep_pick
var _ = require('underscore');
_.mixin({ deepPick: require('deep_pick') });

Browser environent

bower install deep_pick
<script src="/path/to/underscore.js"></script>
<script src="/path/to/deep_pick.js"></script>

License

MIT

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago