@enjoys/context-engine 1.2.0 → 1.4.1

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 (270) hide show
  1. package/data/codeActions/angular.json +126 -0
  2. package/data/codeActions/css.json +111 -0
  3. package/data/codeActions/nestjs.json +124 -0
  4. package/data/codeActions/nextjs.json +198 -0
  5. package/data/codeActions/react.json +154 -0
  6. package/data/codeActions/shadcn.json +112 -0
  7. package/data/codeActions/shell.json +169 -26
  8. package/data/codeActions/tailwindcss.json +76 -0
  9. package/data/codeLens/angular.json +22 -0
  10. package/data/codeLens/css.json +68 -0
  11. package/data/codeLens/nestjs.json +21 -0
  12. package/data/codeLens/nextjs.json +117 -0
  13. package/data/codeLens/react.json +89 -0
  14. package/data/codeLens/shadcn.json +89 -0
  15. package/data/codeLens/shell.json +59 -17
  16. package/data/codeLens/tailwindcss.json +103 -0
  17. package/data/color/angular.json +21 -0
  18. package/data/color/css.json +124 -0
  19. package/data/color/nestjs.json +18 -0
  20. package/data/color/nextjs.json +22 -0
  21. package/data/color/react.json +93 -0
  22. package/data/color/shadcn.json +66 -0
  23. package/data/color/shell.json +106 -80
  24. package/data/color/tailwindcss.json +53 -0
  25. package/data/commands/angular.json +312 -0
  26. package/data/commands/css.json +41 -0
  27. package/data/commands/manifest.json +734 -727
  28. package/data/commands/nestjs.json +273 -0
  29. package/data/commands/nextjs.json +123 -0
  30. package/data/commands/react.json +210 -0
  31. package/data/commands/shadcn.json +410 -0
  32. package/data/commands/shell.json +571 -41
  33. package/data/commands/tailwindcss.json +53 -0
  34. package/data/completion/angular.json +1490 -0
  35. package/data/completion/css.json +1176 -0
  36. package/data/completion/javascript.json +27 -0
  37. package/data/completion/nestjs.json +1454 -0
  38. package/data/completion/nextjs.json +1373 -0
  39. package/data/completion/react.json +1319 -0
  40. package/data/completion/redis-cli.json +1 -1
  41. package/data/completion/shadcn.json +1202 -0
  42. package/data/completion/shell.json +2446 -510
  43. package/data/completion/tailwindcss.json +284 -0
  44. package/data/completion/typescript.json +27 -0
  45. package/data/declaration/angular.json +46 -0
  46. package/data/declaration/css.json +59 -0
  47. package/data/declaration/nestjs.json +47 -0
  48. package/data/declaration/nextjs.json +274 -0
  49. package/data/declaration/react.json +199 -0
  50. package/data/declaration/shadcn.json +211 -0
  51. package/data/declaration/shell.json +343 -24
  52. package/data/declaration/tailwindcss.json +137 -0
  53. package/data/definition/angular.json +670 -0
  54. package/data/definition/css.json +115 -0
  55. package/data/definition/nestjs.json +684 -0
  56. package/data/definition/nextjs.json +439 -0
  57. package/data/definition/react.json +397 -0
  58. package/data/definition/redis-cli.json +1 -1
  59. package/data/definition/shadcn.json +99 -0
  60. package/data/definition/shell.json +820 -0
  61. package/data/definition/tailwindcss.json +115 -0
  62. package/data/documentHighlight/angular.json +414 -0
  63. package/data/documentHighlight/css.json +125 -0
  64. package/data/documentHighlight/nestjs.json +115 -0
  65. package/data/documentHighlight/nextjs.json +212 -0
  66. package/data/documentHighlight/react.json +119 -0
  67. package/data/documentHighlight/shadcn.json +168 -0
  68. package/data/documentHighlight/shell.json +664 -334
  69. package/data/documentHighlight/tailwindcss.json +160 -0
  70. package/data/documentRangeFormatting/angular.json +45 -0
  71. package/data/documentRangeFormatting/css.json +101 -0
  72. package/data/documentRangeFormatting/nestjs.json +17 -0
  73. package/data/documentRangeFormatting/nextjs.json +17 -0
  74. package/data/documentRangeFormatting/react.json +78 -0
  75. package/data/documentRangeFormatting/shadcn.json +45 -0
  76. package/data/documentRangeFormatting/shell.json +120 -53
  77. package/data/documentRangeFormatting/tailwindcss.json +55 -0
  78. package/data/documentSymbol/angular.json +180 -0
  79. package/data/documentSymbol/css.json +96 -0
  80. package/data/documentSymbol/nestjs.json +152 -0
  81. package/data/documentSymbol/nextjs.json +159 -0
  82. package/data/documentSymbol/react.json +145 -0
  83. package/data/documentSymbol/shadcn.json +131 -0
  84. package/data/documentSymbol/shell.json +166 -26
  85. package/data/documentSymbol/tailwindcss.json +110 -0
  86. package/data/foldingRange/angular.json +99 -0
  87. package/data/foldingRange/css.json +66 -0
  88. package/data/foldingRange/nestjs.json +26 -0
  89. package/data/foldingRange/nextjs.json +26 -0
  90. package/data/foldingRange/react.json +120 -0
  91. package/data/foldingRange/shadcn.json +93 -0
  92. package/data/foldingRange/shell.json +106 -46
  93. package/data/foldingRange/tailwindcss.json +60 -0
  94. package/data/formatting/angular.json +21 -0
  95. package/data/formatting/css.json +73 -0
  96. package/data/formatting/nestjs.json +23 -0
  97. package/data/formatting/nextjs.json +23 -0
  98. package/data/formatting/react.json +71 -0
  99. package/data/formatting/shadcn.json +61 -0
  100. package/data/formatting/shell.json +103 -19
  101. package/data/formatting/tailwindcss.json +48 -0
  102. package/data/hover/angular.json +455 -0
  103. package/data/hover/css.json +300 -0
  104. package/data/hover/nestjs.json +296 -0
  105. package/data/hover/nextjs.json +305 -0
  106. package/data/hover/react.json +173 -0
  107. package/data/hover/redis-cli.json +1 -1
  108. package/data/hover/shadcn.json +450 -0
  109. package/data/hover/shell.json +684 -75
  110. package/data/hover/tailwindcss.json +968 -0
  111. package/data/implementation/angular.json +22 -0
  112. package/data/implementation/css.json +65 -0
  113. package/data/implementation/nestjs.json +24 -0
  114. package/data/implementation/nextjs.json +137 -0
  115. package/data/implementation/react.json +125 -0
  116. package/data/implementation/shadcn.json +89 -0
  117. package/data/implementation/shell.json +59 -3
  118. package/data/implementation/tailwindcss.json +59 -0
  119. package/data/inlayHints/angular.json +24 -0
  120. package/data/inlayHints/css.json +87 -0
  121. package/data/inlayHints/nestjs.json +24 -0
  122. package/data/inlayHints/nextjs.json +143 -0
  123. package/data/inlayHints/react.json +177 -0
  124. package/data/inlayHints/shadcn.json +109 -0
  125. package/data/inlayHints/shell.json +223 -35
  126. package/data/inlayHints/tailwindcss.json +111 -0
  127. package/data/inlineCompletions/angular.json +135 -0
  128. package/data/inlineCompletions/css.json +125 -0
  129. package/data/inlineCompletions/javascript.json +12 -0
  130. package/data/inlineCompletions/nestjs.json +25 -0
  131. package/data/inlineCompletions/nextjs.json +179 -0
  132. package/data/inlineCompletions/react.json +203 -0
  133. package/data/inlineCompletions/shadcn.json +115 -0
  134. package/data/inlineCompletions/shell.json +185 -35
  135. package/data/inlineCompletions/tailwindcss.json +411 -0
  136. package/data/inlineCompletions/typescript.json +12 -0
  137. package/data/linkedEditingRange/angular.json +23 -0
  138. package/data/linkedEditingRange/css.json +40 -0
  139. package/data/linkedEditingRange/nestjs.json +10 -0
  140. package/data/linkedEditingRange/nextjs.json +11 -0
  141. package/data/linkedEditingRange/react.json +75 -0
  142. package/data/linkedEditingRange/shadcn.json +23 -0
  143. package/data/linkedEditingRange/shell.json +25 -25
  144. package/data/linkedEditingRange/tailwindcss.json +30 -0
  145. package/data/links/angular.json +95 -0
  146. package/data/links/css.json +55 -0
  147. package/data/links/nestjs.json +130 -0
  148. package/data/links/nextjs.json +91 -0
  149. package/data/links/react.json +75 -0
  150. package/data/links/shadcn.json +98 -0
  151. package/data/links/shell.json +56 -0
  152. package/data/links/tailwindcss.json +65 -0
  153. package/data/manifest.json +399 -150
  154. package/data/onTypeFormatting/angular.json +14 -0
  155. package/data/onTypeFormatting/css.json +82 -0
  156. package/data/onTypeFormatting/nestjs.json +16 -0
  157. package/data/onTypeFormatting/nextjs.json +17 -0
  158. package/data/onTypeFormatting/react.json +127 -0
  159. package/data/onTypeFormatting/shadcn.json +54 -0
  160. package/data/onTypeFormatting/shell.json +72 -68
  161. package/data/onTypeFormatting/tailwindcss.json +63 -0
  162. package/data/rangeSemanticTokens/angular.json +140 -0
  163. package/data/rangeSemanticTokens/css.json +125 -0
  164. package/data/rangeSemanticTokens/nestjs.json +27 -0
  165. package/data/rangeSemanticTokens/nextjs.json +28 -0
  166. package/data/rangeSemanticTokens/react.json +216 -0
  167. package/data/rangeSemanticTokens/shadcn.json +140 -0
  168. package/data/rangeSemanticTokens/shell.json +247 -69
  169. package/data/rangeSemanticTokens/tailwindcss.json +186 -0
  170. package/data/references/angular.json +26 -0
  171. package/data/references/css.json +65 -0
  172. package/data/references/nestjs.json +24 -0
  173. package/data/references/nextjs.json +178 -0
  174. package/data/references/react.json +192 -0
  175. package/data/references/shadcn.json +101 -0
  176. package/data/references/shell.json +323 -92
  177. package/data/references/tailwindcss.json +125 -0
  178. package/data/rename/angular.json +131 -0
  179. package/data/rename/css.json +91 -0
  180. package/data/rename/nestjs.json +32 -0
  181. package/data/rename/nextjs.json +31 -0
  182. package/data/rename/react.json +88 -0
  183. package/data/rename/shadcn.json +79 -0
  184. package/data/rename/shell.json +101 -31
  185. package/data/rename/tailwindcss.json +58 -0
  186. package/data/selectionRange/angular.json +95 -0
  187. package/data/selectionRange/css.json +55 -0
  188. package/data/selectionRange/nestjs.json +21 -0
  189. package/data/selectionRange/nextjs.json +22 -0
  190. package/data/selectionRange/react.json +87 -0
  191. package/data/selectionRange/shadcn.json +89 -0
  192. package/data/selectionRange/shell.json +65 -35
  193. package/data/selectionRange/tailwindcss.json +35 -0
  194. package/data/semanticTokens/angular.json +198 -0
  195. package/data/semanticTokens/css.json +107 -0
  196. package/data/semanticTokens/nestjs.json +35 -0
  197. package/data/semanticTokens/nextjs.json +38 -0
  198. package/data/semanticTokens/react.json +215 -0
  199. package/data/semanticTokens/shadcn.json +180 -0
  200. package/data/semanticTokens/shell.json +238 -65
  201. package/data/semanticTokens/tailwindcss.json +161 -0
  202. package/data/signatureHelp/angular.json +182 -0
  203. package/data/signatureHelp/css.json +137 -0
  204. package/data/signatureHelp/nestjs.json +128 -0
  205. package/data/signatureHelp/nextjs.json +127 -0
  206. package/data/signatureHelp/react.json +281 -0
  207. package/data/signatureHelp/shadcn.json +237 -0
  208. package/data/signatureHelp/shell.json +797 -104
  209. package/data/signatureHelp/tailwindcss.json +64 -0
  210. package/data/typeDefinition/angular.json +362 -0
  211. package/data/typeDefinition/css.json +53 -0
  212. package/data/typeDefinition/nestjs.json +334 -0
  213. package/data/typeDefinition/nextjs.json +285 -0
  214. package/data/typeDefinition/react.json +236 -0
  215. package/data/typeDefinition/shadcn.json +292 -0
  216. package/data/typeDefinition/shell.json +104 -40
  217. package/data/typeDefinition/tailwindcss.json +47 -0
  218. package/package.json +1 -1
  219. package/data/codeActions/bash.json +0 -169
  220. package/data/codeActions/zsh.json +0 -49
  221. package/data/codeLens/bash.json +0 -75
  222. package/data/codeLens/zsh.json +0 -19
  223. package/data/color/bash.json +0 -100
  224. package/data/color/zsh.json +0 -80
  225. package/data/commands/bash.json +0 -102
  226. package/data/commands/zsh.json +0 -166
  227. package/data/completion/bash.json +0 -1184
  228. package/data/completion/zsh.json +0 -973
  229. package/data/declaration/bash.json +0 -301
  230. package/data/declaration/zsh.json +0 -205
  231. package/data/definition/bash.json +0 -565
  232. package/data/definition/zsh.json +0 -350
  233. package/data/documentHighlight/bash.json +0 -393
  234. package/data/documentHighlight/zsh.json +0 -266
  235. package/data/documentRangeFormatting/bash.json +0 -41
  236. package/data/documentRangeFormatting/zsh.json +0 -59
  237. package/data/documentSymbol/bash.json +0 -124
  238. package/data/documentSymbol/zsh.json +0 -26
  239. package/data/foldingRange/bash.json +0 -76
  240. package/data/foldingRange/zsh.json +0 -46
  241. package/data/formatting/bash.json +0 -88
  242. package/data/formatting/zsh.json +0 -28
  243. package/data/hover/bash.json +0 -579
  244. package/data/hover/zsh.json +0 -96
  245. package/data/implementation/bash.json +0 -44
  246. package/data/implementation/zsh.json +0 -41
  247. package/data/inlayHints/bash.json +0 -207
  248. package/data/inlayHints/zsh.json +0 -43
  249. package/data/inlineCompletions/bash.json +0 -155
  250. package/data/inlineCompletions/zsh.json +0 -17
  251. package/data/linkedEditingRange/bash.json +0 -25
  252. package/data/linkedEditingRange/zsh.json +0 -25
  253. package/data/links/bash.json +0 -56
  254. package/data/links/zsh.json +0 -15
  255. package/data/onTypeFormatting/bash.json +0 -68
  256. package/data/onTypeFormatting/zsh.json +0 -68
  257. package/data/rangeSemanticTokens/bash.json +0 -90
  258. package/data/rangeSemanticTokens/zsh.json +0 -76
  259. package/data/references/bash.json +0 -221
  260. package/data/references/zsh.json +0 -166
  261. package/data/rename/bash.json +0 -37
  262. package/data/rename/zsh.json +0 -31
  263. package/data/selectionRange/bash.json +0 -35
  264. package/data/selectionRange/zsh.json +0 -35
  265. package/data/semanticTokens/bash.json +0 -71
  266. package/data/semanticTokens/zsh.json +0 -71
  267. package/data/signatureHelp/bash.json +0 -111
  268. package/data/signatureHelp/zsh.json +0 -118
  269. package/data/typeDefinition/bash.json +0 -95
  270. package/data/typeDefinition/zsh.json +0 -40
