@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.
- package/data/codeActions/angular.json +126 -0
- package/data/codeActions/css.json +111 -0
- package/data/codeActions/nestjs.json +124 -0
- package/data/codeActions/nextjs.json +198 -0
- package/data/codeActions/react.json +154 -0
- package/data/codeActions/shadcn.json +112 -0
- package/data/codeActions/shell.json +169 -26
- package/data/codeActions/tailwindcss.json +76 -0
- package/data/codeLens/angular.json +22 -0
- package/data/codeLens/css.json +68 -0
- package/data/codeLens/nestjs.json +21 -0
- package/data/codeLens/nextjs.json +117 -0
- package/data/codeLens/react.json +89 -0
- package/data/codeLens/shadcn.json +89 -0
- package/data/codeLens/shell.json +59 -17
- package/data/codeLens/tailwindcss.json +103 -0
- package/data/color/angular.json +21 -0
- package/data/color/css.json +124 -0
- package/data/color/nestjs.json +18 -0
- package/data/color/nextjs.json +22 -0
- package/data/color/react.json +93 -0
- package/data/color/shadcn.json +66 -0
- package/data/color/shell.json +106 -80
- package/data/color/tailwindcss.json +53 -0
- package/data/commands/angular.json +312 -0
- package/data/commands/css.json +41 -0
- package/data/commands/manifest.json +734 -727
- package/data/commands/nestjs.json +273 -0
- package/data/commands/nextjs.json +123 -0
- package/data/commands/react.json +210 -0
- package/data/commands/shadcn.json +410 -0
- package/data/commands/shell.json +571 -41
- package/data/commands/tailwindcss.json +53 -0
- package/data/completion/angular.json +1490 -0
- package/data/completion/css.json +1176 -0
- package/data/completion/javascript.json +27 -0
- package/data/completion/nestjs.json +1454 -0
- package/data/completion/nextjs.json +1373 -0
- package/data/completion/react.json +1319 -0
- package/data/completion/redis-cli.json +1 -1
- package/data/completion/shadcn.json +1202 -0
- package/data/completion/shell.json +2446 -510
- package/data/completion/tailwindcss.json +284 -0
- package/data/completion/typescript.json +27 -0
- package/data/declaration/angular.json +46 -0
- package/data/declaration/css.json +59 -0
- package/data/declaration/nestjs.json +47 -0
- package/data/declaration/nextjs.json +274 -0
- package/data/declaration/react.json +199 -0
- package/data/declaration/shadcn.json +211 -0
- package/data/declaration/shell.json +343 -24
- package/data/declaration/tailwindcss.json +137 -0
- package/data/definition/angular.json +670 -0
- package/data/definition/css.json +115 -0
- package/data/definition/nestjs.json +684 -0
- package/data/definition/nextjs.json +439 -0
- package/data/definition/react.json +397 -0
- package/data/definition/redis-cli.json +1 -1
- package/data/definition/shadcn.json +99 -0
- package/data/definition/shell.json +820 -0
- package/data/definition/tailwindcss.json +115 -0
- package/data/documentHighlight/angular.json +414 -0
- package/data/documentHighlight/css.json +125 -0
- package/data/documentHighlight/nestjs.json +115 -0
- package/data/documentHighlight/nextjs.json +212 -0
- package/data/documentHighlight/react.json +119 -0
- package/data/documentHighlight/shadcn.json +168 -0
- package/data/documentHighlight/shell.json +664 -334
- package/data/documentHighlight/tailwindcss.json +160 -0
- package/data/documentRangeFormatting/angular.json +45 -0
- package/data/documentRangeFormatting/css.json +101 -0
- package/data/documentRangeFormatting/nestjs.json +17 -0
- package/data/documentRangeFormatting/nextjs.json +17 -0
- package/data/documentRangeFormatting/react.json +78 -0
- package/data/documentRangeFormatting/shadcn.json +45 -0
- package/data/documentRangeFormatting/shell.json +120 -53
- package/data/documentRangeFormatting/tailwindcss.json +55 -0
- package/data/documentSymbol/angular.json +180 -0
- package/data/documentSymbol/css.json +96 -0
- package/data/documentSymbol/nestjs.json +152 -0
- package/data/documentSymbol/nextjs.json +159 -0
- package/data/documentSymbol/react.json +145 -0
- package/data/documentSymbol/shadcn.json +131 -0
- package/data/documentSymbol/shell.json +166 -26
- package/data/documentSymbol/tailwindcss.json +110 -0
- package/data/foldingRange/angular.json +99 -0
- package/data/foldingRange/css.json +66 -0
- package/data/foldingRange/nestjs.json +26 -0
- package/data/foldingRange/nextjs.json +26 -0
- package/data/foldingRange/react.json +120 -0
- package/data/foldingRange/shadcn.json +93 -0
- package/data/foldingRange/shell.json +106 -46
- package/data/foldingRange/tailwindcss.json +60 -0
- package/data/formatting/angular.json +21 -0
- package/data/formatting/css.json +73 -0
- package/data/formatting/nestjs.json +23 -0
- package/data/formatting/nextjs.json +23 -0
- package/data/formatting/react.json +71 -0
- package/data/formatting/shadcn.json +61 -0
- package/data/formatting/shell.json +103 -19
- package/data/formatting/tailwindcss.json +48 -0
- package/data/hover/angular.json +455 -0
- package/data/hover/css.json +300 -0
- package/data/hover/nestjs.json +296 -0
- package/data/hover/nextjs.json +305 -0
- package/data/hover/react.json +173 -0
- package/data/hover/redis-cli.json +1 -1
- package/data/hover/shadcn.json +450 -0
- package/data/hover/shell.json +684 -75
- package/data/hover/tailwindcss.json +968 -0
- package/data/implementation/angular.json +22 -0
- package/data/implementation/css.json +65 -0
- package/data/implementation/nestjs.json +24 -0
- package/data/implementation/nextjs.json +137 -0
- package/data/implementation/react.json +125 -0
- package/data/implementation/shadcn.json +89 -0
- package/data/implementation/shell.json +59 -3
- package/data/implementation/tailwindcss.json +59 -0
- package/data/inlayHints/angular.json +24 -0
- package/data/inlayHints/css.json +87 -0
- package/data/inlayHints/nestjs.json +24 -0
- package/data/inlayHints/nextjs.json +143 -0
- package/data/inlayHints/react.json +177 -0
- package/data/inlayHints/shadcn.json +109 -0
- package/data/inlayHints/shell.json +223 -35
- package/data/inlayHints/tailwindcss.json +111 -0
- package/data/inlineCompletions/angular.json +135 -0
- package/data/inlineCompletions/css.json +125 -0
- package/data/inlineCompletions/javascript.json +12 -0
- package/data/inlineCompletions/nestjs.json +25 -0
- package/data/inlineCompletions/nextjs.json +179 -0
- package/data/inlineCompletions/react.json +203 -0
- package/data/inlineCompletions/shadcn.json +115 -0
- package/data/inlineCompletions/shell.json +185 -35
- package/data/inlineCompletions/tailwindcss.json +411 -0
- package/data/inlineCompletions/typescript.json +12 -0
- package/data/linkedEditingRange/angular.json +23 -0
- package/data/linkedEditingRange/css.json +40 -0
- package/data/linkedEditingRange/nestjs.json +10 -0
- package/data/linkedEditingRange/nextjs.json +11 -0
- package/data/linkedEditingRange/react.json +75 -0
- package/data/linkedEditingRange/shadcn.json +23 -0
- package/data/linkedEditingRange/shell.json +25 -25
- package/data/linkedEditingRange/tailwindcss.json +30 -0
- package/data/links/angular.json +95 -0
- package/data/links/css.json +55 -0
- package/data/links/nestjs.json +130 -0
- package/data/links/nextjs.json +91 -0
- package/data/links/react.json +75 -0
- package/data/links/shadcn.json +98 -0
- package/data/links/shell.json +56 -0
- package/data/links/tailwindcss.json +65 -0
- package/data/manifest.json +399 -150
- package/data/onTypeFormatting/angular.json +14 -0
- package/data/onTypeFormatting/css.json +82 -0
- package/data/onTypeFormatting/nestjs.json +16 -0
- package/data/onTypeFormatting/nextjs.json +17 -0
- package/data/onTypeFormatting/react.json +127 -0
- package/data/onTypeFormatting/shadcn.json +54 -0
- package/data/onTypeFormatting/shell.json +72 -68
- package/data/onTypeFormatting/tailwindcss.json +63 -0
- package/data/rangeSemanticTokens/angular.json +140 -0
- package/data/rangeSemanticTokens/css.json +125 -0
- package/data/rangeSemanticTokens/nestjs.json +27 -0
- package/data/rangeSemanticTokens/nextjs.json +28 -0
- package/data/rangeSemanticTokens/react.json +216 -0
- package/data/rangeSemanticTokens/shadcn.json +140 -0
- package/data/rangeSemanticTokens/shell.json +247 -69
- package/data/rangeSemanticTokens/tailwindcss.json +186 -0
- package/data/references/angular.json +26 -0
- package/data/references/css.json +65 -0
- package/data/references/nestjs.json +24 -0
- package/data/references/nextjs.json +178 -0
- package/data/references/react.json +192 -0
- package/data/references/shadcn.json +101 -0
- package/data/references/shell.json +323 -92
- package/data/references/tailwindcss.json +125 -0
- package/data/rename/angular.json +131 -0
- package/data/rename/css.json +91 -0
- package/data/rename/nestjs.json +32 -0
- package/data/rename/nextjs.json +31 -0
- package/data/rename/react.json +88 -0
- package/data/rename/shadcn.json +79 -0
- package/data/rename/shell.json +101 -31
- package/data/rename/tailwindcss.json +58 -0
- package/data/selectionRange/angular.json +95 -0
- package/data/selectionRange/css.json +55 -0
- package/data/selectionRange/nestjs.json +21 -0
- package/data/selectionRange/nextjs.json +22 -0
- package/data/selectionRange/react.json +87 -0
- package/data/selectionRange/shadcn.json +89 -0
- package/data/selectionRange/shell.json +65 -35
- package/data/selectionRange/tailwindcss.json +35 -0
- package/data/semanticTokens/angular.json +198 -0
- package/data/semanticTokens/css.json +107 -0
- package/data/semanticTokens/nestjs.json +35 -0
- package/data/semanticTokens/nextjs.json +38 -0
- package/data/semanticTokens/react.json +215 -0
- package/data/semanticTokens/shadcn.json +180 -0
- package/data/semanticTokens/shell.json +238 -65
- package/data/semanticTokens/tailwindcss.json +161 -0
- package/data/signatureHelp/angular.json +182 -0
- package/data/signatureHelp/css.json +137 -0
- package/data/signatureHelp/nestjs.json +128 -0
- package/data/signatureHelp/nextjs.json +127 -0
- package/data/signatureHelp/react.json +281 -0
- package/data/signatureHelp/shadcn.json +237 -0
- package/data/signatureHelp/shell.json +797 -104
- package/data/signatureHelp/tailwindcss.json +64 -0
- package/data/typeDefinition/angular.json +362 -0
- package/data/typeDefinition/css.json +53 -0
- package/data/typeDefinition/nestjs.json +334 -0
- package/data/typeDefinition/nextjs.json +285 -0
- package/data/typeDefinition/react.json +236 -0
- package/data/typeDefinition/shadcn.json +292 -0
- package/data/typeDefinition/shell.json +104 -40
- package/data/typeDefinition/tailwindcss.json +47 -0
- package/package.json +1 -1
- package/data/codeActions/bash.json +0 -169
- package/data/codeActions/zsh.json +0 -49
- package/data/codeLens/bash.json +0 -75
- package/data/codeLens/zsh.json +0 -19
- package/data/color/bash.json +0 -100
- package/data/color/zsh.json +0 -80
- package/data/commands/bash.json +0 -102
- package/data/commands/zsh.json +0 -166
- package/data/completion/bash.json +0 -1184
- package/data/completion/zsh.json +0 -973
- package/data/declaration/bash.json +0 -301
- package/data/declaration/zsh.json +0 -205
- package/data/definition/bash.json +0 -565
- package/data/definition/zsh.json +0 -350
- package/data/documentHighlight/bash.json +0 -393
- package/data/documentHighlight/zsh.json +0 -266
- package/data/documentRangeFormatting/bash.json +0 -41
- package/data/documentRangeFormatting/zsh.json +0 -59
- package/data/documentSymbol/bash.json +0 -124
- package/data/documentSymbol/zsh.json +0 -26
- package/data/foldingRange/bash.json +0 -76
- package/data/foldingRange/zsh.json +0 -46
- package/data/formatting/bash.json +0 -88
- package/data/formatting/zsh.json +0 -28
- package/data/hover/bash.json +0 -579
- package/data/hover/zsh.json +0 -96
- package/data/implementation/bash.json +0 -44
- package/data/implementation/zsh.json +0 -41
- package/data/inlayHints/bash.json +0 -207
- package/data/inlayHints/zsh.json +0 -43
- package/data/inlineCompletions/bash.json +0 -155
- package/data/inlineCompletions/zsh.json +0 -17
- package/data/linkedEditingRange/bash.json +0 -25
- package/data/linkedEditingRange/zsh.json +0 -25
- package/data/links/bash.json +0 -56
- package/data/links/zsh.json +0 -15
- package/data/onTypeFormatting/bash.json +0 -68
- package/data/onTypeFormatting/zsh.json +0 -68
- package/data/rangeSemanticTokens/bash.json +0 -90
- package/data/rangeSemanticTokens/zsh.json +0 -76
- package/data/references/bash.json +0 -221
- package/data/references/zsh.json +0 -166
- package/data/rename/bash.json +0 -37
- package/data/rename/zsh.json +0 -31
- package/data/selectionRange/bash.json +0 -35
- package/data/selectionRange/zsh.json +0 -35
- package/data/semanticTokens/bash.json +0 -71
- package/data/semanticTokens/zsh.json +0 -71
- package/data/signatureHelp/bash.json +0 -111
- package/data/signatureHelp/zsh.json +0 -118
- package/data/typeDefinition/bash.json +0 -95
- package/data/typeDefinition/zsh.json +0 -40
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "angular",
|
|
3
|
+
"hovers": {
|
|
4
|
+
"Component": {
|
|
5
|
+
"contents": [
|
|
6
|
+
{ "value": "```typescript\n@Component(metadata: ComponentMetadata)\n```\nDecorator that marks a class as an Angular component and supplies configuration metadata including template, styles, selector, and change detection strategy.\n\n```typescript\n@Component({\n selector: 'app-root',\n standalone: true,\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent {}\n```" }
|
|
7
|
+
]
|
|
8
|
+
},
|
|
9
|
+
"NgModule": {
|
|
10
|
+
"contents": [
|
|
11
|
+
{ "value": "```typescript\n@NgModule(metadata: NgModuleMetadata)\n```\nDecorator that marks a class as an NgModule with declarations, imports, providers, exports, and bootstrap arrays.\n\n```typescript\n@NgModule({\n declarations: [AppComponent],\n imports: [BrowserModule],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n```" }
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"Injectable": {
|
|
15
|
+
"contents": [
|
|
16
|
+
{ "value": "```typescript\n@Injectable(options?: { providedIn: 'root' | 'platform' | 'any' | Type<any> | null })\n```\nDecorator that marks a class as available to be provided and injected as a dependency.\n\n```typescript\n@Injectable({ providedIn: 'root' })\nexport class DataService {\n constructor(private http: HttpClient) {}\n}\n```" }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"Directive": {
|
|
20
|
+
"contents": [
|
|
21
|
+
{ "value": "```typescript\n@Directive(metadata: DirectiveMetadata)\n```\nDecorator that marks a class as an Angular directive with a CSS selector.\n\n```typescript\n@Directive({\n selector: '[appHighlight]',\n standalone: true\n})\nexport class HighlightDirective {}\n```" }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"Pipe": {
|
|
25
|
+
"contents": [
|
|
26
|
+
{ "value": "```typescript\n@Pipe(metadata: { name: string; standalone?: boolean; pure?: boolean })\n```\nDecorator that marks a class as a pipe and supplies a name for template use.\n\n```typescript\n@Pipe({ name: 'truncate', standalone: true })\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, limit: number): string {\n return value.length > limit ? value.substring(0, limit) + '...' : value;\n }\n}\n```" }
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"Input": {
|
|
30
|
+
"contents": [
|
|
31
|
+
{ "value": "```typescript\n@Input(bindingPropertyName?: string)\n```\nDecorator that marks a class field as an input property. Bound to a DOM property in the template.\n\n```typescript\n@Input() title: string = '';\n@Input({ required: true }) id!: number;\n@Input({ alias: 'userName' }) name = '';\n```" }
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"Output": {
|
|
35
|
+
"contents": [
|
|
36
|
+
{ "value": "```typescript\n@Output(bindingPropertyName?: string)\n```\nDecorator that marks a class field as an output property. Used with EventEmitter.\n\n```typescript\n@Output() clicked = new EventEmitter<void>();\n@Output('onSave') saved = new EventEmitter<Data>();\n```" }
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"ViewChild": {
|
|
40
|
+
"contents": [
|
|
41
|
+
{ "value": "```typescript\n@ViewChild(selector: Type<any> | string, opts?: { read?: any; static?: boolean })\n```\nConfigures a view query for the first matching element or directive in the view DOM.\n\n```typescript\n@ViewChild('myInput') inputRef!: ElementRef;\n@ViewChild(ChildComponent) child!: ChildComponent;\n```" }
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"ViewChildren": {
|
|
45
|
+
"contents": [
|
|
46
|
+
{ "value": "```typescript\n@ViewChildren(selector: Type<any> | string, opts?: { read?: any })\n```\nConfigures a view query for all matching elements or directives.\n\n```typescript\n@ViewChildren(ItemComponent) items!: QueryList<ItemComponent>;\n```" }
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"ContentChild": {
|
|
50
|
+
"contents": [
|
|
51
|
+
{ "value": "```typescript\n@ContentChild(selector: Type<any> | string, opts?: { read?: any; static?: boolean })\n```\nConfigures a content query for the first matching element in projected content.\n\n```typescript\n@ContentChild(TemplateRef) template!: TemplateRef<any>;\n```" }
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"ContentChildren": {
|
|
55
|
+
"contents": [
|
|
56
|
+
{ "value": "```typescript\n@ContentChildren(selector: Type<any> | string, opts?: { read?: any; descendants?: boolean })\n```\nConfigures a content query for all matching elements in projected content.\n\n```typescript\n@ContentChildren(TabComponent) tabs!: QueryList<TabComponent>;\n```" }
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"HostBinding": {
|
|
60
|
+
"contents": [
|
|
61
|
+
{ "value": "```typescript\n@HostBinding(hostPropertyName?: string)\n```\nMarks a DOM property or attribute as a host-binding property.\n\n```typescript\n@HostBinding('class.active') isActive = false;\n@HostBinding('style.color') color = 'red';\n```" }
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"HostListener": {
|
|
65
|
+
"contents": [
|
|
66
|
+
{ "value": "```typescript\n@HostListener(eventName: string, args?: string[])\n```\nDeclares a host event listener. Angular invokes the decorated method when the host element emits the event.\n\n```typescript\n@HostListener('click', ['$event'])\nonClick(event: MouseEvent): void { }\n```" }
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"Inject": {
|
|
70
|
+
"contents": [
|
|
71
|
+
{ "value": "```typescript\n@Inject(token: any)\n```\nSpecifies a custom provider via an injection token.\n\n```typescript\nconstructor(@Inject(API_URL) private apiUrl: string) {}\n```" }
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
"Optional": {
|
|
75
|
+
"contents": [
|
|
76
|
+
{ "value": "```typescript\n@Optional()\n```\nMarks a dependency as optional. The injector provides `null` if the dependency is not found.\n\n```typescript\nconstructor(@Optional() private logger?: LoggerService) {}\n```" }
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"Self": {
|
|
80
|
+
"contents": [
|
|
81
|
+
{ "value": "```typescript\n@Self()\n```\nInstructs the DI framework to resolve a dependency only from the local injector." }
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"SkipSelf": {
|
|
85
|
+
"contents": [
|
|
86
|
+
{ "value": "```typescript\n@SkipSelf()\n```\nInstructs the DI framework to resolve a dependency starting from the parent injector." }
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"Host": {
|
|
90
|
+
"contents": [
|
|
91
|
+
{ "value": "```typescript\n@Host()\n```\nInstructs the DI framework to resolve a dependency from the host element's injector." }
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"OnInit": {
|
|
95
|
+
"contents": [
|
|
96
|
+
{ "value": "```typescript\ninterface OnInit {\n ngOnInit(): void;\n}\n```\nLifecycle hook called once after the first `ngOnChanges`. Use for initialization logic.\n\n```typescript\nexport class MyComponent implements OnInit {\n ngOnInit(): void {\n // initialization\n }\n}\n```" }
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"OnDestroy": {
|
|
100
|
+
"contents": [
|
|
101
|
+
{ "value": "```typescript\ninterface OnDestroy {\n ngOnDestroy(): void;\n}\n```\nLifecycle hook called when the directive/component is destroyed. Use for cleanup.\n\n```typescript\nexport class MyComponent implements OnDestroy {\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n```" }
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"OnChanges": {
|
|
105
|
+
"contents": [
|
|
106
|
+
{ "value": "```typescript\ninterface OnChanges {\n ngOnChanges(changes: SimpleChanges): void;\n}\n```\nLifecycle hook called when any data-bound input property changes. Receives a `SimpleChanges` object." }
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"AfterViewInit": {
|
|
110
|
+
"contents": [
|
|
111
|
+
{ "value": "```typescript\ninterface AfterViewInit {\n ngAfterViewInit(): void;\n}\n```\nLifecycle hook called after the component's view and child views have been fully initialized." }
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"AfterContentInit": {
|
|
115
|
+
"contents": [
|
|
116
|
+
{ "value": "```typescript\ninterface AfterContentInit {\n ngAfterContentInit(): void;\n}\n```\nLifecycle hook called after Angular projects external content into the component." }
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"DoCheck": {
|
|
120
|
+
"contents": [
|
|
121
|
+
{ "value": "```typescript\ninterface DoCheck {\n ngDoCheck(): void;\n}\n```\nLifecycle hook called during every change detection run. Use to detect changes Angular cannot." }
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
"AfterViewChecked": {
|
|
125
|
+
"contents": [
|
|
126
|
+
{ "value": "```typescript\ninterface AfterViewChecked {\n ngAfterViewChecked(): void;\n}\n```\nLifecycle hook called after every check of the component's view." }
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"AfterContentChecked": {
|
|
130
|
+
"contents": [
|
|
131
|
+
{ "value": "```typescript\ninterface AfterContentChecked {\n ngAfterContentChecked(): void;\n}\n```\nLifecycle hook called after every check of projected content." }
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"signal": {
|
|
135
|
+
"contents": [
|
|
136
|
+
{ "value": "```typescript\nfunction signal<T>(initialValue: T, options?: CreateSignalOptions<T>): WritableSignal<T>\n```\nCreates a writable signal with an initial value. Signals are reactive primitives that notify consumers when they change.\n\n```typescript\nconst count = signal(0);\ncount.set(5);\ncount.update(v => v + 1);\nconsole.log(count()); // 6\n```" }
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
"computed": {
|
|
140
|
+
"contents": [
|
|
141
|
+
{ "value": "```typescript\nfunction computed<T>(computation: () => T): Signal<T>\n```\nCreates a memoized signal that derives its value from other signals. Re-evaluates only when dependencies change.\n\n```typescript\nconst count = signal(2);\nconst doubled = computed(() => count() * 2);\nconsole.log(doubled()); // 4\n```" }
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
"effect": {
|
|
145
|
+
"contents": [
|
|
146
|
+
{ "value": "```typescript\nfunction effect(effectFn: () => void, options?: CreateEffectOptions): EffectRef\n```\nCreates an effect that runs a side-effectful function whenever one of the signals it reads changes.\n\n```typescript\neffect(() => {\n console.log('Count changed:', this.count());\n});\n```" }
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"input": {
|
|
150
|
+
"contents": [
|
|
151
|
+
{ "value": "```typescript\nfunction input<T>(initialValue?: T): InputSignal<T>\n```\nSignal-based input property. Alternative to `@Input` decorator with signal semantics.\n\n```typescript\nname = input<string>(); // optional\nid = input.required<number>(); // required\nalias = input('default'); // with default\n```" }
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"output": {
|
|
155
|
+
"contents": [
|
|
156
|
+
{ "value": "```typescript\nfunction output<T>(): OutputEmitterRef<T>\n```\nSignal-based output property. Alternative to `@Output` decorator.\n\n```typescript\nclicked = output<void>();\nthis.clicked.emit();\n```" }
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
"model": {
|
|
160
|
+
"contents": [
|
|
161
|
+
{ "value": "```typescript\nfunction model<T>(initialValue?: T): ModelSignal<T>\n```\nCreates a model signal for two-way data binding. Combines input and output in a single API.\n\n```typescript\nvalue = model<string>(''); // parent uses [(value)]\n```" }
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"viewChild": {
|
|
165
|
+
"contents": [
|
|
166
|
+
{ "value": "```typescript\nfunction viewChild<T>(locator: string | Type<T>): Signal<T | undefined>\n```\nSignal-based view child query. Returns a signal that updates when the queried element changes.\n\n```typescript\nmyInput = viewChild<ElementRef>('myInput');\nmyInputRequired = viewChild.required<ElementRef>('myInput');\n```" }
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"viewChildren": {
|
|
170
|
+
"contents": [
|
|
171
|
+
{ "value": "```typescript\nfunction viewChildren<T>(locator: string | Type<T>): Signal<ReadonlyArray<T>>\n```\nSignal-based view children query. Returns a signal with all matching elements." }
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"contentChild": {
|
|
175
|
+
"contents": [
|
|
176
|
+
{ "value": "```typescript\nfunction contentChild<T>(locator: string | Type<T>): Signal<T | undefined>\n```\nSignal-based content child query. Queries projected content for a single matching element." }
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
"contentChildren": {
|
|
180
|
+
"contents": [
|
|
181
|
+
{ "value": "```typescript\nfunction contentChildren<T>(locator: string | Type<T>): Signal<ReadonlyArray<T>>\n```\nSignal-based content children query. Queries all matching projected content elements." }
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
"linkedSignal": {
|
|
185
|
+
"contents": [
|
|
186
|
+
{ "value": "```typescript\nfunction linkedSignal<T>(computation: () => T): WritableSignal<T>\n```\nCreates a writable signal that resets to a computed value whenever a source signal changes.\n\n```typescript\nconst selected = linkedSignal(() => this.items()[0]);\n```" }
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
"resource": {
|
|
190
|
+
"contents": [
|
|
191
|
+
{ "value": "```typescript\nfunction resource<T, R>(options: ResourceOptions<T, R>): ResourceRef<R>\n```\nCreates a resource that loads data asynchronously based on a reactive request signal.\n\n```typescript\nconst userData = resource({\n request: () => this.userId(),\n loader: async ({ request: id }) => fetch(`/api/users/${id}`)\n});\n```" }
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
"toSignal": {
|
|
195
|
+
"contents": [
|
|
196
|
+
{ "value": "```typescript\nfunction toSignal<T>(source: Observable<T>, options?: ToSignalOptions<T>): Signal<T>\n```\nConverts an Observable to a signal. Values emitted by the Observable update the signal.\n\n```typescript\nconst data = toSignal(this.data$, { initialValue: [] });\n```" }
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
"toObservable": {
|
|
200
|
+
"contents": [
|
|
201
|
+
{ "value": "```typescript\nfunction toObservable<T>(source: Signal<T>): Observable<T>\n```\nConverts a signal to an Observable that emits whenever the signal value changes." }
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
"EventEmitter": {
|
|
205
|
+
"contents": [
|
|
206
|
+
{ "value": "```typescript\nclass EventEmitter<T = any> extends Subject<T>\n```\nUse in directives and components to emit custom events.\n\n```typescript\n@Output() clicked = new EventEmitter<MouseEvent>();\nthis.clicked.emit(event);\n```" }
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"ChangeDetectionStrategy": {
|
|
210
|
+
"contents": [
|
|
211
|
+
{ "value": "```typescript\nenum ChangeDetectionStrategy {\n OnPush = 0,\n Default = 1\n}\n```\nDefines the change detection strategy. `OnPush` checks only when inputs change or events fire.\n\n```typescript\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n```" }
|
|
212
|
+
]
|
|
213
|
+
},
|
|
214
|
+
"ViewEncapsulation": {
|
|
215
|
+
"contents": [
|
|
216
|
+
{ "value": "```typescript\nenum ViewEncapsulation {\n Emulated = 0,\n None = 2,\n ShadowDom = 3\n}\n```\nDefines template and style encapsulation options.\n\n- **Emulated** (default): Scoped styles via attribute selectors\n- **None**: Global styles, no encapsulation\n- **ShadowDom**: Native Shadow DOM" }
|
|
217
|
+
]
|
|
218
|
+
},
|
|
219
|
+
"ChangeDetectorRef": {
|
|
220
|
+
"contents": [
|
|
221
|
+
{ "value": "```typescript\nabstract class ChangeDetectorRef\n```\nProvides change detection methods: `detectChanges()`, `markForCheck()`, `detach()`, `reattach()`.\n\n```typescript\nconstructor(private cdr: ChangeDetectorRef) {}\nthis.cdr.markForCheck();\n```" }
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
"ElementRef": {
|
|
225
|
+
"contents": [
|
|
226
|
+
{ "value": "```typescript\nclass ElementRef<T = any> {\n nativeElement: T;\n}\n```\nWrapper around a native element. Use with caution as direct DOM access bypasses Angular's templating." }
|
|
227
|
+
]
|
|
228
|
+
},
|
|
229
|
+
"TemplateRef": {
|
|
230
|
+
"contents": [
|
|
231
|
+
{ "value": "```typescript\nabstract class TemplateRef<C>\n```\nRepresents an embedded template that can be used to instantiate embedded views." }
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
"ViewContainerRef": {
|
|
235
|
+
"contents": [
|
|
236
|
+
{ "value": "```typescript\nabstract class ViewContainerRef\n```\nContainer where views can be attached. Provides `createComponent()`, `createEmbeddedView()`, `insert()`, `remove()`, etc." }
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
"Renderer2": {
|
|
240
|
+
"contents": [
|
|
241
|
+
{ "value": "```typescript\nabstract class Renderer2\n```\nPlatform-agnostic DOM rendering abstraction. Methods include `createElement()`, `setAttribute()`, `setStyle()`, `listen()`." }
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
"NgZone": {
|
|
245
|
+
"contents": [
|
|
246
|
+
{ "value": "```typescript\nclass NgZone\n```\nService for executing work inside or outside Angular's zone.\n\n```typescript\nthis.ngZone.runOutsideAngular(() => {\n // No change detection triggered\n});\n```" }
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
"FormControl": {
|
|
250
|
+
"contents": [
|
|
251
|
+
{ "value": "```typescript\nclass FormControl<T = any> extends AbstractControl\n```\nTracks the value and validation status of an individual form control.\n\n```typescript\nconst name = new FormControl('', Validators.required);\nconsole.log(name.value); // ''\nconsole.log(name.valid); // false\n```" }
|
|
252
|
+
]
|
|
253
|
+
},
|
|
254
|
+
"FormGroup": {
|
|
255
|
+
"contents": [
|
|
256
|
+
{ "value": "```typescript\nclass FormGroup extends AbstractControl\n```\nTracks the value and validity of a group of FormControl instances.\n\n```typescript\nconst form = new FormGroup({\n name: new FormControl(''),\n email: new FormControl('', Validators.email)\n});\n```" }
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
"FormBuilder": {
|
|
260
|
+
"contents": [
|
|
261
|
+
{ "value": "```typescript\nclass FormBuilder\n```\nReduces boilerplate for creating reactive forms.\n\n```typescript\nconstructor(private fb: FormBuilder) {}\nthis.form = this.fb.group({\n name: ['', Validators.required],\n email: ['', [Validators.required, Validators.email]]\n});\n```" }
|
|
262
|
+
]
|
|
263
|
+
},
|
|
264
|
+
"FormArray": {
|
|
265
|
+
"contents": [
|
|
266
|
+
{ "value": "```typescript\nclass FormArray extends AbstractControl\n```\nTracks the value and validity of an array of form controls.\n\n```typescript\nconst arr = new FormArray([\n new FormControl('item1'),\n new FormControl('item2')\n]);\n```" }
|
|
267
|
+
]
|
|
268
|
+
},
|
|
269
|
+
"Validators": {
|
|
270
|
+
"contents": [
|
|
271
|
+
{ "value": "```typescript\nclass Validators\n```\nBuilt-in validators: `required`, `minLength(n)`, `maxLength(n)`, `pattern(regex)`, `email`, `min(n)`, `max(n)`, `requiredTrue`, `compose()`, `composeAsync()`." }
|
|
272
|
+
]
|
|
273
|
+
},
|
|
274
|
+
"Router": {
|
|
275
|
+
"contents": [
|
|
276
|
+
{ "value": "```typescript\nclass Router\n```\nService for navigation among views. Key methods: `navigate()`, `navigateByUrl()`, `createUrlTree()`.\n\n```typescript\nconstructor(private router: Router) {}\nthis.router.navigate(['/dashboard']);\n```" }
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
"ActivatedRoute": {
|
|
280
|
+
"contents": [
|
|
281
|
+
{ "value": "```typescript\nclass ActivatedRoute\n```\nProvides access to route information: `params`, `queryParams`, `data`, `paramMap`, `snapshot`, `url`.\n\n```typescript\nconstructor(private route: ActivatedRoute) {}\nthis.route.params.subscribe(p => console.log(p['id']));\n```" }
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
"RouterOutlet": {
|
|
285
|
+
"contents": [
|
|
286
|
+
{ "value": "```typescript\n<router-outlet></router-outlet>\n```\nPlaceholder directive that Angular dynamically fills with the component matching the current route." }
|
|
287
|
+
]
|
|
288
|
+
},
|
|
289
|
+
"HttpClient": {
|
|
290
|
+
"contents": [
|
|
291
|
+
{ "value": "```typescript\nclass HttpClient\n```\nInjectable service for HTTP requests. Methods: `get()`, `post()`, `put()`, `delete()`, `patch()`, `request()`.\n\n```typescript\nthis.http.get<User[]>('/api/users').subscribe(users => { });\n```" }
|
|
292
|
+
]
|
|
293
|
+
},
|
|
294
|
+
"HttpInterceptor": {
|
|
295
|
+
"contents": [
|
|
296
|
+
{ "value": "```typescript\ninterface HttpInterceptor {\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;\n}\n```\nInterface for interceptors that transform outgoing requests and incoming responses." }
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
"provideRouter": {
|
|
300
|
+
"contents": [
|
|
301
|
+
{ "value": "```typescript\nfunction provideRouter(routes: Routes, ...features: RouterFeatures[]): EnvironmentProviders\n```\nSets up router providers for standalone apps.\n\n```typescript\nbootstrapApplication(AppComponent, {\n providers: [provideRouter(routes, withComponentInputBinding())]\n});\n```" }
|
|
302
|
+
]
|
|
303
|
+
},
|
|
304
|
+
"provideHttpClient": {
|
|
305
|
+
"contents": [
|
|
306
|
+
{ "value": "```typescript\nfunction provideHttpClient(...features: HttpFeature[]): EnvironmentProviders\n```\nSets up HttpClient providers for standalone apps.\n\n```typescript\nprovideHttpClient(withInterceptors([authInterceptor]), withFetch())\n```" }
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
"bootstrapApplication": {
|
|
310
|
+
"contents": [
|
|
311
|
+
{ "value": "```typescript\nfunction bootstrapApplication(rootComponent: Type<unknown>, options?: ApplicationConfig): Promise<ApplicationRef>\n```\nBootstraps a standalone Angular application.\n\n```typescript\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n```" }
|
|
312
|
+
]
|
|
313
|
+
},
|
|
314
|
+
"NgIf": {
|
|
315
|
+
"contents": [
|
|
316
|
+
{ "value": "```html\n<div *ngIf=\"condition\">...</div>\n<div *ngIf=\"condition; else elseBlock\">...</div>\n```\nStructural directive that conditionally includes a template. Consider using `@if` for new projects." }
|
|
317
|
+
]
|
|
318
|
+
},
|
|
319
|
+
"NgFor": {
|
|
320
|
+
"contents": [
|
|
321
|
+
{ "value": "```html\n<li *ngFor=\"let item of items; trackBy: trackById\">{{ item.name }}</li>\n```\nStructural directive that renders a template for each item. Consider using `@for` for new projects." }
|
|
322
|
+
]
|
|
323
|
+
},
|
|
324
|
+
"AsyncPipe": {
|
|
325
|
+
"contents": [
|
|
326
|
+
{ "value": "```html\n{{ observable$ | async }}\n```\nSubscribes to an Observable or Promise and returns the latest value. Automatically unsubscribes on destroy." }
|
|
327
|
+
]
|
|
328
|
+
},
|
|
329
|
+
"inject": {
|
|
330
|
+
"contents": [
|
|
331
|
+
{ "value": "```typescript\nfunction inject<T>(token: ProviderToken<T>, options?: InjectOptions): T\n```\nInjects a dependency from the current injector context. Must be called in an injection context (constructor, factory, etc.).\n\n```typescript\nconst http = inject(HttpClient);\nconst router = inject(Router);\n```" }
|
|
332
|
+
]
|
|
333
|
+
},
|
|
334
|
+
"takeUntilDestroyed": {
|
|
335
|
+
"contents": [
|
|
336
|
+
{ "value": "```typescript\nfunction takeUntilDestroyed(destroyRef?: DestroyRef): MonoTypeOperatorFunction<T>\n```\nRxJS operator that completes an Observable when the component/service is destroyed.\n\n```typescript\nthis.data$.pipe(takeUntilDestroyed()).subscribe(...);\n```" }
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
"DestroyRef": {
|
|
340
|
+
"contents": [
|
|
341
|
+
{ "value": "```typescript\nabstract class DestroyRef\n```\nAllows registering cleanup callbacks.\n\n```typescript\nconst destroyRef = inject(DestroyRef);\ndestroyRef.onDestroy(() => cleanup());\n```" }
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
"Injector": {
|
|
345
|
+
"contents": [
|
|
346
|
+
{ "value": "```typescript\nabstract class Injector\n```\nRetrieves instances of dependencies by token. Can be used to manually resolve dependencies." }
|
|
347
|
+
]
|
|
348
|
+
},
|
|
349
|
+
"InjectionToken": {
|
|
350
|
+
"contents": [
|
|
351
|
+
{ "value": "```typescript\nclass InjectionToken<T>\n```\nCreates a DI token for cases where the type alone is insufficient to identify a dependency.\n\n```typescript\nexport const API_URL = new InjectionToken<string>('API_URL');\n```" }
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
"ApplicationConfig": {
|
|
355
|
+
"contents": [
|
|
356
|
+
{ "value": "```typescript\ninterface ApplicationConfig {\n providers: Array<Provider | EnvironmentProviders>;\n}\n```\nConfiguration for bootstrapping a standalone application." }
|
|
357
|
+
]
|
|
358
|
+
},
|
|
359
|
+
"RouterModule": {
|
|
360
|
+
"contents": [
|
|
361
|
+
{ "value": "```typescript\nclass RouterModule\n```\nAdds router directives and providers. Use `RouterModule.forRoot(routes)` in the root module and `RouterModule.forChild(routes)` in feature modules." }
|
|
362
|
+
]
|
|
363
|
+
},
|
|
364
|
+
"RouterLink": {
|
|
365
|
+
"contents": [
|
|
366
|
+
{ "value": "```html\n<a [routerLink]=\"['/path']\">Link</a>\n```\nDirective that turns user clicks into router navigations. Can be applied to any element." }
|
|
367
|
+
]
|
|
368
|
+
},
|
|
369
|
+
"RouterLinkActive": {
|
|
370
|
+
"contents": [
|
|
371
|
+
{ "value": "```html\n<a routerLink=\"/home\" routerLinkActive=\"active\">Home</a>\n```\nTracks whether the linked route is currently active and sets CSS classes." }
|
|
372
|
+
]
|
|
373
|
+
},
|
|
374
|
+
"ReactiveFormsModule": {
|
|
375
|
+
"contents": [
|
|
376
|
+
{ "value": "```typescript\nclass ReactiveFormsModule\n```\nProvides directives for reactive forms: `formControl`, `formGroup`, `formArrayName`, `formControlName`." }
|
|
377
|
+
]
|
|
378
|
+
},
|
|
379
|
+
"FormsModule": {
|
|
380
|
+
"contents": [
|
|
381
|
+
{ "value": "```typescript\nclass FormsModule\n```\nProvides `ngModel` and related directives for template-driven forms." }
|
|
382
|
+
]
|
|
383
|
+
},
|
|
384
|
+
"CommonModule": {
|
|
385
|
+
"contents": [
|
|
386
|
+
{ "value": "```typescript\nclass CommonModule\n```\nExports all the basic Angular directives and pipes: NgIf, NgFor, NgClass, NgStyle, DatePipe, AsyncPipe, etc." }
|
|
387
|
+
]
|
|
388
|
+
},
|
|
389
|
+
"NgClass": {
|
|
390
|
+
"contents": [
|
|
391
|
+
{ "value": "```html\n<div [ngClass]=\"{ 'active': isActive, 'disabled': isDisabled }\">...</div>\n```\nAdds and removes CSS classes based on an expression." }
|
|
392
|
+
]
|
|
393
|
+
},
|
|
394
|
+
"NgStyle": {
|
|
395
|
+
"contents": [
|
|
396
|
+
{ "value": "```html\n<div [ngStyle]=\"{ 'color': textColor, 'font-size': fontSize + 'px' }\">...</div>\n```\nUpdates inline styles based on an expression." }
|
|
397
|
+
]
|
|
398
|
+
},
|
|
399
|
+
"NgSwitch": {
|
|
400
|
+
"contents": [
|
|
401
|
+
{ "value": "```html\n<div [ngSwitch]=\"value\">\n <p *ngSwitchCase=\"'a'\">A</p>\n <p *ngSwitchDefault>Default</p>\n</div>\n```\nSwitches templates based on matching values." }
|
|
402
|
+
]
|
|
403
|
+
},
|
|
404
|
+
"DatePipe": {
|
|
405
|
+
"contents": [
|
|
406
|
+
{ "value": "```html\n{{ dateValue | date:'short' }}\n{{ dateValue | date:'yyyy-MM-dd' }}\n```\nFormats a date value according to locale rules and a format string." }
|
|
407
|
+
]
|
|
408
|
+
},
|
|
409
|
+
"CurrencyPipe": {
|
|
410
|
+
"contents": [
|
|
411
|
+
{ "value": "```html\n{{ amount | currency:'USD':'symbol':'1.2-2' }}\n```\nTransforms a number to a currency string according to locale rules." }
|
|
412
|
+
]
|
|
413
|
+
},
|
|
414
|
+
"KeyValuePipe": {
|
|
415
|
+
"contents": [
|
|
416
|
+
{ "value": "```html\n@for (item of map | keyvalue; track item.key) {\n {{ item.key }}: {{ item.value }}\n}\n```\nTransforms Object or Map into an array of key-value pairs." }
|
|
417
|
+
]
|
|
418
|
+
},
|
|
419
|
+
"withInterceptors": {
|
|
420
|
+
"contents": [
|
|
421
|
+
{ "value": "```typescript\nfunction withInterceptors(interceptors: HttpInterceptorFn[]): HttpFeature\n```\nConfigures functional HTTP interceptors.\n\n```typescript\nprovideHttpClient(withInterceptors([authInterceptor, loggingInterceptor]))\n```" }
|
|
422
|
+
]
|
|
423
|
+
},
|
|
424
|
+
"withFetch": {
|
|
425
|
+
"contents": [
|
|
426
|
+
{ "value": "```typescript\nfunction withFetch(): HttpFeature\n```\nConfigures HttpClient to use the Fetch API instead of XMLHttpRequest." }
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
"withComponentInputBinding": {
|
|
430
|
+
"contents": [
|
|
431
|
+
{ "value": "```typescript\nfunction withComponentInputBinding(): RouterFeature\n```\nBinds route parameters directly to component inputs.\n\n```typescript\nprovideRouter(routes, withComponentInputBinding())\n```" }
|
|
432
|
+
]
|
|
433
|
+
},
|
|
434
|
+
"importProvidersFrom": {
|
|
435
|
+
"contents": [
|
|
436
|
+
{ "value": "```typescript\nfunction importProvidersFrom(...sources: ImportProvidersSource[]): EnvironmentProviders\n```\nCollects providers from NgModules for standalone configuration.\n\n```typescript\nimportProvidersFrom(BrowserAnimationsModule)\n```" }
|
|
437
|
+
]
|
|
438
|
+
},
|
|
439
|
+
"provideZoneChangeDetection": {
|
|
440
|
+
"contents": [
|
|
441
|
+
{ "value": "```typescript\nfunction provideZoneChangeDetection(options?: { eventCoalescing?: boolean }): EnvironmentProviders\n```\nProvides NgZone-based change detection with optional event coalescing." }
|
|
442
|
+
]
|
|
443
|
+
},
|
|
444
|
+
"HttpHeaders": {
|
|
445
|
+
"contents": [
|
|
446
|
+
{ "value": "```typescript\nclass HttpHeaders\n```\nImmutable HTTP headers. Create with `new HttpHeaders({ 'Content-Type': 'application/json' })`." }
|
|
447
|
+
]
|
|
448
|
+
},
|
|
449
|
+
"HttpParams": {
|
|
450
|
+
"contents": [
|
|
451
|
+
{ "value": "```typescript\nclass HttpParams\n```\nImmutable URL parameters. Chain with `.set()`, `.append()`, `.delete()`.\n\n```typescript\nnew HttpParams().set('page', '1').set('limit', '10')\n```" }
|
|
452
|
+
]
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|