inversify-typesafe 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- var n=require("inversify");exports.TypesafeContainer=/*#__PURE__*/function(){function t(t,e){var r=this;this.container=void 0,this.container=new n.Container(e),Object.entries(t).forEach(function(n){(0,n[1])(r.container.bind(n[0]),r.container)})}var e=t.prototype;return e.get=function(n){return this.container.get(n)},e.getContainer=function(){return this.container},t}(),exports.returnTypesafeInject=function(){return function(t){return n.inject(t)}};
1
+ var e=require("inversify");exports.createTypesafeContainer=function(n,r){var t=new e.Container(r);return Object.entries(n).forEach(function(e){(0,e[1])(t.bind(e[0]),t)}),t},exports.returnTypesafeInject=function(){return function(n){return e.inject(n)}};
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { BindToFluentSyntax, Container, ContainerOptions, inject } from \"inversify\";\n\nexport type TypesafeServiceConfig<S> = {\n [K in keyof S]: ((\n bind: BindToFluentSyntax<S[K]>,\n container: Omit<Container, \"get\"> & { get<T extends keyof S>(serviceName: T): S[T] }\n ) => void);\n};\n\nexport const returnTypesafeInject = <Name extends string>() => (name: Name) => inject(name);\n\nexport class TypesafeContainer<S extends Record<string, unknown>> {\n private container: Container;\n constructor(\n serviceConfig: TypesafeServiceConfig<S>,\n options?: ContainerOptions,\n ) {\n this.container = new Container(options);\n\n Object.entries(serviceConfig).forEach(([name, bindingFunction]) => {\n bindingFunction(this.container.bind(name), this.container);\n });\n }\n\n public get<T extends keyof S>(serviceName: T): S[T] {\n return this.container.get(serviceName as string);\n }\n\n // only if you need to use inversify features.\n public getContainer() {\n return this.container;\n }\n}"],"names":["TypesafeContainer","serviceConfig","options","_this","this","container","Container","Object","entries","forEach","_ref","bindingFunction","bind","_proto","prototype","get","serviceName","getContainer","name","inject"],"mappings":"kEAW8B,WAE5B,SAAAA,EACEC,EACAC,GAA0B,IAAAC,EAAAC,KAAAA,KAHpBC,eAAS,EAKfD,KAAKC,UAAY,IAAIC,EAAAA,UAAUJ,GAE/BK,OAAOC,QAAQP,GAAeQ,QAAQ,SAAAC,IACpCC,EAD2DD,EAAA,IAC3CP,EAAKE,UAAUO,KADWF,EAAA,IACCP,EAAKE,UAClD,EACF,CAAC,IAAAQ,EAAAb,EAAAc,iBAAAD,EAEME,IAAA,SAAuBC,GAC5B,OAAWZ,KAACC,UAAUU,IAAIC,EAC5B,EAACH,EAGMI,aAAA,WACL,OAAWb,KAACC,SACd,EAACL,CAAA,CApB2B,gCAFM,WAA2B,OAAA,SAACkB,GAAU,OAAKC,EAAAA,OAAOD,EAAK,CAAA"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { BindToFluentSyntax, Container, ContainerOptions, inject } from \"inversify\";\n\nexport type TypesafeContainer<S extends Record<string, unknown>> =\n Omit<Container, \"get\"> & {\n get<T extends keyof S>(serviceName: T): S[T];\n };\n\nexport type TypesafeServiceConfig<S extends Record<string, unknown>> = {\n [K in keyof S]: ((\n bind: BindToFluentSyntax<S[K]>,\n container: TypesafeContainer<S>\n ) => void);\n};\n\nexport const returnTypesafeInject = <Name extends string>() => (name: Name) => inject(name);\n\nexport const createTypesafeContainer = <S extends Record<string, unknown>>(\n serviceConfig: TypesafeServiceConfig<S>,\n options?: ContainerOptions,\n): TypesafeContainer<S> => {\n const container = new Container(options);\n\n Object.entries(serviceConfig).forEach(([name, bindingFunction]) => {\n bindingFunction(container.bind(name), container);\n });\n\n return container;\n};"],"names":["serviceConfig","options","container","Container","Object","entries","forEach","_ref","bindingFunction","bind","name","inject"],"mappings":"2DAgBuC,SACrCA,EACAC,GAEA,IAAMC,EAAY,IAAIC,EAAAA,UAAUF,GAMhC,OAJAG,OAAOC,QAAQL,GAAeM,QAAQ,SAAAC,IACpCC,EAD2DD,EAC3DC,IAAgBN,EAAUO,KADgBF,MACJL,EACxC,GAEOA,CACT,+BAboC,kBAA4BQ,SAAAA,UAAeC,EAAAA,OAAOD,EAAK,CAE3F"}
package/dist/index.d.cts CHANGED
@@ -1,13 +1,9 @@
1
1
  import { BindToFluentSyntax, Container, ContainerOptions } from "inversify";
