{"_id":"refract-cli","_rev":"30-d8d16e53bc27fb4a71f0ed2424c6c24f","name":"refract-cli","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"refract-cli","version":"0.1.0","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"^2.3.0","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"gitHead":"b609761f3a9ac79cc8ca807ecf9a396122091c5d","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.1.0","_shasum":"400cd476272d53269bf156f3a7b6e676b5d8ef77","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"400cd476272d53269bf156f3a7b6e676b5d8ef77","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.1.0.tgz","integrity":"sha512-LuGqSrelLbBAFm8Wc0Yghqva0cdzfOav/PX+vDI1i+N2xjcbG9amEt0tZ2a3i7uvZPNETJfAl1kf3Jo/ruDakg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa6eUFIYbL8jlyCJ3v7wo7FtQx3Kmp50EeB1e6pjz8bwIhAMat4/WnE29n5SJCJfX+YuQ0HvO8DVK0GGsK+xCGsKzv"}]}},"0.1.1":{"name":"refract-cli","version":"0.1.1","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"^2.3.0","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"gitHead":"a585b1c438fccd13f336a10f97bfe2196d62c76b","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.1.1","_shasum":"01926a5ca14f3034f0838bd9b81075c1f31efdf5","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"01926a5ca14f3034f0838bd9b81075c1f31efdf5","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.1.1.tgz","integrity":"sha512-adx0x2L8BD2FNBGgLtPmtdW5nwtz4eHfmM6OZofp5EyDdFMZ9XHXz3kaYx6gW+HOEgDy9trXT2PE2n912a0nlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+89uZ74UzlLJwKU9/w2KcHGnuzQsuEK8JzajkYwILQgIgZxeltKbWFuAToKC/Z1blxCtXy3miuO5JZV41xt4402c="}]}},"0.2.0":{"name":"refract-cli","version":"0.2.0","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"^2.3.0","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"864df867c0b9b45b0c0f1129f9815d9b21d8e36e","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.2.0","_shasum":"9974bda3bb68040d81ebce6e11e7c7e4335413ff","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"9974bda3bb68040d81ebce6e11e7c7e4335413ff","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.2.0.tgz","integrity":"sha512-72rZ7phhF081qERCrWOre/TjN0MqK0ZHM3Ftnh4YiKUK7X5TEMRnegdettb+Tu/xkBGlW/tsoTWnz84h94HJ0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA0qkUY4vZ3MHgLXRWbFnG5GRh7IFlqpgeDBet+ATcBQAiEA4K2Ux9uvPAlMr9t2i+Hfd63g6m8XjdZF3VmjOmMdYes="}]}},"0.2.1":{"name":"refract-cli","version":"0.2.1","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"^2.3.0","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"87be9216a6b8507a9ea9706e34fec3c2ba7603ec","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.2.1","_shasum":"6aec77daa8fca80bc39b789f8083859afad7f768","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"6aec77daa8fca80bc39b789f8083859afad7f768","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.2.1.tgz","integrity":"sha512-w68WPKIu/7YgY6cOPS9+BiSEEvwWNEnCSaKh6CphmaUeFyBB6Zl2Uq+0AhNmTme3IjJUsrOt0OJBQjMxQjaf0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEaSizJDuiuj9rYUrRqoTpz4/8lT/UJ9hm9UaPtJe6otAiAeDCIyeJF2k/aum6VUy+fr8+yCv1Q0k2l9srVoQY7nYQ=="}]}},"0.3.0":{"name":"refract-cli","version":"0.3.0","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"71ea3326797a4506e53d031c394640103ba33cdf","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.3.0","_shasum":"5cd2b5f609a53567b8788d92cfc8524ac7cb63c6","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"5cd2b5f609a53567b8788d92cfc8524ac7cb63c6","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.3.0.tgz","integrity":"sha512-UMq49VnJhyFLS6YOz0NHtltEnZbn9WSEUt0BKCgw8sdmmhgZFOALY3pSWLV2Fp4mUIbHCH2Bh8hhEFXe+u77lg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjLQsP63v3jkVD+AuJ6KSlLwurySK4guqfp6TcYJjDnQIgWf3KkYoItUW6cd9LgY2HCQdPV1XFRPol71eOosSDKxc="}]}},"0.3.1":{"name":"refract-cli","version":"0.3.1","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"781b23bdd81c5a9fe3a402dd9e49feee4e25152c","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.3.1","_shasum":"a57a61c253f7987219bf40f5970ab1bc6f595000","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"a57a61c253f7987219bf40f5970ab1bc6f595000","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.3.1.tgz","integrity":"sha512-MSW3A2xB7eFISTfy0JxxC7c1iRXerc5ITs3Y8UQeSPTWIwu4c5NFyQNO2aCk190LqTFXmNe5D7yYUHWbkb7uVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEq41XSuKXwiPEg+BTrmMG5+qjjmXht1EOFjdTUBXznoAiEAod22+m+cLVVZdZY2bwo2+lsw6rcfqL3aBBB6WNIX74U="}]}},"0.3.2":{"name":"refract-cli","version":"0.3.2","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"f248a7216980f58d1fa333c3779d76a78153fb06","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.3.2","_shasum":"53a307f358ab9473d764a5daa04636619a8e80b5","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"53a307f358ab9473d764a5daa04636619a8e80b5","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.3.2.tgz","integrity":"sha512-FTef24HYE/j74vMINsAVaBrxz87SizrVLZ/nDD7DelJvkUdufl0wOzGF5wDlwPfsPbv0Zk/7qCSuVj0jfRZjWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnGrA1vZN70ac0HgJBSU/w07qObGzBzjEQHgA1Vk963wIgMlEaxOMiwsKtqlqq6LU89EmW+DvLKhEzAowBc2aL8RU="}]}},"0.3.3":{"name":"refract-cli","version":"0.3.3","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"94f356948757e87c47f3472ad8f572e980aca56b","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.3.3","_shasum":"d0f323521427cf082eef15484a2b40e9c8c12724","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"d0f323521427cf082eef15484a2b40e9c8c12724","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.3.3.tgz","integrity":"sha512-PcEGEE8QmJcSTN3O9hSqDGASCd4Xx1HDLtUPJ4xoltAcnyvPUfIgI0PEclfZH4pB0n8FOU2mxoa41+p/K9UAHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHNHRix1l9w2KWzAzVph+Hl8HKUzJ4jMNJIoGw2chCTuAiAXifquh5vBNrOcMP4q58TNjq9MyLuEEO9QHGsObZzN2g=="}]}},"0.3.4":{"name":"refract-cli","version":"0.3.4","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"8e76bfcc6f79185fe215017b008d775beb430db6","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.3.4","_shasum":"1689ff8f8b842f5986ede288f0d4e455ed2774b5","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"1689ff8f8b842f5986ede288f0d4e455ed2774b5","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.3.4.tgz","integrity":"sha512-TCBJuWXuytsIzwnqCUluuHRc6OhK3ZPrqnvuIXGALWtt8AIfBVg/0KZOGewzWH+bzsXitNycLgQVwslfJoKkVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGcpRkgv5S+0w4vl3TPgr8z1sxfgvJQvcU1tvhPTEdBgIhAJEZYyjeF0gjCNR7V0oQ1Sbd4YRZUlieBz44ztQMeYtI"}]}},"0.3.5":{"name":"refract-cli","version":"0.3.5","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"ef4e29e7f5257ab2811171dfd4092c97daf4294c","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.3.5","_shasum":"de326ed1d876899ac37653295b607f02614ac27c","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"de326ed1d876899ac37653295b607f02614ac27c","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.3.5.tgz","integrity":"sha512-ITGtIPwnkq8LEgW/M4z95T+JzHFS3ON3/jOk9Vf5bxrXrF0KLB0yGDnIcAO7BGZaA7qMBOrb2u3XaxvpBATR9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKQl75x6KY2ez9Kbvtrpb6fpL6ph+acYbjfRTqZH9NrAiBUy69jXo1IYm5FQpeX6Wwk03B3pNVqbUYw0PgIk7BCkg=="}]}},"0.3.6":{"name":"refract-cli","version":"0.3.6","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere"},"repository":{"type":"git","url":"http://github.com/stdbrouw/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7.0","underscore.string":"^2.3.3"},"devDependencies":{"should":"4.x","mocha":"1.x"},"gitHead":"7f143ff1a953edffb6359636e73032d4700b6a5b","bugs":{"url":"https://github.com/stdbrouw/refract/issues"},"homepage":"https://github.com/stdbrouw/refract","_id":"refract-cli@0.3.6","_shasum":"ddf59edc17993ce54a9cbcbebbff1c4f7217c844","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"stdbrouw","email":"stijn@stdout.be"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"ddf59edc17993ce54a9cbcbebbff1c4f7217c844","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.3.6.tgz","integrity":"sha512-cpHt6TZwLLgEuJDDQwLkO/BO4ux0EhjoknwQhufnHE2lAO2BoJpY2l6iG5RYANNWZoJyXeyvOG8mj1hdlnGNfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPhlWy38NhsOJITi/0OEAnMHzQ5ei6OYLge1wDwBbZfgIhAK2OBn3+zvDBRnJEyt1DGkdDDZiPLZperoiN26y74tvX"}]}},"0.4.1":{"name":"refract-cli","version":"0.4.1","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere","email":"stijn@debrouwere.org","url":"http://debrouwere.org"},"repository":{"type":"git","url":"http://github.com/debrouwere/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.8.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7","underscore.string":"^2.4"},"devDependencies":{"mocha":"^2.0.1","should":"4.x"},"gitHead":"cb2836ba0501c0af250b5ce11031886ff08dc7f4","bugs":{"url":"https://github.com/debrouwere/refract/issues"},"homepage":"https://github.com/debrouwere/refract","_id":"refract-cli@0.4.1","_shasum":"8e203850854ffd5d5fcc9d2370291397de5ea5d1","_from":".","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"stdbrouw","email":"stijn@debrouwere.org"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"8e203850854ffd5d5fcc9d2370291397de5ea5d1","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.4.1.tgz","integrity":"sha512-JH8rlfLtD6z7yavmM994pa2YyVs3RjhZMZLe+LbNDwzJwIUvW2YjI9yOG45elKcS5h/4Sq9YpNAYOXbXHBAgfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGvU6Lvi22i6hnQ63y4aJGR/gEVxcPittSOvHzq1XizxAiEA+RozK2UtB7DrN2fBZpBaXFI4Xc7JYsyB/3dxXaVlKyQ="}]}},"0.4.2":{"name":"refract-cli","version":"0.4.2","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere","email":"stijn@debrouwere.org","url":"http://debrouwere.org"},"repository":{"type":"git","url":"http://github.com/debrouwere/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.9.0","commander":"2.1.x","js-yaml":"^3.2.2","underscore":"^1.7","underscore.string":"^2.4"},"devDependencies":{"mocha":"^2.0.1","should":"4.x"},"gitHead":"1aaf7ab8f251b5236a72e9a71f15a0daaffa09c6","bugs":{"url":"https://github.com/debrouwere/refract/issues"},"homepage":"https://github.com/debrouwere/refract","_id":"refract-cli@0.4.2","_shasum":"e583198a568c63fa6ca4f6feebe8144624193c20","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"stdbrouw","email":"stijn@debrouwere.org"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"e583198a568c63fa6ca4f6feebe8144624193c20","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.4.2.tgz","integrity":"sha512-l1yO97tkKBdicHnAaPOOmd2eBBe3o0csh5i45dq9pfg2NTtDJSdamJO0WyOUkT1/UDnXOtXeWG0slLvdZ0XSbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICG2u8zRE4nkHuGVHqSz8bdj4yB1RsjGJv8DohDPmfIfAiAsR5f1DAxYKqe50QkGbvGTvJgNB+DtxN1Dw2OFG2W/hA=="}]}},"0.5.0":{"name":"refract-cli","version":"0.5.0","description":"A command-line utility to reshape objects. Destructuring assignment on steroids.","main":"lib/index.js","bin":{"refract":"bin/refract"},"scripts":{"test":"make test"},"author":{"name":"Stijn Debrouwere","email":"stijn@debrouwere.org","url":"http://debrouwere.org"},"repository":{"type":"git","url":"http://github.com/debrouwere/refract.git"},"license":"ISC","dependencies":{"coffee-script":"^1.9.0","commander":"2.6.x","js-yaml":"^3.2.7","underscore":"^1.8","underscore.string":"^3.0"},"devDependencies":{"mocha":"^2.0.1","should":"4.x"},"gitHead":"8ab7fd4290f282db8937d9399edae4b51f21618a","bugs":{"url":"https://github.com/debrouwere/refract/issues"},"homepage":"https://github.com/debrouwere/refract","_id":"refract-cli@0.5.0","_shasum":"3a4898e87a87a19628450cd00f64db5613f4927d","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"stdbrouw","email":"stijn@debrouwere.org"},"maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"dist":{"shasum":"3a4898e87a87a19628450cd00f64db5613f4927d","tarball":"https://registry.npmjs.org/refract-cli/-/refract-cli-0.5.0.tgz","integrity":"sha512-gzD10lBv3NYrMPJ/8BsAmq1XXvY4+/CdEs73dHgEwTVbBIqJ+aaQvtjRqa/q0L5udcGRIsCgUYsYTa0W9m8wPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnjEns646vBKLEbyzo9UhDNpPTwYJ3w/5AsvTSjOjvlAiBawaDXk5oCUjKcDUN1CBVX0g00x1uHAZIfqwvqoOHX2w=="}]}}},"readme":"# Refract\n\n[![Build Status](https://travis-ci.org/debrouwere/refract.svg)](https://travis-ci.org/debrouwere/refract)\n\nRefract is a command-line utility to reshape objects to a template.\n\n```javascript\n// object\n{\n    \"id\": \"5768\", \n    \"customer\": \"Stijn Debrouwere\", \n    \"subtotal\": 200, \n    \"handling\": 10 \n}\n// template\n{\n    \"id\": \"parseInt id\", \n    \"uid\": \"dasherize customer\", \n    \"tax\": \"subtotal * 0.21\", \n    \"total\": \"subtotal + handling + tax\"\n}\n// result\n{\n    \"id\": 5768, \n    \"uid\": \"stijn-debrouwere\", \n    \"tax\": 42, \n    \"total\": 252\n}\n```\n\nThink of it as destructuring assignment on steroids.\n\n## Installation\n\nInstall `refract` using the [NPM](https://www.npmjs.org/) package manager which comes bundled with [node.js](http://nodejs.org/).\n\n```shell\nnpm install refract-cli -g\n```\n\nThis will make the `refract` command globally available on your system. You can also use the `refract-cli` module in node.js, as detailed below.\n\n## Usage\n\nRefract takes data and modifies it according to a template.\n\nTemplates are JSON or YAML objects containing keys and expressions. Each expression will be evaluated and the resulting object will be returned.\n\nThere are many ways to specify a template:\n\n| option              | description                            | example\n| ------------------- | -------------------------------------- | -------\n| `--template`        | a path to a YAML or JSON template file | `--template template.yml`\n| `--string`          | a string with interpolations           | `--string 'hello #{name}'`\n| `--template-string` | a template string                      | `--template-string 'head: uppercase title'`\n| `--apply`           | a list of mapping functions            | `--apply title:uppercase`\n\nWhile `--template` is recommended for most purposes, `--apply` works really well for quick refractions, as do `--string` and `--template-string`. They save you the bother of needing to have a refraction template on disk.\n\n### --template\n\n```shell\nrefract order.json --template template.json\n```\n\n### --string\n\nWith `--string` you pass a simple string. Output can become dynamic by including placeholders for interpolation.\n\n```shell\nrefract bio.json --string 'Hello #{name}! You are #{age - 20} years over twenty.'\n```\n\n### --template-string\n\nWith `--template-string`, you pass the actual template as a string of YAML of JSON instead of a path to a template file.\n\n```shell\nrefract order.json --template-string 'total: subtotal + tax'\n```\n\n```json\n{\n    \"total\": ..., \n}\n```\n\n### --apply\n\nUse `--apply` to apply a helper function to a field. The helper function will receive the current value of the field as its only argument.\n\n```shell\nrefract order.json --apply total:parseInt,title:titleize\n```\n\nMapping fields with `--apply` is considerably less flexible than using templates, but when all you need to do is clean up or modify a couple of fields in a straightforward way, it does the trick.\n\nUse `--update` to keep fields that were not transformed in the output.\n\n## Expressions\n\nRefract will evaluate every value in the template object as [CoffeeScript](http://coffeescript.org/) code, or if that fails, as a string with [string interpolation](http://coffeescript.org/#strings). Every expression is then replaced with its result.\n\nVariables: \n\n```coffeescript\nbook.author\n```\n\nMath: \n\n```coffeescript\nhandling + subtotal * 1.21\n```\n\nString interpolation: \n\n```coffeescript\nDr. #{name.first} #{name.last}\n```\n\nPlain strings: \n\n```coffeescript\nHello world.\n```\n\nExplicit strings:\n\n```coffeescript\n'Hello world.'\n```\n\nArrays:\n\n```coffeescript\n[1, 2, 3]\n```\n\nMethods:\n\n```coffeescript\nparticipants.join ', '\n```\n\nFunctions:\n\n```coffeescript\ntitleize permalink\n```\n\nBecause, in this limited environment, almost all valid JavaScript is also valid CoffeeScript, you can  get away with just writing expressions in JavaScript if you'd prefer: \n\n```javascript\n{\n    // CoffeeScript\n    \"slug\": \"(slugify title).toUpperCase()\", \n    // JavaScript\n    \"slug\": \"slugify(title).toUpperCase();\"\n}\n```\n\n## Helpers\n\nAvailable context includes the object itself as well as numerous helper functions loaned from [underscore](http://underscorejs.org/) and [underscore.string](https://github.com/epeli/underscore.string). Please take a look at their documentation to find out which helper functions are available to you.\n\nBecause the keys of your data object can sometimes override helpers (for example, you might have a `where` key that clashes with underscore's `where` function), underscore functions are also available under the `_` namespace, underscore.string functions under the `_.str` namespace.\n\n```javascript\n// template that calls titleize with and without namespacing\n{\n    \"slug\": \"dr-livingstone-i-presume\", \n    \"title\": \"titleize slug\", \n    \"alternative-title\": \"_.str.titleize slug\"\n}\n// resulting in two identical titles\n{\n    \"title\": \"Dr Livingstone I Presume\", \n    \"alternative-title\": \"Dr Livingstone I Presume\"\n}\n```\n\n## Additional features\n\n### Merging the refraction with the original object\n\nBy default, only the evaluated fields from the template object will be included in the output. Specify `--update` if you would like to merge this output with the original object. If the template should only be used to fill in missing values, instead use `--missing`.\n\n### Editing JSON in-place\n\nRefract prints to `stdout`. If you'd like to modify the original JSON file instead, use `--in-place`. For obvious reasons, this only works if a file was specified on the command line rather than piped in over `stdin`.\n\n### Iterating over multiple objects\n\nRefract can also iterate over an array of objects. Use the `--each` option.\n\n### Normalizing keys\n\nRenaming the fields of an object is easy: \n\n```javascript\n// object\n{\n    \"firstName\": \"Belle\"\n}\n// template\n{\n    \"first-name\": \"firstName\"\n}\n```\n\nHowever, if you'd like _all_ fields of an object to adhere to the same standard, this field-per-field approach gets cumbersome really fast. The `--normalized` option provides a handy shortcut. You can normalize key names using any [underscore.string](https://github.com/epeli/underscore.string) function, e.g. `--normalized underscored`. The most useful ones are probably: \n\n* titleize\n* camelize\n* underscored\n* dasherize\n* humanize\n* slugify\n\nNormalization happens before refraction, so refraction expressions should refer to variables by their new normalized names, not their original ones.\n\n### Custom helper functions\n\nYou can add your own helper functions. This should be a regular `.js` or `.coffee` file that can be `require`'d in node.\n\nFor example, your `helpers.js` might look like:\n\n```javascript\nexports.toCelcius = function (fahrenheit) {\n    return (fahrenheit - 32) * 5 / 9;\n}\n```\n\nAnd then you can use that helper with\n\n```shell\nrefract data.json \\\n    --apply temperature:toCelcius \\\n    --helpers helpers.js\n```\n\n## Usage from node.js\n\n```javascript\nvar refract = require('refract-cli');\n\nvar obj = {\n    count: '137'\n}\nvar template = {\n    count: 'parseInt count'\n}\n\n// refract with only JavaScript builtin functions\n// like `parseInt` and `Math.max` as helpers\nvar newObj = refract(template, obj);\n\n// include underscore and underscore.string\n// as helpers\nvar _ = require('underscore');\nvar context = _.extend({}, obj, refract.defaultHelpers)\nvar newObj = refract(template, context);\n\n// keep original fields too, not just refracted ones\n_.extend(newObj, obj);\n```\n\n## Future\n\n* It would be kind of cool if `refract` supported CSV input, converting header names into variables, and then back into (new) headers and columns on output. Maybe someday.\n* It might be useful to support not just JavaScript functions as helpers, but also shell commands. (It wouldn't be terribly efficient, because you'd have to have a bunch of child processes running to manage this, but that's another matter.)\n","maintainers":[{"name":"stdbrouw","email":"stijn@stdout.be"}],"time":{"modified":"2022-06-26T10:40:00.615Z","created":"2014-09-17T14:24:05.820Z","0.1.0":"2014-09-17T14:24:05.820Z","0.1.1":"2014-09-17T14:42:37.168Z","0.2.0":"2014-09-18T12:59:51.719Z","0.2.1":"2014-09-19T07:04:37.527Z","0.3.0":"2014-09-28T19:25:07.982Z","0.3.1":"2014-09-28T21:01:41.237Z","0.3.2":"2014-09-28T21:31:26.084Z","0.3.3":"2014-09-28T21:38:30.346Z","0.3.4":"2014-09-28T21:44:35.080Z","0.3.5":"2014-09-28T21:59:00.608Z","0.3.6":"2014-09-28T22:03:52.518Z","0.4.1":"2014-12-20T21:46:07.685Z","0.4.2":"2015-02-16T08:06:08.423Z","0.5.0":"2015-02-25T20:57:42.972Z"},"homepage":"https://github.com/debrouwere/refract","repository":{"type":"git","url":"http://github.com/debrouwere/refract.git"},"author":{"name":"Stijn Debrouwere","email":"stijn@debrouwere.org","url":"http://debrouwere.org"},"bugs":{"url":"https://github.com/debrouwere/refract/issues"},"license":"ISC","readmeFilename":"README.md"}