{"_id":"@lincy/utils","_rev":"26-8f92d7662fecdb02ef7f6e06f81801f2","name":"@lincy/utils","dist-tags":{"latest":"0.7.3"},"versions":{"0.3.0":{"name":"@lincy/utils","version":"0.3.0","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.3.0","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"b3998d23089b2762545cbff0caec08a5a7cd86e1","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.3.0.tgz","fileCount":6,"integrity":"sha512-2+0av97yLKAamkKyX1iyl/Ev/c9j7pwA2AgkRYeIt7v0HoUqegqO3HhCI5DLXWS+KujhBSQ4tPrDWXIAgo8bFA==","signatures":[{"sig":"MEYCIQCBHJCYRmB/KF2+ZE85GaBggJp1Ny/EE/HsWx4YKvRemQIhAJIWnNrOQHmKwvFNKygiomr/l7lXUf87YQqEANOASIeh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPtCFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGMA//QlzZu+ACgUo5E5/7KgECf4hK+PNnJSCqEgBz1z71MgHdKya7\r\ni3OR2FS21LqzO/66j3l3OxRSAUIUurhD9nu/3SXwMhsrrgB+yL7v9ntH14Tn\r\nMYfJBr9TvoFD6uzAukyd6caO3H5PcqBuvtBgAKibMveokd5wdQ3zYBvejuvR\r\nqd4qwiBfLYLlomeHI5o5FNwhek+An3snhX0uvNKKxVWOZ1AHxOy6RQ9nOEsk\r\nRVxoQZWWiIeSH8CCpwkFSo53bxFhjT57zSCyFtIWeSBYvRYQUyWgwYSR//aS\r\nkXmmjEAWwS/L/JRLErb1+D8WlWIWpmEvdsniA7fj6aMUVg2webExb+yQ8eFO\r\nhnNkvhLkhQpHTXYi66buObomO2GhV8O320hR7aObXSK7NYJZfwY4LFh1V4wU\r\nuv2RsRtGjH40nLUT3jvDZ+6EoHChxjaGZ4YzNru2trdfkQU3fSFKt4luBwDP\r\nwwugHLt7hR/NBNImZzRkKx4Q8uZf8jpe39qgkDVYeg5V6smPPRzXBCzkTLzB\r\nxyVohq2wduDpXATfC13FSQWh/XytfY6M577+FbZ2bPvx0DbU4KM+PWBOWZ66\r\nbAcYhBwZiZw5gM2URWppcSzPMDMbTLA7tBg1NWDy1CJU41sMYMY2pYAK5tLb\r\n5d8WXExKx1iz6j/IWC7kL0UZrzYclKObHls=\r\n=qfy2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"ce77fca279f092143201cefd2da07c871c5cb8f6","scripts":{"dev":"nr build --watch","lint":"eslint . --ext .ts","test":"vitest","build":"rollup -c","start":"esno src/index.ts","release":"bumpp --commit --push --tag && npm publish","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"6.14.16","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"14.19.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.0.1","devDependencies":{"esno":"^0.16.3","vite":"^4.2.2","bumpp":"^9.1.0","eslint":"^8.38.0","rollup":"^3.20.6","vitest":"^0.30.1","p-limit":"^4.0.0","@antfu/ni":"^0.21.3","typescript":"^5.0.4","@types/node":"^18.15.11","rollup-plugin-dts":"^5.3.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.0","@antfu/eslint-config":"^0.38.5","@rollup/plugin-alias":"^5.0.0","rollup-plugin-esbuild":"^5.0.0","@rollup/plugin-commonjs":"^24.1.0","@types/throttle-debounce":"^5.0.0","@rollup/plugin-node-resolve":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.3.0_1681838213649_0.6615508586619241","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@lincy/utils","version":"0.3.1","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.3.1","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"8bc4a3bcba8349825e55d29a6582b94c839bddf4","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.3.1.tgz","fileCount":6,"integrity":"sha512-vGtLoSIaibU4h5Dj+QXLis94aVY+xD163zKSIOtO1xg1VTVYqZa0EtCWc2g3MTP4CXM0dnpPffdb2IJSIk5NTQ==","signatures":[{"sig":"MEUCIQCrUil1vyLn75n00NpiyJivmKpNI+p4OkzcJhdGlXYXSQIgYeYpYHisX3HFiFUaY7D0QunkMKaQST9KCR/Y7Uyr+KU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67150},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"74ebfccbd580ae342f5f1adbf454d4ed34d0e1ed","scripts":{"dev":"nr build --watch","lint":"eslint . --ext .ts","test":"vitest","build":"rollup -c","start":"esno src/index.ts","release":"bumpp --commit --push --tag && npm publish","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"8.19.4","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^0.16.3","vite":"^4.3.9","bumpp":"^9.1.1","eslint":"^8.44.0","rollup":"^3.26.0","vitest":"^0.32.4","p-limit":"^4.0.0","@antfu/ni":"^0.21.4","typescript":"^5.1.6","@types/node":"^20.3.3","rollup-plugin-dts":"^5.3.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.0","@antfu/eslint-config":"^0.39.6","@rollup/plugin-alias":"^5.0.0","rollup-plugin-esbuild":"^5.0.0","@rollup/plugin-commonjs":"^25.0.2","@types/throttle-debounce":"^5.0.0","@rollup/plugin-node-resolve":"^15.1.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.3.1_1688392095224_0.6220272321850553","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@lincy/utils","version":"0.3.2","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.3.2","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"36efc142ea7045abc748fb84725f597a9f3cbc19","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.3.2.tgz","fileCount":6,"integrity":"sha512-5KHtcIkhzewvzohIPGG7k4iehduPNzif4coXXOvbyJK2SWrXoOGJjWIWYyyo6U0nT/zcTaMxp4phMcu5h08BMA==","signatures":[{"sig":"MEUCIA0LJNVWVa9ejyNr6Ndp2/nfcrtmnnY6cwL8pQhmh3/2AiEAuJA/5WoSMl4QoWjDlsHJtGpdrKCld7sXaGTOyZxAe+Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67549},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"8aac60940582e8c6d16da91d597c80778ef2d9d9","scripts":{"dev":"nr build --watch","lint":"eslint . --ext .ts","test":"vitest","build":"rollup -c","start":"esno src/index.ts","release":"bumpp --commit --push --tag && npm publish","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"8.19.4","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^0.16.3","vite":"^4.3.9","bumpp":"^9.1.1","eslint":"^8.44.0","rollup":"^3.26.0","vitest":"^0.32.4","p-limit":"^4.0.0","@antfu/ni":"^0.21.4","typescript":"^5.1.6","@types/node":"^20.3.3","rollup-plugin-dts":"^5.3.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.0","@antfu/eslint-config":"^0.39.6","@rollup/plugin-alias":"^5.0.0","rollup-plugin-esbuild":"^5.0.0","@rollup/plugin-commonjs":"^25.0.2","@types/throttle-debounce":"^5.0.0","@rollup/plugin-node-resolve":"^15.1.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.3.2_1691082089079_0.05382505853266295","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"@lincy/utils","version":"0.3.3","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.3.3","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"cfab25bc1618650b9afa54b13c6a3ff2b40da1ba","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.3.3.tgz","fileCount":6,"integrity":"sha512-huehEehOq+I+QoxwlcNDowMDE0mfVCivUXh8MuSun7fYHX/lZYdLn+korXL7rV5F1HKoOzKuu9u+wPcNIlC1DA==","signatures":[{"sig":"MEUCIQDrtamNKTfwec0KeFFhUpW0YtGT97vpVH7asEtFCgYMEwIgfuyDTH9uHxgCKcEMpjDXgUymJrWRibQyivXhdmqojMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68718},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"7f22a67944ab093746ba3e380f46bc2c39b808d7","scripts":{"dev":"nr build --watch","lint":"eslint . --ext .ts","test":"vitest","build":"rollup -c","start":"esno src/index.ts","release":"bumpp --commit --push --tag && npm publish","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"8.19.4","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^0.16.3","vite":"^4.3.9","bumpp":"^9.1.1","eslint":"^8.44.0","rollup":"^3.26.0","vitest":"^0.32.4","p-limit":"^4.0.0","@antfu/ni":"^0.21.4","typescript":"^5.1.6","@types/node":"^20.3.3","rollup-plugin-dts":"^5.3.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.0","@antfu/eslint-config":"^0.39.6","@rollup/plugin-alias":"^5.0.0","rollup-plugin-esbuild":"^5.0.0","@rollup/plugin-commonjs":"^25.0.2","@types/throttle-debounce":"^5.0.0","@rollup/plugin-node-resolve":"^15.1.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.3.3_1691083374422_0.5833587351036229","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@lincy/utils","version":"0.4.0","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.4.0","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"0a0361a56f682fe543f47e46b1df503ab3d2771d","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.4.0.tgz","fileCount":6,"integrity":"sha512-LNvDvtMdga3E0Fxpn6m2EeUmtKcgs5SfyD55gNGtU9MqqvsM8KIQxJIUMjO+hFRFd6UWHEgXdt1UATCZ9ipe3w==","signatures":[{"sig":"MEYCIQDkMl+EI0JQTFAy0A/wkA4bEMGWuKbO5Wb9Qn4oyB75MAIhAMLe1aSUwaiGFLimH9fxHosa3DgddDf4sJitatRP/ecD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71046},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"44100172d8ae50861d1d7047521bdaf3d75d4f66","scripts":{"dev":"nr build --watch","lint":"eslint . --ext .ts","test":"vitest","build":"rollup -c","start":"esno src/index.ts","release":"bumpp --commit --push --tag && npm publish --access public","typecheck":"tsc --noEmit","postpublish":"open https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"8.19.4","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^0.17.0","vite":"^4.4.9","bumpp":"^9.1.1","eslint":"^8.47.0","rollup":"^3.28.0","vitest":"^0.34.1","p-limit":"^4.0.0","@antfu/ni":"^0.21.5","typescript":"^5.1.6","@types/node":"^20.5.0","rollup-plugin-dts":"^5.3.1","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.0","@lincy/eslint-config":"^2.1.0","@rollup/plugin-alias":"^5.0.0","rollup-plugin-esbuild":"^5.0.0","@rollup/plugin-commonjs":"^25.0.4","@types/throttle-debounce":"^5.0.0","@rollup/plugin-node-resolve":"^15.1.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.4.0_1693677828564_0.003481234421849555","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"@lincy/utils","version":"0.4.1","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.4.1","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"c6fee0c53db5568d072fbb08c83fbc1df64b1d73","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.4.1.tgz","fileCount":6,"integrity":"sha512-qwJOyNBWxCdRSIu5Jm9xrXA3nWEM5o9UgXJQCCkf76WGU52q2ePEwCSLlyryKwGonCbJmQjie8SwW5RZe9ZMPQ==","signatures":[{"sig":"MEQCIHWE8voifhPO8pnSRX+Ov2K1lj2L9jKMYYONgA34VYrmAiAFlSCWDQ+jsX4WtCG1YmyOkLGZKIX+fneQprSh1IE1wA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71034},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"bd6e400b5604cdb0380cebaa99b4cbae9905434b","scripts":{"dev":"nr build --watch","lint":"eslint . --ext .ts","test":"vitest","build":"rollup -c","start":"esno src/index.ts","release":"bumpp --commit --push --tag && npm publish --access public","typecheck":"tsc --noEmit","postpublish":"open https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"8.19.4","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^0.17.0","vite":"^4.4.9","bumpp":"^9.1.1","eslint":"^8.47.0","rollup":"^3.28.0","vitest":"^0.34.1","p-limit":"^4.0.0","@antfu/ni":"^0.21.5","typescript":"^5.1.6","@types/node":"^20.5.0","rollup-plugin-dts":"^5.3.1","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.0","@lincy/eslint-config":"^2.1.0","@rollup/plugin-alias":"^5.0.0","rollup-plugin-esbuild":"^5.0.0","@rollup/plugin-commonjs":"^25.0.4","@types/throttle-debounce":"^5.0.0","@rollup/plugin-node-resolve":"^15.1.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.4.1_1694143404461_0.06853787370297626","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"@lincy/utils","version":"0.4.2","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.4.2","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"6629b013db90392efd5e2f4da7ef0f42ab8231ed","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.4.2.tgz","fileCount":6,"integrity":"sha512-9mGoHRYthzUcpLQaFXww118WTLOtvaVzSNArGHYE0I9Gu5Ayr9doyrj0RfxTDMX5yK03fcYkqQ97z9iDqH49aw==","signatures":[{"sig":"MEUCIG3ttfWFa6Gz81wEVEUeT3ajyBjGcPv++KfojR8SNItZAiEAmLyK/E9ujiRvCNBKph+9pfzlsa0MgFPxK0OZ1iOYSaI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71249},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"d11135f4f8c62061bf07cf92b4e12ed9bb5e4c68","scripts":{"dev":"nr build --watch","lint":"eslint . --ext .ts","test":"vitest","build":"rollup -c","start":"esno src/index.ts","release":"bumpp --commit --push --tag && npm publish --access public","typecheck":"tsc --noEmit","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"8.19.4","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^0.17.0","vite":"^4.4.9","bumpp":"^9.2.0","eslint":"^8.50.0","rollup":"^3.29.4","vitest":"^0.34.5","p-limit":"^4.0.0","@antfu/ni":"^0.21.8","typescript":"^5.2.2","@types/node":"^20.7.1","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.0.2","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.0","@lincy/eslint-config":"^3.3.1","@rollup/plugin-alias":"^5.0.0","rollup-plugin-esbuild":"^6.0.2","@rollup/plugin-commonjs":"^25.0.4","@types/throttle-debounce":"^5.0.0","@rollup/plugin-node-resolve":"^15.2.1"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.4.2_1695893847785_0.43776013479721865","host":"s3://npm-registry-packages"}},"0.4.4":{"name":"@lincy/utils","version":"0.4.4","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.4.4","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"284339641a644f7ac35ae174c490ec0bbfd2cc64","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.4.4.tgz","fileCount":6,"integrity":"sha512-JaMICWwI7MPJUK/73+TtW11Qnv70EeBttfKi8kX9fo75laDia/KNjvn5Ho3aQ/OoydQanXkgEYpv4EJODiwpnw==","signatures":[{"sig":"MEQCIFpo8VhjVwxYG4DgtoT9PbiYRLyqlkudz/vZl+rppSbiAiAZ3oHq5F+6CXrrlx2JQ4gk9hoFN2iof92Fxjk/++ng3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70916},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"54abdf39f89a845452d32a8d3eb92900b60e29bc","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"8.19.4","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.0.0","vite":"^4.5.0","bumpp":"^9.2.0","tslib":"^2.6.2","eslint":"^8.53.0","rollup":"^4.4.0","vitest":"^0.34.6","p-limit":"^5.0.0","@antfu/ni":"^0.21.9","typescript":"^5.2.2","@types/node":"^20.9.0","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.1","@lincy/eslint-config":"^3.6.0","@rollup/plugin-alias":"^5.0.1","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.4.4_1699844240193_0.3070404633589885","host":"s3://npm-registry-packages"}},"0.4.5":{"name":"@lincy/utils","version":"0.4.5","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.4.5","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"ee87ffe1aa8e65d077a1af4c7bc194b5c418e111","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.4.5.tgz","fileCount":8,"integrity":"sha512-dcVr5s4YvXh/QrNNZ7ubp+QqQmEcm25Cr2GcDfzzHV6r82LbjoGqkpjtjK2v85hXbYDzL7T3mkgX7cwGoxOcqA==","signatures":[{"sig":"MEQCIFgXW6fcTJbFUnO30+miJn+YTBt3hJfcF87M1BNcmjtpAiB1aFSl0gxWu6sbCABb4c1M1tzIsXyQ+Rv8KWts309dNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118817},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"5f5f9ef5687e807f3491c9dee3cc944c79dd0d51","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.0.0","vite":"^5.0.7","bumpp":"^9.2.1","tslib":"^2.6.2","eslint":"^8.55.0","rollup":"^4.8.0","vitest":"^1.0.4","p-limit":"^5.0.0","@antfu/ni":"^0.21.12","typescript":"^5.3.3","@types/node":"^20.10.4","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.0.1","@lincy/eslint-config":"^4.2.2","@rollup/plugin-alias":"^5.1.0","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.4.5_1702362139025_0.7378551712813533","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@lincy/utils","version":"0.5.0","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.5.0","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"cb55d74fcb570995283ae48df73aacbb4c2278b2","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.5.0.tgz","fileCount":10,"integrity":"sha512-2p3n6WsI4jrwmKY9+wQSHmzwOmyELQ+Ak5p52T7I4kjw+zoGjd9ourAXQIqFEryjTP7bJbLrpQilcEfH820suA==","signatures":[{"sig":"MEYCIQDuoN301Gx5u4b8mLQVWmsqN1yG90w+84xDSwj0JsZVrAIhAK8rqljDU5J/ci0CwqUNjYiJl4wP3NqMvYLLMoDpsTzo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180114},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"5a41026528b3a018747471d1b3a0aeeb8a9d15f5","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.0.0","vite":"^5.0.10","bumpp":"^9.2.1","tslib":"^2.6.2","eslint":"^8.56.0","rollup":"^4.9.1","vitest":"^1.0.4","p-limit":"^5.0.0","@antfu/ni":"^0.21.12","typescript":"^5.3.3","@types/node":"^20.10.5","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.2.3","@rollup/plugin-alias":"^5.1.0","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.5.0_1702882307934_0.8501482558323443","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@lincy/utils","version":"0.5.1","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.5.1","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"fae905ca286e9ff23fff82055807eeee331e05df","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.5.1.tgz","fileCount":10,"integrity":"sha512-FuLz24CZzqzr4OAyNrac/XRmZQ+DyqxGJKnMM+bVUh53ZmjD5YVKG4xq13tyxTOv+uXMd2Vw7ePUvZwfboAaUw==","signatures":[{"sig":"MEUCIA2cbXdK1C02watn6P0GTf8jmbelfLC+AODRctbg1wyhAiEAr1Au8+PcATiPqFNV8TxzGr9T1eKIvIdpyoCMJNweweE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180945},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"9fceb5b85b57327ad92211680241eeec2556e0c6","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.0.0","vite":"^5.0.11","bumpp":"^9.2.1","tslib":"^2.6.2","eslint":"^8.56.0","rollup":"^4.9.4","vitest":"^1.1.3","p-limit":"^5.0.0","@antfu/ni":"^0.21.12","typescript":"^5.3.3","@types/node":"^20.11.0","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.2.4","@rollup/plugin-alias":"^5.1.0","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.5.1_1705042613969_0.8519654375081755","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"@lincy/utils","version":"0.5.2","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.5.2","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"958cffc7800f91fc19688eaf550df645234555d8","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.5.2.tgz","fileCount":10,"integrity":"sha512-q/PsfNh0Z8FHTrj7zFYg1MTCI/yBXHAgC9gnClZIgXW541BLP6HtLjwuTd80KnDOuUELOGdENwZ4l+0te/8XNw==","signatures":[{"sig":"MEUCIQD7o9KokTj8bY9RtPLuLCeKDJs88zaBZHgEfKPwW+bbGwIgMn5qbaLHlF4H5qsoVrUxWY23+C5GZOgrH/kyRKEzKFM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180975},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"6b441cfb073d95f4663f206fd157e996afb2c3f8","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.0.0","vite":"^5.0.11","bumpp":"^9.2.1","tslib":"^2.6.2","eslint":"^8.56.0","rollup":"^4.9.4","vitest":"^1.1.3","p-limit":"^5.0.0","@antfu/ni":"^0.21.12","typescript":"^5.3.3","@types/node":"^20.11.0","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.2.4","@rollup/plugin-alias":"^5.1.0","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.5.2_1705543852575_0.12432566608492768","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"@lincy/utils","version":"0.5.3","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.5.3","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"56c034a2f8010e541de57f7f6ad9da2e05e57a81","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.5.3.tgz","fileCount":10,"integrity":"sha512-OiHCWwOcz5IYzxRn49j1vDQm966phWBJSTyfdsM2Q+m6yHIDdxuBQu+Iqc/nm/V1a+lbEWEA9bj3rtn0u1wYbQ==","signatures":[{"sig":"MEQCIGEklWdag2BjFUzrjwd3jW47Upp0ca3webcpy7RGrGVTAiA2QI9EUBrIso/hPcYIM9/feJMwyy57ZFLPSdCa6D55dg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180940},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"bcc77f1d740f10a86568d5db2d719e42e2948e13","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.0.0","vite":"^5.0.11","bumpp":"^9.2.1","tslib":"^2.6.2","eslint":"^8.56.0","rollup":"^4.9.4","vitest":"^1.1.3","p-limit":"^5.0.0","@antfu/ni":"^0.21.12","typescript":"^5.3.3","@types/node":"^20.11.0","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.2.4","@rollup/plugin-alias":"^5.1.0","rollup-plugin-esbuild":"^6.1.0","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.5.3_1705543990044_0.7885731268082508","host":"s3://npm-registry-packages"}},"0.5.4":{"name":"@lincy/utils","version":"0.5.4","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.5.4","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"5fbbc1f19b74e471eb2ab479c045d3c4707d9e9f","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.5.4.tgz","fileCount":10,"integrity":"sha512-OMYnxPgpMMRwtMHIvH7ljcWxKGD/xhkDoPccvKRnQvURTGzEO+46e9XkEBMcW7iP625BaGfRFhGgoWA922q4Xw==","signatures":[{"sig":"MEUCIEdmK/gko3DUlfwKQtIzdMSGwyBaIZwpda1RWHerI3KcAiEApHHmjLEH1pYcV4p0HOdsjlpUTj3NEzC5TSg4rtVnOZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184663},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"314de07d218572d78de6e78e410e9f71a634185b","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.0.0","vite":"^5.1.4","bumpp":"^9.3.0","tslib":"^2.6.2","eslint":"^8.56.0","rollup":"^4.12.0","vitest":"^1.3.1","p-limit":"^5.0.0","@antfu/ni":"^0.21.12","typescript":"^5.3.3","@types/node":"^20.11.20","simple-open-url":"^3.0.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.2.5","@rollup/plugin-alias":"^5.1.0","rollup-plugin-esbuild":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.5.4_1708674386909_0.7827261211108378","host":"s3://npm-registry-packages"}},"0.5.5":{"name":"@lincy/utils","version":"0.5.5","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.5.5","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"d6cd2e586ae642784ff69c839d2e6948c75264fd","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.5.5.tgz","fileCount":10,"integrity":"sha512-0hKJ6jgiDg+Tcm1WGRsUK353MMa1BFn+8PthC2TpI2PHnFAhvYSvgsw0tSEjQgInA9JC7NJ5b3GCQuE0ug5ZnA==","signatures":[{"sig":"MEYCIQCVjVLkZ4KNQmBtcvtIiJJZwaIQKCBe6E7fXgBYNlIfOQIhAMR19AswdCx1cb6LMwKU25ND6OK3+5wPz0bjC82vrI/5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183045},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"7170f5962fff7fbeaf8b8584012b686421b459dd","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.{[jt]s?(x)}":"eslint --fix"},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.7.0","vite":"^5.1.6","bumpp":"^9.4.0","tslib":"^2.6.2","eslint":"^8.57.0","rollup":"^4.13.0","vitest":"^1.3.1","p-limit":"^5.0.0","@antfu/ni":"^0.21.12","typescript":"^5.4.2","@types/node":"^20.11.27","lint-staged":"^15.2.2","simple-open-url":"^3.0.1","simple-git-hooks":"^2.10.0","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.2.6","@rollup/plugin-alias":"^5.1.0","rollup-plugin-esbuild":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.5.5_1710396404207_0.13864728799723158","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@lincy/utils","version":"0.6.0","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.6.0","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"6ff362410d87dd14c1176fc8926c1aca5a3d517d","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.6.0.tgz","fileCount":9,"integrity":"sha512-BoiD0QEJtm5sx9OVAi9GVzp3t0Vvi62EbqTDsSiOI9KIZbULbpFE9D8daMYHe0NylYbnixV+eH0so+WXM+og2g==","signatures":[{"sig":"MEUCIQDUgPgJmsP+eC7uRCp1xI/gsNq4riJaMuxrW08yJhkq7wIgc8lL7ZfSPK+G2s3T5vgTwbIUrbQzQ2Q1QetDF3RpPvA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205301},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"34d9ade970c488985c0fc19a70235dc6c91b23dc","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.2.3","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.{[jt]s?(x)}":"eslint --fix"},"sideEffects":false,"_nodeVersion":"18.19.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.4.0","devDependencies":{"esno":"^4.7.0","vite":"^5.2.9","bumpp":"^9.4.0","tslib":"^2.6.2","eslint":"^8.57.0","rollup":"^4.14.3","vitest":"^1.5.0","p-limit":"^5.0.0","typescript":"^5.4.5","@types/node":"^20.12.7","lint-staged":"^15.2.2","simple-open-url":"^3.0.1","simple-git-hooks":"^2.11.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.4.0","@rollup/plugin-alias":"^5.1.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-esbuild":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.0_1713544170217_0.708001390895588","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"@lincy/utils","version":"0.6.1","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.6.1","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"19c7457110326f7edfb954605f116d98404f7ae8","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.6.1.tgz","fileCount":9,"integrity":"sha512-WHd6wqNgooZWWLAa36FGPxNcyDX7gQbneHsb4RKU3SXs+nMCMtN6u+kAPKfULYW+FXcMQPiNjdPLiBsvYy9sQQ==","signatures":[{"sig":"MEQCIEoZMsJBKdqBC5EV6v+n5ndRZJN8BBjjrzun9DvWfy8IAiB2fMMaAwiBm0dDYFn+r1QP8phk0JwTgBMlVd+x1nQwYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207799},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"f0f0d663fad7ef43a1fc2f637ec4fe8069d46f2a","scripts":{"dev":"nr build --watch","lint":"eslint .","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.[jt]s?(x)":"eslint --fix"},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.1.0","devDependencies":{"esno":"^4.7.0","vite":"^5.2.11","bumpp":"^9.4.1","tslib":"^2.6.2","eslint":"^9.2.0","rollup":"^4.17.2","vitest":"^1.6.0","p-limit":"^5.0.0","typescript":"^5.4.5","@types/node":"^20.12.11","lint-staged":"^15.2.2","simple-open-url":"^3.0.1","simple-git-hooks":"^2.11.1","rollup-plugin-dts":"^6.1.0","throttle-debounce":"5.0.0","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^4.5.1","@rollup/plugin-alias":"^5.1.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-esbuild":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.2.3"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.1_1716368900121_0.2703768390855652","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"@lincy/utils","version":"0.6.2","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.6.2","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"50381ab7bf18f3e7c585781762919b5be5ed1484","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.6.2.tgz","fileCount":9,"integrity":"sha512-ZxrBdt6e92nj06zQm8737ywHF/EGdfCNFulHQ/PhcsfBszK5QxwgUK6lxP+DCChHt/42RzLnAjvbPmxl7fCHfQ==","signatures":[{"sig":"MEYCIQDpEIhJAAvz3FM6mM+UMIGoHUKml6D5XPkf1xflXxHo/gIhAJhTs1yjHQBnA1mmp/beUIdTzVAOMhKiFsi1itHrrjCx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":241830},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"f609012ddc85a18169eb9addee0878b7e8c285c9","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"sideEffects":false,"_nodeVersion":"18.18.2","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"esno":"^4.8.0","jiti":"^2.4.1","vite":"^6.0.2","bumpp":"^9.8.1","tslib":"^2.8.1","eslint":"^9.16.0","rollup":"^4.28.0","vitest":"^2.1.8","p-limit":"^6.1.0","typescript":"^5.7.2","@types/node":"^22.10.1","lint-staged":"^15.2.10","simple-open-url":"^3.0.1","simple-git-hooks":"^2.11.1","rollup-plugin-dts":"^6.1.1","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^5.3.1","@rollup/plugin-alias":"^5.1.1","rollup-plugin-delete":"^2.1.0","rollup-plugin-esbuild":"^6.1.1","@rollup/plugin-commonjs":"^28.0.1","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^15.3.0"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.2_1736848143812_0.2572788583574648","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@lincy/utils","version":"0.6.3","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.6.3","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"9459efa22aa285420d0bceea444a500b7b721061","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.6.3.tgz","fileCount":9,"integrity":"sha512-vL+Bn8ezIEj6IZU2lMheaDfidGXd6P+GFxmxIGpiPBbkZfCGPkAiW033hk8wkofyzujc53USJ/wzeWTwWaXqag==","signatures":[{"sig":"MEUCIQCuVXDT1HgMQwGbKZPrn86ECmJInSrJgSl8FfS1PA8dmwIgFuhvpOjCOccdUQuvs9cMDfTOunolC0ITiMz8uUtB2kA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241983},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"bb55efea6f725d9b816b5af80f9aefb4d218ba6c","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","actor":{"name":"lincenying","type":"user","email":"lincenying@qq.com"},"email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.4","devDependencies":{"esno":"^4.8.0","jiti":"^2.4.2","vite":"^7.0.0","bumpp":"^10.2.0","tslib":"^2.8.1","eslint":"^9.29.0","rollup":"^4.44.1","vitest":"^3.2.4","p-limit":"^6.2.0","typescript":"^5.8.3","@types/node":"^24.0.4","lint-staged":"^16.1.2","simple-open-url":"^3.0.1","simple-git-hooks":"^2.13.0","rollup-plugin-dts":"^6.2.1","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^5.7.0","@rollup/plugin-alias":"^5.1.1","rollup-plugin-delete":"^3.0.1","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-commonjs":"^28.0.6","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^16.0.1"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.3_1750993499086_0.28988385741411204","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@lincy/utils","version":"0.6.4","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.6.4","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"df5dc1363e71de87217295f77536e82d26d2ece5","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.6.4.tgz","fileCount":9,"integrity":"sha512-Bgf7TKdqR3eKctwOGkyGkOdTC4h2CpX9DcrgykKFul2sLw2m140crHP8ewKBQyydU3SNMa41Uc+Vl1CQm9IWxQ==","signatures":[{"sig":"MEYCIQDe4bmvETw8BuRX9d+qjZChmj+eIGdx8YBjJNiKi7KBAwIhALk5gLoqfAONLQtWyoV0HuRIfn1Vb6HJttNVCPEIcsZc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242104},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"b602fc2997520b71f44a062cb15693273b28d01b","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","actor":{"name":"lincenying","type":"user","email":"lincenying@qq.com"},"email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.13.0","devDependencies":{"esno":"^4.8.0","jiti":"^2.4.2","vite":"^7.0.3","bumpp":"^10.2.0","tslib":"^2.8.1","eslint":"^9.30.1","rollup":"^4.44.2","vitest":"^3.2.4","p-limit":"^6.2.0","typescript":"^5.8.3","@types/node":"^24.0.12","lint-staged":"^16.1.2","simple-open-url":"^3.0.1","simple-git-hooks":"^2.13.0","rollup-plugin-dts":"^6.2.1","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^5.7.0","@rollup/plugin-alias":"^5.1.1","rollup-plugin-delete":"^3.0.1","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-commonjs":"^28.0.6","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^16.0.1"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.4_1752129779938_0.08076104482798074","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@lincy/utils","version":"0.6.5","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.6.5","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"a0157fca446b7a852d0a65b50022e1b26459c9e8","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.6.5.tgz","fileCount":9,"integrity":"sha512-jdEIA+Izh9wr/RzPRaNtHGWLBGKnCNT0vhWGuHda9Sdv287gxlVpXA8lyfAn4fq6n896bffrXQq2zH3XUqJxGQ==","signatures":[{"sig":"MEUCIAEbS1DJ+CAC9dx34vyzcHJNkrI3DSUunM2BVai36qckAiEAv/ud80UA/nWdCOucnXhUF8hDCUzEvM9OM61kxXIGN5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243789},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"74cfe8de397d044ab7bac8e20df882e1f85819fb","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.13.0","devDependencies":{"esno":"^4.8.0","jiti":"^2.4.2","vite":"^7.0.3","bumpp":"^10.2.0","tslib":"^2.8.1","eslint":"^9.30.1","rollup":"^4.44.2","vitest":"^3.2.4","p-limit":"^6.2.0","typescript":"^5.8.3","@types/node":"^24.0.12","lint-staged":"^16.1.2","simple-open-url":"^3.0.1","simple-git-hooks":"^2.13.0","rollup-plugin-dts":"^6.2.1","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^5.7.0","@rollup/plugin-alias":"^5.1.1","rollup-plugin-delete":"^3.0.1","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-commonjs":"^28.0.6","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^16.0.1"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.5_1752650011851_0.748819916924647","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"@lincy/utils","version":"0.6.6","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.6.6","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"c5b181b8eda330414e4e7b19017848b1e8b68b23","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.6.6.tgz","fileCount":9,"integrity":"sha512-KXjQO886TutxlUUPN3AEdWp4Z3vyqahaaQXWY+hYGLWt1/4lCJObxoN99NLuhbXpH/f5F0AfIt3PrVq6nOQf/A==","signatures":[{"sig":"MEMCHxOCkHow9qCmFEVkdjVlEEzyH7H+Tz8MeQsoJAVlzP8CIHB6KOQlzyPWy6sz+X62yJgZw9oO9CffinCuPqfsaRD1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245123},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]}},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"c7c8044a10c2301493c9f705826ac8e63fe54948","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.13.0","devDependencies":{"esno":"^4.8.0","jiti":"^2.4.2","vite":"^7.0.3","bumpp":"^10.2.0","tslib":"^2.8.1","eslint":"^9.30.1","rollup":"^4.44.2","vitest":"^3.2.4","p-limit":"^6.2.0","typescript":"^5.8.3","@types/node":"^24.0.12","lint-staged":"^16.1.2","simple-open-url":"^3.0.1","simple-git-hooks":"^2.13.0","rollup-plugin-dts":"^6.2.1","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^5.7.0","@rollup/plugin-alias":"^5.1.1","rollup-plugin-delete":"^3.0.1","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-commonjs":"^28.0.6","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^16.0.1"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.6.6_1753075182829_0.19064531248799965","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@lincy/utils","version":"0.7.0","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.7.0","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"f87972435343634e88326509027982f075d4f0c5","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.7.0.tgz","fileCount":9,"integrity":"sha512-MWHg3p/JJry7Jbglxzmn6o0NlOhoRrGFevsPZIxvmJOuExparLRRdXohnwS7WoJ9/PXefKzqImtqOuGjRIOSQg==","signatures":[{"sig":"MEQCIBPk0EZTTsYvbUzO3jEZBLsSHGoA6OnvSmzedwgCbImlAiAkACxQM2Vy4DZ3E0j31TTxTAOzrljp0hExDgiNuDNNZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268756},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]},"onlyBuiltDependencies":["simple-git-hooks"]},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"9590797ef7c051d4386947e541d642d879e21175","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.9.3","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"lint-staged":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.17.1","devDependencies":{"esno":"^4.8.0","jiti":"^2.6.0","vite":"^7.1.7","bumpp":"^10.2.3","tslib":"^2.8.1","eslint":"^9.36.0","rollup":"^4.52.2","vitest":"^3.2.4","p-limit":"^7.1.1","typescript":"^5.9.2","@types/node":"^24.5.2","lint-staged":"^16.2.0","simple-open-url":"^3.0.1","simple-git-hooks":"^2.13.1","rollup-plugin-dts":"^6.2.3","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^5.8.1","@rollup/plugin-alias":"^5.1.1","rollup-plugin-delete":"^3.0.1","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-commonjs":"^28.0.6","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^16.0.1"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.7.0_1758621079639_0.8079012480731516","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@lincy/utils","version":"0.7.1","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.7.1","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"118a144faabafa922bac1b35797e7c9fe8ceea23","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.7.1.tgz","fileCount":9,"integrity":"sha512-8seupbQ8Kensxv85Xt6l/63A7WIAQmxgO5qrHv4JJyR9KgiYKgbRiNHFxXIMUjcH8mSxIpmX3copUXaLdLNdIA==","signatures":[{"sig":"MEUCIDqM6wdtqPcynupxjxCQEu4sFqUnBQ2QfWeBlduT7rhhAiEAjt4e/E66Hm05m/bqbkNvgKZZ24acGWLHe9GirAxioYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272963},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]},"onlyBuiltDependencies":["simple-git-hooks"]},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"2ca858d132760f675ed661889e0bd8c84a5a6b79","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.9.3","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.22.0","devDependencies":{"esno":"^4.8.0","jiti":"^2.6.1","vite":"^7.2.2","bumpp":"^10.3.1","tslib":"^2.8.1","eslint":"^9.39.1","rollup":"^4.53.2","vitest":"^4.0.8","p-limit":"^7.2.0","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.6","simple-open-url":"^3.0.1","simple-git-hooks":"^2.13.1","rollup-plugin-dts":"^6.2.3","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^6.0.0","@rollup/plugin-alias":"^6.0.0","rollup-plugin-delete":"^3.0.1","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-commonjs":"^28.0.9","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^16.0.3"},"lint-staged[-del]":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"simple-git-hooks[-del]":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.7.1_1763088920088_0.9668801299039012","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@lincy/utils","version":"0.7.2","keywords":["utils"],"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","_id":"@lincy/utils@0.7.2","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"homepage":"https://github.com/lincenying/lcy-utils#readme","bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"dist":{"shasum":"9afe618d4737ae77c5fd7213b3a093879f6c94ce","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.7.2.tgz","fileCount":9,"integrity":"sha512-b6TzBBKRyIV24ktYl71w4re+M72PD811MuwSsEJbGbFO1PmGuXGI3i6aEsF7qlfsIaTYURdDnVuoZDUFVJpCzg==","signatures":[{"sig":"MEYCIQDOpKz4Bpz+ygs1i6uaRyXH5yu7UyZQhqY0HvpbYOd46AIhANw6mCLUbZLYjs8FF+JDUDg5JcaH4ny+U0c3kQ7iXakB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281766},"main":"dist/index.cjs","pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]},"onlyBuiltDependencies":["simple-git-hooks"]},"type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"98ef7f35a922d636c0e94c4134f1dedb30c9e8d3","scripts":{"dev":"nr build --watch","lint":"eslint . --flag unstable_ts_config","test":"vitest","build":"rollup -c","start":"esno src/index.ts","lint:ts":"tsc --noEmit","release":"bumpp --commit --push --tag && npm publish --access public","lint:fix":"eslint . --flag unstable_ts_config --fix","postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","prepublishOnly":"npm run build"},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"repository":{"url":"git+https://github.com/lincenying/lcy-utils.git","type":"git"},"_npmVersion":"10.9.3","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.22.0","devDependencies":{"esno":"^4.8.0","jiti":"^2.6.1","vite":"^7.2.2","bumpp":"^10.3.1","tslib":"^2.8.1","eslint":"^9.39.1","rollup":"^4.53.2","vitest":"^4.0.8","p-limit":"^7.2.0","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.6","simple-open-url":"^3.0.1","simple-git-hooks":"^2.13.1","rollup-plugin-dts":"^6.2.3","throttle-debounce":"5.0.2","@rollup/plugin-json":"^6.1.0","@lincy/eslint-config":"^6.0.0","@rollup/plugin-alias":"^6.0.0","rollup-plugin-delete":"^3.0.1","rollup-plugin-esbuild":"^6.2.1","@rollup/plugin-commonjs":"^28.0.9","@types/throttle-debounce":"^5.0.2","@rollup/plugin-node-resolve":"^16.0.3"},"lint-staged[-del]":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"simple-git-hooks[-del]":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.7.2_1763103059389_0.4600117553786176","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@lincy/utils","type":"module","version":"0.7.3","packageManager":"pnpm@10.24.0","description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","homepage":"https://github.com/lincenying/lcy-utils#readme","repository":{"type":"git","url":"git+https://github.com/lincenying/lcy-utils.git"},"bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"keywords":["utils"],"sideEffects":false,"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"postpublish":"simple-open-url https://npmmirror.com/package/@lincy/utils","build":"rollup -c","dev":"nr build --watch","prepublishOnly":"npm run build","release":"bumpp --commit --push --tag && npm publish --access public","start":"esno src/index.ts","lint":"eslint . --flag unstable_ts_config","lint:fix":"eslint . --flag unstable_ts_config --fix","lint:ts":"tsc --noEmit","test":"vitest"},"devDependencies":{"@lincy/eslint-config":"^6.0.1","@rollup/plugin-alias":"^6.0.0","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.3","@types/node":"^24.10.1","@types/throttle-debounce":"^5.0.2","bumpp":"^10.3.2","eslint":"^9.39.1","esno":"^4.8.0","jiti":"^2.6.1","lint-staged":"^16.2.7","p-limit":"^7.2.0","rollup":"^4.53.3","rollup-plugin-delete":"^3.0.1","rollup-plugin-dts":"^6.3.0","rollup-plugin-esbuild":"^6.2.1","simple-git-hooks":"^2.13.1","simple-open-url":"^3.0.1","throttle-debounce":"5.0.2","tslib":"^2.8.1","typescript":"^5.9.3","vite":"^7.2.6","vitest":"^4.0.14"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"pnpm":{"peerDependencyRules":{"ignoreMissing":["rollup","postcss","esbuild","terser","prettier"]},"onlyBuiltDependencies":["simple-git-hooks"]},"simple-git-hooks[-del]":{"pre-commit":"npx lint-staged"},"lint-staged[-del]":{"*.[jt]s?(x)":"eslint --flag unstable_ts_config --fix"},"_id":"@lincy/utils@0.7.3","gitHead":"ff16698621037e6556a38f2c2c3f9f39a85cd0ca","_nodeVersion":"22.17.1","_npmVersion":"10.9.3","dist":{"integrity":"sha512-/y2e0LELiHsfnsSNPH+sLQT5BVeBsH7RWdo0b7Tj8ms+SFCj3OvODl5nnhRE/z762j7Vu9VlUlNL8OYZqtp5Ug==","shasum":"b2dc0b5126eee32870ecb470cb576b7b6c5f91c9","tarball":"https://registry.npmjs.org/@lincy/utils/-/utils-0.7.3.tgz","fileCount":9,"unpackedSize":288240,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB06vpsP+VGHN7DXzBAOtMZafQnMCrc56fXXWx95ylSlAiEAotwmaBAlh486u+F3qMH/bnCK6PGuuIH1+me8G6LktWY="}]},"_npmUser":{"name":"lincenying","email":"lincenying@qq.com"},"directories":{},"maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/utils_0.7.3_1764645121319_0.5934763786533981"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-18T17:16:53.583Z","modified":"2025-12-02T03:12:01.716Z","0.3.0":"2023-04-18T17:16:53.843Z","0.3.1":"2023-07-03T13:48:15.412Z","0.3.2":"2023-08-03T17:01:29.272Z","0.3.3":"2023-08-03T17:22:54.631Z","0.4.0":"2023-09-02T18:03:48.882Z","0.4.1":"2023-09-08T03:23:24.724Z","0.4.2":"2023-09-28T09:37:28.013Z","0.4.4":"2023-11-13T02:57:20.425Z","0.4.5":"2023-12-12T06:22:19.257Z","0.5.0":"2023-12-18T06:51:48.100Z","0.5.1":"2024-01-12T06:56:54.173Z","0.5.2":"2024-01-18T02:10:52.735Z","0.5.3":"2024-01-18T02:13:10.225Z","0.5.4":"2024-02-23T07:46:27.137Z","0.5.5":"2024-03-14T06:06:44.400Z","0.6.0":"2024-04-19T16:29:30.418Z","0.6.1":"2024-05-22T09:08:20.329Z","0.6.2":"2025-01-14T09:49:04.101Z","0.6.3":"2025-06-27T03:04:59.271Z","0.6.4":"2025-07-10T06:43:00.119Z","0.6.5":"2025-07-16T07:13:32.094Z","0.6.6":"2025-07-21T05:19:42.987Z","0.7.0":"2025-09-23T09:51:19.842Z","0.7.1":"2025-11-14T02:55:20.291Z","0.7.2":"2025-11-14T06:50:59.599Z","0.7.3":"2025-12-02T03:12:01.500Z"},"bugs":{"url":"https://github.com/lincenying/lcy-utils/issues"},"author":{"name":"lincenying","email":"lincenying@gmail.com"},"license":"MIT","homepage":"https://github.com/lincenying/lcy-utils#readme","keywords":["utils"],"repository":{"type":"git","url":"git+https://github.com/lincenying/lcy-utils.git"},"description":"Opinionated collection of common JavaScript / TypeScript utils by LCY","maintainers":[{"name":"lincenying","email":"lincenying@qq.com"}],"readme":"# @lincy/utils\n\nUsage\n\n```bash\npnpm install @lincy/utils\n```\n\n## array\n\n### at\n\n```ts\nfunction at(array: readonly [], index: number): undefined\nfunction at<T>(array: readonly T[], index: number): T\nfunction at<T>(array: readonly T[] | [], index: number): T | undefined\n```\n从数组中获取指定索引的元素。\n- @param array - 一个只读数组或空数组。\n- @param index - 要获取元素的索引，可以是正数或负数。负数索引从数组末尾开始计算。\n- @returns 如果指定索引的元素存在，则返回该元素；如果索引超出范围或数组为空，则返回 `undefined`。\n\n### arrayToObject\n```ts\nfunction arrayToObject(arr: any[], key?: string, val?: string): Objable<string | number>\n```\n将数组转换为对象。该函数遍历输入数组中的每个元素，并使用指定的键（key）和值（val）构建一个对象。\n- @param arr 输入的数组，数组中的每个元素都应包含至少一个与`key`和`val`参数对应的属性。\n- @param key 用于作为新对象键的数组元素属性。默认值为'value'。\n- @param val 用于作为新对象值的数组元素属性。默认值为'name'。\n- @returns 返回一个对象，其中键由数组元素的`key`属性值决定，对应的值由数组元素的`val`属性值决定。\n- @example\n```ts\narrayToObject([{ name: 'AAA', value: 1 }, { name: 'BBB', value: 2 }], 'name', 'value')\n```\n\n### clamp\n\n```ts\nfunction clamp(n: number, min: number, max: number): number\n```\n将给定的数值限制在指定的最小值和最大值之间。\n- @param n — 要限制的数值。\n- @param min — 允许的最小值。\n- @param max — 允许的最大值。\n- @returns — 返回经过限制后的数值，确保它不会小于最小值，也不会大于最大值。\n\n### clampArrayRange\n```ts\nfunction clampArrayRange(n: number, arr: readonly unknown[]): number\n```\n将指定的数字限制在数组的范围内。\n- @param n — 要限制的数字。\n- @param arr — 用于限制范围的数组，该数组是只读的。\n- @returns — 返回限制后的数字，该数字将位于数组的起始位置和结束位置之间（包括起始位置，不包括结束位置）。\n\n### flattenArrayable\n```ts\nfunction flattenArrayable<T>(array?: Nullable<Arrayable<T | Array<T>>>): Array<T>\n```\n将可能嵌套的数组或数组元素转换为一维数组。\n- @param array — 可能为 null 的数组或数组的数组，或者数组的数组的元素。\n- @returns — 返回一个转换后的一维数组。\n\n### last\n```ts\nfunction last(array: readonly []): undefined\nfunction last<T>(array: readonly T[]): T\nfunction last<T>(array: readonly T[]): T | undefined\n```\n获取给定数组的最后一个元素。\n- @param array — 一个只读数组，函数将返回该数组的最后一个元素。\n@returns — 返回数组的最后一个元素；如果数组为空，则返回 undefined。\n\n### mergeArrayable\n```ts\nfunction mergeArrayable<T>(...args: Nullable<Arrayable<T>>[]): Array<T>\n```\n将多个可能为数组或可被转换为数组的输入合并为一个数组。\n- @param args — 可以是数组或可被转换为数组的值的参数列表，参数可以为 null 或 undefined。\n- @returns — 返回一个合并后的数组，其中包含了所有输入数组中的元素。\n\n### move\n```ts\nfunction move<T>(arr: T[], from: number, to: number): T[]\n```\n将数组中的一个元素从一个位置移动到另一个位置。\n- @param arr — 要操作的数组。\n- @param from — 元素当前的索引位置。\n- @param to — 要将元素移动到的新索引位置。\n- @returns — 返回移动元素后的数组。\n\n### partition\n```ts\nfunction partition<T>(array: readonly T[], filters: PartitionFilter<T>): [T[], T[]]\nfunction partition<T>(array: readonly T[], filters: PartitionFilter<T>, f2: PartitionFilter<T>): [T[], T[], T[]]\nfunction partition<T>(array: readonly T[], filters: PartitionFilter<T>, f2: PartitionFilter<T>, f3: PartitionFilter<T>): [T[], T[], T[], T[]]\nfunction partition<T>(array: readonly T[], filters: PartitionFilter<T>, f2: PartitionFilter<T>, f3: PartitionFilter<T>, f4: PartitionFilter<T>): [T[], T[], T[], T[], T[]]\nfunction partition<T>(array: readonly T[], filters: PartitionFilter<T>, f2: PartitionFilter<T>, f3: PartitionFilter<T>, f4: PartitionFilter<T>, f5: PartitionFilter<T>): [T[], T[], T[], T[], T[], T[]]\nfunction partition<T>(array: readonly T[], filters: PartitionFilter<T>, f2: PartitionFilter<T>, f3: PartitionFilter<T>, f4: PartitionFilter<T>, f5: PartitionFilter<T>, f6: PartitionFilter<T>): [T[], T[], T[], T[], T[], T[], T[]]\n```\n根据提供的过滤函数将数组元素分割成多个子数组。\n- @param array — 一个只读数组，是需要进行分割的原始数组。\n- @param filters — 一个或多个过滤函数，每个过滤函数接收数组元素、当前元素的索引和原数组作为参数，返回一个布尔值以决定元素是否被放入对应的子数组中。\n- @returns — 一个二维数组，其中每个子数组都包含通过对应过滤函数的元素；最后一个子数组包含所有未通过任何过滤函数的元素。\n\n### remove\n```ts\nfunction remove<T>(array: T[], value: T): boolean\n```\n从数组中移除指定的值。\n- @param array — 目标数组。\n- @param value — 需要移除的值。\n- @returns — 如果成功移除值，返回true；如果数组不存在或值不在数组中，返回false。\n\n### range\n```ts\nexport function range(start: number, stop: number, step?: number): number[]\nexport function range(stop: number): number[]\nexport function range(...args: any): number[]\n```\n生成一个包含指定范围数字的数组。\n- @param start — 范围的起始值（可选）。如果只提供了一个参数，则该参数被视为结束值，起始值默认为0。\n- @param stop — 范围的结束值。如果提供了两个或三个参数，则该参数被视为结束值。\n- @param step — 数组中相邻元素之间的差值（可选）。如果提供了三个参数，则该参数为步长，默认值为1。\n- @returns — 一个包含指定范围内数字的数组。\n\n### sample\n```ts\nfunction sample<T>(arr: T[], quantity: number): T[]\n```\n从数组中随机采样指定数量的元素。\n- @param arr — 待采样的数组。\n- @param quantity — 采样的数量。\n- @returns — 一个包含指定数量随机元素的新数组。\n\n### shuffle\n```ts\nfunction shuffle<T>(array: T[]): T[]\n```\n随机打乱数组元素的顺序。\n- @param array — 要打乱顺序的数组。\n- @returns — 打乱顺序后的数组。\n\n### toArray\n```ts\nfunction toArray<T>(array?: Nullable<Arrayable<T>>): Array<T>\n```\n将给定的值转换为数组。 如果输入的是一个数组，则直接返回该数组；\\\n如果输入的是一个非数组，则返回一个包含该输入值的新数组。\\\n如果输入值为 null 或 undefined，则返回一个空数组。\n- @param array — 可以是数组或者可被转换为数组的值，也可以是 null 或 undefined。\n- @returns — 返回一个由输入值构成的数组。\n\n### uniq\n```ts\nfunction uniq<T>(array: readonly T[]): T[]\n```\n去数组中的重复元素。\n- @param array — 输入的只读数组。\n- @returns — 返回一个新数组，其中只包含一个出现过的元素。\n\n### uniqueBy\n```ts\nfunction uniqueBy<T>(array: readonly T[], equalFn: (a: any, b: any) => boolean): T[]\n```\n根据指定的等值函数，从数组中去除重复元素。\n- @param array — 一个只读数组，是需要去重的源数组。\n- @param equalFn — 一个函数，用于判断两个元素是否相等。如果两个元素相等，该函数应返回true，否则返回false。\n- @returns — 返回一个新数组，该数组包含了源数组中不重复的元素。\n\n### filterInPlace\n```ts\nfunction filterInPlace<T>(array: T[], predicate: (item: T, index: number, arr: T[]) => unknown)\n```\n移除数组中不符合条件的元素.\n- 此函数会改变原数组.\n- `predicate`（判断函数）从数组的末尾到开头遍历以提升性能.\n- 此函数在处理大型数组时比使用 Array.prototype.filter 更快.\n\n## base\n\n### addNewStyle\n```ts\nfunction addNewStyle(newStyle: string): void\n```\n向文档中添加新的样式。\n- @param newStyle — 要添加的新样式，以字符串形式提供。\n@returns — void\n- @example\n```ts\naddNewStyle(`html { color: red; }`)\n```\n\n### assert\n```ts\nfunction assert(condition: boolean, message: string): asserts condition\n```\n断言函数，用于在条件不满足时抛出错误。\n- @param condition — 条件，一个布尔值，表示断言是否成功。\n- @param message — 错误信息，当条件不满足时抛出的错误包含此信息。\n- @returns — 无返回值，但会在条件不满足时抛出错误。\n- @asserts — 断言条件为真。\n\n### getScrollWidth\n```ts\nfunction getScrollWidth(): number\n```\n获取滚动宽度 该函数创建一个DOM元素，设置其样式为具有滚动条的100px*100px的方块，然后将其添加到DOM中，\\\n通过测量该元素的offsetWidth与clientWidth之差来获取滚动条的宽度，最后移除该元素并返回滚动条宽度。\n- @returns — 滚动条宽度\n\n### getTypeName\n```ts\nfunction getTypeName(v: any): string\n```\n获取给定值的类型名称。\n- @param v — 任意类型的值。\n- @returns — 返回值的类型名称。如果值是对象或函数，则返回通过Object.prototype.toString方法得到的类型名称字符串；否则，返回JavaScript的基本类型名称。\n\n### noop\n```ts\nfunction noop(): void\n```\n一个没有任何操作的函数，即空操作函数。 该函数不接受任何参数，也不返回任何值。\n\n### toString\n```ts\nfunction toString(v: any): string\n```\n将任意值转换为字符串形式。\n- @param v — 任意类型的值。\n- @returns — 返回通过调用Object.prototype.toString方法得到的字符串。\n\n## color\n\n### batchHexToRgba\n```ts\nfunction batchHexToRgba(arr: any[]): any[]\n```\n批量将十六进制颜色值转换为rgba格式\n- @param arr — 包含颜色值的数组，可以是嵌套数组。颜色值可以是十六进制字符串或rgba/rgb字符串。\n- @returns — 返回一个由rgba格式颜色值组成的数组，如果输入无效则返回空数组。\n- @example\n```ts\nbatchHexToRgba(['#ffffff']) // [ '255,255,255' ]\n```\n\n### hexToRgba\n```ts\nfunction hexToRgba(hex: string, opacity?: number): {\n    red: number\n    green: number\n    blue: number\n    rgb: string\n    rgba: string\n}\n```\n\n将十六进制颜色值转换为rgba格式\n- @param hex — 表示十六进制颜色的字符串，例如\"#ffffff\"\n- @param opacity — 可选参数，表示颜色的透明度，取值范围为0到1，默认值为1（不透明）\n- @returns — 返回一个对象，包含红色、绿色、蓝色分量的数值，以及rgb和rgba格式的颜色字符串\n- @example\n```ts\nhexToRgba('#ffffff', 0.5)\n```\n\n### RGB2Hex\n```ts\nfunction RGB2Hex(color: string): string\n```\n将RGB颜色值转换为十六进制颜色值\n- @param color — RGB颜色值，格式为\"rgb(x, y, z)\"，其中x、y、z为0到255之间的整数\n- @returns — 十六进制颜色值，格式为\"#xxxxxx\"，其中xxxxxx为六位的十六进制数\n- @example\n```ts\nRGB2Hex('rgb(0, 0, 0)') // '#000000'\n```\n\n## equal\n\n### isDeepEqual\n```ts\nfunction isDeepEqual(value1: any, value2: any): boolean\n```\n深度比较两个值是否相等。\n- @param value1 — 第一个要比较的值，可以是任意类型。\n- @param value2 — 第二个要比较的值，可以是任意类型。\n- @returns — 如果两个值深度相等则返回 true，否则返回 false。\n\n## function\n\n### batchInvoke\n```ts\nfunction batchInvoke(functions: Nullable<Fn>[]): void\n```\n批量调用函数数组中的每个函数。\n- @param functions — 可空的函数数组，数组中的每个元素都应为函数类型。\n\n### invoke\n```ts\nfunction invoke(fn: Fn): void\n```\n调用一个给定的函数并返回其结果。\n- @param fn — 一个函数，该函数将被调用并返回其执行结果。\n- @returns — 调用给定函数后的返回值。\n\n### tap\n```ts\nfunction tap<T>(value: T, callback: (value: T) => void): T\n```\n该函数接受一个值和一个回调函数作为参数，然后执行回调函数，将值作为参数传递给回调函数，最后返回原始值。\n- @param value — 任意类型的值，将作为参数传递给回调函数。\n- @param callback — 一个以 value 为参数的回调函数，该函数将在调用 tap 函数时执行。\n- @returns — 返回与传入的 value 参数相同的值。\n- @example\n```ts\nfunction createUser(name: string): User {\n    return tap(new User(), (user) => {\n        user.name = name\n    })\n}\n```\n\n## guards\n\n### isTruthy\n```ts\nfunction isTruthy<T>(v: T): v is NonNullable<T>\n```\n检查给定的值是否为真值（truthy）。\\\n该函数通过通用类型参数 T 接收一个值 v。\\\n返回一个布尔值，表示该值是否为非空（NonNullable）真值。\n- @param v — 任意类型的值，该值将被检查是否为真。\n- @returns — 返回一个布尔值，如果 v 是非空的真值，则为 true；否则为 false。\n\n### notNullish\n```ts\nfunction notNullish<T>(v: T | null | undefined): v is NonNullable<T>\n```\n检查给定的值是否不为null或undefined。\\\n该函数是一个类型守卫，用于在运行时确定值是否非空，\\\n并在类型系统中将类型缩小到非可空类型。\n- @param v — 待检查的值，可以是任何类型T，包括null或undefined。\n- @returns — 返回一个布尔值，如果值不为null或undefined，则为true；否则为false。\n\n### noNull\n```ts\nfunction noNull<T>(v: T | null): v is Exclude<T, null>\n```\n检查给定的值是否不为null，用于类型守卫\n- @param v — 任意类型，可能是null\n- @returns — 返回一个布尔值，如果值不为null，则为true；如果值为null，则为false。\n\n### notUndefined\n```ts\nfunction notUndefined<T>(v: T): v is Exclude<T, undefined>\n```\n检查一个值是否不是 undefined。\\\n该函数用于类型守卫，如果传入的值不是 undefined，则断言该值的类型为 T 中排除 undefined 的类型。\n- @param v — 任意类型的值，需要被检查是否为 undefined。\n- @returns — 返回一个布尔值，表示该值是否不是 undefined。如果是，则类型断言为 T 中排除 undefined 的类型。\n\n## is\n\n### isDef\n```ts\nconst isDef = <T = any>(val?: T): val is T => typeof val !== 'undefined'\n```\n检查一个值是否定义（不是undefined）。\n- @param val 任意类型的值，可以是未定义的。\n- @returns 返回一个布尔值，如果值已定义则为true，否则为false。\n\n### isBoolean\n```ts\nconst isBoolean = (val: any): val is boolean => typeof val === 'boolean'\n```\n检查一个值是否为布尔值。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是布尔型则为true，否则为false。\n\n### isFunction\n```ts\nconst isFunction = <T extends () => void> (val: any): val is T => typeof val === 'function'\n```\n检查一个值是否为函数。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是函数则为true，否则为false。\n\n### isInt\n```ts\nconst isInt = Number.isInteger\n```\n检查一个值是否为整数。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是整数则为true，否则为false。\n\n### isArray\n```ts\nconst isArray = Array.isArray\n```\n检查一个值是否为数组。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是数组则为true，否则为false。\n\n### isNumber\n```ts\nconst isNumber = (val: any): val is number => typeof val === 'number'\n```\n检查一个值是否为数字。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是数字则为true，否则为false。\n\n### isString\n```ts\nconst isString = (val: unknown): val is string => typeof val === 'string'\n```\n检查一个值是否为字符串。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是字符串则为true，否则为false。\n\n### isObject\n```ts\nconst isObject = (val: any): val is object => toString(val) === '[object Object]'\n```\n检查一个值是否为对象（排除null）。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是对象则为true，否则为false。\n\n### isUndefined\n```ts\nconst isUndefined = (val: any): val is undefined => toString(val) === '[object Undefined]'\n```\n检查一个值是否为undefined。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值为undefined则为true，否则为false。\n\n### isNull\n```ts\nconst isNull = (val: any): val is null => toString(val) === '[object Null]'\n```\n检查一个值是否为null。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值为null则为true，否则为false。\n\n### isRegExp\n```ts\nconst isRegExp = (val: any): val is RegExp => toString(val) === '[object RegExp]'\n```\n检查一个值是否为正则表达式。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是正则表达式则为true，否则为false。\n\n### isDate\n```ts\nconst isDate = (val: any): val is Date => toString(val) === '[object Date]'\n```\n检查一个值是否为日期对象。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是日期对象则为true，否则为false。\n\n### isMap\n```ts\nconst isMap = (val: any): val is Map<any, any> => toString(val) === '[object Map]'\n```\n检查一个值是否为Map对象。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是Map对象则为true，否则为false。\n\n### isSet\n```ts\nconst isSet = (val: any): val is Set<any> => toString(val) === '[object Set]'\n```\n检查一个值是否为Set对象。\n- @param val 任意值。\n- @returns 返回一个布尔值，如果该值是Set对象则为true，否则为false。\n\n### isPromise\n```ts\nfunction isPromise<T = any>(obj: any): obj is Promise<T>\n```\n检查一个对象是否为Promise。\n- @param obj 要检查的对象。\n- @returns 返回一个布尔值，表示该对象是否为Promise。\n\n### isFormData\n```ts\nexport function isFormData(val: any): val is FormData\n```\n检查值是否为FormData对象\n- @param val - 要检查的值\n- @returns 如果值为FormData对象则返回true，否则返回false\n\n### isEmail\n```ts\nfunction isEmail(email: string): boolean\n```\n检查给定的字符串是否为有效的电子邮件地址\n- @param email 待检查的电子邮件地址\n- @returns 如果邮箱地址有效，返回true，否则返回false\n\n### isPhoneNumber\n```ts\nfunction isPhoneNumber(phoneNumber: string): boolean\n```\n检查给定的字符串是否为中国大陆的有效手机号码\n- @param phoneNumber 待检查的手机号码\n- @returns 如果手机号码有效，返回true，否则返回false\n\n### isWindow\n```ts\nconst isWindow = (val: any): boolean => typeof window !== 'undefined' && toString(val) === '[object Window]'\n ```\n检查一个值是否为浏览器的window对象。\n- @param val 任意类型的值，将被检查是否为window对象。\n- @returns 返回一个布尔值，如果该值是window对象，则为true，否则为false。\n\n### isBrowser\n```ts\nconst isBrowser = typeof window !== 'undefined'\n```\n判断当前环境是否为浏览器环境。\n- @returns 返回一个布尔值，如果是浏览器环境，则为true，否则为false。\n\n### isEmpty\n```ts\nfunction isEmpty(payload: any): boolean\n```\n判断给定的传入值是否为空。\n- @param payload 任意类型的数据。\n- @returns 返回一个布尔值，如果传入值为空则为true，否则为false。\n\n### isFalse\n```ts\nfunction isFalse(payload: any): boolean\n```\n检查给定的传入值是否为假值。\n- @param payload 任意类型的值，作为检查的目标。\n- @returns 返回一个布尔值，如果传入值为假值或非布尔、非数字且为空的值，则返回 true；否则返回 false。\n\n## math\n\n### sum\n```ts\nfunction sum(...args: number[] | number[][]): number\n```\n计算传入参数的总和。\\\n该函数接受一个或多个数字参数，包括一维数组或二维数组，然后将所有数字相加得出总和。\n- @param args — 可以是数字的序列（一维数组或二维数组）。\n- @returns — 返回所有输入数字的总和。\n- @example\n```ts\nsum(1, 2, 3, 4)\nsum([1, 2, 3, 4])\n```\n\n## object\n\n### isKeyOf\n```ts\nfunction isKeyOf<T extends object>(obj: T, k: keyof any): k is keyof T\n```\n检查一个键是否为给定对象的键。\n- @param obj — 一个泛型对象T。\n- @param k — 需要检查的键。\n- @returns — 返回一个布尔值，表示k是否为obj的键。\n\n### clearUndefined\n```ts\nfunction clearUndefined<T extends object>(obj: T): T\n```\n清除对象中值为undefined的属性。\n- @param obj — 要处理的对象。\n- @returns — 处理后的对象，不包含值为undefined的属性。\n- @example\n```ts\nclearUndefined({ a: undefined, b: 2, c: 3, d: 4 }) // {b: 2, c: 3, d: 4}\n```\n\n### deepClone\n```ts\nfunction deepClone<T extends Record<string, any>>(obj: T): T\n```\n深度克隆对象。\n- @param obj — 要进行深度克隆的对象，该对象必须是包含属性的记录类型。\n- @returns — 返回一个与传入对象属性相同的新对象，新对象不会与原对象共享引用。\n\n### deepEqual\n```ts\nfunction deepEqual<T>(a: T, b: T): boolean\n```\n检查两个值是否深度相等。\n- @param a — 第一个要比较的值。\n- @param b — 第二个要比较的值。\n- @returns — 如果两个值深度相等则返回true，否则返回false。\n\n### deepMerge\n```ts\nfunction deepMerge<T extends object = object, S extends object = T>(target: T, ...sources: S[]): DeepMerge<T, S>\n```\n深度合并对象。\n- @param target — 目标对象，合并的起点。\n- @param sources — 源对象，一个或多个将被合并到目标对象的对象。\n- @returns — 返回合并后的对象。\n\n### deepMergeWithArray\n```ts\nfunction deepMergeWithArray<T extends object = object, S extends object = T>(target: T, ...sources: S[]): DeepMerge<T, S>\n```\n深度合并对象，可以合并数组和普通对象。\\\n如果目标对象和源对象都是可合并的（即普通对象），则会递归合并它们的属性。\\\n数组会通过追加方式合并。\n- @param target — 目标对象，合并的起点。\n- @param sources — 源对象数组，将这些对象的属性合并到目标对象中。\n- @returns — 返回合并后的对象。如果没有任何源对象提供，则返回目标对象。\n\n### hasOwnProperty\n```ts\nfunction hasOwnProperty<T>(obj: T, v: PropertyKey): boolean\n```\n检查对象是否拥有指定的属性。\n- @param obj — 要检查的对象。\n- @param v — 要检查的属性键，可以是字符串或符号。\n- @returns — 如果对象拥有指定的属性，则返回true；否则返回false。\n@see — https://eslint.org/docs/rules/no-prototype-builtins\n\n### isMergableObject\n```ts\nfunction isMergableObject(item: any): item is object\n```\n检查一个项是否为可以合并的对象。\n- @param item — 任意类型的项，需要被检查是否为可合并的对象。\n- @returns — 返回一个布尔值，如果该项是对象而不是数组，则为true；否则为false。\n\n### objectEntries\n```ts\nfunction objectEntries<T extends object>(obj: T): Array<[keyof T, T[keyof T]]>\n```\n将对象转换为包含键值对的数组。\n- @param obj — 需要转换的对象。\n- @returns — 返回一个数组，其中每个元素都是一个包含对象键和对应值的二元组。\n\n### objectKeys\n```ts\nfunction objectKeys<T extends object>(obj: T): Array<`${keyof T & (string | number | boolean | null | undefined)}`>\n```\n获取对象中所有可枚举属性的键名数组。\n- @param obj — 一个泛型对象，泛型T必须扩展自object类型。\n- @returns 返回一个数组，数组中的元素类型为keyof T & (string | number | boolean | null | undefined)， 即对象键名的字符串形式，保证键名类型安全。\n\n### objectMap\n```ts\nfunction objectMap<K extends string, V, NK extends string | number | symbol = K, NV = V>(obj: Record<K, V>, fn: (key: K, value: V) => [NK, NV] | undefined): Record<NK, NV>\n```\n对象映射函数，将给定对象的键值对通过提供的函数处理后，生成新的对象。\n- @param obj — 输入的对象，其键值对将被遍历。\n- @param fn - 处理函数，接收当前键和值作为参数，返回新的键值对数组。如果返回undefined，则当前键值对不会被包含在输出对象中。 Transform:\n- @example\n```ts\nobjectMap({ a: 1, b: 2 }, (k, v) => [k.toString().toUpperCase(), v.toString()])\n// { A: '1', B: '2' }\n```\nSwap key/value:\n- @example\n```ts\nobjectMap({ a: 1, b: 2 }, (k, v) => [v, k])\n// { 1: 'a', 2: 'b' }\n```\nFilter keys:\n- @example\n```ts\nobjectMap({ a: 1, b: 2 }, (k, v) => k === 'a' ? undefined : [k, v])\n// { b: 2 }\n```\n- @returns — 返回一个新的对象，其键值对是通过处理函数fn处理后的结果。\n\n### objectPick\n```ts\nfunction objectPick<O extends object, T extends keyof O>(obj: O, keys: T[], omitUndefined?: boolean): Pick<O, T>\n```\n从对象中选择指定的属性。\n- @param obj — 要选择属性的对象。\n- @param keys — 要选择的属性的键名数组。\n- @param omitUndefined — 是否忽略值为undefined的属性，默认为false。\n- @returns — 返回一个新对象，包含指定的对象中选择出来的属性。\n- @example\n```ts\nobjectPick({ a: 1, b: 2, c: 3, d: 4 }, ['a', 'b']) // {a: 1, b: 2}\n```\n\n### objectToCookies\n```ts\nfunction objectToCookies(\n    data: Record<string, string | number | boolean>,\n    options: CookieOptions = {},\n): string[]\n```\n将对象转换为 Cookie 字符串\n- @param data 要转换的键值对对象\n- @param options Cookie 配置选项\n- @returns 格式化后的 Cookie 字符串\n```ts\nconst cookiesData = {\n    userId: '12345',\n    sessionToken: 'abcde-12345',\n    theme: 'dark',\n}\n\nconst cookieOptions: CookieOptions = {\n    path: '/',\n    maxAge: 3600, // 1小时有效期\n    secure: true,\n    sameSite: 'Lax',\n}\nobjectToCookies(cookiesData, cookieOptions)\n// [\n//     'userId=12345; path=/; max-age=3600; secure; SameSite=Lax',\n//     'sessionToken=abcde-12345; path=/; max-age=3600; secure; SameSite=Lax',\n//     'theme=dark; path=/; max-age=3600; secure; SameSite=Lax',\n// ]\n```\n\n## promise\n\n### sleep\n```ts\nfunction sleep(ms: number, callback?: Fn<any>): Promise<void>\n```\n延迟指定的毫秒数，并在延迟后执行回调函数（可选）\n- @param ms - 指定的延迟时间，以毫秒为单位\n- @param callback - 可选的回调函数，延迟结束后执行\n- @returns Promise - 一个Promise对象，表示延迟操作完成\n\n### p\n```ts\nfunction p<T = any>(items?: Iterable<T>, options?: POptions): PInstance<T>\n```\n用于管理多个Promise的工具\n```ts\nconst items = [1, 2, 3, 4, 5]\nawait p(items)\n    .map(async i => await multiply(i, 3))\n    .filter(async i => await isEven(i))\n// [6, 12]\n```\n\n## string\n\n### addStr\n```ts\nfunction addStr(str: string, num: number, add?: string): string\n```\n将字符串按照指定长度分隔，并在分隔处添加指定字符。\n- @param str — 需要处理的原始字符串。\n- @param num — 指定每个分隔段的长度。\n- @param add — 分隔时添加的字符，默认为换行符 '\\n'。\n- @returns — 处理后的字符串。\n- @example\n```ts\naddStr('121432432432432', 3, '|') // '121|432|432|432|432'\n```\n\n### capitalize\n```ts\nfunction capitalize(str: string): string\n```\n将给定字符串的第一个字符转换为大写，其余字符转换为小写。\n- @param str — 待转换的字符串。\n- @returns — 转换后的字符串。\n- @example\n```ts\ncapitalize('hello') // 'Hello'\n```\n\n### copyToClipboard\n```ts\nfunction copyToClipboard(text: string): Promise<boolean>\n```\n复制指定字符串到粘贴板\n- @param text 需要复制的字符串\n- @returns 返回一个Promise，成功时为true，失败时为false\n```ts\ncopyToClipboard('text').then((success) => {\n    if (success) {\n        alert('复制成功!')\n    }\n    else {\n        alert('复制失败!')\n    }\n})\n```\n\n### ensurePrefix\n```ts\nfunction ensurePrefix(prefix: string, str: string): string\n```\n确保字符串的前缀\n- @category — String\n- @example\n```ts\nensurePrefix('abc', 'abcdef') // 'abcdef'\nensurePrefix('hi ', 'jack') // 'hi jack'\n```\n\n### ensureSuffix\n```ts\nfunction ensureSuffix(suffix: string, str: string): string\n```\n确保字符串的后缀\n- @category — String\n- @example\n```ts\nensureSuffix('world', 'hello ') // 'hello world'\nensureSuffix('123', 'abc123') // 'abc123'\n```\n\n### formatFileSize\n```ts\nfunction formatFileSize(bytes: number): string\n```\n将字节数格式化为易于读取的文件大小字符串\n- @param bytes 文件大小的字节数\n- @returns 格式化后的文件大小字符串，包含适当的单位(GB/MB/KB/B)\n```ts\nformatFileSize(1023)\n// '1023B'\nformatFileSize(1024)\n// '1.00KB'\nformatFileSize(1048576)\n// '1.00MB'\nformatFileSize(1073741824)\n// '1.00GB'\n```\n\n### parseCookies\n```ts\nfunction parseCookies(cookies: string): {\n    [key: string]: string\n}\n```\n解析cookie字符串为一个对象\n- @param cookies — 要解析的cookie字符串\n- @returns — 返回一个对象，每个键值对代表一个cookie\n- @example\n```ts\nparseCookies('key1=all; key2=false; key3=true;')\n// { key3: 'true', key1: 'all', key2: 'false' }\n```\n\n### objToCookies\n```ts\nfunction objToCookies(data: Record<string, string | number | boolean>): string\n```\n将对象转换为 Cookie 字符串\n@param data 要转换的键值对对象\n@returns 格式化后的 Cookie 字符串\n```ts\nobjToCookies({\n    auto_devops_settings_dismissed: 'true',\n    event_filter: 'all',\n    sidebar_collapsed: 'false',\n})\n// auto_devops_settings_dismissed=true; event_filter=all; sidebar_collapsed=false\n```\n\n### Random\n```ts\nfunction Random(lower: number, upper: number): number\n```\n生成一个在指定范围内的随机数。\n- @param lower — 下限，如果未指定，则默认为0。\n- @param upper — 上限，如果未指定，则默认为0。\n- @returns — 在给定下限和上限范围内的随机数。\n\n### randomStr\n```ts\nfunction randomStr(size?: number, dict?: string): string\n```\n生成一个随机字符串。\n- @param size — 随机字符串的长度，默认为16。\n- @param dict — 用于生成随机字符串的字符集，默认为urlAlphabet。\n- @returns — 生成的随机字符串。\n\n### slash\n```ts\nfunction slash(str: string): string\n```\n将反斜杠替换为斜杠\n- @category — String\n- @example\n```ts\nslash('\\\\123')// '/123'\nslash('\\\\\\\\')// '//'\nslash('\\\\\\h\\\\\\i')// '/h/i'\n```\n\n### strLen\n```ts\nfunction strLen(str: string): number\n```\n计算字符串的长度，考虑到中文等双字节字符，该函数能够准确计算字符串中字符的数量。\n- @param str — 需要计算长度的字符串。\n- @returns — 返回字符串的长度，其中单字节字符计为1，双字节字符计为2。\n- @example\n```ts\nstrLen('hello') // 5\nstrLen('中国') // 4\n```\n\n### template\n```ts\nfunction template(str: string, object: Record<string | number, any>, fallback?: string | ((key: string) => string)): string\nfunction template(str: string, ...args: (string | number | bigint | undefined | null)[]): string\nfunction template(str: string, ...args: any[]): string\n```\n简单的模板引擎，就像 Python 的 .format() 一样 支持以基于索引或基于对象/名称的方法传递变量\\\n使用基于对象/名称的方法时，您可以传递后备值作为第三个参数\n- @category — String\n- @example\n```ts\nconst result = template(\n    'Hello {0}! My name is {1}.',\n    'Inès',\n    'Anthony'\n) // Hello Inès! My name is Anthony.\n\nconst result = namedTemplate(\n    '{greet}! My name is {name}.',\n    { greet: 'Hello', name: 'Anthony' }\n) // Hello! My name is Anthony.\n\nconst result = namedTemplate(\n    '{greet}! My name is {name}.',\n    { greet: 'Hello' }, // name isn't passed hence fallback will be used for name\n    'placeholder'\n) // Hello! My name is placeholder.\n```\n\n### transformStr\n```ts\nfunction transformStr(str: string): string\n```\n将给定字符串按照连字符('-')分割，并将分割后的每个部分的首字母大写，然后将这些部分重新连接成一个字符串。\n- @param str — 需要转换的字符串。\n- @returns — 转换后的字符串，其中每个由连字符分隔的部分的首字母都将大写。\n- @example\n```ts\ntransformStr('a-bc-df') // aBcDf\n```\n\n## time\n\n### getDate\n```ts\nfunction getDate(str?: string | number): Date\n```\n根据给定的字符串或数值获取一个Date对象。\\\n\\\n如果提供字符串，尝试解析该字符串为日期，支持多种格式，例如'2021-01-01'或'20210101'等。\\\n如果提供数值，将其视为毫秒数创建Date对象。\\\n如果未提供参数，返回当前日期和时间的Date对象。\n- @param str — 可选参数，为字符串或数值类型的日期表示。\n- @returns — 返回一个Date对象，要么根据提供的参数解析得到，要么返回当前日期和时间的Date对象。\n\n### getDateDiff\n```ts\nfunction getDateDiff(time: string): string\n```\n计算并返回与指定时间的差异。\n- @param time — 指定的时间，格式为字符串。\n- @returns - 返回与指定时间的差异描述字符串。根据时间差，返回的字符串格式可以是天数、小时数、分钟数、秒数， 或者如果时间差非常小，则返回\"刚刚\"。如果无法计算差异，则返回空字符串。\n\n### subtractTimestamps\n```ts\nfunction subtractTimestamps(timestamp1: string, timestamp2: string): [number, number, number, number, string, string, string]\n```\n函数用于计算两个时间戳之间的差值，并返回以天、小时、分钟、秒的形式表示的时间差。\n- @param timestamp1 — 第一个时间戳，格式为字符串。\n- @param timestamp2 — 第二个时间戳，格式为字符串。\n- @returns — 返回一个数组，包含天、小时、分钟、秒以及格式化后的小时、分钟和秒字符串。\n\n### timestamp\n```ts\nfunction timestamp(): number\n```\n获取当前时间戳 该函数没有参数。\n- @returns — 返回当前的毫秒级时间戳\n\n### UTC2Date\n```ts\nfunction UTC2Date(utc?: string | number, format?: string, add?: number): string\n```\n将UTC时间转换为指定格式的日期字符串。\n- @param utc 可以是UTC时间的字符串或数值。\n- @param format 指定输出的日期格式，默认为'yyyy-mm-dd'， 格式 yyyy-mm-dd hh:ii:ss.SSS | yyyy-m-d h:i:s.S (y,m,d,h,i不区分大小写,ss为两位数秒, SSS为3位数毫秒, S为毫秒, s为秒)。\n- @param add 可选参数，用于指定要添加到日期上的天数。\n- @returns 返回转换后的日期字符串。\n\n## url\n\n### objectToQueryString\n```ts\nfunction objectToQueryString(obj: Objable): string\n```\n将对象转换为查询字符串\n- @param obj — 可以被转换为查询字符串的对象。对象的键值对会被编码并以&符号连接。\n- @returns — 返回转换后的查询字符串\n- @example\n```ts\nobjectToQueryString({ id: 123, name: 'test1' }) // id=123&name=test1\n```\n\n### parseUrl\n```ts\nfunction parseUrl(url: string): URL\n```\n解析给定的URL字符串为URL对象。\n- @param url — 待解析的URL字符串。\n- @returns — 返回一个URL对象，该对象表示解析后的URL。\n\n### queryStringToObject\n```ts\nfunction queryStringToObject(queryString: string): Objable<string>\n```\n将查询字符串转换为对象\n- @param queryString — 一个表示查询参数的字符串，例如：\"name=John&age=30\"\n- @returns — 返回一个对象，其中键值对代表了查询字符串中的参数及其值\n- @example\n```ts\nqueryStringToObject('?id=123&name=test1') // {id: '123', name: 'test1'}\n```\n\nLicense\n\nMIT\n","readmeFilename":"README.md"}