@enjoys/context-engine 1.3.1 → 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 (221) hide show
  1. package/data/codeActions/angular.json +126 -0
  2. package/data/codeActions/nestjs.json +124 -0
  3. package/data/codeActions/nextjs.json +198 -0
  4. package/data/codeActions/react.json +154 -0
  5. package/data/codeActions/shadcn.json +112 -0
  6. package/data/codeActions/shell.json +169 -26
  7. package/data/codeLens/angular.json +22 -0
  8. package/data/codeLens/nestjs.json +21 -0
  9. package/data/codeLens/nextjs.json +117 -0
  10. package/data/codeLens/react.json +89 -0
  11. package/data/codeLens/shadcn.json +89 -0
  12. package/data/codeLens/shell.json +59 -17
  13. package/data/codeLens/tailwindcss.json +56 -0
  14. package/data/color/angular.json +21 -0
  15. package/data/color/nestjs.json +18 -0
  16. package/data/color/nextjs.json +22 -0
  17. package/data/color/react.json +93 -0
  18. package/data/color/shadcn.json +66 -0
  19. package/data/color/shell.json +106 -80
  20. package/data/commands/angular.json +312 -0
  21. package/data/commands/manifest.json +5 -0
  22. package/data/commands/nestjs.json +273 -0
  23. package/data/commands/nextjs.json +123 -0
  24. package/data/commands/react.json +210 -0
  25. package/data/commands/shadcn.json +410 -0
  26. package/data/commands/shell.json +571 -41
  27. package/data/completion/angular.json +1490 -0
  28. package/data/completion/css.json +793 -0
  29. package/data/completion/nestjs.json +1454 -0
  30. package/data/completion/nextjs.json +1373 -0
  31. package/data/completion/react.json +1319 -0
  32. package/data/completion/shadcn.json +1202 -0
  33. package/data/completion/shell.json +2446 -510
  34. package/data/declaration/angular.json +46 -0
  35. package/data/declaration/nestjs.json +47 -0
  36. package/data/declaration/nextjs.json +274 -0
  37. package/data/declaration/react.json +199 -0
  38. package/data/declaration/shadcn.json +211 -0
  39. package/data/declaration/shell.json +343 -24
  40. package/data/declaration/tailwindcss.json +72 -0
  41. package/data/definition/angular.json +670 -0
  42. package/data/definition/nestjs.json +684 -0
  43. package/data/definition/nextjs.json +439 -0
  44. package/data/definition/react.json +397 -0
  45. package/data/definition/shadcn.json +99 -0
  46. package/data/definition/shell.json +820 -0
  47. package/data/documentHighlight/angular.json +414 -0
  48. package/data/documentHighlight/css.json +77 -2
  49. package/data/documentHighlight/nestjs.json +115 -0
  50. package/data/documentHighlight/nextjs.json +212 -0
  51. package/data/documentHighlight/react.json +119 -0
  52. package/data/documentHighlight/shadcn.json +168 -0
  53. package/data/documentHighlight/shell.json +664 -334
  54. package/data/documentHighlight/tailwindcss.json +105 -10
  55. package/data/documentRangeFormatting/angular.json +45 -0
  56. package/data/documentRangeFormatting/nestjs.json +17 -0
  57. package/data/documentRangeFormatting/nextjs.json +17 -0
  58. package/data/documentRangeFormatting/react.json +78 -0
  59. package/data/documentRangeFormatting/shadcn.json +45 -0
  60. package/data/documentRangeFormatting/shell.json +120 -53
  61. package/data/documentSymbol/angular.json +180 -0
  62. package/data/documentSymbol/nestjs.json +152 -0
  63. package/data/documentSymbol/nextjs.json +159 -0
  64. package/data/documentSymbol/react.json +145 -0
  65. package/data/documentSymbol/shadcn.json +131 -0
  66. package/data/documentSymbol/shell.json +166 -26
  67. package/data/documentSymbol/tailwindcss.json +49 -0
  68. package/data/foldingRange/angular.json +99 -0
  69. package/data/foldingRange/nestjs.json +26 -0
  70. package/data/foldingRange/nextjs.json +26 -0
  71. package/data/foldingRange/react.json +120 -0
  72. package/data/foldingRange/shadcn.json +93 -0
  73. package/data/foldingRange/shell.json +106 -46
  74. package/data/formatting/angular.json +21 -0
  75. package/data/formatting/nestjs.json +23 -0
  76. package/data/formatting/nextjs.json +23 -0
  77. package/data/formatting/react.json +71 -0
  78. package/data/formatting/shadcn.json +61 -0
  79. package/data/formatting/shell.json +103 -19
  80. package/data/hover/angular.json +455 -0
  81. package/data/hover/css.json +232 -0
  82. package/data/hover/nestjs.json +296 -0
  83. package/data/hover/nextjs.json +305 -0
  84. package/data/hover/react.json +173 -0
  85. package/data/hover/shadcn.json +450 -0
  86. package/data/hover/shell.json +684 -75
  87. package/data/implementation/angular.json +22 -0
  88. package/data/implementation/nestjs.json +24 -0
  89. package/data/implementation/nextjs.json +137 -0
  90. package/data/implementation/react.json +125 -0
  91. package/data/implementation/shadcn.json +89 -0
  92. package/data/implementation/shell.json +59 -3
  93. package/data/inlayHints/angular.json +24 -0
  94. package/data/inlayHints/nestjs.json +24 -0
  95. package/data/inlayHints/nextjs.json +143 -0
  96. package/data/inlayHints/react.json +177 -0
  97. package/data/inlayHints/shadcn.json +109 -0
  98. package/data/inlayHints/shell.json +223 -35
  99. package/data/inlineCompletions/angular.json +135 -0
  100. package/data/inlineCompletions/nestjs.json +25 -0
  101. package/data/inlineCompletions/nextjs.json +179 -0
  102. package/data/inlineCompletions/react.json +203 -0
  103. package/data/inlineCompletions/shadcn.json +115 -0
  104. package/data/inlineCompletions/shell.json +185 -35
  105. package/data/linkedEditingRange/angular.json +23 -0
  106. package/data/linkedEditingRange/nestjs.json +10 -0
  107. package/data/linkedEditingRange/nextjs.json +11 -0
  108. package/data/linkedEditingRange/react.json +75 -0
  109. package/data/linkedEditingRange/shadcn.json +23 -0
  110. package/data/linkedEditingRange/shell.json +25 -25
  111. package/data/links/angular.json +95 -0
  112. package/data/links/nestjs.json +130 -0
  113. package/data/links/nextjs.json +91 -0
  114. package/data/links/react.json +75 -0
  115. package/data/links/shadcn.json +98 -0
  116. package/data/links/shell.json +56 -0
  117. package/data/links/tailwindcss.json +25 -0
  118. package/data/manifest.json +339 -152
  119. package/data/onTypeFormatting/angular.json +14 -0
  120. package/data/onTypeFormatting/nestjs.json +16 -0
  121. package/data/onTypeFormatting/nextjs.json +17 -0
  122. package/data/onTypeFormatting/react.json +127 -0
  123. package/data/onTypeFormatting/shadcn.json +54 -0
  124. package/data/onTypeFormatting/shell.json +72 -68
  125. package/data/rangeSemanticTokens/angular.json +140 -0
  126. package/data/rangeSemanticTokens/nestjs.json +27 -0
  127. package/data/rangeSemanticTokens/nextjs.json +28 -0
  128. package/data/rangeSemanticTokens/react.json +216 -0
  129. package/data/rangeSemanticTokens/shadcn.json +140 -0
  130. package/data/rangeSemanticTokens/shell.json +247 -69
  131. package/data/rangeSemanticTokens/tailwindcss.json +99 -8
  132. package/data/references/angular.json +26 -0
  133. package/data/references/nestjs.json +24 -0
  134. package/data/references/nextjs.json +178 -0
  135. package/data/references/react.json +192 -0
  136. package/data/references/shadcn.json +101 -0
  137. package/data/references/shell.json +323 -92
  138. package/data/references/tailwindcss.json +66 -0
  139. package/data/rename/angular.json +131 -0
  140. package/data/rename/nestjs.json +32 -0
  141. package/data/rename/nextjs.json +31 -0
  142. package/data/rename/react.json +88 -0
  143. package/data/rename/shadcn.json +79 -0
  144. package/data/rename/shell.json +101 -31
  145. package/data/selectionRange/angular.json +95 -0
  146. package/data/selectionRange/nestjs.json +21 -0
  147. package/data/selectionRange/nextjs.json +22 -0
  148. package/data/selectionRange/react.json +87 -0
  149. package/data/selectionRange/shadcn.json +89 -0
  150. package/data/selectionRange/shell.json +65 -35
  151. package/data/semanticTokens/angular.json +198 -0
  152. package/data/semanticTokens/nestjs.json +35 -0
  153. package/data/semanticTokens/nextjs.json +38 -0
  154. package/data/semanticTokens/react.json +215 -0
  155. package/data/semanticTokens/shadcn.json +180 -0
  156. package/data/semanticTokens/shell.json +238 -65
  157. package/data/signatureHelp/angular.json +182 -0
  158. package/data/signatureHelp/nestjs.json +128 -0
  159. package/data/signatureHelp/nextjs.json +127 -0
  160. package/data/signatureHelp/react.json +281 -0
  161. package/data/signatureHelp/shadcn.json +237 -0
  162. package/data/signatureHelp/shell.json +797 -104
  163. package/data/typeDefinition/angular.json +362 -0
  164. package/data/typeDefinition/nestjs.json +334 -0
  165. package/data/typeDefinition/nextjs.json +285 -0
  166. package/data/typeDefinition/react.json +236 -0
  167. package/data/typeDefinition/shadcn.json +292 -0
  168. package/data/typeDefinition/shell.json +104 -40
  169. package/package.json +1 -1
  170. package/data/codeActions/bash.json +0 -169
  171. package/data/codeActions/zsh.json +0 -49
  172. package/data/codeLens/bash.json +0 -75
  173. package/data/codeLens/zsh.json +0 -19
  174. package/data/color/bash.json +0 -100
  175. package/data/color/zsh.json +0 -80
  176. package/data/commands/bash.json +0 -102
  177. package/data/commands/zsh.json +0 -166
  178. package/data/completion/bash.json +0 -1184
  179. package/data/completion/zsh.json +0 -973
  180. package/data/declaration/bash.json +0 -301
  181. package/data/declaration/zsh.json +0 -205
  182. package/data/definition/bash.json +0 -565
  183. package/data/definition/zsh.json +0 -350
  184. package/data/documentHighlight/bash.json +0 -393
  185. package/data/documentHighlight/zsh.json +0 -266
  186. package/data/documentRangeFormatting/bash.json +0 -41
  187. package/data/documentRangeFormatting/zsh.json +0 -59
  188. package/data/documentSymbol/bash.json +0 -124
  189. package/data/documentSymbol/zsh.json +0 -26
  190. package/data/foldingRange/bash.json +0 -76
  191. package/data/foldingRange/zsh.json +0 -46
  192. package/data/formatting/bash.json +0 -88
  193. package/data/formatting/zsh.json +0 -28
  194. package/data/hover/bash.json +0 -579
  195. package/data/hover/zsh.json +0 -96
  196. package/data/implementation/bash.json +0 -44
  197. package/data/implementation/zsh.json +0 -41
  198. package/data/inlayHints/bash.json +0 -207
  199. package/data/inlayHints/zsh.json +0 -43
  200. package/data/inlineCompletions/bash.json +0 -155
  201. package/data/inlineCompletions/zsh.json +0 -17
  202. package/data/linkedEditingRange/bash.json +0 -25
  203. package/data/linkedEditingRange/zsh.json +0 -25
  204. package/data/links/bash.json +0 -56
  205. package/data/links/zsh.json +0 -15
  206. package/data/onTypeFormatting/bash.json +0 -68
  207. package/data/onTypeFormatting/zsh.json +0 -68
  208. package/data/rangeSemanticTokens/bash.json +0 -90
  209. package/data/rangeSemanticTokens/zsh.json +0 -76
  210. package/data/references/bash.json +0 -221
  211. package/data/references/zsh.json +0 -166
  212. package/data/rename/bash.json +0 -37
  213. package/data/rename/zsh.json +0 -31
  214. package/data/selectionRange/bash.json +0 -35
  215. package/data/selectionRange/zsh.json +0 -35
  216. package/data/semanticTokens/bash.json +0 -71
  217. package/data/semanticTokens/zsh.json +0 -71
  218. package/data/signatureHelp/bash.json +0 -111
  219. package/data/signatureHelp/zsh.json +0 -118
  220. package/data/typeDefinition/bash.json +0 -95
  221. package/data/typeDefinition/zsh.json +0 -40
