type-graphql 2.0.0-rc.1 → 2.0.0-rc.3

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 (84) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +19 -13
  3. package/build/cjs/decorators/Arg.js +1 -2
  4. package/build/cjs/decorators/Args.js +1 -2
  5. package/build/cjs/decorators/ArgsType.js +1 -2
  6. package/build/cjs/decorators/Authorized.js +10 -4
  7. package/build/cjs/decorators/Ctx.js +1 -2
  8. package/build/cjs/decorators/Directive.js +1 -2
  9. package/build/cjs/decorators/Extensions.js +1 -2
  10. package/build/cjs/decorators/Field.js +1 -2
  11. package/build/cjs/decorators/FieldResolver.js +1 -2
  12. package/build/cjs/decorators/Info.js +1 -2
  13. package/build/cjs/decorators/InputType.js +1 -2
  14. package/build/cjs/decorators/InterfaceType.js +1 -2
  15. package/build/cjs/decorators/Mutation.js +1 -2
  16. package/build/cjs/decorators/ObjectType.js +1 -2
  17. package/build/cjs/decorators/Query.js +1 -2
  18. package/build/cjs/decorators/Resolver.js +1 -2
  19. package/build/cjs/decorators/Root.js +1 -2
  20. package/build/cjs/decorators/Subscription.js +1 -2
  21. package/build/cjs/decorators/UseMiddleware.js +10 -4
  22. package/build/cjs/decorators/{createMethodDecorator.js → createMethodMiddlewareDecorator.js} +2 -3
  23. package/build/cjs/decorators/createParameterDecorator.js +38 -0
  24. package/build/cjs/decorators/createResolverClassMiddlewareDecorator.js +7 -0
  25. package/build/cjs/decorators/enums.js +1 -2
  26. package/build/cjs/decorators/index.js +7 -5
  27. package/build/cjs/decorators/unions.js +1 -2
  28. package/build/cjs/helpers/auth-middleware.js +1 -2
  29. package/build/cjs/helpers/decorators.js +3 -4
  30. package/build/cjs/helpers/filesystem.js +2 -3
  31. package/build/cjs/helpers/findType.js +1 -2
  32. package/build/cjs/helpers/isThrowing.js +1 -2
  33. package/build/cjs/helpers/params.js +1 -2
  34. package/build/cjs/helpers/resolver-metadata.js +1 -2
  35. package/build/cjs/helpers/types.js +11 -6
  36. package/build/cjs/metadata/getMetadataStorage.js +1 -2
  37. package/build/cjs/metadata/metadata-storage.js +176 -26
  38. package/build/cjs/metadata/utils.js +4 -5
  39. package/build/cjs/resolvers/convert-args.js +2 -3
  40. package/build/cjs/resolvers/create.js +4 -5
  41. package/build/cjs/resolvers/helpers.js +7 -4
  42. package/build/cjs/resolvers/validate-arg.js +1 -2
  43. package/build/cjs/schema/definition-node.js +6 -7
  44. package/build/cjs/schema/schema-generator.js +53 -37
  45. package/build/cjs/schema/utils.js +2 -3
  46. package/build/cjs/shim.js +6 -5
  47. package/build/cjs/utils/buildSchema.js +2 -3
  48. package/build/cjs/utils/buildTypeDefsAndResolvers.js +2 -3
  49. package/build/cjs/utils/createResolversMap.js +1 -2
  50. package/build/cjs/utils/emitSchemaDefinitionFile.js +3 -3
  51. package/build/cjs/utils/graphql-version.js +3 -3
  52. package/build/cjs/utils/isPromiseLike.js +1 -2
  53. package/build/esm/decorators/Authorized.js +9 -2
  54. package/build/esm/decorators/UseMiddleware.js +9 -2
  55. package/build/esm/decorators/{createMethodDecorator.js → createMethodMiddlewareDecorator.js} +1 -1
  56. package/build/esm/decorators/createParameterDecorator.js +35 -0
  57. package/build/esm/decorators/createResolverClassMiddlewareDecorator.js +4 -0
  58. package/build/esm/decorators/index.js +3 -2
  59. package/build/esm/helpers/types.js +7 -1
  60. package/build/esm/metadata/metadata-storage.js +176 -26
  61. package/build/esm/resolvers/helpers.js +4 -0
  62. package/build/esm/schema/schema-generator.js +53 -37
  63. package/build/esm/shim.js +3 -2
  64. package/build/esm/utils/graphql-version.js +1 -1
  65. package/build/typings/decorators/Authorized.d.ts +4 -4
  66. package/build/typings/decorators/UseMiddleware.d.ts +3 -3
  67. package/build/typings/decorators/createMethodMiddlewareDecorator.d.ts +2 -0
  68. package/build/typings/decorators/createParameterDecorator.d.ts +12 -0
  69. package/build/typings/decorators/createResolverClassMiddlewareDecorator.d.ts +2 -0
  70. package/build/typings/decorators/index.d.ts +3 -2
  71. package/build/typings/decorators/types.d.ts +1 -0
  72. package/build/typings/metadata/definitions/authorized-metadata.d.ts +1 -0
  73. package/build/typings/metadata/definitions/middleware-metadata.d.ts +1 -0
  74. package/build/typings/metadata/definitions/param-metadata.d.ts +4 -0
  75. package/build/typings/metadata/metadata-storage.d.ts +17 -1
  76. package/build/typings/metadata/utils.d.ts +2 -2
  77. package/build/typings/schema/schema-generator.d.ts +5 -0
  78. package/build/typings/shim.ts +5 -2
  79. package/build/typings/utils/graphql-version.d.ts +1 -1
  80. package/package.json +66 -65
  81. package/build/cjs/decorators/createParamDecorator.js +0 -20
  82. package/build/esm/decorators/createParamDecorator.js +0 -16
  83. package/build/typings/decorators/createMethodDecorator.d.ts +0 -2
  84. package/build/typings/decorators/createParamDecorator.d.ts +0 -2
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018-2024 Michał Lytek
3
+ Copyright (c) 2018-2026 Michał Lytek
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <!-- prettier-ignore-start -->
2
2
  <!-- markdownlint-disable-next-line MD041 -->