2
- export type TypesafeServiceConfig<S> = {
3
- [K in keyof S]: ((bind: BindToFluentSyntax<S[K]>, container: Omit<Container, "get"> & {
4
- get<T extends keyof S>(serviceName: T): S[T];
5
- }) => void);
2
+ export type TypesafeContainer<S extends Record<string, unknown>> = Omit<Container, "get"> & {
3
+ get<T extends keyof S>(serviceName: T): S[T];
4
+ };
5
+ export type TypesafeServiceConfig<S extends Record<string, unknown>> = {
6
+ [K in keyof S]: ((bind: BindToFluentSyntax<S[K]>, container: TypesafeContainer<S>) => void);
6
7
  };
7
8
  export declare const returnTypesafeInject: <Name extends string>() => (name: Name) => MethodDecorator & ParameterDecorator & PropertyDecorator;
8
- export declare class TypesafeContainer<S extends Record<string, unknown>> {
9
- private container;
10
- constructor(serviceConfig: TypesafeServiceConfig<S>, options?: ContainerOptions);
11
- get<T extends keyof S>(serviceName: T): S[T];
12
- getContainer(): Container;
13
- }
9
+ export declare const createTypesafeContainer: <S extends Record<string, unknown>>(serviceConfig: TypesafeServiceConfig<S>, options?: ContainerOptions) => TypesafeContainer<S>;
package/dist/index.d.ts CHANGED
@@ -1,13 +1,9 @@
1
1
  import { BindToFluentSyntax, Container, ContainerOptions } from "inversify";
2
- export type TypesafeServiceConfig<S> = {
3
- [K in keyof S]: ((bind: BindToFluentSyntax<S[K]>, container: Omit<Container, "get"> & {
4
- get<T extends keyof S>(serviceName: T): S[T];
5
- }) => void);
2
+ export type TypesafeContainer<S extends Record<string, unknown>> = Omit<Container, "get"> & {
3
+ get<T extends keyof S>(serviceName: T): S[T];
4
+ };
5
+ export type TypesafeServiceConfig<S extends Record<string, unknown>> = {
6
+ [K in keyof S]: ((bind: BindToFluentSyntax<S[K]>, container: TypesafeContainer<S>) => void);
6
7
  };
7
8
  export declare const returnTypesafeInject: <Name extends string>() => (name: Name) => MethodDecorator & ParameterDecorator & PropertyDecorator;
8
- export declare class TypesafeContainer<S extends Record<string, unknown>> {
9
- private container;
10
- constructor(serviceConfig: TypesafeServiceConfig<S>, options?: ContainerOptions);
11
- get<T extends keyof S>(serviceName: T): S[T];
12
- getContainer(): Container;
13
- }
9
+ export declare const createTypesafeContainer: <S extends Record<string, unknown>>(serviceConfig: TypesafeServiceConfig<S>, options?: ContainerOptions) => TypesafeContainer<S>;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{inject as t,Container as n}from"inversify";const i=()=>n=>t(n);class r{constructor(t,i){this.container=void 0,this.container=new n(i),Object.entries(t).forEach(([t,n])=>{n(this.container.bind(t),this.container)})}get(t){return this.container.get(t)}getContainer(){return this.container}}export{r as TypesafeContainer,i as returnTypesafeInject};
1
+ import{inject as r,Container as e}from"inversify";const n=()=>e=>r(e),t=(r,n)=>{const t=new e(n);return Object.entries(r).forEach(([r,e])=>{e(t.bind(r),t)}),t};export{t as createTypesafeContainer,n as returnTypesafeInject};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { BindToFluentSyntax, Container, ContainerOptions, inject } from \"inversify\";\n\nexport type TypesafeServiceConfig<S> = {\n [K in keyof S]: ((\n bind: BindToFluentSyntax<S[K]>,\n container: Omit<Container, \"get\"> & { get<T extends keyof S>(serviceName: T): S[T] }\n ) => void);\n};\n\nexport const returnTypesafeInject = <Name extends string>() => (name: Name) => inject(name);\n\nexport class TypesafeContainer<S extends Record<string, unknown>> {\n private container: Container;\n constructor(\n serviceConfig: TypesafeServiceConfig<S>,\n options?: ContainerOptions,\n ) {\n this.container = new Container(options);\n\n Object.entries(serviceConfig).forEach(([name, bindingFunction]) => {\n bindingFunction(this.container.bind(name), this.container);\n });\n }\n\n public get<T extends keyof S>(serviceName: T): S[T] {\n return this.container.get(serviceName as string);\n }\n\n // only if you need to use inversify features.\n public getContainer() {\n return this.container;\n }\n}"],"names":["returnTypesafeInject","name","inject","TypesafeContainer","constructor","serviceConfig","options","container","this","Container","Object","entries","forEach","bindingFunction","bind","get","serviceName","getContainer"],"mappings":"kDASa,MAAAA,EAAuBA,IAA4BC,GAAeC,EAAOD,SAEzEE,EAEXC,WAAAA,CACEC,EACAC,GAHMC,KAAAA,eAKN,EAAAC,KAAKD,UAAY,IAAIE,EAAUH,GAE/BI,OAAOC,QAAQN,GAAeO,QAAQ,EAAEX,EAAMY,MAC5CA,EAAgBL,KAAKD,UAAUO,KAAKb,GAAOO,KAAKD,YAEpD,CAEOQ,GAAAA,CAAuBC,GAC5B,OAAOR,KAAKD,UAAUQ,IAAIC,EAC5B,CAGOC,YAAAA,GACL,OAAOT,KAAKD,SACd"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { BindToFluentSyntax, Container, ContainerOptions, inject } from \"inversify\";\n\nexport type TypesafeContainer<S extends Record<string, unknown>> =\n Omit<Container, \"get\"> & {\n get<T extends keyof S>(serviceName: T): S[T];\n };\n\nexport type TypesafeServiceConfig<S extends Record<string, unknown>> = {\n [K in keyof S]: ((\n bind: BindToFluentSyntax<S[K]>,\n container: TypesafeContainer<S>\n ) => void);\n};\n\nexport const returnTypesafeInject = <Name extends string>() => (name: Name) => inject(name);\n\nexport const createTypesafeContainer = <S extends Record<string, unknown>>(\n serviceConfig: TypesafeServiceConfig<S>,\n options?: ContainerOptions,\n): TypesafeContainer<S> => {\n const container = new Container(options);\n\n Object.entries(serviceConfig).forEach(([name, bindingFunction]) => {\n bindingFunction(container.bind(name), container);\n });\n\n return container;\n};"],"names":["returnTypesafeInject","name","inject","createTypesafeContainer","serviceConfig","options","container","Container","Object","entries","forEach","bindingFunction","bind"],"mappings":"kDAca,MAAAA,EAAuBA,IAA4BC,GAAeC,EAAOD,GAEzEE,EAA0BA,CACrCC,EACAC,KAEA,MAAMC,EAAY,IAAIC,EAAUF,GAMhC,OAJAG,OAAOC,QAAQL,GAAeM,QAAQ,EAAET,EAAMU,MAC5CA,EAAgBL,EAAUM,KAAKX,GAAOK,KAGjCA"}
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("inversify")):"function"==typeof define&&define.amd?define(["exports","inversify"],e):e((n||self).inversifyTypesafe={},n.inversify)}(this,function(n,e){n.TypesafeContainer=/*#__PURE__*/function(){function n(n,t){var i=this;this.container=void 0,this.container=new e.Container(t),Object.entries(n).forEach(function(n){(0,n[1])(i.container.bind(n[0]),i.container)})}var t=n.prototype;return t.get=function(n){return this.container.get(n)},t.getContainer=function(){return this.container},n}(),n.returnTypesafeInject=function(){return function(n){return e.inject(n)}}});
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("inversify")):"function"==typeof define&&define.amd?define(["exports","inversify"],n):n((e||self).inversifyTypesafe={},e.inversify)}(this,function(e,n){e.createTypesafeContainer=function(e,i){var t=new n.Container(i);return Object.entries(e).forEach(function(e){(0,e[1])(t.bind(e[0]),t)}),t},e.returnTypesafeInject=function(){return function(e){return n.inject(e)}}});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/index.ts"],"sourcesContent":["import { BindToFluentSyntax, Container, ContainerOptions, inject } from \"inversify\";\n\nexport type TypesafeServiceConfig<S> = {\n [K in keyof S]: ((\n bind: BindToFluentSyntax<S[K]>,\n container: Omit<Container, \"get\"> & { get<T extends keyof S>(serviceName: T): S[T] }\n ) => void);\n};\n\nexport const returnTypesafeInject = <Name extends string>() => (name: Name) => inject(name);\n\nexport class TypesafeContainer<S extends Record<string, unknown>> {\n private container: Container;\n constructor(\n serviceConfig: TypesafeServiceConfig<S>,\n options?: ContainerOptions,\n ) {\n this.container = new Container(options);\n\n Object.entries(serviceConfig).forEach(([name, bindingFunction]) => {\n bindingFunction(this.container.bind(name), this.container);\n });\n }\n\n public get<T extends keyof S>(serviceName: T): S[T] {\n return this.container.get(serviceName as string);\n }\n\n // only if you need to use inversify features.\n public getContainer() {\n return this.container;\n }\n}"],"names":["TypesafeContainer","serviceConfig","options","_this","this","container","Container","Object","entries","forEach","_ref","bindingFunction","bind","_proto","prototype","get","serviceName","getContainer","name","inject"],"mappings":"2TAW8B,WAE5B,SAAAA,EACEC,EACAC,GAA0B,IAAAC,EAAAC,KAAAA,KAHpBC,eAAS,EAKfD,KAAKC,UAAY,IAAIC,EAAAA,UAAUJ,GAE/BK,OAAOC,QAAQP,GAAeQ,QAAQ,SAAAC,IACpCC,EAD2DD,EAAA,IAC3CP,EAAKE,UAAUO,KADWF,EAAA,IACCP,EAAKE,UAClD,EACF,CAAC,IAAAQ,EAAAb,EAAAc,iBAAAD,EAEME,IAAA,SAAuBC,GAC5B,OAAWZ,KAACC,UAAUU,IAAIC,EAC5B,EAACH,EAGMI,aAAA,WACL,OAAWb,KAACC,SACd,EAACL,CAAA,CApB2B,0BAFM,WAA2B,OAAA,SAACkB,GAAU,OAAKC,EAAAA,OAAOD,EAAK,CAAA"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/index.ts"],"sourcesContent":["import { BindToFluentSyntax, Container, ContainerOptions, inject } from \"inversify\";\n\nexport type TypesafeContainer<S extends Record<string, unknown>> =\n Omit<Container, \"get\"> & {\n get<T extends keyof S>(serviceName: T): S[T];\n };\n\nexport type TypesafeServiceConfig<S extends Record<string, unknown>> = {\n [K in keyof S]: ((\n bind: BindToFluentSyntax<S[K]>,\n container: TypesafeContainer<S>\n ) => void);\n};\n\nexport const returnTypesafeInject = <Name extends string>() => (name: Name) => inject(name);\n\nexport const createTypesafeContainer = <S extends Record<string, unknown>>(\n serviceConfig: TypesafeServiceConfig<S>,\n options?: ContainerOptions,\n): TypesafeContainer<S> => {\n const container = new Container(options);\n\n Object.entries(serviceConfig).forEach(([name, bindingFunction]) => {\n bindingFunction(container.bind(name), container);\n });\n\n return container;\n};"],"names":["serviceConfig","options","container","Container","Object","entries","forEach","_ref","bindingFunction","bind","name","inject"],"mappings":"oTAgBuC,SACrCA,EACAC,GAEA,IAAMC,EAAY,IAAIC,EAAAA,UAAUF,GAMhC,OAJAG,OAAOC,QAAQL,GAAeM,QAAQ,SAAAC,IACpCC,EAD2DD,EAC3DC,IAAgBN,EAAUO,KADgBF,MACJL,EACxC,GAEOA,CACT,yBAboC,kBAA4BQ,SAAAA,UAAeC,EAAAA,OAAOD,EAAK,CAE3F"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "inversify-typesafe",
3
3
  "type": "module",
4
- "version": "0.3.2",
4
+ "version": "0.4.0",
5
5
  "description": "Boost InversifyJS with Type Safety.",
6
6
  "source": "src/index.ts",
7
7
  "exports": {