{"_id":"@duude92/lazyinject","_rev":"17-a6714b58be760ec22d4e9f240b6e1ea3","name":"@duude92/lazyinject","dist-tags":{"latest":"0.2.14"},"versions":{"0.0.1":{"name":"@duude92/lazyinject","version":"0.0.1","_id":"@duude92/lazyinject@0.0.1","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"dist":{"shasum":"318106f8015326d6070b6b88251e5573b2ce9c24","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.0.1.tgz","fileCount":60,"integrity":"sha512-JVYJJ52r9YHanUJBCdCFYG+5hlCG0bMlTrFG72PkgPrUGEYdNyrvu0BCx9tuKCINxOesAKW+sUbD3yNp63RTmg==","signatures":[{"sig":"MEYCIQDH30HoHp25AnoOx7N33ckh398WOQiKpXX4BVKX2lzYZwIhAOJ8Hb6cWoGo8h/H0Ic25nmJW2g+04Qw1FBjLDTrjUSd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51992},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d71e1885bdea292a40e654c894c038e697ce3426","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"_npmVersion":"11.4.1","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.0.1_1752313537426_0.5728179493378251","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@duude92/lazyinject","version":"0.0.2","_id":"@duude92/lazyinject@0.0.2","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"72c0144dc7d1376cce676c71a27c348bcde38272","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.0.2.tgz","fileCount":60,"integrity":"sha512-/mDd00hf0ztqfd6Wk3jXfzBNoOeFAIKK8/IJN0TD7UeHsR9yx+mtzyCgCpoC8ZwxojWC31gAzqPmM4lMrw3opQ==","signatures":[{"sig":"MEQCIGpQy/WJU3mheIr4GkU3nRRCEfBFmhs2HnK/YPyjAhWsAiAxmiG1fIVHjlxB2Wuwa9p1gvcJetIkToRSrDGdHMDp+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52089},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d71e1885bdea292a40e654c894c038e697ce3426","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"11.4.1","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.0.2_1752314014151_0.5810236475048773","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@duude92/lazyinject","version":"0.0.3","license":"MIT","_id":"@duude92/lazyinject@0.0.3","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"34ff16db43ddf0a2f3df6462f30e655b5c71f1fd","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.0.3.tgz","fileCount":58,"integrity":"sha512-jyBijjzQKKrN3WGSwWDxGe6+mFa8vD0ey4kqBu8uHtXnW7PFmHv9CiNjKVV9wlrNQINgdAoKWCqBDDKyi7GX5w==","signatures":[{"sig":"MEQCIGou0WRFKGwTfVB+wcw0a/Zipwk79dPJv1ENNiH6BB7WAiB5hCLd2kTgiZPDzretrDm3LF/bFKjjA7IoelWTh/zn3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68833},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"e3a9ecbcd215314e666160623024907795d0ad82","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"11.4.1","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.0.3_1752316194305_0.6210911092552158","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@duude92/lazyinject","version":"0.1.4","license":"MIT","_id":"@duude92/lazyinject@0.1.4","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"ae4fa9c51c13a6366c51fe6a51c973ecd7ccc155","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.4.tgz","fileCount":64,"integrity":"sha512-hklcjlrakIcIVTP6CnwGz8XBAFecKFo2eu4ocB5CQY+CVOgelOKrnoWm45k3Vb2+59fdP40IcoMFwJM29mCpjg==","signatures":[{"sig":"MEYCIQCwpYMvaRV+PTEBJE1SLuwUQV9kfaoBoknl3jIljFWM5wIhAKWg/+HtUd0oo6C3Qz76qFSfcYokVo/yTVfvCSkbBf4x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71906},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"dd28f2b52b2dba2704e4d3ce0dbf43195d68856a","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"11.4.1","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.4_1752654059684_0.7847460007761073","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@duude92/lazyinject","version":"0.1.5","license":"MIT","_id":"@duude92/lazyinject@0.1.5","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"a9d68d197b34841297f7951d5a540b003902cbd5","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.5.tgz","fileCount":64,"integrity":"sha512-p3MnV8qiA5VqgQ8LvNDP23Y/hIK0HvPF6axeHqDhLDkr6DBDwYUmO5XYFBCemQcOq3GxAUeQbJ19dAvNkmGSBg==","signatures":[{"sig":"MEUCIEucE35ZK/y7wCTSq3RhkGqOu1U0Stw0GKG1zF1XlYN1AiEA9mI5Px1C0XAKLf5BAIKTRF4u++VLZvuq6lUlwjjZMd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71906},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"dd28f2b52b2dba2704e4d3ce0dbf43195d68856a","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"11.4.1","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.5_1752655104728_0.42857633379594007","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@duude92/lazyinject","version":"0.1.7","license":"MIT","_id":"@duude92/lazyinject@0.1.7","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"5034291def83fa80761261611df313f2a8406e10","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.7.tgz","fileCount":51,"integrity":"sha512-RqtC3PaJzea9rQWj0lS+5j/LO7JQ25TlXs2g9xMwdfWYtW6E9tLIuh6LEfWo4ck9bLm2Y2trZ9Mqy04xDqq/qw==","signatures":[{"sig":"MEUCIBEm0JT+O2TqESjHT3fR42e9f/oTpX3W3vBTYH8Dt0i1AiEAqzHjwR4PqQvYGLfDt8Mb/coiUGDxuOXGGzjYasi2chQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42991},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"13d08b44517f2d7bea33855671a0260d9f9560c9","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"20.19.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.7_1752743609079_0.5943360936478221","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@duude92/lazyinject","version":"0.1.8","license":"MIT","_id":"@duude92/lazyinject@0.1.8","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"f5b79866bd78b46285708252d8d9c76012bcc623","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.8.tgz","fileCount":37,"integrity":"sha512-gbe7DnvvFZvxYlXcsFK2BFl8G8fCR6sRc0zUrI4IOvkA20+PuENilw7Lwn+Sp420NGXMQxVExZyXlrG5w/+9eg==","signatures":[{"sig":"MEUCIQDEjht5A/4aPu09caKyXebzF1elBRvupm4fQGxS5HLDNgIgaFXGUWfQQDwZ65BFSwAOY84QJ3iCX3PME7xLVknOL/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39079},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"77a4f19805368ec1ecc1ff309ca14b5776063897","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"20.19.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.8_1752842028385_0.13631770672641874","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@duude92/lazyinject","version":"0.1.9","license":"MIT","_id":"@duude92/lazyinject@0.1.9","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"f59739b303b17c39d57930d752be97194a300ed9","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.9.tgz","fileCount":37,"integrity":"sha512-8j0uMfAtokEzkm72cizcJiXCBMUWMx1cAPsEoIt3/UiEgWuWtbwDTJS9PM7wig5NzHSQOBiqVOU2TFK2JwDrBg==","signatures":[{"sig":"MEUCIBwlaZhDsh1h4/k4EMJcCpnbKm5tu5TdoU43N8LAiQXbAiEAyxHEC3r4zQpF7zdon6sumJu5AYpm5MNHJEXYyluQO4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38920},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d92f28350c509bd6c38ab40a5e3b764f2e5bf40d","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"20.19.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.9_1752911785315_0.6491724864657327","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@duude92/lazyinject","version":"0.1.10","license":"MIT","_id":"@duude92/lazyinject@0.1.10","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"4da763f5ab20df5179669ee893b35d9af8f31792","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.10.tgz","fileCount":37,"integrity":"sha512-CoJOXE1UGpvRq8yUkkxRpnyANP2jtJMt9TfcqorBvqrguV8Wotq9eEcTkYk4fXod9Dl+nJuc943pn6JwmCoIUA==","signatures":[{"sig":"MEQCIGfJPtv1iCoV22h0nrxDP35AC+TJKmJDMvwyNYoN6qDQAiBVi3fmCwT+48nwj4zpmFE3sGUICRQNFxu+hoM23iomcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38997},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"14505e14d90b3ceb47cb09018b4bb3e2818da042","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.10_1765313009122_0.04797034241479503","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@duude92/lazyinject","version":"0.1.11","license":"MIT","_id":"@duude92/lazyinject@0.1.11","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"ba2d4c9fb9a8c04a2051b8f0add020a4263a2230","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.11.tgz","fileCount":37,"integrity":"sha512-DI0TQQaVQqzWCI/jbIMa65boFQt/J7b/MkFQ5h6Ub/0kLEQEcs3xQ7rJkQFLlOly1GqBAjU6+xKdjFdBWULcHg==","signatures":[{"sig":"MEYCIQCs/HyRwiTL4cKLxYS2DRNHAATTNTtSoGv81zW1eUIjPwIhAN/znu1AQFU0mGGQpWxH8fAmPOvtbHcqYFLMSAD1qyPJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39370},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"421f51cbdb3fa08d31291fd428bdba927a1484ab","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.11_1766587803524_0.6648816707538272","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@duude92/lazyinject","version":"0.1.12","license":"MIT","_id":"@duude92/lazyinject@0.1.12","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"2de3ac9dd8214efe2ee96bf1e0e6bb9ecf24584f","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.1.12.tgz","fileCount":37,"integrity":"sha512-E41Xj5iHk2R+jKinq8cYHwUgeIrawdwUB5DI5ave0+2AxNxC5XhjFl/hrPDGnZp8I5swjCC4q158bR/kw0FSTg==","signatures":[{"sig":"MEUCIQCJnjmxyJUHdeTLcAnigtbA7gBxOigfCkXWJQAsbPsU2QIgAwIUzNtJYwEXv1Aed+UGQiHOViHSa1ipX0WAMUNKcBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39454},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"7ecc2149a13d9accd1f0acd5923e97f65f517c7c","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.1.12_1766659912523_0.3654492435858292","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@duude92/lazyinject","version":"0.2.13","license":"MIT","_id":"@duude92/lazyinject@0.2.13","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"homepage":"https://github.com/Duude92/lazyinject#readme","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"dist":{"shasum":"6b7fb8d0ec64a4cb33c8d926a7f38f686aaf484c","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.2.13.tgz","fileCount":39,"integrity":"sha512-gvHM9ooINfsDPKd9bqvIluksSF34rX79GpuClftTnpc/Evs/o8oDNAiV/Z3H77STOVq8u9EMhFWrRFHG4IVPuQ==","signatures":[{"sig":"MEQCIBqIq6DNobEsTofs67yl97njMm4NF1irUfOLN/DMQrClAiAORfG6MowMDktWweHJw9SFlEp6AE+kt77nwD9uEUJ13w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43221},"main":"./dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"4e55a018a029ad5cc7e5b0130765fe3c1f390b1d","private":false,"scripts":{"lint":"eslint","test":"jest","build":"tsc"},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"repository":{"url":"git+https://github.com/Duude92/lazyinject.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","directories":{},"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@eslint/js":"^9.28.0","typescript":"^5.8.3","@jest/globals":"^30.0.4","typescript-eslint":"^8.34.0"},"_npmOperationalInternal":{"tmp":"tmp/lazyinject_0.2.13_1768558718553_0.6808537839156861","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@duude92/lazyinject","version":"0.2.14","description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","main":"./dist/index.js","exports":{".":{"require":"./dist/index.js","import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","test":"jest","lint":"eslint"},"devDependencies":{"@eslint/js":"^9.28.0","@jest/globals":"^30.0.4","eslint":"^9.28.0","globals":"^16.2.0","jest":"^30.0.4","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript":"^5.8.3","typescript-eslint":"^8.34.0"},"types":"dist/index.d.ts","private":false,"repository":{"type":"git","url":"git+https://github.com/Duude92/lazyinject.git"},"license":"MIT","_id":"@duude92/lazyinject@0.2.14","gitHead":"29e69c62db94f7ae95ddb59215dcd5251e78bcde","bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"homepage":"https://github.com/Duude92/lazyinject#readme","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Gjykwi+foBzijjDmn2VqitXNUQX3VuADy6kj0VDZYLDvs/Q7zk7/S3H9o1adhPpN1D0huxYrqMX6kd50ySMEVw==","shasum":"1aa5132b961f3130e5256a81f84f469f510cbc8e","tarball":"https://registry.npmjs.org/@duude92/lazyinject/-/lazyinject-0.2.14.tgz","fileCount":39,"unpackedSize":43242,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBkhcrRmFSoYpelEUQoQN2chsNm90jfypIyn28aBQ6TNAiEAww1Rqo+4TM4ajZkVhPcEtU5jyXhcl5Xxs40SY5l7nXs="}]},"_npmUser":{"name":"duude92","email":"switch4acc@gmail.com"},"directories":{},"maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lazyinject_0.2.14_1769075145532_0.9993105433756835"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-12T09:45:37.327Z","modified":"2026-01-22T09:45:45.824Z","1.0.0":"2025-07-12T09:41:44.291Z","0.0.1":"2025-07-12T09:45:37.613Z","0.0.2":"2025-07-12T09:53:34.334Z","0.0.3":"2025-07-12T10:29:54.534Z","0.1.4":"2025-07-16T08:20:59.906Z","0.1.5":"2025-07-16T08:38:25.005Z","0.1.6":"2025-07-17T09:00:43.570Z","0.1.7":"2025-07-17T09:13:29.266Z","0.1.8":"2025-07-18T12:33:48.569Z","0.1.9":"2025-07-19T07:56:25.499Z","0.1.10":"2025-12-09T20:43:29.269Z","0.1.11":"2025-12-24T14:50:03.647Z","0.1.12":"2025-12-25T10:51:52.664Z","0.2.13":"2026-01-16T10:18:38.719Z","0.2.14":"2026-01-22T09:45:45.673Z"},"bugs":{"url":"https://github.com/Duude92/lazyinject/issues"},"license":"MIT","homepage":"https://github.com/Duude92/lazyinject#readme","repository":{"type":"git","url":"git+https://github.com/Duude92/lazyinject.git"},"description":"A lightweight TypeScript dependency injection library with lazy loading capabilities.","maintainers":[{"name":"duude92","email":"switch4acc@gmail.com"}],"readme":"# LazyInject\nA lightweight TypeScript dependency injection library with lazy loading capabilities.\n\n## Overview\nLazyInject provides a clean and efficient way to manage dependencies in TypeScript applications through decorators and a container-based system. The library's key feature is lazy initialization, which defers object instantiation until dependencies are actually needed, improving performance and memory usage.\n\n## Features\n 🚀 Lazy Loading: Dependencies are instantiated only when accessed<br>\n 🎯 Decorator-Based: Simple @Export and @Import decorators for dependency management<br>\n 📦 Container System: Centralized dependency registration and resolution<br>\n 🔍 Auto-Discovery: Automatic scanning of directories for dependencies<br>\n 🎭 Interface-Based Injection: Inject based on interfaces rather than concrete implementations<br>\n 📚 Multiple Implementations: Support for injecting arrays of implementations<br>\n 💪 Type Safety: Full TypeScript support with generic types<br>\n## Installation\n```bash\nnpm install lazyinject\n```\n\n## Quick Start\n### 1. Define an Interface\n   ```typescript\n   // interface/ILogger.ts\nexport interface ILogger {\n    log(message: string): void;\n}\n```\n### 2. Create an Implementation\n   ```typescript\n   // implementations/ConsoleLogger.ts\nimport {Export} from 'lazyinject';\nimport {ILogger} from '../interface/ILogger';\n\n@Export('ILogger')\nexport class ConsoleLogger implements ILogger {\n    log(message: string): void {\n        console.log(`[LOG]: ${message}`);\n    }\n}\n```\n### 3. Inject Dependencies\n   ```typescript\n   // MyService.ts\nimport {Import} from 'lazyinject';\nimport {ILogger} from './interface/ILogger';\n\n@Export(MyService)\nexport class MyService {\n    constructor(\n        @Import('ILogger')\n        private readonly logger: ILogger\n    ) {}\n\n    doSomething(): void {\n        this.logger.log('Service is working!');\n    }\n}\n```\n### 4. Bootstrap Your Application\n   ```typescript\n   // index.ts\nimport {ContainerFactory} from 'lazyinject';\nimport { MyService } from './MyService';\n\nconst bootstrap = async () => {\n    const container = await ContainerFactory.create({\n        baseDir: __dirname,\n        catalogs: ['.', './implementations']\n    });\n\n    const service = container.get<MyService>(MyService);\n    service.doSomething();\n};\n\nbootstrap();\n```\n## Advanced Usage\n### Lazy Loading\nUse the Lazy<T> wrapper for deferred instantiation:\n\n```typescript\nimport {ImportMany, Lazy} from 'lazyinject';\nimport {IPlugin} from './interface/IPlugin';\n\nexport class PluginManager {\n    constructor(\n        @ImportMany('IPlugin', {lazy: true})\n        private readonly plugins: Lazy<IPlugin>[]\n    ) {}\n\n    executeRandomPlugin(): void {\n        const randomIndex = Math.floor(Math.random() * this.plugins.length);\n        const plugin = this.plugins[randomIndex];\n\n        // Plugin is instantiated only when .Value is accessed\n        plugin.Value.execute();\n    }\n\n    getPluginInfo(): void {\n        this.plugins.forEach((plugin, index) => {\n            console.log(`Plugin ${index}: Loaded = ${plugin.HasValue}`);\n        });\n    }\n}\n```\n### Multiple Implementations\nInject all implementations of an interface:\n\n```typescript\nimport {ImportMany} from 'lazyinject';\nimport {IValidator} from './interface/IValidator';\n\nexport class ValidationService {\n    constructor(\n        @ImportMany('IValidator')\n        private readonly validators: IValidator[]\n    ) {}\n\n    validateAll(data: any): boolean {\n        return this.validators.every(validator => validator.validate(data));\n    }\n}\n```\n### Container Configuration\nThe ContainerFactory supports various configuration options:\n\n```typescript\nconst container = await ContainerFactory.create({\n    baseDir: __dirname,           // Base directory for scanning\n    catalogs: [                   // Directories to scan for dependencies\n        '.',\n        './services',\n        './implementations',\n        './plugins'\n    ],\n    recursive: true                // To recursively scan directories for dependencies\n});\n```\n## API Reference\n### Types\n - `InterfaceType`: Supported <u>identifier</u> types for registration (`string | symbol | ConstructorType`)\n - `ConstructorType`: Type of class constructor, used to register class\n - `ExportedType`: Type of object to register (`ConstructorType | object`)\n### Decorators\n- `@Export(identifier: InterfaceType)`: Registers a class as an implementation of the specified identifier\n- `@Import(identifier: InterfaceType)`: Injects a single implementation\n- `@ImportMany(identifier: InterfaceType, options?)`: Injects all implementations as an array\n  - `options.lazy`: boolean - Enable lazy loading (default: false)\n### Core Classes\n- `ContainerFactory`: Factory for creating dependency injection containers\n- `Lazy<T>`: Wrapper for lazy-loaded dependencies\n  - `.Value`: T - Gets the instantiated value\n  - `.HasValue`: boolean - Checks if the value has been instantiated\n- `ContainerRegistry`: Internal registry for managing dependencies\n## Examples\nThe repository includes several examples in the samples/ directory:\n\n<table>\n<tr><td>\n01-simple-get</td><td>Basic container usage with @Export and container.get&lt;type&gt;\n</td></tr><tr>\n<td>02-simple-import</td><td>Simple dependency injection with @Import</td>\n</tr><tr><td>\n03-import-array</td><td>Multiple implementations with @ImportMany</td>\n</tr><tr><td>\n04-lazy-import</td><td>Lazy loading with performance benefits</td>\n</tr><tr><td>\n05-object-export</td><td>Exporting object instances</td>\n</tr><tr><td>\n06-js-import</td><td>Basic container usage with JS</td>\n</tr><tr><td>\n07-using-config</td><td>Example of project using lazyinject.config.js</td>\n</tr><tr><td>\n<a href=\"https://github.com/Duude92/node-file-manager\">node-file-manager</a></td><td>Example of usage in separate project using published package</td>\n</tr><tr><td>\n<a href=\"https://github.com/Duude92/battleship-backend\">battleship-backend</a></td><td>Example of usage in separate project with webpack bundling using <a href=\"https://github.com/Duude92/lazyinject-webpack-plugin\">webpack plugin</a> </td>\n</tr>\n</table>\n\n## Building\n```bash\nnpm run build\n```\nThis will compile TypeScript files and generate type definitions in the `dist/` directory.\n\n## License\nThis project is open source and available under the MIT License.\n\n## Contributing\nContributions are welcome! Please feel free to submit issues and pull requests.","readmeFilename":"README.md"}