longcut
v1.0.2
Published
Carve out the things you want from deep JavaScript objects
Downloads
1
Readme
longcut
Cut your deep data structures into smaller pieces using regular expressions.
Installation
npm install longcut
Usage
var longcut = require('longcut').longcut;
var lc = longcut({
key1: [10, 20, 'hello'],
key2: { another: 'child object' },
key3: 'just a string'
});
console.log(lc('key1')(2).val());
// hello
console.log(lc('key2')('another').val());
// child object
console.log(lc(/3/).val());
// { key3: 'just a string' }
console.log(lc('key1')(/2/).val());
// [ 20 ]
Description
Longcut lets you slice and dice your data structures with a very terse syntax where you don't have to worry about the exact types involved and with regular expressions at your disposal.
Given
var obj = {
key1: [10, 20, 'hello'],
key2: { another: 'child object' },
key3: 'just a string'
};
var lo = longcut(obj);
| JavaScript | longcut | value |
|--------------------------|------------------------------|-----------------------------|
| obj['key2'][3]
| lo('key2')(3).val()
| hello
|
| obj['key2']['another']
| lo('key')('another').val()
| child object
|
| horribly complicated! | lo(/3/).val()
| { key3: 'just a string' }
|
Author
Written by Michael Zedeler [email protected]. Copyright 2016, see the attached LICENSE file.
Bugs
If you encounter any unexpected behavior, here is what you can do - ordered by increasing value to me:
- Write me.
- File a bug report on the issue tracker.
- Write a failing test and open a pull request with it.
- Write a failing test, fix the bug and demonstrate that the test is passing with your changes. Open a pull request with the test and the fix.