3
- ![logo](https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/logo.png)
3
+ ![logo](https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/logo.png)
4
4
  <!-- prettier-ignore-end -->
5
5
 
6
6
  # TypeGraphQL
@@ -139,9 +139,9 @@ If you prefer video tutorials, you can watch [Ben Awad](https://github.com/benaw
139
139
 
140
140
  ### Examples
141
141
 
142
- You can also check the [examples folder](https://github.com/MichalLytek/type-graphql/tree/v2.0.0-rc.1/examples) in this repository for more examples of usage: simple fields resolvers, DI Container support, TypeORM integration, automatic validation, etc.
142
+ You can also check the [examples folder](https://github.com/MichalLytek/type-graphql/tree/v2.0.0-rc.3/examples) in this repository for more examples of usage: simple fields resolvers, DI Container support, TypeORM integration, automatic validation, etc.
143
143
 
144
- The [Tests folder](https://github.com/MichalLytek/type-graphql/tree/v2.0.0-rc.1/tests) might also give you some tips on how to get various things done.
144
+ The [Tests folder](https://github.com/MichalLytek/type-graphql/tree/v2.0.0-rc.3/tests) might also give you some tips on how to get various things done.
145
145
 
146
146
  ## Security contact information
147
147
 
@@ -171,19 +171,25 @@ It doesn't have a large company that sits behind it - its ongoing development is
171
171
 
172
172
  ### Silver Sponsors 🥈
173
173
 
174
- > Please ask your company to support this open source project by [becoming a silver sponsor](https://opencollective.com/typegraphql/contribute/silver-sponsors-14804).
174
+ <!-- markdownlint-disable MD033 -->
175
+
176
+ | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/leofame.png" width="250" alt="Leofame" />](https://leofame.com/buy-instagram-followers) |
177
+ | :---------------------------------------------------------------------------------------------------------: |
178
+ | [**Leofame**](https://leofame.com/buy-instagram-followers) |
175
179
 
176
180
  ### Bronze Sponsors 🥉
177
181
 
178
- <!-- markdownlint-disable MD033 -->
182
+ | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/live-graphics-system.png" width="55" alt="live graphic systems" />](https://www.ligrsystems.com) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/felix.png" width="60" alt="Felix Technologies" />](https://github.com/joinlifex) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/instinctools.svg" width="100" alt="instinctools" />](https://instinctools.com/manufacturing) |
183
+ | :------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: |
184
+ | [**Live Graphic Systems**](https://www.ligrsystems.com) | [**Felix Technologies**](https://github.com/joinlifex/) | [**instinctools**](https://instinctools.com/manufacturing) |
179
185
 
180
- | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/live-graphics-system.png" width="55" alt="live graphic systems" />](https://www.ligrsystems.com) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/lifex.png" width="60" alt="lifeX aps" />](https://www.joinlifex.com) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/instinctools.svg" width="100" alt="instinctools" />](https://instinctools.com/manufacturing) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/vps-server.png" width="125" alt="vps server" />](https://www.vpsserver.com) |
181
- | :------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: |
182
- | [**Live Graphic Systems**](https://www.ligrsystems.com) | [**LifeX Aps**](https://www.joinlifex.com/) | [**instinctools**](https://instinctools.com/manufacturing) | [**VPS Server**](https://www.vpsserver.com) |
186
+ | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/betwinner.svg" width="100" alt="BetWinner" />](https://guidebook.betwinner.com/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/logo-buzzv.png" width="70" alt="BuzzVoice" />](https://buzzvoice.com/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/socialwick-logo.png" width="60" alt="SocialWick" />](https://www.socialwick.com/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/c19.png" width="40" alt="C19" />](https://www.c19.cl/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/nove_casino.svg" width="70" alt="Nove Casino" />](https://novecasino.net/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/play_fortune.png" width="80" alt="Play Fortune" />](https://play-fortune.pl/gry-online/jednoreki-bandyta/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/moonkasyno.png" width="60" alt="MoonKasyno" />](https://wechoosethemoon.org/kasyna-online/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/kasyno-online.png" width="50" alt="Kasyno Online" />](https://www.casinobillions.com/pl/) |
187
+ | :--------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------: |
188
+ | [**BetWinner**](https://guidebook.betwinner.com/) | [**BuzzVoice**](https://buzzvoice.com/) | [**SocialWick**](https://www.socialwick.com/) | [**C19**](https://www.c19.cl/) | [**Nove Casino**](https://novecasino.net/) | [**Play Fortune**](https://play-fortune.pl/gry-online/jednoreki-bandyta/) | [**MoonKasyno**](https://wechoosethemoon.org/kasyna-online/) | [**Kasyno Online**](https://www.casinobillions.com/pl/) |
183
189
 
184
- | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/nongamstopbets.png" width="50" alt="NonGamstopBets" />](https://www.nongamstopbets.com/casinos-not-on-gamstop/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/casinodeps.svg" width="80" alt="CasinoDeps.co.nz" />](https://casinodeps.co.nz/1-dollar-casinos/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/non-stop-casino.png" width="60" alt="Non Stop Casino" />](https://uk.nonstopcasino.org/non-gamstop-casinos/) |
185
- | :---------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: |
186
- | [**NonGamstopBets**](https://www.nongamstopbets.com/casinos-not-on-gamstop/) | [**CasinoDeps**](https://casinodeps.co.nz/1-dollar-casinos/) | [**Non Stop Casino**](https://uk.nonstopcasino.org/non-gamstop-casinos/) |
190
+ | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/sidesmedia.png" width="40" alt="SidesMedia" />](https://sidesmedia.com/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/social_followers.png" width="60" alt="Social Followers" />](https://www.socialfollowers.uk/buy-tiktok-followers/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/ig-comment.png" width="80" alt="IG Comment" />](https://igcomment.com/buy-instagram-comments/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/twicsy.svg" width="100" alt="Twicsy" />](https://twicsy.com/buy-instagram-followers) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/buzzoid.svg" width="90" alt="Buzzoid" />](https://buzzoid.com/buy-instagram-followers/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/v4u.png" width="80" alt="Views4You" />](https://views4you.com/) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/payid_pookies.avif" width="50" alt="PayID Pokies" />](https://au.trustpilot.com/review/bestpayidpokies.net) | [<img src="https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/fun88.png" width="40" alt="Fun88" />](https://global.fun88.com/) |
191
+ | :------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------: |
192
+ | [**SidesMedia**](https://sidesmedia.com/) | [**Social Followers**](https://www.socialfollowers.uk/buy-tiktok-followers/) | [**IG Comment**](https://igcomment.com/buy-instagram-comments/) | [**Twicsy**](https://twicsy.com/buy-instagram-followers) | [**Buzzoid**](https://buzzoid.com/buy-instagram-followers/) | [**Views4You**](https://views4you.com/) | [**PayID Pokies**](https://au.trustpilot.com/review/bestpayidpokies.net) | [**Fun88**](https://global.fun88.com/) |
187
193
 
188
194
  <!-- markdownlint-enable MD033 -->
189
195
 
@@ -195,7 +201,7 @@ It doesn't have a large company that sits behind it - its ongoing development is
195
201
 
196
202
  ### GitHub Sponsors
197
203
 
198
- [![GitHub Sponsors](https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.1/images/github-sponsors.svg)](https://github.com/sponsors/TypeGraphQL)
204
+ [![GitHub Sponsors](https://raw.githubusercontent.com/MichalLytek/type-graphql/v2.0.0-rc.3/images/github-sponsors.svg)](https://github.com/sponsors/TypeGraphQL)
199
205
 
200
206
  ## Community
201
207
 
@@ -205,4 +211,4 @@ It doesn't have a large company that sits behind it - its ongoing development is
205
211
  ## Want to help?
206
212
 
207
213
  Want to file a bug, contribute some code, or improve the documentation? Great! Please read our
208
- guidelines for [CONTRIBUTING](https://github.com/MichalLytek/type-graphql/tree/v2.0.0-rc.1/CONTRIBUTING.md) and then check out one of our [help-wanted issues](https://github.com/MichalLytek/type-graphql/labels/Help%20Wanted%20%3Asos%3A).
214
+ guidelines for [CONTRIBUTING](https://github.com/MichalLytek/type-graphql/tree/v2.0.0-rc.3/CONTRIBUTING.md) and then check out one of our [help-wanted issues](https://github.com/MichalLytek/type-graphql/labels/Help%20Wanted%20%3Asos%3A).
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Arg = void 0;
3
+ exports.Arg = Arg;
4
4
  const decorators_1 = require("../helpers/decorators");
5
5
  const params_1 = require("../helpers/params");
6
6
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
@@ -23,4 +23,3 @@ function Arg(name, returnTypeFuncOrOptions, maybeOptions) {
23
23
  });
24
24
  };
25
25
  }
26
- exports.Arg = Arg;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Args = void 0;
3
+ exports.Args = Args;
4
4
  const decorators_1 = require("../helpers/decorators");
5
5
  const params_1 = require("../helpers/params");
6
6
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
@@ -13,4 +13,3 @@ function Args(paramTypeFnOrOptions, maybeOptions) {
13
13
  });
14
14
  };
15
15
  }
16
- exports.Args = Args;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArgsType = void 0;
3
+ exports.ArgsType = ArgsType;
4
4
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
5
5
  function ArgsType() {
6
6
  return target => {
@@ -10,4 +10,3 @@ function ArgsType() {
10
10
  });
11
11
  };
12
12
  }
13
- exports.ArgsType = ArgsType;
@@ -1,20 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Authorized = void 0;
3
+ exports.Authorized = Authorized;
4
4
  const errors_1 = require("../errors");
5
5
  const decorators_1 = require("../helpers/decorators");
6
6
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
7
7
  function Authorized(...rolesOrRolesArray) {
8
8
  const roles = (0, decorators_1.getArrayFromOverloadedRest)(rolesOrRolesArray);
9
- return (prototype, propertyKey, _descriptor) => {
9
+ return (target, propertyKey, _descriptor) => {
10
+ if (propertyKey == null) {
11
+ (0, getMetadataStorage_1.getMetadataStorage)().collectAuthorizedResolverMetadata({
12
+ target: target,
13
+ roles,
14
+ });
15
+ return;
16
+ }
10
17
  if (typeof propertyKey === "symbol") {
11
18
  throw new errors_1.SymbolKeysNotSupportedError();
12
19
  }
13
20
  (0, getMetadataStorage_1.getMetadataStorage)().collectAuthorizedFieldMetadata({
14
- target: prototype.constructor,
21
+ target: target.constructor,
15
22
  fieldName: propertyKey,
16
23
  roles,
17
24
  });
18
25
  };
19
26
  }
20
- exports.Authorized = Authorized;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Ctx = void 0;
3
+ exports.Ctx = Ctx;
4
4
  const errors_1 = require("../errors");
5
5
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
6
  function Ctx(propertyName) {
@@ -17,4 +17,3 @@ function Ctx(propertyName) {
17
17
  });
18
18
  };
19
19
  }
20
- exports.Ctx = Ctx;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Directive = void 0;
3
+ exports.Directive = Directive;
4
4
  const errors_1 = require("../errors");
5
5
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
6
  function Directive(nameOrDefinition) {
@@ -34,4 +34,3 @@ function Directive(nameOrDefinition) {
34
34
  }
35
35
  };
36
36
  }
37
- exports.Directive = Directive;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Extensions = void 0;
3
+ exports.Extensions = Extensions;
4
4
  const errors_1 = require("../errors");
5
5
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
6
  function Extensions(extensions) {
@@ -23,4 +23,3 @@ function Extensions(extensions) {
23
23
  }
24
24
  };
25
25
  }
26
- exports.Extensions = Extensions;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Field = void 0;
3
+ exports.Field = Field;
4
4
  const errors_1 = require("../errors");
5
5
  const decorators_1 = require("../helpers/decorators");
6
6
  const findType_1 = require("../helpers/findType");
@@ -42,4 +42,3 @@ function Field(returnTypeFuncOrOptions, maybeOptions) {
42
42
  }
43
43
  };
44
44
  }
45
- exports.Field = Field;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldResolver = void 0;
3
+ exports.FieldResolver = FieldResolver;
4
4
  const errors_1 = require("../errors");
5
5
  const decorators_1 = require("../helpers/decorators");
6
6
  const findType_1 = require("../helpers/findType");
@@ -39,4 +39,3 @@ function FieldResolver(returnTypeFuncOrOptions, maybeOptions) {
39
39
  });
40
40
  };
41
41
  }
42
- exports.FieldResolver = FieldResolver;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Info = void 0;
3
+ exports.Info = Info;
4
4
  const errors_1 = require("../errors");
5
5
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
6
  function Info() {
@@ -16,4 +16,3 @@ function Info() {
16
16
  });
17
17
  };
18
18
  }
