typia 13.0.0-dev.20260514 → 13.0.0-dev.20260520

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.
@@ -1,63 +1,63 @@
1
1
  package metadata
2
2
 
3
3
  import (
4
- nativechecker "github.com/microsoft/typescript-go/shim/checker"
5
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
+ nativechecker "github.com/microsoft/typescript-go/shim/checker"
5
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
6
  )
7
7
 
8
8
  type MetadataFactory_IOptions struct {
9
- Escape bool
10
- Absorb bool
11
- Constant bool
12
- Functional bool
13
- Validate func(props struct {
14
- Metadata *schemametadata.MetadataSchema
15
- Explore MetadataFactory_IExplore
16
- Top *schemametadata.MetadataSchema
17
- }) []string
18
- OnError func(node any, message string)
9
+ Escape bool
10
+ Absorb bool
11
+ Constant bool
12
+ Functional bool
13
+ Validate func(props struct {
14
+ Metadata *schemametadata.MetadataSchema
15
+ Explore MetadataFactory_IExplore
16
+ Top *schemametadata.MetadataSchema
17
+ }) []string
18
+ OnError func(node any, message string)
19
19
  }
20
20
 
21
21
  type MetadataFactory_IError struct {
22
- Name string
23
- Explore MetadataFactory_IExplore
24
- Messages []string
22
+ Name string
23
+ Explore MetadataFactory_IExplore
24
+ Messages []string
25
25
  }
26
26
 
27
27
  type MetadataFactory_IExplore struct {
28
- Top bool
29
- Object *schemametadata.MetadataObjectType
30
- Property any
31
- Parameter any
32
- Nested any
33
- Aliased bool
34
- Escaped bool
35
- Output bool
28
+ Top bool
29
+ Object *schemametadata.MetadataObjectType
30
+ Property any
31
+ Parameter any
32
+ Nested any
33
+ Aliased bool
34
+ Escaped bool
35
+ Output bool
36
36
  }
37
37
 
38
38
  type MetadataFactory_IExplore_Function func(MetadataFactory_IExplore) MetadataFactory_IExplore
39
39
 
40
40
  type IMetadataIteratorProps struct {
41
- Options MetadataFactory_IOptions
42
- Checker *nativechecker.Checker
43
- Components *schemametadata.MetadataCollection
44
- Errors *[]MetadataFactory_IError
45
- Metadata *schemametadata.MetadataSchema
46
- Type *nativechecker.Type
47
- Explore MetadataFactory_IExplore
48
- Intersected bool
41
+ Options MetadataFactory_IOptions
42
+ Checker *nativechecker.Checker
43
+ Components *schemametadata.MetadataCollection
44
+ Errors *[]MetadataFactory_IError
45
+ Metadata *schemametadata.MetadataSchema
46
+ Type *nativechecker.Type
47
+ Explore MetadataFactory_IExplore
48
+ Intersected bool
49
49
  }
50
50
 
51
51
  var MetadataTypeTagAnalyzer func(props struct {
52
- Errors *[]MetadataFactory_IError
53
- Type string
54
- Objects []*schemametadata.MetadataObjectType
55
- Explore MetadataFactory_IExplore
52
+ Errors *[]MetadataFactory_IError
53
+ Type string
54
+ Objects []*schemametadata.MetadataObjectType
55
+ Explore MetadataFactory_IExplore
56
56
  }) []schemametadata.IMetadataTypeTag
57
57
 
58
58
  var MetadataCommentTagAnalyzer func(props struct {
59
- Errors *[]MetadataFactory_IError
60
- Metadata *schemametadata.MetadataSchema
61
- Tags []schemametadata.IJsDocTagInfo
62
- Explore MetadataFactory_IExplore
59
+ Errors *[]MetadataFactory_IError
60
+ Metadata *schemametadata.MetadataSchema
61
+ Tags []schemametadata.IJsDocTagInfo
62
+ Explore MetadataFactory_IExplore
63
63
  })
@@ -1,12 +1,12 @@
1
1
  package metadata
2
2
 
