@tsonic/microsoft-extensions 10.0.40 → 10.0.41

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 (62) hide show
  1. package/Microsoft.Extensions.Caching.Distributed/internal/index.d.ts +11 -10
  2. package/Microsoft.Extensions.Caching.Hybrid/internal/index.d.ts +10 -12
  3. package/Microsoft.Extensions.Caching.Memory/internal/index.d.ts +38 -40
  4. package/Microsoft.Extensions.Configuration/internal/index.d.ts +69 -71
  5. package/Microsoft.Extensions.Configuration.CommandLine/internal/index.d.ts +6 -5
  6. package/Microsoft.Extensions.Configuration.EnvironmentVariables/internal/index.d.ts +6 -5
  7. package/Microsoft.Extensions.Configuration.Ini/internal/index.d.ts +4 -3
  8. package/Microsoft.Extensions.Configuration.Json/internal/index.d.ts +3 -2
  9. package/Microsoft.Extensions.Configuration.KeyPerFile/internal/index.d.ts +5 -4
  10. package/Microsoft.Extensions.Configuration.Memory/internal/index.d.ts +6 -5
  11. package/Microsoft.Extensions.Configuration.UserSecrets/internal/index.d.ts +3 -2
  12. package/Microsoft.Extensions.Configuration.Xml/internal/index.d.ts +5 -4
  13. package/Microsoft.Extensions.DependencyInjection/internal/index.d.ts +103 -102
  14. package/Microsoft.Extensions.DependencyInjection.Extensions/internal/index.d.ts +24 -23
  15. package/Microsoft.Extensions.Diagnostics.HealthChecks/internal/index.d.ts +22 -21
  16. package/Microsoft.Extensions.Diagnostics.Metrics/internal/index.d.ts +30 -32
  17. package/Microsoft.Extensions.Diagnostics.Metrics.Configuration/internal/index.d.ts +3 -2
  18. package/Microsoft.Extensions.FileProviders/internal/index.d.ts +6 -5
  19. package/Microsoft.Extensions.FileProviders.Composite/internal/index.d.ts +3 -2
  20. package/Microsoft.Extensions.FileProviders.Embedded/internal/index.d.ts +3 -2
  21. package/Microsoft.Extensions.FileProviders.Internal/internal/index.d.ts +3 -2
  22. package/Microsoft.Extensions.FileProviders.Physical/internal/index.d.ts +6 -5
  23. package/Microsoft.Extensions.FileSystemGlobbing/internal/index.d.ts +9 -8
  24. package/Microsoft.Extensions.FileSystemGlobbing.Abstractions/internal/index.d.ts +9 -8
  25. package/Microsoft.Extensions.FileSystemGlobbing.Internal/internal/index.d.ts +5 -4
  26. package/Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments/internal/index.d.ts +4 -3
  27. package/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts/bindings.json +230 -230
  28. package/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts/internal/index.d.ts +45 -44
  29. package/Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.d.ts +2 -2
  30. package/Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns/internal/index.d.ts +3 -2
  31. package/Microsoft.Extensions.Hosting/internal/index.d.ts +30 -29
  32. package/Microsoft.Extensions.Hosting.Internal/internal/index.d.ts +3 -2
  33. package/Microsoft.Extensions.Http/internal/index.d.ts +5 -4
  34. package/Microsoft.Extensions.Http.Logging/internal/index.d.ts +12 -11
  35. package/Microsoft.Extensions.Internal/internal/index.d.ts +3 -2
  36. package/Microsoft.Extensions.Localization/internal/index.d.ts +15 -14
  37. package/Microsoft.Extensions.Logging/internal/index.d.ts +78 -77
  38. package/Microsoft.Extensions.Logging.Abstractions/bindings.json +4 -1
  39. package/Microsoft.Extensions.Logging.Abstractions/internal/index.d.ts +13 -12
  40. package/Microsoft.Extensions.Logging.Configuration/internal/index.d.ts +3 -2
  41. package/Microsoft.Extensions.Logging.Console/internal/index.d.ts +15 -17
  42. package/Microsoft.Extensions.Logging.Debug/internal/index.d.ts +3 -2
  43. package/Microsoft.Extensions.Logging.EventLog/internal/index.d.ts +12 -11
  44. package/Microsoft.Extensions.Logging.EventSource/internal/index.d.ts +3 -2
  45. package/Microsoft.Extensions.Logging.TraceSource/internal/index.d.ts +4 -3
  46. package/Microsoft.Extensions.ObjectPool/internal/index.d.ts +4 -3
  47. package/Microsoft.Extensions.Options/internal/index.d.ts +104 -103
  48. package/Microsoft.Extensions.Primitives/bindings.json +0 -20
  49. package/Microsoft.Extensions.Primitives/internal/index.d.ts +30 -33
  50. package/Microsoft.Extensions.Primitives.d.ts +1 -1
  51. package/Microsoft.Extensions.Validation/internal/index.d.ts +14 -16
  52. package/Microsoft.Extensions.WebEncoders/internal/index.d.ts +5 -4
  53. package/Microsoft.Extensions.WebEncoders.Testing/internal/index.d.ts +2 -4
  54. package/README.md +45 -15
  55. package/System.Diagnostics/internal/index.d.ts +11 -10
  56. package/System.Diagnostics.Eventing.Reader/internal/index.d.ts +7 -6
  57. package/System.Net.Http/internal/index.d.ts +3 -2
  58. package/System.Security.Cryptography/internal/index.d.ts +5 -4
  59. package/System.Security.Cryptography.Pkcs/internal/index.d.ts +48 -50
  60. package/System.Security.Cryptography.Xml/internal/index.d.ts +148 -150
  61. package/__internal/extensions/index.d.ts +186 -188
  62. package/package.json +3 -3