19
- exports.Info = Info;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InputType = void 0;
3
+ exports.InputType = InputType;
4
4
  const decorators_1 = require("../helpers/decorators");
5
5
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
6
  function InputType(nameOrOptions, maybeOptions) {
@@ -13,4 +13,3 @@ function InputType(nameOrOptions, maybeOptions) {
13
13
  });
14
14
  };
15
15
  }
16
- exports.InputType = InputType;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InterfaceType = void 0;
3
+ exports.InterfaceType = InterfaceType;
4
4
  const decorators_1 = require("../helpers/decorators");
5
5
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
6
  function InterfaceType(nameOrOptions, maybeOptions) {
@@ -16,4 +16,3 @@ function InterfaceType(nameOrOptions, maybeOptions) {
16
16
  });
17
17
  };
18
18
  }
19
- exports.InterfaceType = InterfaceType;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mutation = void 0;
3
+ exports.Mutation = Mutation;
4
4
  const decorators_1 = require("../helpers/decorators");
5
5
  const resolver_metadata_1 = require("../helpers/resolver-metadata");
6
6
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
@@ -11,4 +11,3 @@ function Mutation(returnTypeFuncOrOptions, maybeOptions) {
11
11
  (0, getMetadataStorage_1.getMetadataStorage)().collectMutationHandlerMetadata(metadata);
12
12
  };
