{"_id":"l-js-fn","_rev":"59-53c74f62e8e4a929a46d87f12da8ae5b","name":"l-js-fn","dist-tags":{"latest":"4.0.0"},"versions":{"1.0.0":{"name":"l-js-fn","version":"1.0.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"58439ba6a143f807f9e5fd774acf7ed0554d0268","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.0.tgz","fileCount":5,"integrity":"sha512-EC4gS5AjtI/ff9asoho6T3wyXjjzQNIMTEl+ELXZ7sFtX94jsHIwHfEnMKbQeOI99zQXlvnmEDALvDttI8KvVA==","signatures":[{"sig":"MEQCIEUOstYjFC/BtBZFC5GpB1JYQ+cOkRYJtSyGDs86ApOxAiBSMtY6cKglIaR/2Hp0YkqL1XqenDQVuui7PsGDFL2mkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49896},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bb4a4a6a963535bcf34324701ce6af0e30e6565e","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rm -rf dist","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","typescript":"^5.9.2","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.0_1759219028968_0.33065527930448924","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"l-js-fn","version":"1.0.1","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"922b7f953d33565d545fea8fe68d4380ef947ca2","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.1.tgz","fileCount":5,"integrity":"sha512-pXXNN63sRuI2BhOfLoJu8ljI2JeUavclF2sTVE3PUeU9Z2jURQF4MBv06a1wMnXJp7U1J9548k9F56LZwksthQ==","signatures":[{"sig":"MEYCIQDC5B6vfavdYyebMhK87khewX7oiUF4XNsUpqasoSFDbgIhAIr+xRfsvl4QCiXhrFz+iTRmXm2vQgdciMRhda3D2xJB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56066},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bb4a4a6a963535bcf34324701ce6af0e30e6565e","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rm -rf dist","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","typescript":"^5.9.2","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.1_1759221147161_0.0009900878129345259","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"l-js-fn","version":"1.0.2","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.2","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"ff89f36b6fc01fa2d20266a1d5e77b2ae76e9347","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.2.tgz","fileCount":5,"integrity":"sha512-AMHghxrUWdBiIe70uOxsRbyDj22sITN+CTFdyqpz5SCz2jgQhVD3oVdj7qMC3TjHbjJJUNvWjikW0+x9toNBiw==","signatures":[{"sig":"MEQCIDpOEOnqE6WuwP3mmK5JXG5MxlKp2kwJXvNr4ns6z0jmAiBm+J506K0eHefQ4LEiO8uOw0JLKjBD96XAAggaS5VM3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62988},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d0855a9c9028e7800ebbd0080646ebed79a194b8","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rm -rf dist","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","typescript":"^5.9.2","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.2_1759222279371_0.1738896653306321","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"l-js-fn","version":"1.0.3","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.3","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"0a1e8ea78052f927fb6dbb1ad9729402cd32f4d2","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.3.tgz","fileCount":5,"integrity":"sha512-RKkzUxBfGcB/nSvBZrnp/gZUX3rzNOAFAotHlzKtvtiF42veHkwU83sURoNnmp7wx6xs7kBITjFdiAaQs0kYvg==","signatures":[{"sig":"MEUCID0+/uFC9kW1fGmSkmoHQ0SNBkG3F+q1gKCaRDXFmfzOAiEAwObSrvyu4Dg6VuFkDpwoGNtQ4PmTVcQrn3KXOhA/o4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64638},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"77e4e009997f2561ecdace2686a4088ad7d2603e","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rm -rf dist","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","typescript":"^5.9.2","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.3_1759222586617_0.800802020260508","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"l-js-fn","version":"1.0.4","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.4","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"0f455cf23f61515c0e47430329dcc7a3bb208de4","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.4.tgz","fileCount":5,"integrity":"sha512-9gZ8qSGBBK9ri68j6QOec1Vb9wiLjPR31vtASsd+iB58ZdRCt9qcrqQr6VkY2J2oCIUt79Nt6e3XkvdOu5XdSw==","signatures":[{"sig":"MEUCIQD1pY0B9WeLU2zjDlus2Ny3sBjkgZ7A92OhuFlooUbfbwIgdpLN7RB8OzL4C8cDgIhlgqi2O2gWM6iF0UhU/zkvfvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70128},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"14a05b3ec85fda42c9d26ff27d7f2bd56b0bb926","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rm -rf dist","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","typescript":"^5.9.2","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.4_1759301761317_0.46457306387337405","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"l-js-fn","version":"1.0.5","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.5","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"b1fc353be4bc8abcea7c01621c0746ad9c260926","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.5.tgz","fileCount":5,"integrity":"sha512-F+GAK2d8GRDQrmFw00Sx9ZjxgY3kxg1xawVIOhZ4djKWUMHY2hHjBhY5b0FdJSxniuom+f+ZRdwlVL88UWPRCQ==","signatures":[{"sig":"MEUCIQCzk46EBvyGu35ILQqkGsZ1AbWxpLQ/xs/hHOrNopuQBAIgUSgLW/Kqb5oSb44bWErSKbSORBSJIAGNkhROx+ZrX6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69822},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0b78a883b6b7366b63429cf8fc711bfa5e35bd63","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rm -rf dist","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","typescript":"^5.9.2","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.5_1759306323283_0.1584267767124683","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"l-js-fn","version":"1.0.6","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.6","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"52be22d54fa21b5967d47efa034edcdcb4fc5146","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.6.tgz","fileCount":5,"integrity":"sha512-KAl2cqNQeY78AHsjHr+sW0DMjg1BTulvQQ/ND07hVskviUZpQ8sFHvgqVJB1kpcDcTNXWUyMrkpmVRIMakUUNw==","signatures":[{"sig":"MEUCIDd2f4xQj2RmE9eawhw3WURHLYRvmbJbb0jfTcB47sz/AiEAwyVxBT08WxiNM1Ik4eI5bMmB3v4RxLURBrYkZETEaGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80100},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"222626a5563cd6bfe2ca4ef27f48ea6b0cc2b569","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rimraf dist","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.8.2","description":"整理了常用的js方法","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.2","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.6_1759341301457_0.8989784427963439","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"l-js-fn","version":"1.0.7","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.7","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"4a2e0ba6bb334c97614d9d1fcd9ade13b4e93976","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.7.tgz","fileCount":5,"integrity":"sha512-f3gs3q4x7ffNRB3J/bsC1ZTWr+Kizk9S4iPVUw/N2rsdyoo3F71YlTdOxk7c1R57MUxk4OZLGxdDesJM+QBVMw==","signatures":[{"sig":"MEUCIH18X1uHrYs3Btc1PJfPfnZiagkc8utznxQeyjEqFhTvAiEAkDKCjkuN63zRvaP9dAj+fB2/4t40MyflT3Qoo9RPM0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85276},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1798a3ee7cc38f9c3f0bdec80f361debd054f9b7","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.8.2","description":"整理了常用的js方法","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.2","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.7_1759343332359_0.5615248096739789","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"l-js-fn","version":"1.0.8","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.8","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"1acc093675441e49e9725e46965d7ed8676d93fe","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.8.tgz","fileCount":5,"integrity":"sha512-EYsypF2XtVkgodAzvGKfKciy4c+iwqWR7YECwhu1k2nuxvZFp0zs7SqKQtlwkr97fJq41LxFaNn7HdIgYb/avQ==","signatures":[{"sig":"MEQCIDVTfgZYq9PwIgqke152FcyhrmCPLE5Ln+HaP+zU+hXWAiBuWEagFpeAAIntUGsFFHZmC18LyLxmCCcEkSmO3YSQKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59405},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d0f389b84f7fca890d31d3ff063be37443c0147a","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","test":"jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.8.2","description":"整理了常用的js方法","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.8_1759376411316_0.31324527540758806","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"l-js-fn","version":"1.0.9","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.9","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"7cab3124ed673cb885b6d746eefa91e01fceb5d7","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.9.tgz","fileCount":5,"integrity":"sha512-mXzIoU6uIF1eZSW/ZwMRtWSwaLXktxoEky5OWytIGOctUyzEB3PZ/3aTWvUgI5yjyGYzcX+qh2jzDCA4fREC7g==","signatures":[{"sig":"MEYCIQC6rAWuxhAMRSffftE76zRbwyF9p8cGsabiq3rXpMN8hQIhAPITTJ0CUN1N+JRDAQYSWQlcuUlD/lBK6vZ4b3RUI6ZA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63133},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d8bd54834d72dca825da2fd867474efc8f402d4c","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","test":"jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.8.2","description":"整理了常用的js方法","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.9_1759380843749_0.21663239460708072","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"l-js-fn","version":"1.0.10","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.10","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"886f18e892097aa3fc26c150ad8fcee55daa16aa","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.10.tgz","fileCount":5,"integrity":"sha512-urn6F43rtnpzeY8VBZ1kxOQOthLuuMpxjdCPcQx52O1X0F9sZ9LLGFrsj7lPEZ3ApfdqY0uAt9Olq6Dwd7LboA==","signatures":[{"sig":"MEQCIEWIWvTOotQF0MD1Nea2zZxjvigrHw2cpBDyCnC8kmJZAiBwrY1C7Ysr0o8ftrbVXPc5cSggKXBSZuKeKwsTIAzRTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70080},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a0a2f35555e4323019462114d39e2afcbdc9b8c6","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --watch","test":"jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.8.2","description":"整理了常用的js方法","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.10_1759382673948_0.5012383674625815","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"l-js-fn","version":"1.0.11","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.11","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"3c784d17af3b3b4156a92144c00b53ad2a5739d7","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.11.tgz","fileCount":5,"integrity":"sha512-4OP4u8a2Io78t+QWPHjEep4Vc7INR1wmur+pjCvZMZ94EZ2Y1dSEjtYQASut6t2gJJ9dt9rDAe5zt9pkwTarTQ==","signatures":[{"sig":"MEUCIBMNBy8w+kETWwNQ1mvpoGesFzfVJfi/CIKJilIUSC3HAiEA3ti0pr1SFtZl0YYen6GDx7Goznpg/0pWzye7BUqI0ao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79377},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c8e6886268688e9392bf7b6f685e52c86a036c09","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.11_1760328992879_0.7056823389834395","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"l-js-fn","version":"1.0.12","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.12","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"71033ff7944ff17ccebc0f6ce9e821310d9bbe2d","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.12.tgz","fileCount":5,"integrity":"sha512-VzNJvfO84ysyx6aEmbr93F6kDucc0/XuZBGvEJBrFCD7/vzCDsBBHVjr1Au+zS+lD8t+ZkKpqtBylWvGsCU8ig==","signatures":[{"sig":"MEUCIFxGaKtecwCGu7A6Tx+grtH+Sch90CzKR32CPXMUGVFMAiEAx+o9KsYxO7ykXWwoDcfdWPR/lTNNqLjmmx4whuGbLEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80187},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c108b3233a96099806949057e5ea9001bbaf1c7a","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.12_1760427333511_0.6377746394841164","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"l-js-fn","version":"1.0.13","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.0.13","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"ffdf2c5097879b61e02ad0c3230892f9ed4cf83f","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.0.13.tgz","fileCount":5,"integrity":"sha512-NxOQGrEL2A9n8eAp9rvqJumDFsg9AU12LvjUVQpIkOBugE1ewg+ZVN67HkVl//5PydbNAAHUnaOyKDmJvuJ/0g==","signatures":[{"sig":"MEUCIG7ZDYuMl1acKehV5UcIyIZZJ5ODtkQHyHk0FgutH9zbAiEAqRaFEhTEbqOcNmg5qnQW9adDP1sJjmWJswxh5sV3sTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80715},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f0585158c7529ff8dbf883c8f3e7e4ffa7f4ce49","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.0.13_1760430348586_0.586764612508246","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"l-js-fn","version":"1.1.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.1.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"bb8db9494308a916ae29399a88237bed9fabecf6","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.1.0.tgz","fileCount":5,"integrity":"sha512-aucYYFu7RMfWorh2MZObV9jypgvJ2bjPOdjvbZB9KXzWVW+2z5Q6fRPhW1+hBFFxyFQCIyVR1vyJtgd007OYsA==","signatures":[{"sig":"MEUCIEc3YJJi7eADDX6tCH1IyfARncKPyp1+JkWNcZ0x0nhvAiEApx5ctin/0b82omcxyCyagkanxVG/uGqbvZusyI2i1dE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80667},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8f6773243aff9f0f8787fcceab3cc8e5af8cec7a","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:npm":"npm run build && npm publish"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.1.0_1760494471491_0.007516535042362049","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"l-js-fn","version":"1.1.1","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.1.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"91faece52c8a6b775c180f85b6631db8979e8ae2","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.1.1.tgz","fileCount":5,"integrity":"sha512-6IWwq5UyT2AdpA2UKS+IqR7+EwFfs73BFmDcR5lxXIHUfaoA/Ls0+2sTh5Yzzm3TPJubIAHyn2nWUoPbrx56qg==","signatures":[{"sig":"MEQCIQDTVPtwHCLfpwItZxoRi2OSnTAcbcUqZ6pCZMOCGeXNXAIfSmw5Rk/a71k0WqGC4lyMh2ITSlijGa9PZrIV7h5GZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81865},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"ee9d2922d22a4734a61c8fc622f3e59a49f00b1b","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"jest --coverage","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.1.1_1760503167569_0.9893604956829793","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"l-js-fn","version":"1.1.2","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.1.2","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"f31e8626c3ae65833118083cfd8b17194010ab92","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.1.2.tgz","fileCount":5,"integrity":"sha512-Ef8rrVgdhpWBtrjN9vItYEcURBBroOBXHbbp9yqIcpM7U0B1d5nWo6ir1PjE36r+xUHp9I+Sy72PMJwMoOXwxQ==","signatures":[{"sig":"MEUCIB9XB9Dn+uIPfX5F29EQhZuxHj6Z+VyDLJV7ZNcJV4fnAiEA2A4FYT/9RchSR0RZh5YVDi5JbJh2Q/aAJx0OBw/Appk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81777},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"1a0d59e1a847526af39a5269d7b2c475d5326c84","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"jest --coverage","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.1.2_1760519293914_0.8428014938839941","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"l-js-fn","version":"1.2.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.2.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"4701c1f022cce8dd009347357f73990b42335a9b","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.2.0.tgz","fileCount":5,"integrity":"sha512-TkrLWPp9kXocaGg9KEH8KjGQT7hAWngVGrvM1uzQe4IYCWvHAkyn74VchDOB90qgtC0vbeTNdI7hQ1YSFUu1jA==","signatures":[{"sig":"MEQCIBlykfDmlGHlXDlb/x6x5WkYjua47g5Cf3cHsDlqY5KQAiBd2wQwefJ5JMwcWY/e/fZArexH4oB3FuA7odiGfmWkjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91840},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"ece0cfd82067d63ddf4f7b812883f3c5da343c2c","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.2.0_1760584486455_0.4832547218807619","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"l-js-fn","version":"1.3.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.3.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"da5d191431eeaa5eeb4e2bdafa0dae3a30d9127d","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.3.0.tgz","fileCount":5,"integrity":"sha512-Hl/wIG2tpGb1ezzDtwWr9I4mQlGIZK5QhwIf5Ts5n4NvjVRhP6FxjXofOALYmuLG/613CNGo1aVz0rgti0PsKg==","signatures":[{"sig":"MEUCIB03/t1J36sNUUmuU/XsQUV3w+ckwkjZFX7v3vG2a3ABAiEA9YI8IhDifDrGINa9a0QJWAwq4eI5djMx6UImnSAUneo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94681},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"e5f3f43f166a7742bbedb7a073aa66b817452c35","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.3.0_1760606534125_0.2698208374022759","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"l-js-fn","version":"1.3.1","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.3.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"4046997405852e2ded5be737ff7fa70e8614485a","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.3.1.tgz","fileCount":5,"integrity":"sha512-5poqaN92GCgurYLdJWbSI4mLDs6CbCRoc+223scF2JUe5ceow9iR75hRsBBz0wmbsCGd6A6atKBMS23pKWYc4g==","signatures":[{"sig":"MEYCIQCxJkzKvE4rKH3sAFbTO4681OZxeqSZ90C4YcvP4tVa6AIhAMzjrQd4QeGBugqkSPO1lZ3jYEowpMHgHfPtI2f/KljZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94935},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"8f211e6e4fb19d2ae704e567dd7e599fabac19bc","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.3.1_1760607684774_0.4911319714756681","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"l-js-fn","version":"1.3.2","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.3.2","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"89fd863e07b3bf44907571298ffa834bdea791b7","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.3.2.tgz","fileCount":5,"integrity":"sha512-xe+TI2LzTOY5kZRjZPGcD7WoQEc4F3dZ+URVrJVfiExBFft7pZlRM+kHae09IBbCyWH7cvHhf4yAKanP2RLwEg==","signatures":[{"sig":"MEUCICToqYbTTyw6rSXt8fkXaPF4SaCsTnY5PZTZZrenlUtiAiEA9rZuRPOiJqpc0RiXxpirKy09ebB3TyDVIc7Sd//ByyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94833},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"bb7a85310abde21dd705dde3341179e7151544d0","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.3.2_1760624605895_0.727940128562951","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"l-js-fn","version":"1.4.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.4.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"5ef49ef9f82bdcabac8d136528aeeb0d541845d7","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.4.0.tgz","fileCount":5,"integrity":"sha512-wQRB0NP2ptSlaIyao3qeSEFVIC9Qg2YqrxnPorAGXdyT9QYggXE/ThbBeiAMoucB1qdQr6FK6veA9OtTWND12Q==","signatures":[{"sig":"MEQCIG+LVn21zaETKeUFJ4501l9JwSLtPMRnaeEZaEiKb89JAiBpwn11iQney/Zn4zSAiQjZddVmtlLIYIq/hTnjDRM/dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97600},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"000cbba69cf54223e1f99112149e3bb54941bdad","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","jest-environment-jsdom":"^30.2.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.4.0_1761014912161_0.795409880529468","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"l-js-fn","version":"1.6.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.6.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"ac627fae038533efda825a0311c8de47725fe8b0","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.6.0.tgz","fileCount":5,"integrity":"sha512-JsV/FFDJ8ivFIsxm4XPNi1rUN0/9qQBfj7+Pgahe4ggAMgp0BDZgIquYeU3+P4/eJZlUSNhls0PCv1m/6oddSg==","signatures":[{"sig":"MEUCIQClcpEo/Q2BZ6oOYvPIHwh4Bn5K/H/louJmmepEYFd8WQIgX6KgM6l/KNITM8L0V95wpVQ2PsDuL5pNIwvtujUnfzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101443},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"ba8b9f631f43d58946deda8e89b2ad62e48f1dfe","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.8.2","description":"整理了常用的js方法","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.6.0_1761055246639_0.5796713237278832","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"l-js-fn","version":"1.7.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.7.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"6831153b017e346ac564bbd1d0ddee21232caf09","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.7.0.tgz","fileCount":5,"integrity":"sha512-LW5/VtMnLbMYWraVrlKFeqEMCDy8oEBfzmGA4CbHfsBGfBb1azKmXJNu3PhFrb/E0cPA1vZDZ0dl0/I1rrF2MQ==","signatures":[{"sig":"MEYCIQCSvEwS4KWOwJwI9tGbuIx4plOXuyvtY3AGEEoYQKeIEAIhAKaYlG9pZ8VDZrsq5VNcItNzD+WrTDBHjLJzX1d6Lt3m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102483},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"9c29bd62c4880b06a542e5cb291fa73ad5bf5f49","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.7.0_1761558958207_0.2921177170978204","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"l-js-fn","version":"1.8.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@1.8.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"7e9cedcc258478f85b002944456137101ee4160b","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-1.8.0.tgz","fileCount":5,"integrity":"sha512-G+8JJJnYrp4jH0vHler6EtGpSAvbOSzguE5Z9/juQPfvgdhd0wjCGGRelRWP6hfX702TE4ecvnO1wjxZZ5EMzw==","signatures":[{"sig":"MEUCIEwyU40Z4crjjkLxAIF5OzNL969UV2MUJtJ6hgVlyO4cAiEAvl+cxXeuU+BlpobRbUhS3Qmr/ow3j7nElATtzuuCZnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105082},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"e7bc2cd9444f98319b98a3c2be664f4b32b97b2c","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_1.8.0_1761723364315_0.21261187297119588","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"l-js-fn","version":"2.0.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@2.0.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"e1d078ea869ab90fadf1b8af89630a6e56a7bacf","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-2.0.0.tgz","fileCount":5,"integrity":"sha512-tD37wx+CkwCdgISGvxTmTr2idHPvnoxUktKqnxbXfytCHSxf488PSHr7IPoj+vICxnrAQYQyCNtu7ENDN0B6TQ==","signatures":[{"sig":"MEYCIQD1lSuuLBydpik6Sb1cl/9DHkxeXDcCaK3GLLuUJ9OBYAIhAIOyZfcoiCMooj+bKqPTw9cKqzYxuUMaBYYfxJx5Vw4S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93225},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"45cae1f7469509d32556b7b4c7543dd531506819","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_2.0.0_1762935678702_0.8744438188365975","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"l-js-fn","version":"2.1.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@2.1.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"79227561cad9b167965ae0252751537207ee7120","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-2.1.0.tgz","fileCount":5,"integrity":"sha512-uWCyfekzeYEluHchud9z4yHzu3i/rz807fvUkt23ZSJTrI0ZjabyhnuUjUb3qbWkJShqiDgKfwCfck8V24Llbw==","signatures":[{"sig":"MEYCIQDmiAS7KUu2hoXGjy1C9HZCZqdOtNI4muIW4B59qP2gfwIhAJgqxNMJZfv0ZcBWt8rWo8O7/DJISIAKP++OxVzDOVXZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94481},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"8645e3806a647dc56f4e89664a01d3aa17ef1e3c","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_2.1.0_1762998851053_0.5713221916066926","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"l-js-fn","version":"2.2.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@2.2.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"2d7faa7bcb0721bb830728ff4e335151bf9be86b","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-2.2.0.tgz","fileCount":5,"integrity":"sha512-OP7lAgSQigqMrV/lEXw3KBBvnHf9+Wx7dc3jl9paI1es1Jp7DzGsVgblsb9mXNnb7/jqqxvSq0llW+lffuWDYg==","signatures":[{"sig":"MEQCIEn47Duq4OZ1c9rcVCyxOHCfNHCu+8fYN3RZLvniywSmAiBaLHnDpLpkuBkkSresNsiyc9Y5ui99K0l82cK6c/be2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97608},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"5074c878997df0eead60a5fdc76c3c72f8eea525","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup src/index.ts --format esm,cjs --dts --minify --treeshake","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_2.2.0_1763004825801_0.19354886216328993","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"l-js-fn","version":"3.0.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.0.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"8187fe45e1b558049c4303ec0daa544caf3b32c2","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.0.0.tgz","fileCount":22,"integrity":"sha512-YVh5kRazNsY6BXJ4kh3TPmyeTRgOjUGjnhR/SraP+NN2eN8bO/ZTSNi3nATZbKWEvWleAe+mG4npOwSfpfeG9g==","signatures":[{"sig":"MEUCIQC2U3lAfV581kbI/EtwwOJs+jIyRFJVBqCCadB28ZFrjQIgVqt9Daw0qM5RfMYbo1s9gQc9rWchJCzWqHLihflUP0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118322},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"}},"gitHead":"1ce21ddc86afca61a52f000b4e2cdbaf4eca1144","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.0.0_1763360801013_0.34509820774494937","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"l-js-fn","version":"3.0.1","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.0.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"a6865b33f9afeb11dff5a0565082cc507121dfbb","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.0.1.tgz","fileCount":22,"integrity":"sha512-q8KChvk0lFuPDmXGeD8XJ2Dy9McnQZK751Ifl2HPCOCLhKqO0q2CSKeSlsZxWPONScUmdS9Z7p5F/CfzFjr/bA==","signatures":[{"sig":"MEUCIQCcTQ70F7ruuxOKRXkaLD8rJ1CdX/zGhd9+i+ZqCrfiSAIgSo8ofZnRpIUHv3Hg3P0iaHyvxFwLSU8XN8Q9c7luNyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75516},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"}},"gitHead":"0049e522ab21b930ef11c61566d89b168c31cbd9","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.0.1_1763361921523_0.819771061018268","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"l-js-fn","version":"3.1.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.1.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"117dec0d268dffceb60f8ca2d7b3581dff7e3838","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.1.0.tgz","fileCount":22,"integrity":"sha512-xdrz2SV3fPnTrLkkrTpi06iv+e3v3v4pW4xA640HXYbbOKdRXIunqPlXEybFfkcBYHWBUqosKMsdIx94XzxLTA==","signatures":[{"sig":"MEYCIQDm9fvMiB3tCj9tF53SOm7ZqbFOp9vQqKa5qLlHfNcsJwIhAKJ+aOR3zsnk8KSYrNpD9ZWP1lAOxLZDcXvEIghZ+Bf6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76255},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"}},"gitHead":"c75d235d92b0a27bed4aafd41dc92eb216b7d338","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.1.0_1763710940598_0.7424251335053405","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"l-js-fn","version":"3.2.0","keywords":["javascript","lib","js-utils","js-function"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.2.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"5c1229ec136899c639d7f7067d247536eba98544","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.2.0.tgz","fileCount":22,"integrity":"sha512-eVB55XPAGeahEbf89lgnLzLrIEO0AKPQVkJ8R+l0ghHqRaEounsnCU27QMx2mSGO4S+JBc+Y6xkbbUIx56b2VA==","signatures":[{"sig":"MEUCIGrhFvq5HPx/KZl22AdIusbjFgoRzyMMJ5HSGnP7cjElAiEArzCM25qTKMK3RINGQmEMpU/41HJ3TSPagsCOSI3RSoE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76744},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"}},"gitHead":"36e43d6862c1eea12f1746e205e7d0c110b6d9e3","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"整理了常用的js方法","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","typescript":"^5.9.3","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.2.0_1764727951126_0.04937437353561913","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"l-js-fn","version":"3.2.1","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.2.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"9b43a59dcaca5a1245950d17190affed52062faf","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.2.1.tgz","fileCount":23,"integrity":"sha512-OsAMFY7xwOsPbVL6Xky+U3qPUYk0irVs9fqmXYSYN3cchX1WXFS4puObg/LbTzq9s33PzGInsrs5elX14bRu3w==","signatures":[{"sig":"MEUCIQC/jNhmrJGPH/JzRj+12aiDoF9BEwPUC9Ym3C5nYdfvLwIgTlJYXiAgJkhHsqNyTFiHX3OAdgbP6iycLEwp2GclEyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79190},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"}},"gitHead":"4ddb2b853256feb245706bb227ccccc3da7ba7c5","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","docs":"typedoc --options typedoc.json","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:serve":"npx serve docs/api -p 8080","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","typedoc":"^0.28.16","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.2.1_1769592019703_0.975059256724605","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"l-js-fn","version":"3.3.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.3.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"89735bd4e44e18898dfaaffa10fb80351a2e6b2c","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.3.0.tgz","fileCount":33,"integrity":"sha512-GqesNZVP2cppkrEnaP9h4yjHHXhI3SFD5tbH6e7AuQ7AgjIICcOg5Xo4DBvOdZVA5Yjd1P2TzhrcsN9bGCTqQw==","signatures":[{"sig":"MEUCIAgYDBAovToh4B+kpo8I41QW+8db4lDWzRPK9J6QcbTNAiEA25ZGcYSUOZprWiK0l2JPQ7RrKPJjbJ4ymmiyJHFIWEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127751},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"06a32312c94cce3d084a08b32005387d882c6396","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.5.1","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.3.0_1770344450415_0.2839332161671282","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"l-js-fn","version":"3.4.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.4.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"07a620eab65510fec24ba12a2a1447433e04c49f","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.4.0.tgz","fileCount":33,"integrity":"sha512-wqhEf84f4UQLqV2rSgQQyjZqD+L6S3ZeNMnmkQXY/PkOJC0xPaXGhXU1g08Dcg1GK3KlLZNUOKtSrgMC7rZokg==","signatures":[{"sig":"MEYCIQCYs2LZfw/D4hjxv8vy550UpCcfzrb/DNN8FliFwVJlQAIhAIc5wJZ3ojoaOmsW8QRKHQY9aIxBZTt76a7pIyX4cVwX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131446},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"c512adf0ca368757496ee0a80bdf30d339208859","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.4.0_1775007810932_0.9801461435617371","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"l-js-fn","version":"3.4.1","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.4.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"fce854d19fba0135bfea4799ae5536693e84d9fa","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.4.1.tgz","fileCount":33,"integrity":"sha512-sInq+GHETQhMw18zMXbikvssQRMX6bMHLz42jun9h3Vo/YwvNfmnVb4kU9/IRMA9qo3J2b2ZGSmqXzCYJrFNyw==","signatures":[{"sig":"MEUCIQDwzH4/bZIjUW2mH1AzgsoQPRv11oDSkUm/Khwn39a1XwIgJM/CxKpa8VAgjFAQPyii20ME2d5m2ltzsu4nqSxkNWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131620},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"9d773954c435998cd19f8a724cdbb50e02405968","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.4.1_1776321796541_0.34523024555182213","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"l-js-fn","version":"3.4.2","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.4.2","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"d93c8ab939943d0d8e90764af3a68dcf92a385db","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.4.2.tgz","fileCount":33,"integrity":"sha512-N3XNDii7BbKvl1d4lTU0jgn6wtEyqOZ79Eqk5+H5j6Frqfi3f//iF/IAuH9doflt5JpdMq1MnBjJTWU7AeRXOQ==","signatures":[{"sig":"MEQCIEpks9ncKseII+jewety/ompkIR/Bb1TxlQ/TOSl2oNXAiAEP6bkB5fl1w9Pcv7f8KHHntkU5oEupBfUD5f8Ak9PSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132361},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"b163e66670036d2a263d2e597d3ba2e43608d89e","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.4.2_1783067230863_0.6560341520122654","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"l-js-fn","version":"3.5.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.5.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"dist":{"shasum":"7e71371400b2da9fe613a2a86316f2fbbaa90c5c","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.5.0.tgz","fileCount":33,"integrity":"sha512-nePmoC2N1eKisCATHMBecs4EsFfPnDtGv0NRmM+2H336ek5XafIfScBiDr0C3JhKCzijsX5wWSCEKh+MPmpx0w==","signatures":[{"sig":"MEQCIGQpOmCg5uQp5yO+vNslD/JJdGqkJrt9b3nJiJ9hrUHtAiAHaj0yuSKVLHSjXskUsH8s+IlWSTn84wZIBTpgj7KkqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134092},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"1e8bddc02f1fdc216263718accf3eab42029cfb2","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.5.0_1785121831573_0.9820132813794136","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"l-js-fn","version":"3.6.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.6.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"781924ab88760781955035df4d9e147a58150413","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.6.0.tgz","fileCount":33,"integrity":"sha512-qoPCcnWupNC95nJq/lWOD4QDEv85Xc6obb0eHJXwmimwgZPv23DDP553MWuOzGkAd8JjJVWT4tWR5/bgFX0vfw==","signatures":[{"sig":"MEUCIQCnNFmeeKpgh5/zpaLoG0+glr9V9U84W8wfWOjmcv/IzwIgKm68eOsVA92w/6KDgsXgppiO4jjtRWk/fKyVYN7wQCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153671},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"418a9ac4797b741b68f4cf0f92ad059901ca989c","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.6.0_1785133999291_0.47294531263387407","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"l-js-fn","version":"3.7.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.7.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"dd510c39b6253488f45485c04bbbf0cc470f80c1","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.7.0.tgz","fileCount":33,"integrity":"sha512-Ktwr8jGrWPJdyOOmntXJPyyt21sGCgB6ZTVvMTCiyiASE+E/CthpqNuQ/rqzeOWWAffEtyrXAiFgYoK5+N2gzw==","signatures":[{"sig":"MEUCIHSqlMuNq6vnS2uOyZaLM8XyZsaWrq+OW9pRO1dPy/6zAiEAlaj824Wy1N/8qp9w3KgHDVesBBswb6D78ravu/a5cKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155370},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"84eb6fb16f258b9b3f57dce25ede1ed1cad3ed32","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.7.0_1785309682383_0.2975106888701051","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"l-js-fn","version":"3.7.1","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.7.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"c85a3dd109473c0d2ce45b0c5edbd7b2d3934d18","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.7.1.tgz","fileCount":33,"integrity":"sha512-Ttzf5RxoOwQTYz2li6ot5z5MaSUnZ56Uke82gRWIP2RZxu2wIDzY+tbm69cxeW8dviz+0hpd7g9wv/sHAnq+cg==","signatures":[{"sig":"MEUCIEp2j4hrYoOfWOm2k/DTQduha/xhTYhB9vv/tGeTGWOpAiEA6+nmkp3zLEillPQF8hSOKrpgC+zKe+7Lxi0vBysylVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157502},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"}},"gitHead":"ba0449b370d30d7f97eae0b84a6b7940e7868e33","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.7.1_1785310430076_0.589819962324702","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"l-js-fn","version":"3.8.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.8.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"2190fec52ec1c5f78e321d70ffb7e12aa8e16a86","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.8.0.tgz","fileCount":36,"integrity":"sha512-hrZveLTfiToXSutfzB+Rq1z4O2/IVkra85a7Trq1ajRYUY+wka7K51Id6fqJq5hA9UopYnAW6rB2OJP7dB6M5w==","signatures":[{"sig":"MEQCIDTkR1ClMdsfh1+8gCw/7EVxN//dxEZ68q9lNUGdWrcJAiBJ5U9ujTJw1pzSrKk3Du5cLGlMRYwN71GHpnEHSs7/Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162152},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"7c170d0da31f876fa1945fb3f3fdcdc1fe3445d5","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.8.0_1785317778091_0.6624076390106028","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"l-js-fn","version":"3.9.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.9.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"09efd05f4a886b74793727c23fe6e24dc9210242","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.9.0.tgz","fileCount":39,"integrity":"sha512-r5aHOX/Q6+6aum4VW9cth5mDyw3JxKcUnN8ksqVIplbKzrXWPFl0PWaeLI7V22mL4lsdsEXBFBDHObnMygxdFg==","signatures":[{"sig":"MEUCIQDKUHw4t45l7nlBvvK1kG67XxX3cZpEbXxtSD8E+NnttAIgRf6DiD2AA0X5X566M3IhH4AuUOR9RaxTbTYh1oqSHeU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182740},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"7c480eda1f01b45f19376cf7ccc1253dcaa200c9","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.9.0_1785378431642_0.9144763856248888","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"l-js-fn","version":"3.10.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.10.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"591071f0294f092a22d684d3af1ee94802c84d69","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.10.0.tgz","fileCount":39,"integrity":"sha512-n5BgVK3m/0bEc+AQomhZtkmcQuoLq7vqVuPNEbpnWzmT1ahwM2r8d0Zj2np8vw7Vc0peYCaoLRRvuMFeqnZ1Nw==","signatures":[{"sig":"MEUCIQDeeqAoRntCci5FH5rKWRKXy/nX9DSxvQU65WqMmydn1wIgFq4+QxdkmJWP1U4e/bExHJnCPJxFJtYFGA2Za3AuZLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185246},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"c71162a5f244141db3d47503f08a41665f193617","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.10.0_1785401061582_0.5083188912840202","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"l-js-fn","version":"3.11.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.11.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"29bb94e336802e9be05c03e2eae42a9a6780996b","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.11.0.tgz","fileCount":39,"integrity":"sha512-hwfnSvon8VBUbdXkqECVwdRx9+tKdhxStEIrWNA8Q0NJvLFM4q3CpgxmRhJUJhgL7gJUXfdkFHvOInpaBSuW7A==","signatures":[{"sig":"MEYCIQChr5L0k+iKjjppdZfc/7nPKSmhB4BS4C32GKNdjK0KggIhAPfTLYFTV1yoWYcJxUz1YbO+EUqJbVU+IagV17/loUdm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193602},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"a2bf819fb02da83dfb0430a020b0c7cef2e51671","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.11.0_1785479200865_0.8023422422147404","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"l-js-fn","version":"3.12.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.12.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"585ec04b0cb5f9e7d05f9727c5d8104aa9e7e145","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.12.0.tgz","fileCount":39,"integrity":"sha512-472xhTGLnQC12Z8ONK1pWf+7ITv90375Hv3EhuQgH3+7PFVea+nWLhR+GJJ0P/s8SpRzlNSQBZVBxgRBUXwuNA==","signatures":[{"sig":"MEQCIFuYJCkJPtJ1Idf54Lu4RoE69X8nS80dTGXtJDdrW0JvAiAXdGSYbQrc/yAbMTAjkrBPh6qLqVSlr5EQOFHslJ0WgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195977},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"66f66c30125b81e8721523b7286451d6d1e9e053","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.12.0_1785487793248_0.1594732990238843","host":"s3://npm-registry-packages-npm-production"}},"3.12.1":{"name":"l-js-fn","version":"3.12.1","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.12.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"25470e2a8e531ce1fe74dada49578350d1d3856a","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.12.1.tgz","fileCount":39,"integrity":"sha512-qW+XPCcjsNK2ThmA8KWtBIfmdIstHBDecRLnyPOsgsjwd6sbKihdeYAs5x9ePact0Tip6SAiiGp4ZCyShq2ytg==","signatures":[{"sig":"MEYCIQCrT+YbgzR1Eswzc65qFggyYSaAER+PdSl54I+bYWQuawIhAKOJlOYx/eqG97v5NsvhcGXALYz8YPeMoWQQMFUKUyQa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199235},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"44105d356d121a8b579a53bb7cbd30cf365d8322","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.12.1_1785489292217_0.3959573482487606","host":"s3://npm-registry-packages-npm-production"}},"3.12.2":{"name":"l-js-fn","version":"3.12.2","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.12.2","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"65a55f12ab24ca71695bb4780d378365d0eb83a4","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.12.2.tgz","fileCount":39,"integrity":"sha512-GBDX8ql2xnkYsQaUIzV/L9u8epjBXPWJPBck2G0lnXDR8cySeMDvuS5XHNo/G7WY+cdMMWSYk89oqwruiM+R3A==","signatures":[{"sig":"MEYCIQC+eba4/P84erR2w2Nt9vcYUK2sODAWBsa4g8HLcKrbXwIhAMqy9cPBa6Y8jbdvoDQIwrcdu2z+riW+xquFXBBTCNnO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199451},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"d12e8d5c1436dd213b06015495a703b8c2a2b201","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.12.2_1785829357336_0.7794988465167776","host":"s3://npm-registry-packages-npm-production"}},"3.12.3":{"name":"l-js-fn","version":"3.12.3","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.12.3","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"5d3fd125a016aedf465d61ecae18a4ee3d1c4b05","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.12.3.tgz","fileCount":39,"integrity":"sha512-Vypgmdj2Ys+4moBgXnN+PcnCreQ6jodgsH2Shye+id+fD7AeRMUQub1CXI/GrWzINhDNFzxLtbcuSQL99++B2A==","signatures":[{"sig":"MEUCIQDHy3mFC0ooOIg9rqFSnDLv6LmgForz4j25tVWwksqu2AIgZr/akw2+3Mie/J2YPDrc0qAD6/TlMZ2GKzZQLO/yZs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199363},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"d1fe09d07825ca73719277962cc707411274f196","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.12.3_1785915042215_0.18146981275216412","host":"s3://npm-registry-packages-npm-production"}},"3.12.4":{"name":"l-js-fn","version":"3.12.4","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.12.4","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"0b6707c4635e8fc7dfed01440de34de64b53cfbe","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.12.4.tgz","fileCount":39,"integrity":"sha512-tsKIiQDOgPJeIu4x3zNktvt4nrOEJnG03+8By/3DoPbVgwEwAoHBIHsPGQkneeSnVMlsiGSJ+DGboXo6g1PJDQ==","signatures":[{"sig":"MEQCIGZxblthv2WPU1sGU2dAGFHkDnHwGb9ghxqRwzUA7d+CAiBL/0gBv1GU61XDGz7h8KWFhfjbeKZ1l9QU0PxFiQvNcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197685},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"dbe42ad91ae44a20d494237910bc41cfd7e22d3f","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.12.4_1785983040962_0.027614085124628263","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"l-js-fn","version":"3.13.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.13.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"535b6799f3bd2fdb47465955f70bb756c700aa7b","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.13.0.tgz","fileCount":42,"integrity":"sha512-4z+aUserRU/CfuWswpC9wtn8GK8s8Laokf/cF9vOfVvJeo/XXNlz0YuWtUs/2neadEgZxP9gw1Fv9UrXlYu2MA==","signatures":[{"sig":"MEUCIQCe5l8BUvS/spNVZ6dYlBmGkM8k3x8r3MdmVWcTi3i0vwIgUNwsPv6L5GGpz9LcbSNoFv4vd5dwXtP9EvwCDHRWvRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261574},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"c961170f6c76c1a0caa1ab25fafff9b02a673534","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.13.0_1786070803504_0.9496548363976518","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"name":"l-js-fn","version":"3.14.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.14.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"d0384e554532c4cc72573404a52b47833d88e08c","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.14.0.tgz","fileCount":42,"integrity":"sha512-Qof+53NC8/K7sFcGMoZbmKh1fPJrp4MgGGyLBBfpJIRSgjCBICFNtFcSsPfWK4ge9IeX96dNVX69itWkRMXPSQ==","signatures":[{"sig":"MEUCIQC5EdR/B4ZLWJwu8eTJfdqbiP2oXk42A4vh5X7PIGMFmAIgQEbLhlSj5PmaYRXKBXvtxv5mQPy6oCeVpvyHeARHgq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273220},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"4fa48e9889d3e4ad04f4d79f03c0714a2d5db95a","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.14.0_1786085781228_0.49758749346670017","host":"s3://npm-registry-packages-npm-production"}},"3.15.0":{"name":"l-js-fn","version":"3.15.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.15.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"8debcddf7d5bb34484347d55ea77740ab70e6de7","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.15.0.tgz","fileCount":42,"integrity":"sha512-bIa1DXdbcWgH+UXCA2aCGVMu/S0XamW5Q978mVZ+asl1j+Q1n3qHUSMI1gcFG8a7KiY6C6vBCgF7trOmFd97Gw==","signatures":[{"sig":"MEQCIFBRSZqdasLn7rhabuvykTPgFx+TMgyHCuZUttllV0QXAiANkr+seM3pr6iJGsFFbjC7SQtTqfIVdWm/jfazAXkcyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277652},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"9d4013a4198439de4bb955cf4137b1796dbda1d1","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.15.0_1786429079187_0.7795447450470847","host":"s3://npm-registry-packages-npm-production"}},"3.16.0":{"name":"l-js-fn","version":"3.16.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.16.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"cd0f09918e2b0e987676f362d742ef6c704e5282","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.16.0.tgz","fileCount":42,"integrity":"sha512-nnOsiHjjb8PIjCP7Trfp+IqHyLZUp7s1hTLEnw8N/B1WK0pjpRsrEeaLARt9Q9mo9ZvbPeh+KA9JdzwqTr5Sjw==","signatures":[{"sig":"MEQCIBp3ZqmHrVx7Big2sp1mBnH8gGdPas5whIGl8XXOWcxOAiBPWWMoPU4jtB7kZVDxBrfwMO54NPxCCf7K3EkSwv+Big==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":537054},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"256bc6d58fd592eb9be0b4458d18d560d5eaa972","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.16.0_1786516482105_0.48567518799740084","host":"s3://npm-registry-packages-npm-production"}},"3.17.0":{"name":"l-js-fn","version":"3.17.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.17.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"837b7b8ffee429667ba913b0485744a518bdb213","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.17.0.tgz","fileCount":42,"integrity":"sha512-SZdfl7Y1nRJF9oSbXav6fMzdS+LjWkWgsMkpiXw+u683wtk40KLrYYaYP26usKla6/FZIQ27NOL0e5QwBGsjKQ==","signatures":[{"sig":"MEQCIHEVViLH2x+pKPZe3hy5ktoh3GBGFRP+G09Tgu8l9yPKAiAPdcW3Z5TH9w2yeBgTWPf6ygAzkhM4WsYfVPkXmHd25g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":588274},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"3fed49eb26c4ce84e649ba153a265f5ffcafeccf","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.17.0_1786519936772_0.4997421575154195","host":"s3://npm-registry-packages-npm-production"}},"3.17.1":{"name":"l-js-fn","version":"3.17.1","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.17.1","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"e7e4e8b4a3a5255bcd21155dee7b561ece10f5d5","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.17.1.tgz","fileCount":42,"integrity":"sha512-IUVDBsIJOvPDMvTBGs/mtl6InUSXUFzqpCyp4xEtg1m0hlqHb1tlApJLhI17ERvNtHaVJdDSKooJOSyjbbRWRA==","signatures":[{"sig":"MEQCIFm8DKiNyJkrKtx9Qe8oj7HgUAXb3BoRzdrHj6RiYsoJAiABnN9o4Pb3WTImQkh+1jdcPJOupJEjS1s6ycEQha/SJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587611},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"7d3429dee5479021c02e16b21ba11960637c3f12","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.17.1_1786692440118_0.13413797640285496","host":"s3://npm-registry-packages-npm-production"}},"3.18.0":{"name":"l-js-fn","version":"3.18.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.18.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"d15d94e6fbdfde97ea30431fbd6c0905a80ea3c0","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.18.0.tgz","fileCount":45,"integrity":"sha512-MYh+eRztGYchfPD98U+GuGjZJ2L4Taz9iQUW7ETTMKUhA3tppl+8NT3o+ESaXvHVTNwVzb7o/lbvP33ccC54Pw==","signatures":[{"sig":"MEUCIFvFx/YDLYEZ4196P6qblFSRmR/c7dzM4nKZXwhk+TIeAiEAkb6R+RgM01lYrGmCKD/lhFw16JOBoJvNCCxP9kdSOJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607262},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./crypto/sm":{"types":"./dist/crypto/sm.d.ts","import":"./dist/crypto/sm.js","require":"./dist/crypto/sm.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"1dc5f5e19c55b0c855f8b7c0fd8c412a057f9366","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.18.0_1787190070659_0.04606895563758684","host":"s3://npm-registry-packages-npm-production"}},"3.19.0":{"name":"l-js-fn","version":"3.19.0","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","_id":"l-js-fn@3.19.0","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"homepage":"https://jiuxianzai.github.io/l-js-fn/","dist":{"shasum":"bec6c27cbd67bfb0b53edddcba1ebb6b8dd1b589","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-3.19.0.tgz","fileCount":45,"integrity":"sha512-2wdQHW/aofh/a5DjbTtse/rTDxW9EgpJ0KJiLX4iXzgNDNekeHt+n92KhCzH1te5S4jajjW6qf54EtckJ2TFvQ==","signatures":[{"sig":"MEYCIQD4lvSzOuOqmm4tkTVveMA1kVTX0rhYsC4DHkTvRswncAIhAJyLNhAw6s6EtAPwJ3+/Kk9e8aDGWTZQSGxBXxL0Ax4D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608285},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./crypto/sm":{"types":"./dist/crypto/sm.d.ts","import":"./dist/crypto/sm.js","require":"./dist/crypto/sm.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"}},"gitHead":"d440481a89c330baf87f3605f7ab805d43ff6ffa","private":false,"scripts":{"dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","lint":"eslint src __tests__","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","build":"npm run clean && tsup","check":"npm run lint && npx tsc --noEmit && npm run test","clean":"rimraf dist","format":"prettier --write src __tests__","reload":"rimraf package-lock.json && rimraf node_modules && npm install","prepare":"husky install","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:fix":"npm version patch && npm run publish:npm","publish:npm":"npm run build && npm publish","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm","docs:preview":"vitepress preview docs","publish:feat":"npm version minor && npm run publish:npm","publish:major":"npm version major && npm run publish:npm","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage"},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"_npmVersion":"10.9.0","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","tsup":"^8.5.0","husky":"^8.0.3","eslint":"^9.39.5","rimraf":"^6.0.1","ts-jest":"^29.4.6","sm-crypto":"^0.5.3","vitepress":"^1.6.4","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.6.1","@commitlint/cli":"^20.0.0","typescript-eslint":"^8.66.0","@commitlint/config-conventional":"^20.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/l-js-fn_3.19.0_1787209286694_0.8040728434836164","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"l-js-fn","version":"4.0.0","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./bom":{"types":"./dist/bom/index.d.ts","import":"./dist/bom/index.js","require":"./dist/bom/index.cjs"},"./ws":{"types":"./dist/ws/index.d.ts","import":"./dist/ws/index.js","require":"./dist/ws/index.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","require":"./dist/config/index.cjs"},"./ipc":{"types":"./dist/ipc/index.d.ts","import":"./dist/ipc/index.js","require":"./dist/ipc/index.cjs"},"./polling":{"types":"./dist/polling/index.d.ts","import":"./dist/polling/index.js","require":"./dist/polling/index.cjs"},"./regex":{"types":"./dist/regex/index.d.ts","import":"./dist/regex/index.js","require":"./dist/regex/index.cjs"},"./storage":{"types":"./dist/storage/index.d.ts","import":"./dist/storage/index.js","require":"./dist/storage/index.cjs"},"./encode":{"types":"./dist/encode/index.d.ts","import":"./dist/encode/index.js","require":"./dist/encode/index.cjs"},"./event-bus":{"types":"./dist/event-bus/index.d.ts","import":"./dist/event-bus/index.js","require":"./dist/event-bus/index.cjs"},"./file":{"types":"./dist/file/index.d.ts","import":"./dist/file/index.js","require":"./dist/file/index.cjs"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/crypto/index.cjs"},"./crypto/sm":{"types":"./dist/crypto/sm.d.ts","import":"./dist/crypto/sm.js","require":"./dist/crypto/sm.cjs"},"./uniapp":{"types":"./dist/uniapp/index.d.ts","import":"./dist/uniapp/index.js","require":"./dist/uniapp/index.cjs"}},"scripts":{"prepare":"husky install","clean":"rimraf dist","reload":"rimraf package-lock.json && rimraf node_modules && npm install","dev":"tsup src/index.ts --format esm,cjs --dts --minify --treeshake --watch","build":"npm run clean && tsup","test":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest && NODE_NO_WARNINGS=1 node scripts/test-dist-esm.mjs","test:coverage":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --coverage","test:watch":"NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest --watch","lint":"eslint src __tests__","format":"prettier --write src __tests__","check":"npm run lint && npx tsc --noEmit && npm run test","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:preview":"vitepress preview docs","docs:deploy":"bash scripts/deploy-gh-pages.sh","publish:npm":"npm run build && npm publish","publish:major":"npm version major && npm run publish:npm","publish:feat":"npm version minor && npm run publish:npm","publish:fix":"npm version patch && npm run publish:npm","publish:pre":"npm version prerelease --preid=beta && npm run publish:npm"},"keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"author":{"name":"jiuxianzai"},"license":"ISC","description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","homepage":"https://jiuxianzai.github.io/l-js-fn/","sideEffects":false,"engines":{"node":">=18.0.0"},"peerDependencies":{"sm-crypto":">=0.3.0"},"peerDependenciesMeta":{"sm-crypto":{"optional":true}},"private":false,"devDependencies":{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/js":"^9.39.5","@types/jest":"^30.0.0","@types/node":"^24.6.1","eslint":"^9.39.5","husky":"^8.0.3","jest":"^30.2.0","rimraf":"^6.0.1","sm-crypto":"^0.5.3","ts-jest":"^29.4.6","tsup":"^8.5.0","typescript":"^5.9.3","typescript-eslint":"^8.66.0","vitepress":"^1.6.4"},"_id":"l-js-fn@4.0.0","gitHead":"0590e2b856988dd4b2845ed0c717dc9c45e73ab1","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-htHxgPZ/MfUphATvg00su902p0ETVFa+95V92A46ronOfTso8mAh9b8g2IzLyiqZqoazsD88AXf4oExOVXiOzQ==","shasum":"5149c5ccf53813088c87cc2d9f17f077f154af9f","tarball":"https://registry.npmjs.org/l-js-fn/-/l-js-fn-4.0.0.tgz","fileCount":45,"unpackedSize":598136,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCijJmJQh1Yt1x9ugj9s+4+39gs1YFQeEAQ0KVQrQPv7QIgCluDV9c1A8S8QQam2AOLjqQjjNtFXoAYwDaSAtiaYZA="}]},"_npmUser":{"name":"jiuxz","email":"1024766923@qq.com"},"directories":{},"maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/l-js-fn_4.0.0_1787305451293_0.9077176676882857"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-30T07:57:08.880Z","modified":"2026-08-21T09:44:11.626Z","1.0.0":"2025-09-30T07:57:09.158Z","1.0.1":"2025-09-30T08:32:27.364Z","1.0.2":"2025-09-30T08:51:19.558Z","1.0.3":"2025-09-30T08:56:26.822Z","1.0.4":"2025-10-01T06:56:01.516Z","1.0.5":"2025-10-01T08:12:03.438Z","1.0.6":"2025-10-01T17:55:01.656Z","1.0.7":"2025-10-01T18:28:52.564Z","1.0.8":"2025-10-02T03:40:11.520Z","1.0.9":"2025-10-02T04:54:03.926Z","1.0.10":"2025-10-02T05:24:34.108Z","1.0.11":"2025-10-13T04:16:33.087Z","1.0.12":"2025-10-14T07:35:33.682Z","1.0.13":"2025-10-14T08:25:48.786Z","1.1.0":"2025-10-15T02:14:31.743Z","1.1.1":"2025-10-15T04:39:27.810Z","1.1.2":"2025-10-15T09:08:14.124Z","1.2.0":"2025-10-16T03:14:46.650Z","1.3.0":"2025-10-16T09:22:14.307Z","1.3.1":"2025-10-16T09:41:24.945Z","1.3.2":"2025-10-16T14:23:26.098Z","1.4.0":"2025-10-21T02:48:32.402Z","1.6.0":"2025-10-21T14:00:46.824Z","1.7.0":"2025-10-27T09:55:58.425Z","1.8.0":"2025-10-29T07:36:04.519Z","2.0.0":"2025-11-12T08:21:18.867Z","2.1.0":"2025-11-13T01:54:11.227Z","2.2.0":"2025-11-13T03:33:46.003Z","3.0.0":"2025-11-17T06:26:41.212Z","3.0.1":"2025-11-17T06:45:21.724Z","3.1.0":"2025-11-21T07:42:20.770Z","3.2.0":"2025-12-03T02:12:31.343Z","3.2.1":"2026-01-28T09:20:19.846Z","3.3.0":"2026-02-06T02:20:50.557Z","3.4.0":"2026-04-01T01:43:31.063Z","3.4.1":"2026-04-16T06:43:16.686Z","3.4.2":"2026-07-03T08:27:11.052Z","3.5.0":"2026-07-27T03:10:31.728Z","3.6.0":"2026-07-27T06:33:19.418Z","3.7.0":"2026-07-29T07:21:22.530Z","3.7.1":"2026-07-29T07:33:50.232Z","3.8.0":"2026-07-29T09:36:18.238Z","3.9.0":"2026-07-30T02:27:11.769Z","3.10.0":"2026-07-30T08:44:21.746Z","3.11.0":"2026-07-31T06:26:40.998Z","3.12.0":"2026-07-31T08:49:53.405Z","3.12.1":"2026-07-31T09:14:52.358Z","3.12.2":"2026-08-04T07:42:37.494Z","3.12.3":"2026-08-05T07:30:42.409Z","3.12.4":"2026-08-06T02:24:01.113Z","3.13.0":"2026-08-07T02:46:43.721Z","3.14.0":"2026-08-07T06:56:21.386Z","3.15.0":"2026-08-11T06:17:59.330Z","3.16.0":"2026-08-12T06:34:42.274Z","3.17.0":"2026-08-12T07:32:16.922Z","3.17.1":"2026-08-14T07:27:20.276Z","3.18.0":"2026-08-20T01:41:10.793Z","3.19.0":"2026-08-20T07:01:26.878Z","4.0.0":"2026-08-21T09:44:11.461Z"},"author":{"name":"jiuxianzai"},"license":"ISC","homepage":"https://jiuxianzai.github.io/l-js-fn/","keywords":["javascript","typescript","utility","utils","toolkit","helper","functions","methods","esm","commonjs","tree-shaking","modular","lightweight","bom","websocket","polling","regex","date","array","object","string"],"description":"轻量级 JavaScript 工具函数库，支持模块化导入和 Tree-shaking","maintainers":[{"name":"jiuxz","email":"1024766923@qq.com"}],"readme":"# l-js-fn\n\n> 整理了常用的 JavaScript 方法，轻量级、核心零依赖、TypeScript 支持\n\n![npm version](https://badge.fury.io/js/l-js-fn.svg)\n![downloads](https://img.shields.io/npm/dm/l-js-fn)\n![license](https://img.shields.io/npm/l/l-js-fn)\n![test pass](https://img.shields.io/badge/tests-1907%2F1907%20passed-brightgreen)\n![coverage](https://img.shields.io/badge/coverage-99%25-brightgreen)\n![functions](https://img.shields.io/badge/functions-100%25-brightgreen)\n![branches](https://img.shields.io/badge/branches-96%25-brightgreen)\n[![docs](https://img.shields.io/badge/docs-GitHub%20Pages-42b883)](https://jiuxianzai.github.io/l-js-fn/)\n\n## ✨ 特性\n\n- 🚀 **轻量级** - 核心零依赖，打包体积小（SM2/SM4 可选依赖 `sm-crypto`，按需安装）\n- 📦 **模块化** - 主包全量平铺所有方法，按需导入；子路径保留供 CJS 使用\n- 🔒 **TypeScript** - 完整的类型定义\n- 🌐 **双模块格式** - 同时支持 ESM 和 CJS\n- 🎨 **Tree-shaking** - 完整支持 Tree-shaking，只打包用到的代码\n- 💪 **工具齐全** - 涵盖数组、对象、字符串、日期、URL、正则等常用操作\n- 🔧 **高级功能** - WebSocket 管理、轮询、IPC 通信、事件总线等\n- 📖 **完整文档** - 在线文档见 [GitHub Pages](https://jiuxianzai.github.io/l-js-fn/)\n\n## 📦 安装\n\n```bash\nnpm install l-js-fn\n# 或\nyarn add l-js-fn\n# 或\npnpm add l-js-fn\n```\n\n## 🚀 快速开始\n\n### 导入主包（包含所有工具函数）\n\n```typescript\nimport { isArray, dateFormat, isEmpty } from 'l-js-fn';\n\n// 类型判断\nisArray([1, 2, 3]); // true\n\n// 日期格式化\ndateFormat(new Date(), 'yyyy-MM-dd HH:mm:ss'); // \"2024-01-01 12:00:00\"\n\n// 空值检查\nisEmpty(''); // true\nisEmpty(null); // true\n```\n\n### 全量平铺（推荐）\n\n所有模块的方法均可从主包直接导入，配合 Tree-shaking 只打包用到的函数：\n\n```typescript\n// 核心工具 + 子模块方法全部来自主包\nimport { isArray, dateFormat, scrollTop, getStorage, WebSocketManager, Polling, EventBus, REGEXP, DATE_FORMAT } from 'l-js-fn';\n```\n\n> 除 `crypto` 外，所有子模块方法均已平铺到主包（`sideEffects: false` + ESM 具名导出），webpack5 / vite / rollup / esbuild 均会摇树到函数级。\n>\n> **uniapp 命名说明**：uniapp 方法在主包中统一带 `uni` 前缀（如 `uniEnv`、`uniFile`、`uniRequest`、`uniStorage`、`uniClipboard`、`uniDevice`、`uniNetwork`），以区分通用命名；子路径 `l-js-fn/uniapp` 保留原始命名（`env`、`file`、`request` 等）。\n\n### 子路径导入（兼容旧用法）\n\n`l-js-fn/<module>` 子路径仍保留，供 CJS（`require` 无法树摇，用子路径控制体积）或需要精确加载的场景使用：\n\n```typescript\n// 浏览器对象模型方法\nimport { scrollTop, copyToClipboard, launchFullscreen } from 'l-js-fn/bom';\n\n// 轮询工具类\nimport { Polling } from 'l-js-fn/polling';\n\n// WebSocket 管理类\nimport { WebSocketManager } from 'l-js-fn/ws';\n\n// 事件总线\nimport { EventBus, eventBus } from 'l-js-fn/event-bus';\n\n// 小程序工具集（子路径保留原始命名）\nimport { env, router, storage, toast } from 'l-js-fn/uniapp';\n```\n\n### crypto 模块（仅子路径）\n\n`crypto` 依赖 Node 内置 `crypto`（MD5/AES/RSA）与可选依赖 `sm-crypto`（SM2/SM4），**仅在 Node 环境可用**，不参与主包平铺：\n\n```typescript\nimport {\n\tmd5,\n\taesEncrypt,\n\taesDecrypt,\n\trsaEncrypt,\n\trsaDecrypt,\n\trsaGenerateKeyPair,\n\tsm2Encrypt,\n\tsm2Decrypt,\n\tsm2GenerateKeyPair,\n\tsm3,\n\tsm4Encrypt,\n\tsm4Decrypt,\n} from 'l-js-fn/crypto';\n```\n\n## 📚 API 文档\n\n### 主包工具函数\n\n#### 类型判断 (is-kit)\n\n```typescript\nimport {\n\tisEmpty,\n\tisNotEmpty,\n\tisObject,\n\tisArray,\n\tisInArray,\n\tisString,\n\tisEmail,\n\tisURL,\n\tisIdCard,\n\tisPhoneNumber,\n\tisBankCard,\n\tisEqual,\n\tvalidateParams,\n} from 'l-js-fn';\n\n// 空值检查\nisEmpty(''); // true\nisEmpty([]); // true\nisEmpty({}); // true\n\n// 邮箱验证\nisEmail('test@example.com'); // true\n\n// URL 验证（含绝对路径、协议相对路径）\nisURL('https://example.com'); // true\nisURL('/path/to/page'); // true\nisURL('//cdn.example.com'); // true\n\n// 手机号验证（中国大陆）\nisPhoneNumber('13800138000'); // true\n\n// 身份证验证\nisIdCard('11010519491231002X'); // true\n\n// 银行卡号验证\nisBankCard('6222021234567890'); // true\n\n// 深度比较\nisEqual({ a: 1 }, { a: 1 }); // true\n\n// 参数校验\nvalidateParams(['name', 'age'], { name: 'John', age: 20 }); // null\nvalidateParams(['name'], { age: 20 }); // 'name'\n\n// 地址数组检查（忽略 ? 后的查询参数）\nisInArray(['https://example.com'], 'https://example.com?foo=bar'); // true\nisInArray([], 'https://example.com'); // false\n```\n\n#### 数组操作 (array-kit)\n\n```typescript\nimport {\n\tarrayRemove,\n\tarrayRemoveAt,\n\tarrayFill,\n\tarrayUnique,\n\tarrayPaginate,\n\tarraySplitToGroups,\n\tarrayMove,\n\tarrayGroupBy,\n\tarraySample,\n\tarraySampleSize,\n\tarrayFlatten,\n\tarrayRange,\n\tarrayShuffle,\n\tarrayUniqueBy,\n\tarrayCompact,\n\tarraySum,\n\tarraySumBy,\n\tarrayLast,\n\tarrayPluck,\n\tarraySortBy,\n\tarrayToString,\n} from 'l-js-fn';\n\n// 删除元素\narrayRemove([1, 2, 3, 2], 2); // [1, 3]\n\n// 根据索引删除\narrayRemoveAt([1, 2, 3], 1); // [1, 3]\n\n// 数组补充到指定长度\narrayFill([1, 2], 5, 0); // [1, 2, 0, 0, 0]\n\n// 数组去重\narrayUnique([1, 2, 2, 3]); // [1, 2, 3]\n\n// 数组分页\narrayPaginate([1, 2, 3, 4, 5], 2, 2); // [3, 4]\n\n// 数组分组\narraySplitToGroups([1, 2, 3, 4, 5], 2);\n// { 1: [1, 2], 2: [3, 4], 3: [5] }\n\n// 移动数组元素\narrayMove([1, 2, 3], 1, 'up'); // 移动索引1的元素向上\n\n// 按字段分组对象数组\narrayGroupBy(\n\t[\n\t\t{ name: 'Alice', age: 25 },\n\t\t{ name: 'Bob', age: 25 },\n\t\t{ name: 'Charlie', age: 30 },\n\t],\n\t'age'\n);\n// { 25: [{ name: 'Alice', age: 25 }, { name: 'Bob', age: 25 }], 30: [{ name: 'Charlie', age: 30 }] }\n\n// 随机取一个元素\narraySample([1, 2, 3, 4, 5]); // 3（随机）\n\n// 随机取 n 个元素\narraySampleSize([1, 2, 3, 4, 5], 2); // [2, 5]（随机）\n\n// 数组扁平化\narrayFlatten([1, [2, [3]]]); // [1, 2, 3]\narrayFlatten([1, [2, [3]]], 1); // [1, 2, [3]]\n\n// 生成范围数组\narrayRange(0, 5); // [0, 1, 2, 3, 4, 5]\narrayRange(5, 0, -1); // [5, 4, 3, 2, 1, 0]\n\n// Fisher-Yates 洗牌\narrayShuffle([1, 2, 3, 4, 5]); // [3, 1, 5, 2, 4]（随机）\n\n// 按对象字段去重\narrayUniqueBy([{ id: 1 }, { id: 2 }, { id: 1 }], 'id'); // [{id:1},{id:2}]\n\n// 过滤 falsy 值\narrayCompact([0, 1, false, 2, '', 3]); // [1, 2, 3]\n\n// 数组求和\narraySum([1, 2, 3, 4, 5]); // 15\n\n// 获取最后一个元素\narrayLast([1, 2, 3]); // 3\n\n// 提取对象数组指定字段为扁平数组（递归深层嵌套，过滤 null/undefined）\narrayPluck([{ name: 'zz' }, { name: 'yy' }], 'name'); // ['zz', 'yy']\n\n// 按字段排序\narraySortBy([{ id: 2 }, { id: 1 }], 'id'); // [{ id: 1 }, { id: 2 }]\narraySortBy([{ age: 20 }, { age: 30 }], 'age', 'desc'); // [{ age: 30 }, { age: 20 }]\n\n// 基础类型数组去重\narrayUnique([1, 2, 2, 3]); // [1, 2, 3]\narrayUnique(['a', 'b', 'a']); // ['a', 'b']\n\n// 按字段求和\narraySumBy([{ price: 10 }, { price: 20 }], 'price'); // 30\n\n// 过滤空值后拼接字符串（常用于签名串）\narrayToString(['a', null, 'b', '', 'c']); // 'abc'\narrayToString(['a', 'b', 'c'], '&'); // 'a&b&c'\n```\n\n#### 字符串处理 (string-kit)\n\n```typescript\nimport {\n\tdesensitization,\n\tdesensitizeName,\n\ttrim,\n\tgetMobile,\n\tgetUuid,\n\tindexToLabel,\n\ttoPascalCase,\n\ttoCamelCase,\n\ttoKebabCase,\n\tcapitalize,\n} from 'l-js-fn';\n\n// 字符串脱敏\ndesensitization('13800138000', 3, 4); // \"138****8000\"\n\n// 姓名脱敏\ndesensitizeName('张三丰'); // \"张*丰\"\ndesensitizeName('欧阳飞飞'); // \"欧**飞\"\ndesensitizeName('张三', 'surname'); // \"*三\"\ndesensitizeName('张三丰', 'arrayLast'); // \"**丰\"\n\n// 去除空格\ntrim('  hello  '); // \"hello\"\ntrim('  hello  ', 'all'); // \"hello\"\n\n// 生成随机手机号\ngetMobile(); // \"13800138000\"\n\n// 生成 UUID\ngetUuid();     // \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"（完整 36 位）\ngetUuid(8);    // \"XXXXXXXX\"（前 8 位）\n\n// 索引转标签\nindexToLabel(0, 'upper'); // \"A\"\nindexToLabel(1, 'lower'); // \"b\"\nindexToLabel(0, 'chinese'); // \"一\"\n\n// 帕斯卡命名 (PascalCase)\ntoPascalCase('hello-world'); // \"HelloWorld\"\n\n// 驼峰命名 (camelCase)\ntoCamelCase('hello-world'); // \"helloWorld\"\n\n// 短横线命名 (kebab-case)\ntoKebabCase('helloWorld'); // \"hello-world\"\n\n// 首字母大写\ncapitalize('hello'); // \"Hello\"\n```\n\n#### 对象操作 (object-kit)\n\n```typescript\nimport { objMerge, objFilterProp, objFilterNull, objToFormData, objFromFormData, objPick, objOmit, objGet } from 'l-js-fn';\n\n// 对象合并\nobjMerge({ a: 1 }, { b: 2 }); // { a: 1, b: 2 }\n\n// 过滤属性\nobjFilterProp({ a: 1, b: 2, c: 3 }, ['b']); // { a: 1, c: 3 }\n\n// 过滤空值（默认同时过滤 null 和 undefined）\nobjFilterNull({ a: 1, b: null, c: undefined }); // { a: 1 }\n\n// 只过滤 null，保留 undefined\nobjFilterNull({ a: 1, b: null, c: undefined }, { null: true, undefined: false }); // { a: 1, c: undefined }\n\n// 只过滤 undefined，保留 null\nobjFilterNull({ a: 1, b: null, c: undefined }, { null: false, undefined: true }); // { a: 1, b: null }\n\n// JSON 转 FormData\nobjToFormData({ name: 'John', age: 20 }); // FormData\n\n// FormData 转 JSON\nobjFromFormData(formData); // { name: 'John', age: 20 }\n\n// 选取属性\nobjPick({ a: 1, b: 2, c: 3 }, ['a', 'c']); // { a: 1, c: 3 }\n\n// 排除属性（objPick 的反操作）\nobjOmit({ a: 1, b: 2, c: 3 }, ['b']); // { a: 1, c: 3 }\n\n// 安全深层取值\nobjGet({ a: { b: { c: 1 } } }, 'a.b.c'); // 1\nobjGet({ a: 1 }, 'b.c', 'default'); // 'default'\n\n// 深度合并\nobjMerge({ a: { b: 1 } }, { a: { c: 2 } });\n// { a: { b: 1, c: 2 } }\n```\n\n#### 日期处理 (date-kit)\n\n```typescript\nimport { dateFormat, dateSecond, dateDiffDays, dateDiffTime, dateFormatPassTime, dateMonthDays, dateDiff, dateAddDays, isLeapYear, dateWeekDay } from 'l-js-fn';\n\n// 日期格式化\ndateFormat(new Date()); // \"2024-01-01 12:00:00\"\ndateFormat(new Date(), 'yyyy-MM-dd'); // \"2024-01-01\"\n\n// 秒数转时间\ndateSecond(3661); // \"01:01:01\"\n\n// 计算天数差\ndateDiffDays('2024-01-01', '2024-01-03'); // 2\n\n// 计算时间差值（日/时/分/秒）\ndateDiffTime('2024-01-01 10:00:00', '2024-01-02 12:30:45');\n// { days: 1, hours: 2, minutes: 30, seconds: 45 }\n\n// 格式化过去时间\ndateFormatPassTime('2024-01-01 12:00:00'); // \"3天前\"\n\n// 获取当月天数\ndateMonthDays('2024-02-01'); // 29\n\n// 时间差计算\ndateDiff('2024-01-01', '2024-01-02'); // 86400000\n\n// 日期加减天数\ndateAddDays(new Date('2024-01-01'), 1); // 2024-01-02\ndateAddDays(new Date('2024-01-01'), -1); // 2023-12-31\n\n// 闰年判断\nisLeapYear(2024); // true\n\n// 中文星期\ndateWeekDay(new Date('2024-01-01')); // '星期一'\n```\n\n#### 数字处理 (number-kit)\n\n```typescript\nimport { formatNumber, toPercent, random, getUniqueRandomIndexes, clamp, round } from 'l-js-fn';\n\n// 数字格式化\nformatNumber(1234567); // \"1,234,567\"\nformatNumber(1234567, { useUnit: true }); // \"123.47万\"\n\n// 控制小数位\nformatNumber(1234, { decimals: 2 }); // \"1,234.00\"\nformatNumber(1234567, { type: 'number', decimals: 2 }); // \"1234567.00\"\n\n// 中文大写金额\nformatNumber(123.45, { type: 'chinese' }); // \"壹佰贰拾叁元肆角伍分\"\nformatNumber(0.5, { type: 'chinese' }); // \"伍角\"\n\n// 转百分比\ntoPercent(0.5332); // \"53.32%\"\n\n// 生成随机数\nrandom(10); // 0-10 之间的随机整数\nrandom(1, 10); // 1-10 之间的随机整数\nrandom(1, 10, { float: true }); // 1-10 之间的随机浮点数\n\n// 生成不重复随机索引\ngetUniqueRandomIndexes(10, 3); // [0, 5, 8]\n\n// 限制值范围\nclamp(5, 0, 10); // 5\nclamp(-1, 0, 10); // 0\n\n// 四舍五入\nround(3.14159, 2); // 3.14\n```\n\n#### URL 处理 (url-kit)\n\n```typescript\nimport { getUrlParams, getUrlParam, appendUrlParam, appendUrlParams, transUrlParams, getFileInfoFromUrl } from 'l-js-fn';\n\n// 解析 URL 参数\ngetUrlParams('https://example.com?id=1&name=John');\n// { id: '1', name: 'John' }\n\n// 获取单个参数\ngetUrlParam('https://example.com?id=1', 'id'); // '1'\n\n// 添加 URL 参数\nappendUrlParam('https://example.com', 'id', 1);\n// \"https://example.com?id=1\"\n\n// 批量添加 URL 参数（默认追加到 # 后，支持 position: 'before' 控制）\nappendUrlParams('https://example.com?id=1', { name: 'zs', age: '1' });\n// \"https://example.com?id=1&name=zs&age=1\"\n\nappendUrlParams('https://example.com/#/home', { id: '1', name: 'yyp' });\n// \"https://example.com/#/home?id=1&name=yyp\"\n\nappendUrlParams('https://example.com/#/home', { id: '1' }, { position: 'before' });\n// \"https://example.com/?id=1#/home\"\n\n// 对象转 URL 参数\ntransUrlParams({ id: 1, name: 'John' }); // \"id=1&name=John\"\n\n// 从 URL 获取文件信息\ngetFileInfoFromUrl('https://example.com/file.txt');\n// { fileName: 'file.txt', extension: '.txt' }\n```\n\n#### 通用工具 (common)\n\n```typescript\nimport { sleep, debounce, throttle, getType, deepClone, getDevice, imageToBase64, retry, once, memoize, loadScript, removeScript } from 'l-js-fn';\n\n// 睡眠函数\nawait sleep(1000); // 延迟 1 秒\n\n// 防抖\nconst debouncedFn = debounce(() => {\n\tconsole.log('执行');\n}, 300);\n\n// 节流\nconst throttledFn = throttle(() => {\n\tconsole.log('执行');\n}, 300);\n\n// 获取类型\ngetType([1, 2, 3]); // \"array\"\ngetType(new Date()); // \"date\"\n\n// 深拷贝\ndeepClone({ a: { b: 1 } }); // { a: { b: 1 } }\n\n// 获取设备类型\ngetDevice(); // \"ios\" | \"android\" | \"windows\" | \"macos\" | ...\n\n// 图片转 Base64\nconst result = await imageToBase64('https://example.com/image.png');\n\n// 异步函数重试\nconst fn = retry(async () => fetch('/api'), { times: 3, delay: 1000 });\nawait fn();\n\n// 只执行一次\nconst init = once(() => console.log('init'));\ninit(); // 输出 'init'\ninit(); // 无输出（跳过）\n\n// 缓存计算结果\nconst add = memoize((a, b) => a + b);\nadd(1, 2); // 计算并返回 3\nadd(1, 2); // 直接返回 3（缓存命中）\n```\n\n### 浏览器对象模型 (bom)\n\n```typescript\nimport {\n\tscrollTop,\n\tscrollToBottom,\n\tgetScrollPosition,\n\tsetScrollPosition,\n\tlaunchFullscreen,\n\texitFullscreen,\n\tcopyToClipboard,\n\tsetCookie,\n\tgetCookie,\n\tremoveCookie,\n\thasCookie,\n\tgetAllCookies,\n} from 'l-js-fn';\n\n// 平滑滚动到顶部\nscrollTop();\n\n// 滚动到底部\nscrollToBottom();\n\n// 获取滚动位置\ngetScrollPosition(); // { x: 0, y: 100 }\n\n// 设置滚动位置\nsetScrollPosition({ x: 0, y: 100 }, true);\n\n// 进入全屏\nawait launchFullscreen(document.documentElement);\n\n// 退出全屏\nawait exitFullscreen();\n\n// 复制到剪贴板\nawait copyToClipboard('要复制的文本');\n\n// Cookie 操作\nsetCookie('token', 'abc123', { expires: 30, secure: true }); // 设置 Cookie，30 天后过期\ngetCookie('token'); // 'abc123'\nhasCookie('token'); // true\nremoveCookie('token'); // 删除 Cookie\ngetAllCookies(); // { token: 'abc123', user: 'john' }\n```\n\n### 本地存储 (storage)\n\n```typescript\nimport { setStorage, getStorage, removeStorage, clearStorage, clearExpiredStorage, setSession, getSession, removeSession } from 'l-js-fn';\n\n// localStorage 操作（支持过期时间）\nsetStorage('user', { name: 'John', age: 20 });\nsetStorage('token', 'abc123', { expire: 3600 }); // 1 小时后过期\ngetStorage('user'); // { name: 'John', age: 20 }\ngetStorage('token'); // 'abc123'（未过期）或 null（已过期）\nremoveStorage('user');\nclearStorage();\nclearExpiredStorage(); // 清理所有已过期的数据\n\n// sessionStorage 操作\nsetSession('tabData', { id: 1, name: 'test' });\ngetSession('tabData'); // { id: 1, name: 'test' }\nremoveSession('tabData');\n```\n\n### WebSocket 管理 (ws)\n\n```typescript\nimport { WebSocketManager } from 'l-js-fn';\n\nconst ws = new WebSocketManager(\n\t'ws://localhost:8080',\n\t(message) => console.log('收到消息:', message),\n\t(error) => console.error('错误:', error)\n);\n\n// 发送消息\nws.sendWebSocketMessage({ type: 'ping', data: 'hello' });\n\n// 检查连接并发送消息\nws.checkConnection({ type: 'heartbeat' }, 10000);\n\n// 重新连接\nws.reconnect(5000);\n\n// 关闭连接\nws.close();\n```\n\n### 轮询工具 (polling)\n\n```typescript\nimport { Polling } from 'l-js-fn';\n\nconst polling = new Polling();\n\n// 启动轮询\npolling.start(\n\tasync () => {\n\t\tconst response = await fetch('https://api.example.com/data');\n\t\treturn response.json();\n\t},\n\t1000, // 间隔 1 秒\n\ttrue // 立即执行\n);\n\n// 停止轮询\npolling.stop();\n\n// 检查是否正在运行\npolling.running; // true\n```\n\n### 正则表达式 (regex)\n\n```typescript\nimport { REGEXP } from 'l-js-fn';\n\n// 手机号验证\nREGEXP.PHONE.test('13800138000'); // true\n\n// 邮箱验证\nREGEXP.EMAIL.test('test@example.com'); // true\n\n// URL 验证\nREGEXP.URL.test('https://example.com'); // true\n\n// 身份证验证\nREGEXP.ID_CARD.test('110101199001011234'); // true\n\n// 中文验证\nREGEXP.CHINESE.test('中文'); // true\n\n// 金额验证\nREGEXP.MONEY.test('123.45'); // true\n\n// IPv4 地址\nREGEXP.IPV4.test('192.168.1.1'); // true\n\n// 十六进制颜色值\nREGEXP.HEX_COLOR.test('#fff'); // true\nREGEXP.HEX_COLOR.test('#ffffff'); // true\n\n// 中国邮政编码\nREGEXP.POSTAL_CODE.test('100000'); // true\n\n// 车牌号（含新能源）\nREGEXP.PLATE_NUMBER.test('京A12345'); // true\nREGEXP.PLATE_NUMBER.test('粤C12345D'); // true\n\n// 小数/浮点数\nREGEXP.DECIMAL.test('3.14'); // true\nREGEXP.DECIMAL.test('-1.5'); // true\n\n// 日期格式 yyyy-MM-dd\nREGEXP.DATE.test('2024-01-01'); // true\n\n// 时间格式 HH:mm:ss\nREGEXP.TIME.test('12:30:00'); // true\n\n// 域名（不含协议）\nREGEXP.DOMAIN.test('example.com'); // true\n\n// 统一社会信用代码\nREGEXP.TAX_ID.test('91110108551111111A'); // true\n\n// 银行卡号\nREGEXP.BANK_CARD.test('6222021234567890'); // true\n```\n### 配置常量 (config)\n\n```typescript\nimport { DATE_FORMAT, HTTP_STATUS } from 'l-js-fn';\n\n// 日期格式\nDATE_FORMAT.FULL; // \"yyyy-MM-dd HH:mm:ss\"\nDATE_FORMAT.DATE; // \"yyyy-MM-dd\"\nDATE_FORMAT.TIME; // \"HH:mm:ss\"\n\n// HTTP 状态码\nHTTP_STATUS.OK; // 200\nHTTP_STATUS.UNAUTHORIZED; // 401\nHTTP_STATUS.NOT_FOUND; // 404\n```\n\n### IPC 通信 (ipc)\n\n```typescript\nimport { H5Bridge, IframeBridge } from 'l-js-fn';\n\n// H5 与原生通信\nconst h5Bridge = new H5Bridge();\n\n// Iframe 通信\nconst iframeBridge = new IframeBridge('https://example.com');\n```\n\n### 编码/解码 (encode)\n\n```typescript\nimport { base64Encode, base64Decode, escapeHTML, unescapeHTML, urlEncode, urlDecode } from 'l-js-fn';\n\n// Base64 编码/解码（支持 Unicode）\nbase64Encode('Hello World'); // 'SGVsbG8gV29ybGQ='\nbase64Encode('你好'); // '5L2g5aW9'\nbase64Decode('SGVsbG8gV29ybGQ='); // 'Hello World'\n\n// HTML 转义/反转义（防 XSS 攻击）\nescapeHTML('<script>alert(\"XSS\")</script>');\n// '&lt;script&gt;alert(&quot;XSS&quot;)&lt;&#x2F;script&gt;'\nunescapeHTML('&lt;div&gt;'); // '<div>'\n\n// URL 编码/解码\nurlEncode('Hello World!'); // 'Hello%20World!'\nurlDecode('Hello%20World'); // 'Hello World'\n```\n\n> **v4.0 破坏性变更**：`querystringify` / `parseQueryString` 已移除，查询字符串能力统一到 URL 处理模块：\n> ```typescript\n> import { transUrlParams, getUrlParams } from 'l-js-fn';\n>\n> transUrlParams({ name: 'John', age: 20 }); // 'name=John&age=20'\n> getUrlParams('name=John&age=20');          // { name: 'John', age: '20' }\n> ```\n\n### 文件处理 (file)\n\n```typescript\nimport {\n\tformatFileSize,\n\tgetExtension,\n\tgetFileName,\n\tdownloadFile,\n\treadAsText,\n\treadAsDataURL,\n\treadAsArrayBuffer,\n\tisImage,\n\tisVideo,\n\tisAudio,\n\tisPDF,\n\tFileSizeUnit,\n} from 'l-js-fn';\n\n// 格式化文件大小\nformatFileSize(1024); // { formatted: '1 KB', value: 1, unit: 'KB' }\nformatFileSize(1536000); // { formatted: '1.46 MB', value: 1.46, unit: 'MB' }\nformatFileSize(1024, { precision: 0 }); // { formatted: '1 KB', value: 1, unit: 'KB' }\nformatFileSize(1000, { base: 1000 }); // { formatted: '1 KB', value: 1, unit: 'KB' }\n\n// 文件名处理\ngetExtension('image.png'); // '.png'\ngetExtension('/path/to/file.txt'); // '.txt'\ngetFileName('/path/to/image.png'); // 'image'\ngetFileName('document.pdf'); // 'document'\n\n// 浏览器下载文件\nconst blob = new Blob(['Hello World'], { type: 'text/plain' });\ndownloadFile(blob, 'hello.txt');\n\n// 读取文件内容\nconst file = new File(['content'], 'test.txt');\nawait readAsText(file); // 'content'\nawait readAsDataURL(file); // 'data:text/plain;base64,...'\nawait readAsArrayBuffer(file); // ArrayBuffer\n\n// 文件类型判断\nisImage('photo.jpg'); // true\nisVideo('movie.mp4'); // true\nisAudio('music.mp3'); // true\nisPDF('document.pdf'); // true\n```\n\n### 事件总线 (event-bus)\n\n```typescript\nimport { EventBus, eventBus } from 'l-js-fn';\n\n// 创建实例\nconst bus = new EventBus();\n\n// 订阅事件\nbus.on('login', (user: string) => console.log(user));\n\n// 订阅一次性事件\nbus.once('init', () => console.log('初始化'));\n\n// 发布事件\nbus.emit('login', 'Alice');\nbus.emit('init');\n\n// 取消订阅\nconst handler = (data: string) => console.log(data);\nbus.on('data', handler);\nbus.off('data', handler);\n\n// 取消某事件的所有订阅\nbus.off('login');\n\n// 查看监听数量\nbus.listenerCount('login'); // 0\nbus.listenerCount(); // 总数量\n\n// 清除所有事件\nbus.clear();\n\n// 类型安全用法\ntype Events = {\n\tlogin: [user: string];\n\tlogout: [];\n\tscore: [name: string, points: number];\n};\nconst typedBus = new EventBus<Events>();\ntypedBus.on('login', (user) => console.log(user)); // user 自动推断为 string\ntypedBus.emit('login', 'Bob');\n\n// 全局单例\neventBus.on('global-event', (msg: string) => console.log(msg));\neventBus.emit('global-event', 'Hello');\n```\n\n### uniapp 小程序工具集 (uniapp)\n\n> 封装了平台适配层、环境信息、弹窗、权限授权、路由导航、本地存储、Toast 提示、剪贴板、设备适配、网络状态、网络请求等常用功能，**一份代码同时兼容微信和支付宝小程序**。底层采用平台适配器策略，内置 `wechat` / `alipay` / `h5` / `app` 四套适配器，支持 `registerAdapter()` 扩展新平台。\n>\n> **导入说明**：以下示例使用子路径 `l-js-fn/uniapp`（保留原始命名）。若从主包导入，则对应为 `uniEnv`、`uniFile`、`uniModel`、`uniPermission`、`uniRequest`、`uniRouter`、`uniStorage`、`uniToast`、`uniClipboard`、`uniDevice`、`uniNetwork`、`uniGetAdapter`、`uniRegisterAdapter`、`uniAutoDetect`、`uniCreateWechatAdapter` 等。\n\n```typescript\nimport {\n  getAdapter, autoDetect, registerAdapter,\n  env, model, permission, router, storage, toast,\n  clipboard, device, network, file, request\n} from 'l-js-fn/uniapp';\n\n// 平台自动检测（默认，无需初始化）——微信包内自动用 wx，支付宝包内自动用 my\nautoDetect(); // 可选，主动触发检测（如 App.vue onLaunch）\ngetAdapter().name; // 'wechat' | 'alipay' | 'h5' | 'app'\n\n// 环境信息\nenv.platform(); // { isWechat: true, isAlipay: false, ... }\nconst { v, d } = await env.version(); // v: 'release', d: '正式版'\nenv.launchOptions(); // 启动参数（微信/支付宝返回格式统一）\n\n// 弹窗\nconst { confirm } = await model.confirm('确定删除？');\nawait model.alert('操作成功');\nconst index = await model.actionSheet({ itemList: ['编辑', '删除'] });\n\n// 权限授权（统一流程：getSetting → authorize → openSetting）\nawait permission.camera();\nawait permission.location();\n\n// 路由导航\nawait router.push('/pages/detail/index', { query: { id: '1' } });\nawait router.replace('/pages/home/index');\nawait router.back();\nawait router.switchTab('/pages/mine/index');\n\n// 路由守卫\nrouter.beforeEach((to, from, next) => {\n  next('/pages/login/index');\n});\n\n// 本地存储（支持过期时间、加密，中文/Emoji 加密完整往返）\nstorage.set('user', { name: 'John' }, { expire: 3600, encrypt: true });\nstorage.objGet('user');\nstorage.has('user');           // 是否存在\nstorage.keys();                // 所有键名\nstorage.clearExpired();        // 清理已过期项，返回数量\nstorage.remove('user');\nstorage.clear();\n\n// 剪贴板（微信 data / 支付宝 text 参数差异已封装）\nconst copied = await clipboard.copy('复制内容');\nconst text = await clipboard.read();\n\n// 设备/UI 适配（缓存系统信息，支持安全区/胶囊按钮）\nconst info = device.info();         // { statusBarHeight, screenWidth, safeAreaInsets, ... }\ndevice.statusBarHeight();           // 状态栏高度\ndevice.safeAreaInsets();            // 安全区内边距 { top, right, bottom, left }\ndevice.capsule();                   // 微信胶囊按钮位置（其他平台 null）\ndevice.isInSafeArea();              // 是否为 iPhone X 系刘海屏\n\n// 网络状态\nconst type = await network.type();  // 'wifi' | '4g' | ... | 'none'\nconst online = await network.isOnline();\nnetwork.watch((isConnected, type) => { /* 监听网络变化 */ });\nnetwork.off();\n\n// 文件系统（微信/支付宝自动切换 getFileSystemManager）\nawait file.write('user.json', { name: 'John', age: 20 }); // 对象自动 JSON 序列化\nconst userData = await file.read('user.json');            // 自动反序列化\nconst exists = await file.access('user.json');                // 检查存在\nawait file.remove('user.json');                           // 删除\n\n// Toast 提示（icon 跨平台自动转换，支付宝专属 icon 在微信自动降级）\ntoast.success('保存成功');\ntoast.error('请求失败');\ntoast.loading('加载中...');\ntoast.hideLoading();\n\n// 网络请求\nrequest.setConfig({ baseURL: 'https://api.example.com', timeout: 30000 });\nconst user = await request.objGet('/user', { params: { id: 1 } }); // GET 参数经 transUrlParams 序列化拼接（?/& 自动判断）\nconst result = await request.post('/user', { name: 'John' });\n// 重试 & Loading\nconst data = await request.objGet('/api', { retry: 3, retryDelay: 1000, loading: true });\n```\n\n**扩展新平台：**\n\n只需实现 `PlatformAdapter` 接口并注册，之后 `env` / `model` / `permission` / `router` / `storage` / `toast` / `clipboard` / `device` / `network` 全部自动切换为新平台实现，无需修改任何模块源码。\n\n::: code-group\n```typescript [TypeScript]\nimport { registerAdapter, type PlatformAdapter } from 'l-js-fn/uniapp';\n\n// 以抖音小程序为例（tt 为抖音全局对象）\nconst douyinAdapter: PlatformAdapter = {\n  name: 'douyin',          // 平台标识，env.platform().platformName 将返回该值\n  api: tt,                 // 平台原生 API 对象\n\n  // 存储（抖音与微信同为位置参数格式）\n  setStorageSync(key, data) { tt.setStorageSync(key, data); },\n  getStorageSync(key) { return tt.getStorageSync(key); },\n  removeStorageSync(key) { tt.removeStorageSync(key); },\n  clearStorageSync() { tt.clearStorageSync(); },\n\n  // Toast（抖音用 title/icon 字段）\n  showToast(title, icon, duration, mask, image) {\n    tt.showToast({ title, icon, duration, mask, ...(image ? { image } : {}) });\n  },\n  showLoading(title, mask) { tt.showLoading({ title, mask }); },\n  hideLoading() { tt.hideLoading(); },\n\n  // 权限（按抖音 API 实现）\n  async checkPermission(scope) { return true; },\n  async requestPermission(scope) { return true; },\n\n  // 环境\n  async getEnvVersion() { return { v: 'release', d: '正式版', s: 'douyin' }; },\n  getLaunchOptionsSync() { return tt.getLaunchOptionsSync?.() ?? null; },\n  extractScanUrl(options) { return undefined; },\n};\n\n// App.vue onLaunch 注册\nregisterAdapter(douyinAdapter);\n```\n\n```javascript [JavaScript (ESM)]\nimport { registerAdapter } from 'l-js-fn/uniapp';\n\n// 以抖音小程序为例（tt 为抖音全局对象）\nconst douyinAdapter = {\n  name: 'douyin',\n  api: tt,\n  setStorageSync(key, data) { tt.setStorageSync(key, data); },\n  getStorageSync(key) { return tt.getStorageSync(key); },\n  removeStorageSync(key) { tt.removeStorageSync(key); },\n  clearStorageSync() { tt.clearStorageSync(); },\n  showToast(title, icon, duration, mask, image) {\n    tt.showToast({ title, icon, duration, mask, ...(image ? { image } : {}) });\n  },\n  showLoading(title, mask) { tt.showLoading({ title, mask }); },\n  hideLoading() { tt.hideLoading(); },\n  async checkPermission(scope) { return true; },\n  async requestPermission(scope) { return true; },\n  async getEnvVersion() { return { v: 'release', d: '正式版', s: 'douyin' }; },\n  getLaunchOptionsSync() { return tt.getLaunchOptionsSync?.() ?? null; },\n  extractScanUrl(options) { return undefined; },\n};\n\n// App.vue onLaunch 注册\nregisterAdapter(douyinAdapter);\n```\n\n```javascript [JavaScript (CJS)]\nconst { registerAdapter } = require('l-js-fn/uniapp');\n\n// 以抖音小程序为例（tt 为抖音全局对象）\nconst douyinAdapter = {\n  name: 'douyin',\n  api: tt,\n  setStorageSync(key, data) { tt.setStorageSync(key, data); },\n  getStorageSync(key) { return tt.getStorageSync(key); },\n  removeStorageSync(key) { tt.removeStorageSync(key); },\n  clearStorageSync() { tt.clearStorageSync(); },\n  showToast(title, icon, duration, mask, image) {\n    tt.showToast({ title, icon, duration, mask, ...(image ? { image } : {}) });\n  },\n  showLoading(title, mask) { tt.showLoading({ title, mask }); },\n  hideLoading() { tt.hideLoading(); },\n  async checkPermission(scope) { return true; },\n  async requestPermission(scope) { return true; },\n  async getEnvVersion() { return { v: 'release', d: '正式版', s: 'douyin' }; },\n  getLaunchOptionsSync() { return tt.getLaunchOptionsSync?.() ?? null; },\n  extractScanUrl(options) { return undefined; },\n};\n\n// App.vue onLaunch 注册\nregisterAdapter(douyinAdapter);\n```\n:::\n\n> **可跳过的方法说明：** `openSetting()` 为可选方法（仅微信支持），不实现时权限引导自动降级为直接返回 `false`。若你的平台没有 `getLaunchOptionsSync` / 扫码能力，对应方法返回 `null` / `undefined` 即可，模块内部已做空值兜底。\n\n\n### 加密模块 (crypto)\n\n> **注意**: SM2、SM3、SM4 依赖 `sm-crypto` 包，按需安装：`npm install sm-crypto`\n> **小程序等无 Node 环境**请改用子入口 `l-js-fn/crypto/sm`（仅含 SM2/SM3/SM4，不依赖 Node 内置 `crypto`）。\n\n```typescript\nimport {\n\tmd5,\n\taesEncrypt,\n\taesDecrypt,\n\trsaEncrypt,\n\trsaDecrypt,\n\trsaGenerateKeyPair,\n\tsm2Encrypt,\n\tsm2Decrypt,\n\tsm2GenerateKeyPair,\n\tsm3,\n\tsm4Encrypt,\n\tsm4Decrypt,\n} from 'l-js-fn/crypto';\n```\n\n#### MD5 哈希\n\n```typescript\n// 基本用法\nmd5('Hello World'); // \"b10a8db164e0754105b7a99be72e3fe5\"\n\n// 加盐\nmd5('Hello World', { salt: 'mySalt' }); // 加盐后的哈希值\n```\n\n#### AES 对称加密\n\n```typescript\n// CBC 模式（默认）- 自动生成随机 IV\nconst encrypted = aesEncrypt('Hello World', { key: 'my-secret-key' });\nconst decrypted = aesDecrypt(encrypted, { key: 'my-secret-key' });\n// decrypted === 'Hello World'\n\n// 自定义 IV（32 位 hex 字符串）\nconst enc = aesEncrypt('data', { key: 'key', iv: '0123456789abcdef0123456789abcdef' });\nconst dec = aesDecrypt(enc, { key: 'key', iv: '0123456789abcdef0123456789abcdef' });\n\n// PBKDF2 密钥派生（加盐）\nconst enc2 = aesEncrypt('data', { key: 'password', salt: 'salt123', iterations: 10000 });\nconst dec2 = aesDecrypt(enc2, { key: 'password', salt: 'salt123', iterations: 10000 });\n\n// ECB 模式\naesEncrypt('data', { key: 'key', mode: 'ecb' });\n\n// hex 输出编码\naesEncrypt('data', { key: 'key', outputEncoding: 'hex' });\n```\n\n#### RSA 非对称加密\n\n```typescript\n// 生成密钥对\nconst keyPair = rsaGenerateKeyPair({ keySize: 2048 });\n// { publicKey: '-----BEGIN PUBLIC KEY-----...', privateKey: '-----BEGIN PRIVATE KEY-----...' }\n\n// 生成 DER base64 格式\nrsaGenerateKeyPair({ keySize: 2048, format: 'der-base64' });\n\n// 公钥加密\nconst encrypted = rsaEncrypt('Hello RSA', { publicKey: keyPair.publicKey });\n\n// 私钥解密\nconst decrypted = rsaDecrypt(encrypted, { privateKey: keyPair.privateKey });\n// decrypted === 'Hello RSA'\n\n// hex 输出编码\nrsaEncrypt('data', { publicKey: keyPair.publicKey, outputEncoding: 'hex' });\n```\n\n#### SM2 国密非对称加密\n\n```bash\nnpm install sm-crypto  # 需先安装依赖\n```\n\n```typescript\n// 生成 SM2 密钥对\nconst keyPair = await sm2GenerateKeyPair();\n// { publicKey: '04...', privateKey: '...' }\n\n// 公钥加密\nconst encrypted = await sm2Encrypt('Hello SM2', { publicKey: keyPair.publicKey });\n\n// 私钥解密\nconst decrypted = await sm2Decrypt(encrypted, { privateKey: keyPair.privateKey });\n// decrypted === 'Hello SM2'\n\n// base64 输出编码\nawait sm2Encrypt('data', { publicKey: keyPair.publicKey, outputEncoding: 'base64' });\n```\n\n#### SM3 国密哈希\n\n```typescript\n// 基础哈希（64 位 hex 字符串）\nconst hash = await sm3('abc');\n// '66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0'\n\n// 中文 / emoji / 空串\nawait sm3('你好，世界');\nawait sm3('😀🎉🔥');\nawait sm3('');\n```\n\n#### SM4 国密对称加密\n\n```typescript\n// CBC 模式（默认）- 自动生成随机 IV\nconst encrypted = await sm4Encrypt('Hello SM4', { key: '0123456789abcdeffedcba9876543210' });\nconst decrypted = await sm4Decrypt(encrypted, { key: '0123456789abcdeffedcba9876543210' });\n// decrypted === 'Hello SM4'\n\n// 自定义 IV\nawait sm4Encrypt('data', { key: '0...0', iv: '000102030405060708090a0b0c0d0e0f' });\n\n// ECB 模式\nawait sm4Encrypt('data', { key: '0...0', mode: 'ecb' });\n\n// hex / base64 输出\nawait sm4Encrypt('data', { key: '0...0', outputEncoding: 'base64' });\n\n// UTF-8 字符串 key/iv 自动转 hex（key 转 hex 后须为 16 字节，兼容小程序，无需手动 utf8→hex）\nawait sm4Encrypt('data', { key: 'mySecretKey12345', keyEncoding: 'utf8' });\nawait sm4Decrypt(enc, { key: 'mySecretKey12345', keyEncoding: 'utf8' });\n```\n\n## 🌐 浏览器兼容性\n\n- Chrome >= 90\n- Firefox >= 88\n- Safari >= 14\n- Edge >= 90\n\n## 📦 模块化导入\n\n本项目支持多种导入方式：\n\n```typescript\n// 主包全量平铺（推荐）—— 所有方法均可从主包导入，Tree-shaking 只打包用到的函数\nimport { isArray, scrollTop, WebSocketManager, EventBus } from 'l-js-fn';\n\n// 子路径导入 —— 兼容旧用法，CJS 用户建议用子路径控制加载体积\nimport { scrollTop } from 'l-js-fn/bom';\nimport { Polling } from 'l-js-fn/polling';\nimport { escapeHTML } from 'l-js-fn/encode';\nimport { env, router, toast } from 'l-js-fn/uniapp';\n\n// crypto 模块仅支持子路径（依赖 Node 内置 crypto）\nimport { md5 } from 'l-js-fn/crypto';\n\n// 小程序等无 Node 环境：使用 SM 子入口（不依赖 Node 内置 crypto）\nimport { sm3, sm4Encrypt } from 'l-js-fn/crypto/sm';\n\n// CommonJS 导入（CJS 无法树摇，建议用子路径按需加载）\nconst { isArray } = require('l-js-fn');\nconst { scrollTop } = require('l-js-fn/bom');\nconst { escapeHTML } = require('l-js-fn/encode');\nconst { env, router } = require('l-js-fn/uniapp');\nconst { md5 } = require('l-js-fn/crypto');\n```\n\n## ✅ 测试\n\n本项目使用 [Jest](https://jestjs.io/) 进行单元测试，覆盖率阈值 90%+。\n\n> 覆盖率统计仅针对本项目内部代码，已排除内嵌的第三方库 `luch-request`（详见 [jest.config.js](jest.config.js) 的 `collectCoverageFrom` 配置）。\n\n### 测试统计\n\n| 指标       | 数值                     |\n| ---------- | ------------------------ |\n| 测试套件   | 35 passed                |\n| 测试用例   | 1907 passed / 1907 total |\n| 通过率     | 100%                     |\n| 语句覆盖率 | 98.81%                   |\n| 分支覆盖率 | 95.67%                   |\n| 函数覆盖率 | 100%                     |\n| 行覆盖率   | 99.66%                   |\n\n#### 核心工具模块\n\n| 模块                    | 用例数 | 通过 | 失败 | 通过率 |\n| ----------------------- | ------ | ---- | ---- | ------ |\n| color (颜色处理)        | 31     | 31   | 0    | 100%   |\n| is-kit (类型判断)       | 88     | 88   | 0    | 100%   |\n| array-kit (数组操作)    | 152    | 152  | 0    | 100%   |\n| string-kit (字符串处理) | 91     | 91   | 0    | 100%   |\n| object-kit (对象操作)   | 61     | 61   | 0    | 100%   |\n| common (通用工具)       | 77     | 77   | 0    | 100%   |\n| date-kit (日期处理)     | 75     | 75   | 0    | 100%   |\n| number-kit (数字处理)   | 80     | 80   | 0    | 100%   |\n| url-kit (URL 处理)      | 87     | 87   | 0    | 100%   |\n| bugfixes (兼容修复)     | 17     | 17   | 0    | 100%   |\n\n#### 子模块\n\n| 模块                 | 用例数 | 通过 | 失败 | 通过率 |\n| -------------------- | ------ | ---- | ---- | ------ |\n| bom (浏览器 BOM)     | 53     | 53   | 0    | 100%   |\n| ws (WebSocket)       | 33     | 33   | 0    | 100%   |\n| storage (本地存储)   | 32     | 32   | 0    | 100%   |\n| polling (轮询)       | 16     | 16   | 0    | 100%   |\n| ipc (IPC 通信)       | 49     | 49   | 0    | 100%   |\n| regex (正则表达式)   | 184    | 184  | 0    | 100%   |\n| config (配置常量)    | 21     | 21   | 0    | 100%   |\n| encode (编码/解码)   | 36     | 36   | 0    | 100%   |\n| file (文件处理)      | 62     | 62   | 0    | 100%   |\n| event-bus (事件总线) | 31     | 31   | 0    | 100%   |\n| crypto (加密模块)    | 132    | 132  | 0    | 100%   |\n| uniapp (跨端框架)    | 326    | 326  | 0    | 100%   |\n\n#### 其他\n\n| 模块            | 用例数 | 通过 | 失败 | 通过率 |\n| --------------- | ------ | ---- | ---- | ------ |\n| dist (构建产物) | 87     | 87   | 0    | 100%   |\n","readmeFilename":"README.md"}