@@ -2,11 +2,9 @@
2
2
  // Namespace: Microsoft.Extensions.Primitives
3
3
  // Assembly: Microsoft.Extensions.Primitives
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
7
 
8
- // Import support types from @tsonic/core
9
- import type { ptr } from "@tsonic/core/types.js";
10
8
 
11
9
  // Import types from other namespaces
12
10
  import * as System_Collections_Generic_Internal from "@tsonic/dotnet/System.Collections.Generic/internal/index.js";
@@ -23,7 +21,7 @@ export interface IChangeToken$instance {
23
21
 
24
22
  readonly HasChanged: boolean;
25
23
  readonly ActiveChangeCallbacks: boolean;
26
- RegisterChangeCallback(callback: Action_1<unknown>, state: unknown): IDisposable;
24
+ RegisterChangeCallback(callback: Action_1<JsValue | null>, state: JsValue | null): IDisposable;
27
25
  }
28
26
 
29
27
 
@@ -33,11 +31,11 @@ export interface InplaceStringBuilder$instance {
33
31
  readonly __tsonic_type_Microsoft_Extensions_Primitives_InplaceStringBuilder: never;
34
32
 
35
33
  Capacity: int;
36
- Append(value: string): void;
34
+ Append(value: string | null): void;
37
35
  Append(segment: StringSegment): void;
38
- Append(value: string, offset: int, count: int): void;
36
+ Append(value: string | null, offset: int, count: int): void;
39
37
  Append(c: char): void;
40
- ToString(): string | undefined;
38
+ ToString(): string | null;
41
39
  }
42
40
 
43
41
 
