@tsed/typegraphql 7.22.2 → 7.23.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.
Files changed (37) hide show
  1. package/jest.config.js +4 -4
  2. package/lib/cjs/constants/constants.js +2 -3
  3. package/lib/cjs/constants/constants.js.map +1 -1
  4. package/lib/cjs/decorators/{resolverService.js → resolver.js} +8 -4
  5. package/lib/cjs/decorators/resolver.js.map +1 -0
  6. package/lib/cjs/exports.js +7 -0
  7. package/lib/cjs/exports.js.map +1 -0
  8. package/lib/cjs/index.js +2 -2
  9. package/lib/cjs/index.js.map +1 -1
  10. package/lib/cjs/services/TypeGraphQLService.js +35 -66
  11. package/lib/cjs/services/TypeGraphQLService.js.map +1 -1
  12. package/lib/esm/constants/constants.js +1 -2
  13. package/lib/esm/constants/constants.js.map +1 -1
  14. package/lib/esm/decorators/{resolverService.js → resolver.js} +7 -4
  15. package/lib/esm/decorators/resolver.js.map +1 -0
  16. package/lib/esm/exports.js +2 -0
  17. package/lib/esm/exports.js.map +1 -0
  18. package/lib/esm/index.js +2 -2
  19. package/lib/esm/index.js.map +1 -1
  20. package/lib/esm/services/TypeGraphQLService.js +36 -67
  21. package/lib/esm/services/TypeGraphQLService.js.map +1 -1
  22. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  23. package/lib/tsconfig.tsbuildinfo +1 -1
  24. package/lib/types/constants/constants.d.ts +1 -2
  25. package/lib/types/decorators/{resolverService.d.ts → resolver.d.ts} +7 -0
  26. package/lib/types/exports.d.ts +1 -0
  27. package/lib/types/index.d.ts +2 -2
  28. package/lib/types/services/TypeGraphQLService.d.ts +2 -11
  29. package/package.json +6 -6
  30. package/readme.md +2 -2
  31. package/lib/cjs/decorators/dataSourceService.js +0 -40
  32. package/lib/cjs/decorators/dataSourceService.js.map +0 -1
  33. package/lib/cjs/decorators/resolverService.js.map +0 -1
  34. package/lib/esm/decorators/dataSourceService.js +0 -36
  35. package/lib/esm/decorators/dataSourceService.js.map +0 -1
  36. package/lib/esm/decorators/resolverService.js.map +0 -1
  37. package/lib/types/decorators/dataSourceService.d.ts +0 -28
package/jest.config.js CHANGED
@@ -9,10 +9,10 @@ module.exports = {
9
9
  },
10
10
  coverageThreshold: {
11
11
  global: {
12
- statements: 94.96,
13
- branches: 75,
14
- functions: 95,
15
- lines: 94.96
12
+ statements: 95.3,
13
+ branches: 65.62,
14
+ functions: 94.11,
15
+ lines: 95.3
16
16
  }
17
17
  }
18
18
  };
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PROVIDER_TYPE_RESOLVER_SERVICE = exports.PROVIDER_TYPE_DATASOURCE_SERVICE = void 0;
4
- exports.PROVIDER_TYPE_DATASOURCE_SERVICE = "graphQLDataSourceService";
5
- exports.PROVIDER_TYPE_RESOLVER_SERVICE = "graphQLResolverService";
3
+ exports.RESOLVERS_PROVIDERS = void 0;
4
+ exports.RESOLVERS_PROVIDERS = "graphql:resolvers";
6
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gCAAgC,GAAG,0BAA0B,CAAC;AAC9D,QAAA,8BAA8B,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,mBAAmB,CAAC"}
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResolverService = void 0;
3
+ exports.ResolverService = exports.ResolverController = void 0;
4
4
  const core_1 = require("@tsed/core");
5
5
  const di_1 = require("@tsed/di");
6
6
  const type_graphql_1 = require("type-graphql");
7
7
  const constants_1 = require("../constants/constants");
