{"_id":"udi-package","_rev":"29-e0270fc945a6fac6edae15fa29287751","name":"udi-package","dist-tags":{"latest":"1.0.31"},"versions":{"1.0.0":{"name":"udi-package","version":"1.0.0","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.0","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"d356a3ececfdcdf62f970e61483c9cc00df0b3ae","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.0.tgz","fileCount":3,"integrity":"sha512-5NgHedfKGIb21Sbz6kDRTT6wNrpNu6ls7kzVlgnisccXnFOwsxsKenxBXWWrKDL3rkcwg+Ii9fE0Y/kCBx1W8w==","signatures":[{"sig":"MEUCIQCIqXCCqpa0hRZLgltDt4iEs8SsNbdIW1vtPW7HrvAfTwIgKyTiN2zvYc0vnRSlhEbcWWxa1t+bl4flQ8NGz+44+Lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320},"main":"index.js","type":"module","scripts":{"test":"node demo.js"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.0_1752715518188_0.4655935967744709","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"udi-package","version":"1.0.1","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.1","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"14f53ed5a01d1f152ebbc7b33c3d3d3d8135b205","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.1.tgz","fileCount":4,"integrity":"sha512-eKZs+QSDcKutlDq9vOQU+kdz6V2wRRgQ7CoowmZbStg2GQS8J77jbhrlqFiYmmUkbWsXyE4Ni/3cybdFRogZRw==","signatures":[{"sig":"MEQCID6U8MAbeAlO4xpJT/gpoZzZJLrx39dljKA8X0Omgi9RAiBvk5EbGYBnG66scXM8ECcKGJ5Cdv70UUAHG1+YQDPnOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577},"main":"index.js","type":"module","scripts":{"test":"node demo.js"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.1_1752715820155_0.912337382790624","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"udi-package","version":"1.0.2","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.2","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"9738f6ecc07fe5160c9e19f50a1d28eae7ef5cc5","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.2.tgz","fileCount":3,"integrity":"sha512-ynNOMAg0I7U5L48egkTJbdrjnygzQZKC0rc13FaEds1JV6lq2ldB4tYOC7cg09uTmcvCJf7hwgHZlbC+wmyk0g==","signatures":[{"sig":"MEYCIQDaPaE2xr0fUpM8xUdmXmOmFLLFedmQVIKJKSkYuanXNQIhALIRhzyZdMlb563x83+OG9yt/ZwXLbA6RPIgcBU6j/hy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331},"main":"index.js","type":"module","scripts":{"test":"node demo.js"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.2_1752715981175_0.8905314938203559","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"udi-package","version":"1.0.3","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.3","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"748f4865bb893a598e30f43f8133f7d65ed4bfa9","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.3.tgz","fileCount":4,"integrity":"sha512-BmBaos9NEKtB8tCaNO4Yk8V0XLAOhcvscwXvZ54leeyjnoIEnILCQUet2lQhadtZuz5ucsgq5VCBHqr1KrLKtw==","signatures":[{"sig":"MEQCIBABNTy6n3Jz/F+ODNK3bZdlupNoU+CyZvLdZAfbMo/7AiA5ANr6TTcq1kvTy+bZ0XaZ0Gz6GwVUJJZPmxglXZNMBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":653},"main":"index.js","type":"module","scripts":{"test":"node demo.js"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.3_1752716656358_0.8787388230846342","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"udi-package","version":"1.0.4","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.4","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"e0965ab84a7fae72cbe1569940713688faecf2a0","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.4.tgz","fileCount":5,"integrity":"sha512-ls1h5PFB6ociIk/22LjGNY6R6J8pU3eqCM9/GsDLa9ci1DjPogmTzx5OEU7QIsm5xyy5HqGANUlVvQGmtqQnfg==","signatures":[{"sig":"MEUCIQDY4PfdNp5vVJS3xs9Zs2R1S3I2VV3i8BSb8OtleJ/Z/AIgJxg3kD2eAuO1IBym/z15FfrP10KWVHfQ0mILAB/1wd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":747},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.4_1752719791956_0.847192291725378","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"udi-package","version":"1.0.5","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.5","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"7af286547dcd12087b2d68b2a0f71380394122f0","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.5.tgz","fileCount":5,"integrity":"sha512-DxT1dYJWLi8bVLDh64Illx0FGb637OGOHq1ih084WUs3tBsr03trsRsdEyufgFT1BTyW/JblYzKV+y7tYS6D8w==","signatures":[{"sig":"MEUCIDcuHyW4dP0ZA4pU6cBsbCpyncU4GhhApqmVSWfMaGgHAiEA1YL5Mu9s8FaSMXPqBzAj6n/Kx4kpcABsEsPSgzagb6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":765},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.5_1752719870279_0.8135283395843","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"udi-package","version":"1.0.6","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.6","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"2bb378242050d4e615478bd0666a92af0c25a866","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.6.tgz","fileCount":7,"integrity":"sha512-qZseohDX3SsRcluwm4wM0hdp9NLck9MPCQUI9u7ttjsXB/onxXqvRlhn4gwlRvTTEfwwL8Cd63AhZf/1VVJMWg==","signatures":[{"sig":"MEYCIQD60a2zZjxnnmmqRQNkUHJynTz2VgO902suoHqvAqIUzAIhALl78sVHbB9tGQr/3jkPltRRbN5vPTpnwuNOiJIp1FMS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.6_1752720656295_0.5879007728833825","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"udi-package","version":"1.0.7","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.7","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"f565a6cfd23b72981e0d24f63d0ceb6fb39490d8","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.7.tgz","fileCount":8,"integrity":"sha512-MHIYFSrcpR9hAPZ8y4KQMl6x4JpUK3t84BoBXp2AVf79i1J8ED8BkdyABB49neyrMqhykEJ18S7Q4PyAdjANPw==","signatures":[{"sig":"MEYCIQC+TmB1+HImbj3JhrE/yW/xavA45Ypx1EjSQogGV88BqwIhALuvdQMO8FlQp7fm+TvV9titxSZnj5jFfsXk8bvy2/S8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2330},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1"},"peerDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.7_1752722570202_0.028257157064234706","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"udi-package","version":"1.0.8","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.8","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"be5c3ddbe170d10531213553b24482d92c2bd997","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.8.tgz","fileCount":8,"integrity":"sha512-d/hFTBuO8q/GIt4box7UXKI/jXa2qMN59XMPilQkiejRtl/xvSMFOySiVWDQQ4DpoHBp3+I5kHgFgogBN3hl5w==","signatures":[{"sig":"MEUCIHMAvmM5zLODr8c9bcg9fagC/uG1CgiraMCxHg+H6G0hAiEAt3gZ00bmVBG9yeaFvjw/azlb8b1sV54daeWmm81nqWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2389},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1"},"peerDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.8_1752729884694_0.9518204958422034","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"udi-package","version":"1.0.9","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.9","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"b006d53f03fe0498ccde14b6560a52c59a62d473","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.9.tgz","fileCount":9,"integrity":"sha512-HrKEer7uIRQfc9HnHx0WLlhDhn/704cvHFtSh504oJPaWWcnDooj3rLrCl3WBw6Em5ZlXxRFCxvD2v9faRHbNQ==","signatures":[{"sig":"MEUCIGONo/IMbhiMLcybmmS1q81XbBcLjzC3O8gAG6DhLnVmAiEApyDP+pdmMQ/U+UuVM/obPXXbXfMYD90h3fPx80rdOU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4029},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.9_1752730476055_0.8095931131794798","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"udi-package","version":"1.0.10","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.10","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"93102dbe1ed06c1ba68911b42a9dc7a6a1bed115","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.10.tgz","fileCount":9,"integrity":"sha512-KnYlixHXPK6TebNqyZ2YieqBv7JxJ0UbuyAGn8k0to7nAJO4C09rjU880rA+jaPnhGtw7UCUeS1vetMYFc+eMw==","signatures":[{"sig":"MEUCIFsHVWrcXIt2Ea1TXC2vg8Sl5VrUghnprA+vRgbLMum4AiEAkKDCr03iPLmg/ClvUnDXRipBdoKhqNoO0tG1SPs8yI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4033},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.10_1752730768678_0.7911278090393454","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"udi-package","version":"1.0.11","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.11","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"399c70796c75094b17dbb274608b6df3dfb4dc01","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.11.tgz","fileCount":9,"integrity":"sha512-7JEBqyN3DCJqzl0WAqk1Hprf5t1AC9GAA0GyJI79qBNjmN3JL/B3u/Xy+txOFJPe805/XZfqJFD9xVmYULMDFQ==","signatures":[{"sig":"MEUCIQC7j6UYEnX6PfEbScIrNS1ReJAUGgHmFK6JWxV+WaJJPgIgIlf3U9BMngKmR5hCChinZwq5+v8VKnqbX6ZFEza9Y+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4373},"main":"index.js","type":"module","scripts":{"test":"node demo.js","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependencies":{"store2":"^2.10.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.11_1752731823033_0.40323097901620786","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"udi-package","version":"1.0.12","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.12","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"21e447f5517dbdb3648bbf4281b1024b53fa3c13","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.12.tgz","fileCount":16,"integrity":"sha512-DglTQn3ERfYLWfTaOt3TLZDtpeFrnqyU5EkInVGgRPk7+E8yIbaoVzdtY+fDRvhinVb8WtCUnEa3Vpw87ARZBQ==","signatures":[{"sig":"MEYCIQDJ/YvV4CJZb3gCSX36dtxw7FOCptAZ2olXr0b8u0RjOAIhAKQXhzNthKcqcSMefimKdLWxkXZjgU3KQFadPJzH0qAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10679},"main":"index.js","type":"module","scripts":{"test":"jest","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","react-dom":"^18.2.0","babel-jest":"^29.7.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.12_1752805849208_0.7690180898045578","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"udi-package","version":"1.0.13","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.13","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"45ebec39e5d8b93368d13a4a94787e1b9334e6fb","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.13.tgz","fileCount":16,"integrity":"sha512-IPdKWtSeijcw13Py6E0KGggkrpjvxF7+pj+PJekhGr1jjGQzBHg8dPNyQaDmnwuTlyO1N5BGprM0jHyQfoOMkQ==","signatures":[{"sig":"MEQCIGC7oogoTIzVQUu2c9lzCN+ejbRtv5DEaVMhbqlHYiB1AiAEzY8+agGvdyHJ9OuXSZOxb06LIWLiEA8apvhDohOS4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10682},"main":"index.js","type":"module","scripts":{"test":"jest","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","react-dom":"^18.2.0","babel-jest":"^29.7.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.13_1752806977029_0.65444169973079","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"udi-package","version":"1.0.14","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.14","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"8471c06fa76a82891e5c7119fbb06b8876e20783","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.14.tgz","fileCount":37,"integrity":"sha512-njCP3oKthhenWDGMWREH1ofidFiNPkUkXKPZgx0u+LOyliKCwYGMZlFGP/DTshGB9Ej0HyNxqQY2FWj2E7deQQ==","signatures":[{"sig":"MEUCIQCRoDdts5/5IZ86K7bVPLGsx2rChz0OpzijUR6ehrej9QIgDC12p/wbmmzj9X5Sn4MKBq2mkvpQVJWtBtcrzG9kjtE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31683},"main":"index.js","type":"module","scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.14_1752820149699_0.09379645864160535","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"udi-package","version":"1.0.15","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.15","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"d752b332efcbd86edade543d143575b71a2eb4a6","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.15.tgz","fileCount":19,"integrity":"sha512-p6Ybu7mM0Ws1oBTelXEy6Nd8i3maD/s9lIgxOrQekIa5n7qt1LWRzytq3VVuZ5Vb9mzeSOrjq4rR7tyueTkU/Q==","signatures":[{"sig":"MEQCIEUS4RwweUdlJ0v0sPKk6GsKjeDlouPwYHpN+urj7p92AiAV7/QbsxsQINXD1dnfGQUs0f62dEDPo1aeRUAGqPX1OQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16013},"main":"index.js","type":"module","scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","webpack-bundle-analyzer":"^4.10.2","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.15_1752820836997_0.3770114584369928","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"udi-package","version":"1.0.16","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.16","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"d07d3755da0523a679337bbf17009c1f68e06b00","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.16.tgz","fileCount":10,"integrity":"sha512-wVRlGMTJbQiW0rvt4Dewu98VkheJNcAMqlW46jZOm4cFdYSyRx39xjQ92eZwqT/knsxoTwNL94yqgNcY01RGXA==","signatures":[{"sig":"MEQCIFSZ4i1z530yNBpnA5ob3iGdZBnIr4bhQUGtl82ICuXLAiBbEu0LMpkQFiBIJoC0SNMpTe9saCNxs2G4jfIHOf9nCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7921},"main":"index.js","type":"module","scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","webpack-bundle-analyzer":"^4.10.2","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.16_1752827358146_0.2920848149496025","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"udi-package","version":"1.0.19","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.19","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"2248b70233e033f8148d0443e4b63f8c65374e11","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.19.tgz","fileCount":20,"integrity":"sha512-80y8Tvk+OLXwkU2rWifbvWEeR+8iR7fVB/PhjDlDOCkNTf2HUq0i9K0SL+dWALd7/mpZi6f+V2klLBbm3VMiyA==","signatures":[{"sig":"MEUCIQDLsRhKkaF25LKw5zmiaBUSx9kH2FIquGwYiJ0bYFzG3AIgYLOKmENqq2GJoYSY4AwXjfCvm26w+3XibDtiUaIETWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86114},"main":"index.js","type":"module","scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","style-loader":"^4.0.0","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","webpack-bundle-analyzer":"^4.10.2","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.19_1754016964649_0.8019824462576055","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"udi-package","version":"1.0.20","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.20","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"207851a8c9792b6ada560ae2de29b41d63258d0c","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.20.tgz","fileCount":8,"integrity":"sha512-dGMkcE3pwBOKTUnBdNTRhL8BFIdtv5DrUrcFwC/fKLBUk32dDba+c5zTZcEvWIMZJrTEUOQomY4RBAtoSMGj9A==","signatures":[{"sig":"MEUCIBin+tA/3QowBbYKGm/dmo/0oCJGvxYlPGQ7NBEe6xVMAiEAnc9wjoE9khloHZCRa1pYrX/m/XBTnefSZP7Hdi22puU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50758},"main":"index.js","type":"module","scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","style-loader":"^4.0.0","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","webpack-bundle-analyzer":"^4.10.2","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.20_1754018715291_0.12640797367752787","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"udi-package","version":"1.0.21","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.21","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"bcbf73f5efeb86d78acf11538540450791c8b9ae","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.21.tgz","fileCount":23,"integrity":"sha512-fH+ldHXJxhweASAubnRklmkqTGHuiTRTQlB42uJhFiYDDC6JoNOWeMhPhmGW4bb5PgRExBsZBTA8HNa0e4MIaA==","signatures":[{"sig":"MEQCIHrQQzzXBVw9UWr26M08JyRtubDanU8vUSwIUA7kdJaHAiAkGJqd4+N4d44OC/jYPeaOUpbB3QoIi1A6BcBBEUqXDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131989},"main":"index.js","type":"module","scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","style-loader":"^4.0.0","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","webpack-bundle-analyzer":"^4.10.2","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.21_1754026147586_0.8908385306342916","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"udi-package","version":"1.0.22","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.22","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"77d5d88edd2437332b3e5bb6e0cb4274a1c994d4","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.22.tgz","fileCount":6,"integrity":"sha512-BNeh97R2uXS1CYhqjyanVBHs9yhlGGgZylnelJnLE2CwCAhVrcov31wL2UmTv61sDFUm0fD64rfO6TnBSOVCuA==","signatures":[{"sig":"MEQCIE2m4kQFNpJbHqsM7+cvfeOvkIIoW2Cx3yUg97BnYEQ1AiBZcuQa5ZC8KXgqfBME0r++845QwEN93Op5Agaqi2vBkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50057},"main":"dist/udi-package.js","type":"module","exports":{".":"./dist/udi-package.js"},"scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","style-loader":"^4.0.0","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","webpack-bundle-analyzer":"^4.10.2","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.22_1754027225450_0.6328862882945234","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"udi-package","version":"1.0.23","keywords":["udi","utils"],"author":{"name":"danny"},"license":"MIT","_id":"udi-package@1.0.23","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"79cf8655e97e650f3dfbc881afeff1b090793b52","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.23.tgz","fileCount":6,"integrity":"sha512-NdE8ro9s8/hGs8BdU9aaWD9VFC1Iwo5Mb+dpeISHdsuYUyeWxY8NK1cbmksbaF3FUDUhSc1sk7/sao7QU+AQxA==","signatures":[{"sig":"MEQCIEYBLdrE8a5lyZmJYcmeuRrT0+N6pHlPFb46TgqmR1JxAiAMo7DaqS4/Yz5M0p0lakcmWIMPgl5ohV+1M1zAwaGr9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50057},"main":"dist/udi-package.js","type":"module","exports":{".":"./dist/udi-package.js"},"scripts":{"dev":"webpack serve --mode development --open","test":"jest","build":"webpack --mode production","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --mode development","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"UDI package for utils purposes","directories":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0","store2":"^2.10.0","webpack":"^5.100.2","react-dom":"^18.2.0","babel-jest":"^29.7.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","jsonwebtoken":"^8.5.1","style-loader":"^4.0.0","react-hot-toast":"^2.2.0","@babel/preset-env":"^7.28.0","webpack-dev-server":"^5.2.2","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.4","webpack-bundle-analyzer":"^4.10.2","@testing-library/jest-dom":"^6.6.3","@babel/plugin-syntax-dynamic-import":"^7.8.3"},"peerDependencies":{"react":"^18.0.0","store2":"^2.10.0","react-dom":"^18.0.0","jsonwebtoken":"^8.5.1","react-hot-toast":"^2.2.0"},"peerDependenciesMeta":{"react":{"optional":false},"store2":{"optional":false},"react-dom":{"optional":false},"jsonwebtoken":{"optional":false},"react-hot-toast":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.23_1754546155085_0.5599066556209522","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"udi-package","version":"1.0.25","keywords":["react","components","utils","udi","frontend"],"author":{"name":"Danny Xiao"},"license":"MIT","_id":"udi-package@1.0.25","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"d5b5b2273a546b6e145e6950d46be6ae571b1d97","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.25.tgz","fileCount":7,"integrity":"sha512-yCuBdPp3nZbxrJfYGOiICnKconE/AraKSPGmv5uElHOZTs/9AWl6kINMoBNWxpYFEfhcVOhO2AW3eaEZRVs1Ag==","signatures":[{"sig":"MEYCIQCn4lwhzi1VcXqJPJr2ZEii2IjwPU9t+fAiAi6Q1wWS8AIhAM5k3UcdwNAog4pRLXkI76AEyHTkPcrqR4GhnYUr9AY8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235566},"main":"dist/index.js","module":"dist/index.js","exports":{"import":"./dist/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.cjs","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"Reusable React components and utilities for UDI system","directories":{},"dependencies":{"prop-types":"^15.8.1"},"_hasShrinkwrap":false,"devDependencies":{"util":"^0.12.5","buffer":"^6.0.3","webpack":"^5.101.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","@babel/preset-env":"^7.28.0","crypto-browserify":"^3.12.1","stream-browserify":"^3.0.0","@babel/preset-react":"^7.27.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","store2":"^2.14.4","react-dom":"^17.0.0 || ^18.0.0 || ^19.0.0","jsonwebtoken":"^9.0.2","react-hot-toast":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.25_1754637821439_0.998313878028612","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"udi-package","version":"1.0.26","keywords":["react","components","utils","udi","frontend"],"author":{"name":"Danny Xiao"},"license":"MIT","_id":"udi-package@1.0.26","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"645f6f97c856ddbd972fbb04ed51f880c3778ba5","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.26.tgz","fileCount":4,"integrity":"sha512-aKJN8tcUjR0WqVDhHGHixcIHLxwsX1mZ3MxaoujZtl/GNvaastqZ0uCzPqoacTevelVmpOz9siRlMZDw5wHdLw==","signatures":[{"sig":"MEYCIQChxxvh+MBBw7fdN1aebH/WKeFiSg91HyNri7yl/tmgKgIhAMCGUgyWFCG/B4Kf2LmoYQ5rG7u+BkoWrBP62/Pn+DRz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192140},"main":"dist/index.js","module":"dist/index.js","exports":{"import":"./dist/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.cjs --mode production","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --config webpack.config.cjs --mode development"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"Reusable React components and utilities for UDI system","directories":{},"dependencies":{"prop-types":"^15.8.1"},"_hasShrinkwrap":false,"devDependencies":{"util":"^0.12.5","buffer":"^6.0.3","webpack":"^5.101.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","@babel/preset-env":"^7.28.0","crypto-browserify":"^3.12.1","stream-browserify":"^3.0.0","@babel/preset-react":"^7.27.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","store2":"^2.14.4","react-dom":"^17.0.0 || ^18.0.0 || ^19.0.0","jsonwebtoken":"^9.0.2","react-hot-toast":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.26_1754902182644_0.15082062432679466","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"udi-package","version":"1.0.27","keywords":["react","components","utils","udi","frontend"],"author":{"name":"Danny Xiao"},"license":"MIT","_id":"udi-package@1.0.27","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"a9c107ca1f3c9bc15e2d039b2ed82ec9d2ac3477","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.27.tgz","fileCount":9,"integrity":"sha512-PWORZx5NLgykL3t1I8ERZ8TW77UfFMJNu//OSroLVw0Z/sjL4TnrpPeacrs+9O+5aRE5+yz6toAjYxxGufn3lA==","signatures":[{"sig":"MEUCIBQOFkIn66VbTAJ6rEe0/JZcKbIL8Riq5zabe2lQOUkEAiEAhJJ2Z4Z1fRvU18QwQDZexE2HQDt3zwm4EmatUjP3mQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235526},"main":"dist/index.js","module":"dist/index.js","exports":{"import":"./dist/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.cjs --mode production","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --config webpack.config.cjs --mode development","pack-test":"npm pack && set -e; rm -rf test && mkdir -p test && TARBALL=${TARBALL:-$(ls -t ./udi-package-*.tgz | head -1)} && [ -n \"$TARBALL\" ] || { echo 'No tgz found'; exit 1; } && echo \"Using $TARBALL\" && tar -xvzf \"$TARBALL\" -C test --strip-components=1"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"Reusable React components and utilities for UDI system","directories":{},"dependencies":{"prop-types":"^15.8.1"},"_hasShrinkwrap":false,"devDependencies":{"util":"^0.12.5","buffer":"^6.0.3","webpack":"^5.101.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","@babel/preset-env":"^7.28.0","crypto-browserify":"^3.12.1","stream-browserify":"^3.0.0","@babel/preset-react":"^7.27.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","store2":"^2.14.4","react-dom":"^17.0.0 || ^18.0.0 || ^19.0.0","jsonwebtoken":"^9.0.2","react-hot-toast":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.27_1754978084672_0.7389504994953826","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"udi-package","version":"1.0.28","keywords":["react","components","utils","udi","frontend"],"author":{"name":"Danny Xiao"},"license":"MIT","_id":"udi-package@1.0.28","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"66c4d7e56695885ddcae26c7b3bb4544a2a256a9","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.28.tgz","fileCount":5,"integrity":"sha512-ghm12YA/bGX+FzJv9ZuWREWrseKk5J0md/8hF+2Xn9mFET18vTcxT159hWKfA10vWtvya2iFf1o8nOl9zxnG+Q==","signatures":[{"sig":"MEYCIQCRgkJhOpvKRTSWR6vjL37QgYyU9Gz1rT1mwbpGDJ06lQIhALrBo2TAwlsb91HDvpW+UaUYsipEt86pm1+4Qj/GwI9n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":441213},"main":"dist/index.js","module":"dist/index.js","exports":{"import":"./dist/index.js"},"gitHead":"6b2a52070292502f3d5a4c9433a55c6d40f89649","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.cjs --mode production","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --config webpack.config.cjs --mode development","pack-test":"npm pack && set -e; rm -rf test && mkdir -p test && TARBALL=${TARBALL:-$(ls -t ./udi-package-*.tgz | head -1)} && [ -n \"$TARBALL\" ] || { echo 'No tgz found'; exit 1; } && echo \"Using $TARBALL\" && tar -xvzf \"$TARBALL\" -C test --strip-components=1"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"_npmVersion":"10.8.2","description":"Reusable React components and utilities for UDI system","directories":{},"_nodeVersion":"18.20.8","dependencies":{"prop-types":"^15.8.1"},"_hasShrinkwrap":false,"devDependencies":{"util":"^0.12.5","buffer":"^6.0.3","webpack":"^5.101.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","@babel/preset-env":"^7.28.0","crypto-browserify":"^3.12.1","stream-browserify":"^3.0.0","@babel/preset-react":"^7.27.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","store2":"^2.14.4","react-dom":"^17.0.0 || ^18.0.0 || ^19.0.0","jsonwebtoken":"^9.0.2","react-hot-toast":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.28_1755047379293_0.4171767477376904","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"udi-package","version":"1.0.29","keywords":["react","components","utils","udi","frontend"],"author":{"name":"Danny Xiao"},"license":"MIT","_id":"udi-package@1.0.29","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"2e0a416003424947a4a378efc3734b8bd2cec68b","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.29.tgz","fileCount":8,"integrity":"sha512-hUwRmFZ3xLE6Lkps5+zAvezjRaslMZuSJKpH7UwumowCINriXtLzf7LSAhu7r6GKojdDghw9XMvo+jzQaSXYlg==","signatures":[{"sig":"MEUCIQDuN4J8tcT9PD3pgAuxN4s2sMUrSqDBDxPFPATJMPJMRAIgb68ELlVQJ3P77BnOR9LypR279caaBPz/TlTg+FxZs8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630918},"main":"dist/index.js","module":"dist/index.js","exports":{"import":"./dist/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.cjs --mode production","release":"npm version patch && yarn publish --access public --non-interactive && git push --follow-tags","build:dev":"webpack --config webpack.config.cjs --mode development","pack-test":"npm pack && set -e; rm -rf test && mkdir -p test && TARBALL=${TARBALL:-$(ls -t ./udi-package-*.tgz | head -1)} && [ -n \"$TARBALL\" ] || { echo 'No tgz found'; exit 1; } && echo \"Using $TARBALL\" && tar -xvzf \"$TARBALL\" -C test --strip-components=1"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"description":"Reusable React components and utilities for UDI system","directories":{},"dependencies":{"prop-types":"^15.8.1"},"_hasShrinkwrap":false,"devDependencies":{"util":"^0.12.5","buffer":"^6.0.3","webpack":"^5.101.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","@babel/preset-env":"^7.28.0","crypto-browserify":"^3.12.1","stream-browserify":"^3.0.0","@babel/preset-react":"^7.27.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","store2":"^2.14.4","react-dom":"^17.0.0 || ^18.0.0 || ^19.0.0","jsonwebtoken":"^9.0.2","react-hot-toast":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.29_1755053741391_0.09913039672462243","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"udi-package","version":"1.0.30","keywords":["react","components","utils","udi","frontend"],"author":{"name":"Danny Xiao"},"license":"MIT","_id":"udi-package@1.0.30","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"dist":{"shasum":"58715abbfc07a43d4ad1d5f277566b8283fc0966","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.30.tgz","fileCount":2,"integrity":"sha512-15v4Nynn8FXpEb0rELv0lLQid0QFKeDuXNXjEag6jLJrUOCw+VIxIGWlX1iCFc0hbpou4tgcjxNP1Mbkwts95w==","signatures":[{"sig":"MEYCIQDpOz49pe3pFwUnk5I1yh5UwB0zmM+aC2Tjr6Z5xhKIQAIhAMzy4S1otFml9ZjaQAcSxXaUPhXWVoGbhqcsTX6mbpY0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2417},"main":"dist/index.js","module":"dist/index.js","exports":{"import":"./dist/index.js"},"gitHead":"6a1c8fd46de2eed73f27c209d4bfba8bf37ad560","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack --config webpack.config.cjs --mode production","release":"npm version patch && yarn publish --access public && git push --follow-tags","build:dev":"webpack --config webpack.config.cjs --mode development"},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"_npmVersion":"10.9.4","description":"Reusable React components and utilities for UDI system","directories":{},"_nodeVersion":"22.21.1","dependencies":{"prop-types":"^15.8.1"},"_hasShrinkwrap":false,"devDependencies":{"util":"^0.12.5","buffer":"^6.0.3","webpack":"^5.101.0","css-loader":"^7.1.2","@babel/core":"^7.28.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","style-loader":"^4.0.0","@babel/preset-env":"^7.28.0","crypto-browserify":"^3.12.1","stream-browserify":"^3.0.0","@babel/preset-react":"^7.27.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","store2":"^2.14.4","react-dom":"^17.0.0 || ^18.0.0 || ^19.0.0","jsonwebtoken":"^9.0.2","react-hot-toast":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/udi-package_1.0.30_1764653157360_0.9505216404092305","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"udi-package","version":"1.0.31","description":"UDI package for utils purposes","type":"module","main":"dist/udi-package.js","exports":{".":"./dist/udi-package.js"},"scripts":{"test":"jest","clean":"rm -rf dist *.tgz test-pack","prepack":"npm run clean && npm run build","pack-test":"npm run prepack && npm pack && mkdir -p test-pack && tar -xzf *.tgz -C test-pack && tree -I 'node_modules'","preview-pack":"npm run pack-test && code test-pack/package","build":"webpack --mode production","build:dev":"webpack --mode development","dev":"webpack serve --mode development --open","release":"npm version patch && npm publish --access public --non-interactive && git push --follow-tags"},"author":{"name":"danny"},"license":"MIT","keywords":["udi","utils"],"peerDependencies":{"jsonwebtoken":"^8.5.1","react":"^18.0.0","react-dom":"^18.0.0","react-hot-toast":"^2.2.0","react-icons":"^4.0.0 || ^5.0.0","store2":"^2.10.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false},"react-hot-toast":{"optional":false},"react-icons":{"optional":false},"store2":{"optional":false},"jsonwebtoken":{"optional":false}},"devDependencies":{"@babel/core":"^7.28.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/preset-env":"^7.28.0","@babel/preset-react":"^7.27.1","@testing-library/dom":"^10.4.0","@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.3.0","babel-jest":"^29.7.0","babel-loader":"^10.0.0","css-loader":"^7.1.2","jest":"^29.7.0","jest-environment-jsdom":"^30.0.4","jsonwebtoken":"^8.5.1","react":"^18.2.0","react-dom":"^18.2.0","react-hot-toast":"^2.2.0","react-icons":"^5.5.0","store2":"^2.10.0","style-loader":"^4.0.0","webpack":"^5.100.2","webpack-bundle-analyzer":"^4.10.2","webpack-cli":"^6.0.1","webpack-dev-server":"^5.2.2"},"_id":"udi-package@1.0.31","gitHead":"cef589f474392f4cb44f26c337da7e81a02fc81c","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-fgtyh8sWV5bnaslnsh6Cfo2RpUr0k/QvunXIwhp+eaMFJ2+29wJG7HWDBwOvVqNARSpPULF8VOxqfCiAjDgivQ==","shasum":"df7c83054e7b508c1d10f803b0d37be7f30f4c3e","tarball":"https://registry.npmjs.org/udi-package/-/udi-package-1.0.31.tgz","fileCount":4,"unpackedSize":84873,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEf+Z6DJ67EnMJ0YkAkvmWquJw6FrUX7CjYAuMSPGeydAiBwouK5LtPbw9uFXaJc5tnYogoy2Y30HyHo284Pe7fObw=="}]},"_npmUser":{"name":"dannyxiao","email":"danny@udi.com.tw"},"directories":{},"maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/udi-package_1.0.31_1764654636002_0.3454174691212588"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-17T01:25:18.050Z","modified":"2025-12-02T05:50:37.170Z","1.0.0":"2025-07-17T01:25:18.353Z","1.0.1":"2025-07-17T01:30:20.332Z","1.0.2":"2025-07-17T01:33:01.372Z","1.0.3":"2025-07-17T01:44:16.546Z","1.0.4":"2025-07-17T02:36:32.142Z","1.0.5":"2025-07-17T02:37:50.457Z","1.0.6":"2025-07-17T02:50:56.474Z","1.0.7":"2025-07-17T03:22:50.391Z","1.0.8":"2025-07-17T05:24:44.873Z","1.0.9":"2025-07-17T05:34:36.237Z","1.0.10":"2025-07-17T05:39:28.853Z","1.0.11":"2025-07-17T05:57:03.207Z","1.0.12":"2025-07-18T02:30:49.399Z","1.0.13":"2025-07-18T02:49:37.248Z","1.0.14":"2025-07-18T06:29:09.927Z","1.0.15":"2025-07-18T06:40:37.172Z","1.0.16":"2025-07-18T08:29:18.320Z","1.0.19":"2025-08-01T02:56:04.831Z","1.0.20":"2025-08-01T03:25:15.486Z","1.0.21":"2025-08-01T05:29:07.759Z","1.0.22":"2025-08-01T05:47:05.640Z","1.0.23":"2025-08-07T05:55:55.277Z","1.0.25":"2025-08-08T07:23:41.621Z","1.0.26":"2025-08-11T08:49:42.824Z","1.0.27":"2025-08-12T05:54:44.862Z","1.0.28":"2025-08-13T01:09:39.609Z","1.0.29":"2025-08-13T02:55:41.659Z","1.0.30":"2025-12-02T05:25:57.562Z","1.0.31":"2025-12-02T05:50:36.617Z"},"author":{"name":"danny"},"license":"MIT","keywords":["udi","utils"],"description":"UDI package for utils purposes","maintainers":[{"name":"dannyxiao","email":"danny@udi.com.tw"}],"readme":"# UDI Package\n\n一個UDI內部使用的套件。\n\n## 安裝\n\n```bash\nnpm install udi-package\n```\n\n## 使用方法\n\n### ES6 模組匯入\n\n```javascript\nimport UdiPackage from 'udi-package';\n\n\n// 使用輔助功能\nconst isObj = UdiPackage.isObject({}); // true\nawait UdiPackage.sleep(1000); // 延遲 1 秒\n\n// 使用 Token 功能\nconst token = UdiPackage.getToken();\nconst plainToken = UdiPackage.getPlainToken();\n\n// 使用通知功能\nUdiPackage.notify('這是一則通知', 'success');\n```\n\n### 具名匯入\n\n```javascript\nimport { isObject, sleep, getToken, notify } from 'udi-package';\n\n\nconst isObj = isObject({});\nconst token = getToken();\nnotify('通知訊息', 'info');\n```\n\n## Webpack 打包\n\n本專案已配置 webpack 打包功能，可以生成適用於瀏覽器的 UMD 模組。\n\n### 打包指令\n\n```bash\n# 生產環境打包\nnpm run build\n\n# 開發環境打包\nnpm run build:dev\n\n# 啟動開發伺服器\nnpm run dev\n```\n\n### 打包輸出\n\n打包後的檔案位於 `dist/` 目錄：\n\n- `udi-package.js` - 生產環境版本（已壓縮）\n- `udi-package.dev.js` - 開發環境版本（包含 source map）\n\n### 瀏覽器使用\n\n```html\n<!DOCTYPE html>\n<html>\n<head>\n    <title>UDI Package 測試</title>\n</head>\n<body>\n    <script src=\"dist/udi-package.js\"></script>\n    <script>\n        // 全域變數 UdiPackage 可用\n        console.log(UdiPackage.add(5, 3));\n        UdiPackage.notify('測試通知', 'success');\n    </script>\n</body>\n</html>\n```\n\n## 功能說明\n\n### 數學功能\n- `add(a, b)` - 加法運算\n- `subtract(a, b)` - 減法運算\n\n### 輔助功能\n- `isObject(value)` - 檢查是否為物件\n- `sleep(ms)` - 延遲執行\n\n### Token 功能\n- `getToken()` - 取得儲存的 token\n- `getPlainToken()` - 取得解碼後的 token\n\n### 通知功能\n- `notify(message, type, options)` - 顯示通知\n\n## 開發\n\n### 安裝依賴\n\n```bash\nnpm install\n```\n\n### 執行測試\n\n```bash\nnpm test\n```\n\n### 打包測試\n\n```bash\n# 打包\nnpm run build\n\n# 在瀏覽器中開啟 dist/index.html 進行測試\n```\n\n## 授權\n\nMIT ","readmeFilename":"README.md"}