13
13
  }
14
- exports.Mutation = Mutation;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectType = void 0;
3
+ exports.ObjectType = ObjectType;
4
4
  const decorators_1 = require("../helpers/decorators");
5
5
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
6
  function ObjectType(nameOrOptions, maybeOptions) {
@@ -16,4 +16,3 @@ function ObjectType(nameOrOptions, maybeOptions) {
16
16
  });
17
17
  };
18
18
  }
19
- exports.ObjectType = ObjectType;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Query = void 0;
3
+ exports.Query = Query;
4
4
  const decorators_1 = require("../helpers/decorators");
5
5
  const resolver_metadata_1 = require("../helpers/resolver-metadata");
6
6
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
@@ -11,4 +11,3 @@ function Query(returnTypeFuncOrOptions, maybeOptions) {
11
11
  (0, getMetadataStorage_1.getMetadataStorage)().collectQueryHandlerMetadata(metadata);
12
12
  };
13
13
  }
14
- exports.Query = Query;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Resolver = void 0;
3
+ exports.Resolver = Resolver;
4
4
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
5
5
  function Resolver(objectTypeOrTypeFunc) {
6
6
  return target => {
@@ -17,4 +17,3 @@ function Resolver(objectTypeOrTypeFunc) {
17
17
  });
18
18
  };
