{"_id":"tk","_rev":"21-577e1705338055d6c75885274306a5f5","name":"tk","description":"ECMA5 Core Object extensions","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"tk","version":"0.1.0","description":"ECMA5 Core Object extensions","keywords":["toolkit","extend"],"author":{"name":"Diogo Resende","email":"dresende@thinkdigital.pt"},"engines":{"node":">= 0.6.0"},"repository":{"type":"git","url":"git://github.com/dresende/node-toolkit.git"},"directories":{"lib":"./lib"},"main":"./lib/index","licenses":[{"type":"MIT","url":"http://github.com/dresende/node-toolkit/raw/master/LICENSE"}],"_npmUser":{"name":"dresende","email":"dresende@thinkdigital.pt"},"_id":"tk@0.1.0","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"854aeab608ddeccef92a549e1434e09a53594135","tarball":"https://registry.npmjs.org/tk/-/tk-0.1.0.tgz","integrity":"sha512-ZsCQ6dHnfaUM6zCcvsKbPT5Il3Q7YfzLHpFGDUy0NFxtkqIKJUcoeifOCm7d53qHqt5pIMrsSPrcI6UEiQ+siQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFc4srKRmA5AKzOOG9arnn97LtwWjQa2sO/ouFcP9yB7AiAZ5vt9cDffNToZarrLlVpLAIF1qEtSeNqTJXoz5n4GHQ=="}]},"maintainers":[{"name":"dresende","email":"dresende@thinkdigital.pt"}]},"0.1.1":{"name":"tk","version":"0.1.1","description":"ECMA5 Core Object extensions","keywords":["toolkit","extend"],"author":{"name":"Diogo Resende","email":"dresende@thinkdigital.pt"},"engines":{"node":">= 0.6.0"},"repository":{"type":"git","url":"git://github.com/dresende/node-toolkit.git"},"directories":{"lib":"./lib"},"main":"./lib/index","licenses":[{"type":"MIT","url":"http://github.com/dresende/node-toolkit/raw/master/LICENSE"}],"devDependencies":{"vows":"0.6.x"},"scripts":{"test":"vows --spec test/*"},"_npmUser":{"name":"dresende","email":"dresende@thinkdigital.pt"},"_id":"tk@0.1.1","dependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"0cbde7a6e665a31ddc572568ca8f96b08722f058","tarball":"https://registry.npmjs.org/tk/-/tk-0.1.1.tgz","integrity":"sha512-R2LAVHNEHKK9zkyA7MD7f3Gsc1ZLCylAqhskp7qQPVqFitS1gnlNYRbngQ/uljwPpmX8qBYrpkBt0vScRhHJgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFTb6r8X+cL+vQrE6jL4RwzNScguqNlayw7FjNm1+v/RAiEAj781DovbP7/NMMZ/nGkMNwglnc9qa/TWMV7yI/2GDwg="}]},"maintainers":[{"name":"dresende","email":"dresende@thinkdigital.pt"}]},"0.1.2":{"name":"tk","version":"0.1.2","description":"ECMA5 Core Object extensions","keywords":["toolkit","extend"],"author":{"name":"Diogo Resende","email":"dresende@thinkdigital.pt"},"engines":{"node":">= 0.6.0"},"repository":{"type":"git","url":"git://github.com/dresende/node-toolkit.git"},"directories":{"lib":"./lib"},"main":"./lib/index","licenses":[{"type":"MIT","url":"http://github.com/dresende/node-toolkit/raw/master/LICENSE"}],"devDependencies":{"vows":"0.6.x"},"scripts":{"test":"vows --spec test/*"},"_npmUser":{"name":"dresende","email":"dresende@thinkdigital.pt"},"_id":"tk@0.1.2","dependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"8a9c5da4c3f73ae854dc733b4ffb1279356a24e4","tarball":"https://registry.npmjs.org/tk/-/tk-0.1.2.tgz","integrity":"sha512-aNeuTashKfjVtIHAkNrBuWPIQHySz17JmQ1G+MHKwHFZGSvFalbyzchR/uPBjKcPRGFhCYynJDAbNbjqEF+rog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG9fqZfJNP5VHguY+u1ODhFHQb5V1pA9NBXVoPjEK6NLAiEAo/anitoh0VUVHxqxGa4lLo2Upd7sNh9TyLoShbjcu7M="}]},"maintainers":[{"name":"dresende","email":"dresende@thinkdigital.pt"}]}},"readme":"## NodeJS / Javascript Toolkit\n\nThis is a set of extensions for native objects. Almost all native objects will probably have usefull\nextensions such as formatting a number or comparing dates or even padding a string.\n\nBefore suggesting any extension, check if native objects don't have them already. For example,\n`Array.map` and `Array.filter` are already in the core.\n\nHere is a list (possibly not up-to-date) of the extensions:\n\n### Array\n\n- .first([ n ])\n- .last([ n ])\n- .without(v1, .., vN)\n- .compact()\n- .unique()\n- .sum()\n- .product()\n- .grep(/re/)\n- .min()\n- .max()\n\n### Date\n\n- .addHour(n)\n- .addDay(n)\n- .addWeek(n)\n- .addMonth(n)\n- .addYear(n)\n- .before(date)\n- .after(date)\n- .between(start, end)\n- .diff(date)\n\n### Function\n\n- .defer([ms])\n- .curry(arg1, .., argN)\n\n### Math\n\n- .random([ start [, end ]])\n\n### Number\n\n- .pow(n)\n- .odd()\n- .even()\n- .abs()\n- .ceil()\n- .floor()\n- .round([n])\n- .format([ decimals [, decimal_separator [, thousands_separator ]]])\n- .duration([ format ])\n\n### String\n\n- .words([ separators ])\n- .count(needle, [ offset [, len ]])\n- .csv([ delimiter_char, [ enclosure_char, [ escape_char ]]])\n- .repeat([ n ])\n- .reverse()\n- .ord([ n ])\n- .trim()\n- .ltrim()\n- .rtrim()\n- .pad([ length, [ padding_string, [ type ]]])\n- .shuffle()\n- .chunk([ length, [ delimiter ]])\n","maintainers":[{"name":"dresende","email":"dresende@thinkdigital.pt"}],"time":{"modified":"2022-06-27T07:11:58.400Z","created":"2011-11-10T19:39:38.421Z","0.1.0":"2011-11-10T19:39:41.347Z","0.1.1":"2012-01-31T17:40:04.047Z","0.1.2":"2012-02-27T13:12:10.684Z"},"author":{"name":"Diogo Resende","email":"dresende@thinkdigital.pt"},"repository":{"type":"git","url":"git://github.com/dresende/node-toolkit.git"}}