{"_id":"fiddle","_rev":"117929","name":"fiddle","description":"mongodb inspired object manipulation","dist-tags":{"latest":"0.0.1"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"time":{"modified":"2021-06-03T10:52:14.000Z","created":"2012-04-13T18:58:52.311Z","0.0.1":"2012-11-16T04:52:59.673Z","0.0.0":"2012-04-13T18:58:52.311Z"},"users":{},"author":{"name":"Craig Condon"},"repository":{"type":"git","url":"git://github.com/crcn/fiddle.js.git"},"versions":{"0.0.1":{"author":{"name":"Craig Condon"},"name":"fiddle","description":"mongodb inspired object manipulation","version":"0.0.1","repository":{"type":"git","url":"git://github.com/crcn/fiddle.js.git"},"main":"./lib/index.js","dependencies":{"sift":"0.0.x","clone":"0.0.x","deep-equal":"0.0.x","traverse":"0.5.x","dref":"0.0.x"},"devDependencies":{},"readmeFilename":"README.md","_id":"fiddle@0.0.1","dist":{"shasum":"ebc9f7bed37fa20a40658021806734f2b5be3ce5","size":3115,"noattachment":false,"key":"/fiddle/-/fiddle-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fiddle/download/fiddle-0.0.1.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1353041579673,"_cnpm_publish_time":1353041579673,"_hasShrinkwrap":false},"0.0.0":{"author":{"name":"Craig Condon"},"name":"fiddle","description":"mongodb inspired object manipulation","version":"0.0.0","repository":{"type":"git","url":"git://github.com/crcn/fiddle.js.git"},"main":"./lib/index.js","engines":{"node":"~0.6.15"},"dependencies":{"sift":"0.0.x","clone":"0.0.x","deep-equal":"0.0.x","traverse":"0.5.x"},"devDependencies":{},"_npmUser":{"name":"architectd","email":"craig.j.condon@gmail.com"},"_id":"fiddle@0.0.0","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"c4e5d42da75b1e729a2ff9cf87b8bad8e5e17340","size":10240,"noattachment":false,"key":"/fiddle/-/fiddle-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fiddle/download/fiddle-0.0.0.tgz"},"maintainers":[{"name":"architectd","email":"craig.j.condon@gmail.com"},{"name":"crcn","email":"craig.j.condon@gmail.com"}],"directories":{},"publish_time":1334343532311,"_cnpm_publish_time":1334343532311,"_hasShrinkwrap":false}},"readme":"### Features\n\n- supported operators: $inc, $set, $unset, $push, $pushAll, $addToSet, $each, $pop, $pull, $pullAll, $rename, $bit\n\n\n### Examples\n\n```javascript\nvar fiddle = require('fiddle');\n\n//increment age by one\nvar fiddled = fiddle({$inc:{age:1}}, null, { name: \"Craig\", age: 21 }); //{ name: \"Craig\", age: 22 }\n\n//check if the age is less than 22 before modifying\nfiddled = fiddle({$inc:{$age:1}}, {age:{$lt:22}}, fiddled); //{ name: \"Craig\", age: 22 }\n\n\n//return a function instead\nvar fiddler = fiddle({$inc:{n:1}});\n\n//modify it\nfiddler({ name: \"Joe\" }); //{ name: \"Joe\", n: 1}\n\n//modify multiple\nfiddler([ {name: \"Joe\" }, { name: \"John \"}])\n```\n\n\n### Filter Example\n\n\n```javascript\nvar fiddle = require('fiddle');\n\nvar fiddler = fiddle({$inc:{n:1}},{age:{$lt:25}});\n\n//result: {name:\"Craig\",age:22, n:1}, {name:\"Tim\",age:21,n:1}\nfiddler([{\n\tname: \"Craig\",\n\tage: 22\n},\n{\n\tname: \"Tim\",\n\tage: 21\n},\n{\n\tname: \"John\",\n\tage: 25\n}]);\n```\n\n\n### API\n\n#### .fiddle(modifiers[, filter][, targets])\n\n- `modifiers` - the modifiers against the given target / targets\n- `filter` - the optional filter to check against the targets. Can be mongodb expression, regexp, or function\n- `targets` - the target / targets to modify\n","_attachments":{},"readmeFilename":"README.md"}