@@ -0,0 +1,296 @@
1
+ {
2
+ "language": "nestjs",
3
+ "hovers": {
4
+ "@Controller": {
5
+ "contents": [{ "value": "```typescript\nfunction Controller(prefix?: string | string[]): ClassDecorator\n```\nMarks a class as a NestJS controller. Accepts an optional route path prefix or array of prefixes. Controllers handle incoming HTTP requests and return responses." }]
6
+ },
7
+ "@Get": {
8
+ "contents": [{ "value": "```typescript\nfunction Get(path?: string | string[]): MethodDecorator\n```\nRoutes HTTP GET requests to the decorated method. Accepts an optional route path. Used to retrieve resources." }]
9
+ },
10
+ "@Post": {
11
+ "contents": [{ "value": "```typescript\nfunction Post(path?: string | string[]): MethodDecorator\n```\nRoutes HTTP POST requests to the decorated method. Used to create new resources." }]
12
+ },
13
+ "@Put": {
14
+ "contents": [{ "value": "```typescript\nfunction Put(path?: string | string[]): MethodDecorator\n```\nRoutes HTTP PUT requests to the decorated method. Used to replace an entire resource." }]
15
+ },
16
+ "@Patch": {
17
+ "contents": [{ "value": "```typescript\nfunction Patch(path?: string | string[]): MethodDecorator\n```\nRoutes HTTP PATCH requests to the decorated method. Used to partially update a resource." }]
18
+ },
19
+ "@Delete": {
20
+ "contents": [{ "value": "```typescript\nfunction Delete(path?: string | string[]): MethodDecorator\n```\nRoutes HTTP DELETE requests to the decorated method. Used to remove a resource." }]
21
+ },
22
+ "@Module": {
23
+ "contents": [{ "value": "```typescript\nfunction Module(metadata: ModuleMetadata): ClassDecorator\n```\nMarks a class as a NestJS module. Accepts metadata object with `imports`, `controllers`, `providers`, and `exports` arrays. Modules organize the application structure." }]
24
+ },
25
+ "@Injectable": {
26
+ "contents": [{ "value": "```typescript\nfunction Injectable(options?: InjectableOptions): ClassDecorator\n```\nMarks a class as a provider that can be managed by the NestJS IoC container. Enables dependency injection for services, guards, pipes, interceptors, etc." }]
27
+ },
28
+ "@Inject": {
29
+ "contents": [{ "value": "```typescript\nfunction Inject(token?: string | symbol | Type): ParameterDecorator\n```\nInjects a provider by token. Used for non-class-based (custom) provider injection, such as string or symbol tokens." }]
30
+ },
31
+ "@Optional": {
32
+ "contents": [{ "value": "```typescript\nfunction Optional(): ParameterDecorator\n```\nMarks a constructor parameter as optional. Prevents errors when the injected provider is not available in the current scope." }]
33
+ },
34
+ "@Body": {
35
+ "contents": [{ "value": "```typescript\nfunction Body(property?: string): ParameterDecorator\n```\nExtracts the request body or a specific property from it. When a property key is provided, only that nested value is extracted." }]
36
+ },
37
+ "@Param": {
38
+ "contents": [{ "value": "```typescript\nfunction Param(property?: string): ParameterDecorator\n```\nExtracts a route parameter or all route parameters from the request URL path." }]
39
+ },
40
+ "@Query": {
41
+ "contents": [{ "value": "```typescript\nfunction Query(property?: string): ParameterDecorator\n```\nExtracts query string parameters from the request URL. Optionally extracts a single named query parameter." }]
42
+ },
43
+ "@Headers": {
44
+ "contents": [{ "value": "```typescript\nfunction Headers(property?: string): ParameterDecorator\n```\nExtracts headers from the request. When a header name is provided, returns only that header's value." }]
45
+ },
46
+ "@Req": {
47
+ "contents": [{ "value": "```typescript\nfunction Req(): ParameterDecorator\n```\nInjects the underlying platform request object (e.g., Express Request). Provides full access to the raw request." }]
48
+ },
49
+ "@Res": {
50
+ "contents": [{ "value": "```typescript\nfunction Res(options?: { passthrough?: boolean }): ParameterDecorator\n```\nInjects the underlying platform response object. Note: using `@Res()` disables NestJS standard response handling unless `{ passthrough: true }` is set." }]
51
+ },
52
+ "@HttpCode": {
53
+ "contents": [{ "value": "```typescript\nfunction HttpCode(statusCode: number): MethodDecorator\n```\nSets the HTTP response status code for the decorated route handler. By default, POST returns 201 and other methods return 200." }]
54
+ },
55
+ "@Header": {
56
+ "contents": [{ "value": "```typescript\nfunction Header(name: string, value: string): MethodDecorator\n```\nSets a custom response header for the decorated route handler." }]
57
+ },
58
+ "@Redirect": {
59
+ "contents": [{ "value": "```typescript\nfunction Redirect(url?: string, statusCode?: number): MethodDecorator\n```\nRedirects the response to the given URL. Default status code is 302 (Found)." }]
60
+ },
61
+ "@Render": {
62
+ "contents": [{ "value": "```typescript\nfunction Render(template: string): MethodDecorator\n```\nRenders a view template using the configured template engine (e.g., Handlebars, Pug, EJS)." }]
63
+ },
64
+ "@UseGuards": {
65
+ "contents": [{ "value": "```typescript\nfunction UseGuards(...guards: (CanActivate | Function)[]): MethodDecorator & ClassDecorator\n```\nBinds guards to the scope of the controller or method. Guards determine whether a request should be handled by the route handler." }]
66
+ },
67
+ "@UseInterceptors": {
68
+ "contents": [{ "value": "```typescript\nfunction UseInterceptors(...interceptors: (NestInterceptor | Function)[]): MethodDecorator & ClassDecorator\n```\nBinds interceptors to the controller or method scope. Interceptors can transform the result, handle errors, extend behavior, or override methods." }]
69
+ },
70
+ "@UsePipes": {
71
+ "contents": [{ "value": "```typescript\nfunction UsePipes(...pipes: (PipeTransform | Function)[]): MethodDecorator & ClassDecorator\n```\nBinds pipes to the controller or method scope. Pipes transform input data or validate it before the handler is called." }]
72
+ },
73
+ "@UseFilters": {
74
+ "contents": [{ "value": "```typescript\nfunction UseFilters(...filters: (ExceptionFilter | Function)[]): MethodDecorator & ClassDecorator\n```\nBinds exception filters to the controller or method scope. Filters handle exceptions thrown during request processing." }]
75
+ },
76
+ "@SetMetadata": {
77
+ "contents": [{ "value": "```typescript\nfunction SetMetadata(key: string, value: any): CustomDecorator\n```\nAttaches custom metadata to a route handler, accessible via the `Reflector` class in guards and interceptors." }]
78
+ },
79
+ "@Catch": {
80
+ "contents": [{ "value": "```typescript\nfunction Catch(...exceptions: Type[]): ClassDecorator\n```\nMarks a class as an exception filter for the given exception type(s). The class must implement `ExceptionFilter`." }]
81
+ },
82
+ "@EventPattern": {
83
+ "contents": [{ "value": "```typescript\nfunction EventPattern(metadata: any): MethodDecorator\n```\nSubscribes to an event-based microservice pattern (fire-and-forget). The handler does not return a response to the sender." }]
84
+ },
85
+ "@MessagePattern": {
86
+ "contents": [{ "value": "```typescript\nfunction MessagePattern(metadata: any): MethodDecorator\n```\nSubscribes to a request-response microservice message pattern. The handler returns a response to the sender." }]
87
+ },
88
+ "@WebSocketGateway": {
89
+ "contents": [{ "value": "```typescript\nfunction WebSocketGateway(options?: GatewayMetadata): ClassDecorator\n```\nMarks a class as a WebSocket gateway. Accepts optional configuration for port, namespace, and CORS settings." }]
90
+ },
91
+ "@SubscribeMessage": {
92
+ "contents": [{ "value": "```typescript\nfunction SubscribeMessage(message: string): MethodDecorator\n```\nSubscribes to a specific WebSocket message event. The decorated method handles incoming messages matching the event name." }]
93
+ },
94
+ "@ConnectedSocket": {
95
+ "contents": [{ "value": "```typescript\nfunction ConnectedSocket(): ParameterDecorator\n```\nInjects the connected client socket instance into a gateway method parameter." }]
96
+ },
97
+ "@WebSocketServer": {
98
+ "contents": [{ "value": "```typescript\nfunction WebSocketServer(): PropertyDecorator\n```\nInjects the underlying WebSocket server instance (e.g., Socket.IO Server) as a class property." }]
99
+ },
100
+ "@Sse": {
101
+ "contents": [{ "value": "```typescript\nfunction Sse(path?: string): MethodDecorator\n```\nMarks a method as a Server-Sent Events endpoint. The method should return an Observable that emits MessageEvent objects." }]
102
+ },
103
+ "@Cron": {
104
+ "contents": [{ "value": "```typescript\nfunction Cron(cronTime: string | CronExpression, options?: CronOptions): MethodDecorator\n```\nSchedules a method to run based on a cron expression. Requires `@nestjs/schedule` and `ScheduleModule.forRoot()`." }]
105
+ },
106
+ "@Interval": {
107
+ "contents": [{ "value": "```typescript\nfunction Interval(timeout: number): MethodDecorator\n```\nSchedules a method to run repeatedly at a fixed interval (in milliseconds). Requires `@nestjs/schedule`." }]
108
+ },
109
+ "@Timeout": {
110
+ "contents": [{ "value": "```typescript\nfunction Timeout(timeout: number): MethodDecorator\n```\nSchedules a method to run once after a specified timeout (in milliseconds). Requires `@nestjs/schedule`." }]
111
+ },
112
+ "@ApiTags": {
113
+ "contents": [{ "value": "```typescript\nfunction ApiTags(...tags: string[]): ClassDecorator & MethodDecorator\n```\nAdds tags to Swagger documentation for grouping and organizing API endpoints." }]
114
+ },
115
+ "@ApiOperation": {
116
+ "contents": [{ "value": "```typescript\nfunction ApiOperation(options: ApiOperationOptions): MethodDecorator\n```\nDescribes an API operation for Swagger documentation. Accepts summary, description, and other metadata." }]
117
+ },
118
+ "@ApiResponse": {
119
+ "contents": [{ "value": "```typescript\nfunction ApiResponse(options: ApiResponseOptions): MethodDecorator & ClassDecorator\n```\nDocuments an API response with status code, description, and optional type for Swagger." }]
120
+ },
121
+ "@ApiProperty": {
122
+ "contents": [{ "value": "```typescript\nfunction ApiProperty(options?: ApiPropertyOptions): PropertyDecorator\n```\nDecorates a DTO property for Swagger schema documentation. Defines type, description, example, and validation constraints." }]
123
+ },
124
+ "@ApiBody": {
125
+ "contents": [{ "value": "```typescript\nfunction ApiBody(options: ApiBodyOptions): MethodDecorator\n```\nDescribes the request body schema for Swagger documentation, including type and content type." }]
126
+ },
127
+ "@ApiBearerAuth": {
128
+ "contents": [{ "value": "```typescript\nfunction ApiBearerAuth(name?: string): ClassDecorator & MethodDecorator\n```\nMarks an endpoint as requiring Bearer token authentication in Swagger UI. Adds the lock icon." }]
129
+ },
130
+ "NestFactory": {
131
+ "contents": [{ "value": "```typescript\nclass NestFactory {\n static create(module: any, options?: NestApplicationOptions): Promise<INestApplication>\n static createMicroservice(module: any, options?: MicroserviceOptions): Promise<INestMicroservice>\n}\n```\nFactory class to create NestJS application and microservice instances. Entry point for bootstrapping." }]
132
+ },
133
+ "INestApplication": {
134
+ "contents": [{ "value": "```typescript\ninterface INestApplication extends INestApplicationContext\n```\nInterface for the NestJS HTTP application instance. Provides methods like `listen()`, `use()`, `useGlobalPipes()`, `enableCors()`, `setGlobalPrefix()`, and more." }]
135
+ },
136
+ "ModuleRef": {
137
+ "contents": [{ "value": "```typescript\nclass ModuleRef extends AbstractInstanceResolver\n```\nProvides access to the internal provider container for dynamic provider resolution. Use `get()` for singletons, `resolve()` for transient/request-scoped providers." }]
138
+ },
139
+ "Reflector": {
140
+ "contents": [{ "value": "```typescript\nclass Reflector {\n get<T>(metadataKey: any, target: Function): T\n getAllAndOverride<T>(metadataKey: any, targets: Function[]): T\n getAllAndMerge<T>(metadataKey: any, targets: Function[]): T\n}\n```\nHelper class to retrieve metadata set via `@SetMetadata()`. Commonly used in guards and interceptors." }]
141
+ },
142
+ "ConfigModule": {
143
+ "contents": [{ "value": "```typescript\nclass ConfigModule {\n static forRoot(options?: ConfigModuleOptions): DynamicModule\n}\n```\nModule for loading environment variables and configuration. Set `isGlobal: true` to make it available everywhere without importing." }]
144
+ },
145
+ "ConfigService": {
146
+ "contents": [{ "value": "```typescript\nclass ConfigService {\n get<T>(propertyPath: string, defaultValue?: T): T | undefined\n getOrThrow<T>(propertyPath: string): T\n}\n```\nService to access configuration values loaded by ConfigModule. Supports nested paths and typed returns." }]
147
+ },
148
+ "TypeOrmModule": {
149
+ "contents": [{ "value": "```typescript\nclass TypeOrmModule {\n static forRoot(options?: TypeOrmModuleOptions): DynamicModule\n static forFeature(entities: EntityClassOrSchema[]): DynamicModule\n}\n```\nModule for integrating TypeORM with NestJS. Use `forRoot()` for database connection and `forFeature()` to register repositories." }]
150
+ },
151
+ "MongooseModule": {
152
+ "contents": [{ "value": "```typescript\nclass MongooseModule {\n static forRoot(uri: string, options?: MongooseModuleOptions): DynamicModule\n static forFeature(models: ModelDefinition[]): DynamicModule\n}\n```\nModule for integrating Mongoose ODM with NestJS. Use `forRoot()` for connection and `forFeature()` to register schemas." }]
153
+ },
154
+ "JwtModule": {
155
+ "contents": [{ "value": "```typescript\nclass JwtModule {\n static register(options: JwtModuleOptions): DynamicModule\n static registerAsync(options: JwtModuleAsyncOptions): DynamicModule\n}\n```\nModule for JWT token generation and verification. Provides JwtService for signing and verifying tokens." }]
156
+ },
157
+ "PassportModule": {
158
+ "contents": [{ "value": "```typescript\nclass PassportModule {\n static register(options?: AuthModuleOptions): DynamicModule\n}\n```\nModule for integrating Passport.js authentication strategies with NestJS." }]
159
+ },
160
+ "ThrottlerModule": {
161
+ "contents": [{ "value": "```typescript\nclass ThrottlerModule {\n static forRoot(options?: ThrottlerModuleOptions): DynamicModule\n}\n```\nRate limiting module to protect endpoints from brute-force attacks. Configure TTL and limit per time window." }]
162
+ },
163
+ "CacheModule": {
164
+ "contents": [{ "value": "```typescript\nclass CacheModule {\n static register(options?: CacheModuleOptions): DynamicModule\n}\n```\nModule for caching responses. Supports in-memory caching and external stores like Redis." }]
165
+ },
166
+ "ScheduleModule": {
167
+ "contents": [{ "value": "```typescript\nclass ScheduleModule {\n static forRoot(): DynamicModule\n}\n```\nModule for task scheduling. Enables `@Cron()`, `@Interval()`, and `@Timeout()` decorators for scheduled tasks." }]
168
+ },
169
+ "BullModule": {
170
+ "contents": [{ "value": "```typescript\nclass BullModule {\n static forRoot(options?: BullRootModuleOptions): DynamicModule\n static registerQueue(...options: BullModuleOptions[]): DynamicModule\n}\n```\nModule for queue management using Bull and Redis for background job processing." }]
171
+ },
172
+ "EventEmitterModule": {
173
+ "contents": [{ "value": "```typescript\nclass EventEmitterModule {\n static forRoot(options?: EventEmitterModuleOptions): DynamicModule\n}\n```\nModule for event-driven architecture using Node.js EventEmitter. Enables `@OnEvent()` decorator." }]
174
+ },
175
+ "ServeStaticModule": {
176
+ "contents": [{ "value": "```typescript\nclass ServeStaticModule {\n static forRoot(...options: ServeStaticModuleOptions[]): DynamicModule\n}\n```\nModule for serving static files (SPA, assets) from a directory alongside the API." }]
177
+ },
178
+ "GraphQLModule": {
179
+ "contents": [{ "value": "```typescript\nclass GraphQLModule {\n static forRoot<T>(options: T): DynamicModule\n}\n```\nModule for integrating GraphQL with NestJS. Supports code-first and schema-first approaches with Apollo or Mercurius." }]
180
+ },
181
+ "ValidationPipe": {
182
+ "contents": [{ "value": "```typescript\nclass ValidationPipe implements PipeTransform\n```\nPipe that validates incoming data using class-validator decorators. Options include `whitelist`, `transform`, `forbidNonWhitelisted`, and `disableErrorMessages`." }]
183
+ },
184
+ "ParseIntPipe": {
185
+ "contents": [{ "value": "```typescript\nclass ParseIntPipe implements PipeTransform<string, number>\n```\nPipe that transforms a string parameter into an integer. Throws `BadRequestException` if the value cannot be parsed." }]
186
+ },
187
+ "ParseBoolPipe": {
188
+ "contents": [{ "value": "```typescript\nclass ParseBoolPipe implements PipeTransform<string, boolean>\n```\nPipe that transforms a string parameter into a boolean value. Accepts 'true' and 'false' strings." }]
189
+ },
190
+ "ParseArrayPipe": {
191
+ "contents": [{ "value": "```typescript\nclass ParseArrayPipe implements PipeTransform\n```\nPipe that parses and validates arrays. Supports item type validation via the `items` option." }]
192
+ },
193
+ "ParseUUIDPipe": {
194
+ "contents": [{ "value": "```typescript\nclass ParseUUIDPipe implements PipeTransform<string, string>\n```\nPipe that validates a string parameter is a valid UUID. Supports UUID versions 3, 4, and 5." }]
195
+ },
196
+ "ParseEnumPipe": {
197
+ "contents": [{ "value": "```typescript\nclass ParseEnumPipe<T> implements PipeTransform<string, T>\n```\nPipe that validates a parameter is a valid value of the given enum type." }]
198
+ },
199
+ "DefaultValuePipe": {
200
+ "contents": [{ "value": "```typescript\nclass DefaultValuePipe<T> implements PipeTransform\n```\nPipe that provides a default value when the parameter is null or undefined." }]
201
+ },
202
+ "ParseFloatPipe": {
203
+ "contents": [{ "value": "```typescript\nclass ParseFloatPipe implements PipeTransform<string, number>\n```\nPipe that transforms a string parameter into a floating-point number. Throws `BadRequestException` on failure." }]
204
+ },
205
+ "AuthGuard": {
206
+ "contents": [{ "value": "```typescript\nfunction AuthGuard(type?: string | string[]): Type<CanActivate>\n```\nGuard factory that triggers Passport authentication for a given strategy (e.g., 'jwt', 'local'). Returns a guard class." }]
207
+ },
208
+ "ClassSerializerInterceptor": {
209
+ "contents": [{ "value": "```typescript\nclass ClassSerializerInterceptor implements NestInterceptor\n```\nInterceptor that serializes response objects using class-transformer. Respects `@Exclude()` and `@Expose()` decorators on entity/DTO classes." }]
210
+ },
211
+ "CacheInterceptor": {
212
+ "contents": [{ "value": "```typescript\nclass CacheInterceptor implements NestInterceptor\n```\nInterceptor that automatically caches GET responses. Works with CacheModule. Configurable TTL and cache key." }]
213
+ },
214
+ "FileInterceptor": {
215
+ "contents": [{ "value": "```typescript\nfunction FileInterceptor(fieldName: string, localOptions?: MulterOptions): Type<NestInterceptor>\n```\nInterceptor for handling single file uploads via multipart/form-data using Multer. Use with `@UploadedFile()` decorator." }]
216
+ },
217
+ "FilesInterceptor": {
218
+ "contents": [{ "value": "```typescript\nfunction FilesInterceptor(fieldName: string, maxCount?: number, localOptions?: MulterOptions): Type<NestInterceptor>\n```\nInterceptor for handling multiple file uploads via multipart/form-data using Multer. Use with `@UploadedFiles()` decorator." }]
219
+ },
220
+ "HttpException": {
221
+ "contents": [{ "value": "```typescript\nclass HttpException extends Error {\n constructor(response: string | Record<string, any>, status: number)\n getStatus(): number\n getResponse(): string | object\n}\n```\nBase class for all HTTP exceptions in NestJS. All built-in HTTP exceptions extend this class." }]
222
+ },
223
+ "BadRequestException": {
224
+ "contents": [{ "value": "```typescript\nclass BadRequestException extends HttpException\n```\nThrows a 400 Bad Request HTTP exception. Used when the server cannot process the request due to client error." }]
225
+ },
226
+ "UnauthorizedException": {
227
+ "contents": [{ "value": "```typescript\nclass UnauthorizedException extends HttpException\n```\nThrows a 401 Unauthorized HTTP exception. Used when authentication is required and has failed or not been provided." }]
228
+ },
229
+ "ForbiddenException": {
230
+ "contents": [{ "value": "```typescript\nclass ForbiddenException extends HttpException\n```\nThrows a 403 Forbidden HTTP exception. Used when the user is authenticated but lacks permission." }]
231
+ },
232
+ "NotFoundException": {
233
+ "contents": [{ "value": "```typescript\nclass NotFoundException extends HttpException\n```\nThrows a 404 Not Found HTTP exception. Used when the requested resource does not exist." }]
234
+ },
235
+ "ConflictException": {
236
+ "contents": [{ "value": "```typescript\nclass ConflictException extends HttpException\n```\nThrows a 409 Conflict HTTP exception. Used when the request conflicts with the current state of the resource." }]
237
+ },
238
+ "InternalServerErrorException": {
239
+ "contents": [{ "value": "```typescript\nclass InternalServerErrorException extends HttpException\n```\nThrows a 500 Internal Server Error HTTP exception. Used for unexpected server-side errors." }]
240
+ },
241
+ "HttpStatus": {
242
+ "contents": [{ "value": "```typescript\nenum HttpStatus {\n OK = 200, CREATED = 201, BAD_REQUEST = 400,\n UNAUTHORIZED = 401, FORBIDDEN = 403, NOT_FOUND = 404, ...\n}\n```\nEnum containing standard HTTP status codes for use with `@HttpCode()` and `HttpException`." }]
243
+ },
244
+ "Logger": {
245
+ "contents": [{ "value": "```typescript\nclass Logger {\n log(message: any, context?: string): void\n error(message: any, trace?: string, context?: string): void\n warn(message: any, context?: string): void\n debug(message: any, context?: string): void\n verbose(message: any, context?: string): void\n}\n```\nBuilt-in NestJS logger with multiple log levels. Can be replaced with a custom logger implementation." }]
246
+ },
247
+ "ExecutionContext": {
248
+ "contents": [{ "value": "```typescript\ninterface ExecutionContext extends ArgumentsHost {\n getClass<T>(): Type<T>\n getHandler(): Function\n}\n```\nExtends ArgumentsHost with methods to determine the current handler and class being invoked. Essential for guards and interceptors." }]
249
+ },
250
+ "ArgumentsHost": {
251
+ "contents": [{ "value": "```typescript\ninterface ArgumentsHost {\n switchToHttp(): HttpArgumentsHost\n switchToWs(): WsArgumentsHost\n switchToRpc(): RpcArgumentsHost\n getType(): string\n}\n```\nProvides methods to retrieve handler arguments for HTTP, WebSocket, or RPC contexts." }]
252
+ },
253
+ "Test.createTestingModule": {
254
+ "contents": [{ "value": "```typescript\nstatic createTestingModule(metadata: ModuleMetadata): TestingModuleBuilder\n```\nCreates a testing module builder. Call `.compile()` to get a `TestingModule` instance for unit and integration tests." }]
255
+ },
256
+ "TestingModule": {
257
+ "contents": [{ "value": "```typescript\nclass TestingModule extends NestApplicationContext {\n get<T>(typeOrToken: Type<T> | string | symbol): T\n resolve<T>(typeOrToken: Type<T> | string | symbol): Promise<T>\n createNestApplication(): INestApplication\n}\n```\nCompiled testing module that provides `get()` for singletons and `resolve()` for request-scoped providers." }]
258
+ },
259
+ "DynamicModule": {
260
+ "contents": [{ "value": "```typescript\ninterface DynamicModule extends ModuleMetadata {\n module: Type<any>\n global?: boolean\n}\n```\nInterface returned by static methods like `forRoot()` and `forRootAsync()` for dynamic module registration." }]
261
+ },
262
+ "JwtService": {
263
+ "contents": [{ "value": "```typescript\nclass JwtService {\n sign(payload: string | object | Buffer, options?: JwtSignOptions): string\n signAsync(payload: string | object | Buffer, options?: JwtSignOptions): Promise<string>\n verify<T>(token: string, options?: JwtVerifyOptions): T\n}\n```\nService for signing and verifying JWT tokens. Provided by `JwtModule`." }]
264
+ },
265
+ "ThrottlerGuard": {
266
+ "contents": [{ "value": "```typescript\nclass ThrottlerGuard implements CanActivate\n```\nGuard that limits request rates based on ThrottlerModule configuration. Apply globally or per-route." }]
267
+ },
268
+ "Transport": {
269
+ "contents": [{ "value": "```typescript\nenum Transport { TCP, REDIS, NATS, MQTT, GRPC, RMQ, KAFKA }\n```\nEnum of available microservice transport layers for inter-service communication." }]
270
+ },
271
+ "ClientProxy": {
272
+ "contents": [{ "value": "```typescript\nabstract class ClientProxy {\n send<TResult, TInput>(pattern: any, data: TInput): Observable<TResult>\n emit<TResult, TInput>(pattern: any, data: TInput): Observable<TResult>\n}\n```\nProxy class for communicating with microservices. `send()` for request-response, `emit()` for events." }]
273
+ },
274
+ "ClientsModule": {
275
+ "contents": [{ "value": "```typescript\nclass ClientsModule {\n static register(options: ClientsModuleOptions[]): DynamicModule\n}\n```\nModule for registering microservice client connections. Provides `ClientProxy` instances for inter-service communication." }]
276
+ },
277
+ "DocumentBuilder": {
278
+ "contents": [{ "value": "```typescript\nclass DocumentBuilder {\n setTitle(title: string): this\n setDescription(description: string): this\n setVersion(version: string): this\n addBearerAuth(): this\n build(): OpenAPIObject\n}\n```\nBuilder class for creating Swagger/OpenAPI document configuration with a fluent API." }]
279
+ },
280
+ "SwaggerModule": {
281
+ "contents": [{ "value": "```typescript\nclass SwaggerModule {\n static createDocument(app: INestApplication, config: OpenAPIObject): OpenAPIObject\n static setup(path: string, app: INestApplication, document: OpenAPIObject): void\n}\n```\nSets up Swagger UI documentation at the specified path. Call `createDocument()` first, then `setup()`." }]
282
+ },
283
+ "VersioningType": {
284
+ "contents": [{ "value": "```typescript\nenum VersioningType { URI, HEADER, MEDIA_TYPE, CUSTOM }\n```\nEnum for API versioning strategies. URI-based is the most common approach." }]
285
+ },
286
+ "HttpModule": {
287
+ "contents": [{ "value": "```typescript\nclass HttpModule {\n static register(config?: HttpModuleOptions): DynamicModule\n}\n```\nModule that exposes `HttpService` for making external HTTP requests via Axios." }]
288
+ },
289
+ "HttpService": {
290
+ "contents": [{ "value": "```typescript\nclass HttpService {\n get<T>(url: string, config?: AxiosRequestConfig): Observable<AxiosResponse<T>>\n post<T>(url: string, data?: any, config?: AxiosRequestConfig): Observable<AxiosResponse<T>>\n}\n```\nService for making HTTP requests using Axios. Returns RxJS Observables." }]
291
+ },
292
+ "ParseFilePipe": {
293
+ "contents": [{ "value": "```typescript\nclass ParseFilePipe implements PipeTransform\n```\nPipe for validating uploaded files. Combine with `MaxFileSizeValidator` and `FileTypeValidator` for comprehensive file validation." }]
294
+ }
295
+ }
296
+ }