@@ -53,21 +51,21 @@ export interface StringSegment$instance {
53
51
 
54
52
  readonly __tsonic_iface_System_IEquatable_1: never;
55
53
 
56
- readonly Buffer: string | undefined;
54
+ readonly Buffer: string | null;
57
55
  readonly HasValue: boolean;
58
56
  readonly Length: int;
59
57
  readonly Offset: int;
60
- readonly Value: string | undefined;
58
+ readonly Value: string | null;
61
59
  AsMemory(): ReadOnlyMemory_1<System_Internal.Char>;
62
60
  AsSpan(): ReadOnlySpan_1<System_Internal.Char>;
63
61
  AsSpan(start: int): ReadOnlySpan_1<System_Internal.Char>;
64
62
  AsSpan(start: int, length: int): ReadOnlySpan_1<System_Internal.Char>;
65
63
  EndsWith(text: string, comparisonType: StringComparison): boolean;
66
- Equals(obj: unknown): boolean;
64
+ Equals(obj: JsValue | null): boolean;
67
65
  Equals(other: StringSegment): boolean;
68
66
  Equals(other: StringSegment, comparisonType: StringComparison): boolean;
69
- Equals(text: string): boolean;
70
- Equals(text: string, comparisonType: StringComparison): boolean;
67
+ Equals(text: string | null): boolean;
68
+ Equals(text: string | null, comparisonType: StringComparison): boolean;
71
69
  GetHashCode(): int;
72
70
  IndexOf(c: char, start: int, count: int): int;
73
71
  IndexOf(c: char, start: int): int;
@@ -90,7 +88,7 @@ export interface StringSegment$instance {
90
88
 
91
89
 
92
90
  export const StringSegment: {
93
- new(buffer: string): StringSegment;
91
+ new(buffer: string | null): StringSegment;
94
92
  new(buffer: string, offset: int, length: int): StringSegment;
95
93
  readonly Empty: StringSegment;
96
94
  Compare(a: StringSegment, b: StringSegment, comparisonType: StringComparison): int;
@@ -153,33 +151,33 @@ export interface StringValues$instance {
153
151
 
154
152
  readonly Count: int;
155
153
  Equals(other: StringValues): boolean;
156
- Equals(other: string): boolean;
157
- Equals(other: string[]): boolean;
158
- Equals(obj: unknown): boolean;
154
+ Equals(other: string | null): boolean;
155
+ Equals(other: (string | null)[] | null): boolean;
156
+ Equals(obj: JsValue | null): boolean;
159
157
  GetEnumerator(): StringValues_Enumerator;
160
158
  GetHashCode(): int;
161
- ToArray(): (string | undefined)[];
159
+ ToArray(): (string | null)[];
162
160
  ToString(): string;
163
161
  }
164
162
 
165
163
 
166
164
  export const StringValues: {
167
- new(value: string): StringValues;
168
- new(values: string[]): StringValues;
165
+ new(value: string | null): StringValues;
166
+ new(values: (string | null)[] | null): StringValues;
169
167
  readonly Empty: StringValues;
170
168
  Concat(values1: StringValues, values2: StringValues): StringValues;
171
- Concat(values: StringValues, value: string): StringValues;
172
- Concat(value: string, values: StringValues): StringValues;
169
+ Concat(values: StringValues, value: string | null): StringValues;
170
+ Concat(value: string | null, values: StringValues): StringValues;
173
171
  Equals(left: StringValues, right: StringValues): boolean;
174
- Equals(left: StringValues, right: string): boolean;
175
- Equals(left: StringValues, right: string[]): boolean;
176
- Equals(left: string, right: StringValues): boolean;
177
- Equals(left: string[], right: StringValues): boolean;
172
+ Equals(left: StringValues, right: string | null): boolean;
173
+ Equals(left: StringValues, right: (string | null)[] | null): boolean;
174
+ Equals(left: string | null, right: StringValues): boolean;
175
+ Equals(left: (string | null)[] | null, right: StringValues): boolean;
178
176
  IsNullOrEmpty(value: StringValues): boolean;
179
177
  };
180
178
 
181
179
 
182
- export type StringValues = StringValues$instance & { readonly [index: number]: string | undefined; };
180
+ export type StringValues = StringValues$instance & { readonly [index: number]: string | null; };
183
181
 
184
182
  export interface StringValues_Enumerator$instance {
185
183
  readonly __tsonic_type_Microsoft_Extensions_Primitives_StringValues_Enumerator: never;
@@ -188,10 +186,9 @@ export interface StringValues_Enumerator$instance {
188
186
  readonly __tsonic_iface_System_Collections_IEnumerator: never;
189
187
  readonly __tsonic_iface_System_IDisposable: never;
190
188
 
191
- readonly Current: string | undefined;
189
+ readonly Current: string | null;
192
190
  Dispose(): void;
193
191
  MoveNext(): boolean;
194
- Reset(): void;
195
192
  }
196
193
 
197
194
 
@@ -209,7 +206,7 @@ export interface CancellationChangeToken$instance {
209
206
 
210
207
  ActiveChangeCallbacks: boolean;
211
208
  readonly HasChanged: boolean;
212
- RegisterChangeCallback(callback: Action_1<unknown>, state: unknown): IDisposable;
209
+ RegisterChangeCallback(callback: Action_1<JsValue | null>, state: JsValue | null): IDisposable;
213
210
  }
214
211
 
215
212
 
@@ -233,7 +230,7 @@ export interface CompositeChangeToken$instance extends IChangeToken$instance {
233
230
  readonly ActiveChangeCallbacks: boolean;
234
231
  readonly ChangeTokens: IReadOnlyList_1<IChangeToken>;
235
232
  readonly HasChanged: boolean;
236
- RegisterChangeCallback(callback: Action_1<unknown>, state: unknown): IDisposable;
233
+ RegisterChangeCallback(callback: Action_1<JsValue | null>, state: JsValue | null): IDisposable;
237
234
  }
238
235
 
239
236
 
@@ -270,8 +267,8 @@ export const StringSegmentComparer: {
270
267
  export type StringSegmentComparer = StringSegmentComparer$instance;
271
268
 
272
269
  export abstract class ChangeToken$instance {
273
- static OnChange<TState>(changeTokenProducer: Func_1<IChangeToken>, changeTokenConsumer: Action_1<TState>, state: TState): IDisposable;
274
- static OnChange(changeTokenProducer: Func_1<IChangeToken>, changeTokenConsumer: Action): IDisposable;
270
+ static OnChange<TState>(changeTokenProducer: Func_1<IChangeToken | null>, changeTokenConsumer: Action_1<TState>, state: TState): IDisposable;
271
+ static OnChange(changeTokenProducer: Func_1<IChangeToken | null>, changeTokenConsumer: Action): IDisposable;
275
272
  }
276
273
 
277
274
 
@@ -22,8 +22,8 @@ export { InplaceStringBuilder as InplaceStringBuilder } from './Microsoft.Extens
22
22
  export { StringSegment as StringSegment } from './Microsoft.Extensions.Primitives/internal/index.js';
23
23
  export { StringSegmentComparer as StringSegmentComparer } from './Microsoft.Extensions.Primitives/internal/index.js';
24
24
  export { StringTokenizer as StringTokenizer } from './Microsoft.Extensions.Primitives/internal/index.js';
25
- export { StringValues as StringValues } from './Microsoft.Extensions.Primitives/internal/index.js';
26
25
  export { StringTokenizer_Enumerator as StringTokenizer_Enumerator } from './Microsoft.Extensions.Primitives/internal/index.js';
26
+ export { StringValues as StringValues } from './Microsoft.Extensions.Primitives/internal/index.js';
27
27
  export { StringValues_Enumerator as StringValues_Enumerator } from './Microsoft.Extensions.Primitives/internal/index.js';
28
28
  // Extension methods (C# using semantics)
29
29
  export type { ExtensionMethods_Microsoft_Extensions_Primitives as ExtensionMethods } from './__internal/extensions/index.js';
@@ -2,11 +2,9 @@
2
2
  // Namespace: Microsoft.Extensions.Validation
3
3
  // Assembly: Microsoft.Extensions.Validation
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
7
 
8
- // Import support types from @tsonic/core
9
- import type { ptr } from "@tsonic/core/types.js";
10
8
 
11
9
  // Import types from other namespaces
12
10
  import type { Dictionary_2, IList_1, IReadOnlyList_1 } from "@tsonic/dotnet/System.Collections.Generic/internal/index.js";
@@ -20,7 +18,7 @@ import type { Action_1, Attribute, Boolean as ClrBoolean, Int32, Object as ClrOb
20
18
  export interface IValidatableInfo$instance {
21
19
  readonly __tsonic_iface_Microsoft_Extensions_Validation_IValidatableInfo: never;
22
20
 
23
- ValidateAsync(value: unknown, context: ValidateContext, cancellationToken: CancellationToken): Task;
21
+ ValidateAsync(value: JsValue | null, context: ValidateContext, cancellationToken: CancellationToken): Task;
24
22
  }
25
23
 
26
24
 
@@ -29,8 +27,8 @@ export type IValidatableInfo = IValidatableInfo$instance;
29
27
  export interface IValidatableInfoResolver$instance {
30
28
  readonly __tsonic_iface_Microsoft_Extensions_Validation_IValidatableInfoResolver: never;
31
29
 
32
- TryGetValidatableParameterInfo(parameterInfo: ParameterInfo, validatableInfo: IValidatableInfo): boolean;
33
- TryGetValidatableTypeInfo(type: Type, validatableInfo: IValidatableInfo): boolean;
30
+ TryGetValidatableParameterInfo(parameterInfo: ParameterInfo, validatableInfo: IValidatableInfo | null): boolean;
31
+ TryGetValidatableTypeInfo(type: Type, validatableInfo: IValidatableInfo | null): boolean;
34
32
  }
35
33
 
36
34
 
@@ -39,8 +37,8 @@ export type IValidatableInfoResolver = IValidatableInfoResolver$instance;
39
37
  export interface ValidationErrorContext$instance {
40
38
  readonly __tsonic_type_Microsoft_Extensions_Validation_ValidationErrorContext: never;
41
39
 
42
- get Container(): unknown | undefined;
43
- set Container(value: unknown | undefined);
40
+ get Container(): JsValue | null;
41
+ set Container(value: JsValue | null);
44
42
  Errors: IReadOnlyList_1<System_Internal.String>;
45
43
  Name: string;
46
44
  Path: string;
@@ -73,7 +71,7 @@ export interface ValidatableParameterInfo$instance extends IValidatableInfo$inst
73
71
  readonly __tsonic_iface_Microsoft_Extensions_Validation_IValidatableInfo: never;
74
72
 
75
73
  GetValidationAttributes(): ValidationAttribute[];
76
- ValidateAsync(value: unknown, context: ValidateContext, cancellationToken: CancellationToken): Task;
74
+ ValidateAsync(value: JsValue | null, context: ValidateContext, cancellationToken: CancellationToken): Task;
77
75
  }
78
76
 
79
77
 
@@ -94,7 +92,7 @@ export interface ValidatablePropertyInfo$instance extends IValidatableInfo$insta
94
92
  readonly __tsonic_iface_Microsoft_Extensions_Validation_IValidatableInfo: never;
95
93
 
96
94
  GetValidationAttributes(): ValidationAttribute[];
97
- ValidateAsync(value: unknown, context: ValidateContext, cancellationToken: CancellationToken): Task;
95
+ ValidateAsync(value: JsValue | null, context: ValidateContext, cancellationToken: CancellationToken): Task;
98
96
  }
99
97
 
100
98
 
@@ -128,7 +126,7 @@ export interface ValidatableTypeInfo$instance extends IValidatableInfo$instance
128
126
  readonly __tsonic_iface_Microsoft_Extensions_Validation_IValidatableInfo: never;
129
127
 
130
128
  GetValidationAttributes(): ValidationAttribute[];
131
- ValidateAsync(value: unknown, context: ValidateContext, cancellationToken: CancellationToken): Task;
129
+ ValidateAsync(value: JsValue | null, context: ValidateContext, cancellationToken: CancellationToken): Task;
132
130
  }
133
131
 
134
132
 
@@ -149,8 +147,8 @@ export interface ValidateContext$instance {
149
147
  CurrentDepth: int;
150
148
  CurrentValidationPath: string;
151
149
  ValidationContext: ValidationContext;
152
- get ValidationErrors(): Dictionary_2<System_Internal.String, string[]> | undefined;
153
- set ValidationErrors(value: Dictionary_2<System_Internal.String, string[]> | undefined);
150
+ get ValidationErrors(): Dictionary_2<System_Internal.String, string[]> | null;
151
+ set ValidationErrors(value: Dictionary_2<System_Internal.String, string[]> | null);
154
152
  ValidationOptions: ValidationOptions;
155
153
  }
156
154
 
@@ -167,8 +165,8 @@ export interface ValidationOptions$instance {
167
165
 
168
166
  MaxDepth: int;
169
167
  readonly Resolvers: IList_1<IValidatableInfoResolver>;
170
- TryGetValidatableParameterInfo(parameterInfo: ParameterInfo, validatableInfo: IValidatableInfo): boolean;
171
- TryGetValidatableTypeInfo(type: Type, validatableTypeInfo: IValidatableInfo): boolean;
168
+ TryGetValidatableParameterInfo(parameterInfo: ParameterInfo, validatableInfo: IValidatableInfo | null): boolean;
169
+ TryGetValidatableTypeInfo(type: Type, validatableTypeInfo: IValidatableInfo | null): boolean;
172
170
  }
173
171
 
174
172
 
@@ -2,8 +2,9 @@
2
2
  // Namespace: Microsoft.Extensions.WebEncoders
3
3
  // Assembly: Microsoft.Extensions.WebEncoders
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
+
7
8
 
8
9
  // Import types from other namespaces
9
10
  import type { TextEncoderSettings } from "@tsonic/dotnet/System.Text.Encodings.Web/internal/index.js";
@@ -13,8 +14,8 @@ import type { Object as ClrObject } from "@tsonic/dotnet/System/internal/index.j
13
14
  export interface WebEncoderOptions$instance {
14
15
  readonly __tsonic_type_Microsoft_Extensions_WebEncoders_WebEncoderOptions: never;
15
16
 
16
- get TextEncoderSettings(): TextEncoderSettings | undefined;
17
- set TextEncoderSettings(value: TextEncoderSettings | undefined);
17
+ get TextEncoderSettings(): TextEncoderSettings | null;
18
+ set TextEncoderSettings(value: TextEncoderSettings | null);
18
19
  }
19
20
 
20
21
 
@@ -2,11 +2,9 @@
2
2
  // Namespace: Microsoft.Extensions.WebEncoders.Testing
3
3
  // Assembly: Microsoft.Extensions.WebEncoders
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
7
 
8
- // Import support types from @tsonic/core
9
- import type { ptr } from "@tsonic/core/types.js";
10
8
 
11
9
  // Import types from other namespaces
12
10
  import * as System_Internal from "@tsonic/dotnet/System/internal/index.js";
package/README.md CHANGED
@@ -1,16 +1,14 @@
1
1
  # @tsonic/microsoft-extensions
2
2
 
3
- TypeScript type definitions for **`Microsoft.Extensions.*`** (DI / Hosting / Logging / Configuration / Options) for **.NET 10**.
3
+ TypeScript declarations and CLR binding metadata for the .NET 10
4
+ `Microsoft.Extensions.*` stack.
4
5
 
5
- Generated by `tsbindgen` from the installed .NET shared framework and intended for use with the **Tsonic** compiler (TypeScript → .NET).
6
+ This generated package covers dependency injection, hosting, logging,
7
+ configuration, options, file providers, primitives, and related extension
8
+ assemblies. Tsonic uses it as the type and metadata package for real CLR
9
+ assemblies supplied by a framework reference or NuGet package.
6
10
 
7
- ## What this package is (and isn’t)
8
-
9
- - ✅ TypeScript bindings (`.d.ts`) for `Microsoft.Extensions.*` namespaces.
10
- - ❌ Not a JavaScript runtime implementation (the `.js` files are module stubs for type-only use).
11
- - ✅ The real assemblies typically come from the **`Microsoft.AspNetCore.App` shared framework** (or equivalent NuGet packages).
12
-
13
- ## Install (types)
11
+ ## Install
14
12
 
15
13
  ```bash
16
14
  npm install @tsonic/microsoft-extensions @tsonic/dotnet @tsonic/core
@@ -18,23 +16,26 @@ npm install @tsonic/microsoft-extensions @tsonic/dotnet @tsonic/core
18
16
 
19
17
  ## Use with Tsonic
20
18
 
21
- ### Using the shared framework (recommended)
19
+ ### Shared framework
22
20
 
23
21
  ```bash
24
22
  tsonic add framework Microsoft.AspNetCore.App @tsonic/microsoft-extensions
23
+ tsonic restore
25
24
  ```
26
25
 
27
- ### Using NuGet packages
26
+ ### NuGet packages
28
27
 
29
- If you prefer NuGet-driven restores instead of the shared framework, add the packages you need:
28
+ Add the specific extension packages you use and bind them to this type package:
30
29
 
31
30
  ```bash
32
31
  tsonic add nuget Microsoft.Extensions.DependencyInjection <version> @tsonic/microsoft-extensions
32
+ tsonic add nuget Microsoft.Extensions.Logging <version> @tsonic/microsoft-extensions
33
+ tsonic restore
33
34
  ```
34
35
 
35
36
  ## Imports
36
37
 
37
- Import namespaces via explicit module paths:
38
+ Import namespace facades through explicit ESM subpaths:
38
39
 
39
40
  ```ts
40
41
  import { ServiceCollection } from "@tsonic/microsoft-extensions/Microsoft.Extensions.DependencyInjection.js";
@@ -47,16 +48,45 @@ import { ServiceCollection } from "@tsonic/microsoft-extensions/Microsoft.Extens
47
48
 
48
49
  export function main(): void {
49
50
  const services = new ServiceCollection();
50
- // services.AddSingleton(...), services.AddLogging(...), etc.
51
+ void services;
51
52
  }
52
53
  ```
53
54
 
55
+ ## Package shape
56
+
57
+ The package contains generated namespace facades, ESM stubs, internal
58
+ declarations, extension buckets, and `bindings.json` compiler metadata:
59
+
60
+ ```text
61
+ @tsonic/microsoft-extensions/
62
+ Microsoft.Extensions.DependencyInjection.d.ts
63
+ Microsoft.Extensions.DependencyInjection.js
64
+ Microsoft.Extensions.DependencyInjection/
65
+ bindings.json
66
+ internal/index.d.ts
67
+ __internal/extensions/index.d.ts
68
+ ```
69
+
70
+ The `bindings.json` files preserve CLR identity, overloads, receiver semantics,
71
+ extension methods, nullable/reference metadata, and generic constraints.
72
+
54
73
  ## Versioning
55
74
 
56
- This repo is versioned by **.NET major**:
75
+ This repo is versioned by .NET major:
57
76
 
58
77
  - .NET 10 → npm: `@tsonic/microsoft-extensions@10.x`
59
78
 
79
+ ## Development
80
+
81
+ Regenerate from sibling checkouts:
82
+
83
+ ```bash
84
+ npm install
85
+ ./__build/scripts/generate.sh
86
+ ```
87
+
88
+ The generation script requires .NET 10, `../tsbindgen`, and `../dotnet`.
89
+
60
90
  ## License
61
91
 
62
92
  MIT
@@ -2,8 +2,9 @@
2
2
  // Namespace: System.Diagnostics
3
3
  // Assembly: System.Diagnostics.DiagnosticSource, System.Diagnostics.EventLog, System.Diagnostics.FileVersionInfo, System.Diagnostics.Process, System.Diagnostics.TextWriterTraceListener, System.Diagnostics.TraceSource, System.Private.CoreLib
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
+
7
8
 
8
9
  // Import types from other namespaces
9
10
  import * as System_Collections_Internal from "@tsonic/dotnet/System.Collections/internal/index.js";
@@ -33,7 +34,7 @@ export enum OverflowAction {
33
34
  }
34
35
 
35
36
 
36
- export type EntryWrittenEventHandler = (sender: unknown, e: EntryWrittenEventArgs) => void;
37
+ export type EntryWrittenEventHandler = (sender: JsValue, e: EntryWrittenEventArgs) => void;
37
38
 
38
39
 
39
40
  export interface EntryWrittenEventArgs$instance extends EventArgs {
@@ -97,8 +98,8 @@ export interface EventLog$instance extends Component {
97
98
  WriteEntry(message: string, type: EventLogEntryType, eventID: int): void;
98
99
  WriteEntry(message: string, type: EventLogEntryType, eventID: int, category: short): void;
99
100
  WriteEntry(message: string, type: EventLogEntryType, eventID: int, category: short, rawData: byte[]): void;
100
- WriteEvent(instance: EventInstance, data: byte[], ...values: unknown[]): void;
101
- WriteEvent(instance: EventInstance, ...values: unknown[]): void;
101
+ WriteEvent(instance: EventInstance, data: byte[], ...values: JsValue[]): void;
102
+ WriteEvent(instance: EventInstance, ...values: JsValue[]): void;
102
103
  }
103
104
 
104
105
 
@@ -126,8 +127,8 @@ export const EventLog: {
126
127
  WriteEntry(source: string, message: string, type: EventLogEntryType, eventID: int): void;
127
128
  WriteEntry(source: string, message: string, type: EventLogEntryType): void;
128
129
  WriteEntry(source: string, message: string): void;
129
- WriteEvent(source: string, instance: EventInstance, data: byte[], ...values: unknown[]): void;
130
- WriteEvent(source: string, instance: EventInstance, ...values: unknown[]): void;
130
+ WriteEvent(source: string, instance: EventInstance, data: byte[], ...values: JsValue[]): void;
131
+ WriteEvent(source: string, instance: EventInstance, ...values: JsValue[]): void;
131
132
  };
132
133
 
133
134
 
@@ -191,10 +192,10 @@ export interface EventLogTraceListener$instance extends TraceListener {
191
192
  Name: string;
192
193
  Close(): void;
193
194
  Dispose(disposing: boolean): void;
194
- TraceData(eventCache: TraceEventCache, source: string, severity: TraceEventType, id: int, data: unknown): void;
195
- TraceData(eventCache: TraceEventCache, source: string, severity: TraceEventType, id: int, ...data: unknown[]): void;
195
+ TraceData(eventCache: TraceEventCache, source: string, severity: TraceEventType, id: int, data: JsValue): void;
196
+ TraceData(eventCache: TraceEventCache, source: string, severity: TraceEventType, id: int, ...data: JsValue[]): void;
196
197
  TraceEvent(eventCache: TraceEventCache, source: string, severity: TraceEventType, id: int, message: string): void;
197
- TraceEvent(eventCache: TraceEventCache, source: string, severity: TraceEventType, id: int, format: string, ...args: unknown[]): void;
198
+ TraceEvent(eventCache: TraceEventCache, source: string, severity: TraceEventType, id: int, format: string, ...args: JsValue[]): void;
198
199
  Write(message: string): void;
199
200
  WriteLine(message: string): void;
200
201
  }
@@ -2,8 +2,9 @@
2
2
  // Namespace: System.Diagnostics.Eventing.Reader
3
3
  // Assembly: System.Diagnostics.EventLog
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
+
7
8
 
8
9
  // Import types from other namespaces
9
10
  import type { IEnumerable_1, IList_1 } from "@tsonic/dotnet/System.Collections.Generic/internal/index.js";
@@ -397,8 +398,8 @@ export interface EventLogRecord$instance extends EventRecord {
397
398
  Dispose(disposing: boolean): void;
398
399
  Dispose(): void;
399
400
  FormatDescription(): string;
400
- FormatDescription(values: IEnumerable_1<unknown>): string;
401
- GetPropertyValues(propertySelector: EventLogPropertySelector): IList_1<unknown>;
401
+ FormatDescription(values: IEnumerable_1<JsValue>): string;
402
+ GetPropertyValues(propertySelector: EventLogPropertySelector): IList_1<JsValue>;
402
403
  ToXml(): string;
403
404
  }
404
405
 
@@ -513,7 +514,7 @@ export type EventOpcode = EventOpcode$instance;
513
514
  export interface EventProperty$instance {
514
515
  readonly __tsonic_type_System_Diagnostics_Eventing_Reader_EventProperty: never;
515
516
 
516
- readonly Value: unknown;
517
+ readonly Value: JsValue;
517
518
  }
518
519
 
519
520
 
@@ -555,7 +556,7 @@ export interface EventRecord$instance {
555
556
  Dispose(): void;
556
557
  Dispose(disposing: boolean): void;
557
558
  FormatDescription(): string;
558
- FormatDescription(values: IEnumerable_1<unknown>): string;
559
+ FormatDescription(values: IEnumerable_1<JsValue>): string;
559
560
  ToXml(): string;
560
561
  }
561
562
 
@@ -2,8 +2,9 @@
2
2
  // Namespace: System.Net.Http
3
3
  // Assembly: Microsoft.Extensions.Http, System.Net.Http
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
+
7
8
 
8
9
  // Import types from other namespaces
9
10
  import type { HttpClient, HttpMessageHandler } from "@tsonic/dotnet/System.Net.Http/internal/index.js";
@@ -2,8 +2,9 @@
2
2
  // Namespace: System.Security.Cryptography
3
3
  // Assembly: System.Private.CoreLib, System.Security.Cryptography, System.Security.Cryptography.Pkcs
4
4
 
5
- // Primitive type aliases from @tsonic/core
6
- import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
5
+ // Core type aliases from @tsonic/core
6
+ import type { JsValue, fnptr, ptr, sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/core/types.js';
7
+
7
8
 
8
9
  // Import types from other namespaces
9
10
  import * as System_Collections_Internal from "@tsonic/dotnet/System.Collections/internal/index.js";
@@ -22,7 +23,7 @@ export interface CryptographicAttributeObject$instance {
22
23
 
23
24
  export const CryptographicAttributeObject: {
24
25
  new(oid: Oid): CryptographicAttributeObject;
25
- new(oid: Oid, values: AsnEncodedDataCollection): CryptographicAttributeObject;
26
+ new(oid: Oid, values: AsnEncodedDataCollection | null): CryptographicAttributeObject;
26
27
  };
27
28
 
28
29
 
@@ -36,7 +37,7 @@ export interface CryptographicAttributeObjectCollection$instance {
36
37
 
37
38
  readonly Count: int;
38
39
  readonly IsSynchronized: boolean;
39
- readonly SyncRoot: unknown;
40
+ readonly SyncRoot: JsValue;
40
41
  Add(asnEncodedData: AsnEncodedData): int;
41
42
  Add(attribute: CryptographicAttributeObject): int;
42
43
  CopyTo(array: CryptographicAttributeObject[], index: int): void;