{"_id":"@figliolia/data-structures","_rev":"13-a6ec7fde3d6eeef653614f07a42c9ede","name":"@figliolia/data-structures","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"@figliolia/data-structures","version":"1.0.0","author":{"name":"Alex Figliolia"},"_id":"@figliolia/data-structures@1.0.0","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"dist":{"shasum":"00f71d5b1ce139e8deab20bc29137470399b3788","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.0.tgz","fileCount":69,"integrity":"sha512-fPf1c+kKeWTQjjU3fwioua07pccA5JtmEFym4ba7g0YwDRXtjiG9Qe+rb+i0YtoL5u8suV4TXvTiJBcxxlA7ww==","signatures":[{"sig":"MEUCIQDcoIuSPwRjLeAA1VYboLxCNWv9OhTXTPd8uuXkezDQWwIgZBZHWLhXlKvvwk1CluQunPXw76z+hs0Rc1N0GMeVrW4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91130},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"66e2a25ba359d31724b53ed41c5eb118b860cd9c","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.0_1721758002991_0.1375018813494786","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@figliolia/data-structures","version":"1.0.1","author":{"name":"Alex Figliolia"},"_id":"@figliolia/data-structures@1.0.1","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"dist":{"shasum":"6ff5bcd83f64fe501f872df6ba437d691f63d094","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.1.tgz","fileCount":60,"integrity":"sha512-+BqoeUd6RcdpMEKUN3gjgZzZVR8F9lNzPnQsBTz1fclRk6qULnrfV2lm0Qh9R7AAteziQ18jzpN0XoqicaBTkg==","signatures":[{"sig":"MEUCIBTO9x0nIBytrFLvUKzeFWdNn9tCgVpQBdegBVoMMtv9AiEA0cRDHBVFS8/fIt/r8/6OZ4y5nS6N8ZCSGTU7CN6s9c8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85867},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"6960f180b58368744839afa2b1ed866a3c8aeeb5","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.1_1721766260216_0.7282863699052149","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@figliolia/data-structures","version":"1.0.3","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","priority queue","queue","stack","trie"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.0.3","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"80a4b91ce25e2005e5866941d54dc6eac16cedd6","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.3.tgz","fileCount":60,"integrity":"sha512-aANOJBdtpIBrWmiYyOXTDxpn4jzGuTXD8fbNW3H1nCNwJQ3ao8lAaPy0ZeBuiWDmx7MU4GRSyc4JwpYK/NPMgQ==","signatures":[{"sig":"MEQCIHPB/5e0Caz4pFTJlz094MWpylV5ixO/0EjZajFnM5oVAiAJfrl/qqV2XalwBig1bVmovbZvSpMhlYR8zxYupmnaDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86262},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"741d8afab7814627bb49f4d4403c33e9d5e7427f","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.3_1721766714431_0.2618919926702554","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@figliolia/data-structures","version":"1.0.4","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.0.4","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"6a87d09e2e8d7a9af6805ec710551cb346f426a6","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.4.tgz","fileCount":64,"integrity":"sha512-7zUwVzXvqMskCMSeY9kF9RoaNBQl9RsQX9bwlxE92IcNDPwLiBrybWRS3DD5TsECwAoKCxUjERV+SVbVBDXYOg==","signatures":[{"sig":"MEYCIQDYCsEQDrCqDaE9dtOC2LucmGjtUEJHsz4ZahodQeLuNQIhAPRxDYm7rvV+pEsom0j3EXunrZw53yo1o1h9TUbmhZTv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92798},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"22680b68b453c79ec61447e1508751ccd9871b4d","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{"@figliolia/event-emitter":"^1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.4_1722822039475_0.5230294962014648","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@figliolia/data-structures","version":"1.0.6","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.0.6","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"70ac2a3210164db6577807434c2b14994f36c6a2","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.6.tgz","fileCount":64,"integrity":"sha512-4CRxJ30+UVkTS5lnQhUMDcIgPCxYAPZOtbzaotYvBACXwZ/QPq1kZswF0yFzHAYVNGJSCfbXE9SJac+ieOKFgQ==","signatures":[{"sig":"MEUCIEASmdHc5rc62V6kkiJtLAiwDdTmTsznF61WnO13wQZdAiEA7YNqr0Epnn3+7Bu/OA6vqgMVaoQPNkeN0id/cmcVOIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92274},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"19c017b914f0260a05cf89f2c58bb44832e3ea6a","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{"@figliolia/event-emitter":"^1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.6_1722886502478_0.16844395712618865","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@figliolia/data-structures","version":"1.0.7","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.0.7","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"476e5c8bd3678dcf7fada524d5278516898c910e","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.7.tgz","fileCount":64,"integrity":"sha512-L2h/7EbNTy7Svnp5rq1dXoGodgqtVbKnryxT7Uxjv0xqcd3et1TJsuIi1l1TaTdYwYtTanhfqD1ghjRQmztfvQ==","signatures":[{"sig":"MEQCHwiDX2Z/Qoh8U77w4TQ+PT8NysrHsFHdJYjqoYJCxnsCIQC/IIN/DIc62+eQ+t/zq/EdpHd8N9H6iHryndgyrPCyXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92344},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"19c017b914f0260a05cf89f2c58bb44832e3ea6a","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{"@figliolia/event-emitter":"^1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.7_1722993772833_0.12189001830766832","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@figliolia/data-structures","version":"1.0.8","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.0.8","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"bce752319e37b38637f2d3700689d21eee3f7ec7","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.8.tgz","fileCount":72,"integrity":"sha512-Ww597Rm5xrFGkvwToWaxB018vE+boQ6bVtE57ODzDt3pfIpVCz+iuPVH5H3CL0IbePqelLb0TKN1XIK7nA/SAg==","signatures":[{"sig":"MEYCIQDKmV4Es83Rwsp+Y1anw2WwCD05XRbTQ0ZpxflGiNkCbQIhANdh0Cp5T7/YpShA1rfnhNMYsbNxa0dMAptGe7QlR3fL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101991},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"64ae43c1d8ed88cdfb7fe57db62baa65477a377f","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{"@figliolia/event-emitter":"^1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.8_1723147292966_0.8432499407282974","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@figliolia/data-structures","version":"1.0.9","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.0.9","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"abc8bde88e2800d277953845f689ce1d54766e08","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.0.9.tgz","fileCount":72,"integrity":"sha512-NlGF9/ECBTVybqMcYCnB6UAjOniizMpNyN+394a6taNIPOhB0YHywlHvWt9ls4sf6hvoBSCzkeEKrYsdqW6iYg==","signatures":[{"sig":"MEQCIFKkFMoLwwrkULXzVENxGuulcK0Z8pZmyWqbj5hsNXuoAiBcAAq7GKKqUTejuc5AWd9OR1j0I0YFT265Dudb2B1BXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102379},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"5283998699cb5ae69774fdaf8bc2eaecfde026aa","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{"@figliolia/event-emitter":"^1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.0.9_1723152592880_0.8137902455975474","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@figliolia/data-structures","version":"1.1.0","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.1.0","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"80a2b1e5143bb257ab446398085d554a0b4332d8","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.1.0.tgz","fileCount":72,"integrity":"sha512-gqrxRbihWXH+Uz+GZhLITG6pr/ywfkzSNdgG2+CyR3bWCMKqLvoVSKIFTOm6p4CXyA75E05pg6vGS1qAeJor0g==","signatures":[{"sig":"MEUCIQDGIMaxfp1BN+sJnM5IVcLKd0TVaKhnEfcgHV5nCMDOigIgCxzRWLZOyGvR3rWdEmvvL4xkdzW+mZyoP9KP8eJCg5w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102379},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"b58089169064d2e99f00900bdd74e9fb02fcd498","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{"@figliolia/event-emitter":"^1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.1.0_1724422847845_0.8920387542660331","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@figliolia/data-structures","version":"1.1.1","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.1.1","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"e32ce8ed1fe4c4336588bf74df152ef71b1c452d","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.1.1.tgz","fileCount":72,"integrity":"sha512-/aP0TqjkdNjbAPpSxuWX/LGuGQiRgMmjuO/E1FZdCFyECYPIJoAKfKWLEx/yK2uNLYdsC+8Goahh+Q5akI4JBw==","signatures":[{"sig":"MEYCIQCAL9K6mE5wEozFUutdZHPrjTyPKHmc/PBHWSxCO8aTRQIhAI8zGnNrNLInEwORgt3hrgGoYzBx82aqUHtdPtnd6+FX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102354},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"d3f23400067e7498e22a5008569342f314a114b7","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.2.4","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"21.6.1","dependencies":{"@figliolia/event-emitter":"^1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.0.9","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.1","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.4"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.1.1_1736795299310_0.41600050507502173","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@figliolia/data-structures","version":"1.1.2","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.1.2","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"a101659c65a6fecf739e2b7c47a12bfb3da6113c","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.1.2.tgz","fileCount":72,"integrity":"sha512-zPmWB8L2KkL0acjt6f9wPsJJlwVzLWUGYZObhKqAxXNqXFSijtPiW+CSNIbwL33YLFa9XigUVQvMGwHMgWKKlw==","signatures":[{"sig":"MEUCIQDuGKbezHbgKWgdkth3e/Sfcdeybx7TQYHS+J7lJzlU9QIgETp4TsQyhQnvjp6cXmzCrKpIYBexNDasbwj3Y250RoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102471},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"770e732d63a3e0d2e0672183763197e35b9a4749","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.9.2","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@figliolia/event-emitter":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.2.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.4","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.1.2_1753027968923_0.15067637589433813","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@figliolia/data-structures","version":"1.2.0","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"author":{"name":"Alex Figliolia"},"license":"MIT","_id":"@figliolia/data-structures@1.2.0","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"homepage":"https://github.com/alexfigliolia/data-structures#readme","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"dist":{"shasum":"b3aa65f2354f33690bf35739efd9f45e6adf8d31","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.2.0.tgz","fileCount":72,"integrity":"sha512-K93g9XDiGE7bdnbHesrP4XrUts6x7/34SxL8bOjaZwV9PhinxMuA9e7Hq762mif6N2BaBws8SSmax7p3jSoDGQ==","signatures":[{"sig":"MEYCIQCYujHeUm7vEDef8L3m0/46AKnXPGrcBm7x0+qFfrOnFAIhALdFnrGKBKQztO1jByBGiwcZhBfKMr68/4tIequHkz+q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102656},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/mjs/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"760ccd06e595b8ecd3d700f37a6a660506fa7b33","scripts":{"lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts","build":"ts-packager -e src"},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"repository":{"url":"git+https://github.com/alexfigliolia/data-structures.git","type":"git"},"_npmVersion":"10.9.2","description":"Efficient data structures for every day programming","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@figliolia/event-emitter":"^1.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","jest":"^29.7.0","eslint":"^8.39.0","ts-jest":"^29.1.1","prettier":"^3.2.4","ts-alias":"^0.0.7","typescript":"^5.4.5","@types/jest":"^29.5.10","@types/node":"^20.11.19","jest-extended":"^4.0.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.27.5","@figliolia/ts-packager":"^1.2.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.1.3","@figliolia/child-process":"^1.0.4","@typescript-eslint/parser":"^5.59.1","eslint-plugin-json-format":"^2.0.1","eslint-plugin-unused-imports":"2","eslint-config-airbnb-typescript":"^17.0.0","@typescript-eslint/eslint-plugin":"^5.59.1","eslint-plugin-simple-import-sort":"^10.0.0","eslint-import-resolver-typescript":"^3.6.1"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/data-structures_1.2.0_1753028337552_0.5612389361269712","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@figliolia/data-structures","version":"1.2.1","description":"Efficient data structures for every day programming","author":{"name":"Alex Figliolia"},"scripts":{"build":"ts-packager -e src","lint":"tsx ci/commands/Lint.ts","test":"tsx ci/commands/Test.ts"},"keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"license":"MIT","homepage":"https://github.com/alexfigliolia/data-structures#readme","repository":{"type":"git","url":"git+https://github.com/alexfigliolia/data-structures.git"},"dependencies":{"@figliolia/event-emitter":"^1.1.6"},"peerDependencies":{"@figliolia/event-emitter":"^1.1.6"},"devDependencies":{"@figliolia/child-process":"^1.0.4","@figliolia/ts-packager":"^1.2.1","@types/jest":"^29.5.10","@types/node":"^20.11.19","@typescript-eslint/eslint-plugin":"^5.59.1","@typescript-eslint/parser":"^5.59.1","eslint":"^8.39.0","eslint-config-airbnb":"^19.0.4","eslint-config-airbnb-typescript":"^17.0.0","eslint-config-prettier":"^8.8.0","eslint-import-resolver-typescript":"^3.6.1","eslint-plugin-import":"^2.27.5","eslint-plugin-json-format":"^2.0.1","eslint-plugin-prettier":"^5.1.3","eslint-plugin-simple-import-sort":"^10.0.0","eslint-plugin-unused-imports":"2","jest":"^29.7.0","jest-extended":"^4.0.0","prettier":"^3.2.4","ts-alias":"^0.0.7","ts-jest":"^29.1.1","tsx":"^4.7.1","typescript":"^5.4.5"},"exports":{".":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js","types":"./dist/types/index.d.ts"}},"main":"dist/cjs/index.js","module":"dist/mjs/index.js","types":"dist/types/index.d.ts","publishConfig":{"access":"public"},"_id":"@figliolia/data-structures@1.2.1","gitHead":"506debe8db881a954e8a99569b4e18c479c99dc4","bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-DFIuMfiPrAyGt3Elz6FT1trsX8cDLcv0lgxa7WcSnr3/U+W166Fr5FLni0d8Kd5h344/0zmMw4bEvQBDzFt3PQ==","shasum":"ed4fa01d77201e70ec3d2db85df00c16049e3ac2","tarball":"https://registry.npmjs.org/@figliolia/data-structures/-/data-structures-1.2.1.tgz","fileCount":72,"unpackedSize":102491,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDzwchb03nR55Y4R/OWTIFl3okvgVSjgpqVKbTMDrAc5AIhANWt8BLxlT66YK4ilZOz4LVEDE/Z6tP40uhnsVWO7M4m"}]},"_npmUser":{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"},"directories":{},"maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/data-structures_1.2.1_1753028626555_0.3790043330802133"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-23T18:06:42.889Z","modified":"2025-07-20T16:23:46.944Z","1.0.0":"2024-07-23T18:06:43.150Z","1.0.1":"2024-07-23T20:24:20.396Z","1.0.3":"2024-07-23T20:31:54.615Z","1.0.4":"2024-08-05T01:40:39.666Z","1.0.6":"2024-08-05T19:35:02.651Z","1.0.7":"2024-08-07T01:22:53.086Z","1.0.8":"2024-08-08T20:01:33.135Z","1.0.9":"2024-08-08T21:29:53.102Z","1.1.0":"2024-08-23T14:20:48.008Z","1.1.1":"2025-01-13T19:08:19.525Z","1.1.2":"2025-07-20T16:12:49.098Z","1.2.0":"2025-07-20T16:18:57.767Z","1.2.1":"2025-07-20T16:23:46.726Z"},"bugs":{"url":"https://github.com/alexfigliolia/data-structures/issues"},"author":{"name":"Alex Figliolia"},"license":"MIT","homepage":"https://github.com/alexfigliolia/data-structures#readme","keywords":["graph","heap","linked list","max heap","max stack","min heap","min stack","quick stack","priority queue","queue","stack","trie","binary-search"],"repository":{"type":"git","url":"git+https://github.com/alexfigliolia/data-structures.git"},"description":"Efficient data structures for every day programming","maintainers":[{"name":"alexfigliolia","email":"alexfigliolia@gmail.com"}],"readme":"# Data Structures\nType-safe and efficient data-structures for everyday programming. \n\nIn this library you'll find a few of the common data-structures I find myself creating over and over again across my projects. When using this library you'll have access to:\n\n1. [Stacks](#stack)\n2. [Queues](#queue)\n3. [Min Stacks](#min-stack)\n4. [Max Stacks](#max-stack)\n5. [Min Heaps](#min-heap)\n6. [Max Heaps](#max-heap)\n7. [Graphs](#graph)\n8. [Doubly Linked Lists](#linked-list)\n9. [Priority Queues](#priority-queue)\n10. [Tries](#trie)\n11. [Quick Stack](#quick-stack)\n11. [Quick Queue](#quick-queue)\n12. [Binary Search](#binary-search)\n\nAll of which are documented and type-safe.\n\n\n## Installation\n```bash\nnpm i @figliolia/data-structures\n# or \nyarn add @figliolia/data-structures\n```\n\n## Utilities\n\n### Graph\n A generic graph construct for string and number values\n\n ```typescript\nimport { Graph, NodeCache } from \"@figliolia/data-structures\";\n\nconst cache = new NodeCache();\n\nconst root = cache.create(1);\nconst node2 = cache.create(2);\n\nroot.addEdge(node2);\nroot.addEdge(cache.create(4));\nnode2.addEdge(cache.create(3));\n\nroot.DFS(node => console.log(node.value)); // 1, 2, 3, 4\nroot.BFS(node => console.log(node.value)); // 1, 2, 4, 3\n```\n\n### Linked List\n\nA doubly linked list mimicking the interface of JavaScript arrays\n\n```typescript\nimport { LinkedList } from \"@figliolia/data-structures\";\n\nconst list = new LinkedList<number>();\nlist.push(1);\nlist.push(2);\nlist.push(3);\nfor(const item of list) {\n  console.log(item); // 1, 2, 3\n}\nlist.pop(); // 3 -> O(1)\nlist.shift() // 1 -> O(1)\nlist.push(3) // O(1)\nlist.unshift(1) // O(1)\n```\n\n### Max Heap\nA heap that remains sorted descendingly\n\n```typescript\nimport { MaxHeap } from \"@figliolia/data-structures\";\n \nconst heap = new MaxHeap<number>(value => value);\nheap.push(3);\nheap.push(2);\nheap.push(1);\nheap.pop() // 3\n \nconst complexDataHeap = new MaxHeap<{ id: number, name: string }>(value => value.id);\ncomplexDataHeap.push({ id: 3, name: \"Jeff\" });\ncomplexDataHeap.push({ id: 2, name: \"Steve\" });\ncomplexDataHeap.push({ id: 1, name: \"Dave\" });\ncomplexDataHeap.pop() // { id: 3, name: \"Jeff\" }\n```\n\n### Min Heap\nA heap that remains sorted ascendingly\n \n```typescript\nimport { MinHeap } from \"@figliolia/data-structures\";\n \nconst heap = new MinHeap<number>(value => value);\nheap.push(1);\nheap.push(2);\nheap.push(3);\nheap.pop() // 1\n \nconst complexHeap = new MinHeap<{ id: number, name: string }>(\n  value => value.id // numeric value extractor\n);\ncomplexHeap.push({ id: 1, name: \"Jeff\" });\ncomplexHeap.push({ id: 2, name: \"Steve\" });\ncomplexHeap.push({ id: 3, name: \"Dave\" });\ncomplexHeap.pop() // { id: 1, name: \"Jeff\" }\n```\n\n### Max Stack\nA stack maintaining a reference to it's highest weighted item\n \n```typescript\nimport { MaxStack } from \"@figliolia/data-structures\";\n \nconst stack = new MaxStack<number>(value => value);\nstack.push(1); // max = 1\nstack.push(2); // max = 2\nstack.push(3); // max = 3\nstack.max // 3\nstack.pop() // max = 2\n```\n\n### Min Stack\nA stack maintaining a reference to it's lowest weighted item\n \n```typescript\nimport { MinStack } from \"@figliolia/data-structures\";\n \nconst stack = new MinStack<number>(value => value);\nstack.push(3); // min = 3\nstack.push(2); // min = 2\nstack.push(1); // min = 1\nstack.min // 1\nstack.pop() // min = 2\n```\n\n### Priority Queue\n\nA bucket queue that sorts elements based on the priority level specified\n \n```typescript\nimport { PriorityQueue } from \"@figliolia/data-structures\";\n \nconst queue = new PriorityQueue<number>();\nqueue.push(1 /* priority */, 3 /* value */);\nqueue.push(2, 2);\nqueue.push(3, 1);\nqueue.length // 3\n// queue = [[3], [2], [1]]\nwhile(!queue.isEmpty) {\n  queue.pop() // 3, 2, 1\n}\n```\n\n### Queue\nA basic queue with enqueue, dequeue and peek methods\n\n```typescript\nimport { Queue } from \"@figliolia/data-structures\";\n \nconst queue = new Queue<number>();\nqueue.enqueue(1);\nqueue.enqueue(2);\nqueue.enqueue(3);\nqueue.peek(); // 1\nqueue.dequeue(); // 1\n```\n\n### Stack\nA basic stack with push, pop and peek methods\n \n```typescript\nimport { Stack } from \"@figliolia/data-structures\";\n \nconst stack = new Stack<number>();\nstack.push(1);\nstack.push(2);\nstack.push(3);\nstack.peek(); // 3\nstack.pop(); // 3\n```\n\n### Trie\nA graph-like data structure for optimized search over multiple\nstrings\n \n```typescript\nimport { Trie } from \"@figliolia/data-structures\";\n \nconst dictionary = new Trie();\ndictionary.add(\"hello\");\ndictionary.add(\"goodbye\");\ndictionary.add(\"helpful\");\ndictionary.search(\"hello\"); // true\ndictionary.search(\"help\", false); // true\n```\n\n### Quick Stack\nA wrapper around the native JavaScript Map that assigns an auto-incrementing ID to each value added. It provides a stack-like interface with the ability to access and remove items in 0(1) time\n\n```typescript\nimport { QuickStack } from \"@figliolia/data-structures\";\n\nconst stack = new QuickStack<() => void>();\nconst ID1 = stack.push(function one() {});\nconst ID2 = stack.push(function two() {});\nstack.pop() // function two() {}\nstack.pop() // function one() {}\nstack.get(/* ID */) // retrieves an item by ID 0(1)\nstack.delete(/* ID */) // deletes an item by ID 0(1)\n```\n\n### Quick Queue\nA wrapper around the native JavaScript Map that assigns an auto-incrementing ID to each value added. It provides a queue-like interface with the ability to access and remove items in 0(1) time\n\n```typescript\nimport { QuickQueue } from \"@figliolia/data-structures\";\n\nconst queue = new QuickQueue<() => void>();\nconst ID1 = queue.enqueue(function one() {});\nconst ID2 = queue.enqueue(function two() {});\nqueue.dequeue() // function one() {}\nqueue.dequeue() // function two() {}\nqueue.get(/* ID */) // retrieves an item by ID 0(1)\nqueue.delete(/* ID */) // deletes an item by ID 0(1)\n```\n\n### Binary Search\nLogarithmic searching for sorted lists\n\n```typescript\nimport { binarySearch } from \"@figliolia/data-structures\";\n\nbinarySearch([1, 2, 3, 4], 3) // true\nbinarySearch([1, 2, 3, 4], 5) // false\n\nbinarySearch(\n   [\n     { id: 1, name: \"Jeff\" },\n     { id: 2, name: \"Steve\" },\n     { id: 3, name: \"Dave\" },\n     { id: 4, name: \"Alex\" },\n   ],\n   { id: 3, name: \"Dave\" },\n   item => item.id\n) // true\n```","readmeFilename":"README.md"}