{"bugs":{"url":"https://github.com/deebloo/joist/issues"},"dist":{"shasum":"f41c9f107ac5f175b18b7c25426fb322f514d1e1","tarball":"https://registry.npmjs.org/@joist/styled/-/styled-2.0.0-next.1638208997.0.tgz","fileCount":9,"integrity":"sha512-E4OaUvh/q2fzAVnC5tN8p3eiuIA4uuIWIQvhewcyCC4L/mun/vLkSWTpdz5z+1zqXZl6QvToqoPNXCsDQ76cIw==","signatures":[{"sig":"MEYCIQDQxjpRRTetyLo6ntcmiLPOjz50Iun4TKXHsoq5XVa4DgIhAO042dDoH8Mk6LybntYq7bZXNs8qD6FtH3+yHPfy1NCQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpRXqCRA9TVsSAnZWagAAc3wP/ihOsOFXVBSunmn9582i\nQuNv/REdYx2noKYGv+dQ+kB5Jj1xS0WV3dgZ56pacdLz7x9yDqhBwdpJIHvv\n0xOwdqJAZmsCJE8PapuD1WR/O7M2Sgg/A3Qu0c/s3a1+L0pOZlx6mQMKj2TQ\nWc4VhQpXJ0x1mxIycPptd3702wSgm9qq2dTlkqPoQfdK4X9wcYL9KL5+m3kj\nT2ULW3Ics9xrsuJtRpCrAHYUp+0syOmc72uCL+wCTbFeEkbb0FYwgpwwu7l8\nTxfMO2Cpw1WGpKvluVs5PxwWyuMLNNP0diAviHYl1JkrH7H5aOKqyjHREHyG\nbY0lsH5/LE9wUrK7BlSzH47EvCYbGu9grPpxccinwcDIQveHpPpo9hZkJzsE\nutt5fYuOpW6N9NTsM3lxszj+uFQx6HDRJws92kZyG6f9/Mq5j8k0I2BI7XfD\niDr96Y+Qp+hm0ik/DhEUZ4Dzel1p8WWj5dv+c1xIFbzkbXTXxv/4FR1pJGFp\nxKTHoboQwUdFTQG8npZob87WhHNEZeGyy/fEjKzVESZX/7mRfFI0ztJsPxZx\nLWAiY/dVeAK7fgX2OYZH8frZ3ta0xsM1K3srExzfj1iPpASy0I+5HJQwj+Kc\nK+lf9SFJMkAQJNGVbYQhHJlrFTnb5d7BsgRgDwxZ19fbUXPQHvmODvu9NJK7\nZCyr\r\n=QhTY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./target/build/lib.js","name":"@joist/styled","author":{"name":"deebloo"},"module":"./target/build/lib.js","readme":"# Di\n\nDependency Injection in ~800 bytes. Can be used with and without decorators.\n\n#### Installation:\n\n```BASH\nnpm i @joist/di\n```\n\n#### Example:\n\n```TS\nimport { Injector } from '@joist/di';\n\nclass FooService {\n  sayHello() {\n    return 'Hello From FooService';\n  }\n}\n\nclass BarService {\n  static deps = [FooService];\n\n  constructor(private foo: FooService) {}\n\n  sayHello() {\n    return 'Hello From BarService and ' + this.foo.sayHello();\n  }\n}\n\nconst app = new Injector();\n\napp.get(BarService).sayHello(); // Hello from BarService and Hello from FooService\n```\n\n```TS\nimport { Injector } from '@joist/di';\nimport { inject } from '@joist/di/decorators';\n\nclass FooService {\n  sayHello() {\n    return 'Hello From FooService';\n  }\n}\n\nclass BarService {\n  constructor(@inject(FooService) private foo: FooService) {}\n\n  sayHello() {\n    return 'Hello From BarService and ' + this.foo.sayHello();\n  }\n}\n\nconst app = new Injector();\n\napp.get(BarService).sayHello(); // Hello from BarService and Hello from FooService\n```\n\n#### Override A Service:\n\n```TS\nimport { Injector } from '@joist/di';\nimport { inject } from '@joist/di/decorators';\n\nclass FooService {\n  sayHello() {\n    return 'Hello From FooService';\n  }\n}\n\nclass BarService {\n  constructor(@inject(FooService) private foo: FooService) {}\n\n  sayHello() {\n    return 'Hello From BarService and ' + this.foo.sayHello();\n  }\n}\n\n// Override FooService with an alternate implementation\nconst app = new Injector({\n  providers: [\n    {\n      provide: FooService,\n      use: class extends FooService {\n        sayHello() {\n          return 'IT HAS BEEN OVERRIDEN'\n        }\n      }\n    }\n  ]\n});\n\napp.get(BarService).sayHello(); // Hello from BarService and IT HAS BEEN OVERRIDEN\n```\n\n#### Root Service\n\nIf you have nested injectors and you still want singleton instances mark your service as shown or decorate with `@service()`\n\n```TS\nclass FooService {\n  static providedInRoot = true;\n\n  sayHello() {\n    return 'Hello From FooService';\n  }\n}\n```\n\n```TS\nimport { service } from '@joist/di/decorators';\n\n@service()\nclass FooService {\n  sayHello() {\n    return 'Hello From FooService';\n  }\n}\n```\n","exports":{".":{"import":"./target/build/lib.js"},"./styled":{"import":"./target/build/lib/styled.js"},"./observable":{"import":"./target/build/lib/observable.js"}},"gitHead":"c99017a6f57235948d3753db16743ee23118c91a","license":"MIT","scripts":{"test":"tsc -p tsconfig.test.json && wtr --config ../../wtr.config.mjs --port 8000","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"deebloo","email":"dannybluedesign@gmail.com"},"homepage":"https://github.com/deebloo/joist#readme","keywords":["TypeScript","DI","Dependency Injection"],"repository":{"url":"git+https://github.com/deebloo/joist.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.18.1+x64 (linux)","description":"Dependency Injection in ~800 bytes","directories":{},"maintainers":[{"name":"deebloo","email":"dannybluedesign@gmail.com"}],"sideEffects":false,"_nodeVersion":"14.18.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/styled_2.0.0-next.1638208997.0_1638209002235_0.7399978384066213","host":"s3://npm-registry-packages"},"_id":"@joist/styled@2.0.0-next.1638208997.0","version":"2.0.0-next.1638208997.0"}