{"_id":"karl-tools","_rev":"37-549e7d94e94f9ad35adaa4b1d6bbd7e1","name":"karl-tools","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"karl-tools","version":"1.0.0","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.0","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"842271021d2edb48b27f09b4b0ae8c27650281ca","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.0.tgz","fileCount":28,"integrity":"sha512-FUqdFxasbv1sc+N9n71jqpMtaVShJcnxyE6zrJ+wfpyP5cOZoQRQUQEdS5Q3shmwMdWDCWJEj60Buf3jhlSLHA==","signatures":[{"sig":"MEUCIDpBHcXgZJQqrlg7uJleaFv5G0kmkL2/ZvohQktNg2slAiEArviGeOXxEGh4Ka+1UH4t4S7f6ROcBz9yqfKlEWMsOXg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26251},"main":"src/js/index.ts","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"9.5.1","description":"karl的工具库","directories":{},"_nodeVersion":"18.16.0","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.0_1693470456991_0.8612449736817591","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"karl-tools","version":"1.0.1","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.1","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"15bf1edb2efc5227f0b4de79f6b6494a7a42ca45","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.1.tgz","fileCount":28,"integrity":"sha512-7FBFJxpYe9d3IL5gBn+KCpEgTF6+/7gVDVW7o/3LrlgJKBlYgRm6CcTPtBfJOrwnxdKGbKVU87rHVMzkzBEe9g==","signatures":[{"sig":"MEQCIEwvgTkkhRy3c2NcVhwHgWYen/oCxf3V3uXt2tlm7/hkAiALvbe7PnoBlQpw9s9xNt+JAmSTYqrcekFFU5LtoeAivw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27615},"main":"src/js/index.ts","gitHead":"1f41e8073d23b1d78ed784543b0e59e78835a820","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.0.0","description":"karl的工具库","directories":{},"_nodeVersion":"18.17.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.1_1696670563439_0.3643772040991802","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"karl-tools","version":"1.0.2","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.2","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"cb9740da1854d5108dfb489b48bc2f07bea23b99","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.2.tgz","fileCount":29,"integrity":"sha512-LeojTeIzp0U1Ww3KJHiHPsbyNRZCkw3PTDX7L2jA5H2i5R0GkXfNjM2HGDsRU6jkANnvb0Og+0/Sz9SZG35gUw==","signatures":[{"sig":"MEUCICxmHKNj8YQHnA28P/zM2DltbrxU3Iv/ksBIPgLUAjhFAiEArcS35RHK7jRAZAHfgjGdSRpcNIVAkT0a/G4bU9jGR3w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33896},"main":"src/js/index.ts","gitHead":"ad978492f099e914bf401d4df92cc2e2bd7c8f2a","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.0.0","description":"karl的工具库","directories":{},"_nodeVersion":"18.17.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.2_1696843666215_0.9681517790446443","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"karl-tools","version":"1.0.3","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.3","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"12b72fb2d7aadc5272e61e516c3befab00ce6680","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.3.tgz","fileCount":29,"integrity":"sha512-MXKFRt3f6P4VNr83rokFj2foTGeAo6gqYTH6Uctlftp6LTSR2frlDlvkdr/AHeW/nSwixTHCJV5q1+6xXxlKfQ==","signatures":[{"sig":"MEUCIQDYSVcnjh0bIGefGERpLjr8CxxFCwsWLysGplHbUYMREgIgFz4Td2W8GKX2/OwbsTq2pYhqs1gZVe9xHiQBnqYfdZs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33911},"main":"src/js/index.ts","gitHead":"e2619996430390a5b15c498fc13674e18ee00cec","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.0.0","description":"karl的工具库","directories":{},"_nodeVersion":"18.17.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.3_1696898222567_0.023360101563662417","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"karl-tools","version":"1.0.4","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.4","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"85a2faad5137254b8080f56a0161e24ef2634ff1","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.4.tgz","fileCount":29,"integrity":"sha512-HNBFhSz08bupEfO8991k7FtyRYamMJLAWE5GJ1WYWoSx/26J/knVEZo8eVC+/VcyLSA4F/CvTP298JiRwgTEsQ==","signatures":[{"sig":"MEUCIG2Bw2ibYlz4iQdyRhJiF5wHSwNHfQ/aGGCqj6eGzHs9AiEA4zAKgtVD603H/6r2TwNzOcYDOXstqxVQXcgVrm40Ckk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34972},"main":"src/js/index.ts","gitHead":"25e134419014aab7152fda15ed986fc86970ccb9","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.0.0","description":"karl的工具库","directories":{},"_nodeVersion":"18.17.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.4_1696907380505_0.34683451604489823","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"karl-tools","version":"1.0.5","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.5","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"1c4a3092d7f598fa3f4c218da960d2d2f3503172","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.5.tgz","fileCount":29,"integrity":"sha512-1ftnvBHp8E8GlSpfWJlrcpQHCRDEwNPhVgiqKM1UDpUR/0TwSqAYBr0ibanEuEfbJU3k0rfP8MPc9+LKEPTgoA==","signatures":[{"sig":"MEYCIQDIxdfQZW8lI2AEVYF6n9YmFpfP3++BmzffX5OyretD2AIhAPEoiaDZtzJpAB/465lUxl12TR5yQ9aEF7t2aT7LuI2K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36765},"main":"src/js/index.ts","gitHead":"ab32f7cd22f7aafb4219225c90dac25f3be22d78","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.0.0","description":"karl的工具库","directories":{},"_nodeVersion":"18.17.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.5_1696924257927_0.44036470313634024","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"karl-tools","version":"1.0.6","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.6","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"55d56c87e03c89119aa465b4c486f28a985fac7a","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.6.tgz","fileCount":29,"integrity":"sha512-8JKUQG3ba/TrY1G84DO1Oa2hNreICbWBfpqqJpsbWz5GRZXO3826q1ZBBa+Jc0eZPojibfs6jzSls3MOqJGHpw==","signatures":[{"sig":"MEUCIG6VIErN0ExGtiP0aU9W3uFw+kgZhlAjP/eYqTMQQTV0AiEAixbICBTbLsRaPn+2lvav6xHTk4rvErpwOVrLEMN+s9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36539},"main":"src/js/index.ts","gitHead":"5a4bd358c6e48090877d712ffd8c77ae49ea1347","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.4.0","description":"karl的工具库","directories":{},"_nodeVersion":"20.11.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.6_1709101298079_0.8668546683602802","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"karl-tools","version":"1.0.7","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.7","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"dcb6c0f2411a357b60485a1d7c71be60ddf0b99c","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.7.tgz","fileCount":31,"integrity":"sha512-SlnMsLKsVF2bI9dKMo6A0TCphikjQLKHDCHfEt7NvqJ6oC5UbGD38/0A6QweGeQPfv4N3fFLRobQTZgnw8UBBQ==","signatures":[{"sig":"MEUCIGGwAK+i55OT9Nr2SyTDtb1mfK336vgvlgngAj2LLNr/AiEA9sloUQw9/r/g3j9sj2y/xRT2CxNKpzBy27g62eyX5FY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45040},"main":"src/js/index.ts","gitHead":"5a4bd358c6e48090877d712ffd8c77ae49ea1347","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"karl的工具库","directories":{},"_nodeVersion":"20.11.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.7_1715394678080_0.7678977994268725","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"karl-tools","version":"1.0.8","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.8","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"48c2c6aa7a423bb016f0e295e7541e606571d85b","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.8.tgz","fileCount":31,"integrity":"sha512-MPHnN1GJhYb+YrRr+9i5eIk+UeiWAgji7B9V2KavtSFEkZRocWVgexQNVU1tgek/du2XD5+gQBtETxkfcQ1I9Q==","signatures":[{"sig":"MEQCIBMzsdrQfSE8GP/WfILV+6u/H7F14cSCBMTkAHyZL2uhAiBUNY8LFtVbYe3bqUEAHC3Mq/WUW93D7Ph4KQ1NbmHlJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45238},"main":"src/js/index.ts","gitHead":"c029e5c8bacb015ae9819d08b6f8d1721915f4b6","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"karl的工具库","directories":{},"_nodeVersion":"20.11.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.8_1715398197764_0.9834976993440503","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"karl-tools","version":"1.0.9","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.0.9","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"c5db49c9b46c90c658b0d7b70c0ba1b416bfb697","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.0.9.tgz","fileCount":31,"integrity":"sha512-rzPhMFGafdvgLbkxIm7JlKxIgJHeAxhXWxBF9aq4RrXgM/bBLEZYZK0JsTS2Kb4oFrWs6Ps+ySnBJCwGaF2hyw==","signatures":[{"sig":"MEUCIHwZ/wp1Kup1gqqqyyqMW1E28g73FkCJYLzf735vcY24AiEAzfuscdlJiztPzIfHrrmSfXFR27RhwiSVwlz29z4P5Uk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45232},"main":"src/js/index.ts","gitHead":"c029e5c8bacb015ae9819d08b6f8d1721915f4b6","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"karl的工具库","directories":{},"_nodeVersion":"20.11.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.0.9_1715399452635_0.102908834566793","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"karl-tools","version":"1.1.0","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.0","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"cc22d80df703107a3c4c2d3bd64bb4e5471abd4d","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.0.tgz","fileCount":32,"integrity":"sha512-xEClwRSlX+3bifraz1UScMthXWBdEBdkdAAZjk4B6ct5VPvDY53xa6sI3tDYTrqpTSJewher8O0YNYoALed2ew==","signatures":[{"sig":"MEUCIEnHYwbUu5EB/dGpjQUD4wao3ITEx6gZeRqJTcxoVKjlAiEAufomNUtUlBGIJCVCA60tqD2N3QAwnm21Kd8M1f9dTuk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47570},"main":"src/js/index.ts","gitHead":"c029e5c8bacb015ae9819d08b6f8d1721915f4b6","scripts":{"dev":"vite --force --host","lint":"eslint --ext .tsx,.ts ./src","test":"vitest","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"karl的工具库","directories":{},"_nodeVersion":"20.11.1","dependencies":{"qs":"^6.11.2","vue":"^3.3.4","sass":"^1.63.6","axios":"^1.4.0","eslint":"^8.44.0","vitest":"^0.34.3","prettier":"^3.0.0","@types/qs":"^6.9.7","vue-router":"^4.2.4","@types/node":"^20.4.2","element-plus":"^2.3.7","eslint-plugin-vue":"^9.15.1","vite-plugin-inspect":"^0.7.33","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@element-plus/icons-vue":"^2.1.0","@typescript-eslint/parser":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.0","vue-tsc":"^1.8.3","typescript":"^5.0.2","@vitejs/plugin-vue":"^4.2.3","unplugin-auto-import":"^0.16.6","unplugin-vue-components":"^0.25.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.0_1715411423965_0.4284365153131233","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"karl-tools","version":"1.1.1","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.1","homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"2358b3d69b5ac0cc6af8eb5cee3fadd95472e97c","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.1.tgz","fileCount":3,"integrity":"sha512-YkxvcIjD5jw6UgpzrGbTMdfkTP2KNr+MOKXkHEm4BZ9ik8qh8jptHXJZE8ppG0szS6+gT8nSZqcLW1t/FCl/fg==","signatures":[{"sig":"MEUCIQDKOD9qMZ+v4X8IMFBTd1dwNlEnvm6W6ZjjsKAuJSRojgIgOw3jS7yzoywxL775kzjYajPKYoBFKOuBb31wV4MhFYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8000},"main":"./dist/counter.umd.cjs","type":"module","types":"./index.d.ts","module":"./dist/counter.js","exports":{"types":"./index.d.ts","import":"./dist/counter.js","require":"./dist/counter.umd.cjs"},"scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.1","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.1_1719394094181_0.2929520611223222","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"karl-tools","version":"1.1.2","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.2","homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"0d575c68fe6d765df38c90efcea43259ec8a4a1a","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.2.tgz","fileCount":6,"integrity":"sha512-/hPkLXMXnwmK+h8XOx2WMk2KOWYr2hQyOAlqvM23g5K2sJVKO1ynA8H9J/zDPKAWFqaUxqah4dpEH5w5lF6NmQ==","signatures":[{"sig":"MEUCIQCrTp/szOjoVwypbv0zoeCaaGLcj12hSQDhGetrZWqe/QIgBO0BkG4JMLd+l7KP/YW9BM+cfy5mIoraAWRQ1u/zEog=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":189038},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.1","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.2_1719394909029_0.6264071611192763","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"karl-tools","version":"1.1.3","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.3","homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"20cac2675a6039a9423ac5bedf35842661f4dc89","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.3.tgz","fileCount":10,"integrity":"sha512-JPGt7/i/T5jnUiB1KK6zRdbPoYdPP+DcjLIiLpp8cWXcsx6Oj+BE07oZUKV1+16UKii6wc7t3ygcWU5OYgcSHg==","signatures":[{"sig":"MEUCIHDVUkKUsnkvw0CLCm9UIB3IeetwmKICEMR3y2suananAiEAjfWRrrP6rczKBScdKDlZyziqnOEJNZsLMhm+FrKo1DQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":196673},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"7e5b32f0ccb90e10da68c82087bc6c416a7ac47c","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.3_1719412050245_0.4764448660502043","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"karl-tools","version":"1.1.4","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.4","homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"c2c096b335626f149be390b9a75c5a3e97f2ae5c","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.4.tgz","fileCount":10,"integrity":"sha512-S6/i5maytTR/ilZ+ugj1NsKvxFKlF2SciUipspne5LCyCpCxd7Eo5K30kAZ0xepUznO9vj4YAJn9Jub9aNyLyg==","signatures":[{"sig":"MEQCIHmiwnn7KGTRlMyFqT24/8JdV6HWABL5t0sHM+uv0izaAiB43rAor5lfmc8czpCANObQFIVhoiWW6n88AqyPiDe3Aw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":196723},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"7e5b32f0ccb90e10da68c82087bc6c416a7ac47c","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.4_1719412690286_0.6540703916345934","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"karl-tools","version":"1.1.5","keywords":["karl-tools"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.5","homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"d6822dd6e464fdcacaa04c83ce103661107fba51","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.5.tgz","fileCount":10,"integrity":"sha512-YLpoNo3Vkxy8qx1M6MkCIDEGG53pM/TZWrxPHTXOAMdafL4mULA3Qn22OZbbVQeIWw7tvY67Iax3FZQtQAOgBg==","signatures":[{"sig":"MEUCIAZ8pHCEAJuqQMbnW9zMBcpG4AY7omH3xGQ46BrEb5X8AiEAnrtLLKCK4qHPQK20RQZLxOe1UTzF17+AXgDs8wDgkE8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198893},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"a29c66dfd0c6cb89f912d3cac810d7a61bd15197","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.1","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.5_1719481222709_0.10637412004396163","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"karl-tools","version":"1.1.6","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.6","homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"1128156628fb899540c29a0ba4f938df4e46ea7e","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.6.tgz","fileCount":11,"integrity":"sha512-KuQvPCfEnIRcZCvF1U8Br5wS2i6VuaVD1i58jJz+3JFnfXykEPy1GMEoox8qRN3tsejx33gdTBvnM50HsdMA3Q==","signatures":[{"sig":"MEYCIQD57DXnePMA9UWzuRFVyjuMvREy+DnFqyqLJ2yK01YnsQIhAJ8hbbVYhP4hW8Wz+fa6lGa/Z206JBv3+gEWNP14PBgH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255389},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"1fa05d1b58ff1d2334187a09be1665c2179164fd","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.6_1719500700484_0.6388371432114699","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"karl-tools","version":"1.1.7","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.7","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"06b4713043e0eb7cc8b83b590487cc6545860088","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.7.tgz","fileCount":11,"integrity":"sha512-p4OChCSvUv75pleObyGvEfFNcuNJOdcH+T2hFOM4zgSoxgaNWdl+TJZjpwFkXySgliEgH2o+d+tQM72pAtF13A==","signatures":[{"sig":"MEUCIDNQdJmjl124rwuIcx9dg4EIiSkC+9hlbS0tpR0LSBIIAiEA4B7+T/yiuij/eIqqkb7khqT/Yc+3t9McVqp6lpKbXk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255330},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"7a57325798ef0adb3cdfb0f1ab99178c6b4c464e","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.7_1722352283720_0.9996834144052915","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"karl-tools","version":"1.1.8","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.8","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"21ca5d70bc196968354f15bf26c4dcc544bbfd74","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.8.tgz","fileCount":12,"integrity":"sha512-JfxqqQKqysRWR+HUANm75uYw+EBw8SSMbw/zf8P2Tl4aUJRRRvrzuJUphGj2sWJwqqJ2RGCqZVoksiu9+RxZ9A==","signatures":[{"sig":"MEUCIQDloHMZMu7bUx7IM2tAQbCe7QxaK9fdgDu5j5uc+fffcgIgNaqUq2ovd0RJgEfMPYXFqhh+kPk0V1ab+4t2lLzthfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279056},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"7a57325798ef0adb3cdfb0f1ab99178c6b4c464e","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.8_1722435306680_0.7854695455847698","host":"s3://npm-registry-packages"}},"1.1.9":{"name":"karl-tools","version":"1.1.9","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.1.9","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"cb307dc7f89abbc8b183b07a625d8fafdabbcb18","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.1.9.tgz","fileCount":12,"integrity":"sha512-S//GrFej02PGCwFJTVrEK5aE/ahqSGFd6pGWNd/xbAHWjMlo3BKTEuh22zTbeyGWMbJkmHtoUQ+o7TJm33YONg==","signatures":[{"sig":"MEUCIQD4Hx+VlSePZKL9Rkc0zPG9+AdrX85UeGSuSQ6ceWxQNAIgbYFSClNIbpLcVtbHIfoUVr4w1b12U+E759bymJHAakI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279057},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"7a57325798ef0adb3cdfb0f1ab99178c6b4c464e","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.1.9_1722436768452_0.14817138382225403","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"karl-tools","version":"1.2.0","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.0","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"f9ce9ea4a55136ba5af2c671db550f96e8635166","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.0.tgz","fileCount":12,"integrity":"sha512-5IGRGymbfVkuSHB1ndbimudQGuzs3gEIs69mJ4T/HPkATG2iBYCJzwQNkz9ME5+0HSwi7nK1q4XsuClKzc+TnA==","signatures":[{"sig":"MEUCIQCWE9iqEnWE9OgHkrOsc28yseaF1imdZF9M/HrOVjNUPQIgJmaOOqQftJU8xmGwe5P9iK/fXCjDuUB1FUI1chS2Vi0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279232},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"95fccf76dba1c88aaadbd163017844006aedfd85","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.0_1723305249176_0.6291851421313341","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"karl-tools","version":"1.2.1","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.1","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"73a33e63fb638ac813ea5562e3851ec8473969e1","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.1.tgz","fileCount":12,"integrity":"sha512-G487C9zX2mfn0zxja7KHxFgHS5Hl0imegJxGE4Kj2g5f6yccSj8QnWhm1axxBoOoKeaTQlIM8O2APgzJsj9hww==","signatures":[{"sig":"MEUCIQDTI8cUjKV41Q89+OGhQx8cfY13U9BH2Yf9V3G02emlPQIgbEdtvyKhvb3/P8d+rfAaIKOluNVayhzBpel1bePMzzw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279775},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"ec5a566fa97c48eb6f23cdfd144cd8516d8d4bf8","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.1_1723388216028_0.9650097415185837","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"karl-tools","version":"1.2.2","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.2","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"4fa17e5f8a79e0e0117068e0947b7db8b4581994","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.2.tgz","fileCount":12,"integrity":"sha512-h/2z6fi0cAcAK/Bn4u0IO8TrHzgV2/tD/W2v6xNzyFAN90s4oHjf7EzdKs/Un0MpVf0uWafhJUT9qG40Z33N8w==","signatures":[{"sig":"MEYCIQDEO+2fI0j8OYZocmynAq59Wk8cWzS6N/LejTsLj0HNOAIhAP7oNQG1FvTBj2chbxHtNt9as6jF3HKMZF2GsH3bIr0N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":280148},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"f30be3c24394726b45f6413009a993e6cc69bd8e","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.2_1723449858034_0.8508785750504266","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"karl-tools","version":"1.2.3","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.3","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"e0aba89c40a320080a93f4cacb42436453911e45","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.3.tgz","fileCount":12,"integrity":"sha512-gl/3vI/LgRAYEdUIEbjL3XSuRy9C0mFBYN7mV6jMAM7ipH7YErDprdb9NsuEl9F9qvZEDGkVYHJIIX/uKZU96w==","signatures":[{"sig":"MEUCICq8wDpgVrvhpdtq3RJ38Bqqw93rRH9GFzoohJT4LFKxAiEAvWoYtVt0REiUAFuhxPKlYn5gFi9fhUEBYZ7pZhj+QUs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":284825},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"64bde028ac03c592711b22160b065431c777d6c9","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.3_1723476805201_0.8259806111669175","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"karl-tools","version":"1.2.4","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.4","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"2c695aec795ef0c01a25c9910f1d87a63404b504","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.4.tgz","fileCount":12,"integrity":"sha512-AzTEg3RMdx/ZHGDyoRw/f9qQLr84N4CpbB2qI8/kI0Hrn4BDPpOZJLxl/6QqblHfVVP5iNuKH/HO8tYnXPAzJQ==","signatures":[{"sig":"MEQCIBPC1BccorFfQYNAa+zLFA+oz2/ow6Dva81rqIfQmNurAiAHyWL6eCtCFFX4vW/0fCDwT085ek4h7ap9C1t0C92dpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":284888},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"4b928872f2d5753e8778e11abb6e66bc89bb43e6","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.4_1723477032026_0.05814525412966631","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"karl-tools","version":"1.2.5","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.5","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"d3b89b45da0fcf9988c149dc0a05d9fe36b3da6f","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.5.tgz","fileCount":12,"integrity":"sha512-/eX742F0/y1i67djoIMo2WSgGQcoI8LHz3NwK0LmXALW+1Xf/TgHLZbO5NYL6wevtn8v9oUHykOZ61mY6fzk+A==","signatures":[{"sig":"MEQCIAmuNfKItwdSBnlPoAfW3r3win+YMvka5YpW/CSFLxVBAiB4xA7Z05bMdbe98dQ719CWwa0xoGA7TySVhUGAv2YabA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285584},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"bfee36d4e10ff3f178e17a22503bee453675b474","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.5_1724137878926_0.6059902172138691","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"karl-tools","version":"1.2.6","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.6","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"da9655394dd46914e92794d29f1a1a9123692575","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.6.tgz","fileCount":12,"integrity":"sha512-mXPUQ0QAj5nbCZSDWMRxL6O9pZ8gPle9s+johlKdXtv0+p+SkkPK8oUmJFlbt6nBglJvelzgSQwHmrxllgO0uA==","signatures":[{"sig":"MEUCIQCvEV7Z+xYvqjdW0ZR0AKgtyDBbiMUrSC71FKgYSoziEAIgLHEulUvE/I3OvWSpbUYebz9Ae+o4XJShMCIlZnXuNw0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285277},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"7bffc1e25a341fd2fd8be802ac31f8b10d4f763f","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.8.2","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.6_1728397727372_0.5331257928392037","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"karl-tools","version":"1.2.7","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.7","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"16e2d0451b568b8f1cbe403d80483231dd886b87","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.7.tgz","fileCount":14,"integrity":"sha512-1kpXZr0aLlBQ4BI9lecgrdb2DAa3A4EwbsvntCtGxG9IifG45l53FRoP2jfVVfajH2e3K+gk/ezyroKA1KIo4A==","signatures":[{"sig":"MEQCIEo1uS/Ekq3J83UlQCf3d+xpuM5jR1B1qvLvErdId1oiAiBzUKn50s5WHcYjfkkb8vkdfWiRsRGkGHSmXfm2A8XDqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273925},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"6da9cb721cd17ba512da9e1dc456a1f33cde1657","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","spark-md5":"^3.0.2","typescript":"^5.4.5","vite-plugin-dts":"^3.9.1","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.7_1748500820868_0.9569109711298904","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"karl-tools","version":"1.2.8","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.8","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"bea0b0f901c4ccd6f8d14ece14158490ff5f3575","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.8.tgz","fileCount":12,"integrity":"sha512-W1X6fhrfCNCvh37iCcsKTwR+Fdn+TPjcqEY7z70kPV8n5YwnZ5xP0CCruRJRmFAx34vAjOTRTyMHrWiF1ucZRQ==","signatures":[{"sig":"MEQCIEANB2X0SI631oM+YABSnuTdOiL5SDupPnkQv0LRJeYbAiBQZ2HOqzfrqc0pssnHznPjGee2Ado7etCPpN8SE0sqRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268439},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"227c7159af6cdabb0159ce8233dcc8d3ab51faf6","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5","vite-plugin-dts":"^4.5.4","@types/spark-md5":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.8_1748512006470_0.1120462492782035","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"karl-tools","version":"1.2.9","keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","_id":"karl-tools@1.2.9","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"homepage":"https://github.com/karl1901/karl-tools#readme","bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"dist":{"shasum":"6549b43e7e7aeef424df4daf526ac6f731938223","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.2.9.tgz","fileCount":12,"integrity":"sha512-/WF+mhbJYHOS8y83Tkp8ZedmYyTcmXaYuFp1+xBkMW8Q7W3fUzrsfXtWRg57QATIhRf29G+e+gZlh78Ezx2qQQ==","signatures":[{"sig":"MEQCIGx8m8DY5c6ms8pM5pLic5VykmbzRp1BxpxAg5pNn/i6AiBs5zu10+K7PYcqdxr70PtxFHc/e4wLW/JnW3WeNICEow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268400},"main":"./dist/karl-tools.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/karl-tools.js","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"gitHead":"84cfc8142a781d0774ba96977e4525856ed0abed","scripts":{"dev":"vite","build":"tsc && vite build"},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"repository":{"url":"git+https://github.com/karl1901/karl-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"Karl's arsenal of tools","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"qs":"^6.12.1","vite":"^5.2.10","axios":"^1.7.2","@types/qs":"^6.9.15","typescript":"^5.4.5","vite-plugin-dts":"^4.5.4"},"_npmOperationalInternal":{"tmp":"tmp/karl-tools_1.2.9_1748571593890_0.630599988976529","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"karl-tools","version":"1.3.0","description":"Karl's arsenal of tools","type":"module","main":"./dist/karl-tools.umd.cjs","module":"./dist/karl-tools.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/karl-tools.js","require":"./dist/karl-tools.umd.cjs"},"scripts":{"dev":"vite","build":"tsc && vite build"},"keywords":["karl-tools","tools","typescript"],"author":{"name":"karl"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/karl1901/karl-tools.git"},"bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"homepage":"https://github.com/karl1901/karl-tools#readme","devDependencies":{"@types/qs":"^6.9.15","axios":"^1.7.2","qs":"^6.12.1","typescript":"^5.4.5","vite":"^5.2.10","vite-plugin-dts":"^4.5.4"},"_id":"karl-tools@1.3.0","gitHead":"4457d4a4573006e12c5cb3334bc5027b2b6e7fdf","_nodeVersion":"21.7.3","_npmVersion":"10.5.0","dist":{"integrity":"sha512-7DpNh63+ZkvHdHmyrhAB6M/X8k3APupkmtWOS0YTjeQuQjkj8LK3nFFpZEzPQoI+bSFSQfFn7hG9EbM37KVCog==","shasum":"467115a4ebac56bb910ecab2da0a0fc8a7523ecf","tarball":"https://registry.npmjs.org/karl-tools/-/karl-tools-1.3.0.tgz","fileCount":12,"unpackedSize":268871,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAd3F5wgbBLHCAFy5FXRKq4Vn1XfbCo378xqu4uyiiKaAiEA78IvtP6Myea5IK0nkynLV4dCXxbFB5ODSSSJ6sNO4qU="}]},"_npmUser":{"name":"karl2371265527","email":"2371265527@qq.com"},"directories":{},"maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/karl-tools_1.3.0_1749006702553_0.37054883283568296"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-31T08:27:36.990Z","modified":"2025-06-04T03:11:42.907Z","0.0.1":"2019-01-07T06:04:39.510Z","0.0.2":"2019-01-07T06:19:34.525Z","0.0.3":"2019-02-07T04:18:41.954Z","1.0.0":"2023-08-31T08:27:37.169Z","1.0.1":"2023-10-07T09:22:43.645Z","1.0.2":"2023-10-09T09:27:46.409Z","1.0.3":"2023-10-10T00:37:02.795Z","1.0.4":"2023-10-10T03:09:40.769Z","1.0.5":"2023-10-10T07:50:58.127Z","1.0.6":"2024-02-28T06:21:38.219Z","1.0.7":"2024-05-11T02:31:18.289Z","1.0.8":"2024-05-11T03:29:57.940Z","1.0.9":"2024-05-11T03:50:52.761Z","1.1.0":"2024-05-11T07:10:24.139Z","1.1.1":"2024-06-26T09:28:14.323Z","1.1.2":"2024-06-26T09:41:49.200Z","1.1.3":"2024-06-26T14:27:30.422Z","1.1.4":"2024-06-26T14:38:10.438Z","1.1.5":"2024-06-27T09:40:22.887Z","1.1.6":"2024-06-27T15:05:00.643Z","1.1.7":"2024-07-30T15:11:24.065Z","1.1.8":"2024-07-31T14:15:06.886Z","1.1.9":"2024-07-31T14:39:28.651Z","1.2.0":"2024-08-10T15:54:09.400Z","1.2.1":"2024-08-11T14:56:56.303Z","1.2.2":"2024-08-12T08:04:18.192Z","1.2.3":"2024-08-12T15:33:25.541Z","1.2.4":"2024-08-12T15:37:12.169Z","1.2.5":"2024-08-20T07:11:19.150Z","1.2.6":"2024-10-08T14:28:47.545Z","1.2.7":"2025-05-29T06:40:21.061Z","1.2.8":"2025-05-29T09:46:46.648Z","1.2.9":"2025-05-30T02:19:54.140Z","1.3.0":"2025-06-04T03:11:42.743Z"},"bugs":{"url":"https://github.com/karl1901/karl-tools/issues"},"author":{"name":"karl"},"license":"ISC","homepage":"https://github.com/karl1901/karl-tools#readme","keywords":["karl-tools","tools","typescript"],"repository":{"type":"git","url":"git+https://github.com/karl1901/karl-tools.git"},"description":"Karl's arsenal of tools","maintainers":[{"name":"karl2371265527","email":"2371265527@qq.com"}],"readme":"<div align=\"center\">\r\n<a href=\"https://github.com/karl1901/karl-tools\"><img src=\"https://kangxianghui.top/api/Util/OnlineView/articlePicture/karl11721975927150192.png\" /></a><br>\r\n</div>\r\n\r\n<p align=\"center\">一 个 免 费 的 TypeScript 工 具 库</p>\r\n\r\n<p align=\"center\">\r\n    <a href=\"https://github.com/karl1901/karl-tools\"><b>主页</b></a> •\r\n    <a href=\"https://github.com/karl1901/karl-tools/blob/main/README.md\"><b>文档</b></a>\r\n</p>\r\n\r\n<div align=\"center\">\r\n\r\n[![github](https://flat.badgen.net/badge/icon/github?icon=github&label)](https://github.com/karl1901/karl-tools)\r\n[![github-stars](https://badgen.net/github/stars/karl1901/karl-tools)](https://github.com/karl1901/karl-tools)\r\n[![npm](https://badgen.net/badge/icon/npm?icon=npm&label)](https://www.npmjs.com/package/karl-tools)\r\n[![npm-v](https://badgen.net/npm/v/karl-tools)](https://www.npmjs.com/package/karl-tools)\r\n[![npm-license](https://badgen.net/npm/license/karl-tools)](https://www.npmjs.com/package/karl-tools)\r\n[![npm-dt](https://badgen.net/npm/dt/karl-tools)](https://www.npmjs.com/package/karl-tools)\r\n\r\n</div>\r\n\r\n<div align=\"center\">\r\n\r\n![Alt](https://repobeats.axiom.co/api/embed/5a33d125febc0c4ef3dd8f3551fea59f73f7557d.svg \"Repobeats analytics image\")\r\n\r\n</div>\r\n\r\n<!-- 自动生成目录：Ctrl + Shift + p，搜索MarkDown -->\r\n<!-- 需要插件：Markdown All in One、Markdown Preview Enhanced -->\r\n## 目录\r\n\r\n- [目录](#目录)\r\n- [安装](#安装)\r\n- [发布的版本](#发布的版本)\r\n- [已发布内容](#已发布内容)\r\n  - [1、工具函数](#1工具函数)\r\n    - [函数使用方法](#函数使用方法)\r\n    - [函数列表](#函数列表)\r\n  - [2、Axios - Ajax请求封装函数工具](#2axios---ajax请求封装函数工具)\r\n    - [2.1、使用工具库内部的Axios实例](#21使用工具库内部的axios实例)\r\n    - [2.2、使用自己项目安装的Axios实例](#22使用自己项目安装的axios实例)\r\n    - [2.3、封装文件上传函数](#23封装文件上传函数)\r\n  - [3、事件处理器](#3事件处理器)\r\n- [贡献者](#贡献者)\r\n\r\n## 安装\r\n\r\n```shell\r\n# 1、下载最新版本\r\nnpm i karl-tools\r\n```\r\n\r\n```shell\r\n# 2、下载指定版本\r\nnpm i karl-tools@x.x.x\r\n```\r\n\r\n## 发布的版本\r\n\r\n[更新日志](https://github.com/karl1901/karl-tools/blob/main/CHANGELOG.md)  \r\n\r\n## 已发布内容\r\n\r\n### 1、工具函数\r\n\r\n#### 函数使用方法\r\n\r\n1、导入\r\n\r\n```js\r\n// 导入整个模块\r\nimport * as karlTools from 'karl-tools';\r\n```\r\n\r\n或\r\n\r\n```js\r\n// 按需导入\r\nimport { formatDate } from 'karl-tools';\r\n```\r\n\r\n2、使用\r\n\r\n```js\r\n// 写一个获取当时时间，并格式化的方法\r\nshowNow() {\r\n            return karlTools.formatDate(new Date(), 'yyyy年MM月dd日 hh:mm:ss', null);\r\n          }\r\n```\r\n\r\n或\r\n\r\n```js\r\n// 写一个获取当时时间，并格式化的方法\r\nshowNow() {\r\n            return formatDate(new Date(), 'yyyy年MM月dd日 hh:mm:ss', null);\r\n          }\r\n```\r\n\r\n```html\r\n<!-- 在页面使用获取当前时间的方法 -->\r\n<div>{{ showNow() }}</div>\r\n<!-- 2014年01月01日 10:00:03 -->\r\n```\r\n\r\n#### 函数列表\r\n\r\n| 函数              | 名称                               | 说明                                                                                                   |\r\n| ----------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------ |\r\n| formatDate        | 格式化日期时间                     | 例如：2023-10-09 12:00:00、2023年10月09日 12:00:00...                                                  |\r\n| formatCommas      | 格式化数字                         | 例如：10,000,000、10,000.00...                                                                         |\r\n| openChooseFile    | 打开文件选择器                     | 支持单选、多选，选中文件夹                                                                             |\r\n| formatFileSize    | 格式化文件大小                     | 例如：100KB、130MB...                                                                                  |\r\n| copyText          | 复制文本内容                       | 支持控制台打印复制结果                                                                                 |\r\n| searchKeywordInfo | 关键字着色                         | 常用于搜索结果字符串标色                                                                               |\r\n| searchKeywordList | 根据关键字查找集合中符合条件的数据 | 常用于查找集合中包含条件的所有内容，支持嵌套结构                                                       |\r\n| searchTypeList    | 集合信息比对匹配                   | 常用于获取两集合中含有的相同内容                                                                       |\r\n| sortList          | 集合排序                           | 常用于集合排序，例如：商品集合中根据商品价格排序，支持升序、降序                                       |\r\n| saveLocalInfo     | 保存信息到本地                     | 常用于保存Token、其他信息，支持配置信息过期时间                                                        |\r\n| loadLocalInfo     | 加载本地保存的信息                 | 常用于加载Token、本地保存的信息                                                                        |\r\n| checkLocalInfo    | 检验本地保存的信息是否过期         | 检验本地保存的Token、其他信息是否已过期                                                                |\r\n| removeLocalInfo   | 移除本地保存的信息                 | 常用于删除Token、本地保存的信息                                                                        |\r\n| maskStr           | 字符串掩盖格式化                   | 例如：136\\*\\*\\*6343、房东\\*\\*\\*猫、游客k1\\*\\*ws...                                                     |\r\n| concurRequest     | 并发请求工具函数                   | 可控制并发数，不受浏览器限制，但是受服务器限制，如果服务器限制了并发数，那么这个函数就无法实现并发请求 |\r\n| cutAndHashFile    | 大文件分片函数                     | 将文件按照指定大小进行分片，并计算每个分片的哈希值，按照顺序返回分片后的信息集合                       |\r\n| isBrowser         | 判断当前环境是否为浏览器           | 检测当前代码是否在浏览器环境中运行                                                                     |\r\n\r\n### 2、Axios - Ajax请求封装函数工具\r\n\r\n> 工具使用到的库以及版本如下  \r\n> 1、@types/qs: `6.9.15`  \r\n> 2、qs: `6.12.1`  \r\n> 3、axios: `1.7.2`  \r\n\r\n函数名称：`send`  \r\n\r\n函数参数配置对象：  \r\n\r\n> baseUrl：`请求地址前缀（必填）`  \r\n> url：`请求地址（必填）`  \r\n> param：`请求参数（可选）`  \r\n> method：`请求方式（可选）`  \r\n> returnPromise：`是否返回 Promise 对象（可选），如果为true，则 send 函数会返回发送请求的 Promise；反之，则会通过回调函数 - callback 返回请求结果`  \r\n> errorResponse：`自定义错误信息函数（可选）`，当请求发生错误时，该函数会回调错误信息对象 - error，并返回自定义的错误信息，例如：`{code: 500, msg: '服务器异常', data: error}`  \r\n> callback：`请求成功后的回调函数（可选）`  \r\n> axiosInstance：`自定义axios实例（可选），例如：文件上传，需自定义 Content-Type 等其他各种场景`  \r\n> qsOptions：`自定义qs参数格式化配置（可选）`  \r\n> interceptors：`自定义拦截器（可选），不论是否传入自定义 Axios 实例，都会回调当前的 Axios 实例`  \r\n\r\n返回值：`Promise对象 或 void`  \r\n\r\n使用示例：\r\n\r\n#### 2.1、使用工具库内部的Axios实例\r\n\r\nps：包含 - 《自定义错误信息函数》、《自定义拦截器》 的使用方式  \r\n\r\n首先，声明拦截器添加状态属性，用于判断拦截器是否已经添加，避免重复添加拦截器  \r\n\r\nps：实现拦截器状态管理的方式有很多种，具体你自己定义  \r\n\r\n```ts\r\n// axios.d.ts\r\nimport 'axios';\r\n\r\ndeclare module 'axios' {\r\n    interface AxiosInstance {\r\n        __requestInterceptorAdded?: boolean; // 是否已经添加了请求拦截器\r\n        __responseInterceptorAdded?: boolean; // 是否已经添加了响应拦截器\r\n    }\r\n}\r\n\r\n```\r\n\r\n```ts\r\n// 导入axios的类型声明\r\nimport { AxiosInstance, Method } from 'axios';\r\n// 导入send函数，用于发送请求\r\nimport { send } from 'karl-tools';\r\n\r\n// 设置请求的地址前缀\r\nconst BASE_URL = 'xxxxxx';\r\n\r\n/**\r\n * 自定义错误信息处理函数（可选，这里只是做演示，教大家如何使用）\r\n *\r\n * @author Karl\r\n *\r\n * @description 返回一个对象，自定义请求发生错误时的返回信息，只有在返回方式为回调函数时才会生效\r\n *\r\n * @param error {any} 请求发生错误的信息\r\n *\r\n * @returns 返回的错误信息\r\n */\r\nconst errorResponse = (error: any) => {\r\n    return { code: 500, msg: '服务器异常', data: error };\r\n};\r\n\r\n/**\r\n * Axios自定义请求拦截器和响应拦截器（可选，这里只是做演示，教大家如何使用）\r\n *\r\n * @author Karl\r\n *\r\n * @param axiosInstance {AxiosInstance} Axios实例\r\n */\r\nconst interceptors = (axiosInstance: AxiosInstance) => {\r\n    if (!axiosInstance) throw new Error('axiosInstance is required');\r\n\r\n    // 请求请求拦截器\r\n    if (!axiosInstance.__requestInterceptorAdded) {\r\n        axiosInstance.interceptors.request.use(\r\n            (req) => {\r\n                return req;\r\n            },\r\n            (err) => {\r\n                // 打印错误信息\r\n                console.log('请求拦截器 <==> 错误信息:{}', err);\r\n                // 继续请求\r\n                return Promise.reject(err);\r\n            }\r\n        );\r\n        // 标记请求拦截器已添加\r\n        axiosInstance.__requestInterceptorAdded = true;\r\n    }\r\n\r\n    // 请求响应拦截器\r\n    if (!axiosInstance.__responseInterceptorAdded) {\r\n        axiosInstance.interceptors.response.use(\r\n            (req) => {\r\n                return req;\r\n            },\r\n            (err) => {\r\n                // 打印错误信息\r\n                console.log('响应拦截器 <==> 错误信息:{}', err);\r\n                // 返回结果\r\n                return Promise.reject(err);\r\n            }\r\n        );\r\n        // 标记响应拦截器已添加\r\n        axiosInstance.__responseInterceptorAdded = true;\r\n    }\r\n};\r\n\r\n/**\r\n * 项目中自定义的请求函数（二次封装），并导出\r\n * \r\n * @author Karl\r\n *\r\n * @param url {string} 请求地址\r\n * @param param {any} 请求参数\r\n * @param method {Method} 请求方式\r\n * @param returnPromise {boolean} 是否返回Promise\r\n * @param cb {Function} 回调函数\r\n * @returns Promise 或 void\r\n */\r\nexport const request = (url: string, param?: any, method?: Method, returnPromise?: boolean, cb?: Function): Promise<any> | void => {\r\n    // 发送请求并返回Promise函数\r\n    return send({\r\n        baseUrl: BASE_URL, // 请求地址前缀\r\n        url: url, // 请求地址\r\n        param: param, // 请求参数\r\n        method: method, // 请求方式\r\n        returnPromise: returnPromise, // 是否返回Promise\r\n        errorResponse: errorResponse, // 自定义错误信息处理函数（可选）\r\n        callback(data) { // 回调函数（可选）\r\n            cb && cb(data); // 如果回调函数存在，则执行回调函数\r\n        },\r\n        interceptors: interceptors // Axios自定义请求拦截器和响应拦截器（可选）\r\n    });\r\n};\r\n\r\n```\r\n\r\n#### 2.2、使用自己项目安装的Axios实例\r\n\r\nps：此示例展示的是 - 如何使用自定义的Axios实例\r\n\r\n```ts\r\n// 导入Axios实例与其类型声明\r\nimport axios, { Method } from 'axios';\r\n// 导入send函数，用于发送请求\r\nimport { send } from 'karl-tools';\r\n\r\n// 设置请求的地址前缀\r\nconst BASE_URL = 'xxxxxx';\r\n\r\n// 创建自定义Axios实例\r\nconst requestAxios = axios.create({\r\n    // 提示：这里你可以设置baseUrl、url、param、method等参数\r\n    // 但是，send函数中：baseUrl、url 为必填参数，它们会自动填充到Axios的实例配置对象中，所以不推荐在这里设置它们，而是通过send函数的参数传入\r\n    // 如果你在这里设置了baseUrl、url，那么send函数中会覆盖通过参数传入的baseUrl、url的值，具体可以查看send函数的源码\r\n    // 其他的参数：param、method也是如此，所以不推荐在这里设置它们，而是通过send函数的参数传入\r\n    // 所以，我推荐在这里设置一些全局的参数，如：headers、timeout等\r\n    headers: {\r\n        'Content-Type': 'application/json' // 设置请求头\r\n    },\r\n    timeout: 60 * 1000 // 请求超时时间，一分钟\r\n});\r\n\r\n/**\r\n * 项目中自定义的请求函数（二次封装），并导出\r\n *\r\n * @author Karl\r\n *\r\n * @param url {string} 请求地址\r\n * @param param {any} 请求参数\r\n * @param method {Method} 请求方式\r\n * @param returnPromise {boolean} 是否返回Promise\r\n * @param cb {Function} 回调函数\r\n * @returns Promise 或 void\r\n */\r\nexport const request = (url: string, param?: any, method?: Method, returnPromise?: boolean, cb?: Function): Promise<any> | void => {\r\n    // 发送请求并返回Promise函数\r\n    return send({\r\n        baseUrl: BASE_URL, // 请求地址前缀\r\n        url: url, // 请求地址\r\n        param: param, // 请求参数\r\n        method: method, // 请求方式\r\n        returnPromise: returnPromise, // 是否返回Promise\r\n        callback(data) {\r\n            // 回调函数（可选）\r\n            cb && cb(data); // 如果回调函数存在，则执行回调函数\r\n        },\r\n        axiosInstance: requestAxios // 使用自定义的Axios实例\r\n    });\r\n};\r\n\r\n```\r\n\r\n#### 2.3、封装文件上传函数\r\n\r\nps：此示例展示的是 - 如何封装文件上传函数并发送请求\r\n\r\n```ts\r\n// 导入Axios实例与其类型声明\r\nimport axios, { AxiosProgressEvent, Method } from 'axios';\r\n// 导入send函数，用于发送请求\r\nimport { send } from 'karl-tools';\r\n\r\n// 设置请求的地址前缀\r\nconst BASE_URL = 'xxxxxx';\r\n// 文件上传文件对象的key\r\nconst FILE_KEY = 'xxxxxx';\r\n\r\n// 创建文件上传的Axios实例\r\nconst fileAxios = axios.create({\r\n    // 提示：这里你可以设置baseUrl、url、param、method等参数\r\n    // 但是，send函数中：baseUrl、url 为必填参数，它们会自动填充到Axios的实例配置对象中，所以不推荐在这里设置它们，而是通过send函数的参数传入\r\n    // 如果你在这里设置了baseUrl、url，那么send函数中会覆盖通过参数传入的baseUrl、url的值，具体可以查看send函数的源码\r\n    // 其他的参数：param、method也是如此，所以不推荐在这里设置它们，而是通过send函数的参数传入\r\n    // 所以，我推荐在这里设置一些全局的参数，如：headers、timeout等\r\n    headers: {\r\n        'Content-Type': 'multipart/form-data' // 设置请求头\r\n    },\r\n    timeout: 60 * 1000 // 请求超时时间，一分钟\r\n});\r\n\r\n/**\r\n * 文件上传请求函数\r\n *\r\n * @author Karl\r\n *\r\n * @param url {string} 请求地址\r\n * @param file {File} 文件对象\r\n * @param param {any} 请求参数\r\n * @param method {Method} 请求方法\r\n * @param progress {Function} 上传进度回调函数\r\n *\r\n * @returns Promise 或 void\r\n */\r\nexport const uploadFile = (\r\n    url: string,\r\n    file: File,\r\n    param?: any,\r\n    method?: Method,\r\n    progress?: ((progressEvent: AxiosProgressEvent) => void) | undefined\r\n) => {\r\n    // 创建一个FormData对象\r\n    let formdata = new FormData();\r\n    // 将文件对象添加到FormData中\r\n    formdata.append(FILE_KEY, file);\r\n    // 如果有请求参数，则将请求参数添加到FormData中\r\n    if (param) {\r\n        for (let key in param) {\r\n            formdata.append(key, param[key]);\r\n        }\r\n    }\r\n    // 文件上传进度回调函数，怎么设置看你自己，也可以在这里创建axios实例时设置\r\n    fileAxios.defaults.onUploadProgress = progress || (() => {});\r\n    // 发送请求并返回Promise函数\r\n    return send({\r\n        baseUrl: BASE_URL,\r\n        url: url,\r\n        param: formdata,\r\n        method: method,\r\n        returnPromise: true,\r\n        axiosInstance: fileAxios\r\n    });\r\n};\r\n\r\n```\r\n\r\n### 3、事件处理器\r\n\r\nps：主要用于处理项目中的事件，例如：`登录过期/未授权`，`路由跳转到登录页面并弹出提示` 等\r\n\r\n```ts\r\n// 导入监听器工具\r\nimport { EventEmitter } from 'karl-tools';\r\n\r\n/**\r\n * 项目监听事件配置中心\r\n */\r\n\r\n// 定义事件名称\r\nconst customEventNamesArray = ['API:UN_AUTH', 'API:ERR_BAD_REQUEST', 'API:CUSTOM_EVENT'] as const;\r\n\r\n// 创建监听器\r\nconst eventEmitter = new EventEmitter(customEventNamesArray);\r\n\r\n// 监听事件配置\r\neventEmitter.on('API:UN_AUTH', (resp: any) => {\r\n    console.log('未授权，请重新登录:{}', resp);\r\n    // 路由跳转到登录页面\r\n    // 弹出提示\r\n    // 清除登录信息\r\n    // ...\r\n});\r\n\r\neventEmitter.on('API:ERR_BAD_REQUEST', (resp: any) => {\r\n    console.log('请求发生错误:{}', resp);\r\n    // 弹出提示\r\n    // ...\r\n});\r\n\r\neventEmitter.on('API:CUSTOM_EVENT', (resp: any) => {\r\n    console.log('自定义事件=>', resp);\r\n    // 自定义处理逻辑\r\n    // ...\r\n});\r\n\r\n// 导出监听器\r\nexport { eventEmitter };\r\n\r\n```\r\n\r\n## 贡献者\r\n\r\n<div align=\"center\">\r\n\r\n<a href=\"https://github.com/karl1901/karl-tools/graphs/contributors\">\r\n  <img src=\"https://contrib.rocks/image?repo=karl1901/karl-tools\" />\r\n</a>\r\n\r\n</div>\r\n","readmeFilename":"README.md"}