8
- function ResolverService(...args) {
8
+ function ResolverController(...args) {
9
9
  return (0, core_1.useDecorators)(type_graphql_1.Resolver(...args), (0, di_1.Injectable)({
10
- type: constants_1.PROVIDER_TYPE_RESOLVER_SERVICE
10
+ type: constants_1.RESOLVERS_PROVIDERS
11
11
  }));
12
12
  }
13
+ exports.ResolverController = ResolverController;
14
+ function ResolverService(...args) {
15
+ return ResolverController(...args);
16
+ }
13
17
  exports.ResolverService = ResolverService;
14
- //# sourceMappingURL=resolverService.js.map
18
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/decorators/resolver.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AACzC,iCAAoC;AACpC,+CAAiD;AAEjD,sDAA2D;AAM3D,SAAgB,kBAAkB,CAAC,GAAG,IAAW;IAC/C,OAAO,IAAA,oBAAa,EACjB,uBAAgB,CAAC,GAAG,IAAI,CAAC,EAC1B,IAAA,eAAU,EAAC;QACT,IAAI,EAAE,+BAAmB;KAC1B,CAAC,CACH,CAAC;AACJ,CAAC;AAPD,gDAOC;AASD,SAAgB,eAAe,CAAC,GAAG,IAAW;IAC5C,OAAQ,kBAA0B,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataSourceService = exports.DataSource = void 0;
4
+ var apollo_1 = require("@tsed/apollo");
5
+ Object.defineProperty(exports, "DataSource", { enumerable: true, get: function () { return apollo_1.DataSource; } });
6
+ Object.defineProperty(exports, "DataSourceService", { enumerable: true, get: function () { return apollo_1.DataSourceService; } });
7
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,uCAA2D;AAAnD,oGAAA,UAAU,OAAA;AAAE,2GAAA,iBAAiB,OAAA"}
package/lib/cjs/index.js CHANGED
@@ -5,9 +5,9 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const tslib_1 = require("tslib");
7
7
  tslib_1.__exportStar(require("./TypeGraphQLModule"), exports);
8
+ tslib_1.__exportStar(require("./exports"), exports);
8
9
  tslib_1.__exportStar(require("./constants/constants"), exports);
9
- tslib_1.__exportStar(require("./decorators/dataSourceService"), exports);
10
- tslib_1.__exportStar(require("./decorators/resolverService"), exports);
10
+ tslib_1.__exportStar(require("./decorators/resolver"), exports);
11
11
  tslib_1.__exportStar(require("./interfaces/TypeGraphQLSettings"), exports);
12
12
  tslib_1.__exportStar(require("./interfaces/interfaces"), exports);
13
13
  tslib_1.__exportStar(require("./services/TypeGraphQLService"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,8DAAoC;AACpC,gEAAsC;AACtC,yEAA+C;AAC/C,uEAA6C;AAC7C,2EAAiD;AACjD,kEAAwC;AACxC,wEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,8DAAoC;AACpC,oDAA0B;AAC1B,gEAAsC;AACtC,gEAAsC;AACtC,2EAAiD;AACjD,kEAAwC;AACxC,wEAA8C"}
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const apollo_1 = require("@tsed/apollo");
6
6
  const di_1 = require("@tsed/di");
7
7
  const logger_1 = require("@tsed/logger");
8
- const TypeGraphql = tslib_1.__importStar(require("type-graphql"));
9
8
  const type_graphql_1 = require("type-graphql");
10
9
  const constants_1 = require("../constants/constants");
11
10
  const getKey = (id) => `typegraphql-${id}`;
@@ -33,37 +32,41 @@ let TypeGraphQLService = class TypeGraphQLService {
33
32
  * @returns {Promise<ApolloServer>}
34
33
  */
35
34
  async createServer(id, settings) {
36
- if (this.has(id)) {
37
- return this.get(id);
38
- }
39
- try {
40
- const { dataSources, resolvers: initialResolvers = [], buildSchemaOptions = {}, serverConfig = {}, ...serverOptions } = settings;
41
- this.configureTypeGraphQLDI();
42
- const resolvers = [...this.getResolvers(), ...initialResolvers];
43
- const schema = await this.createSchema({
44
- container: this.injector,
45
- ...buildSchemaOptions,
46
- resolvers
47
- });
48
- return await this.apolloService.createServer(getKey(id), {
49
- ...serverOptions,
50
- ...serverConfig,
51
- resolvers,
52
- dataSources: this.createDataSources(dataSources, serverConfig.dataSources),
53
- schema
54
- });
55
- }
56
- catch (er) {
57
- /* istanbul ignore next */
58
- this.logger.error({
59
- event: "TYPEGRAPHQL_BOOTSTRAP_ERROR",
60
- error_name: er.name,
61
- message: er.message,
62
- stack: er.stack
63
- });
64
- /* istanbul ignore next */
65
- process.exit(-1);
35
+ if (!this.has(id)) {
36
+ try {
37
+ const { dataSources, resolvers: initialResolvers = [], buildSchemaOptions = {}, serverConfig = {}, ...serverOptions } = settings;
38
+ const resolvers = [...this.getResolvers(), ...initialResolvers, ...(buildSchemaOptions.resolvers || [])];
39
+ const schema = await this.createSchema({
40
+ container: this.injector,
41
+ ...buildSchemaOptions,
42
+ resolvers
43
+ });
44
+ return await this.apolloService.createServer(getKey(id), {
45
+ ...serverOptions,
46
+ ...serverConfig,
47
+ resolvers,
48
+ dataSources: () => {
49
+ return {
50
+ ...(dataSources ? dataSources() : {}),
51
+ ...(serverConfig.dataSources ? serverConfig.dataSources() : {})
52
+ };
53
+ },
54
+ schema
55
+ });
56
+ }
57
+ catch (er) {
58
+ /* istanbul ignore next */
59
+ this.logger.error({
60
+ event: "TYPEGRAPHQL_BOOTSTRAP_ERROR",
61
+ error_name: er.name,
62
+ message: er.message,
63
+ stack: er.stack
64
+ });
65
+ /* istanbul ignore next */
66
+ process.exit(-1);
67
+ }
66
68
  }
69
+ return this.get(id);
67
70
  }
68
71
  /**
69
72
  * Create a new type-graphql Schema and bind it with Ts.ED injector.
@@ -84,41 +87,7 @@ let TypeGraphQLService = class TypeGraphQLService {
84
87
  * @returns {Provider<any>[]}
85
88
  */
86
89
  getResolvers() {
87
- return this.injector.getProviders(constants_1.PROVIDER_TYPE_RESOLVER_SERVICE).map((provider) => provider.useClass);
88
- }
89
- getDataSources() {
90
- const providers = this.injector.getProviders(constants_1.PROVIDER_TYPE_DATASOURCE_SERVICE);
91
- return providers.reduce((map, provider) => {
92
- // set the first letter of the class lowercase to follow proper conventions during access
93
- // i.e. this.context.dataSources.userService
94
- const sourceName = `${provider.name[0].toLowerCase()}${provider.name.slice(1)}`;
95
- map[sourceName] = this.injector.invoke(provider.provide);
96
- return map;
97
- }, {});
98
- }
99
- /**
100
- * create a new dataSources function to use with apollo server config
101
- * @param dataSources
102
- * @param serverConfigSources
103
- */
104
- createDataSources(dataSources, serverConfigSources) {
105
- return () => {
106
- const sources = this.getDataSources();
107
- return {
108
- ...sources,
109
- ...(dataSources ? dataSources() : {}),
110
- ...(serverConfigSources ? serverConfigSources() : {})
111
- };
112
- };
113
- }
114
- configureTypeGraphQLDI() {
115
- // istanbul ignore next
116
- // @ts-ignore
117
- if (TypeGraphql.useContainer) {
118
- // support old version of type-graphql under @v0.17
119
- // @ts-ignore
120
- TypeGraphql.useContainer(this.injectorService);
121
- }
90
+ return this.injector.getProviders(constants_1.RESOLVERS_PROVIDERS).map((provider) => provider.useClass);
122
91
  }
123
92
  };
124
93
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- export const PROVIDER_TYPE_DATASOURCE_SERVICE = "graphQLDataSourceService";
2
- export const PROVIDER_TYPE_RESOLVER_SERVICE = "graphQLResolverService";
1
+ export const RESOLVERS_PROVIDERS = "graphql:resolvers";
3
2
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,0BAA0B,CAAC;AAC3E,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { useDecorators } from "@tsed/core";
2
2
  import { Injectable } from "@tsed/di";
3
3
  import { Resolver } from "type-graphql";
4
- import { PROVIDER_TYPE_RESOLVER_SERVICE } from "../constants/constants.js";
5
- export function ResolverService(...args) {
4
+ import { RESOLVERS_PROVIDERS } from "../constants/constants.js";
5
+ export function ResolverController(...args) {
6
6
  return useDecorators(Resolver(...args), Injectable({
7
- type: PROVIDER_TYPE_RESOLVER_SERVICE
7
+ type: RESOLVERS_PROVIDERS
8
8
  }));
9
9
  }
10
- //# sourceMappingURL=resolverService.js.map
10
+ export function ResolverService(...args) {
11
+ return ResolverController(...args);
12
+ }
13
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/decorators/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAY,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAM3D,MAAM,UAAU,kBAAkB,CAAC,GAAG,IAAW;IAC/C,OAAO,aAAa,CACjB,QAAgB,CAAC,GAAG,IAAI,CAAC,EAC1B,UAAU,CAAC;QACT,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CACH,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,GAAG,IAAW;IAC5C,OAAQ,kBAA0B,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DataSource, DataSourceService } from "@tsed/apollo";
2
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAC,MAAM,cAAc,CAAC"}
package/lib/esm/index.js CHANGED
@@ -2,9 +2,9 @@
2
2
  * @file Automatically generated by barrelsby.
3
3
  */
4
4
  export * from "./TypeGraphQLModule.js";
5
+ export * from "./exports.js";
5
6
  export * from "./constants/constants.js";
6
- export * from "./decorators/dataSourceService.js";
7
- export * from "./decorators/resolverService.js";
7
+ export * from "./decorators/resolver.js";
8
8
  export * from "./interfaces/TypeGraphQLSettings.js";
9
9
  export * from "./interfaces/interfaces.js";
10
10
  export * from "./services/TypeGraphQLService.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
@@ -2,9 +2,8 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { ApolloService } from "@tsed/apollo";
3
3
  import { Inject, Injectable, InjectorService } from "@tsed/di";
4
4
  import { Logger } from "@tsed/logger";
5
- import * as TypeGraphql from "type-graphql";
6
5
  import { buildSchema } from "type-graphql";
7
- import { PROVIDER_TYPE_DATASOURCE_SERVICE, PROVIDER_TYPE_RESOLVER_SERVICE } from "../constants/constants.js";
6
+ import { RESOLVERS_PROVIDERS } from "../constants/constants.js";
8
7
  const getKey = (id) => `typegraphql-${id}`;
9
8
  let TypeGraphQLService = class TypeGraphQLService {
10
9
  injector;
@@ -30,37 +29,41 @@ let TypeGraphQLService = class TypeGraphQLService {
30
29
  * @returns {Promise<ApolloServer>}
31
30
  */
32
31
  async createServer(id, settings) {
33
- if (this.has(id)) {
34
- return this.get(id);
35
- }
36
- try {
37
- const { dataSources, resolvers: initialResolvers = [], buildSchemaOptions = {}, serverConfig = {}, ...serverOptions } = settings;
38
- this.configureTypeGraphQLDI();
39
- const resolvers = [...this.getResolvers(), ...initialResolvers];
40
- const schema = await this.createSchema({
41
- container: this.injector,
42
- ...buildSchemaOptions,
43
- resolvers
44
- });
45
- return await this.apolloService.createServer(getKey(id), {
46
- ...serverOptions,
47
- ...serverConfig,
48
- resolvers,
49
- dataSources: this.createDataSources(dataSources, serverConfig.dataSources),
50
- schema
51
- });
52
- }
53
- catch (er) {
54
- /* istanbul ignore next */
55
- this.logger.error({
56
- event: "TYPEGRAPHQL_BOOTSTRAP_ERROR",
57
- error_name: er.name,
58
- message: er.message,
59
- stack: er.stack
60
- });
61
- /* istanbul ignore next */
62
- process.exit(-1);
32
+ if (!this.has(id)) {
33
+ try {
34
+ const { dataSources, resolvers: initialResolvers = [], buildSchemaOptions = {}, serverConfig = {}, ...serverOptions } = settings;
35
+ const resolvers = [...this.getResolvers(), ...initialResolvers, ...(buildSchemaOptions.resolvers || [])];
36
+ const schema = await this.createSchema({
37
+ container: this.injector,
38
+ ...buildSchemaOptions,
39
+ resolvers
40
+ });
41
+ return await this.apolloService.createServer(getKey(id), {
42
+ ...serverOptions,
43
+ ...serverConfig,
44
+ resolvers,
45
+ dataSources: () => {
46
+ return {
47
+ ...(dataSources ? dataSources() : {}),
48
+ ...(serverConfig.dataSources ? serverConfig.dataSources() : {})
49
+ };
50
+ },
51
+ schema
52
+ });
53
+ }
54
+ catch (er) {
55
+ /* istanbul ignore next */
56
+ this.logger.error({
57
+ event: "TYPEGRAPHQL_BOOTSTRAP_ERROR",
58
+ error_name: er.name,
59
+ message: er.message,
60
+ stack: er.stack
61
+ });
62
+ /* istanbul ignore next */
63
+ process.exit(-1);
64
+ }
63
65
  }
66
+ return this.get(id);
64
67
  }
65
68
  /**
66
69
  * Create a new type-graphql Schema and bind it with Ts.ED injector.
@@ -81,41 +84,7 @@ let TypeGraphQLService = class TypeGraphQLService {
81
84
  * @returns {Provider<any>[]}
82
85
  */
83
86
  getResolvers() {
84
- return this.injector.getProviders(PROVIDER_TYPE_RESOLVER_SERVICE).map((provider) => provider.useClass);
85
- }
86
- getDataSources() {
87
- const providers = this.injector.getProviders(PROVIDER_TYPE_DATASOURCE_SERVICE);
88
- return providers.reduce((map, provider) => {
89
- // set the first letter of the class lowercase to follow proper conventions during access
90
- // i.e. this.context.dataSources.userService
91
- const sourceName = `${provider.name[0].toLowerCase()}${provider.name.slice(1)}`;
92
- map[sourceName] = this.injector.invoke(provider.provide);
93
- return map;
94
- }, {});
95
- }
96
- /**
97
- * create a new dataSources function to use with apollo server config
98
- * @param dataSources
99
- * @param serverConfigSources
100
- */
101
- createDataSources(dataSources, serverConfigSources) {
102
- return () => {
103
- const sources = this.getDataSources();
104
- return {
105
- ...sources,
106
- ...(dataSources ? dataSources() : {}),
107
- ...(serverConfigSources ? serverConfigSources() : {})
108
- };
109
- };
110
- }
111
- configureTypeGraphQLDI() {
112
- // istanbul ignore next
113
- // @ts-ignore
114
- if (TypeGraphql.useContainer) {
115
- // support old version of type-graphql under @v0.17
116
- // @ts-ignore
117
- TypeGraphql.useContainer(this.injectorService);
118
- }
87
+ return this.injector.getProviders(RESOLVERS_PROVIDERS).map((provider) => provider.useClass);
119
88
  }
120
89
  };
121
90
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeGraphQLService.js","sourceRoot":"","sources":["../../../src/services/TypeGraphQLService.ts"],"names":[],"mappings":"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"}