19
19
  }
20
- exports.Resolver = Resolver;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Root = void 0;
3
+ exports.Root = Root;
4
4
  const errors_1 = require("../errors");
5
5
  const findType_1 = require("../helpers/findType");
6
6
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
@@ -31,4 +31,3 @@ function Root(propertyName) {
31
31
  });
32
32
  };
33
33
  }
34
- exports.Root = Root;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Subscription = void 0;
3
+ exports.Subscription = Subscription;
4
4
  const errors_1 = require("../errors");
5
5
  const decorators_1 = require("../helpers/decorators");
6
6
  const resolver_metadata_1 = require("../helpers/resolver-metadata");
@@ -22,4 +22,3 @@ function Subscription(returnTypeFuncOrOptions, maybeOptions) {
22
22
  });
23
23
  };
24
24
  }
25
- exports.Subscription = Subscription;
@@ -1,20 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UseMiddleware = void 0;
3
+ exports.UseMiddleware = UseMiddleware;
4
4
  const errors_1 = require("../errors");
5
5
  const decorators_1 = require("../helpers/decorators");
6
6
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
7
7
  function UseMiddleware(...middlewaresOrMiddlewareArray) {
8
8
  const middlewares = (0, decorators_1.getArrayFromOverloadedRest)(middlewaresOrMiddlewareArray);
9
- return (prototype, propertyKey, _descriptor) => {
9
+ return (target, propertyKey, _descriptor) => {
10
+ if (propertyKey == null) {
11
+ (0, getMetadataStorage_1.getMetadataStorage)().collectResolverMiddlewareMetadata({
12
+ target: target,
13
+ middlewares,
14
+ });
15
+ return;
16
+ }
10
17
  if (typeof propertyKey === "symbol") {
11
18
  throw new errors_1.SymbolKeysNotSupportedError();
12
19
  }
13
20
  (0, getMetadataStorage_1.getMetadataStorage)().collectMiddlewareMetadata({
14
- target: prototype.constructor,
21
+ target: target.constructor,
15
22
  fieldName: propertyKey,
16
23
  middlewares,
17
24
  });
18
25
  };
19
26
  }
20
- exports.UseMiddleware = UseMiddleware;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMethodDecorator = void 0;
3
+ exports.createMethodMiddlewareDecorator = createMethodMiddlewareDecorator;
4
4
  const UseMiddleware_1 = require("./UseMiddleware");
5
- function createMethodDecorator(resolver) {
5
+ function createMethodMiddlewareDecorator(resolver) {
6
6
  return (0, UseMiddleware_1.UseMiddleware)(resolver);
7
7
  }
8
- exports.createMethodDecorator = createMethodDecorator;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createParameterDecorator = createParameterDecorator;
4
+ const errors_1 = require("../errors");
5
+ const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
6
+ const params_1 = require("../helpers/params");
7
+ function createParameterDecorator(resolver, paramOptions = {}) {
8
+ return (prototype, propertyKey, parameterIndex) => {
9
+ if (typeof propertyKey === "symbol") {
10
+ throw new errors_1.SymbolKeysNotSupportedError();
11
+ }
12
+ const options = {};
13
+ if (paramOptions.arg) {
14
+ options.arg = {
15
+ kind: "arg",
16
+ name: paramOptions.arg.name,
17
+ description: paramOptions.arg.options?.description,
18
+ deprecationReason: paramOptions.arg.options?.deprecationReason,
19
+ ...(0, params_1.getParamInfo)({
20
+ prototype,
21
+ propertyKey,
22
+ parameterIndex,
23
+ returnTypeFunc: paramOptions.arg.typeFunc,
24
+ options: paramOptions.arg.options,
25
+ argName: paramOptions.arg.name,
26
+ }),
27
+ };
28
+ }
29
+ (0, getMetadataStorage_1.getMetadataStorage)().collectHandlerParamMetadata({
30
+ kind: "custom",
31
+ target: prototype.constructor,
32
+ methodName: propertyKey,
33
+ index: parameterIndex,
34
+ resolver,
35
+ options,
36
+ });
37
+ };
38
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createResolverClassMiddlewareDecorator = createResolverClassMiddlewareDecorator;
4
+ const UseMiddleware_1 = require("./UseMiddleware");
5
+ function createResolverClassMiddlewareDecorator(resolver) {
6
+ return (0, UseMiddleware_1.UseMiddleware)(resolver);
7
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerEnumType = void 0;
3
+ exports.registerEnumType = registerEnumType;
4
4
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
5
5
  function registerEnumType(enumObj, enumConfig) {
6
6
  (0, getMetadataStorage_1.getMetadataStorage)().collectEnumMetadata({
@@ -10,4 +10,3 @@ function registerEnumType(enumObj, enumConfig) {
10
10
  valuesConfig: enumConfig.valuesConfig || {},
11
11
  });
12
12
  }
13
- exports.registerEnumType = registerEnumType;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UseMiddleware = exports.createUnionType = exports.Subscription = exports.Root = exports.Resolver = exports.Query = exports.ObjectType = exports.Mutation = exports.InterfaceType = exports.InputType = exports.Info = exports.FieldResolver = exports.Field = exports.registerEnumType = exports.Extensions = exports.Directive = exports.Ctx = exports.createMethodDecorator = exports.createParamDecorator = exports.Authorized = exports.ArgsType = exports.Args = exports.Arg = void 0;
3
+ exports.UseMiddleware = exports.createUnionType = exports.Subscription = exports.Root = exports.Resolver = exports.Query = exports.ObjectType = exports.Mutation = exports.InterfaceType = exports.InputType = exports.Info = exports.FieldResolver = exports.Field = exports.registerEnumType = exports.Extensions = exports.Directive = exports.Ctx = exports.createResolverClassMiddlewareDecorator = exports.createMethodMiddlewareDecorator = exports.createParameterDecorator = exports.Authorized = exports.ArgsType = exports.Args = exports.Arg = void 0;
4
4
  var Arg_1 = require("./Arg");
5
5
  Object.defineProperty(exports, "Arg", { enumerable: true, get: function () { return Arg_1.Arg; } });
6
6
  var Args_1 = require("./Args");
@@ -9,10 +9,12 @@ var ArgsType_1 = require("./ArgsType");
9
9
  Object.defineProperty(exports, "ArgsType", { enumerable: true, get: function () { return ArgsType_1.ArgsType; } });
10
10
  var Authorized_1 = require("./Authorized");
11
11
  Object.defineProperty(exports, "Authorized", { enumerable: true, get: function () { return Authorized_1.Authorized; } });
12
- var createParamDecorator_1 = require("./createParamDecorator");
13
- Object.defineProperty(exports, "createParamDecorator", { enumerable: true, get: function () { return createParamDecorator_1.createParamDecorator; } });
14
- var createMethodDecorator_1 = require("./createMethodDecorator");
15
- Object.defineProperty(exports, "createMethodDecorator", { enumerable: true, get: function () { return createMethodDecorator_1.createMethodDecorator; } });
12
+ var createParameterDecorator_1 = require("./createParameterDecorator");
13
+ Object.defineProperty(exports, "createParameterDecorator", { enumerable: true, get: function () { return createParameterDecorator_1.createParameterDecorator; } });
14
+ var createMethodMiddlewareDecorator_1 = require("./createMethodMiddlewareDecorator");
15
+ Object.defineProperty(exports, "createMethodMiddlewareDecorator", { enumerable: true, get: function () { return createMethodMiddlewareDecorator_1.createMethodMiddlewareDecorator; } });
16
+ var createResolverClassMiddlewareDecorator_1 = require("./createResolverClassMiddlewareDecorator");
17
+ Object.defineProperty(exports, "createResolverClassMiddlewareDecorator", { enumerable: true, get: function () { return createResolverClassMiddlewareDecorator_1.createResolverClassMiddlewareDecorator; } });
16
18
  var Ctx_1 = require("./Ctx");
17
19
  Object.defineProperty(exports, "Ctx", { enumerable: true, get: function () { return Ctx_1.Ctx; } });
18
20
  var Directive_1 = require("./Directive");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createUnionType = void 0;
3
+ exports.createUnionType = createUnionType;
4
4
  const getMetadataStorage_1 = require("../metadata/getMetadataStorage");
5
5
  function createUnionType({ name, description, types, resolveType, }) {
6
6
  const unionMetadataSymbol = (0, getMetadataStorage_1.getMetadataStorage)().collectUnionMetadata({
@@ -11,4 +11,3 @@ function createUnionType({ name, description, types, resolveType, }) {
11
11
  });
12
12
  return unionMetadataSymbol;
13
13
  }
14
- exports.createUnionType = createUnionType;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthMiddleware = void 0;
3
+ exports.AuthMiddleware = AuthMiddleware;
4
4
  const errors_1 = require("../errors");
5
5
  function AuthMiddleware(authChecker, container, authMode, roles) {
6
6
  return async (action, next) => {
@@ -23,4 +23,3 @@ function AuthMiddleware(authChecker, container, authMode, roles) {
23
23
  return next();
24
24
  };
25
25
  }
26
- exports.AuthMiddleware = AuthMiddleware;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getArrayFromOverloadedRest = exports.getNameDecoratorParams = exports.getTypeDecoratorParams = void 0;
3
+ exports.getTypeDecoratorParams = getTypeDecoratorParams;
4
+ exports.getNameDecoratorParams = getNameDecoratorParams;
5
+ exports.getArrayFromOverloadedRest = getArrayFromOverloadedRest;
4
6
  function getTypeDecoratorParams(returnTypeFuncOrOptions, maybeOptions) {
5
7
  if (typeof returnTypeFuncOrOptions === "function") {
6
8
  return {
@@ -12,7 +14,6 @@ function getTypeDecoratorParams(returnTypeFuncOrOptions, maybeOptions) {
12
14
  options: returnTypeFuncOrOptions || {},
13
15
  };
14
16
  }
15
- exports.getTypeDecoratorParams = getTypeDecoratorParams;
16
17
  function getNameDecoratorParams(nameOrOptions, maybeOptions) {
17
18
  if (typeof nameOrOptions === "string") {
18
19
  return {
@@ -24,7 +25,6 @@ function getNameDecoratorParams(nameOrOptions, maybeOptions) {
24
25
  options: nameOrOptions || {},
25
26
  };
26
27
  }
27
- exports.getNameDecoratorParams = getNameDecoratorParams;
28
28
  function getArrayFromOverloadedRest(overloadedArray) {
29
29
  let items;
30
30
  if (Array.isArray(overloadedArray[0])) {
@@ -35,4 +35,3 @@ function getArrayFromOverloadedRest(overloadedArray) {
35
35
  }
36
36
  return items;
37
37
  }
38
- exports.getArrayFromOverloadedRest = getArrayFromOverloadedRest;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.outputFileSync = exports.outputFile = void 0;
3
+ exports.outputFile = outputFile;
4
+ exports.outputFileSync = outputFileSync;
4
5
  const tslib_1 = require("tslib");
5
6
  const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
6
7
  const promises_1 = tslib_1.__importDefault(require("node:fs/promises"));
@@ -17,7 +18,6 @@ async function outputFile(filePath, fileContent) {
17
18
  await promises_1.default.writeFile(filePath, fileContent);
18
19
  }
19
20
  }
20
- exports.outputFile = outputFile;
21
21
  function outputFileSync(filePath, fileContent) {
22
22
  try {
23
23
  node_fs_1.default.writeFileSync(filePath, fileContent);
@@ -30,4 +30,3 @@ function outputFileSync(filePath, fileContent) {
30
30
  node_fs_1.default.writeFileSync(filePath, fileContent);
31
31
  }
32
32
  }
33
- exports.outputFileSync = outputFileSync;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findType = void 0;
3
+ exports.findType = findType;
4
4
  const errors_1 = require("../errors");
5
5
  const utils_1 = require("../metadata/utils");
6
6
  const returnTypes_1 = require("./returnTypes");
@@ -50,4 +50,3 @@ function findType({ metadataKey, prototype, propertyKey, parameterIndex, argName
50
50
  }
51
51
  throw new Error("Ops... this should never happen :)");
52
52
  }
53
- exports.findType = findType;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isThrowing = void 0;
3
+ exports.isThrowing = isThrowing;
4
4
  function isThrowing(fn) {
5
5
  try {
6
6
  fn();
@@ -10,4 +10,3 @@ function isThrowing(fn) {
10
10
  return true;
11
11
  }
12
12
  }
13
- exports.isThrowing = isThrowing;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getParamInfo = void 0;
3
+ exports.getParamInfo = getParamInfo;
4
4
  const errors_1 = require("../errors");
5
5
  const findType_1 = require("./findType");
6
6
  function getParamInfo({ prototype, propertyKey, parameterIndex, argName, returnTypeFunc, options = {}, }) {
@@ -26,4 +26,3 @@ function getParamInfo({ prototype, propertyKey, parameterIndex, argName, returnT
26
26
  validateFn: options.validateFn,
27
27
  };
28
28
  }
29
- exports.getParamInfo = getParamInfo;