@@ -0,0 +1,46 @@
1
+ {
2
+ "language": "angular",
3
+ "declarations": {
4
+ "Component": { "signature": "@Component(metadata: ComponentMetadata)", "description": "Decorator that marks a class as an Angular component and provides configuration metadata", "type": "decorator", "module": "@angular/core" },
5
+ "Injectable": { "signature": "@Injectable(options?: { providedIn: Type<any> | 'root' | 'platform' | 'any' })", "description": "Decorator that marks a class as available to be provided and injected as a dependency", "type": "decorator", "module": "@angular/core" },
6
+ "NgModule": { "signature": "@NgModule(metadata: NgModuleMetadata)", "description": "Decorator that marks a class as an Angular module and provides configuration metadata", "type": "decorator", "module": "@angular/core" },
7
+ "Directive": { "signature": "@Directive(metadata: DirectiveMetadata)", "description": "Decorator that marks a class as an Angular directive", "type": "decorator", "module": "@angular/core" },
8
+ "Pipe": { "signature": "@Pipe(metadata: { name: string; standalone?: boolean; pure?: boolean })", "description": "Decorator that marks a class as an Angular pipe for template transformations", "type": "decorator", "module": "@angular/core" },
9
+ "signal": { "signature": "signal<T>(initialValue: T, options?: SignalOptions<T>): WritableSignal<T>", "description": "Creates a writable signal with an initial value", "type": "function", "module": "@angular/core" },
10
+ "computed": { "signature": "computed<T>(computation: () => T, options?: SignalOptions<T>): Signal<T>", "description": "Creates a computed signal that derives its value from other signals", "type": "function", "module": "@angular/core" },
11
+ "effect": { "signature": "effect(effectFn: () => void, options?: EffectOptions): EffectRef", "description": "Creates a reactive effect that runs when its signal dependencies change", "type": "function", "module": "@angular/core" },
12
+ "input": { "signature": "input<T>(initialValue?: T, options?: InputOptions): InputSignal<T>", "description": "Signal-based input declaration for components and directives", "type": "function", "module": "@angular/core" },
13
+ "output": { "signature": "output<T>(options?: OutputOptions): OutputEmitterRef<T>", "description": "Signal-based output declaration for components and directives", "type": "function", "module": "@angular/core" },
14
+ "inject": { "signature": "inject<T>(token: ProviderToken<T>, options?: InjectOptions): T", "description": "Injects a dependency token in an injection context", "type": "function", "module": "@angular/core" },
15
+ "viewChild": { "signature": "viewChild<T>(locator: string | ProviderToken<T>): Signal<T | undefined>", "description": "Signal-based view child query", "type": "function", "module": "@angular/core" },
16
+ "viewChildren": { "signature": "viewChildren<T>(locator: string | ProviderToken<T>): Signal<readonly T[]>", "description": "Signal-based view children query", "type": "function", "module": "@angular/core" },
17
+ "contentChild": { "signature": "contentChild<T>(locator: string | ProviderToken<T>): Signal<T | undefined>", "description": "Signal-based content child query", "type": "function", "module": "@angular/core" },
18
+ "contentChildren": { "signature": "contentChildren<T>(locator: string | ProviderToken<T>): Signal<readonly T[]>", "description": "Signal-based content children query", "type": "function", "module": "@angular/core" },
19
+ "FormControl": { "signature": "new FormControl<T>(value?: T, opts?: FormControlOptions)", "description": "Tracks the value and validation state of an individual form control", "type": "class", "module": "@angular/forms" },
20
+ "FormGroup": { "signature": "new FormGroup<T>(controls: T, opts?: AbstractControlOptions)", "description": "Tracks the value and validity of a group of FormControl instances", "type": "class", "module": "@angular/forms" },
21
+ "FormArray": { "signature": "new FormArray<T>(controls: T[], opts?: AbstractControlOptions)", "description": "Tracks the value and validity of an array of FormControl instances", "type": "class", "module": "@angular/forms" },
22
+ "FormBuilder": { "signature": "class FormBuilder", "description": "Service for creating form control instances with reduced boilerplate", "type": "class", "module": "@angular/forms" },
23
+ "Router": { "signature": "class Router", "description": "Service for navigating between views and manipulating URLs", "type": "class", "module": "@angular/router" },
24
+ "ActivatedRoute": { "signature": "class ActivatedRoute", "description": "Provides access to information about a route associated with a component", "type": "class", "module": "@angular/router" },
25
+ "HttpClient": { "signature": "class HttpClient", "description": "Service for making HTTP requests", "type": "class", "module": "@angular/common/http" },
26
+ "EventEmitter": { "signature": "new EventEmitter<T>(isAsync?: boolean)", "description": "Use in components with @Output to emit custom events", "type": "class", "module": "@angular/core" },
27
+ "TemplateRef": { "signature": "class TemplateRef<C>", "description": "Represents an embedded template for instantiating embedded views", "type": "class", "module": "@angular/core" },
28
+ "ElementRef": { "signature": "class ElementRef<T = any>", "description": "Wrapper around a native element inside a View", "type": "class", "module": "@angular/core" },
29
+ "DestroyRef": { "signature": "class DestroyRef", "description": "Lets you register callbacks to run when a destruction scope is destroyed", "type": "class", "module": "@angular/core" }
30
+ },
31
+ "declarationPatterns": [
32
+ { "name": "ClassDeclaration", "pattern": "(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "description": "Class declaration" },
33
+ { "name": "FunctionDeclaration", "pattern": "(?:export\\s+)?function\\s+(\\w+)", "captureGroup": 1, "description": "Named function declaration" },
34
+ { "name": "ConstDeclaration", "pattern": "(?:export\\s+)?const\\s+(\\w+)\\s*[:=]", "captureGroup": 1, "description": "Constant variable declaration" },
35
+ { "name": "LetDeclaration", "pattern": "(?:export\\s+)?let\\s+(\\w+)\\s*[:=]", "captureGroup": 1, "description": "Let variable declaration" },
36
+ { "name": "TypeAlias", "pattern": "(?:export\\s+)?type\\s+(\\w+)\\s*=", "captureGroup": 1, "description": "TypeScript type alias declaration" },
37
+ { "name": "InterfaceDeclaration", "pattern": "(?:export\\s+)?interface\\s+(\\w+)", "captureGroup": 1, "description": "TypeScript interface declaration" },
38
+ { "name": "EnumDeclaration", "pattern": "(?:export\\s+)?enum\\s+(\\w+)", "captureGroup": 1, "description": "TypeScript enum declaration" },
39
+ { "name": "DecoratorDeclaration", "pattern": "@(Component|Injectable|NgModule|Directive|Pipe|Input|Output)\\s*\\(", "captureGroup": 1, "description": "Angular decorator usage" },
40
+ { "name": "SignalDeclaration", "pattern": "(\\w+)\\s*=\\s*signal\\s*(?:<[^>]*>)?\\s*\\(", "captureGroup": 1, "description": "Angular signal property declaration" },
41
+ { "name": "ComputedDeclaration", "pattern": "(\\w+)\\s*=\\s*computed\\s*\\(", "captureGroup": 1, "description": "Angular computed signal property declaration" },
42
+ { "name": "InputSignalDeclaration", "pattern": "(\\w+)\\s*=\\s*input(?:\\.required)?\\s*(?:<[^>]*>)?\\s*\\(", "captureGroup": 1, "description": "Angular signal-based input property declaration" },
43
+ { "name": "OutputSignalDeclaration", "pattern": "(\\w+)\\s*=\\s*output\\s*(?:<[^>]*>)?\\s*\\(", "captureGroup": 1, "description": "Angular signal-based output property declaration" },
44
+ { "name": "ArrowFunctionDeclaration", "pattern": "(?:export\\s+)?const\\s+(\\w+)\\s*=\\s*(?:\\([^)]*\\)|\\w+)\\s*=>", "captureGroup": 1, "description": "Arrow function assigned to a const" }
45
+ ]
46
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "language": "nestjs",
3
+ "declarations": {
4
+ "Controller": { "signature": "@Controller(prefix?: string | string[])", "description": "Marks a class as a NestJS controller that handles incoming requests", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers" },
5
+ "Injectable": { "signature": "@Injectable(options?: InjectableOptions)", "description": "Marks a class as a provider that can be injected via dependency injection", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/providers" },
6
+ "Module": { "signature": "@Module(metadata: ModuleMetadata)", "description": "Defines a NestJS module that organizes application structure", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/modules" },
7
+ "Get": { "signature": "@Get(path?: string | string[])", "description": "Maps HTTP GET requests to the decorated method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#routing" },
8
+ "Post": { "signature": "@Post(path?: string | string[])", "description": "Maps HTTP POST requests to the decorated method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#routing" },
9
+ "Put": { "signature": "@Put(path?: string | string[])", "description": "Maps HTTP PUT requests to the decorated method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#routing" },
10
+ "Delete": { "signature": "@Delete(path?: string | string[])", "description": "Maps HTTP DELETE requests to the decorated method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#routing" },
11
+ "Patch": { "signature": "@Patch(path?: string | string[])", "description": "Maps HTTP PATCH requests to the decorated method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#routing" },
12
+ "Inject": { "signature": "@Inject(token?: string | symbol | Type)", "description": "Injects a provider using a custom injection token", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/fundamentals/custom-providers" },
13
+ "Body": { "signature": "@Body(property?: string, ...pipes: PipeTransform[])", "description": "Extracts the body from the request object", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#request-payloads" },
14
+ "Param": { "signature": "@Param(property?: string, ...pipes: PipeTransform[])", "description": "Extracts route parameters from the request", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#route-parameters" },
15
+ "Query": { "signature": "@Query(property?: string, ...pipes: PipeTransform[])", "description": "Extracts query parameters from the request URL", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#query-parameters" },
16
+ "Headers": { "signature": "@Headers(property?: string)", "description": "Extracts headers from the request", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/controllers#headers" },
17
+ "UseGuards": { "signature": "@UseGuards(...guards: (CanActivate | Function)[])", "description": "Binds guards to the scope of the controller or method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/guards" },
18
+ "UseInterceptors": { "signature": "@UseInterceptors(...interceptors: (NestInterceptor | Function)[])", "description": "Binds interceptors to the controller or method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/interceptors" },
19
+ "UsePipes": { "signature": "@UsePipes(...pipes: (PipeTransform | Function)[])", "description": "Binds pipes to the controller or method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/pipes" },
20
+ "UseFilters": { "signature": "@UseFilters(...filters: (ExceptionFilter | Function)[])", "description": "Binds exception filters to the controller or method", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/exception-filters" },
21
+ "NestFactory": { "signature": "class NestFactory", "description": "Factory class to create a NestJS application instance", "type": "class", "module": "@nestjs/core", "url": "https://docs.nestjs.com/first-steps" },
22
+ "ValidationPipe": { "signature": "class ValidationPipe implements PipeTransform", "description": "Pipe that validates incoming data using class-validator decorators", "type": "class", "module": "@nestjs/common", "url": "https://docs.nestjs.com/techniques/validation" },
23
+ "HttpException": { "signature": "class HttpException extends Error", "description": "Base class for HTTP exceptions in NestJS", "type": "class", "module": "@nestjs/common", "url": "https://docs.nestjs.com/exception-filters#built-in-http-exceptions" },
24
+ "ConfigService": { "signature": "class ConfigService<K = Record<string, unknown>>", "description": "Service for accessing configuration values from environment and config files", "type": "class", "module": "@nestjs/config", "url": "https://docs.nestjs.com/techniques/configuration" },
25
+ "TypeOrmModule": { "signature": "class TypeOrmModule", "description": "Module for TypeORM database integration", "type": "class", "module": "@nestjs/typeorm", "url": "https://docs.nestjs.com/techniques/database" },
26
+ "JwtService": { "signature": "class JwtService", "description": "Service for JWT token signing and verification", "type": "class", "module": "@nestjs/jwt", "url": "https://docs.nestjs.com/security/authentication" },
27
+ "Catch": { "signature": "@Catch(...exceptions: Type<any>[])", "description": "Decorator that binds exception types to an exception filter", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/exception-filters" },
28
+ "SetMetadata": { "signature": "@SetMetadata(key: string, value: any)", "description": "Attaches custom metadata to route handlers, usable by guards and interceptors", "type": "function", "module": "@nestjs/common", "url": "https://docs.nestjs.com/fundamentals/execution-context#reflection-and-metadata" }
29
+ },
30
+ "declarationPatterns": [
31
+ { "name": "Controller class", "pattern": "@Controller\\([^)]*\\)[\\s\\S]*?export\\s+class\\s+(\\w+)", "captureGroup": 1, "type": "class" },
32
+ { "name": "Injectable service", "pattern": "@Injectable\\(\\)[\\s\\S]*?export\\s+class\\s+(\\w+)", "captureGroup": 1, "type": "class" },
33
+ { "name": "Module definition", "pattern": "@Module\\([^)]*\\)[\\s\\S]*?export\\s+class\\s+(\\w+)", "captureGroup": 1, "type": "module" },
34
+ { "name": "Route handler", "pattern": "@(Get|Post|Put|Patch|Delete|Head|Options)\\([^)]*\\)[\\s\\S]*?(?:async\\s+)?(\\w+)\\s*\\(", "captureGroup": 2, "type": "method" },
35
+ { "name": "Guard class", "pattern": "export\\s+class\\s+(\\w+)\\s+implements\\s+CanActivate", "captureGroup": 1, "type": "class" },
36
+ { "name": "Pipe class", "pattern": "export\\s+class\\s+(\\w+)\\s+implements\\s+PipeTransform", "captureGroup": 1, "type": "class" },
37
+ { "name": "Interceptor class", "pattern": "export\\s+class\\s+(\\w+)\\s+implements\\s+NestInterceptor", "captureGroup": 1, "type": "class" },
38
+ { "name": "Filter class", "pattern": "@Catch\\([^)]*\\)[\\s\\S]*?export\\s+class\\s+(\\w+)", "captureGroup": 1, "type": "class" },
39
+ { "name": "Middleware class", "pattern": "export\\s+class\\s+(\\w+)\\s+implements\\s+NestMiddleware", "captureGroup": 1, "type": "class" },
40
+ { "name": "Entity class", "pattern": "@Entity\\([^)]*\\)[\\s\\S]*?export\\s+class\\s+(\\w+)", "captureGroup": 1, "type": "class" },
41
+ { "name": "DTO class", "pattern": "export\\s+class\\s+(\\w+(?:Dto|DTO))\\b", "captureGroup": 1, "type": "class" },
42
+ { "name": "Interface", "pattern": "export\\s+interface\\s+(\\w+)", "captureGroup": 1, "type": "interface" },
43
+ { "name": "Enum", "pattern": "export\\s+enum\\s+(\\w+)", "captureGroup": 1, "type": "enum" },
44
+ { "name": "Type alias", "pattern": "export\\s+type\\s+(\\w+)\\s*=", "captureGroup": 1, "type": "type_alias" },
45
+ { "name": "Constant", "pattern": "export\\s+const\\s+(\\w+)\\s*=", "captureGroup": 1, "type": "constant" }
46
+ ]
47
+ }
@@ -0,0 +1,274 @@
1
+ {
2
+ "language": "nextjs",
3
+ "declarations": {
4
+ "useRouter": {
5
+ "signature": "useRouter(): AppRouterInstance",
6
+ "description": "Returns the router object for programmatic navigation in client components",
7
+ "type": "function",
8
+ "module": "next/navigation",
9
+ "url": "https://nextjs.org/docs/app/api-reference/functions/use-router"
10
+ },
11
+ "usePathname": {
12
+ "signature": "usePathname(): string",
13
+ "description": "Returns the current URL pathname in a client component",
14
+ "type": "function",
15
+ "module": "next/navigation",
16
+ "url": "https://nextjs.org/docs/app/api-reference/functions/use-pathname"
17
+ },
18
+ "useSearchParams": {
19
+ "signature": "useSearchParams(): ReadonlyURLSearchParams",
20
+ "description": "Returns the current URL search parameters in a client component",
21
+ "type": "function",
22
+ "module": "next/navigation",
23
+ "url": "https://nextjs.org/docs/app/api-reference/functions/use-search-params"
24
+ },
25
+ "useParams": {
26
+ "signature": "useParams(): Params",
27
+ "description": "Returns the dynamic route parameters for the current route",
28
+ "type": "function",
29
+ "module": "next/navigation",
30
+ "url": "https://nextjs.org/docs/app/api-reference/functions/use-params"
31
+ },
32
+ "useSelectedLayoutSegment": {
33
+ "signature": "useSelectedLayoutSegment(parallelRoutesKey?: string): string | null",
34
+ "description": "Returns the active route segment one level below the layout it is called from",
35
+ "type": "function",
36
+ "module": "next/navigation",
37
+ "url": "https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment"
38
+ },
39
+ "Image": {
40
+ "signature": "<Image src={...} alt={...} width={...} height={...} />",
41
+ "description": "Optimized image component with automatic lazy loading and resizing",
42
+ "type": "function",
43
+ "module": "next/image",
44
+ "url": "https://nextjs.org/docs/app/api-reference/components/image"
45
+ },
46
+ "Link": {
47
+ "signature": "<Link href={...}>{children}</Link>",
48
+ "description": "Client-side navigation component that prefetches linked routes",
49
+ "type": "function",
50
+ "module": "next/link",
51
+ "url": "https://nextjs.org/docs/app/api-reference/components/link"
52
+ },
53
+ "Script": {
54
+ "signature": "<Script src={...} strategy={...} />",
55
+ "description": "Component for loading third-party scripts with various loading strategies",
56
+ "type": "function",
57
+ "module": "next/script",
58
+ "url": "https://nextjs.org/docs/app/api-reference/components/script"
59
+ },
60
+ "redirect": {
61
+ "signature": "redirect(url: string, type?: RedirectType): never",
62
+ "description": "Redirects the user to another URL, can be used in server components and route handlers",
63
+ "type": "function",
64
+ "module": "next/navigation",
65
+ "url": "https://nextjs.org/docs/app/api-reference/functions/redirect"
66
+ },
67
+ "permanentRedirect": {
68
+ "signature": "permanentRedirect(url: string): never",
69
+ "description": "Permanently redirects the user to another URL (308 status)",
70
+ "type": "function",
71
+ "module": "next/navigation",
72
+ "url": "https://nextjs.org/docs/app/api-reference/functions/permanentRedirect"
73
+ },
74
+ "notFound": {
75
+ "signature": "notFound(): never",
76
+ "description": "Renders the not-found.tsx component and sets 404 status",
77
+ "type": "function",
78
+ "module": "next/navigation",
79
+ "url": "https://nextjs.org/docs/app/api-reference/functions/not-found"
80
+ },
81
+ "NextRequest": {
82
+ "signature": "class NextRequest extends Request",
83
+ "description": "Extended Web Request API with additional methods for middleware and route handlers",
84
+ "type": "class",
85
+ "module": "next/server",
86
+ "url": "https://nextjs.org/docs/app/api-reference/functions/next-request"
87
+ },
88
+ "NextResponse": {
89
+ "signature": "class NextResponse extends Response",
90
+ "description": "Extended Web Response API with additional methods for middleware and route handlers",
91
+ "type": "class",
92
+ "module": "next/server",
93
+ "url": "https://nextjs.org/docs/app/api-reference/functions/next-response"
94
+ },
95
+ "headers": {
96
+ "signature": "headers(): ReadonlyHeaders",
97
+ "description": "Returns a read-only Headers object for the incoming request",
98
+ "type": "function",
99
+ "module": "next/headers",
100
+ "url": "https://nextjs.org/docs/app/api-reference/functions/headers"
101
+ },
102
+ "cookies": {
103
+ "signature": "cookies(): ReadonlyRequestCookies",
104
+ "description": "Returns a read-only cookies object for the incoming request",
105
+ "type": "function",
106
+ "module": "next/headers",
107
+ "url": "https://nextjs.org/docs/app/api-reference/functions/cookies"
108
+ },
109
+ "generateMetadata": {
110
+ "signature": "export async function generateMetadata(props: { params: Params, searchParams: SearchParams }): Promise<Metadata>",
111
+ "description": "Async function to generate dynamic metadata for a page",
112
+ "type": "function",
113
+ "module": "next",
114
+ "url": "https://nextjs.org/docs/app/api-reference/functions/generate-metadata"
115
+ },
116
+ "generateStaticParams": {
117
+ "signature": "export async function generateStaticParams(): Promise<Params[]>",
118
+ "description": "Generates static route parameters at build time for dynamic routes",
119
+ "type": "function",
120
+ "module": "next",
121
+ "url": "https://nextjs.org/docs/app/api-reference/functions/generate-static-params"
122
+ },
123
+ "middleware": {
124
+ "signature": "export function middleware(request: NextRequest): NextResponse | Response",
125
+ "description": "Runs before a request is completed, can modify response by rewriting, redirecting, or setting headers",
126
+ "type": "function",
127
+ "module": "next/server",
128
+ "url": "https://nextjs.org/docs/app/building-your-application/routing/middleware"
129
+ },
130
+ "revalidatePath": {
131
+ "signature": "revalidatePath(path: string, type?: 'page' | 'layout'): void",
132
+ "description": "Purges cached data for a specific path on-demand",
133
+ "type": "function",
134
+ "module": "next/cache",
135
+ "url": "https://nextjs.org/docs/app/api-reference/functions/revalidatePath"
136
+ },
137
+ "revalidateTag": {
138
+ "signature": "revalidateTag(tag: string): void",
139
+ "description": "Purges cached data associated with a specific cache tag on-demand",
140
+ "type": "function",
141
+ "module": "next/cache",
142
+ "url": "https://nextjs.org/docs/app/api-reference/functions/revalidateTag"
143
+ },
144
+ "unstable_cache": {
145
+ "signature": "unstable_cache(fn: Function, keyParts?: string[], options?: { revalidate?: number, tags?: string[] }): Function",
146
+ "description": "Caches the result of an async function with optional revalidation and tagging",
147
+ "type": "function",
148
+ "module": "next/cache",
149
+ "url": "https://nextjs.org/docs/app/api-reference/functions/unstable_cache"
150
+ },
151
+ "NextPage": {
152
+ "signature": "type NextPage<P = {}, IP = P> = React.ComponentType<P> & { getInitialProps?(ctx: NextPageContext): IP | Promise<IP> }",
153
+ "description": "Type for Next.js page components",
154
+ "type": "variable",
155
+ "module": "next",
156
+ "url": "https://nextjs.org/docs/pages/building-your-application/routing/pages-and-layouts"
157
+ },
158
+ "Metadata": {
159
+ "signature": "type Metadata = { title?: string | TemplateString, description?: string, ... }",
160
+ "description": "Type for defining page metadata including title, description, OpenGraph, etc.",
161
+ "type": "variable",
162
+ "module": "next",
163
+ "url": "https://nextjs.org/docs/app/api-reference/functions/generate-metadata"
164
+ },
165
+ "dynamic": {
166
+ "signature": "export const dynamic: 'auto' | 'force-dynamic' | 'error' | 'force-static'",
167
+ "description": "Controls the dynamic behavior of a route segment",
168
+ "type": "constant",
169
+ "module": "next",
170
+ "url": "https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config"
171
+ },
172
+ "fetchCache": {
173
+ "signature": "export const fetchCache: 'auto' | 'default-cache' | 'only-cache' | 'force-cache' | 'force-no-store' | 'default-no-store' | 'only-no-store'",
174
+ "description": "Configures the default caching behavior for fetch requests in a route segment",
175
+ "type": "constant",
176
+ "module": "next",
177
+ "url": "https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config"
178
+ },
179
+ "useFormState": {
180
+ "signature": "useFormState(action: (state: S, formData: FormData) => S | Promise<S>, initialState: S): [S, (formData: FormData) => void]",
181
+ "description": "Hook to manage form state with server actions",
182
+ "type": "function",
183
+ "module": "react-dom",
184
+ "url": "https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations"
185
+ },
186
+ "useFormStatus": {
187
+ "signature": "useFormStatus(): { pending: boolean, data: FormData | null, method: string | null, action: string | null }",
188
+ "description": "Hook that gives status information of the last form submission",
189
+ "type": "function",
190
+ "module": "react-dom",
191
+ "url": "https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations"
192
+ }
193
+ },
194
+ "declarationPatterns": [
195
+ {
196
+ "name": "defaultFunctionExport",
197
+ "pattern": "export\\s+default\\s+function\\s+(\\w+)",
198
+ "captureGroup": 1,
199
+ "type": "function"
200
+ },
201
+ {
202
+ "name": "asyncFunctionExport",
203
+ "pattern": "export\\s+async\\s+function\\s+(\\w+)",
204
+ "captureGroup": 1,
205
+ "type": "function"
206
+ },
207
+ {
208
+ "name": "constExport",
209
+ "pattern": "export\\s+const\\s+(\\w+)\\s*=",
210
+ "captureGroup": 1,
211
+ "type": "variable"
212
+ },
213
+ {
214
+ "name": "customHook",
215
+ "pattern": "(?:export\\s+)?(?:const|function)\\s+(use[A-Z]\\w+)",
216
+ "captureGroup": 1,
217
+ "type": "function"
218
+ },
219
+ {
220
+ "name": "routeHandlerGET",
221
+ "pattern": "export\\s+(?:async\\s+)?function\\s+(GET)\\s*\\(",
222
+ "captureGroup": 1,
223
+ "type": "function"
224
+ },
225
+ {
226
+ "name": "routeHandlerPOST",
227
+ "pattern": "export\\s+(?:async\\s+)?function\\s+(POST)\\s*\\(",
228
+ "captureGroup": 1,
229
+ "type": "function"
230
+ },
231
+ {
232
+ "name": "routeHandlerPUT",
233
+ "pattern": "export\\s+(?:async\\s+)?function\\s+(PUT)\\s*\\(",
234
+ "captureGroup": 1,
235
+ "type": "function"
236
+ },
237
+ {
238
+ "name": "routeHandlerDELETE",
239
+ "pattern": "export\\s+(?:async\\s+)?function\\s+(DELETE)\\s*\\(",
240
+ "captureGroup": 1,
241
+ "type": "function"
242
+ },
243
+ {
244
+ "name": "middlewareExport",
245
+ "pattern": "export\\s+(?:async\\s+)?function\\s+(middleware)\\s*\\(",
246
+ "captureGroup": 1,
247
+ "type": "function"
248
+ },
249
+ {
250
+ "name": "interfaceDeclaration",
251
+ "pattern": "(?:export\\s+)?interface\\s+(\\w+)",
252
+ "captureGroup": 1,
253
+ "type": "class"
254
+ },
255
+ {
256
+ "name": "typeDeclaration",
257
+ "pattern": "(?:export\\s+)?type\\s+(\\w+)\\s*=",
258
+ "captureGroup": 1,
259
+ "type": "variable"
260
+ },
261
+ {
262
+ "name": "serverAction",
263
+ "pattern": "async\\s+function\\s+(\\w+Action)\\s*\\(",
264
+ "captureGroup": 1,
265
+ "type": "function"
266
+ },
267
+ {
268
+ "name": "namedFunctionExport",
269
+ "pattern": "export\\s+function\\s+(\\w+)",
270
+ "captureGroup": 1,
271
+ "type": "function"
272
+ }
273
+ ]
274
+ }
@@ -0,0 +1,199 @@
1
+ {
2
+ "language": "react",
3
+ "declarations": {
4
+ "useState": {
5
+ "signature": "function useState<S>(initialState: S | (() => S)): [S, Dispatch<SetStateAction<S>>]",
6
+ "description": "Declares a state variable. Returns the current state value and a setter function.",
7
+ "type": "function",
8
+ "module": "react"
9
+ },
10
+ "useEffect": {
11
+ "signature": "function useEffect(effect: EffectCallback, deps?: DependencyList): void",
12
+ "description": "Declares an effect that runs after render. Returns void.",
13
+ "type": "function",
14
+ "module": "react"
15
+ },
16
+ "useContext": {
17
+ "signature": "function useContext<T>(context: Context<T>): T",
18
+ "description": "Declares context consumption. Returns the current context value.",
19
+ "type": "function",
20
+ "module": "react"
21
+ },
22
+ "useReducer": {
23
+ "signature": "function useReducer<R extends Reducer<any, any>>(reducer: R, initialState: ReducerState<R>): [ReducerState<R>, Dispatch<ReducerAction<R>>]",
24
+ "description": "Declares a reducer-based state. Returns state and dispatch.",
25
+ "type": "function",
26
+ "module": "react"
27
+ },
28
+ "useMemo": {
29
+ "signature": "function useMemo<T>(factory: () => T, deps: DependencyList): T",
30
+ "description": "Declares a memoized computed value.",
31
+ "type": "function",
32
+ "module": "react"
33
+ },
34
+ "useCallback": {
35
+ "signature": "function useCallback<T extends Function>(callback: T, deps: DependencyList): T",
36
+ "description": "Declares a memoized callback function.",
37
+ "type": "function",
38
+ "module": "react"
39
+ },
40
+ "useRef": {
41
+ "signature": "function useRef<T>(initialValue: T): MutableRefObject<T>",
42
+ "description": "Declares a mutable ref object that persists across renders.",
43
+ "type": "function",
44
+ "module": "react"
45
+ },
46
+ "useId": {
47
+ "signature": "function useId(): string",
48
+ "description": "Declares a unique ID stable across server and client.",
49
+ "type": "function",
50
+ "module": "react"
51
+ },
52
+ "useTransition": {
53
+ "signature": "function useTransition(): [boolean, (callback: () => void) => void]",
54
+ "description": "Declares a transition for non-urgent UI updates.",
55
+ "type": "function",
56
+ "module": "react"
57
+ },
58
+ "createContext": {
59
+ "signature": "function createContext<T>(defaultValue: T): Context<T>",
60
+ "description": "Declares a new context with a default value.",
61
+ "type": "function",
62
+ "module": "react"
63
+ },
64
+ "createElement": {
65
+ "signature": "function createElement(type: string | ComponentType, props?: object, ...children: ReactNode[]): ReactElement",
66
+ "description": "Declares and creates a React element.",
67
+ "type": "function",
68
+ "module": "react"
69
+ },
70
+ "forwardRef": {
71
+ "signature": "function forwardRef<T, P>(render: ForwardRefRenderFunction<T, P>): ForwardRefExoticComponent",
72
+ "description": "Declares a component that forwards ref to its children.",
73
+ "type": "function",
74
+ "module": "react"
75
+ },
76
+ "memo": {
77
+ "signature": "function memo<P>(Component: FunctionComponent<P>, areEqual?: (prev: P, next: P) => boolean): NamedExoticComponent<P>",
78
+ "description": "Declares a memoized component wrapper.",
79
+ "type": "function",
80
+ "module": "react"
81
+ },
82
+ "lazy": {
83
+ "signature": "function lazy<T extends ComponentType<any>>(factory: () => Promise<{ default: T }>): LazyExoticComponent<T>",
84
+ "description": "Declares a lazily loaded component via dynamic import.",
85
+ "type": "function",
86
+ "module": "react"
87
+ },
88
+ "createPortal": {
89
+ "signature": "function createPortal(children: ReactNode, container: Element): ReactPortal",
90
+ "description": "Declares a portal for rendering outside parent DOM.",
91
+ "type": "function",
92
+ "module": "react-dom"
93
+ },
94
+ "createRoot": {
95
+ "signature": "function createRoot(container: Element, options?: RootOptions): Root",
96
+ "description": "Declares a React 18+ root for rendering.",
97
+ "type": "function",
98
+ "module": "react-dom/client"
99
+ },
100
+ "Fragment": {
101
+ "signature": "<Fragment>...</Fragment>",
102
+ "description": "Declares a fragment wrapper for grouping without DOM node.",
103
+ "type": "keyword",
104
+ "module": "react"
105
+ },
106
+ "Suspense": {
107
+ "signature": "<Suspense fallback={...}>...</Suspense>",
108
+ "description": "Declares a suspense boundary with fallback UI.",
109
+ "type": "keyword",
110
+ "module": "react"
111
+ },
112
+ "StrictMode": {
113
+ "signature": "<StrictMode>...</StrictMode>",
114
+ "description": "Declares strict mode for development checks.",
115
+ "type": "keyword",
116
+ "module": "react"
117
+ },
118
+ "Component": {
119
+ "signature": "class Component<P, S>",
120
+ "description": "Declares a class-based React component.",
121
+ "type": "class",
122
+ "module": "react"
123
+ }
124
+ },
125
+ "declarationPatterns": [
126
+ {
127
+ "name": "FunctionComponent",
128
+ "pattern": "(?:export\\s+)?(?:default\\s+)?function\\s+([A-Z][a-zA-Z0-9]*)\\s*\\(",
129
+ "captureGroup": 1,
130
+ "type": "component"
131
+ },
132
+ {
133
+ "name": "ArrowComponent",
134
+ "pattern": "(?:export\\s+)?(?:default\\s+)?const\\s+([A-Z][a-zA-Z0-9]*)\\s*(?::\\s*React\\.FC[^=]*)?\\s*=\\s*(?:\\(|[a-z])",
135
+ "captureGroup": 1,
136
+ "type": "component"
137
+ },
138
+ {
139
+ "name": "ClassComponent",
140
+ "pattern": "class\\s+([A-Z][a-zA-Z0-9]*)\\s+extends\\s+(?:React\\.)?(?:Component|PureComponent)",
141
+ "captureGroup": 1,
142
+ "type": "component"
143
+ },
144
+ {
145
+ "name": "CustomHook",
146
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(use[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\()",
147
+ "captureGroup": 1,
148
+ "type": "hook"
149
+ },
150
+ {
151
+ "name": "ContextDeclaration",
152
+ "pattern": "(?:export\\s+)?const\\s+([a-zA-Z]+Context)\\s*=\\s*(?:React\\.)?createContext",
153
+ "captureGroup": 1,
154
+ "type": "context"
155
+ },
156
+ {
157
+ "name": "MemoComponent",
158
+ "pattern": "(?:export\\s+)?const\\s+([A-Z][a-zA-Z0-9]*)\\s*=\\s*(?:React\\.)?memo\\(",
159
+ "captureGroup": 1,
160
+ "type": "component"
161
+ },
162
+ {
163
+ "name": "ForwardRefComponent",
164
+ "pattern": "(?:export\\s+)?const\\s+([A-Z][a-zA-Z0-9]*)\\s*=\\s*(?:React\\.)?forwardRef",
165
+ "captureGroup": 1,
166
+ "type": "component"
167
+ },
168
+ {
169
+ "name": "LazyComponent",
170
+ "pattern": "const\\s+([A-Z][a-zA-Z0-9]*)\\s*=\\s*(?:React\\.)?lazy\\(",
171
+ "captureGroup": 1,
172
+ "type": "component"
173
+ },
174
+ {
175
+ "name": "TypeDeclaration",
176
+ "pattern": "(?:export\\s+)?type\\s+([A-Z][a-zA-Z0-9]*)\\s*(?:<[^>]*>)?\\s*=",
177
+ "captureGroup": 1,
178
+ "type": "type"
179
+ },
180
+ {
181
+ "name": "InterfaceDeclaration",
182
+ "pattern": "(?:export\\s+)?interface\\s+([A-Z][a-zA-Z0-9]*)\\s*(?:<[^>]*>)?\\s*(?:extends\\s+[^{]*)?\\{",
183
+ "captureGroup": 1,
184
+ "type": "interface"
185
+ },
186
+ {
187
+ "name": "ProviderComponent",
188
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+([A-Z][a-zA-Z0-9]*Provider)\\s*(?:=|\\()",
189
+ "captureGroup": 1,
190
+ "type": "component"
191
+ },
192
+ {
193
+ "name": "HOCDeclaration",
194
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(with[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\(|<)",
195
+ "captureGroup": 1,
196
+ "type": "function"
197
+ }
198
+ ]
199
+ }