{"_id":"little-ds-toolkit","_rev":"15-6a16b756cb09479be03e6e363bc2df71","name":"little-ds-toolkit","description":"A small collection of useful data structures","dist-tags":{"latest":"1.1.1"},"versions":{"0.0.2":{"name":"little-ds-toolkit","version":"0.0.2","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"cdc2f10325a44e85c9ec79c50335d985160f4c0e","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.0.2","_shasum":"170a5fbd5d84971ae0a01e695731a950bba5379d","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"170a5fbd5d84971ae0a01e695731a950bba5379d","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.0.2.tgz","integrity":"sha512-UIyhT7E12QUWRwVGlBzKognw7h140n/BEU9ahCpYp5Tkp1wbRKf2/S17swaCtIikjp75Af7JR+bkeahKHy6uuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAuIN4PvFcP+BiLVzfPpXJW7WE1/1JshHX1M8TatFr8hAiEAxymn0vQZ7E4l4gguS+5T9KNkan3L7cN5gh8C39EGB4Y="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.0.2.tgz_1469001316868_0.35683723143301904"},"directories":{}},"0.1.0":{"name":"little-ds-toolkit","version":"0.1.0","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"ff70a2aeff4029720e994ee899bb681ad5bd62ea","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.1.0","_shasum":"5e491f73404d94e21a2c64f0fbd7d00e6ed5a48a","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"5e491f73404d94e21a2c64f0fbd7d00e6ed5a48a","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.1.0.tgz","integrity":"sha512-ql4UhoGzaYfH8UeB9Fm3EzRGZDq1zobOUWXQNrMxZ4Zwc10bSbEliOZl4EQqNeHhzooAY9dxz0MDsFl6rCNeTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhwBA2PjhN1rMLEnounOY9miGN4pZCXsPFHWGv2tLbhAiA82WyWS0fKZha3kr5tmcpnavOaY6A+VyJOXyQOwc5T9Q=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.1.0.tgz_1469480612474_0.7790001621469855"},"directories":{}},"0.2.0":{"name":"little-ds-toolkit","version":"0.2.0","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"bde1c609107665445a43e96d5b3de52754f16781","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.2.0","_shasum":"4730ff6003f79ece35d0eb9365aa1abf034bff06","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"4730ff6003f79ece35d0eb9365aa1abf034bff06","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.2.0.tgz","integrity":"sha512-55djRpTc5MQoKHPwQ/8RfacG3ywMi06eooiGyo4QrwNNiwDrYAdpQZxIln8Ad5EVwKvPZp3F5/8GKYFLDqineQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGcud2p61ZATVLgDmzvDF2G+PwdAuPylag3nOe9YE/TAiEAp3S3reumLE7SVa5f4KJXAMxWwokr/7jZ5STPHeLaTZQ="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.2.0.tgz_1470950624607_0.7628602136392146"},"directories":{}},"0.2.1":{"name":"little-ds-toolkit","version":"0.2.1","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"ccef23f6d6007d47fb2e226a643d6a6af80fb5f7","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.2.1","_shasum":"a1f5cc8bdc7ef4118dd980b07151eb3700742890","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"a1f5cc8bdc7ef4118dd980b07151eb3700742890","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.2.1.tgz","integrity":"sha512-WsgJoNZl3Zyo8/hS5zihSODeHkumUxGmOW4ul4PDRJPTU74VYWSJuCyZ9KlgUBuHIHkUU0xqk4pN88WNdr8Ocw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFyiAcv25FMQGyOS6UjO+l8AOi/Y5ddkUw0B5djpVzjDAiEAzuNwirHRo4yCreyPvT2JDsu9lIhYuEu6BqZM0+tt+90="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.2.1.tgz_1471042535243_0.040467631770297885"},"directories":{}},"0.2.2":{"name":"little-ds-toolkit","version":"0.2.2","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"510733c4ed1ce03be9d9bbe51f96c396049dbfac","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.2.2","_shasum":"40082ee8f411a99f009ec5d40e566fcf79edff1e","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"40082ee8f411a99f009ec5d40e566fcf79edff1e","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.2.2.tgz","integrity":"sha512-+meF3NNeZtgJpnUZgdkD+EftdN4D1uI+OEOqZIKRhUqQoiRLdOnvE7j+7qXGfWO8PRYk1H9e+EW7CRRHQoMtDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0upG7jFr8RX4xVlrhacK6y9T7vhwlF/r91BT1EAJNHAiAV556kirqvktVlfpviJw4gnUb7u0f/jpUmbLQxX9PDgA=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.2.2.tgz_1471044301367_0.8218621416017413"},"directories":{}},"0.2.3":{"name":"little-ds-toolkit","version":"0.2.3","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"87ccd650c98d15590bd9ae1a4d7788c9f3d728bd","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.2.3","_shasum":"fcc8eea1f9ec701364cc6bceca8ed0edd1b3c4ea","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"fcc8eea1f9ec701364cc6bceca8ed0edd1b3c4ea","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.2.3.tgz","integrity":"sha512-/YLEcROzHdOicgilsV4YU+ULi5izpLFV09OJTCik8UICAuMftXU+pLhQT8hNyQl/HNuxMZnH0ECB0WFtD/d5KQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCHxON1nkvrgjQ+9K3Q4f/7xKqirp16//lHjDFGGuxXLMCIQDtzGWCBCP59Spjb/qDiD6bAL7cj+0976uAulGgOmabWw=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.2.3.tgz_1471195769592_0.7102185403928161"},"directories":{}},"0.2.4":{"name":"little-ds-toolkit","version":"0.2.4","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"bbb6d1e203e27d5dfb798f9f6c932293fe1b0123","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.2.4","_shasum":"b46822cc4f9d428b4b811ad078b20818bc1c988a","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"b46822cc4f9d428b4b811ad078b20818bc1c988a","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.2.4.tgz","integrity":"sha512-tlrXSEHsKowADVQfoCwsmGq6jjXqzPxnbt1CeWjjofeWPcEpnIZ8RBTV5mUsAUDHXvMSpVqMO+M098RXEA+Xrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEjSlv37zNAxtJPDmiSR3+NKw+X7IUoNLkkJST0evEkgIhAKBTsY8YS/dDcDlr8OdNdsCpSkUmvHfydIqLhAJ8o5ng"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.2.4.tgz_1472853583156_0.0746812978759408"},"directories":{}},"0.3.0":{"name":"little-ds-toolkit","version":"0.3.0","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"b9d4d1101802f315a772ae8aa56c6f52568d020c","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.3.0","_shasum":"b293dec40c553fe5e76bc942be59214c28e774ab","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"b293dec40c553fe5e76bc942be59214c28e774ab","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.3.0.tgz","integrity":"sha512-jQGAN6hJDLyAZFxECqOtSkpwuiqVXtG6eflIOJHdzi3yvwdxeUQrSxhJS4toxgmTA2LUY4lFIIKHucp+cFoaGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErp+ZaT85eB/gTmuWc93O3BjzeWHLMuVcP7i3Mz/IYSAiAc8ligBMxftD4Isv+smdHBE1S145uUgrEKa1NkySHkJQ=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/little-ds-toolkit-0.3.0.tgz_1474817800225_0.18279232899658382"},"directories":{}},"0.4.0":{"name":"little-ds-toolkit","version":"0.4.0","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"sizeof":"^1.0.0"},"gitHead":"6ea7ce0f56497d653141b021f3deb3130cfa1526","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@0.4.0","_shasum":"a9d008c403d6f1a416060e1e4e027911c3feed23","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"a9d008c403d6f1a416060e1e4e027911c3feed23","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-0.4.0.tgz","integrity":"sha512-0pIzhrv6SPcNgDOkzf9Y8MpAZYnWet9Skc6+cmd7sU5wOwJRukfBAkq8ZT461XUjIGE3dsWZNp8xXV4sfSQDIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBYAQFXAb/g0yUFVpCkRRuNQoKAMb69jFA/hiS6C2KfOAiEA3WCfEOtNUwG6qj5L0iCCW9gVUeXxwqGH2tmyD4pVQa8="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/little-ds-toolkit-0.4.0.tgz_1501875303570_0.6861213007941842"},"directories":{}},"1.0.0":{"name":"little-ds-toolkit","version":"1.0.0","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.10.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","mocha":"^5.0.5","npm-release":"^1.0.0"},"dependencies":{},"gitHead":"5c129703bba273afef2cf600ed8b3a9b42c60837","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@1.0.0","_npmVersion":"5.7.1","_nodeVersion":"8.7.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-rBPJMx7b/nZmHK7Z/zL3bC21ZJ3D17GiFAQuMaGJvcblnJU3MYNK6nhf+iGgBYsY6X4FeCMqmcoYjKBdqg0zMQ==","shasum":"52b9e3eadd19a8113811d14807268591abc23b8d","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-1.0.0.tgz","fileCount":14,"unpackedSize":37616,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuv6Lhqy7OuoXLmatqw265My2xm4gndQ4mSqKtr7n10wIgO/sdiOla/aTFhPzT9FNK+/APZzs2hiHJYXOMMvLGd8g="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/little-ds-toolkit_1.0.0_1522619829844_0.012456508418901446"},"_hasShrinkwrap":false},"1.1.0":{"name":"little-ds-toolkit","version":"1.1.0","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.10.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","mocha":"^5.0.5","npm-release":"^1.0.0"},"dependencies":{},"gitHead":"44adfc2474f85ecffc8c4896aa216228d99719c6","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@1.1.0","_npmVersion":"5.8.0","_nodeVersion":"8.7.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-2ARbmay5TrhFxFqcyFxPigmRToDuo8yxvIMdvwsDYNd/oZKnvsFT5L3I7s8WLXR7/tThYeffN9ouDtFFk4wzsA==","shasum":"ed7d181763c8d223cb049661cf09896b296b591e","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-1.1.0.tgz","fileCount":14,"unpackedSize":38617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWOw6CRA9TVsSAnZWagAAIuoP/35aY1HO/8jlu4Com9B8\nkODjsO6uPVyc70YAnmDEsGnvCtnISrDKm+22pjg6BKOXH7ziTAuOVDXhiyUR\nobuPax1jDHk05n1xttc4+wZJJB7YQzLuUAMBwLDOu+cpKv7MKWab1R51GLUk\nntS9RVHTbmSDnHPe1RAp0+6GDEu5EJ26onKq7YoBf6s5gG4XAOitPUhU7qrZ\npvPPHs2j8UQqZyFcHdPCpOJrBxJhMzSyuwmLbIXiC3A5AvKu5PwX6uSD4n6M\nOWnTFfyOEgKQXmP/75MNmDfssC/izvlcfJ5N2z9gdC1+dJURHskxbGt3rAJi\nBu4YOefhnS2nPGD5HXOJC/VQyGzFpEqySz0yFUL1oMYoCHrFTjijN7f/sQ1U\nsujh23Smq2/MO5OMDkC8ujwvvOHZN2AoYNh8oomQPfraYZiGK4ZhS63gCPKd\nic2pDMUyGKRjpMgR5ll59De7Or4D8a8ROmfcd0728CksAWOflPcAPV3Tn+CO\nUHuSy7jxz4A9gnqQW3AOBuKgEbJW+xREGq+xJtP6IqrOI4XY0NTouk9686W4\nu7JF9m3ntt5stOuhV//DPoUzUwzBjLw7nk2Zc+pQC0SprkxyO0L5YmZS2VN5\nk6cRSBnccrcmDd3uqrygHtQ2J3TQDrvXFUEgAs7z+l2ZK7iz3bywxom+yXz0\n5fy9\r\n=+zJI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCC68knDCmc3kC68dugGFnHoBG98PC1I6Etg6kBuU5GdAIhAIRBp7DSDdwO/o/Xtg+v/eGFdQNIEsMaYtrTfSjEa02w"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/little-ds-toolkit_1.1.0_1532554298793_0.27861134912435115"},"_hasShrinkwrap":false},"1.1.1":{"name":"little-ds-toolkit","version":"1.1.1","description":"A small collection of useful data structures","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./lib ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.10.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","mocha":"^5.0.5","npm-release":"^1.0.0"},"dependencies":{},"gitHead":"13947a78368c6ce1add409992e8fc8ad97d51c98","bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","_id":"little-ds-toolkit@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-Zl5flhnd5W6nhRCyoL1bNlU8M5CWFp6SItMmK4pj39LKgzQD7LGg591OJ0jwDKat7mjHvJVkOyJT+BXOQH4iXw==","shasum":"abbf79601bfc583443c94733797e30acd960a51f","tarball":"https://registry.npmjs.org/little-ds-toolkit/-/little-ds-toolkit-1.1.1.tgz","fileCount":14,"unpackedSize":38617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckgq2CRA9TVsSAnZWagAAB1sP/A2AyDZWOFQcrQ9MXC4B\nLc+VGOu94M25qY9e71vSiBKQleQME+RKn1iBhXMtzR9Cjuuw4VIBS6hyACWj\nbOcPxf2Wepi5eiNaHNHG2ey38EDV2KTj+JPWnZAGs5WZ+v89t5/aUJ/KbG/Y\nAU//4QIRD9ddEVHFdRtX7h1g70Ekym6nq1kjEsSqh87SixfDcclwad7RYXyF\neNNCjq0dmnSv+8PiSA1skAAaRXF6Uylygu3SpYY5/ZpQ5G5r2LYW5h+9V1dd\nS8J7WADolDXMcMYtRAc148tMcMNl2oe83ZxkDv8rBxMP1P+OZ3EWipqDGOgg\n1Ux8Du88pqiPQFrOuIqxe3pNA3xDdjwoLyP6p2BVdiE9uxqXpsMxFsvMDnlr\nA3pKwfaPk4XjJwvKXXHrJX3Vk7KDTqAA3KQ09vc1Z0b36I2Z72pAnNAuJn2o\nbZXqnoTSj4vEPO0SiqM59B9mhAG0q3Tsiye/mW2Wr0j5r3BydulfLjBLfpCb\n/vN3J8drBsz51W207WWw+sRVogdVoUJF5iLn4v41VUKBwbgQzdyK2VGtNWOY\nBJ/r1FvwQ+oO3TFJUHg0bknCoDJxBeCRrYVoqfVgEyg8QG7UIsUQIs3W0qr3\nlTqLrphcihvBlSqM8a4MVJTe932S1IFJsznkpYWoc0Ud31tIuwJqDRbJp72m\niqcH\r\n=mYDh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHxVh/VF4G9Bc+MxXiwmJ8H0d8hAykObvoTpGrc/z0puAiEAwNMJJ26aedkreXgIutjKtb00aK2vS3pCye/528J3OI8="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/little-ds-toolkit_1.1.1_1553074869517_0.9322990749931463"},"_hasShrinkwrap":false}},"readme":"little-ds-toolkit\n=================\n[![Build Status](https://travis-ci.org/sithmel/little-ds-toolkit.svg?branch=master)](https://travis-ci.org/sithmel/little-ds-toolkit)\n\nThis is a little collection of some useful data structures. The goal is not giving an exhaustive list and implementation of all existing data structures. But rather a small set of the most useful ones.\n\nheap\n====\nThis data structure is particularly efficient when it comes to repetitively return the minimum (or maximum, depending on the sorting) item contained, while inserting items in a random order.\n\nYou can import it with:\n```js\nvar Heap = require('little-ds-toolkit/lib/heap');\n```\nor\n```js\nvar Heap = require('little-ds-toolkit').Heap;\n```\nCreating an instance:\n```js\nvar heap = new Heap();\n```\nThe constructor function can take as argument the comparator used to internally sort the items (just like Array.prototype.sort):\n```js\nvar heap = new Heap(function (a, b) {\n  return a.value - b.value;\n});\n```\nYou can add items:\n```js\nheap.push(item); // Θ(log n)\n```\nremove and get the minimum (or maximum, depending on the comparator)\n```js\nvar min = heap.pop(); // Θ(log n)\n```\nPeeking without removing it is even more efficient:\n```js\nvar min = heap.peek(); // Θ(1)\n```\nSearching across the data structure is not particularly efficient, it returns a valid index or -1 (not found):\n```js\nheap.indexOf(item); // Θ(n)\n```\nYou can also pass a function that should return true when the item is found:\n```js\nheap.indexOf(function (item) { // Θ(n)\n  return item.prop === 5;\n});\n```\nUsing the index you can get or remove an item:\n```js\nheap.get(3); // Θ(1)\n\nheap.removeIndex(3); // Θ(log n)\n```\nremoveIndex returns the item removed.\n\nThe \"remove\" method is a short for indexOf + removeIndex.\n```js\nheap.remove(item); // Θ(n + log n)\n// is the same as:\nheap.removeIndex(heap.indexOf(item)); // Θ(n + log n)\n```\nYou can get the length of the heap with:\n```js\nheap.size(); // Θ(1)\n```\nWith buildHeap you can populate the heap with the values in an array (it resets the heap). It is very efficient, only O(n). The array used as argument will be mutated!\n\"popAll\" is a utility method to return all items in the heap. These two methods, combined together the can be used to build the heapsort sorting algorithm:\n```js\nvar heap = new Heap();\nheap.buildHeap(unsorted_array); // O(n)\nheap.popAll(); // returns a sorted array O(nlogn)\n```\nThe \"toArray\" method returns the inner array representation (partially sorted).\n\n\nAdvanced features: updating item order and removing items\n---------------------------------------------------------\nAn algorithm may require to remove items or update the sorting order. These operations can be expensive as they require to search the item to remove or replace (O(n)). You can solve this problem with some additional book keeping, using the \"onMove\" callback.\nThis function can be passed to the contructor (as second argument) and is called every time an item moves in the heap.\n```js\nvar itemPos = {};\nvar heap = new Heap(undefined, function (item, nextPos, previousPos) {\n  itemPos[item.id] = nextPos;\n});\n```\nUsing this you can easily remove or replace an item in O(log n):\n```js\n// removing item \"A\"\nheap.removeIndex(itemPos.A);\n\n// replace item \"A\"\nheap.replaceIndex(itemPos.A, newItem);\n```\n\nmin-max-heap\n============\nThis data structure implements the same features of the heap (with the same asymptotic running time), but it also allow to pop maximum values in the same way.\nIt is implemented internally by 2 heaps, with the opposite comparator, pointing one another.\nYou can create an instance with:\n```js\nvar MinMaxHeap = require('little-ds-toolkit/lib/min-max-heap');\n```\nor\n```js\nvar MinMaxHeap = require('little-ds-toolkit').MinMaxHeap;\n\nvar heap = new MinMaxHeap(optionalComparator);\n```\nHere is a list of the methods:\n\n* push: push one item in the heap O(log n)\n* pushAll: push a list of items in the heap O(n)\n* popMin: pop the minimum item from the heap O(log n)\n* popMax: pop the maximum item from the heap O(log n)\n* peekMin: peek the minimum item from the heap O(1)\n* peekMax: peek the maximum item from the heap O(1)\n* popMinAll: pop all items from the heap O(n log n)\n* popMaxAll: pop all items from the heap in reversed order O(n log n)\n* size: returns the number of items stored O(1)\n* remove: remove an item from the heap O(n)\n* toArray: return a partially sorted array O(1)\n* buildHeap: build the heap starting with an array O(n)\n\nunion-find\n==========\nThis data structure is useful to group item together and tell if one or more items belongs to the same group.\n\nYou can import it with:\n```js\nvar UnionFind = require('little-ds-toolkit/lib/union-find');\n```\nor\n```js\nvar UnionFind = require('little-ds-toolkit').UnionFind;\n```\nYou can create an UnionFind node:\n```js\nvar item = new UnionFind(value);\n```\nIt has only two methods. Union:\n```js\nitem.union(item2); // almost O(1) (grows very slowly)\n```\nand find:\n```js\nitem.find(); // almost O(1) (grows very slowly)\n```\nBoth \"find\" and \"union\" return the \"leader\" element. The important part is that 2 elements with the same leader belong to the same set.\nYou can retrieve the original value with \"item.data\".\n\nThe object contains 2 useful helper functions \"union\" and \"find\" that runs on both UnionFind instances or other values.\n```js\n// the arguments can be any value (or a UnionFind instance)\nvar leader = UnionFind.find(item);\nvar leader = UnionFind.union(item1, item2);\n```\n\nlru-cache\n=========\nThis data structure is a key value cache. The least used items are purged from the cache when it reaches its maximum size (or length).\nIf ES2015 Map are available this can use anything as \"key\". For old js it only supports strings.\n\nYou can import it with:\n```js\nvar LRUCache = require('little-ds-toolkit/lib/lru-cache');\n```\nor\n```js\nvar LRUCache = require('little-ds-toolkit').LRUCache;\n```\nYou create a cache using:\n```js\nvar cache = new LRUCache(options);\n```\nThe options are:\n\n* maxLen: maximum items\n* defaultTTL: default time to live. Older items are considered stale and not returned\n* onDelete: optional function, it is called when an item is removed from the cache\n\nIf maxLen is not set that would be equal Infinity, in this way it is going to behave just like a simple map (please set one!).\n\nStale items are not removed from the cache, they are not returned and they should go towards the end of the queue, and therefore be purged by the LRU algorithm.\n\nYou can set an item:\n```js\ncache.set(key, value, ttl); // the time to live is optional Θ(1)\n```\nand get an item:\n```js\nvar value = cache.get(key); // Θ(1)\n```\nIf the item is not in the cache or stale, it'll return undefined.\nThe \"peek\" method is not altering the LRU data structure while returning a value. It is also returning stale objects.\n```js\nvar value = cache.peek(key); // Θ(1)\n```\nYou can remove an item from the cache using:\n```js\ncache.del(key); // Θ(1)\n```\nYou can check if a value is in the cache using \"has\":\n```js\ncache.has(key); // Θ(1)\n```\nIt returns a boolean.\ncache.len is an attribute containing the number of items.\n","maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"time":{"modified":"2022-06-19T12:52:22.053Z","created":"2016-07-20T07:55:18.642Z","0.0.2":"2016-07-20T07:55:18.642Z","0.1.0":"2016-07-25T21:03:34.278Z","0.2.0":"2016-08-11T21:23:46.728Z","0.2.1":"2016-08-12T22:55:37.153Z","0.2.2":"2016-08-12T23:25:03.457Z","0.2.3":"2016-08-14T17:29:31.571Z","0.2.4":"2016-09-02T21:59:45.644Z","0.3.0":"2016-09-25T15:36:42.206Z","0.4.0":"2017-08-04T19:35:04.608Z","1.0.0":"2018-04-01T21:57:09.962Z","1.1.0":"2018-07-25T21:31:38.885Z","1.1.1":"2019-03-20T09:41:09.699Z"},"homepage":"https://github.com/sithmel/little-ds-toolkit#readme","keywords":["data","structures","algorithms"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/little-ds-toolkit.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"bugs":{"url":"https://github.com/sithmel/little-ds-toolkit/issues"},"license":"MIT","readmeFilename":"README.md"}