{"_id":"binder","_rev":"26-f721aa0db3c5cd0c087e9670bb5b9609","name":"binder","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","dist-tags":{"latest":"2.0.5"},"versions":{"0.0.1":{"name":"binder","version":"0.0.1","description":"Creates objects and binds abilities together with verbs","homepage":"http://github.com/rodnaph/binder","_npmJsonOpts":{"file":"/Users/rod/.npm/binder/0.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"binder@0.0.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"8aa659cad0692fd7a0a5c689e299f506bba131c8","tarball":"https://registry.npmjs.org/binder/-/binder-0.0.1.tgz","integrity":"sha512-MQ2pcVsi43PpSIzRgYaugXI5RxL5Lvx/NmlYVwRwUIZIanpx2yJtIwHInz5CETneEVlhL2oO7omEoM8cXJbfcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICrTrFt58WED2IrFSBx11o+zLHa+FANCvJ9DKRjhMrzAAiBaJqQgQs8Eo0giVCsbH82izGjm6VqMqzyJkO/QJbcERg=="}]},"maintainers":[{"name":"rodnaph","email":"rod@pu-gh.com"}],"directories":{}},"0.0.2":{"name":"binder","version":"0.0.2","description":"Creates objects and binds abilities together with verbs","homepage":"http://github.com/rodnaph/binder","_npmJsonOpts":{"file":"/Users/rod/.npm/binder/0.0.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"binder@0.0.2","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"1b10c941fe9a37884cd99e6dafe7dd26d7418857","tarball":"https://registry.npmjs.org/binder/-/binder-0.0.2.tgz","integrity":"sha512-9tUn57w54vOx6XiGzyVS56EEZJPX0WKmnkDFczAvbdEuqmp6GDrMPtVSJ3fRyHpg8rVDagy1f6oD1Wp0Xfus9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICp4mMk0D6bb4cAqyZD6NkfP6VDaW73zC4xqPKTEpCeNAiEAs1cXRfC2P5NDgHR/BYi8pE37e10T2L2PJ0AipKoCkjI="}]},"maintainers":[{"name":"rodnaph","email":"rod@pu-gh.com"}],"directories":{}},"0.1.0":{"name":"binder","version":"0.1.0","description":"Creates objects and binds abilities together with verbs","homepage":"http://github.com/rodnaph/binder","_npmJsonOpts":{"file":"/Users/rod/.npm/binder/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"binder@0.1.0","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"50322a8b98c8346870970de5ee902ecea7d2144b","tarball":"https://registry.npmjs.org/binder/-/binder-0.1.0.tgz","integrity":"sha512-PJ7dvSCtoXLc9f9Fwp+RG8cPyOMcirFLMYwg9rkQIGlpc+/f+XDADbwaCCRmzoDvkxlCURJ6sUbQjtbZbM3n4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvl1UxkzgyPCo39M0aPPb6AArO+Tuj+XdYTL1TT5DyygIgHjCYQnqZvgC98b7AA0QDEhfWDXhUk8vPJ7AcwnqW8co="}]},"maintainers":[{"name":"rodnaph","email":"rod@pu-gh.com"}],"directories":{}},"0.2.0":{"name":"binder","version":"0.2.0","description":"Creates objects and binds abilities together with verbs","homepage":"http://github.com/rodnaph/binder","_npmJsonOpts":{"file":"/Users/rod/.npm/binder/0.2.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"binder@0.2.0","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"57940987d081412e7f46d6f4e92ffe3d0e430d5f","tarball":"https://registry.npmjs.org/binder/-/binder-0.2.0.tgz","integrity":"sha512-l7QscQBkEtC4f5rN/7Sv1R1M53tX6dxRrn1ChPLAE6ojUiw4V/xPCBBX5HAAYmcf20roZSmu8SaetmZIsnqQfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkqwVXOkhP5ZxxoRImLVNba3PK0nXO5mr5eJNQVxjOZgIhAJgPuntObIWJY7UJGaT30fB8rmo6xebuu8YP4HtMguXL"}]},"maintainers":[{"name":"rodnaph","email":"rod@pu-gh.com"}],"directories":{}},"0.3.0":{"name":"binder","version":"0.3.0","description":"Creates objects and binds abilities together with verbs","homepage":"http://github.com/rodnaph/binder","_npmJsonOpts":{"file":"/Users/rod/.npm/binder/0.3.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"binder@0.3.0","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"abf8d18038e00ad11bf49b33d6b82dbe8f112831","tarball":"https://registry.npmjs.org/binder/-/binder-0.3.0.tgz","integrity":"sha512-W+mS3V/WE9gmqV80FMF089RnH187o+ycizgSnQuuhuN+aEEtotZpH09lwMYjHz6lJmzBlK8I8pMxynB3RzWo5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFF/FeJk8p/Z9LGf36rsl8PuAXL1PqL8jjZAeuQRes/dAiBcmTqPkMrTf0thbDPozkFOzgXARM2bKbfCkkdc1IfZ9A=="}]},"maintainers":[{"name":"rodnaph","email":"rod@pu-gh.com"}],"directories":{}},"0.3.1":{"name":"binder","version":"0.3.1","description":"Creates objects and binds abilities together with verbs","homepage":"http://github.com/rodnaph/binder","_npmJsonOpts":{"file":"/Users/rod/.npm/binder/0.3.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"binder@0.3.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"8396f08f016451781cc7e4d6f42896930aaff9f9","tarball":"https://registry.npmjs.org/binder/-/binder-0.3.1.tgz","integrity":"sha512-1YvbRv2J15yJ3ELlSpO509DqB+GpmV9vN+G3x1c6yF74bNOxWAs2N56ctc1mJZY86A3Nyd3tNxBA6AiGQcPzkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBVlw5JBSQnE6PKHqhChvLTxcjv6Xl9yBDEMfZ+kUHqgIhAIOfi2pKtcjnqkibfcjiBABJFYcTCPqEzex7WQVgGYJy"}]},"maintainers":[{"name":"rodnaph","email":"rod@pu-gh.com"}],"directories":{}},"1.0.0":{"name":"binder","version":"1.0.0","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","private":false,"main":"dist/binder.node.js","browser":"dist/binder.js","scripts":{"build":"webpack --config build/webpack.prod.js","test":"jest","coverage":"npm run test -- --coverage"},"author":{"name":"Federico Vázquez","url":"Frondor"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"homepage":"https://github.com/Frondor/binder#readme","license":"MIT","sideEffects":false,"devDependencies":{"@babel/core":"^7.1.5","@babel/preset-env":"^7.1.5","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.6.0","babel-loader":"^8.0.4","clean-webpack-plugin":"^0.1.19","jest":"^23.6.0","webpack":"^4.25.1","webpack-cli":"^3.1.2","webpack-merge":"^4.1.4"},"engines":{"node":">= 8"},"keywords":["ioc","dependency injection","service locator","container","inversion of control"],"gitHead":"87489a1c7883826169fb98b2cdc744c180633ede","bugs":{"url":"https://github.com/Frondor/binder/issues"},"_id":"binder@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.9.3","_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"dist":{"integrity":"sha512-R9YxceKSr8lXsvyArOWSj36skVMgNxwJ8KdYB0yyR+ESd/T4UvjLNz+/bWrWyjOiy3QcsGGLExJi4vKSgCtstw==","shasum":"c837458ec4123f2fede18bd82b8f0bd9220eb12d","tarball":"https://registry.npmjs.org/binder/-/binder-1.0.0.tgz","fileCount":7,"unpackedSize":32342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5IKqCRA9TVsSAnZWagAAQzQQAKDCvOkgIfJ3q4e7Ftgq\n2h7PKGedF3YP3I/1nbiaAfC6bmECHAqVtnGZw2KFDByMnTBBzMdE0TMw5CuO\nM7vTUtlewJl6wGure/iHII3tw/qqcV2MkjE2K8GabRPfqH0Cg5zBjXeT+3ag\naKnvU/IbHJG6rCfzZaM0B2d1V0cGsxtV/U+AtiYbpOOeUp+xN1ByWvyI/Kba\n3++fn4gAta7E6aTDaLdMpoMArjb5WWjQySxmoBtG2QMYdd6N6FlRqcbJJIJk\nWB5JhsorgmU/Ll4RHBYhDoYu0RSbb4QTQnRSrrW3vktLTdX1r7j6THE67DKM\nm3sZ9HqIA2j0fyuPAt04hnXVpUa1Ft7r5AjU0j8qhVd4eC7uciXJXszeAgNT\n+UJUlNZxDCAhlWv20EaXmzKABZXG85VKIKZKYEs0D6rOSRL512E0uQEDHn9Q\nxol/xHagVUNQHkWBvYgcdcuykYLSYDpCPbI0sR2AJY/iVOCGR0sUSqlPQ1GS\ndBLnrbUzHeyPVyykAh4dePW3SMwi5Twi6FDh4Nc6E0i3wNnsRjvXCT1+Qu7O\nHluKkqARDmD/27KTCKa2wHIVLC8BFAe4C/xZJstDznPzga0SUxMSOQvVgUNY\nKNSHg0ngymKkqwIiGauUhNC7UeZYShyUFE0Ioa2Dn6qKP2LvXcv1aJ0eJVch\n5Dpv\r\n=fjAX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL7OuP9rOQm3euLAs5XwAz4QhXFyNcK5DVsHDqk40TgwIhAOqPUUBceB9uDxTRoFaJrAonDybeTFvr/9+0QlYwGC3L"}]},"maintainers":[{"email":"frondor.dev@gmail.com","name":"frondor"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_1.0.0_1541702313425_0.9458551712393723"},"_hasShrinkwrap":false},"1.0.1":{"name":"binder","version":"1.0.1","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","private":false,"main":"dist/binder.node.js","browser":"dist/binder.js","scripts":{"build":"webpack --config build/webpack.prod.js","test":"jest","coverage":"npm run test -- --coverage","prepublishOnly":"npm test && npm run build"},"author":{"name":"Federico Vázquez","url":"Frondor"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"homepage":"https://github.com/Frondor/binder#readme","license":"MIT","sideEffects":false,"devDependencies":{"@babel/core":"^7.1.5","@babel/preset-env":"^7.1.5","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.6.0","babel-loader":"^8.0.4","clean-webpack-plugin":"^0.1.19","jest":"^23.6.0","webpack":"^4.25.1","webpack-cli":"^3.1.2","webpack-merge":"^4.1.4"},"engines":{"node":">= 8"},"keywords":["ioc","dependency-injection","service-locator","container","inversion-of-control"],"gitHead":"87489a1c7883826169fb98b2cdc744c180633ede","bugs":{"url":"https://github.com/Frondor/binder/issues"},"_id":"binder@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.9.3","_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"dist":{"integrity":"sha512-Fkk7mBkmRiZLPFjo6ZyAu5L179hNFB7S9qEd4h5/dHcu06gcmTTaRbXp1z8prykJLj7hJm+Ps+fbyUN1ucUuIA==","shasum":"99f879b55e0658eca13ae4f14240c5ddcc2f2771","tarball":"https://registry.npmjs.org/binder/-/binder-1.0.1.tgz","fileCount":7,"unpackedSize":30951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb51KgCRA9TVsSAnZWagAAvVYQAKP8sVmTbTZg5lNTFgV4\nOEzGX/2sR9QiR3NOPvdwQ4UsfiHXsKGwT4SHE9/JGosrqJXd7NVk/fjlwFzg\nwPwvmLLQCEJZX48u5px08SQCuV2Oc+BB9lBCs2gTXRNj2thjAKO33Blq0pqL\na8qpBtLyb1I9CpeyxsqFOl53bNijpq5QcK/pSGWweW3rczLp90UTtrOhNhEJ\na2/Y2ZrS0cJpQ48yfuvf57ycMzG4wWuGjG4ylmliXBUxEloBtfP8eRYozTBK\n2GI6zMLWLuD+VgWchE7twCL3+Wu7FURBN3m6OkE8JVs+rPhWFSBs+tQGDqu4\nEhwOjUxzbaWXgK2wPBu1gwowoAtG8IVfRgueXeHvKX97Qqk/nTEy8UJ+tlg1\nh7enhSP8MNBjqP7h9LPhkEZHs1Bgm0zyld7Nss7T/xBoSFXG32N0v60i3oYI\nG5rv6qc/8tn1QVUzsVMSvl5Lfgivj249+lQJbcYEBTSMzNwFbCtZSesQ22J8\nS0fBH/xFhvFZQUj6hUt2LWO72VOQe/HC8TlTSr3x/N86s2uyYWiIcEunplEK\nNIHr8NZMHz2c//3PqD8GmzEc4dJrf+4rjfUR1z8VXhyFoUhIa6gPTh3bPR+c\nbfj8sGmgmCT56TN4Mr6shmn+z2/W19r5ghlw/duroPOgZ11LVU9HvBtb1pIb\nYc7w\r\n=CSb4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID5+IGjOQL93zYp7xyj0uoVB4SJtgVClZvObBMojCpSRAiEAjHpaLBW/326wjvZ2X9Vuz8Et6x4UT01H6WgC025Ux+U="}]},"maintainers":[{"email":"frondor.dev@gmail.com","name":"frondor"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_1.0.1_1541886623413_0.695918221359632"},"_hasShrinkwrap":false},"1.0.2":{"name":"binder","version":"1.0.2","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","private":false,"main":"dist/binder.node.js","browser":"dist/binder.js","scripts":{"build":"webpack --config build/webpack.prod.js","test":"jest","coverage":"npm run test -- --coverage","prepublishOnly":"npm test && npm run build"},"author":{"name":"Federico Vázquez","url":"Frondor"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"homepage":"https://github.com/Frondor/binder#readme","license":"MIT","sideEffects":false,"devDependencies":{"@babel/core":"^7.1.5","@babel/preset-env":"^7.1.5","babel-core":"^7.0.0-bridge.0","babel-jest":"^23.6.0","babel-loader":"^8.0.4","clean-webpack-plugin":"^0.1.19","jest":"^23.6.0","webpack":"^4.25.1","webpack-cli":"^3.1.2","webpack-merge":"^4.1.4"},"engines":{"node":">= 8"},"keywords":["ioc","dependency-injection","service-locator","inversion-of-control"],"gitHead":"c87676c08b850555713093d6ecb870a74f8c3f4e","bugs":{"url":"https://github.com/Frondor/binder/issues"},"_id":"binder@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"8.9.3","_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"dist":{"integrity":"sha512-9Npw11O6lsEm/7G+xgdCKjWo/VWhc9iBMYgBdJnMxZHRJ8jJ1czWE4kA5q/NNDYV315y2n2MYfhpvm75cti4dA==","shasum":"b9d816aa09cca1848280865c29bf27989457f811","tarball":"https://registry.npmjs.org/binder/-/binder-1.0.2.tgz","fileCount":7,"unpackedSize":30880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb57JUCRA9TVsSAnZWagAA3oEP/0T3aWSHLL37Q01emPih\nP30cVEM085OEXb/+z6HyhuStGNsAtFltUeIK5zU+YdFn/rBDkVFn2O6euVe1\nUkNcaY4bJz2wOH/XFujv9s7UMDLvSWah4Bq5kaLyeiGQ8RoeehLIBtI3P9FD\nNC2B+2QGqwFT076LlyGjbu8nLuwLx1w16agRx0HQNTLQ041wvrUq570O9xa+\njU0XGRTjkIqKQ/VdpQEQPhmya7P/IjmKBEAY2XEqrPn/oSlDIWjvZLWMYojT\nPL5MOCls7y1uvKnAUpeCMdpt0MkqoOy5FLqArJR2pcDh5ktMQWWH44MtoXPE\ngEQNozpuVsYTPnfcIOPrbNJIa26cx/ipNl6Ldf3MDi9nd+zZoBIiyqtFb52B\nfWoqbG1WVksMIq3BDT4lFB5PpkkFKd/FKk+e8ai1RQhBxJe2ZUJPstMbIRSd\nOG7N8AqjG0dIpHxUwLXawF2Gz4FZQQOT2A76T1IkDGRP7Xe+rPZndfnfUYcR\nyHVuzSn4GJ3NQOXWwlTX8Roll3OeSv+IlK3o44LLR6R/sACXXfoz6xE85wEu\nZ4ER9mhSRXTt11cyLrcK8a4JaVdGw4URMQ2kOHdDqj72XRZZ8QYRtw0j8XiA\n4pcMXZFvDSPSew29eF2yX9Fc2wqHTZakOkFJ8+QV0l+wipPAn1M7JxIUC/hJ\ncZeN\r\n=Qeyi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrtdrlrKIi458sRK1siOcQYetvQI5qLD+HUvSzJVibAAIgVr1c3upQJcmXVQY/8vgWpFLFiAQ2alZhwMk+0DIs344="}]},"maintainers":[{"email":"frondor.dev@gmail.com","name":"frondor"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_1.0.2_1541911123750_0.006070876417059834"},"_hasShrinkwrap":false},"2.0.2":{"name":"binder","version":"2.0.2","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","keywords":["ioc","dependency-injection","service-locator","inversion-of-control"],"main":"dist/binder.js","exports":"./dist/binder.modern.js","module":"dist/binder.module.js","unpkg":"dist/binder.umd.js","sideEffects":false,"author":{"name":"Federico Vázquez","email":"frondor.dev@gmail.com","url":"frondor.github.io"},"license":"MIT","engines":{"node":">=10.13.0"},"scripts":{"lint":"eslint . --ext .js,.ts --cache --fix","prettier:fix":"prettier 'src' 'test' --write","build":"microbundle src/index.ts","test:ci":"jest --coverage","test":"jest","preversion":"git merge origin/master && git push -u origin HEAD && npm ci && npm run lint && npm run build && npm test","postversion":"git push && git push --tags","prepare":"husky install"},"devDependencies":{"@types/jest":"26.0.22","@types/node":"14.14.37","@typescript-eslint/eslint-plugin":"4.21.0","@typescript-eslint/parser":"4.21.0","eslint":"7.24.0","eslint-config-prettier":"8.1.0","eslint-config-standard":"16.0.2","eslint-plugin-import":"2.22.1","eslint-plugin-jest":"24.3.5","eslint-plugin-node":"11.1.0","eslint-plugin-prettier":"3.3.1","eslint-plugin-promise":"5.1.0","eslint-plugin-standard":"4.1.0","husky":"6.0.0","jest":"26.6.3","jest-config":"26.6.3","lint-staged":"10.5.4","microbundle":"0.13.0","prettier":"2.2.1","ts-jest":"26.5.4","ts-node":"9.1.1","typescript":"4.2.4"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"bugs":{"url":"https://github.com/Frondor/binder/issues"},"homepage":"https://github.com/Frondor/binder#readme","lint-staged":{"*.{js,ts}":["npm run prettier:fix","npm run lint"]},"gitHead":"7043ce26e21a9c0dd429fecb67f5a69a299b6f08","_id":"binder@2.0.2","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-L9fccRK5wrsjQz8hcSYOif6HNdewnUDEQOLsvqWaI1zchqiGYC6urxJgJuXz2chz7qPx/urpzBjN9jY/eJygfw==","shasum":"c65fa7d9f5ef099bec2f38c451bd38bdadf89f63","tarball":"https://registry.npmjs.org/binder/-/binder-2.0.2.tgz","fileCount":16,"unpackedSize":40960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdBnICRA9TVsSAnZWagAA14cP/RKp+ib6hjQmgk8knJl6\nxNt0I5Dd/67mQ7QWIe3cCKntLXJoAYQRHZDHNU4W69SKdSstImGBy3JXLOH/\nd6EV5+LA05qsDlJMu6KcHyg9T9i11yFVURNCd6EnDZ0OPqCLSUDOqztQx4kk\naTkkJLezLadhDiS3kRn5hVE8bIl6tKjt7jzJrB3PnqzMuBLrI1Vy4IjLwo9p\nh9wunErsDiZu6+7+pQNwU1EVrvRi+xvP6big2FWzStFUwChIAlBBNtVihuHh\nAagiHnv6lsIbvg6fL+ueoKMm3qbkqaXk7A+ssb+fon6fgPajkQErHYoUCqvh\nUPOQgzHLOee0BKY9YgWi6iRD4zdr5WByxHCpaR8o0TL3XNqaDmvEMucV0GdU\n3opdDgsTg11HP9GSelSA8q9peiZdCDZvZTuzs9Q/CQrxiUNtoDi4vNEGZVbr\nVSmxnatjPm0CWRxKZNisDbAZXAJQgJTRiuvJFdxwn57h6GyXdx2otWcUqmwK\nSf/8lqbRkDmyKPYO7Fj+STBF0IT03vMHKMLBgRDYBv1B6nCs4xCEikgnMzgO\n6UQlvFh+LypXNtljXAWw3edTU43vF+IpBY07hvFG7chL+ftPpuqEMnY9PCDs\n5aAvagOCQ5qvvJgAvxWY534dWiptCuET/Xuym7vq1fNxY3CH/zgoOiCaNuj3\n8RwJ\r\n=Nwhe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxr724yAyYlUv9YXV0DCP+x3QtbbGNaif7yAsa6ANSDgIgZYrdjuDtu5sfN73h59NygMmCPNKFJ8of0bp7zeFnwwg="}]},"_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"directories":{},"maintainers":[{"name":"frondor","email":"frondor.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_2.0.2_1618221511851_0.4005197779649976"},"_hasShrinkwrap":false},"2.0.3":{"name":"binder","version":"2.0.3","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","keywords":["ioc","dependency-injection","service-locator","inversion-of-control"],"main":"dist/binder.js","exports":"./dist/binder.modern.js","module":"dist/binder.module.js","unpkg":"dist/binder.umd.js","sideEffects":false,"author":{"name":"Federico Vázquez","email":"frondor.dev@gmail.com","url":"frondor.github.io"},"license":"MIT","engines":{"node":">=10.13.0"},"scripts":{"lint":"eslint . --ext .js,.ts --cache --fix","prettier:fix":"prettier 'src' 'test' --write","build":"microbundle src/index.ts","test:ci":"jest --coverage","test":"jest","preversion":"git merge origin/master && git push -u origin HEAD && npm ci && npm run lint && npm run build && npm test","postversion":"git push && git push --tags","prepare":"husky install"},"devDependencies":{"@types/jest":"26.0.22","@types/node":"14.14.37","@typescript-eslint/eslint-plugin":"4.21.0","@typescript-eslint/parser":"4.21.0","eslint":"7.24.0","eslint-config-prettier":"8.1.0","eslint-config-standard":"16.0.2","eslint-plugin-import":"2.22.1","eslint-plugin-jest":"24.3.5","eslint-plugin-node":"11.1.0","eslint-plugin-prettier":"3.3.1","eslint-plugin-promise":"5.1.0","eslint-plugin-standard":"4.1.0","husky":"6.0.0","jest":"26.6.3","jest-config":"26.6.3","lint-staged":"10.5.4","microbundle":"0.13.0","prettier":"2.2.1","ts-jest":"26.5.4","ts-node":"9.1.1","typescript":"4.2.4"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"bugs":{"url":"https://github.com/Frondor/binder/issues"},"homepage":"https://github.com/Frondor/binder#readme","lint-staged":{"*.{js,ts}":["npm run prettier:fix","npm run lint"]},"gitHead":"8fd2f924b85c0b6266033cc9af99b08dede1fca0","_id":"binder@2.0.3","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-aAteFhWbGsLMibHkXZ9+meL4PrcRAD5WzFRekpT5/xk016entZVVPufO435wgCn7pz75H9fkyekZU82/ZVM3fA==","shasum":"bcb736a86fa7db38c6ea6c60323fb528044f566b","tarball":"https://registry.npmjs.org/binder/-/binder-2.0.3.tgz","fileCount":16,"unpackedSize":45412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdLvsCRA9TVsSAnZWagAAgy8P/ilB9/WQRoPw3PAXn4m4\n5LTmsmKyg0kl3d2K3lWMnyaUL0G1XK4odkI0Q2KHEzCIRDdoCzIyTt70ZiZ+\nYHoVHP0joofAkD1hvi3j3M7ihEasSyjcLggk0LNqowBdmFWcZMH03JBR+CJ2\nNSWrDESnZ9LzvmqS0blo16KhQ/kYDnoW7H/FvveS+fnmFLQ85gTSgqhZgDu7\nz72b/O1qdNvofRWXD9BwQqQYRIBLZhHq6u432rfHccD6pzO+FQndmTkZ6dj1\nW+wpW8ovPeNlJ0wNjzCHLe/1UzjPJIwsKHb/mwM3rtgrMJrR6Uhz/0590KEn\nRYSKkZ8gryLvTTu0DeZyYSF/dU2iyTqmQlGdSOCFGuWFv4wPFNj4TQR7fk/f\nUAPZqlBGJEGtqLvC0CmKq09ETvLQ6dyojlvIa74M+tW75S3XCUvDd4pee71/\ngLWFfWeSIsuLo5XHm3Zb/+sPlF4tHNSNSjTgNnrfi1E3BUxx/DE8vNxKrdKK\nBaTdSyHCQL8arMhz14JUfSJLDR8oPeIlOVxTWC9JY3toFJxU9050klGSTP5P\nUzF5bMfCm9cyFyH2+866E4XfJjzepUpcUjASWpbcGGMi4NIvN2ew76lyNbxq\n0/qWeHqbjuavSiX65vi+n4BEFM1KoIEFXUjd9ophZ9rCYBHbYKDLh1xgZhRY\nfpfh\r\n=hmSh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9e+EFWpCN7Ez6uar/1Y/g4kSy1b7umjO8sR7N+4uxEAIgfOOkU77ftzJV2rIryYxEUBDy8wIkJrenX53IQ0rJOpc="}]},"_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"directories":{},"maintainers":[{"name":"frondor","email":"frondor.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_2.0.3_1618263019620_0.26358724529079747"},"_hasShrinkwrap":false},"2.0.4-beta1":{"name":"binder","version":"2.0.4-beta1","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","keywords":["ioc","dependency-injection","service-locator","inversion-of-control"],"main":"./dist/binder.js","exports":{"require":"./dist/binder.js","default":"./dist/binder.modern.js"},"module":"dist/binder.module.js","unpkg":"dist/binder.umd.js","types":"dist/types","sideEffects":false,"author":{"name":"Federico Vázquez","email":"frondor.dev@gmail.com","url":"frondor.github.io"},"license":"MIT","engines":{"node":">=10.13.0"},"scripts":{"lint":"eslint src/**/*.ts --cache --fix","prettier:fix":"prettier --write src","build":"microbundle src/index.ts","test:ci":"jest","test":"jest","preversion":"git merge origin/master && git push -u origin HEAD && npm ci && npm run lint && npm run build && npm test","postversion":"git push && git push --tags","prepare":"husky install"},"devDependencies":{"@types/jest":"27.0.3","@types/node":"16.11.12","@typescript-eslint/eslint-plugin":"5.7.0","@typescript-eslint/parser":"5.7.0","eslint":"7.32.0","eslint-config-prettier":"8.3.0","eslint-config-standard":"16.0.3","eslint-plugin-import":"2.25.3","eslint-plugin-jest":"25.3.0","eslint-plugin-node":"11.1.0","eslint-plugin-prettier":"4.0.0","eslint-plugin-promise":"5.2.0","husky":"7.0.4","jest":"27.4.5","jest-config":"27.4.5","lint-staged":"12.1.2","microbundle":"0.14.2","prettier":"2.5.1","ts-jest":"27.1.1","ts-node":"10.4.0","typescript":"4.5.4"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"bugs":{"url":"https://github.com/Frondor/binder/issues"},"homepage":"https://github.com/Frondor/binder#readme","lint-staged":{"src/**/*.{js,ts}":["npm run prettier:fix","npm run lint"]},"gitHead":"6534efd6c730c1875d5cf2bfb5feade5b97d76ae","_id":"binder@2.0.4-beta1","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ht9NPkM2g+OyeVkw6WLCpXeeF4lgpc4rgUbbLuidlJ4hS3wyBBKC7SX4LTDqGepOqL25rDtowRYAWWik1Dw8Zg==","shasum":"9b8b70507c96a1553b6946672dbad8404dadea25","tarball":"https://registry.npmjs.org/binder/-/binder-2.0.4-beta1.tgz","fileCount":14,"unpackedSize":47187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuA+pCRA9TVsSAnZWagAAkkYP/2TMyc2Sk6PnKABrAYQm\nwifbfnW8NZM0xdciHS/YQv103c2lsTYqmKjS7ASt9/BiHvQh56SUAUEkQ/bP\nNI+oye3mXlcDMrqYjaIQzsqs9JkMnpUgRCl0dJyra5ZBEJt6xbeNdBjCijd6\nLLjJZ0r7b7/gH/IuDg9TEYrJPwosJXiS/qpAkNcYcT/lhplY+sDPbVYwCD63\nRVUJSJYETeeGH7aJSgubItK49ETzZkO/O6rtZg4J3SKPlqyDTxnqc+5kK4Da\n4LY1n19tbzCFDEU9e2YF2PcuoouZWp32it1Ayw7tiyp68S8QfxTz9+SHDOQl\nA8B467sd1hDNWip0OBZUrWzdDbyS4ZAJcK0JlsaEmI43zmADSoiH8y4vlCss\nV0x4g5gIoul252bevA/7RT2BMMwiPTRjVhyRp8DQMknt6z3CXROrJ9Uodj1q\nzTCGeK6d3h7n904TQuSY2wKhbyLnF9iohvEzwSkuyCvrhTa9yd0/3cY+Qzxt\nEi14oU0j3K0/7mczO2ibfrs6/xfFGlG9GORL4vZB1gpUtwv7Ni1eghBIEfWS\nbwQDx/m5l96HeSC3x2+29gFPtv5ahjJgYTm4WgWQ5oQxDicZDePklek33Yga\n8SbqWNGSrICIRBThqVPT5XZizI7XiBNTroAatsWjLD/+qQtrHFjrpi6I+ZbD\n6Xqe\r\n=L3oR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDX7Vq2TbUoS96yQ+u2RXl0dSnVUWRljpkLVCvejJfqfAIhAJZjrYLBw28SdZcQLUT+C6EUfEt7rsvEuBNgNeM2VMXP"}]},"_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"directories":{},"maintainers":[{"name":"frondor","email":"frondor.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_2.0.4-beta1_1639452585646_0.5687458902674065"},"_hasShrinkwrap":false},"2.0.4-beta2":{"name":"binder","version":"2.0.4-beta2","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","keywords":["ioc","dependency-injection","service-locator","inversion-of-control"],"main":"./dist/binder.js","exports":{"require":"./dist/binder.js","default":"./dist/binder.modern.js"},"module":"dist/binder.module.js","unpkg":"dist/binder.umd.js","typings":"dist/index.d.ts","sideEffects":false,"author":{"name":"Federico Vázquez","email":"frondor.dev@gmail.com","url":"frondor.github.io"},"license":"MIT","engines":{"node":">=10.13.0"},"scripts":{"lint":"eslint src/**/*.ts --cache --fix","prettier:fix":"prettier --write src","build":"microbundle src/index.ts","test:ci":"jest","test":"jest","preversion":"git merge origin/master && git push -u origin HEAD && npm ci && npm run lint && npm run build && npm run test:ci","postversion":"git push && git push --tags","prepare":"husky install"},"devDependencies":{"@types/jest":"27.0.3","@types/node":"16.11.12","@typescript-eslint/eslint-plugin":"5.7.0","@typescript-eslint/parser":"5.7.0","eslint":"7.32.0","eslint-config-prettier":"8.3.0","eslint-config-standard":"16.0.3","eslint-plugin-import":"2.25.3","eslint-plugin-jest":"25.3.0","eslint-plugin-node":"11.1.0","eslint-plugin-prettier":"4.0.0","eslint-plugin-promise":"5.2.0","husky":"7.0.4","jest":"27.4.5","jest-config":"27.4.5","lint-staged":"12.1.2","microbundle":"0.14.2","prettier":"2.5.1","ts-jest":"27.1.1","ts-node":"10.4.0","typescript":"4.5.4"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"bugs":{"url":"https://github.com/Frondor/binder/issues"},"homepage":"https://github.com/Frondor/binder#readme","lint-staged":{"src/**/*.{js,ts}":["npm run prettier:fix","npm run lint"]},"gitHead":"bad2cc6f72521a667b5ede9c6b50681bc233b627","_id":"binder@2.0.4-beta2","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-TcDz7973jMq8dbng+AoWDDQZ5NfLrOJTwVn4E0sRAByPDW3TCk/PWQ0872BzsJwhgeKVZ5vYKopVjWluAuj0Pw==","shasum":"315f50a7c87c8cc9dc5bcc68b48599f170ef1be8","tarball":"https://registry.npmjs.org/binder/-/binder-2.0.4-beta2.tgz","fileCount":14,"unpackedSize":47201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuBUuCRA9TVsSAnZWagAAnlkP/0Phzrr2nWGWfDf7Fa2t\nOV1fEo4AYP1qeBnU/a1DOowZUnS/Oau2AWr6fh+BiCBRByBESyksrQ4ggDKR\nDLMmyXnpJnDW46FwSm2+hyuU899Ud9Susb85K9/qjn+dVNQvGTxtFWjWpTvx\n3sDfX+2mQTvl9W5NEHcw3zVGtWgsi+E/+1pJObmN/VkMo9VDMvHs1e7yfcq5\nQ0i05mN6Lgt7iKKFz3Y4Dv7PQttIHdixfOIMszZcim5lBtve1JY99KbEwEHU\ntCvChQqF1eGoAWaRKwKriYvQYGts7jakxNVQSEIKsEJnwqWLCvxuCGEyy+VM\njj3ztmWcpGdqoaoICnWbI1zKUmE41618Ph2kmIT7vWbGmQbTZN9nbT5thsXU\nvUBW3g1UJJxnrHpo6zITl+l7zNzN+P9JizlJld//LoQ3xAaYos3XP2xck/Gu\n/GISOBeUJlkUstDQw1uXwIrDxmoZ6d/yfFPkCI4aNknMb2UOtwE/59Gw5Hu6\n8fy+XU5wCUW9F/3SJ3FQkvL8yGwaMh3dfQsHbkS8QTFi5bKR8/KqesNexbTX\nMDsLaVelAzMvLNYbInHpSUjIMBX31jYfiJMZmQGMagOR8Iiq3QgrqeLo7n2G\n3F/ZFNsXxPNkbbOVo7uY5w4jf2KLt07DhC+9uAqSDKkwmSnZP78J48YHSngu\nz7c4\r\n=Wfj6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFsce5a1H0GDUvjcyiJtOUwHw0NgQxtjIqxP8yIqThCAiEAuFQHYdTsm/j7HQ3plyE5FWTrXLKu0pINrlB+8t4ZWHo="}]},"_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"directories":{},"maintainers":[{"name":"frondor","email":"frondor.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_2.0.4-beta2_1639453998344_0.7712026079873109"},"_hasShrinkwrap":false},"2.0.5":{"name":"binder","version":"2.0.5","description":"Simple, yet powerful IoC container and service locator for both, the browser and node.","keywords":["ioc","dependency-injection","service-locator","inversion-of-control"],"main":"./dist/binder.js","exports":{"require":"./dist/binder.js","default":"./dist/binder.modern.js"},"module":"dist/binder.module.js","unpkg":"dist/binder.umd.js","typings":"dist/index.d.ts","sideEffects":false,"author":{"name":"Federico Vázquez","email":"frondor.dev@gmail.com","url":"frondor.github.io"},"license":"MIT","engines":{"node":">=10.13.0"},"scripts":{"lint":"eslint src/**/*.ts --cache --fix","prettier:fix":"prettier --write src","build":"microbundle src/index.ts","test:ci":"jest","test":"jest","preversion":"git merge origin/master && git push -u origin HEAD && npm ci && npm run lint && npm run build && npm run test:ci","postversion":"git push && git push --tags","prepare":"husky install"},"devDependencies":{"@types/jest":"27.0.3","@types/node":"16.11.12","@typescript-eslint/eslint-plugin":"5.7.0","@typescript-eslint/parser":"5.7.0","eslint":"7.32.0","eslint-config-prettier":"8.3.0","eslint-config-standard":"16.0.3","eslint-plugin-import":"2.25.3","eslint-plugin-jest":"25.3.0","eslint-plugin-node":"11.1.0","eslint-plugin-prettier":"4.0.0","eslint-plugin-promise":"5.2.0","husky":"7.0.4","jest":"27.4.5","jest-config":"27.4.5","lint-staged":"12.1.2","microbundle":"0.14.2","prettier":"2.5.1","ts-jest":"27.1.1","ts-node":"10.4.0","typescript":"4.5.4"},"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"bugs":{"url":"https://github.com/Frondor/binder/issues"},"homepage":"https://github.com/Frondor/binder#readme","lint-staged":{"src/**/*.{js,ts}":["npm run prettier:fix","npm run lint"]},"gitHead":"6582e421f85c4433417649078d3587576eb06942","_id":"binder@2.0.5","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Q4SnmkFU0TqLfyi4mQ8Ls74aySBc40FDGRSuTAV+HGL8QhNaJhbfNBAsvfYyKY9Lmw76d1AFzTLuc4/xQBGP5g==","shasum":"39ca3656565726c8dff935e742d30415083051aa","tarball":"https://registry.npmjs.org/binder/-/binder-2.0.5.tgz","fileCount":14,"unpackedSize":45628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuBdiCRA9TVsSAnZWagAAhFwP/0FVjD1IKjSHKBQwCV6s\nShX7jTsBs7twnE/McsHs4+hrl1y480O7bKDJ4GIp3/wuYINvy6SDw1MChCBu\njTY1Z8ahuUAc4c6HjqFJGfuSIWjD9pH5rnusdB4AznVoBE3gvCKXsmA75DYy\nMnM4TTHcUJAnmgb4pnve7f4ANx+uZ2zUnmf87UVLdVXzbJlug70MvC0xK8Gs\n2QoXDG+WiUr0m20GzPHepxx6PisTgzraRw6+8P1dwpDenduxwrb5TkTQZGpJ\nJoFhTxPYSJrPpPqmodMqlkYxlkWawIpqywCE0JNFnn/Vg+VuTkQbgJToU7s0\n33CV6iIkX4HwfFNIQ/tnbXhYXHRbBQDZuIBzzGU4yMt7VR6TBPENeVRbL9Mj\n/JvWT8+tTog3bE2fDLOilEI/6hsVA49iCfBRDxzAMBnHhAxPthcmVxwaCNwl\nvNpKegmZk2f8PWiS8qtUWXWa1OFpoAUioLZJd6l1lKq8tXQ+M2+2/zLs3bcA\nn7k5gne2Q0mdBSBbbHDyYGidk59j6pHbCceQBboGiKeSd6cpIO9nFG4T/AGr\nJTZQHGHCl4AQcCsEu0gmoBeUP7bdNSz0L+y8kboZDAOUybZBFO0za69KrP53\npjmwD3IIfX2S9bosFWH1YhwWCX9N6wtPoTh5WK+EuYFd9DPwWgJaL6MmfW5b\nnUyv\r\n=lI9Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbxrwJMqBx1nyboGclu1Hf3sFR8s65KQnUsNUEElLKJAiEAjarR+s/C3PSpMaBholhJAwvUnPvLDctN73X8QkYsJxE="}]},"_npmUser":{"name":"frondor","email":"frondor.dev@gmail.com"},"directories":{},"maintainers":[{"name":"frondor","email":"frondor.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/binder_2.0.5_1639454562484_0.8648783270102571"},"_hasShrinkwrap":false}},"maintainers":[{"name":"frondor","email":"frondor.dev@gmail.com"}],"time":{"modified":"2022-06-13T04:38:45.876Z","created":"2011-09-24T00:03:55.428Z","0.0.1":"2011-09-24T00:03:57.218Z","0.0.2":"2011-09-24T10:52:09.236Z","0.1.0":"2011-09-24T15:38:17.297Z","0.2.0":"2011-09-29T20:09:38.050Z","0.3.0":"2011-10-15T13:09:53.241Z","0.3.1":"2011-10-15T17:22:36.562Z","1.0.0":"2018-11-08T18:38:33.709Z","1.0.1":"2018-11-10T21:50:23.568Z","1.0.2":"2018-11-11T04:38:43.893Z","2.0.2":"2021-04-12T09:58:31.973Z","2.0.3":"2021-04-12T21:30:19.758Z","2.0.4-beta1":"2021-12-14T03:29:45.792Z","2.0.4-beta2":"2021-12-14T03:53:18.670Z","2.0.5":"2021-12-14T04:02:42.655Z"},"homepage":"https://github.com/Frondor/binder#readme","keywords":["ioc","dependency-injection","service-locator","inversion-of-control"],"repository":{"type":"git","url":"git+https://github.com/Frondor/binder.git"},"author":{"name":"Federico Vázquez","email":"frondor.dev@gmail.com","url":"frondor.github.io"},"bugs":{"url":"https://github.com/Frondor/binder/issues"},"license":"MIT","readme":"# Binder\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/binder\">\n    <img src=\"https://img.shields.io/npm/v/binder.svg\" alt=\"npm version\">\n  </a>\n  <a href=\"https://travis-ci.org/Frondor/binder\">\n    <img src=\"https://img.shields.io/travis/Frondor/binder/master.svg\" alt=\"Build Status\">\n  </a>\n  <a href=\"https://codecov.io/gh/Frondor/binder\">\n    <img src=\"https://img.shields.io/codecov/c/github/frondor/binder/master.svg\" alt=\"coverage\">\n  </a>\n  <a href=\"https://bundlephobia.com/result?p=binder@latest\">\n    <img src=\"https://img.shields.io/bundlephobia/minzip/binder.svg\" alt=\"Package size\">\n  </a>\n  <a href=\"https://snyk.io/test/npm/binder\">\n    <img src=\"https://snyk.io/test/npm/binder/badge.svg\" alt=\"Known Vulnerabilities\">\n  </a>\n</p>\n\nSimple, yet powerful IoC container and service locator for both, the browser and node.\nInspired by [Illuminate/Container](https://github.com/illuminate/container).\n\n## Installation\n\nNPM users:\n\n```console\n> npm i binder\n```\nYARN users: \n\n```console\n> yarn add binder\n```\n\n## Usage\n\nWhile we miss a documentation website for this, you can simply check out the following example.\n\nYou can also refer to the [test cases](test/container.test.ts) and the [Container](src/Container.ts) API, which is pretty easy \n\n```js\nimport { Container } from 'binder'\nconst container = new Container()\n\nclass User {\n  constructor({ email, password }) {\n    this.email = email.toLowerCase().trim()\n    this.password = password.trim()\n  }\n}\n\n/**\n * This class is bound to the container using a factory function\n * that passes a Connection object as its dependency \n */\nclass UserRepository {\n  constructor(connection) {\n    this.db = connection;\n  }\n\n  async create({ email, password }) {\n    const user = new User({ email, password })\n    await UserRepository.validate(user)\n\n    return this.db.insert(user.toJSON())\n  }\n\n  async findById(id) {\n    const user = await this.db.select('email', 'password').where({ id })\n\n    if (user) return new User(user)\n\n    return null\n  }\n\n  static validate({ email, password }) {\n    if (!email) throw new TypeError('Email is required')\n    if (!password) throw new TypeError('Password is required')\n  }\n}\n\n/**\n * This class is directly bound to the container, which injects itself\n * as the first param whenever the class is resolved. \n */\nclass UserController {\n  constructor(container) {\n    // UserRepository is resolved by reference, so we have intellisense support!\n    this.userRepo = containger.get(UserRepository)\n  }\n\n  // Simple handler for an express route, using the controller's instance\n  async createUser(req, res) {\n    const { email, password } = req.body;\n    try {\n      const user = await this.userRepo.create({ email, password })\n      res.send({ user })\n    } catch (err) {\n      const { stack, ...error } = err\n      res.status(400).send({ error })\n    }\n  }\n\n  async getUser(req, res) {\n    const { id } = req.body;\n    try {\n      const user = await this.userRepo.findById(id)\n      if (user === null) {\n        throw Object.assign(new Error(`User ${id} not found`), { status: 404 })\n      }\n\n      res.send({ user })\n    } catch (err) {\n      const { stack, status = 500, ...error } = err\n      res.status(status).send({ error })\n    }\n  }\n}\n\n/**\n * We want to share the same instance of UserRepository, \n * hence we bind it as a singleton, otherwise we'd use .bind()\n * \n * We can provide a factory function as the second param\n * to resolve its dependencies (also from the container).\n */\ncontainer.singleton(UserRepository, (container) => {\n  const connection = container.get('db').table('users')\n  return new UserRepository(connection)\n})\n\n/**\n * Because UserController depends directly on the Container,\n * we can simply pass its class to either .get() or .make() methods.\n * The Container will know how to resolve and return an instance of it\n */\ncontainer.singleton(UserController)\n\n// Example usage with an Express application (you may want to use a middleware instead)\napp.post('/users', (req, res) => container.get(UserController).createUser(req, res))\napp.post('/users/:id', (req, res) => container.get(UserController).getUser(req, res))\n\n```\n\n","readmeFilename":"README.md"}