{"_id":"heap-js","_rev":"4106686","name":"heap-js","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","dist-tags":{"latest":"2.7.1"},"maintainers":[{"name":"ignlg","email":""}],"time":{"modified":"2026-01-11T18:56:07.000Z","created":"2017-07-26T08:08:03.778Z","2.7.1":"2025-09-30T11:34:14.271Z","2.6.0":"2024-12-28T15:47:08.340Z","2.5.0":"2024-03-01T12:11:24.933Z","2.3.0":"2023-05-24T07:51:11.451Z","2.2.0":"2022-05-10T20:50:09.145Z","2.1.6":"2021-07-12T20:37:58.679Z","2.1.5":"2021-03-26T12:44:00.019Z","2.1.4":"2020-12-18T14:10:31.023Z","2.1.3":"2020-11-23T17:16:05.545Z","2.1.2":"2020-09-01T19:10:08.246Z","2.1.1":"2020-05-28T19:25:42.533Z","2.1.0":"2020-05-28T19:18:36.093Z","2.0.0":"2020-05-02T19:07:55.589Z","1.5.2":"2020-03-30T10:59:29.382Z","1.5.1":"2020-02-14T10:58:41.430Z","1.5.0":"2020-02-14T10:54:53.918Z","1.4.1":"2019-08-19T10:00:19.371Z","1.4.0":"2019-08-19T09:36:55.793Z","1.3.0":"2019-04-16T14:18:54.863Z","1.2.2":"2017-07-27T15:03:56.049Z","1.2.1":"2017-07-27T14:48:18.491Z","1.2.0":"2017-07-27T13:33:21.080Z","1.1.1":"2017-07-26T08:11:58.106Z","1.1.0":"2017-07-26T08:08:03.778Z"},"users":{},"author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"versions":{"2.7.1":{"name":"heap-js","version":"2.7.1","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-node-resolve":"^16.0.0","@types/benchmark":"^2.1.5","@types/jest":"^29.5.14","@types/node":"^22.10.2","@typescript-eslint/eslint-plugin":"8.18.2","@typescript-eslint/parser":"^8.18.2","benchmark":"^2.1.4","coveralls":"^3.1.1","cross-env":"^7.0.3","eslint":"<9.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","husky":"^9.1.7","jest":"^29.7.0","lint-staged":"^15.3.0","lodash.camelcase":"^4.3.0","prettier":"^3.4.2","prettier-eslint":"^16.3.0","rimraf":"^6.0.1","rollup":"^4.29.1","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^29.2.5","ts-node":"^10.9.2","tsc-watch":"^6.2.1","typedoc":"^0.27.6","typescript":"^5.7.2"},"_id":"heap-js@2.7.1","gitHead":"41206f64eea8c771fb58c93b3c151e6ba627619b","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"shasum":"3f152279e42214725cac405257554b000b178cc4","size":35557,"noattachment":false,"key":"/heap-js/-/heap-js-2.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.7.1.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/heap-js_2.7.1_1759232054065_0.1715939079366422"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-30T11:34:14.271Z","publish_time":1759232054271,"_source_registry_name":"default","_cnpm_publish_time":1759232054271},"2.6.0":{"name":"heap-js","version":"2.6.0","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-node-resolve":"^16.0.0","@types/benchmark":"^2.1.5","@types/jest":"^29.5.14","@types/node":"^22.10.2","@typescript-eslint/eslint-plugin":"8.18.2","@typescript-eslint/parser":"^8.18.2","benchmark":"^2.1.4","coveralls":"^3.1.1","cross-env":"^7.0.3","eslint":"<9.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","husky":"^9.1.7","jest":"^29.7.0","lint-staged":"^15.3.0","lodash.camelcase":"^4.3.0","prettier":"^3.4.2","prettier-eslint":"^16.3.0","rimraf":"^6.0.1","rollup":"^4.29.1","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^29.2.5","ts-node":"^10.9.2","tsc-watch":"^6.2.1","typedoc":"^0.27.6","typescript":"^5.7.2"},"_id":"heap-js@2.6.0","gitHead":"c6bce4c1a3b1cc17d9494731dc2a598e86f67a24","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"shasum":"72a2fc9efdb8b7b103c351b6e936d18325104a15","size":35367,"noattachment":false,"key":"/heap-js/-/heap-js-2.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.6.0.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/heap-js_2.6.0_1735400828143_0.5086618697235348"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-28T15:47:08.340Z","publish_time":1735400828340,"_source_registry_name":"default","_cnpm_publish_time":1735400828340},"2.5.0":{"name":"heap-js","version":"2.5.0","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-node-resolve":"^15.2.1","@types/benchmark":"^2.1.2","@types/jest":"^29.5.3","@types/node":"^20.5.2","@typescript-eslint/eslint-plugin":"6.4.1","@typescript-eslint/parser":"^6.4.1","benchmark":"^2.1.4","coveralls":"^3.1.1","cross-env":"^7.0.3","eslint":"8.47.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","husky":"^8.0.3","jest":"^29.6.3","lint-staged":"^14.0.1","lodash.camelcase":"^4.3.0","prettier":"^3.0.2","prettier-eslint":"^15.0.1","rimraf":"^5.0.1","rollup":"^3.28.1","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsc-watch":"^6.0.4","typedoc":"^0.24.8","typescript":"^5.1.6"},"_id":"heap-js@2.5.0","gitHead":"8e6896fd4ab6a14b03512d3da4846505a5f32a4f","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"shasum":"487e268b1733b187ca04eccf52f8387be92b46cb","size":35385,"noattachment":false,"key":"/heap-js/-/heap-js-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.5.0.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.5.0_1709295084741_0.4805758236637063"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-01T12:11:24.933Z","publish_time":1709295084933,"_source_registry_name":"default","_cnpm_publish_time":1709295084933},"2.3.0":{"name":"heap-js","version":"2.3.0","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^24.1.0","@rollup/plugin-node-resolve":"^15.0.2","@types/benchmark":"^2.1.2","@types/jest":"^29.5.0","@types/node":"^18.15.11","@typescript-eslint/eslint-plugin":"5.58.0","@typescript-eslint/parser":"^5.58.0","benchmark":"^2.1.4","coveralls":"^3.1.1","cross-env":"^7.0.3","eslint":"8.38.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","husky":"^8.0.3","jest":"^29.5.0","lint-staged":"^13.2.1","lodash.camelcase":"^4.3.0","prettier":"^2.8.7","prettier-eslint":"^15.0.1","rimraf":"^5.0.0","rollup":"^3.20.2","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","tsc-watch":"^6.0.0","typedoc":"^0.24.1","typescript":"^5.0.4"},"gitHead":"541300c50d2b915d97567aec455cb29477cdfddd","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.3.0","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"shasum":"8eed2cede31ec312aa696eef1d4df0565841f183","size":32486,"noattachment":false,"key":"/heap-js/-/heap-js-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.3.0.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.3.0_1684914671264_0.7951676737086495"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-24T07:51:11.451Z","publish_time":1684914671451,"_source_registry_name":"default","_cnpm_publish_time":1684914671451},"2.2.0":{"name":"heap-js","version":"2.2.0","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^22.0.0","@rollup/plugin-node-resolve":"^13.3.0","@types/benchmark":"^2.1.1","@types/jest":"^27.5.0","@types/node":"^17.0.31","@typescript-eslint/eslint-plugin":"5.23.0","@typescript-eslint/parser":"^5.23.0","benchmark":"^2.1.4","coveralls":"^3.1.1","cross-env":"^7.0.3","eslint":"8.15.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","husky":"^8.0.1","jest":"^28.1.0","lint-staged":"^12.4.1","lodash.camelcase":"^4.3.0","prettier":"^2.6.2","prettier-eslint":"^14.0.2","rimraf":"^3.0.2","rollup":"^2.72.1","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^28.0.2","ts-node":"^10.7.0","tsc-watch":"^5.0.3","typedoc":"^0.22.15","typescript":"^4.6.4"},"gitHead":"b56eb7a4ada360437ee80fac670692b071287bc0","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.2.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"shasum":"f4418874cd2aedc2cf3a7492d579afe23b627c5d","size":16865,"noattachment":false,"key":"/heap-js/-/heap-js-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.2.0.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.2.0_1652215808929_0.969234854420191"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-10T21:11:31.351Z","publish_time":1652215809145,"_cnpm_publish_time":1652215809145},"2.1.6":{"name":"heap-js","version":"2.1.6","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^19.0.0","@rollup/plugin-node-resolve":"^13.0.0","@types/benchmark":"^2.1.1","@types/jest":"^26.0.24","@types/node":"^16.3.1","@typescript-eslint/eslint-plugin":"4.28.3","@typescript-eslint/parser":"^4.28.3","benchmark":"^2.1.4","coveralls":"^3.1.1","cross-env":"^7.0.3","eslint":"7.30.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","eslint-plugin-standard":"5.0.0","husky":"^7.0.1","jest":"^27.0.6","lint-staged":"^11.0.0","lodash.camelcase":"^4.3.0","prettier":"^2.3.2","prettier-eslint":"^12.0.0","rimraf":"^3.0.2","rollup":"^2.53.1","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^27.0.3","ts-node":"^10.1.0","tsc-watch":"^4.4.0","typedoc":"^0.21.4","typescript":"^4.3.5"},"gitHead":"ea2b42fa137da51b890717a45587fb4d2fbcdad5","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.1.6","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"shasum":"817021e6d252ad6ba9a11ea65988cc4e6207782d","size":16571,"noattachment":false,"key":"/heap-js/-/heap-js-2.1.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.1.6.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.1.6_1626122278467_0.09372691819154033"},"_hasShrinkwrap":false,"publish_time":1626122278679,"_cnpm_publish_time":1626122278679,"_cnpmcore_publish_time":"2021-12-16T10:47:09.760Z"},"2.1.5":{"name":"heap-js","version":"2.1.5","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^17.1.0","@rollup/plugin-node-resolve":"^11.2.0","@types/benchmark":"^2.1.0","@types/jest":"^26.0.22","@types/node":"^14.14.36","@typescript-eslint/eslint-plugin":"4.19.0","@typescript-eslint/parser":"^4.19.0","benchmark":"^2.1.4","coveralls":"^3.1.0","cross-env":"^7.0.3","eslint":"7.22.0","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-standard":"5.0.0","husky":"^5.2.0","jest":"^26.6.3","lint-staged":"^10.5.4","lodash.camelcase":"^4.3.0","prettier":"^2.2.1","prettier-eslint":"^12.0.0","rimraf":"^3.0.2","rollup":"^2.42.4","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","tsc-watch":"^4.2.9","typedoc":"^0.20.34","typescript":"^4.2.3"},"gitHead":"67864cca8a73f8a8a30e4e987a146691586aaff2","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.1.5","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"shasum":"43251ecdd23c632653fe783bc8bdc2b7da4baf4c","size":16592,"noattachment":false,"key":"/heap-js/-/heap-js-2.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.1.5.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.1.5_1616762639799_0.6652407646121172"},"_hasShrinkwrap":false,"publish_time":1616762640019,"_cnpm_publish_time":1616762640019,"_cnpmcore_publish_time":"2021-12-16T10:47:09.994Z"},"2.1.4":{"name":"heap-js","version":"2.1.4","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^17.0.0","@rollup/plugin-node-resolve":"^11.0.1","@types/benchmark":"^2.1.0","@types/jest":"^26.0.19","@types/node":"^14.14.14","@typescript-eslint/eslint-plugin":"4.10.0","@typescript-eslint/parser":"^4.10.0","benchmark":"^2.1.4","coveralls":"^3.1.0","cross-env":"^7.0.3","eslint":"7.15.0","eslint-config-prettier":"^7.0.0","eslint-plugin-prettier":"^3.3.0","eslint-plugin-standard":"5.0.0","husky":"^4.3.6","jest":"^26.6.3","lint-staged":"^10.5.3","lodash.camelcase":"^4.3.0","prettier":"^2.2.1","prettier-eslint":"^12.0.0","rimraf":"^3.0.2","rollup":"^2.35.1","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^26.4.4","ts-node":"^9.1.1","tsc-watch":"^4.2.9","typedoc":"^0.19.2","typescript":"^4.1.3"},"gitHead":"ad86bcf66d4f9f27e1744f983060e85fe07ef754","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.1.4","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"shasum":"5bbee30fcc0a4a9319a0f07bb1fb56fd6396feaa","size":371311,"noattachment":false,"key":"/heap-js/-/heap-js-2.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.1.4.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.1.4_1608300630701_0.6433715963396127"},"_hasShrinkwrap":false,"publish_time":1608300631023,"_cnpm_publish_time":1608300631023,"_cnpmcore_publish_time":"2021-12-16T10:47:10.902Z"},"2.1.3":{"name":"heap-js","version":"2.1.3","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^16.0.0","@rollup/plugin-node-resolve":"^10.0.0","@types/benchmark":"^2.1.0","@types/jest":"^26.0.15","@types/node":"^14.14.9","@typescript-eslint/eslint-plugin":"4.8.1","@typescript-eslint/parser":"^4.8.1","benchmark":"^2.1.4","coveralls":"^3.1.0","cross-env":"^7.0.2","eslint":"7.14.0","eslint-config-prettier":"^6.15.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-standard":"5.0.0","husky":"^4.3.0","jest":"^26.6.3","lint-staged":"^10.5.1","lodash.camelcase":"^4.3.0","prettier":"^2.2.0","prettier-eslint":"^12.0.0","rimraf":"^3.0.2","rollup":"^2.33.3","rollup-plugin-sourcemaps":"^0.6.3","ts-jest":"^26.4.4","ts-node":"^9.0.0","tsc-watch":"^4.2.9","typedoc":"^0.19.2","typescript":"^4.1.2"},"gitHead":"c6f11bf5410612f17a043875714b5517187ad290","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.1.3","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"shasum":"89345ac362bfe840e4ae190c0eef3e329423e0c3","size":371299,"noattachment":false,"key":"/heap-js/-/heap-js-2.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.1.3.tgz"},"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.1.3_1606151765307_0.8805494501087383"},"_hasShrinkwrap":false,"publish_time":1606151765545,"_cnpm_publish_time":1606151765545,"_cnpmcore_publish_time":"2021-12-16T10:47:11.975Z"},"2.1.2":{"name":"heap-js","version":"2.1.2","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-node-resolve":"^9.0.0","@types/benchmark":"^1.0.33","@types/jest":"^26.0.12","@types/node":"^14.6.2","@typescript-eslint/eslint-plugin":"4.0.1","@typescript-eslint/parser":"^4.0.1","benchmark":"^2.1.4","coveralls":"^3.1.0","cross-env":"^7.0.2","eslint":"7.8.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-standard":"4","husky":"^4.2.5","jest":"^26.4.2","lint-staged":"^10.2.13","lodash.camelcase":"^4.3.0","prettier":"^2.1.1","prettier-eslint":"^11.0.0","rimraf":"^3.0.2","rollup":"^2.26.9","rollup-plugin-sourcemaps":"^0.6.2","ts-jest":"^26.3.0","ts-node":"^9.0.0","tsc-watch":"^4.2.9","typedoc":"^0.19.0","typescript":"^4.0.2"},"gitHead":"88360e2c8a20e6b1b7e0419cecd863460ff8ab2b","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.1.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"f438145d24082b078a9a35d91e03511ccad48176","size":371212,"noattachment":false,"key":"/heap-js/-/heap-js-2.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.1.2.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.1.2_1598987408053_0.8048015167961804"},"_hasShrinkwrap":false,"publish_time":1598987408246,"_cnpm_publish_time":1598987408246,"_cnpmcore_publish_time":"2021-12-16T10:47:13.290Z"},"2.1.1":{"name":"heap-js","version":"2.1.1","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^12.0.0","@rollup/plugin-node-resolve":"^8.0.0","@types/benchmark":"^1.0.33","@types/jest":"^25.2.3","@types/node":"^14.0.5","@typescript-eslint/eslint-plugin":"3.0.2","@typescript-eslint/parser":"^3.0.2","benchmark":"^2.1.4","coveralls":"^3.1.0","cross-env":"^7.0.2","eslint":"7.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","eslint-plugin-standard":"4","husky":"^4.2.5","jest":"^26.0.1","lint-staged":"^10.2.6","lodash.camelcase":"^4.3.0","prettier":"^2.0.5","prettier-eslint":"^10.1.1","rimraf":"^3.0.2","rollup":"^2.11.2","rollup-plugin-sourcemaps":"^0.6.2","ts-jest":"^26.0.0","ts-node":"^8.10.2","tsc-watch":"^4.2.8","typedoc":"^0.17.7","typescript":"^3.9.3"},"gitHead":"7fd31cc60776e00616fd38cdaba4e72c601c96e4","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.1.1","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"shasum":"d8f7367d6b22ca415f17b0a4f4de7c1bb69ac982","size":345277,"noattachment":false,"key":"/heap-js/-/heap-js-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.1.1.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.1.1_1590693942341_0.16824730216981654"},"_hasShrinkwrap":false,"publish_time":1590693942533,"_cnpm_publish_time":1590693942533,"_cnpmcore_publish_time":"2021-12-16T10:47:14.659Z"},"2.1.0":{"name":"heap-js","version":"2.1.0","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"devDependencies":{"@rollup/plugin-commonjs":"^12.0.0","@rollup/plugin-node-resolve":"^8.0.0","@types/benchmark":"^1.0.33","@types/jest":"^25.2.3","@types/node":"^14.0.5","@typescript-eslint/eslint-plugin":"3.0.2","@typescript-eslint/parser":"^3.0.2","benchmark":"^2.1.4","coveralls":"^3.1.0","cross-env":"^7.0.2","eslint":"7.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","eslint-plugin-standard":"4","husky":"^4.2.5","jest":"^26.0.1","lint-staged":"^10.2.6","lodash.camelcase":"^4.3.0","prettier":"^2.0.5","prettier-eslint":"^10.1.1","rimraf":"^3.0.2","rollup":"^2.11.2","rollup-plugin-sourcemaps":"^0.6.2","ts-jest":"^26.0.0","ts-node":"^8.10.2","tsc-watch":"^4.2.8","typedoc":"^0.17.7","typescript":"^3.9.3"},"gitHead":"19f7dcabb7122245dbb9af6c343809e1af9e5989","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.1.0","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"shasum":"cc7744aeb3db8df597127821f7d5819a4592abe9","size":345254,"noattachment":false,"key":"/heap-js/-/heap-js-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.1.0.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.1.0_1590693515948_0.5158001641851007"},"_hasShrinkwrap":false,"publish_time":1590693516093,"_cnpm_publish_time":1590693516093,"_cnpmcore_publish_time":"2021-12-16T10:47:16.892Z"},"2.0.0":{"name":"heap-js","version":"2.0.0","description":"Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","lint":"eslint --fix 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest --coverage --no-cache","test:heapUsage":"node --expose-gc ./node_modules/.bin/jest --runInBand --logHeapUsage","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch","benchmark":"node benchmark/benchmark.js"},"lint-staged":{"src/**/*.ts":["eslint --fix","prettier --write --no-semi","jest --coverage --no-cache"]},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}}},"devDependencies":{"@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","@types/benchmark":"^1.0.31","@types/jest":"^25.2.1","@types/node":"^13.13.4","@typescript-eslint/eslint-plugin":"2.30.0","@typescript-eslint/parser":"^2.30.0","benchmark":"^2.1.4","coveralls":"^3.1.0","cross-env":"^7.0.2","eslint":"6","eslint-config-prettier":"^6.11.0","eslint-config-standard-with-typescript":"^16.0.0","eslint-plugin-import":"2","eslint-plugin-node":"11","eslint-plugin-promise":"4","eslint-plugin-standard":"4","husky":"^4.2.5","jest":"^25.5.4","lint-staged":"^10.2.2","lodash.camelcase":"^4.3.0","prettier":"^2.0.5","rimraf":"^3.0.2","rollup":"^2.7.6","rollup-plugin-sourcemaps":"^0.6.1","ts-jest":"^25.3.0","ts-node":"^8.9.1","tsc-watch":"^4.2.3","tslint":"^6.1.2","typedoc":"^0.17.6","typescript":"^3.8.3"},"gitHead":"23ad7f66b77d6f4f599c6b6c8dbb2bda4dbbf3bd","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@2.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"shasum":"56d96f59bf1e8caa02b8d6dc4f2682e34686068e","size":342785,"noattachment":false,"key":"/heap-js/-/heap-js-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-2.0.0.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_2.0.0_1588446475414_0.9711265238335638"},"_hasShrinkwrap":false,"publish_time":1588446475589,"_cnpm_publish_time":1588446475589,"_cnpmcore_publish_time":"2021-12-16T10:47:17.585Z"},"1.5.2":{"name":"heap-js","version":"1.5.2","description":"Heap data structure for JavaScript / TypeScript.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"npm run lint && npm run test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}}},"devDependencies":{"@types/jest":"^25.1.4","@types/node":"^13.9.5","coveralls":"^3.0.11","cross-env":"^7.0.2","cz-conventional-changelog":"^3.1.0","husky":"^4.2.3","jest":"^25.2.4","lint-staged":"^10.0.10","lodash.camelcase":"^4.3.0","prettier":"^2.0.2","rimraf":"^3.0.2","rollup":"^2.3.0","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sourcemaps":"^0.5.0","ts-jest":"^25.3.0","ts-node":"^8.8.1","tsc-watch":"^4.2.3","tslint":"^6.1.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^9.0.0","typedoc":"^0.17.3","typescript":"^3.8.3","validate-commit-msg":"^2.14.0"},"gitHead":"c860f5554b1ea4afb84d2c0925436e95f54b3f2a","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.5.2","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"shasum":"76f06496247de828dcbb79d6bb9445b66814407a","size":402301,"noattachment":false,"key":"/heap-js/-/heap-js-1.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.5.2.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_1.5.2_1585565969195_0.4217301580128823"},"_hasShrinkwrap":false,"publish_time":1585565969382,"_cnpm_publish_time":1585565969382,"_cnpmcore_publish_time":"2021-12-16T10:47:18.799Z"},"1.5.1":{"name":"heap-js","version":"1.5.1","description":"Heap data structure for JavaScript / TypeScript.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}}},"devDependencies":{"@types/jest":"^25.1.2","@types/node":"^13.7.1","coveralls":"^3.0.9","cross-env":"^7.0.0","cz-conventional-changelog":"^3.1.0","husky":"^4.2.3","jest":"^25.1.0","lint-staged":"^10.0.7","lodash.camelcase":"^4.3.0","prettier":"^1.19.1","rimraf":"^3.0.2","rollup":"^1.31.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sourcemaps":"^0.5.0","ts-jest":"^25.2.0","ts-node":"^8.6.2","tsc-watch":"^4.1.0","tslint":"^6.0.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^9.0.0","typedoc":"^0.16.9","typescript":"^3.7.5","validate-commit-msg":"^2.14.0"},"gitHead":"57143e9def02ab6622938c0a43e3253cae234197","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.5.1","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"shasum":"a8639b7e0934704d65e9fc9e71a0c504f9859df8","size":666093,"noattachment":false,"key":"/heap-js/-/heap-js-1.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.5.1.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_1.5.1_1581677921266_0.0726923607501424"},"_hasShrinkwrap":false,"publish_time":1581677921430,"_cnpm_publish_time":1581677921430,"_cnpmcore_publish_time":"2021-12-16T10:47:20.254Z"},"1.5.0":{"name":"heap-js","version":"1.5.0","description":"Heap data structure for JavaScript / TypeScript.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}}},"devDependencies":{"@types/jest":"^25.1.2","@types/node":"^13.7.1","coveralls":"^3.0.9","cross-env":"^7.0.0","cz-conventional-changelog":"^3.1.0","husky":"^4.2.3","jest":"^25.1.0","lint-staged":"^10.0.7","lodash.camelcase":"^4.3.0","prettier":"^1.19.1","rimraf":"^3.0.2","rollup":"^1.31.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sourcemaps":"^0.5.0","ts-jest":"^25.2.0","ts-node":"^8.6.2","tsc-watch":"^4.1.0","tslint":"^6.0.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^9.0.0","typedoc":"^0.16.9","typescript":"^3.7.5","validate-commit-msg":"^2.14.0"},"gitHead":"42d625e791c0ba493afa998aac5bf5c5d4d17e4c","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.5.0","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"shasum":"27e552af36988c5d50c4038379178fd09148d91a","size":666912,"noattachment":false,"key":"/heap-js/-/heap-js-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.5.0.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_1.5.0_1581677693716_0.17257648842623774"},"_hasShrinkwrap":false,"publish_time":1581677693918,"_cnpm_publish_time":1581677693918,"_cnpmcore_publish_time":"2021-12-16T10:47:22.291Z"},"1.4.1":{"name":"heap-js","version":"1.4.1","description":"Heap data structure for JavaScript / TypeScript.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=10.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}}},"devDependencies":{"@types/jest":"^24.0.17","@types/node":"^12.7.2","coveralls":"^3.0.6","cross-env":"^5.2.0","cz-conventional-changelog":"^3.0.2","husky":"^3.0.4","jest":"^24.9.0","lint-staged":"^9.2.3","lodash.camelcase":"^4.3.0","prettier":"^1.18.2","rimraf":"^3.0.0","rollup":"^1.19.4","rollup-plugin-commonjs":"^10.0.2","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^24.0.2","ts-node":"^8.3.0","tsc-watch":"^2.4.0","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typescript":"^3.5.3","validate-commit-msg":"^2.14.0"},"gitHead":"b4f4de63ee6020995a50f71290c6691be9802b59","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.4.1","_nodeVersion":"10.16.0","_npmVersion":"6.10.3","dist":{"shasum":"d74f38607aa9499cf9da5a6b0fbdd067594b4e7d","size":666805,"noattachment":false,"key":"/heap-js/-/heap-js-1.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.4.1.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_1.4.1_1566208819232_0.5797605363998655"},"_hasShrinkwrap":false,"publish_time":1566208819371,"_cnpm_publish_time":1566208819371,"_cnpmcore_publish_time":"2021-12-16T10:47:23.317Z"},"1.4.0":{"name":"heap-js","version":"1.4.0","description":"Heap data structure for JavaScript / TypeScript.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=6.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}}},"devDependencies":{"@types/jest":"^24.0.17","@types/node":"^12.7.2","commitizen":"^4.0.3","coveralls":"^3.0.6","cross-env":"^5.2.0","cz-conventional-changelog":"^3.0.2","husky":"^3.0.4","jest":"^24.9.0","lint-staged":"^9.2.3","lodash.camelcase":"^4.3.0","prettier":"^1.18.2","rimraf":"^3.0.0","rollup":"^1.19.4","rollup-plugin-commonjs":"^10.0.2","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^24.0.2","ts-node":"^8.3.0","tsc-watch":"^2.4.0","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.15.0","typescript":"^3.5.3","validate-commit-msg":"^2.14.0"},"gitHead":"ac89cf1995c132964d457c1a5896070fcd70fed6","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.4.0","_nodeVersion":"10.16.0","_npmVersion":"6.10.3","dist":{"shasum":"5aa4b375d583bb794d93eaa55873c49ff5a02240","size":666832,"noattachment":false,"key":"/heap-js/-/heap-js-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.4.0.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_1.4.0_1566207415634_0.9481045972316704"},"_hasShrinkwrap":false,"publish_time":1566207415793,"_cnpm_publish_time":1566207415793,"_cnpmcore_publish_time":"2021-12-16T10:47:25.018Z"},"1.3.0":{"name":"heap-js","version":"1.3.0","description":"Heap data structure for JavaScript / TypeScript.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/Heap.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"engines":{"node":">=6.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}},"mapCoverage":true},"devDependencies":{"@types/jest":"^24.0.11","@types/node":"^11.13.4","commitizen":"^3.0.7","coveralls":"^3.0.3","cross-env":"^5.2.0","cz-conventional-changelog":"^2.1.0","husky":"^1.3.1","jest":"^24.7.1","lint-staged":"^8.1.5","lodash.camelcase":"^4.3.0","prettier":"^1.17.0","rimraf":"^2.6.3","rollup":"^1.10.0","rollup-plugin-commonjs":"^9.3.4","rollup-plugin-node-resolve":"^4.2.3","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^24.0.2","ts-node":"^8.1.0","tsc-watch":"^2.1.2","tslint":"^5.15.0","tslint-config-prettier":"^1.18.0","tslint-config-standard":"^8.0.1","typedoc":"^0.14.2","typescript":"^3.4.3","validate-commit-msg":"^2.14.0"},"gitHead":"ad6040ced70791e7633cdd9a2d56c9299d93fc45","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.3.0","_nodeVersion":"10.14.1","_npmVersion":"6.9.0","dist":{"shasum":"758161a904428df09c39d714ab14f36bbcc5ff3a","size":621270,"noattachment":false,"key":"/heap-js/-/heap-js-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.3.0.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js_1.3.0_1555424334650_0.08112161283565689"},"_hasShrinkwrap":false,"publish_time":1555424334863,"_cnpm_publish_time":1555424334863,"_cnpmcore_publish_time":"2021-12-16T10:47:26.795Z"},"1.2.2":{"name":"heap-js","version":"1.2.2","description":"Heap data structure for JavaScript.","keywords":["heap","binary heap","priority queue","tree","binary tree","data structure","algorithm","typescript"],"main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/heap-js.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"files":["dist"],"engines":{"node":">=6.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}},"mapCoverage":true},"devDependencies":{"@types/jest":"^20.0.0","@types/node":"^8.0.0","commitizen":"^2.9.6","coveralls":"^2.13.1","cross-env":"^5.0.1","cz-conventional-changelog":"^2.0.0","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.4.4","rimraf":"^2.6.1","rollup":"^0.43.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^20.0.6","ts-node":"^3.0.6","tsc-watch":"^1.0.5","tslint":"^5.4.3","tslint-config-prettier":"^1.1.0","tslint-config-standard":"^6.0.0","typedoc":"^0.7.1","typescript":"^2.3.4","validate-commit-msg":"^2.12.2"},"gitHead":"f7d63c546134da5332245835ca24b0ecaf6f3cfb","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.2.2","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"dist":{"shasum":"33b920bcb59e8880831b1d8f1a87b4ef29178bb5","size":632183,"noattachment":false,"key":"/heap-js/-/heap-js-1.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.2.2.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js-1.2.2.tgz_1501167834527_0.436946441186592"},"directories":{},"publish_time":1501167836049,"_hasShrinkwrap":false,"_cnpm_publish_time":1501167836049,"_cnpmcore_publish_time":"2021-12-16T10:47:29.672Z"},"1.2.1":{"name":"heap-js","version":"1.2.1","description":"Heap data structure for JavaScript.","main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/heap-js.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"files":["dist"],"engines":{"node":">=6.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}},"mapCoverage":true},"devDependencies":{"@types/jest":"^20.0.0","@types/node":"^8.0.0","commitizen":"^2.9.6","coveralls":"^2.13.1","cross-env":"^5.0.1","cz-conventional-changelog":"^2.0.0","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.4.4","rimraf":"^2.6.1","rollup":"^0.43.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^20.0.6","ts-node":"^3.0.6","tsc-watch":"^1.0.5","tslint":"^5.4.3","tslint-config-prettier":"^1.1.0","tslint-config-standard":"^6.0.0","typedoc":"^0.7.1","typescript":"^2.3.4","validate-commit-msg":"^2.12.2"},"gitHead":"b56fa61c4b24a2d02db25557f16aa67aea22662d","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.2.1","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"dist":{"shasum":"662deb638b0fce40beabe2aea93f386197c6cf6b","size":632170,"noattachment":false,"key":"/heap-js/-/heap-js-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.2.1.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js-1.2.1.tgz_1501166896920_0.33267818531021476"},"directories":{},"publish_time":1501166898491,"_hasShrinkwrap":false,"_cnpm_publish_time":1501166898491,"_cnpmcore_publish_time":"2021-12-16T10:47:31.783Z"},"1.2.0":{"name":"heap-js","version":"1.2.0","description":"Heap data structure for JavaScript.","main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/heap-js.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"files":["dist"],"engines":{"node":">=6.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}},"mapCoverage":true},"devDependencies":{"@types/jest":"^20.0.0","@types/node":"^8.0.0","commitizen":"^2.9.6","coveralls":"^2.13.1","cross-env":"^5.0.1","cz-conventional-changelog":"^2.0.0","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.4.4","rimraf":"^2.6.1","rollup":"^0.43.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^20.0.6","ts-node":"^3.0.6","tsc-watch":"^1.0.5","tslint":"^5.4.3","tslint-config-prettier":"^1.1.0","tslint-config-standard":"^6.0.0","typedoc":"^0.7.1","typescript":"^2.3.4","validate-commit-msg":"^2.12.2"},"gitHead":"90c24b3c55d53cf1c91a83fc6e8d55b50877215a","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.2.0","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"dist":{"shasum":"8fd2022948a3cf06bd445d8c5197242ca80e577c","size":632021,"noattachment":false,"key":"/heap-js/-/heap-js-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.2.0.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js-1.2.0.tgz_1501162399555_0.9145928472280502"},"directories":{},"publish_time":1501162401080,"_hasShrinkwrap":false,"_cnpm_publish_time":1501162401080,"_cnpmcore_publish_time":"2021-12-16T10:47:33.282Z"},"1.1.1":{"name":"heap-js","version":"1.1.1","description":"Heap data structure for JavaScript.","main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/heap-js.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"files":["dist"],"engines":{"node":">=6.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}},"mapCoverage":true},"devDependencies":{"@types/jest":"^20.0.0","@types/node":"^8.0.0","commitizen":"^2.9.6","coveralls":"^2.13.1","cross-env":"^5.0.1","cz-conventional-changelog":"^2.0.0","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.4.4","rimraf":"^2.6.1","rollup":"^0.43.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^20.0.6","ts-node":"^3.0.6","tsc-watch":"^1.0.5","tslint":"^5.4.3","tslint-config-prettier":"^1.1.0","tslint-config-standard":"^6.0.0","typedoc":"^0.7.1","typescript":"^2.3.4","validate-commit-msg":"^2.12.2"},"gitHead":"637bd69cc8d17a11e2ca3a4c20fd5d08b5b71fbb","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"dist":{"shasum":"3e4a4d1d18bdf72ddf46e91318e4d4d08353d551","size":624063,"noattachment":false,"key":"/heap-js/-/heap-js-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.1.1.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js-1.1.1.tgz_1501056715383_0.4211250455118716"},"directories":{},"publish_time":1501056718106,"_hasShrinkwrap":false,"_cnpm_publish_time":1501056718106,"_cnpmcore_publish_time":"2021-12-16T10:47:35.648Z"},"1.1.0":{"name":"heap-js","version":"1.1.0","description":"![Heap.js](assets/heap-js.png) Heap.js ======================================","main":"dist/heap-js.umd.js","module":"dist/heap-js.es5.js","types":"dist/types/heap-js.d.ts","author":{"name":"Ignacio Lago @ignlg","email":"ignacio@ignaciolago.com"},"license":"BSD-3-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/ignlg/heap-js.git"},"files":["dist"],"engines":{"node":">=6.0.0"},"scripts":{"build":"tsc --project tsconfig.build.json && rollup -c && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src","commit":"git-cz","lint":"tslint --type-check --fix --project tsconfig.json -t codeFrame 'src/**/*.ts'","prebuild":"rimraf dist","precommit":"lint-staged","report-coverage":"cat ./coverage/lcov.info | coveralls","start":"tsc-watch --onSuccess \"rollup -c\"","test":"jest","test:prod":"yarn lint && yarn test -- --coverage --no-cache","test:watch":"jest --watch"},"lint-staged":{"src/**/*.ts":["prettier --write --no-semi","git add"]},"config":{"commitizen":{"path":"node_modules/cz-conventional-changelog"},"validate-commit-msg":{"types":"conventional-commit-types","helpMessage":"Use \"yarn commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)"}},"jest":{"transform":{".(ts|tsx)":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"coveragePathIgnorePatterns":["/node_modules/"],"coverageThreshold":{"global":{"branches":90,"functions":95,"lines":95,"statements":95}},"mapCoverage":true},"devDependencies":{"@types/jest":"^20.0.0","@types/node":"^8.0.0","commitizen":"^2.9.6","coveralls":"^2.13.1","cross-env":"^5.0.1","cz-conventional-changelog":"^2.0.0","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.0","lodash.camelcase":"^4.3.0","prettier":"^1.4.4","rimraf":"^2.6.1","rollup":"^0.43.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-sourcemaps":"^0.4.2","ts-jest":"^20.0.6","ts-node":"^3.0.6","tsc-watch":"^1.0.5","tslint":"^5.4.3","tslint-config-prettier":"^1.1.0","tslint-config-standard":"^6.0.0","typedoc":"^0.7.1","typescript":"^2.3.4","validate-commit-msg":"^2.12.2"},"gitHead":"b1d5eb78be083f2beea3c4b7f19e252476140b70","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"homepage":"https://github.com/ignlg/heap-js#readme","_id":"heap-js@1.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.1.4","_npmUser":{"name":"ignlg","email":"ignacio@ignaciolago.com"},"dist":{"shasum":"64ef0f74f1c988d61194a7f5e639256794561268","size":624064,"noattachment":false,"key":"/heap-js/-/heap-js-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/heap-js/download/heap-js-1.1.0.tgz"},"maintainers":[{"name":"ignlg","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/heap-js-1.1.0.tgz_1501056482188_0.8431813430506736"},"directories":{},"publish_time":1501056483778,"_hasShrinkwrap":false,"_cnpm_publish_time":1501056483778,"_cnpmcore_publish_time":"2021-12-16T10:47:37.633Z"}},"readme":"# ![Heap.js](assets/heap-js.png) Heap.js\n\n[![npm version](https://img.shields.io/npm/v/heap-js.svg?style=flat)](https://www.npmjs.com/package/heap-js)\n[![Coverage Status](https://img.shields.io/coveralls/ignlg/heap-js/master.svg?style=flat)](https://coveralls.io/github/ignlg/heap-js?branch=master)\n\n**Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript.**\n\n**Now with support for async comparators with the new `HeapAsync` class!**\n\nIncludes JavaScript methods, Python's _heapq module_ methods, and Java's _PriorityQueue_ methods.\n\nEasy to use, known interfaces, tested, and well-documented JavaScript binary heap library.\n\nInstances are `integer min heap` by default.\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/ignlg/heap-js)\n\n## Is it faster than sorting an array?\n\nIt depends on your usage, but for some scenarios, it is much faster:\n\n```\nheap vs array: push + pop/unshift 50\n heap  x 72,130 ops/sec ±0.50% (93 runs sampled)\n array x 121 ops/sec ±78.09% (5 runs sampled)\n\nheap vs array: push + peek 20\n heap  x 622,332 ops/sec ±27.93% (63 runs sampled)\n array x 207 ops/sec ±78.18% (5 runs sampled)\n\nheap vs array: push + top(1) of 100\n heap  x 124,835 ops/sec ±40.37% (61 runs sampled)\n array x 123 ops/sec ±78.49% (5 runs sampled)\n\nheap vs array: push + top(50) of 100\n heap  x 59,210 ops/sec ±17.66% (82 runs sampled)\n array x 125 ops/sec ±78.79% (5 runs sampled)\n```\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ignlg/heap-js&type=Date)](https://star-history.com/#ignlg/heap-js&Date)\n\n## Changelog\n\n### 2.7.1\n\n- Optimize loop condition in HeapAsync init method.\n\n### 2.7\n\n- Improves performance of sorting methods. Thanks to @BeatsuDev for the contribution.\n- Improves tests and documentation.\n\n### 2.6\n\n- Improves performance of remove and sorting methods.\n- Improves tests and documentation.\n\n### 2.5\n\n- Improves the `limit` property to support negative, Infinity, and NaN values. They will be set as `0` and the heap will not be limited.\n- Adds the `setLimit` method to set the limit of the heap. It returns `NaN` if the limit is negative, or NaN. This method is useful to check if the limit was set as expected.\n- Improves tests and documentation.\n\n### 2.4\n\n- Adds the `indexOf` method to find the first index of an element in the heap.\n- Adds the `indexOfEvery` method to find all indexes of an element in the heap.\n- Changes the `remove` method to use the `indexOf` method.\n- Changes the `contains` method to use the `indexOf` method.\n- Improves documentation.\n\n### 2.3\n\n- Adds the `HeapAsync` class, with async methods and supporting async comparators. It is a drop-in replacement for the `Heap` class with Promises.\n\n### 2.2\n\n- Fixes `.iterator()` method to follow [Java's PriorityQueue implementation:\n](https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html)\n  > The Iterator provided in method [iterator()](<https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html#iterator()>) is not guaranteed to traverse the elements of the priority queue in any particular order.\n\nNotice that _using the heap directly as an iterator will consume the heap,_ as Python's `heapq` implementation does.\n\n### 2.1\n\n- Adds `Heap.nlargest` as in `heapq`.\n- Adds `Heap.nsmallest` as in `heapq`.\n- Sanitizes `top` / `bottom` input to force an integer.\n- Linted with Eslint.\n\n### 2.0\n\nThe main breaking change is that now _`top(N)` does NOT sort the output_, because sorting should not be part of the spec for a priority queue. The output is the top N elements, and they will be _partially ordered_ with the peek at index `0` by definition.\n\n- `top(N)` is unordered, only the first element is guaranteed to be the top priority element.\n- Fixes custom heap issue [#31](https://github.com/ignlg/heap-js/issues/31).\n- Performance improvements.\n- More tests, including those for custom heaps.\n- Auxiliary experimental `top(N)` algorithms.\n- (WIP) Benchmarks.\n\n### 1.5\n\n- Adds the `Iterator` interface and `iterator()` method.\n\n## Examples\n\n### Basic usage\n\n#### Min Heap\n\nA heap where the smallest element is always at the top. It is the default heap.\n\n```js\nimport { Heap } from 'heap-js';\n\n// Min Heap by default\nconst minHeap = new Heap();\n\n// Initialize the heap with an array\nminHeap.init([5, 18, 1]);\n// Push a new value\nminHeap.push(2);\n\nconsole.log(minHeap.peek()); //> 1\nconsole.log(minHeap.pop()); //> 1\nconsole.log(minHeap.peek()); //> 2\n```\n\n#### Max Heap\n\nA heap where the largest element is always at the top.\n\n```js\nimport { Heap } from 'heap-js';\n\n// Max Heap\nconst maxHeap = new Heap(Heap.maxComparator);\n\n// Initialize the heap with an array\nmaxHeap.init([3, 4, 1, 12, 8]);\n// Push a new value\nmaxHeap.push(2);\n\nconsole.log(maxHeap.peek()); //> 12\nconsole.log(maxHeap.pop()); //> 12\nconsole.log(maxHeap.peek()); //> 8\n```\n\n#### Custom Heap\n\nA heap where the most important element is always at the top, but the elements are objects with a `priority` property.\n\n```js\nimport { Heap } from 'heap-js';\n\nconst customPriorityComparator = (a, b) => a.priority - b.priority;\n// Custom Heap\nconst customHeap = new Heap(customPriorityComparator);\n\n// Initialize the heap with an array\ncustomHeap.init([{ priority: 5 }, { priority: 18 }, { priority: 1 }]);\n// Push a new value\ncustomHeap.push({ priority: 2 });\n\nconsole.log(customHeap.peek()); //> { priority: 1 }\nconsole.log(customHeap.pop()); //> { priority: 1 }\nconsole.log(customHeap.peek()); //> { priority: 2 }\n```\n\n#### Min HeapAsync\n\nA heap where the most important element is always at the top, the elements are objects with a `priority` property, and the comparator function is asynchronous. Implements the same interface as `Heap`, but almost all methods return a `Promise`.\n\n```js\nimport { HeapAsync } from 'heap-js';\n\nconst customPriorityComparator = (a, b) => Promise.resolve(a.priority - b.priority);\n// Custom HeapAsync\nconst customHeap = new HeapAsync(customPriorityComparator);\n\n// Initialize the heap with an array\nawait customHeap.init([{ priority: 5 }, { priority: 18 }, { priority: 1 }]);\n// Push a new value\nawait customHeap.push({ priority: 2 });\n\nconsole.log(customHeap.peek()); //> { priority: 1 }\nconsole.log(await customHeap.pop()); //> { priority: 1 }\nconsole.log(await customHeap.peek()); //> { priority: 2 }\n```\n\n### Priority Queue usage\n\n#### JavaScript / Python-style iterator (recommended)\n\nIterates over the heap consuming it, and guarantees to traverse the elements of the heap in the order of priority. Useful.\n\n```js\nconst { Heap } = require('heap-js');\n\n// Get all tasks from the database\nconst tasks = db.collection.find().toArray();\n// The most important task has the lowest priority value\nconst customPriorityComparator = (a, b) => a.priority - b.priority;\n\n// Create the priority queue\nconst priorityQueue = new Heap(customPriorityComparator);\n// Initialize the priority queue with the tasks\npriorityQueue.init(tasks);\n\n// Iterator that will consume the heap while traversing it in the order of priority\nfor (const task of priorityQueue) {\n  console.log(task);\n}\n```\n\n#### Java-style iterator (not recommended)\n\nIterates over the heap without consuming it, but does not guarantee to traverse the elements of the heap in any particular order. Barely useful.\n\n```js\nconst { Heap } = require('heap-js');\n\n// Get all tasks from the database\nconst tasks = db.collection.find().toArray();\n// The most important task has the lowest priority value\nconst customPriorityComparator = (a, b) => a.priority - b.priority;\n\nconst priorityQueue = new Heap(customPriorityComparator);\n// Initialize the priority queue with the tasks\npriorityQueue.init(tasks);\n\n// Iterator, the Java way, that will not consume the heap BUT does not guarantee to traverse the elements of the heap in any particular order. Barely useful.\nfor (const task of priorityQueue.iterator()) {\n  console.log(task);\n}\n```\n\n### Python-like static methods\n\n```js\nimport { Heap } from 'heap-js';\nconst numbers = [2, 3, 7, 5];\n\n// Changes the array elements order into a heap in-place\nHeap.heapify(numbers);\nconsole.log(numbers); //> [ 2, 3, 5, 7 ]\n\n// Pushes a new value to the heap\nHeap.heappush(numbers, 1);\nconsole.log(numbers); //> [ 1, 2, 5, 7, 3 ]\n```\n\n## Installation\n\n```bash\nyarn add heap-js # if you use yarn\n\nnpm install --save heap-js # if you use npm\n```\n\n## Constructor\n\n### Heap\n\n```js\nnew Heap([comparator]);\n```\n\n### HeapAsync\n\n```js\nnew HeapAsync([asyncComparator]);\n```\n\n## Comparators already included\n\n- `Heap.minComparator`: Uses less-than operator to compare elements. It is the default comparator.\n- `Heap.maxComparator`: Uses greater-than operator to compare elements.\n- `Heap.minComparatorNumber`: Uses subtraction `a - b` to compare elements.\n- `Heap.maxComparatorNumber`: Uses subtraction `b - a` to compare elements.\n\n## Implements JavaScript-style methods\n\n- `for (const value of heap)` directly usable as an Iterator, **consumes the heap.**\n- `length` of the heap.\n- `limit` the number of elements in the heap.\n- `pop()` the top element.\n- `push(...elements)` one or more elements to the heap.\n- `pushpop(element)` faster than `push` & `pop`.\n- `replace(element)` faster than `pop` & `push`.\n- `top(number?)` most valuable elements from the heap.\n- `bottom(number?)` least valuable elements from the heap.\n- `indexOf(element, fn?)` returns the internal index of the first occurrence of the element in the heap.\n- `indexOfEvery(element, fn?)` returns an array with the internal indexes of all occurrences of the element in the heap.\n\n## Implements Java's `PriorityQueue` interface\n\n- `add(element)` to the heap.\n- `addAll([element, element, ... ])` to the heap, faster than loop `add`.\n- `clear()`\n- `clone()`\n- `comparator()`\n- `contains(element, fn?)`\n- _`element()` alias of `peek()`_\n- `isEmpty()`\n- `iterator()` returns the same as `toArray()` because it is iterable and follows Java's implementation. Barely useful. Use `for (const value of heap)` instead.\n- _`offer(element)` alias of `add(element)`_\n- `peek()`\n- _`poll()` alias of `pop()`_\n- `remove(element?)`\n- _`removeAll()` alias of `clear()`_\n- _`size()` alias of `length`_\n- `toArray()`\n- `toString()`\n\nTo do:\n\n- `containsAll`\n- `equals`\n- `retainAll`\n\n## Implements static Python's `heapq` interface\n\n- `Heap.heapify(array, comparator?)` that converts an array to an array-heap.\n- `Heap.heappop(heapArray, comparator?)` that takes the peek of the array-heap.\n- `Heap.heappush(heapArray, item, comparator?)` that appends elements to the array-heap.\n- `Heap.heappushpop(heapArray, item, comparator?)` faster than `heappush` & `heappop`.\n- `Heap.heapreplace(heapArray, item, comparator?)` faster than `heappop` & `heappush`.\n- `Heap.nlargest(n, iterable, comparator?)` that gets the `n` most valuable elements of an iterable.\n- `Heap.nsmallest(n, iterable, comparator?)` that gets the `n` least valuable elements of an iterable.\n\nExtras:\n\n- `Heap.heaptop(n, heapArray, comparator?)` that returns the `n` most valuable elements of the array-heap\n- `Heap.heapbottom(n, heapArray, comparator?)` that returns the `n` least valuable elements of the array-heap\n\nTo do:\n\n- `merge(...iterables, comparator?)`\n\n## Documentation\n\n<https://ignlg.github.io/heap-js/>\n\n## Sponsor\n\nWe are looking for sponsors to help us maintain and improve **Heap.js**. If you're interested in supporting this project, please get in touch with us.\n\n## Collaborate\n\nWould you like to contribute to **Heap.js**? Feel free to submit a pull request, open an issue, or reach out to the maintainers. We welcome your feedback and ideas!\n\n### Dev setup\n\n```bash\nyarn\n```\n\n### Tests\n\n```bash\nnpm run test\n```\n\n### Benchmarks\n\n```bash\nnpm run benchmarks\n```\n\n### License\n\nHeap.js is [BSD 3-Clause Licensed](LICENSE).\n","_attachments":{},"homepage":"https://github.com/ignlg/heap-js#readme","bugs":{"url":"https://github.com/ignlg/heap-js/issues"},"license":"BSD-3-Clause"}