{"_id":"abc","_rev":"4213105","name":"abc","description":"Misc js helpers","dist-tags":{"latest":"0.6.1"},"maintainers":[{"name":"gregof","email":""}],"time":{"modified":"2026-03-04T17:07:38.000Z","created":"2012-07-19T08:00:27.186Z","0.6.1":"2013-07-31T06:56:16.279Z","0.6.0":"2013-07-30T07:48:11.446Z","0.5.1":"2012-12-12T14:00:15.177Z","0.5.0":"2012-12-12T08:13:40.719Z","0.4.1":"2012-10-01T10:01:49.746Z","0.4.0":"2012-09-19T05:16:47.427Z","0.3.0":"2012-09-16T03:30:45.189Z","0.2.1":"2012-08-24T15:14:29.770Z","0.2.0":"2012-08-24T15:10:56.769Z","0.1.0":"2012-07-19T08:00:27.186Z"},"users":{},"author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"versions":{"0.6.1":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.6.1","dependencies":{},"devDependencies":{"abc":"0.3.x","tc":"0.3.x"},"optionalDependencies":{},"engines":{"node":">=0.4.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_id":"abc@0.6.1","dist":{"shasum":"3f60868295ada65306fd7a3e0025cc69d56c39a8","size":5464,"noattachment":false,"key":"/abc/-/abc-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.6.1.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1375253776279,"_hasShrinkwrap":false,"_cnpm_publish_time":1375253776279,"_cnpmcore_publish_time":"2021-12-17T12:00:18.052Z"},"0.6.0":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.6.0","dependencies":{},"devDependencies":{"abc":"0.3.x","tc":"0.3.x"},"optionalDependencies":{},"engines":{"node":">=0.4.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_id":"abc@0.6.0","dist":{"shasum":"4591c0a10b40c0111eb527fb477659a3b99b3623","size":4797,"noattachment":false,"key":"/abc/-/abc-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.6.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1375170491446,"_hasShrinkwrap":false,"_cnpm_publish_time":1375170491446,"_cnpmcore_publish_time":"2021-12-17T12:00:18.323Z"},"0.5.1":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.5.1","dependencies":{},"devDependencies":{"abc":"0.3.x","tc":"0.3.x"},"optionalDependencies":{},"engines":{"node":">=0.4.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_id":"abc@0.5.1","dist":{"shasum":"56e6a4b56ed691aada9049a7ad38825892ec61b3","size":4436,"noattachment":false,"key":"/abc/-/abc-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.5.1.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1355320815177,"_hasShrinkwrap":false,"_cnpm_publish_time":1355320815177,"_cnpmcore_publish_time":"2021-12-17T12:00:18.803Z"},"0.5.0":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.5.0","dependencies":{},"devDependencies":{"abc":"0.3.x","tc":"0.3.x"},"optionalDependencies":{},"engines":{"node":">=0.4.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_id":"abc@0.5.0","dist":{"shasum":"b9c191670d2118f5a662bfe1b5ed36a2ea1fd90c","size":4469,"noattachment":false,"key":"/abc/-/abc-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.5.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1355300020719,"_hasShrinkwrap":false,"_cnpm_publish_time":1355300020719,"_cnpmcore_publish_time":"2021-12-17T12:00:19.006Z"},"0.4.1":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.4.1","dependencies":{},"devDependencies":{"abc":"0.3.x"},"optionalDependencies":{},"engines":{"node":">=0.4.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_id":"abc@0.4.1","dist":{"shasum":"8f0d720b58c3c616ad20b817ee6fca14c21c649a","size":4719,"noattachment":false,"key":"/abc/-/abc-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.4.1.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1349085709746,"_hasShrinkwrap":false,"_cnpm_publish_time":1349085709746,"_cnpmcore_publish_time":"2021-12-17T12:00:19.247Z"},"0.4.0":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.4.0","dependencies":{},"devDependencies":{"abc":"0.3.x"},"optionalDependencies":{},"engines":{"node":">=0.4.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_id":"abc@0.4.0","dist":{"shasum":"1f4a94aec45c192dcfdb85e8ad8ebcbf52d28fe9","size":4096,"noattachment":false,"key":"/abc/-/abc-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.4.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1348031807427,"_hasShrinkwrap":false,"_cnpm_publish_time":1348031807427,"_cnpmcore_publish_time":"2021-12-17T12:00:19.657Z"},"0.3.0":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.3.0","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":">=0.4.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_id":"abc@0.3.0","dist":{"shasum":"d5182df7143b8e4615f114264634f28852053c42","size":2939,"noattachment":false,"key":"/abc/-/abc-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.3.0.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1347766245189,"_hasShrinkwrap":false,"_cnpm_publish_time":1347766245189,"_cnpmcore_publish_time":"2021-12-17T12:00:19.936Z"},"0.2.1":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.2.1","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":">=0.4.0 <0.7.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"_id":"abc@0.2.1","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"29d7cd816dbf703f20c9de598ec0f8bae48cb0da","size":2864,"noattachment":false,"key":"/abc/-/abc-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.2.1.tgz"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1345821269770,"_hasShrinkwrap":false,"_cnpm_publish_time":1345821269770,"_cnpmcore_publish_time":"2021-12-17T12:00:20.143Z"},"0.2.0":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.2.0","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":">=0.4.0 <0.7.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"_id":"abc@0.2.0","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"927c7f8533ac5cf5865c7b3d2f5aa292d78ce7de","size":2858,"noattachment":false,"key":"/abc/-/abc-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.2.0.tgz"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1345821056769,"_hasShrinkwrap":false,"_cnpm_publish_time":1345821056769,"_cnpmcore_publish_time":"2021-12-17T12:00:20.427Z"},"0.1.0":{"name":"abc","author":{"name":"Golubev Fedor","email":"gregof@yandex.ru","url":"http://github.com/gregof"},"description":"Misc js helpers","version":"0.1.0","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":">=0.4.0 <0.7.0"},"repository":{"type":"git","url":"git://github.com/gregof/abc.git"},"main":"./index.js","_npmUser":{"name":"gregof","email":"gregof@yandex.ru"},"_id":"abc@0.1.0","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"920234dfda70284cfd4754b5ad74587588fedeec","size":2883,"noattachment":false,"key":"/abc/-/abc-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/abc/download/abc-0.1.0.tgz"},"maintainers":[{"name":"gregof","email":""}],"directories":{},"publish_time":1342684827186,"_hasShrinkwrap":false,"_cnpm_publish_time":1342684827186,"_cnpmcore_publish_time":"2021-12-17T12:00:20.624Z"}},"readme":"## abc\n\n#### abc.async.forEach\n```javascript\nabc.async(array, action, [callback]);\n```\n```javascript\nabc.async.forEach(\n    [1,2,3],\n    function (value, callback) {\n        if (value === 1) {\n            setTimeout(function () {\n                callback(value * value);\n            }, 200)\n        } else {\n            callback(value * value);\n        }\n    },\n    function (results) {\n        results; // [1, 4, 9]\n        // finish\n    }\n);\n```\n```javascript\nabc.async.forEach(\n    [func1, func2, func3],\n    function (results) {\n        // finish\n    }\n);\nfunction func1 (callback) {\n    // ...\n    callback();\n}\n// func2, func3\n```\n#### abc.async.sequence\n```javascript\nabc.sequence(array, action, [callback]);\n```\n```javascript\nabc.async.sequence(\n    [1,2,3],\n    function (value, callback, previousResult) {\n        value; // 1, 2, 3\n        previousResult; // null, 1, 4\n        \n        if (value === 1) {\n            setTimeout(function () {\n                callback(value * value);\n            }, 200)\n        } else {\n            callback(value * value);\n        }\n    },\n    function (results) {\n        results; // [1, 4, 9]\n        // finish\n    }\n);\n```\n```javascript\nabc.async.sequence(\n    [func1, func2, func3],\n    function (results) {\n        // finish\n    }\n);\nfunction func1 (callback, previousResult) {\n    // ...\n    callback();\n}\n// func2, func3\n```\n\n####abc.dir\nCreate dir, if it does not exist.\n```javascript\nabc.dir(dirPath, callback)\n```\n\n#### abc.file.read\n```javascript\nabc.file.read(filename, callback)\n```\n#### abc.file.write\n```javascript\nabc.file.write(filename, text, callback)\n```\n#### abc.file.copy\n```javascript\nabc.file.copy(sourceFileName, destinationFileName, callback)\n```\n#### abc.file.binRead\n```javascript\nabc.file.binRead(filename, callback)\n```\n#### abc.file.binWrite\n```javascript\nabc.file.binWrite(filename, data, callback)\n```\n#### abc.file.binCopy\n```javascript\nabc.file.binCopy(sourceFileName, destinationFileName, callback)\n```\n\n#### abc.extend\n```javascript\nabc.extend(origin, patch1 /*, ..., patchN */, recursive)\n```\n\n#### abc.find\nRecursive find in dir. Calls fileCallback for each file, and completeCallback at end.\n```javascript\nabc.find(dirPath, fileCallback, completeCallback, {recursive: true, excludedDirs: ['node_modules']})\n\nfunction fileCallback (file, dirPath) {\n    file; // code.js\n    dirPath; // src/\n    return /.*\\.js/.test(file); // find all js files\n}\n```\n\n#### abc.Executer\nPool of actions limited by action executed in parallel.\n```javascript\nvar executer = new abc.Executer(30); // No more then 30 actions in parallel.\nexecuter.add(function (callback) {\n    // do something async\n    calllback();\n});\n```\n","_attachments":{}}