{"_id":"@alttiri/util-node-js","_rev":"27-38781d36381f55721f96964cf1926f41","name":"@alttiri/util-node-js","dist-tags":{"latest":"2.2.0-20240821"},"versions":{"1.5.2":{"name":"@alttiri/util-node-js","version":"1.5.2","keywords":["color"],"license":"MIT","_id":"@alttiri/util-node-js@1.5.2","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/AlttiRi/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"54930f4afb97af7c9bdadb47a9ae04eb69dbb6f7","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-1.5.2.tgz","fileCount":10,"integrity":"sha512-oVbzcwNN/u6q5ZCJiRVAjBt0kT0ewfw2Pvaltbtq78Y43Z9ivex8eTWtr+NizpGBoN2A+TvpJV3twRfzDwLfIw==","signatures":[{"sig":"MEQCIGZ0tQ/qW8xItV6SLQeE+JuvWcSzr0yEKgkZOReL/JeMAiAbmWeZ+j0EJA6dcVDP13DL8FdLAh42GwEC75xzOwAgNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxLgsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNxBAAgNb7+ajbXlhZsi6vj5FZZpVBhfosR4YOiy6D0vJHAet8jCKV\r\nzvCNPaJ0Gfp5ahQ304KMPNaCOngtbQQwaMwf0VgfIgr1vVXty5db5V9VI4CA\r\nSRseX2ih4FVZqMFro4uO6gQb3S2gvJVNBPncjLorNhWjO7bT4nAA/Wmfred0\r\nTbN9Xev5Qz6ykSj8tsCGU/hCybAOIssJpX4+XDG/cBf2Be51BMB9aEUzgh9X\r\nBGjKl/OTMx0kZyeyxQ7SNo30W3IaXbPttL7dn6MkqMGwiotMhJWY/1gO3NTB\r\nqCJRSxFZC1BuFxbiCQlSIKnFjet3U4SLGSJhB6nmovC4sZfjvXHVYFLAmXWt\r\nkw/djoYxASbkilAqZ9glbjEsYdrfd4XseP+OGmdjFPvMsqaGFJCSiITTu5c5\r\naF4+5X9lF8k7ZLAIiO5jXT5vRUc+ihZxbk+tmWwG69kqEa7Hzlgwn+Hjb0A7\r\n+BX0yIN32/94IrSUdovQ/NsBJtNpk5G97OvvvM4ij+FO0uKs4VwPzlGV4lBY\r\nrLSFxcuUn3Elks+RgylxZp6XJj7bWwcgkP01PJB+ml74vQh5jYS4Jc2rUyrX\r\nd4ADHnaUgyrjo4UB0vGtVDg1JAXuYfhETPAr+JTYSNQgShji8ge7QeibWFG8\r\nEpvzqlhaOGcWZbxRuURehV8YdbT0W7erw2o=\r\n=+l85\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"c62f105d7aa0778219d0083576c57fcb9ded633a","scripts":{"deploy":"npm publish"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"8.19.2","description":"Some Node.js util functions","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/util-node-js_1.5.2_1673836587902_0.08549125977207495","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"@alttiri/util-node-js","version":"1.6.0","keywords":["color"],"license":"MIT","_id":"@alttiri/util-node-js@1.6.0","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"96b9d24df620089223b1400b873412ab55eb1efc","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-1.6.0.tgz","fileCount":10,"integrity":"sha512-mZ04TaAMl6YAgx2B8P+S2IpPfcC22c1E3mQEi/zx/ZvKovCayVioVr41HsV8/AswWjWdbb143+6LTMJaUKKbYw==","signatures":[{"sig":"MEQCID1bPfTR6hFQ14mRG0w1xVe3iiJcu77XNSe65tGiEWnFAiBOZsOJgmU8/Qw1xHtAH0W7ini0hTSfSYaewF89Mcs52A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxZxHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpopxAAmfL+0a8sy7pcB0XR8/GK7a45paN5oFYtdt5VwjoY37Xp53dv\r\nuJsSNtGlm79qis55yfzXZeGt9L56vq8xy8ck9ApfpFfAMoMfBkQCgwN2tnse\r\n+1ja+xAMLfQS3RHy3MAETwK7KCXVeAgrnEOpnhRpD0LbCj8KlDmlQ9zdHngW\r\nimLhHSFWpuKK2dOJbAkj8R+R58h9Z3YR73xeGINgCCmqA+Np62goEgP89VYf\r\nWkwsiKlPS7ykO6mt/VBJeJbPkisbMEmI/z+ebaAcLpnC/plgqnUmEvPbWgBO\r\nYZsQr5YtL7GiI5m7ry56iPgBqXtzPMy6CZTgvXNMCkKgryI8zBjCpPTXEQs8\r\n9yFzXIFzcjMFAisxxwPQ0z1xP1DBWdpYD2bPMo9ixWqJZuAo9mLbrNoTQadQ\r\nEZIXbHh9WBBJfu5RBfk4Ej59vBYtUpTXLxn8hcDRL0Wy/HySCvuLJ6gbKG/o\r\nZ47pMcRoLdOt9g8fp63kWzR8LTBiY0qUBA+5BNuO8rJpk5sTIGGDNozR6ZL7\r\ndMMFDGrLX1opaPL15kr87f1jvTjUchljbS7VTwuEDSKOVVvGFHBEAGR1r+1t\r\nl9JcB1TrJ+piZ1mA69cHgTrQhv04kh6F2Ktn+abkighvtzEF76OMuJaHAn2l\r\niKVVsbLvETsQfpZd2CFtdYCVXgNB8SKoakA=\r\n=Y+Gz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"adfe07fe69844015bf5b5b3dcf6a87cb8affdc10","scripts":{"#":"","##":"","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"8.19.2","description":"Some Node.js util functions","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/util-node-js_1.6.0_1673894983222_0.22688401550649084","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@alttiri/util-node-js","version":"2.0.0","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.0","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"a15ba3b00990153fbb9b4651ce1d73f96201c5a4","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.0.tgz","fileCount":36,"integrity":"sha512-+qjKWttgp3qHiiaqiIZcxAq3VFND6HJ+CudgWrWLsdI42inVGkhp66QIcJWYy4nHvX8MGyz2dEXJJTcCuRWJaQ==","signatures":[{"sig":"MEUCIEuP1Mfo0iqp92lrs8+eQ7njeN7jCbUrb3BNitNDkeTwAiEA4S0yp2KlKwHS0VxJWXt6ztgrnWBZ0RbWSMiOzrt5uco=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47946},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"086500d017005bc07e01eda7f2f4f7725c2f4342","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.5.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.16.0","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.1.6","@types/node":"18.16.18"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.0_1688225142443_0.7237550949536979","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@alttiri/util-node-js","version":"2.0.1","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.1","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"26af6edb43ac0801b1622f0063feaf2475cb5c53","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.1.tgz","fileCount":25,"integrity":"sha512-N2S5HnxXo4PDsShVVLdCDqI90ZOut9ce9dDfK3vZrfHq5P/e5qFWjeVTL1E/rU6kHYORTFqkt5A1XHJ4Ww+usg==","signatures":[{"sig":"MEUCIQD6Z4WQB1HMONe92SpO82xdrto8+GBHY8JeNE+J46T3jwIgJ26BXfq+BTkC/SVJ84GmiP7B1YfVyUviyd5tlm+2eWQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30210},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"150292d25c6391a3d4335dc870ff8a1aa3801197","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.5.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.16.0","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.1.6","@types/node":"18.16.18"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.1_1688225722300_0.9553118879239078","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@alttiri/util-node-js","version":"2.0.2","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.2","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"7b93b37f8ef8c334cfbb2886af4346bad3ca93ef","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.2.tgz","fileCount":25,"integrity":"sha512-55iqDSL1ddyRjXByDGv7MXDNspOaSyhLwK2a0Uc/CcLKexK3R5C93C3LuvPnVWQEWTKVW0nE65hAqXlZkbZd3Q==","signatures":[{"sig":"MEQCIAFFzK7RdkHU0avzOwPnb+L7M2iDt7JAoTJzLnF3BnwWAiAMdhxtYWWb1nWJJQFd1+u8W27T9NCcZbd4eYXjgPICLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30726},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"486c098c714aaaeb95135f3e9aafcda0d4e6c1cb","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.8.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.18.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.1.6","@types/node":"18.16.18"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.2_1698137966237_0.43071020750354827","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@alttiri/util-node-js","version":"2.0.4","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.4","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"c81865fea93e9c47a13496224f0daf8a08c14065","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.4.tgz","fileCount":25,"integrity":"sha512-sfnUFuYHI7rkJ+PcA9rlna0CiM4ZIluGr2/AlZ1+DpRj4dVMwW2OzIz85nHU1Tv76/GUmgipzQhk1ZkQMZHHKw==","signatures":[{"sig":"MEUCIQCCGqreO4MZcnwIrMzZRnQP/uRcNs/ijctCQf0RjtYJwwIgMAW+OA54Rg94SlOVJnuLD+X6PlhmWG3SfarNbtNvjPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30758},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"ff679676050fa1d54d311331ecb264333ac61a60","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.8.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.18.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.2.2","@types/node":"18.18.6"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.4_1698209921956_0.16810001857357415","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"@alttiri/util-node-js","version":"2.0.5","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.5","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"13330d95b4373e38573edaf36d49f55a3009462e","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.5.tgz","fileCount":25,"integrity":"sha512-ArSBXPDzA5nXWVdfFajOURKIqN+WBEhRd+QXdFrf6Jm+ERfcYy+HdsOBjeMNhZ22MfQ2K8srwp/WwOwKl+IZcA==","signatures":[{"sig":"MEYCIQCNHL6cEbByGXRRX3mbPIt5sv7eapNrJT0BlkRw+yyipwIhAM4tnb48Hh3PfHO9Cs50EasU39o8iC1Gk1EHx66yP8X0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30772},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"928a1999f5f04876044b71f77a9d4f0eacdaf4aa","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.8.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.18.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.2.2","@types/node":"18.18.6"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.5_1698214941784_0.05097917674899288","host":"s3://npm-registry-packages"}},"2.0.6":{"name":"@alttiri/util-node-js","version":"2.0.6","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.6","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"41ad1dbb3b0c4cd7a32acb8b95bdced98a9b91cf","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.6.tgz","fileCount":25,"integrity":"sha512-vv5I45eVwLeEAmzhZneclk0x6SJLD1dCoccDBwpMGV/TMCbdzEla2D32TEo7IgiUqJNMpxyuUEe4CFm98kGH2g==","signatures":[{"sig":"MEUCICdnLgjKZRpLfE1S8brqGUtETkGB/84aZdB0dCJ5/C8QAiEAvzwUkE5jKwFLD5YTlxxlNwRJjK8HZ566ayKhh8p5QlU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30945},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"07028d929664532346ae79daa3f5f0691f9f10fb","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.8.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.18.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.2.2","@types/node":"18.18.6"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.6_1698218420153_0.6162389234339174","host":"s3://npm-registry-packages"}},"2.0.7":{"name":"@alttiri/util-node-js","version":"2.0.7","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.7","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"36dd56d6ca3a56c66a21e32929917ce9d32d74e9","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.7.tgz","fileCount":25,"integrity":"sha512-w0qi0xki0pGvK1s/cMFNGcg0hbE5DhSssIRn6uyb7UBjNp9rnqHIp5GCSXhkA1DDNVj8MRNA0DdMzGFlfpMTSw==","signatures":[{"sig":"MEYCIQCQYBe+2xXfeAAiDr+X0himtetb1RIf3110zQZAjEZ3tAIhAJutWBDzlufuPRikclbDKDAUFqmZLB29c2LOw1ai4Ixk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31124},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"878e88b1d0aea7a5730212e4501318bec3a62564","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.8.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.18.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.2.2","@types/node":"18.18.6"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.7_1699357620970_0.37723313860848506","host":"s3://npm-registry-packages"}},"2.0.8":{"name":"@alttiri/util-node-js","version":"2.0.8","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.8","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"4316deafcdd8f335c9b8180c7a2ecf9023b708b6","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.8.tgz","fileCount":25,"integrity":"sha512-hHO+P8nZUTFdmLyunln1VcDzHXmYA0ArCzMzRCxGJ4+ZS2XKJe/xGHSClB8vfV+ZGcN+q3C1FbjQhEHf2ZmTow==","signatures":[{"sig":"MEUCIQDsjnsrJYh4W/y+b6JCogB/YOMUEHE50LgPg9tOAX23VwIgX86KU+lS2ssqcNau8z8Kd7NzH7KIPrn18QeRWUn+SVQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31182},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"d962a0870c2632c5749c09896166d77015b4a31d","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.8.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.18.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.2.2","@types/node":"18.18.6"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.8_1699460325165_0.047471316282555076","host":"s3://npm-registry-packages"}},"2.0.9":{"name":"@alttiri/util-node-js","version":"2.0.9","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.9","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"e675a8f85d52e91cfbd6e5dde2da818fbead2f56","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.9.tgz","fileCount":25,"integrity":"sha512-v5kZtla7G2CDDT9Xa9ZgXOmK2wcj/fIl5WBqapW177jcGSJtCcrchzoa4eQqLCR+eMgomXVPGgrWi42B1ql/5A==","signatures":[{"sig":"MEUCIQD8e7p/pXSWscqgeNYCyEHrVazm9GdvSiQKJ4r4BVKlaQIgRgfeRMtR7v3kxcWssliCg6dGQ+lqOFK8xb3vAOW3eIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32945},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"9555ca2bc90d9005e706a61340b4f6a2ca609e1c","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"9.8.1","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"18.18.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.2.2","@types/node":"18.18.6"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.9_1707596141208_0.2839564621889705","host":"s3://npm-registry-packages"}},"2.0.10-20240530":{"name":"@alttiri/util-node-js","version":"2.0.10-20240530","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.10-20240530","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"0f97a77665910b2bbb9c604b8fb99f2dc78a7128","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.10-20240530.tgz","fileCount":25,"integrity":"sha512-0+7GlQYNybSdqZF2To0maTMYDGbe4RRKjjYzSq+wm4EXj/T0hZCfyQAFg09SRThD+21ld9b1Ej4GWUaYV5krIA==","signatures":[{"sig":"MEYCIQCWukC/0RF9Ga2Ht6cMeGqgoPEZixKNYqclwjUrJpg2qAIhAO4DArHGED1eGkfXiBAHbEa+C1+GEopfdkmFYm7Eeumu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32995},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"e66701932a59c5a518b924206e58436a580ca5b5","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.5.2","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@alttiri/util-js":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.2.2","@types/node":"18.18.6"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.10-20240530_1717096207464_0.30498038172983","host":"s3://npm-registry-packages"}},"2.0.12-20240531":{"name":"@alttiri/util-node-js","version":"2.0.12-20240531","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.12-20240531","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"31cbbc1bfbb30b4a2fed91d0ee20a5ce747d5971","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.12-20240531.tgz","fileCount":25,"integrity":"sha512-9+YH63xDCGrgeuMjw5h2s/DNhR5031C1rb9uRXN5JOQ5wMjmmPCflwvys5yI6SueBgvVfaS0Thk0tCrqTBq3JQ==","signatures":[{"sig":"MEUCIQCi6CynH6KepTwte/aG3UP/jOOAmz95XVwycSlnxIMhogIgeR6G185Bf5M9nCVkarlEz6icK3E8voWaTx8uLqvVmrs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32979},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"f41469a30f36dcc1441cd6fcfc599855885067a1","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.5.2","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@alttiri/util-js":"1.10.1-20240531"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.5","@types/node":"20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.12-20240531_1717115165528_0.051885651870338334","host":"s3://npm-registry-packages"}},"2.0.13-20240531":{"name":"@alttiri/util-node-js","version":"2.0.13-20240531","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.13-20240531","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"75f17c4aaf579463c8ea72512dec56ecf0a08a09","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.13-20240531.tgz","fileCount":25,"integrity":"sha512-kF/yv0Pjt+aYMjpOe8dJ5XmVMAqSh8rUKGnSxTMabMFFqDEYY5eI8aUDSrm8wn7MhL1vMOdb42UG9yyjKt3GBQ==","signatures":[{"sig":"MEQCIA1F5BMMeslLTGYo3xuz4JuYk3g8YM3+0LAMr0NgN0uDAiAnYAFs2F3S/sd3cPK/o+Y+A6aF7KNtSfKBBjMhROnqxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33006},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"1068dede8303544a73d9344e7d128d23729f470c","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.5.2","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@alttiri/util-js":"1.10.1-20240531"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.4.5","@types/node":"20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.13-20240531_1717115670493_0.7335263383196988","host":"s3://npm-registry-packages"}},"2.0.15-20240606":{"name":"@alttiri/util-node-js","version":"2.0.15-20240606","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.15-20240606","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"c1e1d925be767d1e2dafdd1733bb27f05ecf094f","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.15-20240606.tgz","fileCount":25,"integrity":"sha512-OjYjdeE1vbmHqJIB3o+ojWE/q4F66RoW8cHKZhLKc7a0zyovJ5y5FCkLQ9XyyWgQAELb7Rx8lci7c7eBxjqgbA==","signatures":[{"sig":"MEUCIDQ3IjYJzwoiZJ2/uMcajW1vEZdzUbMjjtFlDuCew7FUAiEAhkWLk1i1ZfmBZNET0tkbOi/y6Si9Q4VCjlH3iwBwQeQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32989},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"98db22023f413b9c5f8657b3ffe6512311026793","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.5.2","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@alttiri/util-js":"1.10.1-20240531"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.5.1-rc","@types/node":"20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.15-20240606_1717711657375_0.32419899427711196","host":"s3://npm-registry-packages"}},"2.0.16-20240606":{"name":"@alttiri/util-node-js","version":"2.0.16-20240606","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.0.16-20240606","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"232433ae8e28bcb6192aab0fdeb0267acaac680d","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.0.16-20240606.tgz","fileCount":25,"integrity":"sha512-J9EKkhtxFHBlsUeGB1cRhQi8oqUxGraQiNZ/fs7OnV3Ztb45d6VP0+asKtPN5XcD2ZwqQd0WhK39GGWt2oG1rA==","signatures":[{"sig":"MEUCIAfqVjyVsVOZkAXAWl3YtGIVTSnhqQLlo2bmDSCQmXCzAiEAy4hNgpt4+/BgUGJS+FnKDnzKF5MdQwzrjDdyMDc3kLE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32989},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"4d31847d26046cbc382467fa2bbeff6d6c854ec3","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.5.2","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@alttiri/util-js":"1.10.2-20240603"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.5.1-rc","@types/node":"20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.0.16-20240606_1717711940033_0.5383340501070273","host":"s3://npm-registry-packages"}},"2.1.0-20240624":{"name":"@alttiri/util-node-js","version":"2.1.0-20240624","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.1.0-20240624","homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"e6f21432f7fa632fac22ca440ea1effa66b0c01c","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.1.0-20240624.tgz","fileCount":25,"integrity":"sha512-g1noS1GcbZMHBcEnbFJYqJIQZQIPs5u6JGNo1jMpdZuMmMjn7cLIy1ZaM0ieDXinTq3p2DQy+KLxL6YVcLwe6A==","signatures":[{"sig":"MEQCIA1Spzxn42ke4kTke7B1uutb+1e8VyPMH0LO6iaFBPlDAiBTT/ftXJ2vOaOo8G5tcVXzm/QMXKYAX0cOL5z95+oQ2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32739},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"11bd9d86b2d57bf309269ef5fed3422945bcfcd3","scripts":{"-":"","--":"","---":"","clean":"tsc --build --clean","compile":"tsc --build","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","publish-ghp":"npm publish --registry=https://npm.pkg.github.com","publish-npm":"npm publish --registry=https://registry.npmjs.org","compile-watch":"tsc --build --watch","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.5.2","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@alttiri/util-js":"1.10.2-20240603"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.5.2","@types/node":"20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.1.0-20240624_1719260566045_0.2829333853510554","host":"s3://npm-registry-packages"}},"2.1.1-20240725":{"name":"@alttiri/util-node-js","version":"2.1.1-20240725","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.1.1-20240725","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"b631ec93ec0730cf5b3e627ba3aacb32967d59b1","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.1.1-20240725.tgz","fileCount":25,"integrity":"sha512-Aim3bO+/dPEJMsnSC9spvbdw/4unQ1a1IX96kS1hPlktGaK5zXmlKcjKYnwZJV1w5TFumsa0P2Vn1aJIghS9tg==","signatures":[{"sig":"MEUCIQD8yHzIVXMTcieY3QnI5YcPpRPyip1NXeRoeiKfU0xB3AIgOTA+QRiQjtL1tOtDGlYamnseNmYcdpWuMVkZrwO1ZuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32942},"main":"./index.js","type":"module","types":"./index.d.ts","gitHead":"ea19572a7b0b4daa1bf960dfbdcc36ba01b7c384","scripts":{"-":"","--":"","---":"","clean-ts":"tsc --build --clean","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","compile-ts":"tsc --build","publish-ghp":"tsc --build && npm publish --registry=https://npm.pkg.github.com","publish-npm":"tsc --build && npm publish --registry=https://registry.npmjs.org","test-publish":"tsc --build && npm pack","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org","compile-ts-watch":"tsc --build --watch"},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.15.1","dependencies":{"@alttiri/util-js":"1.13.1-20240725"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.5.2","@types/node":"20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.1.1-20240725_1721898822877_0.38219740410031844","host":"s3://npm-registry-packages"}},"2.1.3-20240728":{"name":"@alttiri/util-node-js","version":"2.1.3-20240728","keywords":["color","readdir","tester"],"license":"MIT","_id":"@alttiri/util-node-js@2.1.3-20240728","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"homepage":"https://github.com/alttiri/util-node-js","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"dist":{"shasum":"273d8b05810a91df0e1eab34bb4599eaa2d7173b","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.1.3-20240728.tgz","fileCount":25,"integrity":"sha512-x23vph0wV/KXq7Ls+NLDWvbf55dQE5mH247Sa994U6NA/QR/sVRQ9MSt/9rcG34mxh5etLEzfvi++mLeK5TL3A==","signatures":[{"sig":"MEUCIQDdl/MxIqzO7Mdrllq7RBYNYjzxdzcO66WgCu2FUumhmgIgCuSz0JbqzqVvfjMj2NfFSaLBzBRQK2+DAFxnd98aIg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33230},"main":"./index.js","type":"module","gitHead":"c43f97ae9c6d42e74b9195c2db99d4d963fecd10","scripts":{"-":"","--":"","---":"","clean-ts":"tsc --build --clean","login-ghp":"npm login --registry=https://npm.pkg.github.com","login-npm":"npm login --registry=https://registry.npmjs.org","compile-ts":"tsc --build","publish-ghp":"tsc --build && npm publish --registry=https://npm.pkg.github.com","publish-npm":"tsc --build && npm publish --registry=https://registry.npmjs.org","test-publish":"tsc --build && npm pack","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org","compile-ts-watch":"tsc --build --watch"},"typings":"index.d.ts","_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"repository":{"url":"git+https://github.com/alttiri/util-node-js.git","type":"git"},"_npmVersion":"10.7.0","description":"Some Node.js util functions for personal use","directories":{},"_nodeVersion":"20.15.1","dependencies":{"@alttiri/util-js":"1.13.1-20240725"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.5.4","@types/node":"20.12.12"},"_npmOperationalInternal":{"tmp":"tmp/util-node-js_2.1.3-20240728_1722150343332_0.27299800739857494","host":"s3://npm-registry-packages"}},"2.2.0-20240821":{"name":"@alttiri/util-node-js","version":"2.2.0-20240821","description":"Some Node.js util functions for personal use","keywords":["color","readdir","tester"],"homepage":"https://github.com/alttiri/util-node-js","license":"MIT","type":"module","main":"./index.js","typings":"index.d.ts","repository":{"type":"git","url":"git+https://github.com/alttiri/util-node-js.git"},"publishConfig":{"access":"public"},"scripts":{"compile-ts":"tsc --build","compile-ts-watch":"tsc --build --watch","clean-ts":"tsc --build --clean","-":"","test-publish":"tsc --build && npm pack","publish-npm":"tsc --build && npm publish --registry=https://registry.npmjs.org","publish-ghp":"tsc --build && npm publish --registry=https://npm.pkg.github.com","--":"","unpublish-npm":"npm unpublish @alttiri/util-node-js@1.2.3 --registry=https://registry.npmjs.org","---":"","login-npm":"npm login --registry=https://registry.npmjs.org","login-ghp":"npm login --registry=https://npm.pkg.github.com"},"dependencies":{"@alttiri/util-js":"1.13.1-20240725"},"devDependencies":{"@types/node":"20.12.12","typescript":"5.5.4"},"_id":"@alttiri/util-node-js@2.2.0-20240821","gitHead":"7758f0cdbc3bf7816309a23897833273df10a6ec","bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-bk/OCrmamr1S0sxecdzPESxSGSeOfeKodGUjYy9DO7qfDVa9eGKl8e7jgymvd8hZkoXvbVfa1kXOZwb4vuDHHQ==","shasum":"08261b5727fa94837b05e64b3136120ba5f7a699","tarball":"https://registry.npmjs.org/@alttiri/util-node-js/-/util-node-js-2.2.0-20240821.tgz","fileCount":25,"unpackedSize":43544,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3h//o8iy2JeBzJos1LotKnkQXas8LqduFZiJuqdRotgIhAJHzbzCm8jfzQ8xAzDULKnAB+pcpk7XWvYuLy7BUW4uz"}]},"_npmUser":{"name":"alttiri","email":"AlttiRi@pm.me"},"directories":{},"maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/util-node-js_2.2.0-20240821_1724249413682_0.8707634545337486"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-16T02:36:27.800Z","modified":"2024-08-21T14:10:14.016Z","1.5.2":"2023-01-16T02:36:28.047Z","1.5.3":"2023-01-16T02:44:04.990Z","1.5.7":"2023-01-16T16:40:51.977Z","1.5.8":"2023-01-16T18:11:07.027Z","1.5.9":"2023-01-16T18:24:08.514Z","1.6.0":"2023-01-16T18:49:43.392Z","2.0.0":"2023-07-01T15:25:42.712Z","2.0.1":"2023-07-01T15:35:22.509Z","2.0.2":"2023-10-24T08:59:26.439Z","2.0.4":"2023-10-25T04:58:42.213Z","2.0.5":"2023-10-25T06:22:22.076Z","2.0.6":"2023-10-25T07:20:20.459Z","2.0.7":"2023-11-07T11:47:01.150Z","2.0.8":"2023-11-08T16:18:45.378Z","2.0.9":"2024-02-10T20:15:41.371Z","2.0.10-20240530":"2024-05-30T19:10:07.690Z","2.0.12-20240531":"2024-05-31T00:26:05.680Z","2.0.13-20240531":"2024-05-31T00:34:30.678Z","2.0.15-20240606":"2024-06-06T22:07:37.644Z","2.0.16-20240606":"2024-06-06T22:12:20.230Z","2.1.0-20240624":"2024-06-24T20:22:46.196Z","2.1.1-20240725":"2024-07-25T09:13:43.029Z","2.1.3-20240728":"2024-07-28T07:05:43.472Z","2.2.0-20240821":"2024-08-21T14:10:13.839Z"},"bugs":{"url":"https://github.com/alttiri/util-node-js/issues"},"license":"MIT","homepage":"https://github.com/alttiri/util-node-js","keywords":["color","readdir","tester"],"repository":{"type":"git","url":"git+https://github.com/alttiri/util-node-js.git"},"description":"Some Node.js util functions for personal use","maintainers":[{"name":"alttiri","email":"AlttiRi@pm.me"}],"readme":"# util-node-js\r\n\r\nSome Node.js util functions. \r\n\r\nMostly it's a draft version for personal use.\r\n\r\n## *.d.ts\r\n\r\n```ts\r\ntype ANSIColor = \"black\" | \"red\" | \"green\" | \"yellow\" | \"blue\" | \"magenta\" | \"cyan\" | \"white\";\r\ntype ColoringFunc = (text: any) => string;\r\n/**\r\n * [ANSI_escape_code#SGR]{@link https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters}\r\n * \\```\r\n * \"32\" - Green [ANSI]\r\n * \"36\" - Cyan  [ANSI]\r\n * \"38;5;208\" - Orange #ff8700 [8-bit]\r\n * \"38;5;99\"  - Violet #875fff [8-bit]\r\n * \"38;2;173;255;47\" - Green-Yellow #adff2f [24-bit]\r\n * \\```\r\n * @example\r\n * const COL_VIOLET_DARK = getColoring(\"38;5;92\");\r\n * console.log(COL_VIOLET_DARK(\"This text is 8-bit dark violet\"));\r\n *\r\n * @param {string} mode\r\n * @return {ColoringFunc}\r\n */\r\nexport declare function getColoring(mode: string): ColoringFunc;\r\nexport type AnsiColoringOpts = {\r\n    bright?: boolean;\r\n    bold?: boolean;\r\n};\r\n/**\r\n * @example\r\n * const ANSI_RED_BOLD = getAnsiColoring(\"RED\", {bold: true});\r\n * console.log(ANSI_RED_BOLD(\"This text is bold red\"));\r\n * @param {ANSIColor?} color = \"white\"\r\n * @param {AnsiColoringOpts?} opts\r\n * @param {boolean?} opts.bright = false\r\n * @param {boolean?} opts.bold   = false\r\n * @return {ColoringFunc}\r\n */\r\nexport declare function getAnsiColoring(color?: ANSIColor, opts?: AnsiColoringOpts): ColoringFunc;\r\n\r\nexport declare const ANSI_BLUE: (text: any) => string;\r\nexport declare const ANSI_CYAN: (text: any) => string;\r\nexport declare const ANSI_GREEN: (text: any) => string;\r\nexport declare const ANSI_GRAY: (text: any) => string;\r\nexport declare const ANSI_GREEN_BOLD: (text: any) => string;\r\nexport declare const ANSI_RED_BOLD: (text: any) => string;\r\nexport declare const COL_ORANGE: (text: any) => string;\r\nexport declare const COL_VIOLET: (text: any) => string;\r\nexport declare const COL_GRAY: (text: any) => string;\r\n\r\nexport declare const saveCursorPosition: () => boolean;\r\nexport declare const restoreCursorPosition: () => boolean;\r\nexport declare const eraseCursorLine: () => boolean;\r\nexport declare const moveCursorToTop: (num?: number) => boolean;\r\nexport declare function stdWrite(text: string): Promise<void>;\r\n\r\nexport declare function exists(path: string, followSymbol?: boolean): Promise<boolean>;\r\n/** Is the passed symlink looped — if referrers to a parent directory. */\r\nexport declare function isSymLooped(filepath: string): Promise<boolean>;\r\ntype FileInfo = {\r\n    path: string;\r\n    stats: Stats;\r\n    link?: LinkInfo;\r\n};\r\ntype LinkInfo = {\r\n    pathTo: string;\r\n    content: string;\r\n};\r\nexport declare function getFileInfo(filepath: string): Promise<FileInfo>;\r\nexport declare function readLink(filepath: string): Promise<{\r\n    pathTo: string;\r\n    content: string;\r\n}>;\r\n\r\nexport type ConstructorOpts = {\r\n    printSuccess?: boolean;\r\n    testOnly?: number[];\r\n    stackDeep?: number;\r\n    autoReport?: boolean;\r\n};\r\nexport type TestOpts = {\r\n    result: any;\r\n    expect: any;\r\n    stackDeep?: number;\r\n    name?: string;\r\n    printLink?: boolean;\r\n    autoReport?: boolean;\r\n    printSuccess?: boolean;\r\n};\r\nexport type TesterMethods = {\r\n    /** @deprecated */\r\n    eq(name: string, result: any, expect: any): void;\r\n    t(opt: TestOpts): void;\r\n    report(): void;\r\n};\r\nexport declare class Tester {\r\n    private readonly passed;\r\n    private readonly failed;\r\n    private readonly printSuccess;\r\n    private num;\r\n    private readonly testOnly;\r\n    private readonly stackDeep;\r\n    private timerId;\r\n    private readonly autoReport;\r\n    /** @deprecated */\r\n    eq(name: string, result: any, expect: any): void;\r\n    destructible(): TesterMethods;\r\n    constructor(opt?: ConstructorOpts);\r\n    t(opt: TestOpts): void;\r\n    private delayReport;\r\n    report(): void;\r\n}\r\nexport type LineNumType = {\r\n    relFilePath: string;\r\n    lineNum?: string;\r\n    column?: string;\r\n};\r\n```\r\n\r\n## *.d.ts (fs-list)\r\n\r\n```ts\r\nexport declare function toListEntryDirent(dirEntry: Dirent, settings: FileListingSetting): ListEntryDirent;\r\nexport declare function toListEntryDirentError(error: IOError, listEntry: ListEntryDirent): ListEntryDirentError;\r\nexport declare function toLinkInfo(entry: ListEntryDirent): Promise<ListEntryDirent | ListEntryDirentLink>;\r\nexport declare function toListEntryStatsError(entry: ListEntryBaseEx, err: IOError): ListEntryStats;\r\nexport declare function direntsToEntries(dirents: Dirent[], settings: FileListingSetting): Promise<(ListEntryDirent | ListEntryDirentLink)[]>;\r\n/** 100 lines of code to handle edge cases to create the root entry */\r\nexport declare function getRootEntry({ filepath, _map, bigint }: FileListingSetting): Promise<ListEntryStatsAny>;\r\n\r\nexport declare function listFiles(initSettings: FileListingSettingInit & {\r\n    stats: false;\r\n}): AsyncGenerator<ListEntryBaseEx>;\r\nexport declare function listFiles(initSettings: FileListingSettingInit & {\r\n    bigint: true;\r\n}): AsyncGenerator<ListEntryStatsBigInt>;\r\n\r\n/**\r\n Returns an object:\r\n\\```ts\r\n{\r\n    path: string,\r\n    dirent: Dirent,\r\n    stats?: Stats | BigIntStats,\r\n    link?: LinkInfo,\r\n    errors?: {\r\n        [name in \"readdir\" | \"stats\" | \"readlink\"]?: IOError\r\n    },\r\n}\r\n\\```\r\nThe return object's keys info:\r\n\\```\r\n- path   — `string`.\r\n    The full path with the filename.\r\n\r\n- dirent — `Dirent`.\r\n     A `Dirent` from `fs.readdir`.\r\n     For the root folder a \"fake\" `Dirent` is used:\r\n        - \"DirentLike\"  — created based on `Stats`\r\n        - \"DirentDummy\" — if there were errors (`errors: {stats, readdir}`)\r\n\r\n- stats? — `Stats | BigIntStats`.\r\n    Optional, exists only when the scan option `stats` is `true`.\r\n    Type depends on `bigint` option.\r\n    Is missed if there is `errors.stats` error.\r\n\r\n- link? — `LinkInfo`.\r\n    Optional, exists only for symlinks.\r\n    `LinkInfo` is an alias for `{\r\n        pathTo: string,\r\n        content: string,\r\n    }`.\r\n    Is missed if there is `errors.readlink` error.\r\n\r\n- errors? — an `object` with `IOError`s.\r\n    Optional, exists only one or more errors occurred.\r\n    Possible errors:\r\n    - \"readdir\"\r\n    - \"stats\"\r\n    - \"readlink\"\r\n\\```\r\n @note `listFiles` does not follow symlinks.\r\n @options\r\n\\```js\r\n - filepath:    string  = process.cwd(), // filepath of a (root) directory to list\r\n - recursively: boolean = true,\r\n - yieldDir:    boolean = false,\r\n - yieldRoot:   boolean = true,         // (is used only if `yieldDir` is `true`)\r\n - depthFirst:  boolean = true,         // travel strategy\r\n - breadthFirstRoot: boolean = false,   // breadth first strategy for the root folder (if `depthFirst` is `true`)\r\n - stats:       boolean = true,\r\n - bigint:      boolean = false,        // (use only if `stats` is `true`)\r\n - parallels:   number  = 4,            // count of `fs.stats` executed in parallel\r\n\\```\r\n */\r\nexport declare function listFiles(initSettings: FileListingSettingInit): AsyncGenerator<ListEntryStats>;\r\n\r\nexport declare function _listFilesWithStat(settings: FileListingSetting, listEntries: ListEntryDirent): AsyncGenerator<ListEntryStatsAny>;\r\nexport type FileListingSettingInit = Partial<FileListingSetting>;\r\n/** An entry of the listing of the content of a directory. */\r\nexport type FileListingSetting = {\r\n    /** filepath of a directory to list */\r\n    filepath: string;\r\n    recursively: boolean;\r\n    yieldDir: boolean;\r\n    yieldRoot: boolean;\r\n    /** travel strategy */\r\n    depthFirst: boolean;\r\n    /** breadth first strategy for the root folder (if `depthFirst` is `true`) */\r\n    breadthFirstRoot: boolean;\r\n    stats: boolean;\r\n    bigint: boolean;\r\n    /** The count of `fs.stats` executed in parallel */\r\n    parallels: number;\r\n    _currentDeep: number;\r\n    _map: Map<ListEntryDirent, Dirent[]>;\r\n};\r\nexport declare function getDefaultSettings(): FileListingSetting;\r\n```\r\n\r\n## *.d.ts (fs-list types)\r\n\r\n```ts\r\n/**\r\n * The error object that happens while scanning.\r\n * @example\r\n * [Error: EPERM: operation not permitted, scandir \"C:\\\\$Recycle.Bin\\\\S-1-5-18\"] {\r\n *   errno: -4048,\r\n *   code: \"EPERM\",\r\n *   syscall: \"scandir\",\r\n *   path: \"C:\\\\$Recycle.Bin\\\\S-1-5-18\"\r\n * }\r\n * [Error: EACCES: permission denied, scandir '/boot/efi'] {\r\n *   errno: -13,\r\n *   code: 'EACCES',\r\n *   syscall: 'scandir',\r\n *   path: '/boot/efi'\r\n * }\r\n * // [note] It is missed for \"read\" (`createReadStream`) of a folder.\r\n * [Error: EISDIR: illegal operation on a directory, read] {\r\n *   errno: -4068,\r\n *   code: 'EISDIR',\r\n *   syscall: 'read'\r\n * }\r\n */\r\nexport interface IOError extends Error {\r\n    syscall: string;\r\n    code: string;\r\n    errno: number;\r\n    path: string;\r\n}\r\nimport { Dirent, BigIntStats, Stats } from \"node:fs\";\r\nimport { IOError } from \"./IOError.js\";\r\n/**\r\n * The simplified type example:\r\n * @example\r\n * type ListEntrySimplifiedFullType = {\r\n *     path: string,\r\n *     dirent: Dirent,\r\n *     stats?: Stats | BigIntStats,\r\n *     link?: LinkInfo,\r\n *     errors?: {\r\n *         [name in \"readdir\" | \"stats\" | \"readlink\"]?: IOError\r\n *     },\r\n * };\r\n */\r\nexport type ListEntryBase = ListEntryDirent | ListEntryDirentError;\r\nexport type ListEntryDirent = {\r\n    path: string;\r\n    dirent: Dirent;\r\n};\r\nexport type ListEntryDirentError = {\r\n    path: string;\r\n    dirent: Dirent;\r\n    errors: DirError;\r\n};\r\nexport type DirError = {\r\n    readdir: IOError;\r\n};\r\nexport type StatError = {\r\n    stats: IOError;\r\n};\r\nexport type LinkError = {\r\n    readlink: IOError;\r\n};\r\nexport type LinkInfo = {\r\n    pathTo: string;\r\n    content: string;\r\n};\r\nexport type LinkEntry = {\r\n    link: LinkInfo;\r\n};\r\nexport type LinkEntryError = {\r\n    errors: LinkError;\r\n};\r\nexport type LinkEntryBase = LinkEntry | LinkEntryError;\r\nexport type ListEntryDirentLink = ListEntryDirent & LinkEntryBase;\r\nexport type ListEntryBaseEx = ListEntryBase | ListEntryDirentLink;\r\nexport type StatEntry = {\r\n    stats: Stats;\r\n};\r\nexport type StatEntryBigInt = {\r\n    stats: BigIntStats;\r\n};\r\nexport type StatEntryAny = {\r\n    stats: Stats | BigIntStats;\r\n};\r\nexport type StatEntryError = {\r\n    errors: StatError;\r\n};\r\nexport type StatEntryBase = StatEntry | StatEntryError;\r\nexport type StatEntryBaseBigInt = StatEntryBigInt | StatEntryError;\r\nexport type StatEntryBaseAny = StatEntryAny | StatEntryError;\r\nexport type ListEntryStats = StatEntryBase & ListEntryBaseEx;\r\nexport type ListEntryStatsBigInt = StatEntryBaseBigInt & ListEntryBaseEx;\r\nexport type ListEntryStatsAny = StatEntryBaseAny & ListEntryBaseEx;\r\n```\r\n\r\n## Installation\r\n\r\n### From NPM\r\n\r\n```bash\r\nnpm install @alttiri/util-node-js\r\n```\r\n\r\n<details>\r\n\r\n<summary>From GitHub Packages</summary>\r\n\r\n\r\n### From GitHub Packages:\r\nTo install you need first to create `.npmrc` file with `@alttiri:registry=https://npm.pkg.github.com` content:\r\n```bash\r\necho @alttiri:registry=https://npm.pkg.github.com >> .npmrc\r\n```\r\n\r\nonly then run\r\n\r\n```bash\r\nnpm install @alttiri/util-node-js\r\n```\r\nNote, that GitHub Packages requires to have also `~/.npmrc` file (`.npmrc` in your home dir) with `//npm.pkg.github.com/:_authToken=TOKEN` content, where `TOKEN` is a token with the `read:packages` permission, take it here https://github.com/settings/tokens/new. \r\n\r\n</details>\r\n","readmeFilename":"README.md"}