3
3
  import (
4
- "strings"
4
+ "strings"
5
5
 
6
- nativeast "github.com/microsoft/typescript-go/shim/ast"
7
- nativechecker "github.com/microsoft/typescript-go/shim/checker"
8
- nativescanner "github.com/microsoft/typescript-go/shim/scanner"
9
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
6
+ nativeast "github.com/microsoft/typescript-go/shim/ast"
7
+ nativechecker "github.com/microsoft/typescript-go/shim/checker"
8
+ nativescanner "github.com/microsoft/typescript-go/shim/scanner"
9
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
10
10
  )
11
11
 
12
12
  type metadataHelperNamespace struct{}
@@ -14,245 +14,247 @@ type metadataHelperNamespace struct{}
14
14
  var MetadataHelper = metadataHelperNamespace{}
15
15
 
16
16
  func (metadataHelperNamespace) Literal_to_metadata(key string) *schemametadata.MetadataSchema {
17
- metadata := schemametadata.MetadataSchema_initialize()
18
- metadata.Constants = append(metadata.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
19
- Type: "string",
20
- Values: []*schemametadata.MetadataConstantValue{
21
- schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{
22
- Value: key,
23
- Tags: [][]schemametadata.IMetadataTypeTag{},
24
- }),
25
- },
26
- }))
27
- return metadata
17
+ metadata := schemametadata.MetadataSchema_initialize()
18
+ metadata.Constants = append(metadata.Constants, schemametadata.MetadataConstant_create(schemametadata.MetadataConstant{
19
+ Type: "string",
20
+ Values: []*schemametadata.MetadataConstantValue{
21
+ schemametadata.MetadataConstantValue_create(schemametadata.MetadataConstantValue{
22
+ Value: key,
23
+ Tags: [][]schemametadata.IMetadataTypeTag{},
24
+ }),
25
+ },
26
+ }))
27
+ return metadata
28
28
  }
29
29
 
30
30
  func metadata_array_util_add_bool(array *[]bool, value bool) {
31
- for _, elem := range *array {
32
- if elem == value {
33
- return
34
- }
35
- }
36
- *array = append(*array, value)
31
+ for _, elem := range *array {
32
+ if elem == value {
33
+ return
34
+ }
35
+ }
36
+ *array = append(*array, value)
37
37
  }
38
38
 
39
39
  func metadata_type_full_name(checker *nativechecker.Checker, typ *nativechecker.Type) string {
40
- if checker == nil || typ == nil {
41
- return ""
42
- }
43
- if typ.IsUnion() || typ.IsIntersection() {
44
- joiner := " | "
45
- if typ.IsIntersection() {
46
- joiner = " & "
47
- }
48
- children := typ.Types()
49
- names := make([]string, 0, len(children))
50
- for _, child := range children {
51
- names = append(names, metadata_type_full_name(checker, child))
52
- }
53
- return strings.Join(names, joiner)
54
- }
55
- return checker.TypeToString(typ)
40
+ if checker == nil || typ == nil {
41
+ return ""
42
+ }
43
+ if typ.IsUnion() || typ.IsIntersection() {
44
+ joiner := " | "
45
+ if typ.IsIntersection() {
46
+ joiner = " & "
47
+ }
48
+ children := typ.Types()
49
+ names := make([]string, 0, len(children))
50
+ for _, child := range children {
51
+ names = append(names, metadata_type_full_name(checker, child))
52
+ }
53
+ return strings.Join(names, joiner)
54
+ }
55
+ return checker.TypeToString(typ)
56
56
  }
57
57
 
58
58
  func metadata_get_type_arguments(checker *nativechecker.Checker, typ *nativechecker.Type) (output []*nativechecker.Type) {
59
- if checker == nil || typ == nil {
60
- return nil
61
- }
62
- defer func() {
63
- if recover() != nil {
64
- output = nil
65
- }
66
- }()
67
- return checker.GetTypeArguments(typ)
59
+ if checker == nil || typ == nil {
60
+ return nil
61
+ }
62
+ defer func() {
63
+ if recover() != nil {
64
+ output = nil
65
+ }
66
+ }()
67
+ return checker.GetTypeArguments(typ)
68
68
  }
69
69
 
