@ttsc/wasm 0.15.4 → 0.15.6
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/dist/ttsc.wasm +0 -0
- package/package.json +2 -2
- package/shim-vendor/shim/ast/enums_gen.go +171 -0
- package/shim-vendor/shim/checker/enums_gen.go +112 -0
- package/shim-vendor/shim/checker/shim.go +116 -0
- package/shim-vendor/shim/checker/signature_api_completeness.go +58 -0
- package/shim-vendor/shim/core/enums_gen.go +15 -0
package/dist/ttsc.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttsc/wasm",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.6",
|
|
4
4
|
"description": "Build in-browser ttsc playgrounds. Compose ttsc + typescript-go with your own plugins via the Go host helper.",
|
|
5
5
|
"main": "lib/src/index.js",
|
|
6
6
|
"types": "lib/src/index.d.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"homepage": "https://ttsc.dev",
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^25.3.0",
|
|
41
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
41
|
+
"@typescript/native-preview": "7.0.0-dev.20260617.2",
|
|
42
42
|
"rimraf": "^6.1.2"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
// Code generated by packages/ttsc/tools/shim_audit -fix. DO NOT EDIT.
|
|
2
|
+
//
|
|
3
|
+
// Completes every exposed enum family: re-exports each member not already
|
|
4
|
+
// re-exported elsewhere in the shim package, so a plugin that can name the
|
|
5
|
+
// enum type can name all of its values. Prevents the #230 class (a sibling
|
|
6
|
+
// const silently missing). Regenerate after a typescript-go bump with
|
|
7
|
+
// `pnpm --filter ttsc shim:audit -fix`.
|
|
8
|
+
|
|
9
|
+
package ast
|
|
10
|
+
|
|
11
|
+
import innerast "github.com/microsoft/typescript-go/internal/ast"
|
|
12
|
+
|
|
13
|
+
const (
|
|
14
|
+
CommentDirectiveKindUnknown = innerast.CommentDirectiveKindUnknown
|
|
15
|
+
ModifierFlagsAbstract = innerast.ModifierFlagsAbstract
|
|
16
|
+
ModifierFlagsAccessibilityModifier = innerast.ModifierFlagsAccessibilityModifier
|
|
17
|
+
ModifierFlagsAccessor = innerast.ModifierFlagsAccessor
|
|
18
|
+
ModifierFlagsAll = innerast.ModifierFlagsAll
|
|
19
|
+
ModifierFlagsAsync = innerast.ModifierFlagsAsync
|
|
20
|
+
ModifierFlagsConst = innerast.ModifierFlagsConst
|
|
21
|
+
ModifierFlagsDecorator = innerast.ModifierFlagsDecorator
|
|
22
|
+
ModifierFlagsDefault = innerast.ModifierFlagsDefault
|
|
23
|
+
ModifierFlagsDeprecated = innerast.ModifierFlagsDeprecated
|
|
24
|
+
ModifierFlagsExport = innerast.ModifierFlagsExport
|
|
25
|
+
ModifierFlagsExportDefault = innerast.ModifierFlagsExportDefault
|
|
26
|
+
ModifierFlagsHasComputedFlags = innerast.ModifierFlagsHasComputedFlags
|
|
27
|
+
ModifierFlagsHasComputedJSDocModifiers = innerast.ModifierFlagsHasComputedJSDocModifiers
|
|
28
|
+
ModifierFlagsIn = innerast.ModifierFlagsIn
|
|
29
|
+
ModifierFlagsJSDocCacheOnlyModifiers = innerast.ModifierFlagsJSDocCacheOnlyModifiers
|
|
30
|
+
ModifierFlagsJSDocOnlyModifiers = innerast.ModifierFlagsJSDocOnlyModifiers
|
|
31
|
+
ModifierFlagsJSDocOverride = innerast.ModifierFlagsJSDocOverride
|
|
32
|
+
ModifierFlagsJSDocPrivate = innerast.ModifierFlagsJSDocPrivate
|
|
33
|
+
ModifierFlagsJSDocProtected = innerast.ModifierFlagsJSDocProtected
|
|
34
|
+
ModifierFlagsJSDocPublic = innerast.ModifierFlagsJSDocPublic
|
|
35
|
+
ModifierFlagsJSDocReadonly = innerast.ModifierFlagsJSDocReadonly
|
|
36
|
+
ModifierFlagsJavaScript = innerast.ModifierFlagsJavaScript
|
|
37
|
+
ModifierFlagsModifier = innerast.ModifierFlagsModifier
|
|
38
|
+
ModifierFlagsNonCacheOnlyModifiers = innerast.ModifierFlagsNonCacheOnlyModifiers
|
|
39
|
+
ModifierFlagsNonPublicAccessibilityModifier = innerast.ModifierFlagsNonPublicAccessibilityModifier
|
|
40
|
+
ModifierFlagsNone = innerast.ModifierFlagsNone
|
|
41
|
+
ModifierFlagsOut = innerast.ModifierFlagsOut
|
|
42
|
+
ModifierFlagsOverride = innerast.ModifierFlagsOverride
|
|
43
|
+
ModifierFlagsParameterPropertyModifier = innerast.ModifierFlagsParameterPropertyModifier
|
|
44
|
+
ModifierFlagsPublic = innerast.ModifierFlagsPublic
|
|
45
|
+
ModifierFlagsStatic = innerast.ModifierFlagsStatic
|
|
46
|
+
ModifierFlagsSyntacticModifiers = innerast.ModifierFlagsSyntacticModifiers
|
|
47
|
+
ModifierFlagsSyntacticOnlyModifiers = innerast.ModifierFlagsSyntacticOnlyModifiers
|
|
48
|
+
ModifierFlagsSyntacticOrJSDocModifiers = innerast.ModifierFlagsSyntacticOrJSDocModifiers
|
|
49
|
+
ModifierFlagsTypeScriptModifier = innerast.ModifierFlagsTypeScriptModifier
|
|
50
|
+
NodeFlagsAmbient = innerast.NodeFlagsAmbient
|
|
51
|
+
NodeFlagsAwaitUsing = innerast.NodeFlagsAwaitUsing
|
|
52
|
+
NodeFlagsConstant = innerast.NodeFlagsConstant
|
|
53
|
+
NodeFlagsContainsThis = innerast.NodeFlagsContainsThis
|
|
54
|
+
NodeFlagsContextFlags = innerast.NodeFlagsContextFlags
|
|
55
|
+
NodeFlagsDecoratorContext = innerast.NodeFlagsDecoratorContext
|
|
56
|
+
NodeFlagsDisallowConditionalTypesContext = innerast.NodeFlagsDisallowConditionalTypesContext
|
|
57
|
+
NodeFlagsDisallowInContext = innerast.NodeFlagsDisallowInContext
|
|
58
|
+
NodeFlagsExportContext = innerast.NodeFlagsExportContext
|
|
59
|
+
NodeFlagsHasAsyncFunctions = innerast.NodeFlagsHasAsyncFunctions
|
|
60
|
+
NodeFlagsHasExplicitReturn = innerast.NodeFlagsHasExplicitReturn
|
|
61
|
+
NodeFlagsHasImplicitReturn = innerast.NodeFlagsHasImplicitReturn
|
|
62
|
+
NodeFlagsHasJSDoc = innerast.NodeFlagsHasJSDoc
|
|
63
|
+
NodeFlagsIdentifierHasExtendedUnicodeEscape = innerast.NodeFlagsIdentifierHasExtendedUnicodeEscape
|
|
64
|
+
NodeFlagsInWithStatement = innerast.NodeFlagsInWithStatement
|
|
65
|
+
NodeFlagsJSDoc = innerast.NodeFlagsJSDoc
|
|
66
|
+
NodeFlagsJavaScriptFile = innerast.NodeFlagsJavaScriptFile
|
|
67
|
+
NodeFlagsJsonFile = innerast.NodeFlagsJsonFile
|
|
68
|
+
NodeFlagsPermanentlySetIncrementalFlags = innerast.NodeFlagsPermanentlySetIncrementalFlags
|
|
69
|
+
NodeFlagsPossiblyContainsDeprecatedTag = innerast.NodeFlagsPossiblyContainsDeprecatedTag
|
|
70
|
+
NodeFlagsPossiblyContainsDynamicImport = innerast.NodeFlagsPossiblyContainsDynamicImport
|
|
71
|
+
NodeFlagsPossiblyContainsImportMeta = innerast.NodeFlagsPossiblyContainsImportMeta
|
|
72
|
+
NodeFlagsReachabilityAndEmitFlags = innerast.NodeFlagsReachabilityAndEmitFlags
|
|
73
|
+
NodeFlagsReachabilityCheckFlags = innerast.NodeFlagsReachabilityCheckFlags
|
|
74
|
+
NodeFlagsReparsed = innerast.NodeFlagsReparsed
|
|
75
|
+
NodeFlagsThisNodeHasError = innerast.NodeFlagsThisNodeHasError
|
|
76
|
+
NodeFlagsThisNodeOrAnySubNodesHasError = innerast.NodeFlagsThisNodeOrAnySubNodesHasError
|
|
77
|
+
NodeFlagsTypeExcludesFlags = innerast.NodeFlagsTypeExcludesFlags
|
|
78
|
+
NodeFlagsUnreachable = innerast.NodeFlagsUnreachable
|
|
79
|
+
NodeFlagsUsing = innerast.NodeFlagsUsing
|
|
80
|
+
NodeFlagsYieldContext = innerast.NodeFlagsYieldContext
|
|
81
|
+
SymbolFlagsAccessor = innerast.SymbolFlagsAccessor
|
|
82
|
+
SymbolFlagsAccessorExcludes = innerast.SymbolFlagsAccessorExcludes
|
|
83
|
+
SymbolFlagsAliasExcludes = innerast.SymbolFlagsAliasExcludes
|
|
84
|
+
SymbolFlagsAll = innerast.SymbolFlagsAll
|
|
85
|
+
SymbolFlagsAssignment = innerast.SymbolFlagsAssignment
|
|
86
|
+
SymbolFlagsBlockScoped = innerast.SymbolFlagsBlockScoped
|
|
87
|
+
SymbolFlagsBlockScopedVariable = innerast.SymbolFlagsBlockScopedVariable
|
|
88
|
+
SymbolFlagsBlockScopedVariableExcludes = innerast.SymbolFlagsBlockScopedVariableExcludes
|
|
89
|
+
SymbolFlagsClass = innerast.SymbolFlagsClass
|
|
90
|
+
SymbolFlagsClassExcludes = innerast.SymbolFlagsClassExcludes
|
|
91
|
+
SymbolFlagsClassMember = innerast.SymbolFlagsClassMember
|
|
92
|
+
SymbolFlagsClassifiable = innerast.SymbolFlagsClassifiable
|
|
93
|
+
SymbolFlagsConstEnum = innerast.SymbolFlagsConstEnum
|
|
94
|
+
SymbolFlagsConstEnumExcludes = innerast.SymbolFlagsConstEnumExcludes
|
|
95
|
+
SymbolFlagsConstEnumOnlyModule = innerast.SymbolFlagsConstEnumOnlyModule
|
|
96
|
+
SymbolFlagsConstructor = innerast.SymbolFlagsConstructor
|
|
97
|
+
SymbolFlagsEnum = innerast.SymbolFlagsEnum
|
|
98
|
+
SymbolFlagsEnumMember = innerast.SymbolFlagsEnumMember
|
|
99
|
+
SymbolFlagsEnumMemberExcludes = innerast.SymbolFlagsEnumMemberExcludes
|
|
100
|
+
SymbolFlagsExportDoesNotSupportDefaultModifier = innerast.SymbolFlagsExportDoesNotSupportDefaultModifier
|
|
101
|
+
SymbolFlagsExportHasLocal = innerast.SymbolFlagsExportHasLocal
|
|
102
|
+
SymbolFlagsExportStar = innerast.SymbolFlagsExportStar
|
|
103
|
+
SymbolFlagsExportSupportsDefaultModifier = innerast.SymbolFlagsExportSupportsDefaultModifier
|
|
104
|
+
SymbolFlagsExportValue = innerast.SymbolFlagsExportValue
|
|
105
|
+
SymbolFlagsFunction = innerast.SymbolFlagsFunction
|
|
106
|
+
SymbolFlagsFunctionExcludes = innerast.SymbolFlagsFunctionExcludes
|
|
107
|
+
SymbolFlagsFunctionScopedVariable = innerast.SymbolFlagsFunctionScopedVariable
|
|
108
|
+
SymbolFlagsFunctionScopedVariableExcludes = innerast.SymbolFlagsFunctionScopedVariableExcludes
|
|
109
|
+
SymbolFlagsGetAccessor = innerast.SymbolFlagsGetAccessor
|
|
110
|
+
SymbolFlagsGetAccessorExcludes = innerast.SymbolFlagsGetAccessorExcludes
|
|
111
|
+
SymbolFlagsGlobalLookup = innerast.SymbolFlagsGlobalLookup
|
|
112
|
+
SymbolFlagsInterface = innerast.SymbolFlagsInterface
|
|
113
|
+
SymbolFlagsInterfaceExcludes = innerast.SymbolFlagsInterfaceExcludes
|
|
114
|
+
SymbolFlagsLateBindingContainer = innerast.SymbolFlagsLateBindingContainer
|
|
115
|
+
SymbolFlagsMethod = innerast.SymbolFlagsMethod
|
|
116
|
+
SymbolFlagsMethodExcludes = innerast.SymbolFlagsMethodExcludes
|
|
117
|
+
SymbolFlagsModule = innerast.SymbolFlagsModule
|
|
118
|
+
SymbolFlagsModuleExports = innerast.SymbolFlagsModuleExports
|
|
119
|
+
SymbolFlagsModuleMember = innerast.SymbolFlagsModuleMember
|
|
120
|
+
SymbolFlagsNamespaceModule = innerast.SymbolFlagsNamespaceModule
|
|
121
|
+
SymbolFlagsNamespaceModuleExcludes = innerast.SymbolFlagsNamespaceModuleExcludes
|
|
122
|
+
SymbolFlagsNone = innerast.SymbolFlagsNone
|
|
123
|
+
SymbolFlagsObjectLiteral = innerast.SymbolFlagsObjectLiteral
|
|
124
|
+
SymbolFlagsParameterExcludes = innerast.SymbolFlagsParameterExcludes
|
|
125
|
+
SymbolFlagsProperty = innerast.SymbolFlagsProperty
|
|
126
|
+
SymbolFlagsPropertyExcludes = innerast.SymbolFlagsPropertyExcludes
|
|
127
|
+
SymbolFlagsPropertyOrAccessor = innerast.SymbolFlagsPropertyOrAccessor
|
|
128
|
+
SymbolFlagsPrototype = innerast.SymbolFlagsPrototype
|
|
129
|
+
SymbolFlagsRegularEnum = innerast.SymbolFlagsRegularEnum
|
|
130
|
+
SymbolFlagsRegularEnumExcludes = innerast.SymbolFlagsRegularEnumExcludes
|
|
131
|
+
SymbolFlagsReplaceableByMethod = innerast.SymbolFlagsReplaceableByMethod
|
|
132
|
+
SymbolFlagsSetAccessor = innerast.SymbolFlagsSetAccessor
|
|
133
|
+
SymbolFlagsSetAccessorExcludes = innerast.SymbolFlagsSetAccessorExcludes
|
|
134
|
+
SymbolFlagsSignature = innerast.SymbolFlagsSignature
|
|
135
|
+
SymbolFlagsTransient = innerast.SymbolFlagsTransient
|
|
136
|
+
SymbolFlagsTypeAlias = innerast.SymbolFlagsTypeAlias
|
|
137
|
+
SymbolFlagsTypeAliasExcludes = innerast.SymbolFlagsTypeAliasExcludes
|
|
138
|
+
SymbolFlagsTypeLiteral = innerast.SymbolFlagsTypeLiteral
|
|
139
|
+
SymbolFlagsTypeParameter = innerast.SymbolFlagsTypeParameter
|
|
140
|
+
SymbolFlagsTypeParameterExcludes = innerast.SymbolFlagsTypeParameterExcludes
|
|
141
|
+
SymbolFlagsValue = innerast.SymbolFlagsValue
|
|
142
|
+
SymbolFlagsValueModule = innerast.SymbolFlagsValueModule
|
|
143
|
+
SymbolFlagsValueModuleExcludes = innerast.SymbolFlagsValueModuleExcludes
|
|
144
|
+
SymbolFlagsVariable = innerast.SymbolFlagsVariable
|
|
145
|
+
TokenFlagsBinaryOrOctalSpecifier = innerast.TokenFlagsBinaryOrOctalSpecifier
|
|
146
|
+
TokenFlagsBinarySpecifier = innerast.TokenFlagsBinarySpecifier
|
|
147
|
+
TokenFlagsContainsInvalidEscape = innerast.TokenFlagsContainsInvalidEscape
|
|
148
|
+
TokenFlagsContainsInvalidSeparator = innerast.TokenFlagsContainsInvalidSeparator
|
|
149
|
+
TokenFlagsContainsLeadingZero = innerast.TokenFlagsContainsLeadingZero
|
|
150
|
+
TokenFlagsContainsSeparator = innerast.TokenFlagsContainsSeparator
|
|
151
|
+
TokenFlagsExtendedUnicodeEscape = innerast.TokenFlagsExtendedUnicodeEscape
|
|
152
|
+
TokenFlagsHexEscape = innerast.TokenFlagsHexEscape
|
|
153
|
+
TokenFlagsHexSpecifier = innerast.TokenFlagsHexSpecifier
|
|
154
|
+
TokenFlagsIsInvalid = innerast.TokenFlagsIsInvalid
|
|
155
|
+
TokenFlagsNumericLiteralFlags = innerast.TokenFlagsNumericLiteralFlags
|
|
156
|
+
TokenFlagsOctal = innerast.TokenFlagsOctal
|
|
157
|
+
TokenFlagsOctalSpecifier = innerast.TokenFlagsOctalSpecifier
|
|
158
|
+
TokenFlagsPrecedingJSDocComment = innerast.TokenFlagsPrecedingJSDocComment
|
|
159
|
+
TokenFlagsPrecedingJSDocLeadingAsterisks = innerast.TokenFlagsPrecedingJSDocLeadingAsterisks
|
|
160
|
+
TokenFlagsPrecedingJSDocWithDeprecated = innerast.TokenFlagsPrecedingJSDocWithDeprecated
|
|
161
|
+
TokenFlagsPrecedingJSDocWithSeeOrLink = innerast.TokenFlagsPrecedingJSDocWithSeeOrLink
|
|
162
|
+
TokenFlagsPrecedingLineBreak = innerast.TokenFlagsPrecedingLineBreak
|
|
163
|
+
TokenFlagsRegularExpressionLiteralFlags = innerast.TokenFlagsRegularExpressionLiteralFlags
|
|
164
|
+
TokenFlagsScientific = innerast.TokenFlagsScientific
|
|
165
|
+
TokenFlagsSingleQuote = innerast.TokenFlagsSingleQuote
|
|
166
|
+
TokenFlagsStringLiteralFlags = innerast.TokenFlagsStringLiteralFlags
|
|
167
|
+
TokenFlagsTemplateLiteralLikeFlags = innerast.TokenFlagsTemplateLiteralLikeFlags
|
|
168
|
+
TokenFlagsUnicodeEscape = innerast.TokenFlagsUnicodeEscape
|
|
169
|
+
TokenFlagsUnterminated = innerast.TokenFlagsUnterminated
|
|
170
|
+
TokenFlagsWithSpecifier = innerast.TokenFlagsWithSpecifier
|
|
171
|
+
)
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// Code generated by packages/ttsc/tools/shim_audit -fix. DO NOT EDIT.
|
|
2
|
+
//
|
|
3
|
+
// Completes every exposed enum family: re-exports each member not already
|
|
4
|
+
// re-exported elsewhere in the shim package, so a plugin that can name the
|
|
5
|
+
// enum type can name all of its values. Prevents the #230 class (a sibling
|
|
6
|
+
// const silently missing). Regenerate after a typescript-go bump with
|
|
7
|
+
// `pnpm --filter ttsc shim:audit -fix`.
|
|
8
|
+
|
|
9
|
+
package checker
|
|
10
|
+
|
|
11
|
+
import innerchecker "github.com/microsoft/typescript-go/internal/checker"
|
|
12
|
+
|
|
13
|
+
const (
|
|
14
|
+
ElementFlagsFixed = innerchecker.ElementFlagsFixed
|
|
15
|
+
ElementFlagsNonRequired = innerchecker.ElementFlagsNonRequired
|
|
16
|
+
ElementFlagsNonRest = innerchecker.ElementFlagsNonRest
|
|
17
|
+
ElementFlagsVariable = innerchecker.ElementFlagsVariable
|
|
18
|
+
ObjectFlagsAnonymous = innerchecker.ObjectFlagsAnonymous
|
|
19
|
+
ObjectFlagsArrayLiteral = innerchecker.ObjectFlagsArrayLiteral
|
|
20
|
+
ObjectFlagsContainsIntersections = innerchecker.ObjectFlagsContainsIntersections
|
|
21
|
+
ObjectFlagsContainsObjectOrArrayLiteral = innerchecker.ObjectFlagsContainsObjectOrArrayLiteral
|
|
22
|
+
ObjectFlagsContainsSpread = innerchecker.ObjectFlagsContainsSpread
|
|
23
|
+
ObjectFlagsContainsWideningType = innerchecker.ObjectFlagsContainsWideningType
|
|
24
|
+
ObjectFlagsCouldContainTypeVariables = innerchecker.ObjectFlagsCouldContainTypeVariables
|
|
25
|
+
ObjectFlagsCouldContainTypeVariablesComputed = innerchecker.ObjectFlagsCouldContainTypeVariablesComputed
|
|
26
|
+
ObjectFlagsEvolvingArray = innerchecker.ObjectFlagsEvolvingArray
|
|
27
|
+
ObjectFlagsFreshLiteral = innerchecker.ObjectFlagsFreshLiteral
|
|
28
|
+
ObjectFlagsFromTypeNode = innerchecker.ObjectFlagsFromTypeNode
|
|
29
|
+
ObjectFlagsIdenticalBaseTypeCalculated = innerchecker.ObjectFlagsIdenticalBaseTypeCalculated
|
|
30
|
+
ObjectFlagsIdenticalBaseTypeExists = innerchecker.ObjectFlagsIdenticalBaseTypeExists
|
|
31
|
+
ObjectFlagsInstantiated = innerchecker.ObjectFlagsInstantiated
|
|
32
|
+
ObjectFlagsInstantiatedMapped = innerchecker.ObjectFlagsInstantiatedMapped
|
|
33
|
+
ObjectFlagsInstantiationExpressionType = innerchecker.ObjectFlagsInstantiationExpressionType
|
|
34
|
+
ObjectFlagsIsClassInstanceClone = innerchecker.ObjectFlagsIsClassInstanceClone
|
|
35
|
+
ObjectFlagsIsConstrainedTypeVariable = innerchecker.ObjectFlagsIsConstrainedTypeVariable
|
|
36
|
+
ObjectFlagsIsGenericIndexType = innerchecker.ObjectFlagsIsGenericIndexType
|
|
37
|
+
ObjectFlagsIsGenericObjectType = innerchecker.ObjectFlagsIsGenericObjectType
|
|
38
|
+
ObjectFlagsIsGenericType = innerchecker.ObjectFlagsIsGenericType
|
|
39
|
+
ObjectFlagsIsGenericTypeComputed = innerchecker.ObjectFlagsIsGenericTypeComputed
|
|
40
|
+
ObjectFlagsIsNeverIntersection = innerchecker.ObjectFlagsIsNeverIntersection
|
|
41
|
+
ObjectFlagsIsNeverIntersectionComputed = innerchecker.ObjectFlagsIsNeverIntersectionComputed
|
|
42
|
+
ObjectFlagsIsUnknownLikeUnion = innerchecker.ObjectFlagsIsUnknownLikeUnion
|
|
43
|
+
ObjectFlagsIsUnknownLikeUnionComputed = innerchecker.ObjectFlagsIsUnknownLikeUnionComputed
|
|
44
|
+
ObjectFlagsJSLiteral = innerchecker.ObjectFlagsJSLiteral
|
|
45
|
+
ObjectFlagsJsxAttributes = innerchecker.ObjectFlagsJsxAttributes
|
|
46
|
+
ObjectFlagsMapped = innerchecker.ObjectFlagsMapped
|
|
47
|
+
ObjectFlagsMembersResolved = innerchecker.ObjectFlagsMembersResolved
|
|
48
|
+
ObjectFlagsNonInferrableType = innerchecker.ObjectFlagsNonInferrableType
|
|
49
|
+
ObjectFlagsNone = innerchecker.ObjectFlagsNone
|
|
50
|
+
ObjectFlagsObjectLiteral = innerchecker.ObjectFlagsObjectLiteral
|
|
51
|
+
ObjectFlagsObjectLiteralPatternWithComputedProperties = innerchecker.ObjectFlagsObjectLiteralPatternWithComputedProperties
|
|
52
|
+
ObjectFlagsObjectRestType = innerchecker.ObjectFlagsObjectRestType
|
|
53
|
+
ObjectFlagsObjectTypeKindMask = innerchecker.ObjectFlagsObjectTypeKindMask
|
|
54
|
+
ObjectFlagsPrimitiveUnion = innerchecker.ObjectFlagsPrimitiveUnion
|
|
55
|
+
ObjectFlagsPropagatingFlags = innerchecker.ObjectFlagsPropagatingFlags
|
|
56
|
+
ObjectFlagsRequiresWidening = innerchecker.ObjectFlagsRequiresWidening
|
|
57
|
+
ObjectFlagsReverseMapped = innerchecker.ObjectFlagsReverseMapped
|
|
58
|
+
ObjectFlagsSingleSignatureType = innerchecker.ObjectFlagsSingleSignatureType
|
|
59
|
+
ObjectFlagsTuple = innerchecker.ObjectFlagsTuple
|
|
60
|
+
ObjectFlagsUnresolvedMembers = innerchecker.ObjectFlagsUnresolvedMembers
|
|
61
|
+
SignatureKindConstruct = innerchecker.SignatureKindConstruct
|
|
62
|
+
TypeFlagsAnyOrUnknown = innerchecker.TypeFlagsAnyOrUnknown
|
|
63
|
+
TypeFlagsBigInt = innerchecker.TypeFlagsBigInt
|
|
64
|
+
TypeFlagsBoolean = innerchecker.TypeFlagsBoolean
|
|
65
|
+
TypeFlagsConditional = innerchecker.TypeFlagsConditional
|
|
66
|
+
TypeFlagsDefinitelyFalsy = innerchecker.TypeFlagsDefinitelyFalsy
|
|
67
|
+
TypeFlagsDefinitelyNonNullable = innerchecker.TypeFlagsDefinitelyNonNullable
|
|
68
|
+
TypeFlagsDisjointDomains = innerchecker.TypeFlagsDisjointDomains
|
|
69
|
+
TypeFlagsESSymbol = innerchecker.TypeFlagsESSymbol
|
|
70
|
+
TypeFlagsESSymbolLike = innerchecker.TypeFlagsESSymbolLike
|
|
71
|
+
TypeFlagsFreshable = innerchecker.TypeFlagsFreshable
|
|
72
|
+
TypeFlagsIncludesConstrainedTypeVariable = innerchecker.TypeFlagsIncludesConstrainedTypeVariable
|
|
73
|
+
TypeFlagsIncludesEmptyObject = innerchecker.TypeFlagsIncludesEmptyObject
|
|
74
|
+
TypeFlagsIncludesError = innerchecker.TypeFlagsIncludesError
|
|
75
|
+
TypeFlagsIncludesInstantiable = innerchecker.TypeFlagsIncludesInstantiable
|
|
76
|
+
TypeFlagsIncludesMask = innerchecker.TypeFlagsIncludesMask
|
|
77
|
+
TypeFlagsIncludesMissingType = innerchecker.TypeFlagsIncludesMissingType
|
|
78
|
+
TypeFlagsIncludesNonWideningType = innerchecker.TypeFlagsIncludesNonWideningType
|
|
79
|
+
TypeFlagsIncludesWildcard = innerchecker.TypeFlagsIncludesWildcard
|
|
80
|
+
TypeFlagsIndex = innerchecker.TypeFlagsIndex
|
|
81
|
+
TypeFlagsIndexedAccess = innerchecker.TypeFlagsIndexedAccess
|
|
82
|
+
TypeFlagsInstantiable = innerchecker.TypeFlagsInstantiable
|
|
83
|
+
TypeFlagsInstantiableNonPrimitive = innerchecker.TypeFlagsInstantiableNonPrimitive
|
|
84
|
+
TypeFlagsInstantiablePrimitive = innerchecker.TypeFlagsInstantiablePrimitive
|
|
85
|
+
TypeFlagsIntrinsic = innerchecker.TypeFlagsIntrinsic
|
|
86
|
+
TypeFlagsNarrowable = innerchecker.TypeFlagsNarrowable
|
|
87
|
+
TypeFlagsNonPrimitive = innerchecker.TypeFlagsNonPrimitive
|
|
88
|
+
TypeFlagsNone = innerchecker.TypeFlagsNone
|
|
89
|
+
TypeFlagsNotPrimitiveUnion = innerchecker.TypeFlagsNotPrimitiveUnion
|
|
90
|
+
TypeFlagsNullable = innerchecker.TypeFlagsNullable
|
|
91
|
+
TypeFlagsNumber = innerchecker.TypeFlagsNumber
|
|
92
|
+
TypeFlagsObjectFlagsType = innerchecker.TypeFlagsObjectFlagsType
|
|
93
|
+
TypeFlagsPossiblyFalsy = innerchecker.TypeFlagsPossiblyFalsy
|
|
94
|
+
TypeFlagsPrimitive = innerchecker.TypeFlagsPrimitive
|
|
95
|
+
TypeFlagsReserved1 = innerchecker.TypeFlagsReserved1
|
|
96
|
+
TypeFlagsReserved2 = innerchecker.TypeFlagsReserved2
|
|
97
|
+
TypeFlagsReserved3 = innerchecker.TypeFlagsReserved3
|
|
98
|
+
TypeFlagsSimplifiable = innerchecker.TypeFlagsSimplifiable
|
|
99
|
+
TypeFlagsSingleton = innerchecker.TypeFlagsSingleton
|
|
100
|
+
TypeFlagsString = innerchecker.TypeFlagsString
|
|
101
|
+
TypeFlagsStringOrNumberLiteral = innerchecker.TypeFlagsStringOrNumberLiteral
|
|
102
|
+
TypeFlagsStringOrNumberLiteralOrUnique = innerchecker.TypeFlagsStringOrNumberLiteralOrUnique
|
|
103
|
+
TypeFlagsStructuredOrInstantiable = innerchecker.TypeFlagsStructuredOrInstantiable
|
|
104
|
+
TypeFlagsStructuredType = innerchecker.TypeFlagsStructuredType
|
|
105
|
+
TypeFlagsSubstitution = innerchecker.TypeFlagsSubstitution
|
|
106
|
+
TypeFlagsTypeParameter = innerchecker.TypeFlagsTypeParameter
|
|
107
|
+
TypeFlagsTypeVariable = innerchecker.TypeFlagsTypeVariable
|
|
108
|
+
TypeFlagsUnionOrIntersection = innerchecker.TypeFlagsUnionOrIntersection
|
|
109
|
+
TypeFlagsUniqueESSymbol = innerchecker.TypeFlagsUniqueESSymbol
|
|
110
|
+
TypeFlagsUnit = innerchecker.TypeFlagsUnit
|
|
111
|
+
TypeFlagsVoidLike = innerchecker.TypeFlagsVoidLike
|
|
112
|
+
)
|
|
@@ -210,3 +210,119 @@ func Checker_getBaseTypes(recv *innerchecker.Checker, t *innerchecker.Type) []*i
|
|
|
210
210
|
}
|
|
211
211
|
return checkerGetBaseTypes(recv, t)
|
|
212
212
|
}
|
|
213
|
+
|
|
214
|
+
//go:linkname checkerGetMinArgumentCount github.com/microsoft/typescript-go/internal/checker.(*Checker).getMinArgumentCount
|
|
215
|
+
func checkerGetMinArgumentCount(recv *innerchecker.Checker, signature *innerchecker.Signature) int
|
|
216
|
+
|
|
217
|
+
// Checker_getMinArgumentCount returns the minimum number of required arguments
|
|
218
|
+
// a call/construct signature accepts (parameters before the first optional or
|
|
219
|
+
// rest parameter). A type-transform plugin uses this to gate the single-
|
|
220
|
+
// required-parameter constructor strategy (`new C(x)`) and single-arg static
|
|
221
|
+
// factory (`C.from(x)`). Returns 0 if recv or signature is nil.
|
|
222
|
+
func Checker_getMinArgumentCount(recv *innerchecker.Checker, signature *innerchecker.Signature) int {
|
|
223
|
+
if recv == nil || signature == nil {
|
|
224
|
+
return 0
|
|
225
|
+
}
|
|
226
|
+
return checkerGetMinArgumentCount(recv, signature)
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// Checker_getSignaturesOfType returns the call or construct signatures declared
|
|
230
|
+
// on t, selected by kind (SignatureKindCall / SignatureKindConstruct). This is
|
|
231
|
+
// the producer companion to Checker_getMinArgumentCount and
|
|
232
|
+
// Checker_getReturnTypeOfSignature: without it the *Signature those two consume
|
|
233
|
+
// could not be obtained. A type-transform plugin uses the construct signatures
|
|
234
|
+
// of a class's constructor type to detect the `new C(x)` strategy and the call
|
|
235
|
+
// signatures of a static `from` member to detect the `C.from(x)` strategy.
|
|
236
|
+
// Returns nil if recv or t is nil.
|
|
237
|
+
func Checker_getSignaturesOfType(recv *innerchecker.Checker, t *innerchecker.Type, kind innerchecker.SignatureKind) []*innerchecker.Signature {
|
|
238
|
+
if recv == nil || t == nil {
|
|
239
|
+
return nil
|
|
240
|
+
}
|
|
241
|
+
return recv.GetSignaturesOfType(t, kind)
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// Checker_getReturnTypeOfSignature returns the return type of signature, used to
|
|
245
|
+
// verify that a static `from(x)` factory actually returns the class instance
|
|
246
|
+
// type before selecting the `C.from(x)` construction strategy. Returns nil if
|
|
247
|
+
// recv or signature is nil.
|
|
248
|
+
func Checker_getReturnTypeOfSignature(recv *innerchecker.Checker, signature *innerchecker.Signature) *innerchecker.Type {
|
|
249
|
+
if recv == nil || signature == nil {
|
|
250
|
+
return nil
|
|
251
|
+
}
|
|
252
|
+
return recv.GetReturnTypeOfSignature(signature)
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// Signature_parameterCount returns the number of declared value parameters of a
|
|
256
|
+
// call/construct signature. A rest parameter counts as one and the `this`
|
|
257
|
+
// parameter is excluded (it is held separately from the value parameters).
|
|
258
|
+
//
|
|
259
|
+
// Checker_getMinArgumentCount alone cannot tell a zero-parameter signature
|
|
260
|
+
// (`()` — minimum 0) from a single-optional-parameter one (`(x?)` — also
|
|
261
|
+
// minimum 0). A type-transform plugin needs that distinction to replicate the
|
|
262
|
+
// type-level "single meaningful argument" rule — a FIRST parameter must exist
|
|
263
|
+
// and every later parameter must be optional or rest — as
|
|
264
|
+
// `Signature_parameterCount(sig) >= 1 && Checker_getMinArgumentCount(c, sig) <= 1`.
|
|
265
|
+
// Without it the `new C(x)` / `C.from(x)` strategies silently fall back to field
|
|
266
|
+
// copy for every optional-first constructor or factory. Returns 0 if signature
|
|
267
|
+
// is nil.
|
|
268
|
+
func Signature_parameterCount(signature *innerchecker.Signature) int {
|
|
269
|
+
if signature == nil {
|
|
270
|
+
return 0
|
|
271
|
+
}
|
|
272
|
+
return len(signature.Parameters())
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// Signature_parameters returns the declared value-parameter symbols of a
|
|
276
|
+
// call/construct signature, in declaration order, excluding the synthetic
|
|
277
|
+
// `this` parameter. The first element is the seed parameter of a `new C(seed)`
|
|
278
|
+
// constructor or a `C.from(seed)` factory; feeding it to Checker_getTypeOfSymbol
|
|
279
|
+
// yields the seed TYPE the plugin must decode before constructing the instance.
|
|
280
|
+
//
|
|
281
|
+
// Signature_parameterCount is len() of this slice; the slice itself is needed
|
|
282
|
+
// because detection (count + min-args) is not enough — emission requires the
|
|
283
|
+
// seed parameter's type. Returns nil if signature is nil.
|
|
284
|
+
func Signature_parameters(signature *innerchecker.Signature) []*innerast.Symbol {
|
|
285
|
+
if signature == nil {
|
|
286
|
+
return nil
|
|
287
|
+
}
|
|
288
|
+
return signature.Parameters()
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Signature_hasRestParameter reports whether the signature's last value
|
|
292
|
+
// parameter is a rest parameter (`...xs: S[]`). It is the signal a from/new
|
|
293
|
+
// transform needs to tell a rest-only single-seed call `(...xs: S[])` — whose
|
|
294
|
+
// seed is the ELEMENT S — from a genuine array-typed parameter `(seed: S[])` —
|
|
295
|
+
// whose seed is the array S[]: getTypeOfSymbol yields `S[]` for BOTH, so without
|
|
296
|
+
// this flag they are indistinguishable and the rest case decodes the wrong
|
|
297
|
+
// shape.
|
|
298
|
+
//
|
|
299
|
+
// The rest ELEMENT is the seed ONLY when the rest parameter is the sole value
|
|
300
|
+
// parameter, i.e. `Signature_hasRestParameter(sig) && Signature_parameterCount(sig) == 1`.
|
|
301
|
+
// A leading-required + rest-tail signature `(s: S, ...r: R[])` also has a rest
|
|
302
|
+
// parameter (this returns true), but its seed is the FIRST parameter S — read it
|
|
303
|
+
// from Signature_parameters(sig)[0], NOT the rest element — matching
|
|
304
|
+
// ClassifiableSeed, whose `[infer P, ...Rest]` arm picks P=S there. Returns
|
|
305
|
+
// false if signature is nil.
|
|
306
|
+
func Signature_hasRestParameter(signature *innerchecker.Signature) bool {
|
|
307
|
+
if signature == nil {
|
|
308
|
+
return false
|
|
309
|
+
}
|
|
310
|
+
return signature.HasRestParameter()
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Checker_getRestTypeOfSignature returns the ELEMENT type of the signature's
|
|
314
|
+
// rest parameter (`...xs: S[]` -> S; a tuple rest unwraps to its element too),
|
|
315
|
+
// which is the seed type for a rest-ONLY single-argument constructor/factory —
|
|
316
|
+
// matching ClassifiableSeed, which unwraps the rest to its element. When the
|
|
317
|
+
// signature has NO rest parameter it falls back to `any` upstream; and a
|
|
318
|
+
// leading-required + rest-tail `(s: S, ...r: R[])` has a rest parameter yet its
|
|
319
|
+
// seed is the FIRST parameter S, not the rest element. So take the rest element
|
|
320
|
+
// only when `Signature_hasRestParameter(sig) && Signature_parameterCount(sig) == 1`;
|
|
321
|
+
// otherwise read Signature_parameters(sig)[0]. Returns nil if recv or signature
|
|
322
|
+
// is nil.
|
|
323
|
+
func Checker_getRestTypeOfSignature(recv *innerchecker.Checker, signature *innerchecker.Signature) *innerchecker.Type {
|
|
324
|
+
if recv == nil || signature == nil {
|
|
325
|
+
return nil
|
|
326
|
+
}
|
|
327
|
+
return recv.GetRestTypeOfSignature(signature)
|
|
328
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
package checker
|
|
2
|
+
|
|
3
|
+
// Compile-time guard: the signature-introspection surface that typia's
|
|
4
|
+
// plain.classify from/new construction-strategy detection depends on must
|
|
5
|
+
// compose end-to-end through the shim.
|
|
6
|
+
//
|
|
7
|
+
// 0.15.5 exposed a CONSUMER of a *Signature (Checker_getMinArgumentCount)
|
|
8
|
+
// without the PRODUCER that yields one (Checker_getSignaturesOfType): a
|
|
9
|
+
// *Signature was nameable (the `Signature` alias) but unobtainable. The closure
|
|
10
|
+
// auditor checks that every escaping type can be NAMED, not that it can be
|
|
11
|
+
// PRODUCED, so it did not catch the gap and the feature stayed blocked.
|
|
12
|
+
//
|
|
13
|
+
// This lives in a NORMAL (non-_test) file on purpose. The shim/checker package
|
|
14
|
+
// is a nested Go module that no CI job runs `go test` against, so a _test.go
|
|
15
|
+
// guard would never be compiled and would silently stop guarding. As ordinary
|
|
16
|
+
// package code it is type-checked by every build that links the shim (typia's
|
|
17
|
+
// native plugin, ttsc's lint engine), so dropping or renaming any leg below
|
|
18
|
+
// turns those builds red. It never runs (assigned to blank, never called).
|
|
19
|
+
var _ = func(c *Checker, instanceType *Type) {
|
|
20
|
+
// class instance type -> class symbol -> constructor (static) type, which
|
|
21
|
+
// carries both the construct signatures and the static `from` member.
|
|
22
|
+
classSymbol := Type_getTypeNameSymbol(instanceType)
|
|
23
|
+
ctorType := Checker_getTypeOfSymbol(c, classSymbol)
|
|
24
|
+
|
|
25
|
+
// `new C(seed)` strategy: construct signatures -> arity (min args +
|
|
26
|
+
// parameter count, together disambiguating `()` from `(x?)`) -> return type
|
|
27
|
+
// -> the seed parameter's type. The seed is Signature_parameters[0]'s type,
|
|
28
|
+
// EXCEPT a rest-ONLY parameter `(...xs: S[])` — when
|
|
29
|
+
// `hasRestParameter && parameterCount == 1` — whose seed is the rest ELEMENT
|
|
30
|
+
// (getRestTypeOfSignature). A leading-required + rest-tail `(s, ...r)` still
|
|
31
|
+
// has hasRestParameter true but its seed is the first parameter S.
|
|
32
|
+
for _, sig := range Checker_getSignaturesOfType(c, ctorType, SignatureKindConstruct) {
|
|
33
|
+
_ = Checker_getMinArgumentCount(c, sig)
|
|
34
|
+
_ = Signature_parameterCount(sig)
|
|
35
|
+
_ = Checker_getReturnTypeOfSignature(c, sig)
|
|
36
|
+
if Signature_hasRestParameter(sig) {
|
|
37
|
+
_ = Checker_getRestTypeOfSignature(c, sig)
|
|
38
|
+
}
|
|
39
|
+
for _, p := range Signature_parameters(sig) {
|
|
40
|
+
_ = Checker_getTypeOfSymbol(c, p)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// `C.from(seed)` strategy: static `from` member -> its call signatures, read
|
|
45
|
+
// identically (arity, return type, seed parameter / rest element type).
|
|
46
|
+
fromType := Checker_getTypeOfPropertyOfType(c, ctorType, "from")
|
|
47
|
+
for _, sig := range Checker_getSignaturesOfType(c, fromType, SignatureKindCall) {
|
|
48
|
+
_ = Checker_getMinArgumentCount(c, sig)
|
|
49
|
+
_ = Signature_parameterCount(sig)
|
|
50
|
+
_ = Checker_getReturnTypeOfSignature(c, sig)
|
|
51
|
+
if Signature_hasRestParameter(sig) {
|
|
52
|
+
_ = Checker_getRestTypeOfSignature(c, sig)
|
|
53
|
+
}
|
|
54
|
+
for _, p := range Signature_parameters(sig) {
|
|
55
|
+
_ = Checker_getTypeOfSymbol(c, p)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Code generated by packages/ttsc/tools/shim_audit -fix. DO NOT EDIT.
|
|
2
|
+
//
|
|
3
|
+
// Completes every exposed enum family: re-exports each member not already
|
|
4
|
+
// re-exported elsewhere in the shim package, so a plugin that can name the
|
|
5
|
+
// enum type can name all of its values. Prevents the #230 class (a sibling
|
|
6
|
+
// const silently missing). Regenerate after a typescript-go bump with
|
|
7
|
+
// `pnpm --filter ttsc shim:audit -fix`.
|
|
8
|
+
|
|
9
|
+
package core
|
|
10
|
+
|
|
11
|
+
import innercore "github.com/microsoft/typescript-go/internal/core"
|
|
12
|
+
|
|
13
|
+
const (
|
|
14
|
+
TSUnknown = innercore.TSUnknown
|
|
15
|
+
)
|