{"_id":"on-exit-leak-free","_rev":"7-a4323d4d1e09a76d32f6ccde28c025cc","name":"on-exit-leak-free","dist-tags":{"latest":"2.1.2"},"versions":{"0.1.0":{"name":"on-exit-leak-free","version":"0.1.0","description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"homepage":"https://github.com/mcollina/on-exit-or-gc#readme","devDependencies":{"snazzy":"^9.0.0","standard":"^16.0.3","tap":"^15.0.9"},"gitHead":"082429dd2cc5d5ca757a755d92813c2d00179f38","_id":"on-exit-leak-free@0.1.0","_nodeVersion":"14.17.2","_npmVersion":"6.14.13","dist":{"integrity":"sha512-BsvTPagoHPkkV0XqKScPP/v5wquP3DYlyhCDMG7KQHXByU3ViuCZjJqESlV7PFynY/i4uiqQoKIZUOlxjtjO3A==","shasum":"499c139a097e46d82ae40f1802462a3d1adf6251","tarball":"https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.1.0.tgz","fileCount":10,"unpackedSize":6576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5VZSCRA9TVsSAnZWagAACigP/RbQXnmEMLudaNALmjfu\n87dZrFh8cPfKYwvHhz6tt6IHMtYh1f6iy6XgSQuPG7sR81fDLCkSQ3EraJCE\nJJVzUxcrh2Y2veU/xhIoEUR24BuXxiQlj4yJv5cVMknxWmMwOxTp3aeWiYpA\nlfFT/a8Gd/ILN/+Be0ccycp9H+ST5T2z3jkjYYaNxaBNZzbEN8qT13Ee6SRo\nuREd/9iLHkWMfp/DjurvmZk7Too8nxHYl6pqvoks5PXrrT6STAfVRDpRBOM4\nGjBvgbEmk6538oNPTlEywhLA95+LMKTgOX/CkBM+m15axYH+gTeLjVEh3cWM\ntlxDDHR1q/jZKlczNIe7zg6qJAIOcuyU1qSlYHuAJR5RSZ8fwt4wP1W7ZM1d\nmMl+wQM9JS9tKeoLW5j2dAYjZag9SeDVjz9qVNwtX+9XF+goMbPhvBjpXIpg\n8EdhHd/aQwLXzgyE9uWvgw4/f8rA6gw6Yi5gvJzg49gPgfEOaSet1uJp7xbh\nlCHJnyNFvm8skZaa9XDIVaamhnT39n4X68AGJRpwCbYg3waUvdE2j8MGyl0A\nCRSQslDzpwUHzso5UohKb1iFv/7780CAktOcP+RMGQ9EFzKD8RvCP9zb7xJk\nclKGl9p4MTsz6HQb7MtG8wuQPIkQDAAto/MThtSQqWuwFihKk8D6YJJ3f4bM\nhX5m\r\n=QwOF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSVyzJsnTMCRc7hWkC00VnnOyHzfG4pvflql8KarJt7wIhAPSSYg/e24/sDYmwjU4q2G5f6HoVf5MJSRGJFpQz2l+g"}]},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/on-exit-leak-free_0.1.0_1625642577785_0.1927204270556615"},"_hasShrinkwrap":false},"0.2.0":{"name":"on-exit-leak-free","version":"0.2.0","description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"homepage":"https://github.com/mcollina/on-exit-or-gc#readme","devDependencies":{"snazzy":"^9.0.0","standard":"^16.0.3","tap":"^15.0.9"},"gitHead":"54a91f80aad1f026b9ef82114ef8bf0c3c45b600","_id":"on-exit-leak-free@0.2.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"integrity":"sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==","shasum":"b39c9e3bf7690d890f4861558b0d7b90a442d209","tarball":"https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz","fileCount":11,"unpackedSize":7664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+rcZCRA9TVsSAnZWagAA1OEP/jyLIS1dbYAgQHKz1Htn\nbJ8lRhaSPW4D7xC+G20PfESdp5gjT4+lLYN2S7/byk8OMQCqsV++OhTmKZIm\nOjtjA7+s9NTHP0BNnPgrLSKY2S2+yj05QGYl6rc99tHMiFOVx0CspHRLGao0\nnBRL9pjUQLA8ZYvIozCFqkSG+kgKarXejfld5WUWiGIbYOtd20IoYQApU9Kt\n6SOe2JDJbK3ZSUV8IG/oeTuI/fr1ErJWZ8L2e+CIFhMUiBbGMv6LEsCEGufe\n6034yZXFThMkrISpeNL70wn1OIJK1+WPXc+egHSj1uh0HG/zSc7c1E0+iWnG\n+ts/8nqBcUzUV7QCNvc1ENr3JYdv5j8trs37oM0ax9xvLJiB/jLYF/z5Rksd\nV19JmACO8zO3m1w6GB4F56t6c2HZFFaySg4yfXiz56lmC7MLcxbya+lyyiA9\nrZktWoDmSj7EDq0SDLV9TO+EwzUceXGYfEWpi4b4HRKIC0IwOaPJ58yf78Bf\nWlX0Z55RKKh14rUhPxV9L5lOgCpt5DhQ8BK0mKQeesZHfl22+rB86nfUUcqu\nnt6mhJbXrfB/Od59Mj7oyeFhpCfLufTAANNiPqyAIU48WKz6QpJzRI6FBDj+\nz6tXZnVgezmfJ2paV9/yiJHhOAuZ0CG1mh2kUzMWLBogGCOg5EmAcZD6gZ7o\nsMSD\r\n=aB4R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEnwvhwkPzymv/HOEU4h8y9jj50HmAPC55IQmADFE7uOAiAY23gxEeOc9tz0Fx4SKTs2uMr5Jtu+fNSmy7qyxgc/4w=="}]},"directories":{},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/on-exit-leak-free_0.2.0_1627043608881_0.5131187509186566"},"_hasShrinkwrap":false},"1.0.0":{"name":"on-exit-leak-free","version":"1.0.0","description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"homepage":"https://github.com/mcollina/on-exit-or-gc#readme","devDependencies":{"snazzy":"^9.0.0","standard":"^16.0.3","tap":"^16.0.0"},"gitHead":"a4d278b0b6a58aa7722ecc59c9c6adfddcf1bc8a","_id":"on-exit-leak-free@1.0.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-Ve8ubhrXRdnuCJ5bQSQpP3uaV43K1PMcOfSRC1pqHgRZommXCgsXwh08jVC5NpjwScE23BPDwDvVg4cov3mwjw==","shasum":"4a2accb382278a266848bb1a21439e5fc3cd9881","tarball":"https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-1.0.0.tgz","fileCount":12,"unpackedSize":8254,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqhqa4ppM06/4QbtItsxJx3Mp4Z0Q+wm9Dpy+fSgaoYwIhAMbjrk1e4n2EoTyBf5hDJEFZIZpuJi/4GlZvVPlY8NYP"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilpSqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopwRAAgV+9f6ZoZM3HMUKaBQsZ5PFdXMsgptmxXMKgzNq9n1VhOcbN\r\npMdJPZ9NHY5cQLFPEpPvHu0t+07TtRnR6aQDCNWQ9Qe23qO/XP2uLb8p+hef\r\n65mMwfA501zC+5VY4/C3F/ZEDYnZTyUwshOmBrS9Tm6aKybcmwtGaI16aT5L\r\n4LqMpiTzgJuldbgExAufYCpQBwDgV7e1qFEeD4KqFkd2Y0Ap8wQ+UHsNkeRj\r\nfp7sUSEEhWEmK5VVAiMPYiuvJCVI/f6zfGlcoj4pMjlC5xMELpRQhVg+owmh\r\nhU8xbNpJdLBd9bQH0bg202B3gsAfGIusELWVkO1eHe2CR2pwvYfVKH2Te8kA\r\nhHPnLAKo0ZmXIKyYqN2WESjQRu1B4nFudN1oE3+DZL4MJWJ9fYDmNswE65MV\r\n2YF4vUqLF8gHqvxUYItT+GtrjHx8u7306GhYQpDPPCfqe8tj+xAOFKj4pxZh\r\nJAxLiO4YH93+bPlJc6/hnJzf0tgZJK4XQ9UKelGWNseshriFHsF4HkxJfs1o\r\n4t+3sofD7nUpoxqNrQ9JpT0md9iKUYvcvZ1cuFDAZ4lbSIAPLvtAVmrMhjWt\r\nJz0QcrUuLoV2LejAtHhx5VD1CUv97x6ElcFT5O1IKSwV2lKhFT+yBFkcwqsV\r\nph5FW1BOzKjqWKdb6N48V8s3Y4fRtnW0muM=\r\n=43A+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/on-exit-leak-free_1.0.0_1654035626574_0.6903804735611352"},"_hasShrinkwrap":false},"2.0.0":{"name":"on-exit-leak-free","version":"2.0.0","description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"homepage":"https://github.com/mcollina/on-exit-or-gc#readme","devDependencies":{"snazzy":"^9.0.0","standard":"^17.0.0","tap":"^16.0.0"},"gitHead":"6c083e84d7007e252380098e574dceccabdf36ca","_id":"on-exit-leak-free@2.0.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-/yD7zxeQIpvrU4DHfh2d9ujf8RauHQgIaWS8kHQPgWVDZo43Ho0WdNow1JuXCsBSTlxIMCSo/WyLkLEaKFItrQ==","shasum":"c3bfe669f2c7c3a372eea38a71ec301484dabe1c","tarball":"https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.0.0.tgz","fileCount":11,"unpackedSize":7500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmHew4sdfUFA3c+eQ8qoqOkPTwFXJ8/ze+cIEd1t3h9gIhAKC+Eg8VFDRYG0JM7k0Oyrv5reLfK4DChfvhbszRGwWe"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJissr6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvBBAAoBE4gWm3WtSonYrnSsEqlSIIf6ve2bwqh5qYP/NYVGgxJcVe\r\nWHqV6p9X3HNeahytzZxOHdAhX8nFpO3Sr2P6Azpq5+UPrJGirLIENHiZV5Cb\r\nlZJM71JkOKGoSQZDHQnHC2GicLcY9t7NljT8DUnm/Av4kXW7gPGGb4M4L97F\r\nDtlQx7Rpko6KfMwlRRGqanr0hpJDv1I/qSWPakfba1HjC+P41iyMpRLs4pm5\r\nbjP/67qqIOh/d/HTkQKg5fTfAkLj90PzRAXS+G7gaO0sFM37/ktT8esmfC+K\r\n6I8638T454sBwy+YgtWMfOYNj5CYSLcpyhyamD3MXpD7gdeEYdyt6EpZefdr\r\nJhWFts3unoHSk/5chkfh76IzbM1bvBmLMCuVY/+DRhKmNCPEWMMiz4DGpZQl\r\nXCHAQM5Zj6pcwIwIZznCmh4aJEuQySHfFKKDsdeGwyUiVJfUPwUsh2pHSC+T\r\ncLsmcy4TkMsSqr7L1b1fpBjA4SkELhJk2ZhW0LSYplmRaMMpTSsb26lsknxK\r\nf9en0rZPafWE9qisVKhYrDAY1B8XrUxAeDBb7bKFnnI3a3Vx0dFrP8JWx6Ln\r\n9QwddlcvvIjJC6yJYqb+CKGEA2WWzB9/pVc2f7J6m0cgeRZ8fYW9JqoEUy6M\r\n3FyUI/4OlKf/B4fFJOE27SZcGKoknlP2Cfo=\r\n=Hh2S\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/on-exit-leak-free_2.0.0_1655884537952_0.5797627759684092"},"_hasShrinkwrap":false},"2.1.0":{"name":"on-exit-leak-free","version":"2.1.0","description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"homepage":"https://github.com/mcollina/on-exit-or-gc#readme","devDependencies":{"snazzy":"^9.0.0","standard":"^17.0.0","tap":"^16.0.0"},"gitHead":"223fd00d674f841b8785eeb3d7b0f8e2f2b9e003","_id":"on-exit-leak-free@2.1.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==","shasum":"5c703c968f7e7f851885f6459bf8a8a57edc9cc4","tarball":"https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz","fileCount":12,"unpackedSize":8885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZD9+7egZIExdBtJRDtkbif+MwJdQiRRi/eLnuborumwIhAJiscqXiJdzy4k19GqNyJJwItLJSx8CCVxGHwXr6PJwo"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisuCcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMrA/6A1r8aqUhUA9wlAT2Ew69FDyNkCr6U0C6WPxN6WmYmq9bADLJ\r\nhpEfXS94OWr8wqxjDbHHWfEJwUCdDSxhmwIohU4T4nfOSCjhC1QPysWP+vAr\r\nGH1AneLYZrrvkf4chjOALYTH13KRmZBLEF8YJ7wuF2PJdIgYrOCSbPgNFICa\r\n4ihWXUn/BsSIuQa9loJMKAD/ky5lp07jUC6C5IgXNZkw9KQWDrAYOleK0DJC\r\nUmrISSMhLn3mw/dfWlFKN8bU2ICT5TPPNjwR5A06QlXCBiYfVNWwkCwofvEW\r\nQHNVu0wtMeofsllgRyC1L2l+BkMo7ZcPYJPE+KRDciYB8LwnQiRJK+Glkh0e\r\nYThAwGUsqs+jf0GksEhsbDkBcgE/JopoRA1fsZzixklD4BAGAMNeITmpREFE\r\nGbO6JzSnCQn+FzWGUizKeusgAeqp9b2AcZ/QUwxBl5oDgqT2dlhR9dzgEutV\r\nax9ya422E8BSSYCmJfTAxEU5M073hnEwSMXZOj4V2uBmkl98dFMGffHWVqeK\r\nAzo7TokhcsegvaDaAku0ppwIVSQ5I1+YEWJ+gs8RsbbPqorMY0SM5dVnhekP\r\nxkXPzXJdBRuVkPzcnR7F2+UjZngv9QenR4Fb1Rml97dw1BxRaIq+kSyDO6Po\r\nGvMe1Qm+FdIK0HIkZ/TkcjKKxOk/xsv2W+k=\r\n=xN9Z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/on-exit-leak-free_2.1.0_1655890075938_0.8722406181041178"},"_hasShrinkwrap":false},"2.1.1":{"name":"on-exit-leak-free","version":"2.1.1","description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"homepage":"https://github.com/mcollina/on-exit-or-gc#readme","devDependencies":{"snazzy":"^9.0.0","standard":"^17.0.0","tap":"^16.0.0"},"engines":{"node":">=14.0.0"},"gitHead":"f2f303a4c69faf9d7c097749d85d56fbe205a1bd","_id":"on-exit-leak-free@2.1.1","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-IPTBZ175tI0sSg0ikDcCDfa5dPgcFbJgABsTHsY+Mkdm6Y2VKGuchubXSvTuu5tSPl4mqt53o3nLI74HTs8UgQ==","shasum":"762dc7db809fa43303e64024f0ea0af54dd81294","tarball":"https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.1.tgz","fileCount":12,"unpackedSize":9028,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBleTgccX6a1Dxlx2deLgTcsEOyZuyDCIEYqtM8E5isnAiEAhuf3l2lYFdI64lE8j28SfEWcqV49QuD8irQaIpIyddY="}]},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/on-exit-leak-free_2.1.1_1696260671093_0.21805338088336002"},"_hasShrinkwrap":false},"2.1.2":{"name":"on-exit-leak-free","version":"2.1.2","description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","main":"index.js","scripts":{"test":"standard | snazzy && tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"license":"MIT","bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"homepage":"https://github.com/mcollina/on-exit-or-gc#readme","devDependencies":{"snazzy":"^9.0.0","standard":"^17.0.0","tap":"^16.0.0"},"engines":{"node":">=14.0.0"},"_id":"on-exit-leak-free@2.1.2","gitHead":"54e85eb597d8ae9104324070ad767c120d975f2c","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==","shasum":"fed195c9ebddb7d9e4c3842f93f281ac8dadd3b8","tarball":"https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz","fileCount":12,"unpackedSize":9246,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFuycuWANeHj93G7XlZJpaCdPY7TD7P/wxwytsvmz8cnAiEAhsm+OY77cQhnTj/r1F/maetBq1hsYsqnFs3nv8/6ZA8="}]},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"directories":{},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/on-exit-leak-free_2.1.2_1696344125852_0.49115970753718496"},"_hasShrinkwrap":false}},"time":{"created":"2021-07-07T07:22:57.785Z","0.1.0":"2021-07-07T07:22:57.929Z","modified":"2023-10-03T14:42:06.189Z","0.2.0":"2021-07-23T12:33:29.009Z","1.0.0":"2022-05-31T22:20:26.685Z","2.0.0":"2022-06-22T07:55:38.120Z","2.1.0":"2022-06-22T09:27:56.120Z","2.1.1":"2023-10-02T15:31:11.299Z","2.1.2":"2023-10-03T14:42:06.031Z"},"maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"}],"description":"Execute a function on exit without leaking memory, allowing all objects to be garbage collected","homepage":"https://github.com/mcollina/on-exit-or-gc#readme","keywords":["weak","reference","finalization","registry","process","exit","garbage","collector"],"repository":{"type":"git","url":"git+https://github.com/mcollina/on-exit-or-gc.git"},"author":{"name":"Matteo Collina","email":"hello@matteocollina.com"},"bugs":{"url":"https://github.com/mcollina/on-exit-or-gc/issues"},"license":"MIT","readme":"# on-exit-leak-free\n\nThis module helps dispose of an object gracefully when the Node.js process exits.\nIt executes a function with a given parameter\non [`'exit'`](https://nodejs.org/api/process.html#event-exit) without leaking memory,\ncleaning things up appropriately if the object is garbage collected.\n\nRequires `WeakRef` and `FinalizationRegistry`, i.e. use Node v14+.\n\n## Install\n\n```bash\nnpm i on-exit-leak-free\n```\n\n## Example\n\n```js\n'use strict'\n\nconst { register, unregister } = require('on-exit-leak-free')\nconst assert = require('assert')\n\nfunction setup () {\n // This object can be safely garbage collected,\n // and the resulting shutdown function will not be called.\n // There are no leaks.\n const obj = { foo: 'bar' }\n register(obj, shutdown)\n // use registerBeforeExit(obj, shutdown) to execute the function only\n // on beforeExit\n // call unregister(obj) to remove\n}\n\nlet shutdownCalled = false\n\n// Please make sure that the function passed to register()\n// does not create a closure around unnecessary objects.\nfunction shutdown (obj, eventName) {\n console.log(eventName) // beforeExit\n shutdownCalled = true\n assert.strictEqual(obj.foo, 'bar')\n}\n\nsetup()\n\nprocess.on('exit', function () {\n assert.strictEqual(shutdownCalled, true)\n})\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}