70
70
  func metadata_get_function_node(typ *nativechecker.Type) *nativeast.Node {
71
- if typ == nil {
72
- return nil
73
- }
74
- symbol := typ.Symbol()
75
- if symbol == nil || len(symbol.Declarations) == 0 {
76
- return nil
77
- }
78
- node := symbol.Declarations[0]
79
- if nativeast.IsFunctionLike(node) {
80
- return node
81
- }
82
- if nativeast.IsPropertyAssignment(node) {
83
- initializer := node.AsPropertyAssignment().Initializer
84
- if nativeast.IsFunctionLike(initializer) {
85
- return initializer
86
- }
87
- return nil
88
- }
89
- if nativeast.IsPropertyDeclaration(node) {
90
- initializer := node.AsPropertyDeclaration().Initializer
91
- if nativeast.IsFunctionLike(initializer) {
92
- return initializer
93
- }
94
- }
95
- return nil
71
+ if typ == nil {
72
+ return nil
73
+ }
74
+ symbol := typ.Symbol()
75
+ if symbol == nil || len(symbol.Declarations) == 0 {
76
+ return nil
77
+ }
78
+ node := symbol.Declarations[0]
79
+ if nativeast.IsFunctionLike(node) {
80
+ return node
81
+ }
82
+ if nativeast.IsPropertyAssignment(node) {
83
+ initializer := node.AsPropertyAssignment().Initializer
84
+ if nativeast.IsFunctionLike(initializer) {
85
+ return initializer
86
+ }
87
+ return nil
88
+ }
89
+ if nativeast.IsPropertyDeclaration(node) {
90
+ initializer := node.AsPropertyDeclaration().Initializer
91
+ if nativeast.IsFunctionLike(initializer) {
92
+ return initializer
93
+ }
94
+ }
95
+ return nil
96
96
  }
97
97
 
98
98
  func metadata_get_return_type_of_class_method(props struct {
99
- Checker *nativechecker.Checker
100
- Class *nativechecker.Type
101
- Function string
99
+ Checker *nativechecker.Checker
100
+ Class *nativechecker.Type
101
+ Function string
102
102
  }) *nativechecker.Type {
103
- if props.Checker == nil || props.Class == nil {
104
- return nil
105
- }
106
- symbol := props.Checker.GetPropertyOfType(props.Class, props.Function)
107
- if symbol == nil || symbol.ValueDeclaration == nil {
108
- return nil
109
- }
110
- functor := props.Checker.GetTypeOfSymbolAtLocation(symbol, symbol.ValueDeclaration)
111
- signatures := props.Checker.GetSignaturesOfType(functor, nativechecker.SignatureKindCall)
112
- if len(signatures) == 0 {
113
- return nil
114
- }
115
- return props.Checker.GetReturnTypeOfSignature(signatures[0])
103
+ if props.Checker == nil || props.Class == nil {
104
+ return nil
105
+ }
106
+ symbol := props.Checker.GetPropertyOfType(props.Class, props.Function)
107
+ if symbol == nil || symbol.ValueDeclaration == nil {
108
+ return nil
109
+ }
110
+ functor := props.Checker.GetTypeOfSymbolAtLocation(symbol, symbol.ValueDeclaration)
111
+ signatures := props.Checker.GetSignaturesOfType(functor, nativechecker.SignatureKindCall)
112
+ if len(signatures) == 0 {
113
+ return nil
114
+ }
115
+ return props.Checker.GetReturnTypeOfSignature(signatures[0])
116
116
  }
117
117
 
