{"_id":"@bereasoftware/time-guard","_rev":"33-b557cab53a8c64cb3928691bcdf819c8","name":"@bereasoftware/time-guard","dist-tags":{"latest":"2.10.3"},"versions":{"1.0.1":{"name":"@bereasoftware/time-guard","version":"1.0.1","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@1.0.1","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"c226eb609efc99a848e64231b0ad21db3df344b0","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-1.0.1.tgz","fileCount":9,"integrity":"sha512-NUGu/wjCUR4hiyISEetbd15QxGBn0W7Wo7rS013VLvokhF364d7VNzwgzwtY/ELCS5xbbdzSK1z3nZsdoFIE1w==","signatures":[{"sig":"MEYCIQCPuWvKSr52fLwWl3fASN9g66lqDGAjdOuaPG0wImF8OAIhAO8kv62i8Q7LSRXn4fBlDk8pOSqLD6duWG+z+L7G3ukM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344642},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./iife":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"}},"gitHead":"df9590fb7f74aca104537132b4cc293ee0d4b55a","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build","release":"standard-version","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.1.0","typescript":"~5.8.3","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0","@js-temporal/polyfill":"^0.5.1"},"peerDependencies":{"@js-temporal/polyfill":">=0.5.0"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_1.0.1_1773799247778_0.5313592615626177","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bereasoftware/time-guard","version":"1.0.2","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@1.0.2","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"24e1264c1a1d1c852044f7021d6f1debc99c5270","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-1.0.2.tgz","fileCount":9,"integrity":"sha512-cENbKon3K1VXrGgInV/SH6wnJU3H4HC+C8C7yZoyk/QBTuLGqsreahnsqlP7YFPXJ70k/FoFkcCC9171EZxzng==","signatures":[{"sig":"MEUCIQCmz1vMfIvixxB7L1Uj6+HxLSpfisoOPeWkoIRnb3cmYQIgLJkzYhWAZ3fA7boXxVgr5D/aMF1HONxlVsE5cgCt48w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345362},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./iife":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"}},"gitHead":"b82005f679f47c22b82cab5ad347055ca6328726","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build","release":"standard-version","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.1.0","typescript":"~5.8.3","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0","@js-temporal/polyfill":"^0.5.1"},"peerDependencies":{"@js-temporal/polyfill":">=0.5.0"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_1.0.2_1773800849314_0.9564418373704888","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bereasoftware/time-guard","version":"1.0.3","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@1.0.3","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"b3ebbdebcb12383d461834042947d2ea50e35b05","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-1.0.3.tgz","fileCount":9,"integrity":"sha512-vcqbr13R53wP3ovUuXxPXfZKgIePWXKW4+Tdw/HgD0vtRsa0FUcMAHxTx3CyRxCBfX2+fvmxtjdxxxnpHbPz/A==","signatures":[{"sig":"MEQCIDZ3BiJR/wsaRad9icfDLDhZQDur7h3GzagHCUX/bNIyAiA1oEVt8oHXEMyY1xcsQBv4nAgN++4IT5js5wV0t6Hrkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345362},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./iife":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"}},"gitHead":"c5b3e948742b5170ff3c219eb00829d84a473036","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build","release":"standard-version","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.1.0","typescript":"~5.8.3","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0","@js-temporal/polyfill":"^0.5.1"},"peerDependencies":{"@js-temporal/polyfill":">=0.5.0"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_1.0.3_1773800898354_0.6535895431925152","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bereasoftware/time-guard","version":"1.0.4","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@1.0.4","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"2c58dd23de8854166de8f437f67a3dcc3d32ff90","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-1.0.4.tgz","fileCount":9,"integrity":"sha512-lMw54zj1E83mK5Mik+ljbrIqdKQHYbjLE1HbePdIhzrRwUDSCIDCUUdMwnApZEBSi84nR1b9ccjS5dhQoatjVg==","signatures":[{"sig":"MEUCIQCd8McwPACQmvmhOYVDORH6AIl+hur5mQzm4p6cm7XYMAIgfJKlgKvG1V4EJBeg8lvSs0JT+VOv7NQAFHMjaM5qjDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345362},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./iife":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"}},"gitHead":"54aa02277c44befa399fa8182cf05025797e452a","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build","release":"standard-version","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.1.0","typescript":"~5.8.3","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0","@js-temporal/polyfill":"^0.5.1"},"peerDependencies":{"@js-temporal/polyfill":">=0.5.0"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_1.0.4_1773801050160_0.3632603595085322","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@bereasoftware/time-guard","version":"2.0.3","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.0.3","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"c1f891d498ac4d5dea649750680d6d385ed8bca7","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.0.3.tgz","fileCount":54,"integrity":"sha512-ue1wAke8H9NS2llGkCtt2Gpmh0W0lRIeaAbK3ftpb/+dETKteB052L0t2eEo74IX891b3fU8rt48dqinhItRbA==","signatures":[{"sig":"MEUCIC3JdwIWMNWtuRciM3TCQJCpQ0VFvlMVafxkY59/xM4IAiEAuQ1TpCqSay7KNpHnMhp6AfqURyQGacMlgGLbxKxid9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":407059},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./full":{"types":"./dist/types/full.d.ts","import":"./dist/full.es.js","require":"./dist/full.cjs"},"./iife":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales.es.js","require":"./dist/locales.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars.es.js","require":"./dist/calendars.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugin-duration.es.js","require":"./dist/plugin-duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugin-relative-time.es.js","require":"./dist/plugin-relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugin-advanced-format.es.js","require":"./dist/plugin-advanced-format.cjs"}},"gitHead":"a30e06eac71f1720b1cb769ebb2a0cd3922bdbdf","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode full && vite build --mode umd","release":"standard-version","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.1.1","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0","@js-temporal/polyfill":"^0.5.1"},"peerDependencies":{"@js-temporal/polyfill":">=0.5.1"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.0.3_1774307955252_0.291495217856949","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@bereasoftware/time-guard","version":"2.0.4","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.0.4","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"96bfd96ca519bbc321df7b4b395a6e89e95bfc75","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.0.4.tgz","fileCount":21,"integrity":"sha512-r3YkJmySg+eXivmMFrWNTwuFpy6h/SCVGz+ArDq5co2nOUzaRQnKDkILREoW8xqLYbNNWlqbtzCyFDayvfikBQ==","signatures":[{"sig":"MEQCIEKESzk2xbYaYsBzbyTkDIh+sc/gtBdHBvDk/Iv9EbyoAiA8FWVlnrBRMhFE4gOZ+w51E1OwnAlk3s7S+OvsWzKTqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402045},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./full":{"types":"./dist/types/time-guard.d.ts","import":"./dist/full.es.js","require":"./dist/full.cjs"},"./iife":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"},"./locales":{"types":"./dist/types/time-guard.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/time-guard.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/time-guard.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/time-guard.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/time-guard.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"06fa2de5e4ca32aa727024b12c3df956797b49c1","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode full && vite build --mode umd","release":"standard-version","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.1.1","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0","@js-temporal/polyfill":"^0.5.1","@microsoft/api-extractor":"^7.52.8"},"peerDependencies":{"@js-temporal/polyfill":">=0.5.1"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.0.4_1774357944361_0.10521637224318647","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@bereasoftware/time-guard","version":"2.0.5","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.0.5","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"298cbe1ce863ea469b02dd72530ad4966941712e","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.0.5.tgz","fileCount":27,"integrity":"sha512-+ZQrCu7IRJnK5WyXYFeMDu74q4Tvtmi8U7JeL4cEWpyU+a2hJJLEKwuRibmc3WzXd1GNGDaMT7Bp4/nqB+ot0Q==","signatures":[{"sig":"MEUCIFJC99At8fwCEyo6pn/g0yz4M/TxfFiu4y7VxWANnbOkAiEAysus0hcmzenADgJKwiMi4kI90u4hUP8/RHKx/2dwDv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373715},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./full":{"types":"./dist/types/full.d.ts","import":"./dist/full.es.js","require":"./dist/full.cjs"},"./iife":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"},"./locales":{"types":"./dist/types/locales.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"cec71f4cdeb40d6d77117c23a71b022719d7e0ea","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode full && vite build --mode umd && node generate-type-proxies.mjs","release":"standard-version","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.1.1","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0","@js-temporal/polyfill":"^0.5.1","@microsoft/api-extractor":"^7.52.8"},"peerDependencies":{"@js-temporal/polyfill":">=0.5.1"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.0.5_1774362439082_0.36749621404243005","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@bereasoftware/time-guard","version":"2.0.6","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.0.6","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"a11c3cdb762e39eb500a6d7f75f7fae7cb236068","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.0.6.tgz","fileCount":45,"integrity":"sha512-u1qsHB4RgnN/ETLPvvD7R5y568bMhCMtdBGeYr4LYOurk9TjCNfOax4qEqCRI506e/JdcRibnKtoRFICK4Xrug==","signatures":[{"sig":"MEUCIFHxXaTZDBjjV8ztBfIEa8bW9TV6seIDoVQ/QOBETZuCAiEA7qZsO9pQT1pii63zTFKV+9Pbq8lgKGg33YhHHFrSBcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445089},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./iife":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"f55b2dac5fd5268055e51b64eeb9d9049ba588b4","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","release":"standard-version","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build:all"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.0.6_1774442543666_0.7857157531487169","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@bereasoftware/time-guard","version":"2.0.7","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.0.7","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"e77a7e1fb288884cab029c186245e8eb677c5e58","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.0.7.tgz","fileCount":45,"integrity":"sha512-jQE2PB385RtYFUz6jRc4CESDO35Zys0c7ROD/tC4OQrdHtFttcYm318fixqiuy8mAFFoPKIrXSOUDNtaltt0Eg==","signatures":[{"sig":"MEUCIQCFNDGL3JrbJWFv2tXKwg6F205/jLxfXKk8CF7mJLUMGAIgVnvu2eBEz/Jc1ilYgKvnmjwW/qNgxhzFdXQxrrpkAVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445089},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.cjs"},"./umd":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.umd.js","browser":"./dist/time-guard.umd.js","require":"./dist/time-guard.umd.js"},"./iife":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.iife.js","browser":"./dist/time-guard.iife.js","require":"./dist/time-guard.iife.js"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"ed8041f08cb7c0bb9b584bc60829c41047ca74c1","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","release":"standard-version","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build:all"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.0.7_1774442750533_0.4671422458262542","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@bereasoftware/time-guard","version":"2.0.8","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.0.8","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"f6f4434135e7ea9fc9e9199b8e99e41c0fbbd041","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.0.8.tgz","fileCount":45,"integrity":"sha512-TdM9s5wTnAKVA8Y9keUdRVl7ah/ZmoZDVjlxEYpJDanbxn/3ef2L7gkyWwFvIggXrLxxsUuEhPgxAEYaX5/aiA==","signatures":[{"sig":"MEUCIHRuplIpydQdEHim3MMY37B+6exoF9lCl7cT+H/oLF2wAiEA1G5AnvpLT5gdemPlyS3J8sAuaU8H/aT45qbyIRVxgUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":444843},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"f478af7a2a25a599dc8e1e5ad657b8f5d980be5d","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","release":"standard-version","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build:all"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.0.8_1774445221383_0.072769269768173","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@bereasoftware/time-guard","version":"2.1.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.1.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"5c32492ea152ac166ece37181a06b5e55c9e8f44","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.1.0.tgz","fileCount":45,"integrity":"sha512-8kud2GnGFeAg+dceoZNeIRftZ5i1YqmI+TV1uUah+frjCCm3aX/11669gk7N5jNKxwmJ1rk1CzE/+8fPwlXHcA==","signatures":[{"sig":"MEQCIDpb9X8QC3KQhOv2IXAhnVHpSeelHwUaqSLWq14TYa0sAiBsh+hsvpldM7CT4cBHhAv/Kr0zaO55+CK0YNk0ITqsPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446026},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"b1d0445eebdab0ed981058ed7aa5b4544da808ce","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","release":"standard-version","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build:all"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.1.0_1774725688474_0.0914688623643114","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@bereasoftware/time-guard","version":"2.2.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.2.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"0cd624f5cb5ff925530b415a4a0eb0a014829e42","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.2.0.tgz","fileCount":45,"integrity":"sha512-RVmpug02GprXdh7aBOea3KqqLKUiChZQzctmOruKDbPhHur8t4c2XE7oNj+ssmLNTkO+cDIJ3bHHI4PP0SDe/w==","signatures":[{"sig":"MEUCIQCSi2LAaiguJzqrb0T7K0Zip/1u7ksLZj/EkH9lljPT5wIgPw6uwzqI9txglfKp/d/SCYGAuEKvm473PlK8uCLEebY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536137},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"1b15485d5113778629f3de2edd4038c53b4aeb44","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","release":"standard-version","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build:all"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.2.0_1774742963144_0.2311764047298519","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@bereasoftware/time-guard","version":"2.2.1","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.2.1","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"1c5b60383eb1f02137334cf3b5582a4a75957d7e","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.2.1.tgz","fileCount":45,"integrity":"sha512-PwKouiEWlJaI2DwYdtWhIdpBM2qXG+3Zpgo95uq/yiwHv5rgJOlCTYvqmoEEp+QQj4mJV76mgCDY1Q8GzwgyOg==","signatures":[{"sig":"MEQCIEeoWqAH1CU6B41ccKMhbRij7foRHqo/CFTIDmHpHrRSAiBqIluTjGjLsY+IwwPd5zX3o2eF4VB4LxpBLelDaspaKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536177},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"dade5d2f52ca052b7e3354975ff621bd07a8f81b","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","release":"standard-version","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest","postrelease":"git push --follow-tags origin main && npm publish","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run lint && npm run test && npm run build:all"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.2","vitest":"^4.0.18","@vitest/ui":"^4.0.18","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.2.1_1774745612760_0.9967543342051322","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"@bereasoftware/time-guard","version":"2.2.3","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.2.3","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"b4b6fc0c2c91311645b696f56c05a345a60e250a","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.2.3.tgz","fileCount":46,"integrity":"sha512-WrNKLU9c+1LRriRSczt7qCpIy/e1QQZC3h/Ck6S+nyt/Lq7X5Y5TJI23E+pv7NErRCiQLmvm5gnhB6TjO/CdmQ==","signatures":[{"sig":"MEUCIGBjtGJT+G9Gaj/LN9vRVStzyHtzZrtfsuUsE0sWYfLoAiEA6pzjEabIMDzqfykqGI0STnKICLogj1mpnwln74odNjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":663984},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"0ef8e1b4ef5b7aa1d74a1da034a7ed09f3f6034d","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.3","vitest":"^4.1.2","@vitest/ui":"^4.1.2","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.2.3_1775140378322_0.059966563187887845","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@bereasoftware/time-guard","version":"2.3.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.3.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"0911218d93a675d4553b0094e41453e65bf21993","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.3.0.tgz","fileCount":46,"integrity":"sha512-OnoU7YQ8mfO8zHVO4wDrVeJxokR534XKRgO/FiufsK/VShtrTDkbHKsIxXWEBqVI3TAYF2PU3ZTjhnkmpc2HZw==","signatures":[{"sig":"MEYCIQCaQJMEVL5hnBPzPmXJKrF7WAzJj0IOEhXbHUFE5ggXSwIhAK8nALFxquySMJnK9Y5iXNVEPlCx12plx4eRGyNLz0EW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664450},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"25da326144a1d2b82ead2c907452fe0efb373c81","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","test:ui":"vitest --ui","build:all":"npm run build","test:watch":"vitest"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.3","vitest":"^4.1.2","@vitest/ui":"^4.1.2","typescript":"~6.0.2","@types/node":"^25.5.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.3.0_1775518026569_0.8714054081922651","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@bereasoftware/time-guard","version":"2.4.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.4.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"64d1820a7d25e2d74a5b6f53d5ecdbb4ac785f67","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.4.0.tgz","fileCount":60,"integrity":"sha512-3qymNNKqXQPuiqr/0nkQdXPCGCeX+r9JNMgP3yYQcoYq1hBzqakBWm7qQ1GyMVhYyPMwoPAigIa+tvBg5Bo4ew==","signatures":[{"sig":"MEUCIQDGihCVXxCBNg6sCuXOBsf8YoGXkBblFBLmJXFggdDecQIgR2Q96aFBMgtzEvsLaxn84+V2m4qbr3YuhqwiwUKF8d4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595377},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"d9d7b32dd01497d928c17a96acad8154e2ab6cea","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@js-temporal/polyfill":"^0.5.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"@js-temporal/polyfill":"^0.5.1"},"peerDependenciesMeta":{"@js-temporal/polyfill":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.4.0_1776112390846_0.43360610623389184","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@bereasoftware/time-guard","version":"2.4.1","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.4.1","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"4375e5d49acc419cf3542d3e4fcda9df0e160164","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.4.1.tgz","fileCount":60,"integrity":"sha512-ri0UsfOnpCRpLhSbGaW1kMwsWirx4wXolco4lhZTvDGQhvg5Y5iZJXUE7/kn5WHqVF35J1t/imhs6b+nI6GZig==","signatures":[{"sig":"MEUCIAym9h20p8FiXHnaEGvLJTUhaCIHRU7qufzTMk+tvKx9AiEA86djqEaDWD0pe+ms0uPkmEqLDifP89C4Z8MGeRccyTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1598752},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"4ddd903b41d7fc039c1b6fc3365d5c136ec691c5","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@js-temporal/polyfill":"^0.5.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.4.1_1776123186124_0.06959732465211754","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@bereasoftware/time-guard","version":"2.5.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.5.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"4a4bf99a65be8754b6996ccfe1edd3034e8f3cbd","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.5.0.tgz","fileCount":60,"integrity":"sha512-x+inIu1OqypAsjMhzMYly5UMopiSdbKbO8YJRJLEQvHBMmqn323fRNyjR+YGM098zuNk77yczb7JFvaVgesSzA==","signatures":[{"sig":"MEYCIQC049Re2gfzlFshfzAEPpN7+cj0Tr1QMVJlsTe5+Q1zzQIhAKJ1o2pAvpGWdC86bQjW+jsph8ly7nPBoSr8LuMfroi8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1599929},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"70c8b05ba4d9431107ac807901910a5f5cadf9d5","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@js-temporal/polyfill":"^0.5.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.5.0_1776125783792_0.6206136889101252","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@bereasoftware/time-guard","version":"2.5.1","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.5.1","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"5ba49577b37333d21543e0095c1ed45f9b34ce0d","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.5.1.tgz","fileCount":60,"integrity":"sha512-geGnUBbcKA51w7Om4p2f3ZwuihLyiizl4s5Uv4MP2deX4vD3vPVdPgozg1+UaWp4+YVWy+YsTxXqS2qY5hHqPQ==","signatures":[{"sig":"MEYCIQC1i7uemddwBgzlV2FIvmbxw9TPcvDCqNUSyUHHUxmLdQIhAMJi2EKeyAo/Un0LPq+r/N4E+xORurz0Jd9PUC2pen76","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1603931},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"99d9c2f93d4938ff451e694cce031d35e5761160","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@js-temporal/polyfill":"^0.5.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.5.1_1776131554462_0.7195682331796358","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"@bereasoftware/time-guard","version":"2.5.2","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.5.2","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"b35ead9cea221fdebc0cf4acb148e000e16fcabf","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.5.2.tgz","fileCount":58,"integrity":"sha512-f8SNVww+NUsiCTaDxKxO7GddLLOhwirA2VniIex1nRDdOAxCV83bWJahiM3qHXX7/GZ3wKt7q4tWAp+hqyAVew==","signatures":[{"sig":"MEQCIHwc2T6kcOt0OZLUUOc9TOEIUEXIG/aCwyF/6Aw4a7hdAiAEHfhk4IgRRtpWJv0IusRf1GRUP38Aks3OAAZ1myn1vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3663759},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/time-guard.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/time-guard.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration/index.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time/index.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format/index.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"4276bff04e99c0e4aa6f6aa4900ee6327935d102","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.5.2_1776143520352_0.7430776909476917","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"@bereasoftware/time-guard","version":"2.5.3","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.5.3","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"1902327f1ee16c70cc967742f4699c37bd260aa8","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.5.3.tgz","fileCount":38,"integrity":"sha512-ip9jKI7L4mDSmKxK2ylPxkzjDHs/QWM7z08JH2yJKHKTayz3WlvzYFCEIFJllsZl8LSNooKRvj+thSdDg/Q7Tg==","signatures":[{"sig":"MEUCIBjvdqnejrcLnJUvmJ2ZtpyV8uWRbP/aZJjwvgDJ3vDnAiEAzC+pZdaSS+f5ivd0nPKQjymRvBQcHYz42NFS0BjQzfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3596723},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"1b7db25a44454f4ee1ffa1c0cb22006726afca6b","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.5.3_1776738839152_0.07419797251693816","host":"s3://npm-registry-packages-npm-production"}},"2.5.4":{"name":"@bereasoftware/time-guard","version":"2.5.4","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.5.4","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"5147c74ab34f9ed147acb040c405d0203893f182","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.5.4.tgz","fileCount":60,"integrity":"sha512-3LfjO+Hw6TcUIW8c8rLgVCq7ye/+qC8PPjsPR/sbuP2EGH+nUnjZRNJxCZVbWFACH3lZ4UpmH8hJSO1az/b98w==","signatures":[{"sig":"MEUCICaPeYfFSD+f6hiFxQgW65CVi9ZsrQT+xXdHcQFKmByTAiEAwNS0AGiNroHqpPEx9jETN/6JqR0wjtYoyR1qz3mYNEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3642240},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"96cf2bd347c1a268d8a0ead73ec29dc4533721ee","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.5.4_1776739792023_0.8168180704997736","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@bereasoftware/time-guard","version":"2.6.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.6.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"a4b15a0728ea12d74ada1a2b1d932b33a6d1e78a","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.6.0.tgz","fileCount":60,"integrity":"sha512-U/5E5To8SGR2hYy+9G8x3KXij0hPqUzKTiVdcQn6RaoWhUhGzQD9xCkh4bKSHrqoSU3nwwnyLGmXw9/u0H3vNQ==","signatures":[{"sig":"MEUCIQCmsnEe/v+flHYAq13XUjO5199u9WVCB1MUrsIACTlCqQIgQPMXa1kgubiXD8s5tfkS+r1LJvllCWIoRuRIekVCoVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3656187},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"9ef7b4187243fce302bf81a6445b77b3060d546e","private":false,"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","lint:fix":"tsc --noEmit --pretty","build:all":"npm run build","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"11.12.1","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.6.0_1776872340588_0.6156150227668562","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"@bereasoftware/time-guard","version":"2.6.1","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.6.1","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"10bdb8df4cb92fec69e426798a3a94613988cf1a","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.6.1.tgz","fileCount":63,"integrity":"sha512-dtOrDK0w/wnBztSmWUonVRg0Ui2YEmY+Jh6qhkbwbiiKLuJq+eNJCYbBMD3LDSo1hF+M4m1cRcK8GL5EuiONCQ==","signatures":[{"sig":"MEYCIQCLlfZsO2SUWzwBS+7daPEhA6OGLvXJeuSd+Qpq0rdmMQIhAImQLuk5tBqq7NXkODRZj1G/q7FUAAXsqKN/op2C+Hsg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3742515},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"05e928e7c5a79fe625798e84afc3e5eb483b6e6a","private":false,"scripts":{"dev":"vite --config playground/vite.config.ts","lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","test:ui":"vitest --ui","build-v2":"tsc -p tsconfig.build.json && vite build","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build"},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.7","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"lint-staged":{"*.ts":["prettier --write","eslint --fix --max-warnings=0"]},"sideEffects":false,"_nodeVersion":"22.22.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.21.0","devDependencies":{"vite":"^8.0.8","husky":"^9.0.0","eslint":"^9.0.0","vitest":"^4.1.4","prettier":"^3.8.2","@vitest/ui":"^4.1.4","typescript":"~6.0.2","@types/node":"^25.6.0","lint-staged":"^15.0.0","vite-plugin-dts":"^4.5.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.6","@typescript-eslint/parser":"^8.0.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.6.1_1779279313297_0.6162170468904098","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@bereasoftware/time-guard","version":"2.7.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.7.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"6a8d84ef5b55b199416e94bbdbaa7196ea67c619","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.7.0.tgz","fileCount":83,"integrity":"sha512-hear5v/kF6Psu/q+PWOrJMChtBITzfEaIIAXxGtPhCRUeX068Hr8kMs3QBh/GMSRo8BRIb5GIBHYBa7QPq1LrQ==","signatures":[{"sig":"MEUCIQCDMC8aymjg8tgZFlFWELXcGFScp9W4Tum8/Ia5QPcqeQIgYOCpPrLR9vjG42TyouM00NvUdUbPSVkpq4L3S6L9hYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1661475},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"d34ffb6270ef7fc8acaccee859c19c1422a67933","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.8","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"vue-icons-plus":"^0.1.9","@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.7.0_1779580894397_0.9746226758669239","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"@bereasoftware/time-guard","version":"2.7.1","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.7.1","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"717482857d78c2ec274a31942f5c9540e05042c0","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.7.1.tgz","fileCount":83,"integrity":"sha512-oqHDGlAFUSTQWIDt622aS70M/c8pAwBokP9a+2C82qNP/kt2rtxkd/s9DdNVW2ChixX38DiG9sB3LmJkQrQOxA==","signatures":[{"sig":"MEYCIQCEQusPNkUFZaiC1CpexVYoJV0Y0CipHP/mFPzRWrRm5gIhAMyu5a7JIGnTwJBO3xpKK43lNcEZ0f+ooZNLVozTR04M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1661547},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"1664ffc09186c5b00ce5ba7b4ade1fe2c538c3c0","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.8","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"vue-icons-plus":"^0.1.9","@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.7.1_1779582245426_0.8350161378328858","host":"s3://npm-registry-packages-npm-production"}},"2.7.2":{"name":"@bereasoftware/time-guard","version":"2.7.2","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.7.2","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"755f3a0e80492ee8760a07c41acebf722d07684c","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.7.2.tgz","fileCount":83,"integrity":"sha512-FmWjY7m9g9ezdyZDwoKcFrr0gR8lr36KPLBsizi/OuPxX/zBS7sWbE3y5ym8ZBMnQtR1s3xb3IoO3SA6kK1EdQ==","signatures":[{"sig":"MEUCIQCYmf0iBdItmQXFLe9CHynHO6Ik9KgPm6892sFtWJ5nRQIgRXIBJJEGNbAuaxlJizt9DW+/Iubotl7j8xrz8T2ebRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1661547},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"aadb0510758152522efc9433278f21390dda6ac8","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.8","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"vue-icons-plus":"^0.1.9","@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.7.2_1779583330342_0.26564732535599034","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@bereasoftware/time-guard","version":"2.8.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.8.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://github.com/Berea-Soft/time-guard#readme","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"f650f93a6198764587cafdc911aa30be447ea736","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.8.0.tgz","fileCount":83,"integrity":"sha512-mYAAraFc/T7sLGMZKChAnAVpkT6uMgunhg1UgMzX/4iHy7q1xbE+MXew9WYpKWtEmWf21+XYDmOojJlohUNlBg==","signatures":[{"sig":"MEQCIBHTLPii2wnNwDZRiGL1FCL8+kWKUYNDkevHvOq0S+vhAiAyFArsJxaWWbUcBEn1dC8jTw36Eit+s74KE77G9k0/Og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1236495},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"99c39083c9d8b678318a81148ae1b0ab25822d04","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.8","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.8.0_1783481316377_0.5415556291319694","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@bereasoftware/time-guard","version":"2.9.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.9.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://time-guard.bereasoft.com/","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"2ec2448998deb1638620d3598ca4cf4f9931559b","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.9.0.tgz","fileCount":83,"integrity":"sha512-M5oZN9PplPVwMMtB5vfQk81cpUXOHl7UhX1LMqi3PbZCP7dnhGVbZRC89KSzcTagR1un9GJezUa3yLtFLWnbNw==","signatures":[{"sig":"MEUCIQDVyN83uAa1m6TId2MEXZx4/a4xlxYveVD4kHdKVS7JmAIgDE1yU8rtBhK4gdk6txjxgWEjpWnh5hIRzs2NviGcx6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243275},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"761edbe860a375cf9070a0a1603923b0eb0f8bef","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.8","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.9.0_1783618520956_0.4147776828617269","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@bereasoftware/time-guard","version":"2.10.0","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.10.0","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://time-guard.bereasoft.com/","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"d1897b61761d6a9da08551ecff04a756b81f802e","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.10.0.tgz","fileCount":83,"integrity":"sha512-8ZKRHlrUyiE1ELzwXIcGvNmjCpuT2ERwbR51Cayz5DDMPdnrvX7Xc07vus9G2XP3ObLdVUVvAhn4rTXBRxZwLw==","signatures":[{"sig":"MEYCIQD6KYdZCR1tmZJNxX52BpTwHUHdXaMQdvvDV0m92uGE/QIhAIsqWbgO36YW0Ug2BY/D8IB5QfbxNVY7jtZatk0K3im4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243343},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"d91954c6a25ba4c7335b81d8d276d82e86dfbae0","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.8","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.10.0_1783951165870_0.787237912666499","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"@bereasoftware/time-guard","version":"2.10.1","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.10.1","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://time-guard.bereasoft.com/","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"94c6c6b3f5f975e3550bfbd8050d6bc831797cf1","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.10.1.tgz","fileCount":83,"integrity":"sha512-DJUOBqm8d9g5HKgCStkhV0KlRXcCXVJNn5AazCikqmQKLDdh09N0fruLaTKm6bWoQp0rT3DiPRHomOn5WuWXLw==","signatures":[{"sig":"MEUCIC1vkYRitfeMBPeyBz450Fvbl0GhkC3uOurv0F7huBaTAiEAkaHY6+/S9qd0c78wWe0WyT683d0/+UYyxAuntfsp0J8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1243343},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"5a4fc59a38d281bdb90fe602d944599347942c8b","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"kamuz0218","email":"sistemas@johnandrade.com"},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"10.9.8","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable, zero-dependencies, and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.10.1_1783952224522_0.9264123970785205","host":"s3://npm-registry-packages-npm-production"}},"2.10.2":{"name":"@bereasoftware/time-guard","version":"2.10.2","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","_id":"@bereasoftware/time-guard@2.10.2","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"homepage":"https://time-guard.bereasoft.com/","bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"dist":{"shasum":"f3f01a9a54fa90bae716829f2669edf291eefb4b","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.10.2.tgz","fileCount":83,"integrity":"sha512-NrFfeaXMr+2t/Axp67hq9LDYhFFRiugVBYxaJPhpOiIL2PN+2L1JJOprfM1wF7AjhXPJ2URcPVGwjcjdSTQ7Uw==","signatures":[{"sig":"MEYCIQCJ32MX3Z6GWUmvAt+tTc5cl7mH0ccQoTPehtrglhjEnwIhAMbcWghVkWDSFl9FVKA1Ket8oMtGTg6Tzx0CrDrKEglw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bereasoftware%2ftime-guard@2.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1248345},"main":"./dist/time-guard.cjs","type":"module","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","module":"./dist/time-guard.es.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"engines":{"npm":">=10.8.2","node":">=20.18.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","default":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","default":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","default":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","default":"./dist/react/index.es.js","require":"./dist/react/index.cjs"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","default":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","default":"./dist/native/index.es.js","require":"./dist/native/index.cjs"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","default":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","default":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","default":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","default":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","default":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","default":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","default":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs"}},"gitHead":"a36052e61a69b6fb816fde1da740e1f64cfc6deb","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"vitest run","build":"vite build && vite build --mode umd && vite build --mode angular","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"husky","test:ui":"vitest --ui","dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","lint:fix":"eslint \"src/**/*.ts\" --fix","build:all":"pnpm build","lint:docs":"pnpm --prefix docs-app lint","typecheck":"tsc --noEmit","build:docs":"pnpm --prefix docs-app build","test:watch":"vitest","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","lint:docs:fix":"pnpm --prefix docs-app lint:fix","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fed612ec-6cd4-4664-ae72-8dd00a6c2f9b"}},"repository":{"url":"git+https://github.com/Berea-Soft/time-guard.git","type":"git"},"_npmVersion":"12.0.2","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable and designed for type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.0.9","devDependencies":{"vue":"^3.5.34","rxjs":"^7.8.2","vite":"^8.0.14","husky":"^9.1.7","react":"^19.2.6","eslint":"^10.4.0","vitest":"^4.1.7","prettier":"^3.8.3","@vitest/ui":"^4.1.7","typescript":"~6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@types/react":"^19.2.15","@angular/core":"^21.2.14","vite-plugin-dts":"^5.0.1","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.7","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@typescript-eslint/parser":"^8.59.4","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"vue":">=3.5.34","rxjs":">=7.8.2","react":">=19.2.6","svelte":">=5.55.9","solid-js":">=1.9.13","@angular/core":">=21.2.14","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"vue":{"optional":true},"rxjs":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@angular/core":{"optional":true},"@builder.io/qwik":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/time-guard_2.10.2_1787592349955_0.4034517368674051","host":"s3://npm-registry-packages-npm-production"}},"2.10.3":{"name":"@bereasoftware/time-guard","private":false,"version":"2.10.3","type":"module","sideEffects":false,"main":"./dist/time-guard.cjs","module":"./dist/time-guard.es.js","types":"./dist/types/index.d.ts","unpkg":"./dist/time-guard.umd.js","browser":{"./dist/time-guard.umd.js":"./dist/time-guard.umd.js","./dist/time-guard.iife.js":"./dist/time-guard.iife.js"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/time-guard.es.js","require":"./dist/time-guard.cjs","default":"./dist/time-guard.es.js"},"./native":{"types":"./dist/types/native.d.ts","import":"./dist/native/index.es.js","require":"./dist/native/index.cjs","default":"./dist/native/index.es.js"},"./react":{"types":"./dist/types/react.d.ts","import":"./dist/react/index.es.js","require":"./dist/react/index.cjs","default":"./dist/react/index.es.js"},"./vue":{"types":"./dist/types/vue.d.ts","import":"./dist/vue/index.es.js","require":"./dist/vue/index.cjs","default":"./dist/vue/index.es.js"},"./angular":{"types":"./dist/types/angular.d.ts","import":"./dist/angular/index.es.js","require":"./dist/angular/index.cjs","default":"./dist/angular/index.es.js"},"./svelte":{"types":"./dist/types/svelte.d.ts","import":"./dist/svelte/index.es.js","require":"./dist/svelte/index.cjs","default":"./dist/svelte/index.es.js"},"./solid":{"types":"./dist/types/solid.d.ts","import":"./dist/solid/index.es.js","require":"./dist/solid/index.cjs","default":"./dist/solid/index.es.js"},"./qwik":{"types":"./dist/types/qwik.d.ts","import":"./dist/qwik/index.es.js","require":"./dist/qwik/index.cjs","default":"./dist/qwik/index.es.js"},"./locales":{"types":"./dist/types/locales/index.d.ts","import":"./dist/locales/index.es.js","require":"./dist/locales/index.cjs","default":"./dist/locales/index.es.js"},"./calendars":{"types":"./dist/types/calendars/index.d.ts","import":"./dist/calendars/index.es.js","require":"./dist/calendars/index.cjs","default":"./dist/calendars/index.es.js"},"./plugins/relative-time":{"types":"./dist/types/plugins/relative-time.d.ts","import":"./dist/plugins/relative-time.es.js","require":"./dist/plugins/relative-time.cjs","default":"./dist/plugins/relative-time.es.js"},"./plugins/duration":{"types":"./dist/types/plugins/duration.d.ts","import":"./dist/plugins/duration.es.js","require":"./dist/plugins/duration.cjs","default":"./dist/plugins/duration.es.js"},"./plugins/advanced-format":{"types":"./dist/types/plugins/advanced-format.d.ts","import":"./dist/plugins/advanced-format.es.js","require":"./dist/plugins/advanced-format.cjs","default":"./dist/plugins/advanced-format.es.js"}},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"packageManager":"pnpm@11.0.9","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable and designed for type safety.","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"repository":{"type":"git","url":"git+https://github.com/Berea-Soft/time-guard.git"},"bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"engines":{"node":">=20.18.0","npm":">=10.8.2"},"browserslist":["last 2 versions","not dead","not IE 11","> 1%"],"homepage":"https://time-guard.bereasoft.com/","scripts":{"dev:docs":"pnpm --prefix docs-app install && pnpm --prefix docs-app dev","build:docs":"pnpm --prefix docs-app build","typecheck:docs":"pnpm --prefix docs-app typecheck","format:docs":"prettier --write \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","format:docs:check":"prettier --check \"docs-app/src/**/*.{ts,js,vue,css,json}\" \"docs-app/*.{json,js}\"","lint:docs":"pnpm --prefix docs-app lint","lint:docs:fix":"pnpm --prefix docs-app lint:fix","build":"vite build && vite build --mode umd && vite build --mode angular","build:all":"pnpm build","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui","test:coverage":"vitest run --coverage","lint":"eslint \"src/**/*.ts\" --max-warnings=0","lint:fix":"eslint \"src/**/*.ts\" --fix","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit","prepublishOnly":"pnpm build","prepare":"husky"},"dependencies":{"@js-temporal/polyfill":"^0.5.1"},"peerDependencies":{"@angular/core":">=21.2.14","react":">=19.2.6","rxjs":">=7.8.2","vue":">=3.5.34","svelte":">=5.55.9","solid-js":">=1.9.13","@builder.io/qwik":">=1.20.0"},"peerDependenciesMeta":{"react":{"optional":true},"vue":{"optional":true},"@angular/core":{"optional":true},"rxjs":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"@builder.io/qwik":{"optional":true}},"devDependencies":{"@angular/core":"^21.2.14","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.8","@semantic-release/npm":"^13.1.5","@types/node":"^25.9.1","@types/react":"^19.2.15","@typescript-eslint/eslint-plugin":"^8.59.4","@typescript-eslint/parser":"^8.59.4","@vitest/coverage-v8":"^4.1.7","@vitest/ui":"^4.1.7","eslint":"^10.4.0","husky":"^9.1.7","lint-staged":"^17.0.5","prettier":"^3.8.3","react":"^19.2.6","rxjs":"^7.8.2","semantic-release":"^25.0.3","typescript":"~6.0.3","vite":"^8.0.14","vite-plugin-dts":"^5.0.1","vitest":"^4.1.7","vue":"^3.5.34"},"gitHead":"1b6e83c837ae873ac0e7726f9c3223db86f6c50f","_id":"@bereasoftware/time-guard@2.10.3","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-nYQqo4aJLkqxu+oTp7Z3J6PE/QLSCoHKIh+JIYAL4RleUOxRmcO3LS+KGjradk/lt3nkDwzPOT3vuLfAL0zRuQ==","shasum":"7a69e8c8e7cb055272014778d4dc52eb52607e47","tarball":"https://registry.npmjs.org/@bereasoftware/time-guard/-/time-guard-2.10.3.tgz","fileCount":83,"unpackedSize":1248876,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bereasoftware%2ftime-guard@2.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCDPEbyEeogThNQvjVVkYqpf8ANxNDf0NnnvBksQB40YQIhANhWGSZEu0JnK8IpDAoXYnZBt2Mj0mxKDfhYd7oLDQHZ"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fed612ec-6cd4-4664-ae72-8dd00a6c2f9b"}},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/time-guard_2.10.3_1787620758803_0.09870273263989482"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T02:00:47.686Z","modified":"2026-08-25T01:19:19.379Z","1.0.1":"2026-03-18T02:00:47.949Z","1.0.2":"2026-03-18T02:27:29.483Z","1.0.3":"2026-03-18T02:28:18.527Z","1.0.4":"2026-03-18T02:30:50.315Z","2.0.3":"2026-03-23T23:19:15.390Z","2.0.4":"2026-03-24T13:12:24.549Z","2.0.5":"2026-03-24T14:27:19.316Z","2.0.6":"2026-03-25T12:42:23.797Z","2.0.7":"2026-03-25T12:45:50.678Z","2.0.8":"2026-03-25T13:27:01.573Z","2.1.0":"2026-03-28T19:21:28.676Z","2.2.0":"2026-03-29T00:09:23.304Z","2.2.1":"2026-03-29T00:53:32.917Z","2.2.3":"2026-04-02T14:32:58.534Z","2.3.0":"2026-04-06T23:27:06.976Z","2.4.0":"2026-04-13T20:33:11.005Z","2.4.1":"2026-04-13T23:33:06.314Z","2.5.0":"2026-04-14T00:16:24.010Z","2.5.1":"2026-04-14T01:52:34.672Z","2.5.2":"2026-04-14T05:12:00.585Z","2.5.3":"2026-04-21T02:33:59.352Z","2.5.4":"2026-04-21T02:49:52.242Z","2.6.0":"2026-04-22T15:39:00.770Z","2.6.1":"2026-05-20T12:15:13.491Z","2.7.0":"2026-05-24T00:01:34.604Z","2.7.1":"2026-05-24T00:24:05.653Z","2.7.2":"2026-05-24T00:42:10.505Z","2.8.0":"2026-07-08T03:28:36.543Z","2.9.0":"2026-07-09T17:35:21.159Z","2.10.0":"2026-07-13T13:59:26.094Z","2.10.1":"2026-07-13T14:17:04.721Z","2.10.2":"2026-08-24T17:25:50.104Z","2.10.3":"2026-08-25T01:19:19.035Z"},"bugs":{"url":"https://github.com/Berea-Soft/time-guard/issues"},"author":{"name":"John Andrade","email":"johnandrade@bereasoft.com"},"license":"MIT","homepage":"https://time-guard.bereasoft.com/","keywords":["time-guard","typescript","date","time","temporal","date-time","datetime","immutable","locale","i18n","internationalization","formatter","date-formatter","temporal-api","solid-principles","javascript"],"repository":{"type":"git","url":"git+https://github.com/Berea-Soft/time-guard.git"},"description":"A modern, fully-typed TypeScript date/time library built with the Temporal API, SOLID principles, and complete i18n support. Immutable and designed for type safety.","maintainers":[{"name":"kamuz0218","email":"sistemas@johnandrade.com"}],"readme":"<p align=\"center\">\r\n  <img src=\"https://raw.githubusercontent.com/Berea-Soft/time-guard/refs/heads/main/src/assets/logo.png\" alt=\"Time Guard Logo\" />\r\n  <h1 align=\"center\">Time Guard</h1>\r\n  <p align=\"center\">\r\n    Una biblioteca moderna y de nivel producción para manipulación de fechas/horas construida con <strong>TypeScript</strong>, <strong>Temporal API</strong> y <strong>SOLID principles</strong>. TimeGuard aprovecha los estándares de JavaScript modernos y las mejores prácticas.\r\n  </p>\r\n</p>\r\n<br/>\r\n<br/>\r\n\r\n> 📚 **Documentación disponible en otros idiomas:**\r\n>\r\n> - 🇪🇸 **Español** (este archivo - README.md)\r\n> - 🇬🇧 [English](README.en.md)\r\n\r\n<br/>\r\n<br/>\r\n\r\n[![Pruebas](https://img.shields.io/badge/Pruebas-530%2B-green?style=for-the-badge)](#testing)\r\n[![Locales](https://img.shields.io/badge/Locales-40%2B-orange?style=for-the-badge)](#locales-soportadas)\r\n[![Calendarios](https://img.shields.io/badge/Calendarios-6+-blue?style=for-the-badge)](#sistemas-de-calendario)\r\n[![Versión NPM](https://img.shields.io/npm/v/@bereasoftware/time-guard?style=for-the-badge)](https://www.npmjs.com/package/@bereasoftware/time-guard)\r\n[![Tamaño bundle](https://img.shields.io/bundlephobia/minzip/@bereasoftware/time-guard?style=for-the-badge)](https://www.npmjs.com/package/@bereasoftware/time-guard)\r\n[![Descargas NPM](https://img.shields.io/npm/dm/@bereasoftware/time-guard?style=for-the-badge)](https://www.npmjs.com/package/@bereasoftware/time-guard)\r\n[![CI](https://img.shields.io/github/actions/workflow/status/Berea-Soft/time-guard/ci.yml?style=for-the-badge)](https://github.com/Berea-Soft/time-guard/actions/workflows/ci.yml)\r\n[![Node](https://img.shields.io/node/v/@bereasoftware/time-guard?style=for-the-badge)](https://www.npmjs.com/package/@bereasoftware/time-guard)\r\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?style=for-the-badge)](https://www.typescriptlang.org/)\r\n[![Licencia](https://img.shields.io/github/license/Berea-Soft/time-guard?style=for-the-badge)](https://github.com/Berea-Soft/time-guard/blob/main/LICENSE)\r\n[![Último commit](https://img.shields.io/github/last-commit/Berea-Soft/time-guard?style=for-the-badge)](https://github.com/Berea-Soft/time-guard/commits/main)\r\n[![Repositorio](https://img.shields.io/badge/github-repo-blue?logo=github&style=for-the-badge)](https://github.com/Berea-Soft/time-guard)\r\n[![Cobertura](https://img.shields.io/badge/coverage-91%25-orange?style=for-the-badge)](https://github.com/Berea-Soft/time-guard)\r\n\r\n---\r\n\r\n## 🎯 Características\r\n\r\n- ✨ **JavaScript Moderno** - Construido sobre Temporal API (estándar TC39)\r\n- 🏛️ **Principios SOLID** - Arquitectura limpia, mantenible y extensible\r\n- 🌍 **40+ Locales** - Soporte completo de internacionalización\r\n- 📦 **TypeScript** - Seguridad de tipos completa con modo estricto\r\n- 🧪 **530+ Tests** - Cobertura completa BDD/TDD\r\n- 🎨 **Múltiples Formatos** - ISO, RFC2822, RFC3339, UTC y patrones personalizados\r\n- ⚡ **Tree-Shakeable** - Estructura modular para tamaño óptimo del bundle\r\n- 📚 **Bien Documentado** - Guías extensas, ejemplos y referencia API\r\n- 🔌 **Sistema de Plugins** - Extiende con plugins opcionales (tiempo relativo, duración, formato avanzado)\r\n- 📅 **Múltiples Calendarios** - Gregoriano, Islámico, Hebreo, Chino, Japonés, Budista y más\r\n- ⏱️ **Precisión de Nanosegundos** - Soporte completo de Temporal API\r\n- 🔄 **API de Duración** - Métodos `until()` y `round()` para cálculos avanzados\r\n\r\n---\r\n\r\n## 📋 Tabla de Contenidos\r\n\r\n- [Inicio Rápido](#inicio-rápido)\r\n- [Instalación](#instalación)\r\n- [Conceptos Clave](#conceptos-clave)\r\n- [Accesores de Componentes](#accesores-de-componentes)\r\n- [Cálculos Avanzados](#cálculos-avanzados)\r\n- [Sistemas de Calendario](#sistemas-de-calendario)\r\n- [Plugins](#plugins)\r\n- [Integración con Frameworks](#integración-con-frameworks)\r\n- [Documentación](#documentación)\r\n- [Locales Soportadas](#locales-soportadas)\r\n- [Referencia API](#referencia-api)\r\n- [Testing](#testing)\r\n- [Arquitectura](#arquitectura)\r\n- [Contribuir](#contribuir)\r\n- [Licencia](#licencia)\r\n\r\n---\r\n\r\n## 🚀 Inicio Rápido\r\n<a id=\"inicio-rápido\"></a><a id=\"inicio-rapido\"></a>\r\n\r\n```typescript\r\nimport { TimeGuard } from '@bereasoftware/time-guard';\r\n\r\n// Crear una fecha\r\nconst now = TimeGuard.now();\r\nconst date = TimeGuard.from('2024-03-13');\r\n\r\n// Manipular fechas\r\nconst tomorrow = date.add(1, 'day');\r\nconst nextMonth = date.add(1, 'month');\r\n\r\n// Formatear con locales\r\nconst spanish = date.locale('es').format('dddd, DD MMMM YYYY');\r\n// Resultado: miércoles, 13 marzo 2024\r\n\r\nconst japanese = date.locale('ja').format('YYYY年M月D日');\r\n// Resultado: 2024年3月13日\r\n\r\n// Obtener componentes\r\nconsole.log(date.year()); // 2024\r\nconsole.log(date.month()); // 3\r\nconsole.log(date.day()); // 13\r\nconsole.log(date.dayOfWeek()); // 3 (miércoles)\r\n\r\n// Comparar fechas\r\nconsole.log(date.isBefore(tomorrow)); // true\r\nconsole.log(date.isSame(date.clone())); // true\r\nconsole.log(date.isAfter(new Date('2020-01-01'))); // true\r\n```\r\n\r\n---\r\n\r\n## 📦 Instalación\r\n<a id=\"instalación\"></a><a id=\"instalacion\"></a>\r\n\r\n```bash\r\nnpm install @bereasoftware/time-guard\r\n# o\r\nyarn add @bereasoftware/time-guard\r\n# o\r\npnpm add @bereasoftware/time-guard\r\n```\r\n\r\n### Requisitos\r\n\r\nTimeGuard expone dos entry points con requisitos de runtime distintos (ver [Bundle Modular](#bundle-modular)):\r\n\r\n| Entry | Runtime mínimo | Dependencias |\r\n| --- | --- | --- |\r\n| `@bereasoftware/time-guard` (por defecto) | Node.js **18+** o cualquier navegador moderno — el polyfill de Temporal se carga automáticamente, así que el motor JS no necesita soportar Temporal de forma nativa | `@js-temporal/polyfill` >=0.5.0 (instalada automáticamente como dependencia) |\r\n| `@bereasoftware/time-guard/native` (zero-polyfill) | Node.js **≥26.0.0** (Temporal habilitado por defecto, sin flag, desde el 5 de mayo de 2026), o un navegador con `Temporal` nativo (Chrome/Edge ≥144, Firefox ≥139 — Safari aún no lo soporta de forma estable) | Ninguna — asume que `globalThis.Temporal` ya existe. En Node 24/25 sigue detrás de un flag experimental de V8 (no oficialmente soportado por TimeGuard); si tu runtime aún no expone `Temporal`, carga tu propio polyfill antes de importar este entry |\r\n\r\n- **TypeScript** 5.0+ (opcional pero recomendado)\r\n\r\n### 🚀 Uso en Nest.js / Backend\r\n\r\n**¡No necesitas hacer nada especial!** TimeGuard carga el polyfill automáticamente:\r\n\r\n```typescript\r\n// Solo importa TimeGuard y funciona!\r\nimport { TimeGuard } from '@bereasoftware/time-guard';\r\n\r\n// ✅ El polyfill se carga automáticamente\r\nconst now = TimeGuard.now();\r\n```\r\n\r\n**No necesitas importar manualmente:**\r\n```typescript\r\n// ❌ NO NECESARIO - TimeGuard lo carga automáticamente\r\n// import { Temporal } from '@js-temporal/polyfill';\r\n// if (typeof (globalThis as any).Temporal === 'undefined') {\r\n//   (globalThis as any).Temporal = Temporal;\r\n// }\r\n```\r\n\r\n### Bundle Modular\r\n\r\nTimeGuard usa una arquitectura modular inspirada en dayjs. La lógica del **core** (TimeGuard, formatter, EN/ES, Gregoriano) pesa ~9.5KB gzip por sí sola, en un chunk compartido por todos los entries. El entry point por defecto (`@bereasoftware/time-guard`) suma a eso el polyfill de `@js-temporal/polyfill` (~52KB gzip el archivo del entry en sí, polyfill incluido) — con locales/calendarios/plugins también cargados y sin tree-shaking, el total sube a ~75KB gzip. Si tu entorno ya expone `Temporal` de forma nativa o cargas tu propio polyfill, usa el entry `/native` para quedarte en ~10KB gzip (el mismo core compartido, sin el polyfill) — o ~24KB si tu bundler no hace tree-shaking del resto. Locales, plugins y calendarios se cargan bajo demanda:\r\n\r\n```typescript\r\n// Entry por defecto (~52KB gzip el archivo del entry, ~75KB con todo cargado): core + polyfill de Temporal auto-cargado\r\nimport { TimeGuard } from '@bereasoftware/time-guard';\r\n\r\n// Entry nativo (~10KB gzip con core+EN/ES): asume que `globalThis.Temporal` ya existe\r\nimport { TimeGuard } from '@bereasoftware/time-guard/native';\r\n\r\n// Módulos bajo demanda\r\nimport { ALL_LOCALES } from '@bereasoftware/time-guard/locales';\r\nimport { IslamicCalendar } from '@bereasoftware/time-guard/calendars';\r\nimport relativeTimePlugin from '@bereasoftware/time-guard/plugins/relative-time';\r\nimport { Duration } from '@bereasoftware/time-guard/plugins/duration';\r\nimport advancedFormatPlugin from '@bereasoftware/time-guard/plugins/advanced-format';\r\n\r\n// UMD para CDN / <script>\r\n// <script src=\"unpkg.com/@bereasoftware/time-guard/dist/time-guard.umd.js\"></script>\r\n\r\n// Nota: los archivos UMD/IIFE son solo para CDN o <script>, no para importarlos como subpaths del paquete.\r\n```\r\n\r\n---\r\n\r\n## 🏗️ Conceptos Clave\r\n<a id=\"conceptos-clave\"></a>\r\n\r\n### 1. Inmutabilidad\r\n\r\nTodas las instancias de TimeGuard son inmutables. Cada operación devuelve una nueva instancia:\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13');\r\nconst modified = date.add(1, 'day');\r\n\r\nconsole.log(date.day()); // 13 (sin cambios)\r\nconsole.log(modified.day()); // 14 (nueva instancia)\r\n```\r\n\r\n### 2. Soporte de Zonas Horarias\r\n\r\nManeja zonas horarias con soporte completo de Temporal API:\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 10:30:00');\r\n\r\n// Set timezone\r\nconst inNYC = date.timezone('America/New_York');\r\nconst inTokyo = date.timezone('Asia/Tokyo');\r\n\r\nconsole.log(inNYC.format('YYYY-MM-DD HH:mm:ss Z'));\r\nconsole.log(inTokyo.format('YYYY-MM-DD HH:mm:ss Z'));\r\n```\r\n\r\n### 3. Localización\r\n\r\nSoporte para 40+ idiomas y locales. El core solo trae `en`/`es` registrados; llama `loadAllLocales()` una vez (o registra solo los que uses vía `/locales`, ver [Bundle Modular](#bundle-modular)):\r\n\r\n```typescript\r\nimport { TimeGuard, loadAllLocales } from '@bereasoftware/time-guard';\r\n\r\nloadAllLocales(); // una sola vez, al iniciar tu app\r\n\r\nconst date = TimeGuard.from('2024-03-13');\r\n\r\ndate.locale('en').format('MMMM DD, YYYY'); // March 13, 2024\r\ndate.locale('es').format('DD MMMM YYYY'); // 13 marzo 2024\r\ndate.locale('fr').format('DD MMMM YYYY'); // 13 mars 2024\r\ndate.locale('de').format('DD. MMMM YYYY'); // 13. März 2024\r\ndate.locale('ja').format('YYYY年M月D日'); // 2024年3月13日\r\ndate.locale('zh-cn').format('YYYY年M月D日'); // 2024年3月13日\r\ndate.locale('ar').format('DD MMMM YYYY'); // 13 مارس 2024\r\n```\r\n\r\n### 4. Estrategias de Formato\r\n\r\nMúltiples formatos preestablecidos y patrones personalizados:\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:30:45');\r\n\r\n// Preestablecidos\r\ndate.format('iso'); // 2024-03-13T14:30:45\r\ndate.format('date'); // 2024-03-13\r\ndate.format('time'); // 14:30:45\r\ndate.format('datetime'); // 2024-03-13 14:30:45\r\ndate.format('rfc2822'); // Wed, 13 Mar 2024 14:30:45 GMT\r\ndate.format('rfc3339'); // 2024-03-13T14:30:45Z\r\ndate.format('utc'); // 2024-03-13T14:30:45Z\r\n\r\n// Patrones personalizados\r\ndate.format('YYYY-MM-DD HH:mm:ss');\r\ndate.format('dddd, MMMM DD, YYYY');\r\ndate.format('MM/DD/YYYY');\r\n```\r\n\r\n---\r\n\r\n## 🎯 Accesores de Componentes\r\n<a id=\"accesores-de-componentes\"></a>\r\n\r\nAcceso rápido a componentes individuales de la fecha:\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:30:45.123');\r\n\r\n// Componentes individuales\r\nconsole.log(date.year()); // 2024\r\nconsole.log(date.month()); // 3\r\nconsole.log(date.day()); // 13\r\nconsole.log(date.hour()); // 14\r\nconsole.log(date.minute()); // 30\r\nconsole.log(date.second()); // 45\r\nconsole.log(date.millisecond()); // 123\r\n\r\n// Información de la semana\r\nconsole.log(date.dayOfWeek()); // 3 (Mié: 1=Dom, 7=Sáb)\r\nconsole.log(date.dayOfYear()); // 73\r\nconsole.log(date.weekOfYear()); // 11\r\n\r\n// Información de mes/año\r\nconsole.log(date.daysInMonth()); // 31\r\nconsole.log(date.daysInYear()); // 366 (año bisiesto)\r\nconsole.log(date.inLeapYear()); // true\r\n```\r\n\r\n---\r\n\r\n## ⏱️ Cálculos Avanzados\r\n<a id=\"cálculos-avanzados\"></a><a id=\"calculos-avanzados\"></a>\r\n\r\n### 🎯 API Semántica: `between()` - Sin Carga Mental\r\n\r\nLa forma **más semántica y clara** para calcular diferencias de tiempo. ¡No necesitas pensar en `until()` vs `since()`!\r\n\r\n```typescript\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-03-20');\r\n\r\n// Lectura simple y directa\r\nTimeGuard.between(start, end).humanize();\r\n// \"2 months and 5 days\"\r\n\r\n// El orden NO importa - siempre positivo\r\nTimeGuard.between(end, start).humanize();\r\n// \"2 months and 5 days\" (¡idéntico!)\r\n\r\n// Acceso a propiedades DurationParts\r\nTimeGuard.between(start, end).months; // 2\r\nTimeGuard.between(start, end).days; // 5\r\n\r\n// Todas las opciones de humanize() disponibles\r\nTimeGuard.between(start, end).humanize({ locale: 'es', fullBreakdown: true });\r\n// \"2 meses y 5 días\"\r\n```\r\n\r\n**Comparación semántica:**\r\n\r\n```typescript\r\n// ❌ Confuso: ¿cuál es cuál?\r\nstart.until(end); // ¿es positivo?\r\nend.since(start); // ¿es diferente?\r\n\r\n// ✅ Claro: no necesitas pensar\r\nTimeGuard.between(start, end); // siempre positivo, sin confusión\r\nTimeGuard.between(end, start); // mismo resultado, order no importa\r\n```\r\n\r\n### 🔗 API Fluente: `range()` - Naming Killer\r\n\r\n**Marketing técnico puro:** La API más intuitiva para rangos de fechas con **method chaining fluent**:\r\n\r\n```typescript\r\n// Sintaxis limpia y directa\r\nTimeGuard.range('2024-01-15', '2024-03-20').humanize();\r\n// \"2 months and 5 days\"\r\n\r\nTimeGuard.range('2024-01-15', '2024-03-20').inMonths();\r\n// 2.1355 (valor decimal preciso)\r\n\r\nTimeGuard.range('2024-01-15', '2024-03-20').toDuration();\r\n// DurationResult: acceso completo a propiedades\r\n```\r\n\r\n**Casos de uso empresariales:**\r\n\r\n```typescript\r\n// 📅 Período de alquiler\r\nconst checkIn = new TimeGuard('2024-06-15');\r\nconst checkOut = new TimeGuard('2024-06-22');\r\n\r\nconst rentalDays = TimeGuard.range(checkIn, checkOut).in('day');\r\nconst rentalCost = rentalDays * 100; // $100 por día\r\nconsole.log(rentalCost); // $700\r\n\r\n// 💳 Cálculo de mora\r\nconst invoiceDate = new TimeGuard('2024-01-01');\r\nconst paymentDate = new TimeGuard('2024-02-15');\r\n\r\nconst lateFeePerDay = 10;\r\nconst lateFee =\r\n  TimeGuard.range(invoiceDate, paymentDate).in('day') * lateFeePerDay;\r\nconsole.log(lateFee); // Cálculo exacto con promediado de meses\r\n\r\n// 📊 Analítica de sesiones\r\nconst sessionStart = new TimeGuard('2024-03-15T10:00:00');\r\nconst sessionEnd = new TimeGuard('2024-03-15T10:35:42');\r\n\r\nconst engagementMinutes = TimeGuard.range(sessionStart, sessionEnd).in(\r\n  'minute',\r\n);\r\nconsole.log(engagementMinutes); // Para métricas de usuarios\r\n```\r\n\r\n**Soporte de Locales:**\r\n\r\n```typescript\r\n// El orden de fechas NO importa\r\nTimeGuard.range('2024-03-20', '2024-01-15').humanize({ locale: 'es' });\r\n// \"2 meses y 5 días\" (resultado idéntico)\r\n\r\n// Diferentes idiomas\r\nTimeGuard.range('2024-01-15', '2024-03-20').humanize({ locale: 'fr' });\r\n// \"2 mois et 5 jours\"\r\n\r\nTimeGuard.range('2024-01-15', '2024-03-20').humanize({ locale: 'de' });\r\n// \"2 Monate und 5 Tage\"\r\n\r\n// Desglose completo\r\nTimeGuard.range('2024-01-15', '2024-03-20').humanize({\r\n  locale: 'es',\r\n  fullBreakdown: true,\r\n});\r\n// \"2 meses y 5 días\"\r\n```\r\n\r\n**Métodos disponibles en `TimeRange`:**\r\n\r\n| Método                | Retorna          | Descripción                                         |\r\n| --------------------- | ---------------- | --------------------------------------------------- |\r\n| `.toDuration()`       | `DurationResult` | Objeto de duración completo con todos los métodos   |\r\n| `.inMonths()`         | `number`         | Rango en meses (decimal: 2.1355)                    |\r\n| `.humanize(options?)` | `string`         | Texto legible: \"2 meses y 5 días\"                   |\r\n| `.in(unit)`           | `number`         | Rango en cualquier unidad (day, hour, minute, etc.) |\r\n\r\n### Duración: Calcular tiempo entre fechas\r\n\r\n```typescript\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-03-20');\r\n\r\nconst duration = start.until(end);\r\n\r\nconsole.log(duration);\r\n// {\r\n//   years: 0,\r\n//   months: 2,\r\n//   days: 5,\r\n//   hours: 0,\r\n//   minutes: 0,\r\n//   seconds: 0,\r\n//   milliseconds: 0\r\n// }\r\n```\r\n\r\n### Humanize: Duración Legible para Usuarios 📝\r\n\r\nConvierte duraciones a texto natural y legible con soporte multiidioma:\r\n\r\n```typescript\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-03-20');\r\n\r\n// Estilo simple (Intl.RelativeTimeFormat)\r\nconst duration = start.until(end);\r\nconsole.log(duration.humanize());\r\n// \"2 months\"\r\n\r\n// Desglose completo con múltiples unidades\r\nconsole.log(duration.humanize({ fullBreakdown: true }));\r\n// \"2 months and 5 days\"\r\n\r\n// Con locale específico\r\nconsole.log(duration.humanize({ locale: 'es' }));\r\n// \"2 meses\"\r\n\r\nconsole.log(duration.humanize({ locale: 'es', fullBreakdown: true }));\r\n// \"2 meses y 5 días\"\r\n\r\n// Con locale francés\r\nconsole.log(duration.humanize({ locale: 'fr' }));\r\n// \"2 mois\"\r\n\r\nconsole.log(duration.humanize({ locale: 'fr', fullBreakdown: true }));\r\n// \"2 mois et 5 jours\"\r\n```\r\n\r\n#### Uso de Locales Heredadas\r\n\r\n```typescript\r\n// TimeGuard hereda configuración de locale\r\nconst start = TimeGuard.from('2024-01-15', { locale: 'es' });\r\nconst end = TimeGuard.from('2024-03-20');\r\n\r\nconst duration = start.until(end);\r\n\r\n// Usa automáticamente el locale de la instancia\r\nconsole.log(duration.humanize());\r\n// \"2 meses\"\r\n\r\nconsole.log(duration.humanize({ fullBreakdown: true }));\r\n// \"2 meses y 5 días\"\r\n```\r\n\r\n#### Opciones de Humanize\r\n\r\n| Opción          | Tipo               | Default       | Descripción                                     |\r\n| --------------- | ------------------ | ------------- | ----------------------------------------------- |\r\n| `locale`        | string             | del TimeGuard | Código de locale ('en', 'es', 'fr', etc.)       |\r\n| `fullBreakdown` | boolean            | false         | Mostrar desglose completo vs. unidad más grande |\r\n| `numeric`       | 'always' \\| 'auto' | 'always'      | Formato numérico para Intl API                  |\r\n\r\n#### Locales Soportados\r\n\r\nHumanize automáticamente soporta:\r\n\r\n- 🇬🇧 **en** - English\r\n- 🇪🇸 **es** - Español\r\n- 🇫🇷 **fr** - Français (French)\r\n- 🇩🇪 **de** - Deutsch (German)\r\n- 🇮🇹 **it** - Italiano (Italian)\r\n- 🇵🇹 **pt** - Português (Portuguese)\r\n\r\nY muchos más a través de `Intl.RelativeTimeFormat`.\r\n\r\n### 💥 Explain Mode: Debugging Brutal y Educación\r\n\r\n**Feature killer para debugging y enseñanza** - Obtén una explicación detallada de cómo se calculó cada duración.\r\n\r\nPerfecto para:\r\n\r\n- 🐛 **Debugging** - Entender exactamente cómo se calculó la duración\r\n- 📚 **Educación** - Enseñar matemáticas de fechas\r\n- 📋 **Auditoría** - Verificar lógica de negocio basada en fechas\r\n- ✅ **Validación** - Confirmar que los cálculos son correctos\r\n\r\n```typescript\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-03-20');\r\nconst duration = start.until(end);\r\n\r\n// Explicación detallada del cálculo\r\nconst explanation = duration.explain();\r\n\r\nconsole.log(explanation);\r\n// {\r\n//   input: [\r\n//     '2024-01-15T00:00:00',\r\n//     '2024-03-20T00:00:00'\r\n//   ],\r\n//   steps: [\r\n//     'Parsed dates: 2024-01-15 (day 15 of 365) to 2024-03-20 (day 80 of 365)',\r\n//     '2024 is a leap year (February has 29 days)',\r\n//     'Years: 0',\r\n//     'Months: 2',\r\n//     'Days: 5',\r\n//     'Total: 2m 5d'\r\n//   ],\r\n//   breakdown: {\r\n//     years: 0,\r\n//     months: 2,\r\n//     weeks: 0,\r\n//     days: 5,\r\n//     hours: 0,\r\n//     minutes: 0,\r\n//     seconds: 0,\r\n//     milliseconds: 0\r\n//   },\r\n//   mode: 'exact',\r\n//   explanation: 'Calculated 2024-01-15 to 2024-03-20. 2024 is a leap year. Breakdown: 0 year(s), 2 month(s), 5 day(s). Mode: exact calculation',\r\n//   locale: 'en',\r\n//   leapYearFlags: [\r\n//     { year: 2024, isLeap: true, daysInFebruary: 29 }\r\n//   ],\r\n//   metadata: {\r\n//     calculationTimeMs: 0.5,\r\n//     precision: 'day'\r\n//   }\r\n// }\r\n```\r\n\r\n#### Casos de Uso\r\n\r\nDebugging de lógica de fechas:\r\n\r\n```typescript\r\n// ¿Por qué el cálculo de mora es diferente?\r\nconst invoiceDate = TimeGuard.from('2024-01-05');\r\nconst paymentDate = TimeGuard.from('2024-02-15');\r\nconst lateFee = invoiceDate.until(paymentDate);\r\n\r\n// Obtén la explicación completa\r\nconst debug = lateFee.explain();\r\n\r\nconsole.log('Pasos del cálculo:', debug.steps);\r\nconsole.log('Febrero es bisiesto:', debug.leapYearFlags);\r\nconsole.log('Desglose:', debug.breakdown);\r\n// Ahora sabes exactamente qué sucedió!\r\n```\r\n\r\nEducación - Enseñar cálculos de fechas:\r\n\r\n```typescript\r\n// Mostrar a estudiantes cómo funciona\r\nconst start = TimeGuard.from('2024-02-15'); // Enero\r\nconst end = TimeGuard.from('2024-04-15'); // Abril\r\nconst duration = start.until(end);\r\n\r\nconst explanation = duration.explain();\r\n\r\n// Mostrar todos los pasos\r\nexplanation.steps.forEach((step, i) => {\r\n  console.log(`${i + 1}. ${step}`);\r\n});\r\n// 1. Parsed dates: ...\r\n// 2. 2024 is a leap year...\r\n// 3. Years: 0\r\n// 4. Months: 2\r\n// 5. Days: 0\r\n// 6. Total: 2m\r\n```\r\n\r\n#### Propiedades de Explanation\r\n\r\n| Propiedad        | Tipo                     | Descripción                   |\r\n| ---------------- | ------------------------ | ----------------------------- |\r\n| `input`          | `string[]`               | Fechas de entrada parseadas   |\r\n| `steps`          | `string[]`               | Pasos del cálculo legibles    |\r\n| `breakdown`      | `DurationParts`          | Desglose por componentes      |\r\n| `mode`           | `'exact' \\| 'estimated'` | Tipo de cálculo realizado     |\r\n| `explanation`    | `string`                 | Resumen en texto natural      |\r\n| `locale`         | `string`                 | Idioma de la explicación      |\r\n| `leapYearFlags?` | `Array`                  | Información de años bisiestos |\r\n| `metadata?`      | `Object`                 | Rendimiento y precisión       |\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:35:47.654');\r\n\r\n// Redondear a diferentes unidades\r\ndate.round({ smallestUnit: 'second' }); // 2024-03-13 14:35:48\r\ndate.round({ smallestUnit: 'minute' }); // 2024-03-13 14:36:00\r\ndate.round({ smallestUnit: 'hour' }); // 2024-03-13 15:00:00\r\ndate.round({ smallestUnit: 'day' }); // 2024-03-14 00:00:00\r\n\r\n// Modos de redondeo: 'ceil', 'floor', 'trunc', 'half' (predeterminado)\r\ndate.round({\r\n  smallestUnit: 'minute',\r\n  roundingMode: 'ceil',\r\n});\r\n```\r\n\r\n---\r\n\r\n## 📅 Sistemas de Calendario\r\n<a id=\"sistemas-de-calendario\"></a>\r\n\r\nTimeGuard incluye soporte para múltiples sistemas de calendario, extensible a través del gestor de calendarios:\r\n\r\n### Calendarios Soportados\r\n\r\n```typescript\r\nimport { TimeGuard, CalendarManager } from '@bereasoftware/time-guard';\r\nimport {\r\n  IslamicCalendar,\r\n  HebrewCalendar,\r\n  ChineseCalendar,\r\n  JapaneseCalendar,\r\n  BuddhistCalendar,\r\n} from '@bereasoftware/time-guard/calendars';\r\n\r\n// Get calendar manager\r\nconst calendarMgr = CalendarManager.getInstance();\r\n\r\n// List available calendars\r\nconsole.log(calendarMgr.list());\r\n// ['gregory', 'islamic', 'hebrew', 'chinese', 'japanese', 'buddhist']\r\n\r\n// Register custom calendar\r\nconst islamic = new IslamicCalendar();\r\ncalendarMgr.register(islamic);\r\n\r\n// Get calendar info\r\nconst gregorian = calendarMgr.get('gregory');\r\nconsole.log(gregorian.getMonthName(3)); // \"March\"\r\nconsole.log(gregorian.getMonthName(3, true)); // \"Mar\"\r\nconsole.log(gregorian.getWeekdayName(1)); // \"Sunday\"\r\nconsole.log(gregorian.isLeapYear(2024)); // true\r\n```\r\n\r\n### Objetos de Calendario\r\n\r\n#### Calendario Gregoriano\r\n\r\n```typescript\r\nimport { GregorianCalendar } from '@bereasoftware/time-guard/calendars';\r\n\r\nconst calendar = new GregorianCalendar();\r\nconsole.log(calendar.daysInMonth(2024, 2)); // 29 (leap year)\r\nconsole.log(calendar.daysInYear(2024)); // 366\r\n```\r\n\r\n#### Calendario Islámico (Hijri)\r\n\r\n```typescript\r\nimport { IslamicCalendar } from '@bereasoftware/time-guard/calendars';\r\n\r\nconst calendar = new IslamicCalendar();\r\nconsole.log(calendar.getMonthName(9)); // \"Ramadan\"\r\nconsole.log(calendar.isLeapYear(1445)); // true\r\n```\r\n\r\n#### Calendario Hebreo\r\n\r\n```typescript\r\nimport { HebrewCalendar } from '@bereasoftware/time-guard/calendars';\r\n\r\nconst calendar = new HebrewCalendar();\r\nconsole.log(calendar.getMonthName(1)); // \"Tishrei\"\r\nconsole.log(calendar.isLeapYear(5784)); // true\r\n```\r\n\r\n#### Calendario Chino\r\n\r\n```typescript\r\nimport { ChineseCalendar } from '@bereasoftware/time-guard/calendars';\r\n\r\nconst calendar = new ChineseCalendar();\r\nconst zodiac = calendar.getZodiacSign(2024); // \"龙\" (Dragon)\r\n```\r\n\r\n#### Calendario Japonés\r\n\r\n```typescript\r\nimport { JapaneseCalendar } from '@bereasoftware/time-guard/calendars';\r\n\r\nconst calendar = new JapaneseCalendar();\r\nconsole.log(calendar.getMonthName(3)); // \"3月\"\r\n```\r\n\r\n#### Calendario Budista\r\n\r\n```typescript\r\nimport { BuddhistCalendar } from '@bereasoftware/time-guard/calendars';\r\n\r\nconst calendar = new BuddhistCalendar();\r\n// Year 2567 BE = 2024 CE\r\nconsole.log(calendar.isLeapYear(2567)); // true\r\n```\r\n\r\n---\r\n\r\n<a id=\"plugins\"></a>\r\n## 🔌 Plugins\r\n\r\nTimeGuard incluye un sistema de plugins opcional para funcionalidad extendida:\r\n\r\n### Plugins Disponibles\r\n\r\n1. **Plugin de Tiempo Relativo** - Diferencias de tiempo legibles para humanos\r\n\r\n   ```typescript\r\n   import { TimeGuard, PluginManager } from '@bereasoftware/time-guard';\r\n   import relativeTimePlugin from '@bereasoftware/time-guard/plugins/relative-time';\r\n\r\n   PluginManager.use(relativeTimePlugin, TimeGuard);\r\n\r\n   TimeGuard.from('2024-01-01').fromNow(); // \"2 months ago\"\r\n   TimeGuard.from('2024-04-01').toNow(); // \"in 19 days\"\r\n   ```\r\n\r\n2. **Plugin de Duración** - Soporte de duración ISO 8601\r\n\r\n   ```typescript\r\n   import { Duration } from '@bereasoftware/time-guard/plugins/duration';\r\n\r\n   const duration = Duration.fromISO('P2Y3M4D');\r\n   duration.humanize(); // \"2 years, 3 months, 4 days\"\r\n   duration.asDays(); // 1159\r\n   ```\r\n\r\n3. **Plugin de Formato Avanzado** - Tokens de formato extendidos\r\n\r\n   ```typescript\r\n   import advancedFormatPlugin from '@bereasoftware/time-guard/plugins/advanced-format';\r\n\r\n   PluginManager.use(advancedFormatPlugin, TimeGuard);\r\n\r\n   date.format('Do MMMM YYYY'); // \"13th March 2024\"\r\n   date.format('Q [Q] YYYY'); // \"1 Q 2024\"\r\n   ```\r\n\r\n**📖 Full Details:** See [PLUGINS.md](PLUGINS.md) for complete plugin documentation.\r\n\r\n---\r\n\r\n<a id=\"documentación\"></a><a id=\"documentacion\"></a>\r\n## 📚 Documentación\r\n\r\n### Archivos de Documentación Principal\r\n\r\n| Documento                             | Propósito                                                                 |\r\n| ------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |\r\n| [📖 ARCHITECTURE.md](ARCHITECTURE.md) | Deep dive into design patterns, SOLID principles, and system architecture | Inmersión profunda en patrones de diseño, principios SOLID y arquitectura |\r\n| [💡 EXAMPLES.md](EXAMPLES.md)         | Real-world usage examples and common scenarios                            |\r\n| [🌍 LOCALES.md](LOCALES.md)           | Complete guide to localization and supported languages                    |\r\n| [� PLUGINS.md](PLUGINS.md)            | Plugin system documentation and usage guide                               |\r\n| [�📖 API Reference](#api-overview)    | Quick API reference (below)                                               |\r\n\r\n### Navegación Rápida\r\n\r\n- **Inicio** → Comienza con [Inicio Rápido](#inicio-r%C3%A1pido) arriba\r\n- **Uso Avanzado** → Ver [EXAMPLES.md](EXAMPLES.md)\r\n- **Localización** → Ver [LOCALES.md](LOCALES.md)\r\n- **Arquitectura** → Ver [ARCHITECTURE.md](ARCHITECTURE.md)\r\n\r\n## 🌍 Locales Soportadas\r\n<a id=\"locales-soportadas\"></a>\r\n\r\nTimeGuard proporciona **más de 40 idiomas y variantes regionales** con soporte completo de internacionalización. Los locales se organizan por familia de idiomas para facilitar el descubrimiento.\r\n\r\n### Formato de Código de Locale\r\n\r\nLos códigos de locale siguen el patrón estándar `[language]-[region]`:\r\n\r\n- `en` - Forma predeterminada (se usa si no se especifica variante de región)\r\n- `en-gb` - Variante de región específica (Gran Bretaña)\r\n- `es-mx` - Variante española para México\r\n- `zh-cn` - Chino simplificado\r\n\r\n### Locales Disponibles por Familia\r\n\r\n####-🇬🇧 Inglés (4 variantes)\r\n\r\n- `en` - Inglés (US)\r\n- `en-au` - Inglés (Australia)\r\n- `en-gb` - Inglés (Gran Bretaña)\r\n- `en-ca` - Inglés (Canadá)\r\n\r\n### Español (3 variantes)\r\n\r\n- `es` - Español (España)\r\n- `es-mx` - Español (México)\r\n- `es-us` - Español (US)\r\n\r\n### Idiomas Románicos (5)\r\n\r\n- `fr` - Francés\r\n- `it` - Italiano\r\n- `pt` - Portugués (Portugal)\r\n- `pt-br` - Portugués (Brasil)\r\n- `ro` - Rumano\r\n\r\n### Idiomas Eslavos (4)\r\n\r\n- `ru` - Ruso\r\n- `pl` - Polaco\r\n- `cs` - Checo\r\n- `sk` - Eslovaco\r\n\r\n### Idiomas Nórdicos (4)\r\n\r\n- `sv` - Sueco\r\n- `nb` - Noruego (Bokmål)\r\n- `da` - Danés\r\n- `fi` - Finlandés\r\n\r\n### Idiomas Asiáticos (7)\r\n\r\n- `ja` - Japonés\r\n- `zh-cn` - Chino (Simplificado)\r\n- `zh-tw` - Chino (Tradicional)\r\n- `ko` - Coreano\r\n- `th` - Thai\r\n- `vi` - Vietnamita\r\n- `id` - Indonesio\r\n\r\n### Idiomas Europeos (7)\r\n\r\n- `de` - Alemán\r\n- `nl` - Holandés\r\n- `el` - Griego\r\n- `hu` - Húngaro\r\n- `eu` - Euskera\r\n- `ca` - Catalán\r\n- `tr` - Turco\r\n\r\n### Oriente Medio y Asia del Sur (3)\r\n\r\n- `ar` - Árabe\r\n- `he` - Hebreo\r\n- `hi` - Hindi\r\n\r\n---\r\n\r\n### Guía de Uso de Locales\r\n\r\n#### Configuración de Locales\r\n\r\n```typescript\r\nimport { TimeGuard } from '@bereasoftware/time-guard';\r\n\r\nconst date = TimeGuard.from('2024-03-13 14:30:00');\r\n\r\n// Get current locale\r\nconst currentLocale = date.locale(); // \"en\"\r\n\r\n// Change locale (returns new instance)\r\nconst spanish = date.locale('es');\r\nconst french = date.locale('fr');\r\nconst japanese = date.locale('ja');\r\nconst arabic = date.locale('ar');\r\n\r\n// Chain operations\r\ndate.locale('es').format('dddd, DD MMMM YYYY'); // miércoles, 13 marzo 2024\r\n\r\n// Or use constructor config\r\nTimeGuard.from('2024-03-13', { locale: 'de' });\r\nTimeGuard.now({ locale: 'ja' });\r\n```\r\n\r\n#### Formateo en Diferentes Locales\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13');\r\n\r\n// English variants\r\ndate.locale('en').format('MMMM DD, YYYY'); // March 13, 2024\r\ndate.locale('en-gb').format('DD MMMM YYYY'); // 13 March 2024\r\ndate.locale('en-au').format('DD/MM/YYYY'); // 13/03/2024\r\ndate.locale('en-ca').format('YYYY-MM-DD'); // 2024-03-13\r\n\r\n// Spanish variants\r\ndate.locale('es').format('DD MMMM YYYY'); // 13 marzo 2024\r\ndate.locale('es-mx').format('DD/MM/YYYY'); // 13/03/2024\r\ndate.locale('es-us').format('MMMM D'); // marzo 13\r\n\r\n// Romance languages\r\ndate.locale('fr').format('dddd D MMMM YYYY'); // mercredi 13 mars 2024\r\ndate.locale('it').format('dddd, D MMMM YYYY'); // mercoledì, 13 marzo 2024\r\ndate.locale('pt').format('dddd, D MMMM YYYY'); // quarta-feira, 13 de março de 2024\r\ndate.locale('pt-br').format('DD/MM/YYYY'); // 13/03/2024\r\ndate.locale('ro').format('DD MMMM YYYY'); // 13 martie 2024\r\n\r\n// Slavic languages\r\ndate.locale('ru').format('DD MMMM YYYY'); // 13 марта 2024\r\ndate.locale('pl').format('DD MMMM YYYY'); // 13 marca 2024\r\ndate.locale('cs').format('DD. MMMM YYYY'); // 13. března 2024\r\ndate.locale('sk').format('DD. MMMM YYYY'); // 13. marca 2024\r\n\r\n// Nordic languages\r\ndate.locale('sv').format('DD MMMM YYYY'); // 13 mars 2024\r\ndate.locale('nb').format('DD. MMMM YYYY'); // 13. mars 2024\r\ndate.locale('da').format('DD. MMMM YYYY'); // 13. marts 2024\r\ndate.locale('fi').format('DD. MMMM YYYY'); // 13. maaliskuuta 2024\r\n\r\n// Asian languages\r\ndate.locale('ja').format('YYYY年M月D日'); // 2024年3月13日\r\ndate.locale('zh-cn').format('YYYY年M月D日'); // 2024年3月13日\r\ndate.locale('zh-tw').format('YYYY年M月D日'); // 2024年3月13日\r\ndate.locale('ko').format('YYYY년 M월 D일'); // 2024년 3월 13일\r\ndate.locale('th').format('DD MMMM YYYY'); // 13 มีนาคม 2567 (BE)\r\ndate.locale('vi').format('DD/MM/YYYY'); // 13/03/2024\r\ndate.locale('id').format('DD MMMM YYYY'); // 13 Maret 2024\r\n\r\n// European languages\r\ndate.locale('de').format('DD. MMMM YYYY'); // 13. März 2024\r\ndate.locale('nl').format('DD MMMM YYYY'); // 13 maart 2024\r\ndate.locale('el').format('DD MMMM YYYY'); // 13 Μαρτίου 2024\r\ndate.locale('hu').format('YYYY. MMMM DD.'); // 2024. március 13.\r\ndate.locale('eu').format('YYYY[ko] MMMM[ren] DD'); // 2024ko martsaren 13\r\ndate.locale('ca').format('DD MMMM YYYY'); // 13 de març de 2024\r\ndate.locale('tr').format('DD MMMM YYYY'); // 13 Mart 2024\r\n\r\n// Middle Eastern & South Asian\r\ndate.locale('ar').format('DD MMMM YYYY'); // 13 مارس 2024\r\ndate.locale('he').format('DD.MM.YYYY'); // 13.03.2024\r\ndate.locale('hi').format('DD MMMM YYYY'); // 13 मार्च 2024\r\n```\r\n\r\n#### Nombres de Día y Mes\r\n\r\n```typescript\r\n// Get localized day names\r\ndate.locale('es').format('dddd'); // miércoles\r\ndate.locale('es').format('ddd'); // mié\r\ndate.locale('fr').format('dddd'); // mercredi\r\ndate.locale('de').format('dddd'); // Mittwoch\r\ndate.locale('ja').format('dddd'); // 水曜日\r\n\r\n// Get localized month names\r\ndate.locale('es').format('MMMM'); // marzo\r\ndate.locale('es').format('MMM'); // mar\r\ndate.locale('fr').format('MMMM'); // mars\r\ndate.locale('de').format('MMMM'); // März\r\ndate.locale('ru').format('MMMM'); // марта\r\n```\r\n\r\n#### Aplicaciones Multilocale\r\n\r\n```typescript\r\n// Switch language at runtime (user preference)\r\nlet currentLocale = 'en';\r\n\r\nfunction formatUserDate(\r\n  date: TimeGuard,\r\n  locale: string = currentLocale,\r\n): string {\r\n  return date.locale(locale).format('dddd, MMMM D, YYYY [at] HH:mm');\r\n}\r\n\r\nconst date = TimeGuard.now();\r\n\r\n// English user\r\nconsole.log(formatUserDate(date, 'en')); // Wednesday, March 13, 2024 at 14:30\r\n\r\n// Spanish user\r\ncurrentLocale = 'es';\r\nconsole.log(formatUserDate(date, 'es')); // miércoles, 13 de marzo de 2024 a las 14:30\r\n\r\n// French user\r\nconsole.log(formatUserDate(date, 'fr')); // mercredi, 13 mars 2024 à 14:30\r\n\r\n// Japanese user\r\nconsole.log(formatUserDate(date, 'ja')); // 水曜日、2024年3月13日 14:30\r\n```\r\n\r\n#### Obtener Locales Disponibles Programáticamente\r\n\r\n```typescript\r\nimport { getAvailableLocales } from \"@bereasoftware/time-guard\";\r\n\r\n// Get all available locales\r\nconst locales = getAvailableLocales();\r\n// Returns: ['en', 'en-au', 'en-gb', 'en-ca', 'es', 'es-mx', 'es-us', ...]\r\n\r\n// Filter by prefix\r\nconst englishLocales = locales.filter((l) => l.startsWith('en'));\r\nconst spanishLocales = locales.filter((l) => l.startsWith('es'));\r\nconst asianLocales = locales.filter((l) =>\r\n  ['ja', 'zh-cn', 'zh-tw', 'ko'].includes(l),\r\n);\r\n\r\n// Create locale selector UI\r\nfunction createLocaleSelector() {\r\n  const locales = getAvailableLocales();\r\n  return locales.map((locale) => ({\r\n    code: locale,\r\n    label: new Intl.DisplayNames('en', { type: 'language' }).of(locale),\r\n  }));\r\n}\r\n```\r\n\r\n**📖 Full Details:** See [LOCALES.md](LOCALES.md) for locale-specific usage and characteristics.\r\n\r\n---\r\n\r\n## 🔌 Plugins - Complete Guide\r\n\r\nTimeGuard includes a powerful plugin system for extending functionality. Plugins follow SOLID principles and are fully optional.\r\n\r\n### Plugin Manager\r\n\r\n```typescript\r\nimport { TimeGuard, PluginManager } from '@bereasoftware/time-guard';\r\n\r\n// Use a plugin\r\nPluginManager.use(myPlugin, TimeGuard);\r\n\r\n// Check if plugin is installed\r\nPluginManager.isInstalled(pluginName);\r\n\r\n// List installed plugins\r\nPluginManager.listInstalled();\r\n```\r\n\r\n### 1️⃣ Plugin de Tiempo Relativo\r\n\r\nAñade diferencias de tiempo legibles como \"hace 2 horas\" o \"en 3 días\".\r\n\r\n```typescript\r\nimport { TimeGuard, PluginManager } from '@bereasoftware/time-guard';\r\nimport relativeTimePlugin from '@bereasoftware/time-guard/plugins/relative-time';\r\n\r\n// Install plugin once\r\nPluginManager.use(relativeTimePlugin, TimeGuard);\r\n\r\n// Now use relative time methods\r\nconst date = TimeGuard.from('2024-01-15');\r\n\r\n// Relative to now\r\ndate.fromNow(); // \"2 months ago\"\r\ndate.toNow(); // \"in 2 months\"\r\n\r\n// Without suffix\r\ndate.fromNow(true); // \"2 months\"\r\ndate.toNow(true); // \"2 months\"\r\n\r\n// Relative to another date\r\nconst other = TimeGuard.from('2024-02-15');\r\ndate.from(other); // \"a month ago\"\r\ndate.to(other); // \"in a month\"\r\n\r\n// Humanize duration\r\ndate.humanize(other); // \"a month\"\r\ndate.humanize(other, true); // \"a month\" (exact mode)\r\n```\r\n\r\n**Supported Relative Time Formats:**\r\n\r\n```\r\n\"a few seconds ago\"             // Very recent\r\n\"a minute ago\" / \"2 minutes ago\"\r\n\"an hour ago\" / \"3 hours ago\"\r\n\"a day ago\" / \"5 days ago\"\r\n\"a month ago\" / \"2 months ago\"\r\n\"a year ago\" / \"3 years ago\"\r\n\"in a few seconds\"              // Future\r\n\"in a minute\" / \"in 2 minutes\"\r\n\"in an hour\" / \"in 3 hours\"\r\n\"in a day\" / \"in 5 days\"\r\n\"in a month\" / \"in 2 months\"\r\n\"in a year\" / \"in 3 years\"\r\n```\r\n\r\n---\r\n\r\n### 2️⃣ Plugin de Duración\r\n\r\nSoporte de duración ISO 8601 con cálculos avanzados.\r\n\r\n```typescript\r\nimport { TimeGuard } from '@bereasoftware/time-guard';\r\nimport {\r\n  Duration,\r\n  durationPlugin,\r\n} from '@bereasoftware/time-guard/plugins/duration';\r\nimport { PluginManager } from '@bereasoftware/time-guard';\r\n\r\n// Install plugin\r\nPluginManager.use(durationPlugin, TimeGuard);\r\n\r\n// ===== Create Durations =====\r\n\r\n// From object\r\nconst duration1 = new Duration({\r\n  years: 2,\r\n  months: 3,\r\n  days: 4,\r\n  hours: 12,\r\n  minutes: 30,\r\n});\r\n\r\n// From ISO 8601 string\r\nconst duration2 = Duration.fromISO('P3Y6M4DT12H30M5S');\r\n// P = Period marker\r\n// 3Y = 3 years\r\n// 6M = 6 months\r\n// 4D = 4 days\r\n// T = Time marker\r\n// 12H = 12 hours\r\n// 30M = 30 minutes\r\n// 5S = 5 seconds\r\n\r\n// From TimeGuard dates\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-05-20');\r\nconst between = Duration.between(start, end);\r\n// { years: 0, months: 4, days: 5, ... }\r\n\r\n// ===== Duration Operations =====\r\n\r\n// Get ISO string\r\nduration1.toISO(); // \"P2Y3M4DT12H30M\"\r\n\r\n// Get total in different units\r\nduration1.asDays(); // Total days\r\nduration1.asHours(); // Total hours\r\nduration1.asSeconds(); // Total seconds\r\nduration1.asMilliseconds(); // Total milliseconds\r\n\r\n// Humanize\r\nduration1.humanize(); // \"2 years, 3 months, 4 days, 12 hours, 30 minutes\"\r\nduration1.humanize('es'); // Spanish: \"2 años, 3 meses...\"\r\nduration1.humanize('fr'); // French: \"2 ans, 3 mois...\"\r\n\r\n// Get components\r\nduration1.years;\r\nduration1.months;\r\nduration1.days;\r\nduration1.hours;\r\nduration1.minutes;\r\nduration1.seconds;\r\nduration1.milliseconds;\r\n\r\n// Clone\r\nconst copy = duration1.clone();\r\n\r\n// Arithmetic\r\nduration1.add(new Duration({ days: 5 }));\r\nduration1.subtract(new Duration({ hours: 2 }));\r\nduration1.multiply(2); // Double the duration\r\nduration1.negate(); // Reverse direction\r\n```\r\n\r\n**ISO 8601 Duration Examples:**\r\n\r\n```typescript\r\nDuration.fromISO('P1Y'); // 1 year\r\nDuration.fromISO('P3M'); // 3 months\r\nDuration.fromISO('P1W'); // 1 week (7 days)\r\nDuration.fromISO('P1D'); // 1 day\r\nDuration.fromISO('PT1H'); // 1 hour\r\nDuration.fromISO('PT30M'); // 30 minutes\r\nDuration.fromISO('PT45S'); // 45 seconds\r\nDuration.fromISO('P1Y2M3DT4H5M6S'); // Complex: 1 year, 2 months, ...\r\nDuration.fromISO('-P1D'); // Negative: -1 day\r\n```\r\n\r\n---\r\n\r\n### 3️⃣ Plugin de Formato Avanzado\r\n\r\nTokens de formato extendidos para necesidades de formateo especializadas.\r\n\r\n```typescript\r\nimport { TimeGuard, PluginManager } from '@bereasoftware/time-guard';\r\nimport advancedFormatPlugin from '@bereasoftware/time-guard/plugins/advanced-format';\r\n\r\n// Install plugin\r\nPluginManager.use(advancedFormatPlugin, TimeGuard);\r\n\r\nconst date = TimeGuard.from('2024-03-13 14:30:00');\r\n\r\n// Advanced tokens become available\r\ndate.format('Do MMMM YYYY'); // \"13th March 2024\"\r\ndate.format('Q [Q] YYYY'); // \"1 Q 2024\"\r\ndate.format('[Week] w, YYYY'); // \"Week 11, 2024\"\r\ndate.format('W [of] ww'); // \"11 of 11\"\r\ndate.format('gggg-[W]ww'); // \"2024-W11\" (ISO week)\r\ndate.format('GGGG-[W]WW'); // 2024-W11 (alternative)\r\n\r\n// Timezone abbreviation\r\ndate.format('HH:mm zzz'); // \"14:30 UTC\"\r\n\r\n// 24-hour (k = 1-24 instead of 0-23)\r\ndate.format('k:mm'); // \"14:30\"\r\n\r\n// Unix timestamps\r\ndate.format('X'); // Unix seconds\r\ndate.format('x'); // Unix milliseconds\r\n```\r\n\r\n**Advanced Format Tokens:**\r\n\r\n```\r\nQ                               // Quarter (1, 2, 3, 4)\r\nDo                              // Ordinal day (1st, 2nd, 3rd, etc.)\r\nw                               // Week of year (no padding)\r\nww                              // Week of year (zero-padded)\r\nW                               // ISO week number\r\ngggg                            // ISO week year\r\nGGGG                            // Alternative ISO week year\r\nk / kk                          // 24-hour format (1-24)\r\nX                               // Unix seconds\r\nx                               // Unix milliseconds\r\nzzz                             // Timezone abbreviation (UTC, EST, etc.)\r\n```\r\n\r\n---\r\n\r\n### Arquitectura de Plugins\r\n\r\nAll plugins implement `ITimeGuardPlugin`:\r\n\r\n```typescript\r\ninterface ITimeGuardPlugin {\r\n  name: string;\r\n  version: string;\r\n  install(TimeGuardClass: typeof TimeGuard): void;\r\n}\r\n```\r\n\r\n### Creating Custom Plugins\r\n\r\n```typescript\r\nimport { TimeGuard } from '@bereasoftware/time-guard';\r\nimport type { ITimeGuardPlugin } from '@bereasoftware/time-guard/types';\r\n\r\nclass MyCustomPlugin implements ITimeGuardPlugin {\r\n  name = 'my-plugin';\r\n  version = '1.0.0';\r\n\r\n  install(TimeGuardClass: typeof TimeGuard): void {\r\n    // Add method to TimeGuard prototype\r\n    (TimeGuardClass.prototype as any).myMethod = function () {\r\n      return 'Hello from my plugin!';\r\n    };\r\n  }\r\n}\r\n\r\n// Use it\r\nconst plugin = new MyCustomPlugin();\r\nPluginManager.use(plugin, TimeGuard);\r\n\r\n// Now available\r\nconst date = TimeGuard.now();\r\ndate.myMethod(); // \"Hello from my plugin!\"\r\n```\r\n\r\n**📖 Full Plugin Details:** See [PLUGINS.md](PLUGINS.md) for extended documentation.\r\n\r\n---\r\n\r\n## 🎯 Referencia API\r\n<a id=\"referencia-api\"></a>\r\n\r\n### Factory Methods\r\n\r\n```typescript\r\n// Create current date/time\r\nTimeGuard.now();\r\nTimeGuard.now({ locale: 'es', timezone: 'America/Mexico_City' });\r\n\r\n// Create from various inputs\r\nTimeGuard.from('2024-03-13');\r\nTimeGuard.from('2024-03-13T14:30:00');\r\nTimeGuard.from(new Date());\r\nTimeGuard.from(1234567890000); // milliseconds\r\nTimeGuard.from(1234567890, { timezone: 'UTC' }); // seconds\r\nTimeGuard.from('2024-03-13', { locale: 'es' });\r\n\r\n// Create from Temporal object\r\nTimeGuard.fromTemporal(temporalPlainDateTime, config);\r\n```\r\n\r\n### 🔄 Conversion Methods\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:30:45');\r\n\r\ndate.toDate(); // Convert to JavaScript Date\r\ndate.toTemporal(); // Get underlying Temporal object\r\ndate.toISOString(); // ISO 8601: \"2024-03-13T14:30:45Z\"\r\ndate.toJSON(); // JSON serialization (ISO string)\r\ndate.toString(); // Human readable: \"2024-03-13 14:30:45\"\r\n\r\ndate.valueOf(); // Milliseconds since epoch\r\ndate.unix(); // Seconds since epoch\r\n```\r\n\r\n### ➕ Manipulation Methods\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:30:00');\r\n\r\n// Add time - accepts partial record of units\r\ndate.add({ days: 5 });\r\ndate.add({ months: 1, days: 5 });\r\ndate.add({ years: 1, hours: 2, minutes: 30 });\r\n\r\n// Subtract time - same syntax as add\r\ndate.subtract({ days: 5 });\r\ndate.subtract({ months: 1 });\r\n\r\n// Set specific component(s)\r\ndate.set({ day: 15 }); // Keep other components\r\ndate.set({ hour: 10, minute: 0 });\r\ndate.set({ year: 2025, month: 1, day: 1 });\r\n\r\n// Start/End of period\r\ndate.startOf('year'); // 2024-01-01 00:00:00\r\ndate.startOf('month'); // 2024-03-01 00:00:00\r\ndate.startOf('day'); // 2024-03-13 00:00:00\r\ndate.startOf('hour'); // 2024-03-13 14:00:00\r\ndate.endOf('year'); // 2024-12-31 23:59:59\r\ndate.endOf('month'); // 2024-03-31 23:59:59\r\n\r\ndate.clone(); // Create independent copy\r\n```\r\n\r\n### 🔍 Component Accessors (Getters)\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:30:45.123');\r\n\r\n// Date components\r\ndate.year(); // 2024\r\ndate.month(); // 3 (January = 1, December = 12)\r\ndate.day(); // 13\r\ndate.quarter(); // 1 (Q1, Q2, Q3, or Q4)\r\n\r\n// Time components\r\ndate.hour(); // 14\r\ndate.minute(); // 30\r\ndate.second(); // 45\r\ndate.millisecond(); // 123\r\n\r\n// Week/Day information\r\ndate.dayOfWeek(); // 3 (1=Sunday, 7=Saturday)\r\ndate.dayOfYear(); // 73\r\ndate.weekOfYear(); // 11\r\n\r\n// Month/Year information\r\ndate.daysInMonth(); // 31\r\ndate.daysInYear(); // 366 (leap year)\r\ndate.inLeapYear(); // true\r\n```\r\n\r\n### ⚖️ Comparison Methods\r\n\r\n```typescript\r\nconst date1 = TimeGuard.from('2024-03-13');\r\nconst date2 = TimeGuard.from('2024-03-20');\r\n\r\n// Direct comparison\r\ndate1.isBefore(date2); // true\r\ndate1.isAfter(date2); // false\r\ndate1.isSame(date1); // true\r\n\r\n// Unit-specific comparison\r\ndate1.isSame(date2, 'month'); // true (same month)\r\ndate1.isSame(date2, 'year'); // true (same year)\r\ndate1.isSame(date2, 'day'); // false (different day)\r\n\r\n// Range checking\r\ndate1.isBetween(date1, date2); // true\r\ndate1.isBetween(date1, date2, undefined, '[]'); // inclusive both ends\r\ndate1.isBetween(date1, date2, undefined, '()'); // exclusive both ends\r\ndate1.isBetween(date1, date2, 'month', '[]'); // granular range\r\n\r\n// Calculate difference - Traditional API (backward compatible)\r\ndate1.diff(date2, 'days'); // -7\r\ndate1.diff(date2, 'millisecond'); // difference in ms\r\ndate1.diff(date2, 'months'); // -0\r\n\r\n// Calculate difference - Modern Calendar-Aware API\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-03-20');\r\n\r\n// Exact mode (default) - precise time difference\r\nconst exactDiff = start.diff(end, { mode: 'exact' });\r\nconsole.log(exactDiff.as('day')); // 65 days\r\n\r\n// Calendar mode - human-readable breakdown\r\nconst calendarDiff = start.diff(end, { mode: 'calendar' });\r\nconsole.log(calendarDiff.format('en')); // \"2 months and 5 days\"\r\nconsole.log(calendarDiff.format('es')); // \"2 meses y 5 días\"\r\nconsole.log(calendarDiff.breakdown()); // { years: 0, months: 2, weeks: 0, days: 5, ... }\r\n\r\n// Fluent API for unit conversion\r\nconst diff = start.diff(end);\r\nconsole.log(diff.as('day')); // 65\r\nconsole.log(diff.as('hour')); // 1560\r\nconsole.log(diff.valueOf()); // milliseconds\r\n```\r\n\r\n### 📊 Advanced Calculations\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-01-15');\r\nconst future = TimeGuard.from('2024-05-20');\r\n\r\n// Duration: Get complete breakdown\r\nconst duration = date.until(future);\r\n// { years: 0, months: 4, days: 5, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }\r\n\r\n// Rounding: Precision control\r\ndate.round({ smallestUnit: 'millisecond' }); // Default, no change\r\ndate.round({ smallestUnit: 'second' }); // Removes milliseconds\r\ndate.round({ smallestUnit: 'minute' }); // 2024-03-13 14:30:00\r\ndate.round({ smallestUnit: 'hour' }); // 2024-03-13 14:00:00\r\ndate.round({ smallestUnit: 'day' }); // 2024-03-13 00:00:00\r\n\r\n// Rounding modes\r\ndate.round({\r\n  smallestUnit: 'minute',\r\n  roundingMode: 'halfExpand', // Default: round to nearest\r\n});\r\n\r\ndate.round({\r\n  smallestUnit: 'minute',\r\n  roundingMode: 'ceil', // Always round up\r\n});\r\n```\r\n\r\n### 🌍 Locale & Timezone\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:30:00');\r\n\r\n// Get/Set locale\r\ndate.locale(); // Returns current locale: 'en'\r\ndate.locale('es'); // Set locale, returns new instance\r\n\r\n// Format in different locales\r\ndate.format('YYYY-MM-DD'); // 2024-03-13\r\ndate.locale('es').format('DD MMMM YYYY'); // 13 marzo 2024\r\ndate.locale('es-mx').format('DD/MM/YYYY'); // 13/03/2024\r\ndate.locale('fr').format('dddd, DD MMMM YYYY'); // mercredi, 13 mars 2024\r\ndate.locale('de').format('DD. MMMM YYYY'); // 13. März 2024\r\ndate.locale('ja').format('YYYY年M月D日'); // 2024年3月13日\r\ndate.locale('zh-cn').format('YYYY年M月D日'); // 2024年3月13日\r\ndate.locale('ar').format('DD MMMM YYYY'); // 13 مارس 2024\r\n\r\n// Get/Set timezone\r\ndate.timezone(); // Returns current timezone: 'UTC'\r\nconst inNYC = date.timezone('America/New_York');\r\nconst inTokyo = date.timezone('Asia/Tokyo');\r\nconst inDubai = date.timezone('Asia/Dubai');\r\n\r\n// Format with timezone info\r\ninNYC.format('YYYY-MM-DD HH:mm:ss Z'); // 2024-03-13 10:30:00 -04:00\r\ninTokyo.format('YYYY-MM-DD HH:mm:ss Z'); // 2024-03-13 23:30:00 +09:00\r\n\r\n// Get all available locales\r\nimport { getAvailableLocales } from \"@bereasoftware/time-guard\";\r\ngetAvailableLocales(); // Array of 40+ locale codes\r\n```\r\n\r\n### 🎨 Format Patterns\r\n\r\n#### Format Presets\r\n\r\n```typescript\r\nconst date = TimeGuard.from('2024-03-13 14:30:45.123');\r\n\r\n// Built-in presets\r\ndate.format('iso'); // 2024-03-13T14:30:45.123Z\r\ndate.format('date'); // 2024-03-13\r\ndate.format('time'); // 14:30:45\r\ndate.format('datetime'); // 2024-03-13 14:30:45\r\ndate.format('rfc2822'); // Wed, 13 Mar 2024 14:30:45 +0000\r\ndate.format('rfc3339'); // 2024-03-13T14:30:45Z\r\ndate.format('utc'); // 2024-03-13T14:30:45.123Z\r\n```\r\n\r\n#### Format Tokens\r\n\r\n```typescript\r\n// Year\r\n'YYYY'                          // 2024 (4-digit)\r\n'YY'                            // 24 (2-digit)\r\n\r\n// Month\r\n'MMMM'                          // March\r\n'MMM'                           // Mar\r\n'MM'                            // 03 (zero-padded)\r\n'M'                             // 3 (no padding)\r\n\r\n// Day\r\n'DDDD' or 'DDD'                 // Monday (full day name)\r\n'ddd'                           // Mon (abbreviated)\r\n'DD'                            // 13 (zero-padded)\r\n'D'                             // 13 (no padding)\r\n\r\n// Hours, minutes, seconds\r\n'HH'                            // 14 (24-hour, zero-padded)\r\n'H'                             // 14\r\n'hh'                            // 02 (12-hour, zero-padded)\r\n'h'                             // 2\r\n'mm'                            // 30\r\n'm'                             // 30\r\n'ss'                            // 45\r\n's'                             // 45\r\n'A'                             // AM or PM\r\n'a'                             // am or pm\r\n\r\n// Milliseconds & Week\r\n'SSS'                           // 123 (milliseconds)\r\n'SS'                            // 12\r\n'S'                             // 1\r\n'ww'                            // 11 (week with padding)\r\n'w'                             // 11 (week no padding)\r\n\r\n// Escaped text\r\n'[text]'                        // Protects text: [UTC]\r\n'\"text\"'                        // Alternative protection: \"o'clock\"\r\n```\r\n\r\n#### Custom Format Examples\r\n\r\n```typescript\r\ndate.format('YYYY-MM-DD'); // 2024-03-13\r\ndate.format('DD/MM/YYYY'); // 13/03/2024\r\ndate.format('MMMM D, YYYY'); // March 13, 2024\r\ndate.format('dddd, MMMM D, YYYY'); // Wednesday, March 13, 2024\r\ndate.format('DD-MMMM-YY'); // 13-Mar-24\r\ndate.format('h:mm A'); // 2:30 PM\r\ndate.format('HH:mm:ss'); // 14:30:45\r\ndate.format('[Today is] dddd'); // Today is Wednesday\r\ndate.format('HH:mm [UTC]'); // 14:30 UTC\r\ndate.format('DD/MM/YYYY \"at\" HH:mm'); // 13/03/2024 at 14:30\r\n```\r\n\r\n**📖 Complete Format Guide:** See [EXAMPLES.md](EXAMPLES.md) for more patterns and use cases.\r\n\r\n### ⏱️ Calendar-Aware Difference Calculations\r\n\r\nOne of TimeGuard's most powerful features is its **calendar-aware diff mode**, which solves a fundamental problem with date libraries: months and years have variable lengths.\r\n\r\n#### Understanding Two Approaches\r\n\r\n```typescript\r\n// Problem: How much time between Jan 15 and Mar 20?\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-03-20');\r\n\r\n// ❌ Naive approach: Just count days\r\n// Result: \"65 days\" (technically correct but not user-friendly)\r\n\r\n// ✅ Calendar-aware approach: Break into meaningful units\r\n// Result: \"2 months and 5 days\" (how humans think about time)\r\n```\r\n\r\n#### API Modes\r\n\r\n```typescript\r\nconst start = TimeGuard.from('2024-01-15');\r\nconst end = TimeGuard.from('2024-03-20');\r\n\r\n// ==== EXACT MODE (default) ====\r\n// Precise time difference in specified unit\r\nconst exactDiff = start.diff(end, { mode: 'exact' });\r\n\r\n// Returns normalized difference\r\nexactDiff.as('day'); // 65 days\r\nexactDiff.as('hour'); // 1560 hours\r\nexactDiff.as('week'); // 9 weeks\r\nexactDiff.valueOf(); // milliseconds\r\n\r\n// ==== CALENDAR MODE ====\r\n// Human-readable breakdown with automatic localization\r\nconst calendarDiff = start.diff(end, { mode: 'calendar' });\r\n\r\n// Get structured breakdown\r\ncalendarDiff.breakdown();\r\n// {\r\n//   years: 0,\r\n//   months: 2,\r\n//   weeks: 0,\r\n//   days: 5,\r\n//   hours: 0,\r\n//   minutes: 0,\r\n//   seconds: 0,\r\n//   milliseconds: 0\r\n// }\r\n\r\n// Format in any locale\r\ncalendarDiff.format('en'); // \"2 months and 5 days\"\r\ncalendarDiff.format('es'); // \"2 meses y 5 días\"\r\ncalendarDiff.format('fr'); // \"2 mois et 5 jours\"\r\ncalendarDiff.format('de'); // \"2 Monate und 5 Tage\"\r\n```\r\n\r\n#### Backward Compatibility\r\n\r\n```typescript\r\n// Traditional API still works perfectly\r\nconst tg1 = TimeGuard.from('2024-01-15');\r\nconst tg2 = TimeGuard.from('2024-03-20');\r\n\r\ntg1.diff(tg2, 'day'); // 65 (returns number)\r\ntg1.diff(tg2, 'month'); // 2\r\ntg1.diff(tg2, 'millisecond'); // raw milliseconds\r\n```\r\n\r\n#### Advanced Usage\r\n\r\n```typescript\r\nconst start = TimeGuard.from('2024-01-15 10:30:00');\r\nconst end = TimeGuard.from('2024-03-20 15:45:00');\r\n\r\n// Fluent API for unit conversion\r\nconst diff = start.diff(end);\r\ndiff.as('day'); // Get as days\r\ndiff.as('hour'); // Get as hours\r\ndiff.as('minute'); // Get as minutes\r\ndiff.valueOf(); // Implicit number conversion (milliseconds)\r\n\r\n// Locale-specific formatting\r\nconst spanishDiff = start.diff(end, {\r\n  mode: 'calendar',\r\n  locale: 'es',\r\n});\r\nconsole.log(spanishDiff.format()); // Uses Spanish locale\r\n\r\n// Query the mode used\r\ndiff.getMode(); // \"exact\"\r\ncalendarDiff.getMode(); // \"calendar\"\r\n\r\n// String representation\r\nspanishDiff.toString(); // \"2 meses y 5 días\" (nice for display)\r\nexactDiff.toString(); // \"432000000\" (milliseconds)\r\n```\r\n\r\n**💡 Key Insight:** Calendar mode handles month/year variations automatically using Temporal API's built-in month normalization, ensuring accurate results across different month lengths and leap years.\r\n\r\n---\r\n\r\n## 🔌 Integración con Frameworks\r\n<a id=\"integración-con-frameworks\"></a><a id=\"integracion-con-frameworks\"></a>\r\n\r\nTimeGuard incluye integraciones nativas y optimizadas de alto rendimiento para **React**, **Vue** y **Angular** a través de subrutas específicas. Estas integraciones están diseñadas bajo los principios SOLID, con mitigación de fugas de memoria y optimizaciones de ciclo de renderizado.\r\n\r\n### 📦 Instalación de Dependencias Opcionales\r\n\r\nDado que las integraciones con frameworks son opcionales, debes asegurarte de tener instaladas las dependencias del framework correspondiente en tu proyecto.\r\n\r\n```bash\r\n# Para React\r\nnpm install react react-dom\r\n\r\n# Para Vue\r\nnpm install vue\r\n\r\n# Para Angular\r\nnpm install @angular/core rxjs\r\n```\r\n\r\n---\r\n\r\n### ⚛️ React (`@bereasoftware/time-guard/react`)\r\n\r\nLa integración con React proporciona un sistema de contexto global para la configuración y hooks reactivos de alta fidelidad.\r\n\r\n#### 1. Contexto Global: `TimeGuardProvider`\r\nPermite propagar una configuración predeterminada (como el idioma o zona horaria) a todos los hooks dentro del árbol de componentes.\r\n\r\n```tsx\r\nimport React from 'react';\r\nimport { TimeGuardProvider } from '@bereasoftware/time-guard/react';\r\n\r\nexport function App() {\r\n  return (\r\n    <TimeGuardProvider config={{ locale: 'es', timezone: 'America/Mexico_City' }}>\r\n      <MyComponent />\r\n    </TimeGuardProvider>\r\n  );\r\n}\r\n```\r\n\r\n#### 2. Hooks Reactivos\r\n\r\n*   **`useTimeGuard(input, config?)`**:\r\n    Crea una instancia reactiva de `TimeGuard` que se actualiza automáticamente cuando el valor de entrada o la configuración cambian. Hereda la configuración del contexto de forma transparente.\r\n    ```tsx\r\n    import { useTimeGuard } from '@bereasoftware/time-guard/react';\r\n\r\n    function DateDisplay({ dateString }) {\r\n      const tg = useTimeGuard(dateString);\r\n      return <p>Fecha: {tg.format('LL')}</p>;\r\n    }\r\n    ```\r\n\r\n*   **`useCurrentTime(options?)`**:\r\n    Retorna una instancia reactiva del tiempo actual que se actualiza automáticamente según el intervalo indicado (por defecto `1000ms`).\r\n    ```tsx\r\n    import { useCurrentTime } from '@bereasoftware/time-guard/react';\r\n\r\n    function LiveClock() {\r\n      const now = useCurrentTime({ interval: 1000 });\r\n      return <h2>Hora actual: {now.format('HH:mm:ss')}</h2>;\r\n    }\r\n    ```\r\n\r\n*   **`useRelativeTime(date, options?)`**:\r\n    Retorna un string dinámico de tiempo relativo (ej. *\"hace 5 minutos\"*) que se recalcula de forma periódica e inalterable en intervalos regulares (por defecto cada `60000ms`).\r\n    ```tsx\r\n    import { useRelativeTime } from '@bereasoftware/time-guard/react';\r\n\r\n    function CommentTime({ createdAt }) {\r\n      const relative = useRelativeTime(createdAt, { interval: 30000 }); // actualiza cada 30s\r\n      return <span>Publicado {relative}</span>;\r\n    }\r\n    ```\r\n\r\n*   **`useTimeRange(start, end, config?)`**:\r\n    Crea y gestiona una instancia reactiva de `TimeRange` que responde a cambios en los límites de inicio y fin.\r\n    ```tsx\r\n    import { useTimeRange } from '@bereasoftware/time-guard/react';\r\n\r\n    function EventRange({ start, end }) {\r\n      const range = useTimeRange(start, end);\r\n      return (\r\n        <div>\r\n          <p>Duración total: {range.duration().humanize()}</p>\r\n          <p>¿Está ocurriendo ahora?: {range.contains('now') ? 'Sí' : 'No'}</p>\r\n        </div>\r\n      );\r\n    }\r\n    ```\r\n\r\n---\r\n\r\n### 🟢 Vue (`@bereasoftware/time-guard/vue`)\r\n\r\nLa integración con Vue 3 ofrece compatibilidad completa con la Composition API, un Plugin global y una directiva personalizada reactiva altamente configurable.\r\n\r\n#### 1. Registro del Plugin: `TimeGuardVuePlugin`\r\nRegistra la directiva `v-time-guard` de forma global y provee la configuración por defecto mediante `provide`/`inject`.\r\n\r\n```typescript\r\nimport { createApp } from 'vue';\r\nimport { TimeGuardVuePlugin } from '@bereasoftware/time-guard/vue';\r\nimport App from './App.vue';\r\n\r\nconst app = createApp(App);\r\n\r\n// Registrar plugin con opciones por defecto\r\napp.use(TimeGuardVuePlugin, {\r\n  locale: 'es',\r\n});\r\n\r\napp.mount('#app');\r\n```\r\n\r\n#### 2. Directiva Reactiva Dinámica: `v-time-guard`\r\nPermite formatear y mostrar fechas reactivamente de forma declarativa directamente en las plantillas. Soporta intervalos de actualización automática para evitar fugas de memoria al desmontar el elemento.\r\n\r\n```html\r\n<!-- Formateo estándar -->\r\n<span v-time-guard:format=\"fecha\" data-pattern=\"DD MMMM YYYY\"></span>\r\n\r\n<!-- Tiempo relativo automático (actualiza cada minuto por defecto) -->\r\n<span v-time-guard:relative=\"fecha\"></span>\r\n\r\n<!-- Reloj en tiempo real (actualización cada segundo) -->\r\n<span v-time-guard:format=\"'now'\" data-pattern=\"HH:mm:ss\" data-live=\"true\" data-interval=\"1000\"></span>\r\n```\r\n\r\n#### 3. Composables de la Composition API\r\n*   **`useTimeGuard(input, config?)`**: Retorna una `Ref<TimeGuard>` reactiva.\r\n*   **`useCurrentTime(options?)`**: Retorna una `Ref<TimeGuard>` del tiempo actual con limpieza automática del intervalo en `onUnmounted`.\r\n*   **`useRelativeTime(date, options?)`**: Retorna una `Ref<string>` con el tiempo relativo actualizado periódicamente con watch profundo incorporado.\r\n\r\n```html\r\n<script setup>\r\nimport { useCurrentTime, useRelativeTime } from '@bereasoftware/time-guard/vue';\r\n\r\nconst now = useCurrentTime({ interval: 1000 });\r\nconst relative = useRelativeTime('2026-05-20T08:00:00');\r\n</script>\r\n\r\n<template>\r\n  <div>\r\n    <p>Hora actual: {{ now.format('HH:mm:ss') }}</p>\r\n    <p>Publicado hace: {{ relative }}</p>\r\n  </div>\r\n</template>\r\n```\r\n\r\n---\r\n\r\n### 🅰️ Angular (`@bereasoftware/time-guard/angular`)\r\n\r\nLa integración con Angular está optimizada para la detección de cambios (`ChangeDetectionStrategy.OnPush`), utilizando servicios inyectables y pipes puros/impuros que ejecutan temporizadores fuera de la zona de Angular (`NgZone.runOutsideAngular`) para maximizar el rendimiento.\r\n\r\n#### 1. Configuración Global: `TIME_GUARD_CONFIG`\r\nRegistra la configuración en el módulo o a nivel de root mediante Dependency Injection (DI).\r\n\r\n```typescript\r\nimport { NgModule } from '@angular/core';\r\nimport { TIME_GUARD_CONFIG } from '@bereasoftware/time-guard/angular';\r\n\r\n@NgModule({\r\n  providers: [\r\n    {\r\n      provide: TIME_GUARD_CONFIG,\r\n      useValue: { locale: 'es' }\r\n    }\r\n  ]\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\n#### 2. Pipes Disponibles\r\n\r\n*   **`TimeGuardFormatPipe` (`timeGuardFormat`)**:\r\n    Pipe puro diseñado para formatear valores de fecha/hora de forma ultra-rápida sin sobrecargar la detección de cambios.\r\n    ```html\r\n    <p>{{ createdDate | timeGuardFormat:'DD/MM/YYYY' }}</p>\r\n    ```\r\n\r\n*   **`TimeGuardRelativePipe` (`timeGuardRelative`)**:\r\n    Pipe impuro para mostrar la representación humanizada relativa de una fecha.\r\n    ```html\r\n    <p>Publicado {{ createdDate | timeGuardRelative }}</p>\r\n    ```\r\n\r\n*   **`TimeGuardLiveFormatPipe` (`timeGuardLiveFormat`)**:\r\n    Pipe impuro de alto rendimiento optimizado con `ChangeDetectorRef` para crear relojes o actualizaciones dinámicas en tiempo real en plantillas sin redibujar todo el árbol.\r\n    ```html\r\n    <!-- Reloj digital en vivo actualizándose cada segundo -->\r\n    <h2>Hora actual: {{ 'now' | timeGuardLiveFormat:'HH:mm:ss':1000 }}</h2>\r\n\r\n    <!-- Fecha estática actualizando su formato dinámicamente -->\r\n    <p>Actualizado: {{ updateDate | timeGuardLiveFormat:'YYYY-MM-DD HH:mm:ss':5000 }}</p>\r\n    ```\r\n\r\n#### 3. Servicio Reactivo: `TimeGuardService`\r\nProvee acceso inyectable a flujos reactivos basados en **RxJS**.\r\nEl método `getCurrentTime()` emite el tiempo actual en base a un intervalo. Internamente corre **fuera de la zona de Angular** (`runOutsideAngular`) y solo reingresa a la zona (`NgZone.run`) para emitir valores, lo que evita disparar ciclos de renderizado y disminuye drásticamente el consumo de CPU en aplicaciones SPA de gran escala.\r\n\r\n```typescript\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { TimeGuardService } from '@bereasoftware/time-guard/angular';\r\nimport { Observable } from 'rxjs';\r\nimport { TimeGuard } from '@bereasoftware/time-guard';\r\n\r\n@Component({\r\n  selector: 'app-clock',\r\n  template: `\r\n    <div *ngIf=\"time$ | async as time\">\r\n      Hora: {{ time.format('HH:mm:ss') }}\r\n    </div>\r\n  `\r\n})\r\nexport class ClockComponent implements OnInit {\r\n  time$!: Observable<TimeGuard>;\r\n\r\n  constructor(private timeGuardService: TimeGuardService) {}\r\n\r\n  ngOnInit() {\r\n    this.time$ = this.timeGuardService.getCurrentTime(1000);\r\n  }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 🧪 Testing\r\n<a id=\"testing\"></a>\r\n\r\nTimeGuard includes **530+ comprehensive tests** covering:\r\n\r\n- ✅ Core functionality (creation, manipulation, querying)\r\n- ✅ Advanced features (timezones, locales, formatting)\r\n- ✅ Edge cases (leap years, month boundaries, DST)\r\n- ✅ SOLID principle validation\r\n- ✅ Type safety verification\r\n\r\n### Run Tests\r\n\r\n```bash\r\n# Run all tests\r\nnpm test\r\n\r\n# Run with coverage\r\nnpm test -- --coverage\r\n\r\n# Run specific test file\r\nnpm test -- locales.test.ts\r\n\r\n# Watch mode\r\nnpm test -- --watch\r\n```\r\n\r\n### Test Coverage\r\n\r\n```\r\nCore functionality:        65+ tests\r\nAdvanced features:        50+ tests\r\nLocale support:          100+ tests\r\nIntegration scenarios:   250+ tests\r\nEdge cases:              65+ tests\r\n```\r\n\r\n---\r\n\r\n## 🏛️ Arquitectura\r\n<a id=\"arquitectura\"></a>\r\n\r\nTimeGuard is built on **SOLID principles** ensuring clean, maintainable, and extensible code:\r\n\r\n### Key Principles\r\n\r\n- **Single Responsibility** - Each class has one reason to change\r\n- **Open/Closed** - Open for extension, closed for modification\r\n- **Liskov Substitution** - Proper interface contracts\r\n- **Interface Segregation** - Minimal, focused interfaces\r\n- **Dependency Inversion** - Depend on abstractions, not concretions\r\n\r\n### Design Patterns\r\n\r\n- **Factory Pattern** - Date creation and parsing\r\n- **Adapter Pattern** - Temporal API abstraction\r\n- **Strategy Pattern** - Multiple formatting strategies\r\n- **Singleton Pattern** - Locale manager\r\n- **Facade Pattern** - Simple public API\r\n- **Immutable Pattern** - Safe data handling\r\n\r\n**📖 Deep Dive:** See [ARCHITECTURE.md](ARCHITECTURE.md) for detailed architecture explanation.\r\n\r\n---\r\n\r\n## 🔧 Development\r\n\r\n### Build\r\n\r\n```bash\r\n# Build for production\r\nnpm run build\r\n\r\n# Watch mode for development\r\nnpm run dev\r\n```\r\n\r\n### Estructura del Proyecto\r\n\r\n```\r\ntime-guard/\r\n├── src/\r\n│   ├── core.ts                  # Core ligero (~9.5KB gzip, EN/ES)\r\n│   ├── index.ts                 # Entry por defecto (core + polyfill Temporal auto-cargado)\r\n│   ├── native.ts                # Entry nativo (asume `globalThis.Temporal` ya existe)\r\n│   ├── adapters/\r\n│   │   └── temporal.adapter.ts  # Wrapper del API Temporal\r\n│   ├── calendars/               # 6 sistemas de calendario\r\n│   ├── formatters/\r\n│   │   └── date.formatter.ts    # Estrategias de formateo\r\n│   ├── locales/                 # 40+ archivos de locale\r\n│   ├── plugins/                 # 3 plugins (relative-time, duration, advanced-format)\r\n│   └── types/                   # Definiciones de tipos\r\n├── test/\r\n│   ├── time-guard.test.ts       # Pruebas core\r\n│   ├── advanced.test.ts         # Pruebas avanzadas\r\n│   ├── comprehensive.test.ts    # Pruebas de integración\r\n│   ├── locales.test.ts          # Pruebas de locales\r\n│   ├── plugins.test.ts          # Pruebas de plugins\r\n│   └── bundle-size.test.ts      # Validación de tamaño de bundle\r\n└── vite.config.ts               # Config unificada (3 modos de build)\r\n```\r\n\r\n---\r\n\r\n## 🤝 Contribuir\r\n<a id=\"contribuir\"></a>\r\n\r\n¡Bienvenidas las contribuciones! Por favor:\r\n\r\n1. Sigue los principios SOLID y patrones de código existentes\r\n2. Escribe pruebas para nuevas funcionalidades\r\n3. Actualiza la documentación\r\n4. Asegúrate de que todas las pruebas pasen (`npm test`)\r\n5. Verifica que los tipos pasen (`npx tsc --noEmit`)\r\n\r\n---\r\n\r\n## 📄 Licencia\r\n<a id=\"licencia\"></a>\r\n\r\nLicencia MIT © 2024 Berea-Soft\r\n\r\nVer archivo [LICENSE](LICENSE) para detalles.\r\n\r\n---\r\n\r\n## 🔗 Enlaces Rápidos\r\n\r\n- 📖 [Referencia API Completa](EXAMPLES.md)\r\n- 🏛️ [Guía de Arquitectura](ARCHITECTURE.md)\r\n- 🌍 [Guía de Localización](LOCALES.md)\r\n- 🐛 [Rast","readmeFilename":"README.md"}