118
118
  func metadata_node_js_doc_tags(symbol *nativeast.Symbol) []schemametadata.IJsDocTagInfo {
119
- output := []schemametadata.IJsDocTagInfo{}
120
- for _, node := range metadata_node_declarations(symbol) {
121
- for _, jsdoc := range node.JSDoc(nil) {
122
- doc := jsdoc.AsJSDoc()
123
- if doc == nil || doc.Tags == nil {
124
- continue
125
- }
126
- for _, tag := range doc.Tags.Nodes {
127
- if tag == nil || tag.TagName() == nil {
128
- continue
129
- }
130
- texts := []schemametadata.IJsDocTagInfo_IText{}
131
- if name := metadata_js_doc_parameter_name(tag); name != "" {
132
- texts = append(texts, schemametadata.IJsDocTagInfo_IText{
133
- Kind: "parameterName",
134
- Text: name,
135
- })
136
- }
137
- if text := metadata_js_doc_type_expression_text(tag); text != "" {
138
- texts = append(texts, schemametadata.IJsDocTagInfo_IText{
139
- Kind: "text",
140
- Text: text,
141
- })
142
- }
143
- if text := metadata_js_doc_comment_text(tag.CommentList()); text != "" {
144
- texts = append(texts, schemametadata.IJsDocTagInfo_IText{
145
- Kind: "text",
146
- Text: text,
147
- })
148
- }
149
- output = append(output, schemametadata.IJsDocTagInfo{
150
- Name: tag.TagName().Text(),
151
- Text: texts,
152
- })
153
- }
154
- }
155
- }
156
- return output
119
+ output := []schemametadata.IJsDocTagInfo{}
120
+ for _, node := range metadata_node_declarations(symbol) {
121
+ for _, jsdoc := range node.JSDoc(nil) {
122
+ doc := jsdoc.AsJSDoc()
123
+ if doc == nil || doc.Tags == nil {
124
+ continue
125
+ }
126
+ for _, tag := range doc.Tags.Nodes {
127
+ if tag == nil || tag.TagName() == nil {
128
+ continue
129
+ }
130
+ texts := []schemametadata.IJsDocTagInfo_IText{}
131
+ if name := metadata_js_doc_parameter_name(tag); name != "" {
132
+ texts = append(texts, schemametadata.IJsDocTagInfo_IText{
133
+ Kind: "parameterName",
134
+ Text: name,
135
+ })
136
+ }
137
+ if text := metadata_js_doc_type_expression_text(tag); text != "" {
138
+ texts = append(texts, schemametadata.IJsDocTagInfo_IText{
139
+ Kind: "text",
140
+ Text: text,
141
+ })
142
+ }
143
+ if text := metadata_js_doc_comment_text(tag.CommentList()); text != "" {
144
+ texts = append(texts, schemametadata.IJsDocTagInfo_IText{
145
+ Kind: "text",
146
+ Text: text,
147
+ })
148
+ }
149
+ output = append(output, schemametadata.IJsDocTagInfo{
150
+ Name: tag.TagName().Text(),
151
+ Text: texts,
152
+ })
153
+ }
154
+ }
155
+ }
156
+ return output
157
157
  }
158
158
 
159
159
  func metadata_node_description(symbol *nativeast.Symbol) *string {
160
- for _, node := range metadata_node_declarations(symbol) {
161
- for _, jsdoc := range node.JSDoc(nil) {
162
- doc := jsdoc.AsJSDoc()
163
- if doc == nil {
164
- continue
165
- }
166
- if text := metadata_js_doc_comment_text(doc.Comment); text != "" {
167
- return &text
168
- }
169
- }
170
- }
171
- return nil
160
+ for _, node := range metadata_node_declarations(symbol) {
161
+ for _, jsdoc := range node.JSDoc(nil) {
162
+ doc := jsdoc.AsJSDoc()
163
+ if doc == nil {
164
+ continue
165
+ }
166
+ if text := metadata_js_doc_comment_text(doc.Comment); text != "" {
167
+ return &text
168
+ }
169
+ }
170
+ }
171
+ return nil
172
172
  }
173
173
 
174
174
  func metadata_is_internal(symbol *nativeast.Symbol) bool {
175
- return false
175
+ return false
176
176
  }
177
177
 
178
178
  func metadata_node_declarations(symbol *nativeast.Symbol) []*nativeast.Node {
179
- if symbol == nil {
180
- return nil
181
- }
182
- output := []*nativeast.Node{}
183
- visited := map[*nativeast.Node]bool{}
184
- appendNode := func(node *nativeast.Node) {
185
- if node != nil && visited[node] == false {
186
- visited[node] = true
187
- output = append(output, node)
188
- }
189
- }
190
- appendNode(symbol.ValueDeclaration)
191
- for _, node := range symbol.Declarations {
192
- appendNode(node)
193
- }
194
- return output
179
+ if symbol == nil {
180
+ return nil
181
+ }
182
+ output := []*nativeast.Node{}
183
+ visited := map[*nativeast.Node]bool{}
184
+ appendNode := func(node *nativeast.Node) {
185
+ if node != nil && visited[node] == false {
186
+ visited[node] = true
187
+ output = append(output, node)
188
+ }
189
+ }
190
+ appendNode(symbol.ValueDeclaration)
191
+ for _, node := range symbol.Declarations {
192
+ appendNode(node)
193
+ }
194
+ return output
195
195
  }
196
196
 
197
197
  func metadata_js_doc_parameter_name(tag *nativeast.Node) string {
198
- if tag == nil {
199
- return ""
200
- }
201
- if tag.Kind.String() != "KindJSDocParameterTag" && tag.Kind.String() != "KindJSDocPropertyTag" {
202
- return ""
203
- }
204
- name := tag.AsJSDocParameterOrPropertyTag().Name()
205
- if name == nil {
206
- return ""
207
- }
208
- return name.Text()
198
+ if tag == nil {
199
+ return ""
200
+ }
201
+ if tag.Kind.String() != "KindJSDocParameterTag" && tag.Kind.String() != "KindJSDocPropertyTag" {
202
+ return ""
203
+ }
204
+ // `name` is a DeclarationName: typically an Identifier, but for nested
205
+ // JSDoc parameter names like `@param obj.field description` the parser
206
+ // produces a QualifiedName, and upstream's (*Node).Text() panics with
207
+ // `Unhandled case in Node.Text: *ast.QualifiedName` if we call .Text()
208
+ // directly. NodeText in the ttsc shim covers QualifiedName and any
209
+ // other DeclarationName Kind that upstream's switch doesn't.
210
+ return nativeast.NodeText(tag.AsJSDocParameterOrPropertyTag().Name())
209
211
  }
210
212
 
211
213
  func metadata_js_doc_type_expression_text(tag *nativeast.Node) string {
212
- if tag == nil {
213
- return ""
214
- }
215
- switch tag.Kind {
216
- case nativeast.KindJSDocTypeTag,
217
- nativeast.KindJSDocParameterTag,
218
- nativeast.KindJSDocPropertyTag,
219
- nativeast.KindJSDocReturnTag,
220
- nativeast.KindJSDocTypedefTag,
221
- nativeast.KindJSDocSatisfiesTag,
222
- nativeast.KindJSDocThrowsTag:
223
- default:
224
- return ""
225
- }
226
- expr := tag.TypeExpression()
227
- if expr == nil {
228
- return ""
229
- }
230
- typ := expr.Type()
231
- if typ == nil {
232
- return ""
233
- }
234
- return metadata_clean_js_doc_text(nativescanner.GetTextOfNode(typ))
214
+ if tag == nil {
215
+ return ""
216
+ }
217
+ switch tag.Kind {
218
+ case nativeast.KindJSDocTypeTag,
219
+ nativeast.KindJSDocParameterTag,
220
+ nativeast.KindJSDocPropertyTag,
221
+ nativeast.KindJSDocReturnTag,
222
+ nativeast.KindJSDocTypedefTag,
223
+ nativeast.KindJSDocSatisfiesTag,
224
+ nativeast.KindJSDocThrowsTag:
225
+ default:
226
+ return ""
227
+ }
228
+ expr := tag.TypeExpression()
229
+ if expr == nil {
230
+ return ""
231
+ }
232
+ typ := expr.Type()
233
+ if typ == nil {
234
+ return ""
235
+ }
236
+ return metadata_clean_js_doc_text(nativescanner.GetTextOfNode(typ))
235
237
  }
236
238
 
237
239
  func metadata_js_doc_comment_text(list *nativeast.NodeList) string {
238
- if list == nil {
239
- return ""
240
- }
241
- parts := []string{}
242
- for _, node := range list.Nodes {
243
- if node != nil {
244
- parts = append(parts, node.Text())
245
- }
246
- }
247
- return metadata_clean_js_doc_text(strings.Join(parts, ""))
240
+ if list == nil {
241
+ return ""
242
+ }
243
+ parts := []string{}
244
+ for _, node := range list.Nodes {
245
+ if node != nil {
246
+ parts = append(parts, node.Text())
247
+ }
248
+ }
249
+ return metadata_clean_js_doc_text(strings.Join(parts, ""))
248
250
  }
249
251
 
250
252
  func metadata_clean_js_doc_text(text string) string {
251
- text = strings.ReplaceAll(text, "\r\n", "\n")
252
- text = strings.ReplaceAll(text, "\r", "\n")
253
- lines := strings.Split(text, "\n")
254
- for i, line := range lines {
255
- lines[i] = strings.TrimRight(line, " \t")
256
- }
257
- return strings.TrimSpace(strings.Join(lines, "\n"))
253
+ text = strings.ReplaceAll(text, "\r\n", "\n")
254
+ text = strings.ReplaceAll(text, "\r", "\n")
255
+ lines := strings.Split(text, "\n")
256
+ for i, line := range lines {
257
+ lines[i] = strings.TrimRight(line, " \t")
258
+ }
259
+ return strings.TrimSpace(strings.Join(lines, "\n"))
258
260
  }
@@ -3,32 +3,32 @@ package metadata
3
3
  import schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
4
4
 
5
5
  func Iterate_metadata_comment_tags(props struct {
6
- Errors *[]MetadataFactory_IError
7
- Object *schemametadata.MetadataObjectType
6
+ Errors *[]MetadataFactory_IError
7
+ Object *schemametadata.MetadataObjectType
8
8
  }) {
9
- if props.Object == nil || props.Object.Tagged_ == true || MetadataCommentTagAnalyzer == nil {
10
- return
11
- }
12
- props.Object.Tagged_ = true
9
+ if props.Object == nil || props.Object.Tagged_ == true || MetadataCommentTagAnalyzer == nil {
10
+ return
11
+ }
12
+ props.Object.Tagged_ = true
13
13
 
14
- for _, property := range props.Object.Properties {
15
- if property == nil || property.Value == nil || len(property.JsDocTags) == 0 {
16
- continue
17
- }
18
- MetadataCommentTagAnalyzer(struct {
19
- Errors *[]MetadataFactory_IError
20
- Metadata *schemametadata.MetadataSchema
21
- Tags []schemametadata.IJsDocTagInfo
22
- Explore MetadataFactory_IExplore
23
- }{
24
- Errors: props.Errors,
25
- Metadata: property.Value,
26
- Tags: property.JsDocTags,
27
- Explore: MetadataFactory_IExplore{
28
- Top: false,
29
- Object: props.Object,
30
- Property: property,
31
- },
32
- })
33
- }
14
+ for _, property := range props.Object.Properties {
15
+ if property == nil || property.Value == nil || len(property.JsDocTags) == 0 {
16
+ continue
17
+ }
18
+ MetadataCommentTagAnalyzer(struct {
19
+ Errors *[]MetadataFactory_IError
20
+ Metadata *schemametadata.MetadataSchema
21
+ Tags []schemametadata.IJsDocTagInfo
22
+ Explore MetadataFactory_IExplore
23
+ }{
24
+ Errors: props.Errors,
25
+ Metadata: property.Value,
26
+ Tags: property.JsDocTags,
27
+ Explore: MetadataFactory_IExplore{
28
+ Top: false,
29
+ Object: props.Object,
30
+ Property: property,
31
+ },
32
+ })
33
+ }
34
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "13.0.0-dev.20260514",
3
+ "version": "13.0.0-dev.20260520",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "exports": {
@@ -44,8 +44,8 @@
44
44
  "commander": "^10.0.0",
45
45
  "inquirer": "^8.2.5",
46
46
  "randexp": "^0.5.3",
47
- "@typia/interface": "^13.0.0-dev.20260514",
48
- "@typia/utils": "^13.0.0-dev.20260514"
47
+ "@typia/interface": "^13.0.0-dev.20260520",
48
+ "@typia/utils": "^13.0.0-dev.20260520"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@rollup/plugin-commonjs": "^29.0.0",
@@ -54,7 +54,7 @@
54
54
  "@types/node": "^25.3.0",
55
55
  "@typescript-eslint/eslint-plugin": "^8.1.0",
56
56
  "@typescript-eslint/parser": "^8.1.0",
57
- "@typescript/native-preview": "7.0.0-dev.20260510.1",
57
+ "@typescript/native-preview": "7.0.0-dev.20260519.1",
58
58
  "chalk": "^4.0.0",
59
59
  "eslint-plugin-deprecation": "^3.0.0",
60
60
  "rimraf": "^6.1.2",
@@ -63,7 +63,7 @@
63
63
  "rollup-plugin-node-externals": "^8.1.2",
64
64
  "suppress-warnings": "^1.0.2",
65
65
  "tinyglobby": "^0.2.12",
66
- "ttsc": "^0.10.2"
66
+ "ttsc": "^0.12.3"
67
67
  },
68
68
  "sideEffects": [
69
69
  "./lib/_virtual/*.mjs",