ts-> kotlin generated code compiles

This commit is contained in:
Adam 2021-10-07 23:06:27 +02:00
parent e271c974ad
commit bf1b09bfa8
12 changed files with 863 additions and 748 deletions

View file

@ -15,7 +15,7 @@ import org.w3c.workers.*
import org.w3c.xhr.*
import ts.Diagnostic
typealias OmitIndexSignature<T> = Any
//typealias OmitIndexSignature<T> = Any
external interface TransformerImport {
var transform: String
@ -31,10 +31,14 @@ external interface TransformerImport {
var type: String? /* "program" | "config" | "checker" | "raw" | "compilerOptions" */
get() = definedExternally
set(value) = definedExternally
@nativeGetter
operator fun get(option: String): Any?
@nativeSetter
operator fun set(option: String, value: Any)
}
@Suppress("NOTHING_TO_INLINE")
inline operator fun TransformerImport.get(option: String): Any? = asDynamic()[option]
@Suppress("NOTHING_TO_INLINE")
inline operator fun TransformerImport.set(option: String, value: Any) {
asDynamic()[option] = value
}
external interface LuaPluginImport {
@ -42,10 +46,14 @@ external interface LuaPluginImport {
var import: String?
get() = definedExternally
set(value) = definedExternally
@nativeGetter
operator fun get(option: String): Any?
@nativeSetter
operator fun set(option: String, value: Any)
}
@Suppress("NOTHING_TO_INLINE")
inline operator fun LuaPluginImport.get(option: String): Any? = asDynamic()[option]
@Suppress("NOTHING_TO_INLINE")
inline operator fun LuaPluginImport.set(option: String, value: Any) {
asDynamic()[option] = value
}
external enum class LuaLibImportKind {

View file

@ -395,9 +395,9 @@ external interface UnaryExpression : Expression {
external fun isUnaryExpression(node: Node): Boolean
external fun createUnaryExpression(operand: Expression, operator: SyntaxKind = definedExternally, tsOriginal: ts.Node = definedExternally): UnaryExpression
external fun createUnaryExpression(operand: Expression, operator: dynamic, tsOriginal: ts.Node = definedExternally): UnaryExpression
external fun createUnaryExpression(operand: Expression, operator: SyntaxKind = definedExternally): UnaryExpression
external fun createUnaryExpression(operand: Expression, operator: dynamic): UnaryExpression
external interface BinaryExpression : Expression {
var operator: dynamic /* SyntaxKind.AdditionOperator | SyntaxKind.SubtractionOperator | SyntaxKind.MultiplicationOperator | SyntaxKind.DivisionOperator | SyntaxKind.FloorDivisionOperator | SyntaxKind.ModuloOperator | SyntaxKind.PowerOperator | SyntaxKind.ConcatOperator | SyntaxKind.EqualityOperator | SyntaxKind.InequalityOperator | SyntaxKind.LessThanOperator | SyntaxKind.LessEqualOperator | SyntaxKind.GreaterThanOperator | SyntaxKind.GreaterEqualOperator | SyntaxKind.AndOperator | SyntaxKind.OrOperator | SyntaxKind.BitwiseAndOperator | SyntaxKind.BitwiseOrOperator | SyntaxKind.BitwiseExclusiveOrOperator | SyntaxKind.BitwiseRightShiftOperator | SyntaxKind.BitwiseLeftShiftOperator */
@ -431,19 +431,19 @@ external fun isMethodCallExpression(node: Node): Boolean
external fun createMethodCallExpression(prefixExpression: Expression, name: Identifier, params: Array<Expression>, tsOriginal: ts.Node = definedExternally): MethodCallExpression
external interface Identifier : Expression {
var exportable: Boolean
var exportable: Boolean?
var text: String
var originalName: String?
get() = definedExternally
set(value) = definedExternally
var symbolId: Number? /* Number? & `T$18`? */
var symbolId: Number? /* Number? & `T$14`? */
get() = definedExternally
set(value) = definedExternally
}
external fun isIdentifier(node: Node): Boolean
external fun createIdentifier(text: String, tsOriginal: ts.Node = definedExternally, symbolId: Number /* Number & `T$18` */ = definedExternally, originalName: String = definedExternally): Identifier
external fun createIdentifier(text: String, tsOriginal: ts.Node = definedExternally, symbolId: Number /* Number & `T$14` */ = definedExternally, originalName: String = definedExternally): Identifier
external fun cloneIdentifier(identifier: Identifier, tsOriginal: ts.Node = definedExternally): Identifier
@ -464,10 +464,10 @@ external fun isFunctionDefinition(statement: VariableDeclarationStatement): Bool
external fun isFunctionDefinition(statement: AssignmentStatement): Boolean
external interface `T$21` {
external interface `T$17` {
var statements: dynamic /* JsTuple<ReturnStatement> */
get() = definedExternally
set(value) = definedExternally
}
external fun isInlineFunctionExpression(expression: FunctionExpression): Boolean
external fun isInlineFunctionExpression(expression: FunctionExpression): Boolean

View file

@ -29,7 +29,7 @@ external interface PrintResult {
external fun createPrinter(printers: Array<Printer>): Printer
external open class LuaPrinter(emitHost: EmitHost, program: Program, fileName: String) {
open external class LuaPrinter(emitHost: EmitHost, program: Program, fileName: String) {
open var emitHost: Any
open var currentIndent: Any
open var sourceFile: Any

View file

@ -51,4 +51,4 @@ external interface PromiseConstructor {
fun <T> all(values: Iterable<Any? /* T | PromiseLike<T> */>): Promise<Array<T>>
fun <T> race(values: Iterable<T>): Promise<Any>
fun <T> race(values: Iterable<Any? /* T | PromiseLike<T> */>): Promise<T>
}
}

View file

@ -1,6 +1,5 @@
@file:JsQualifier("tsstdlib.Intl")
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package tsstdlib.Intl
import kotlin.js.*
import org.khronos.webgl.*
@ -41,10 +40,10 @@ external interface ResolvedCollatorOptions {
var locale: String
var usage: String
var sensitivity: String
var ignorePunctuation: Boolean
var ignorePunctuation: Boolean?
var collation: String
var caseFirst: String
var numeric: Boolean
var numeric: Boolean?
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
@ -111,7 +110,7 @@ external interface ResolvedNumberFormatOptions {
var maximumSignificantDigits: Number?
get() = definedExternally
set(value) = definedExternally
var useGrouping: Boolean
var useGrouping: Boolean?
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")

View file

@ -1,5 +1,4 @@
@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS")
package tsstdlib
import kotlin.js.*
import org.khronos.webgl.*
@ -15,6 +14,6 @@ import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
external open class VarDate {
open external class VarDate {
open var VarDate_typekey: VarDate
}

View file

@ -14,6 +14,7 @@ import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
import ts.*
typealias SortedReadonlyArray<T> = Array<T>
@ -21,59 +22,59 @@ typealias SortedArray<T> = Array<T>
typealias NodeArray<T> = Array<T>
typealias DotToken = PunctuationToken<SyntaxKind>
typealias DotToken = PunctuationToken<dynamic> // SyntaxKind.DotToken
typealias DotDotDotToken = PunctuationToken<SyntaxKind>
typealias DotDotDotToken = PunctuationToken<dynamic> // SyntaxKind.DotDotDotToken
typealias QuestionToken = PunctuationToken<SyntaxKind>
typealias QuestionToken = PunctuationToken<dynamic> // SyntaxKind.QuestionToken
typealias ExclamationToken = PunctuationToken<SyntaxKind>
typealias ExclamationToken = PunctuationToken<dynamic> // SyntaxKind.ExclamationToken
typealias ColonToken = PunctuationToken<SyntaxKind>
typealias ColonToken = PunctuationToken<dynamic> // SyntaxKind.ColonToken
typealias EqualsToken = PunctuationToken<SyntaxKind>
typealias EqualsToken = PunctuationToken<dynamic> // SyntaxKind.EqualsToken
typealias AsteriskToken = PunctuationToken<SyntaxKind>
typealias AsteriskToken = PunctuationToken<dynamic> // SyntaxKind.AsteriskToken
typealias EqualsGreaterThanToken = PunctuationToken<SyntaxKind>
typealias EqualsGreaterThanToken = PunctuationToken<dynamic> // SyntaxKind.EqualsGreaterThanToken
typealias PlusToken = PunctuationToken<SyntaxKind>
typealias PlusToken = PunctuationToken<dynamic> // SyntaxKind.PlusToken
typealias MinusToken = PunctuationToken<SyntaxKind>
typealias MinusToken = PunctuationToken<dynamic> // SyntaxKind.MinusToken
typealias QuestionDotToken = PunctuationToken<SyntaxKind>
typealias QuestionDotToken = PunctuationToken<dynamic> // SyntaxKind.QuestionDotToken
typealias AssertsKeyword = KeywordToken<SyntaxKind>
typealias AssertsKeyword = KeywordToken<dynamic> // SyntaxKind.AssertsKeyword
typealias AwaitKeyword = KeywordToken<SyntaxKind>
typealias AwaitKeyword = KeywordToken<dynamic> // SyntaxKind.AwaitKeyword
typealias AwaitKeywordToken = AwaitKeyword
typealias AssertsToken = AssertsKeyword
typealias AbstractKeyword = ModifierToken<SyntaxKind>
typealias AbstractKeyword = ModifierToken<dynamic> // SyntaxKind.AbstractKeyword
typealias AsyncKeyword = ModifierToken<SyntaxKind>
typealias AsyncKeyword = ModifierToken<dynamic> // SyntaxKind.AsyncKeyword
typealias ConstKeyword = ModifierToken<SyntaxKind>
typealias ConstKeyword = ModifierToken<dynamic> // SyntaxKind.ConstKeyword
typealias DeclareKeyword = ModifierToken<SyntaxKind>
typealias DeclareKeyword = ModifierToken<dynamic> // SyntaxKind.DeclareKeyword
typealias DefaultKeyword = ModifierToken<SyntaxKind>
typealias DefaultKeyword = ModifierToken<dynamic> // SyntaxKind.DefaultKeyword
typealias ExportKeyword = ModifierToken<SyntaxKind>
typealias ExportKeyword = ModifierToken<dynamic> // SyntaxKind.ExportKeyword
typealias PrivateKeyword = ModifierToken<SyntaxKind>
typealias PrivateKeyword = ModifierToken<dynamic> // SyntaxKind.PrivateKeyword
typealias ProtectedKeyword = ModifierToken<SyntaxKind>
typealias ProtectedKeyword = ModifierToken<dynamic> // SyntaxKind.ProtectedKeyword
typealias PublicKeyword = ModifierToken<SyntaxKind>
typealias PublicKeyword = ModifierToken<dynamic> // SyntaxKind.PublicKeyword
typealias ReadonlyKeyword = ModifierToken<SyntaxKind>
typealias ReadonlyKeyword = ModifierToken<dynamic> // SyntaxKind.ReadonlyKeyword
typealias OverrideKeyword = ModifierToken<SyntaxKind>
typealias OverrideKeyword = ModifierToken<dynamic> // SyntaxKind.OverrideKeyword
typealias StaticKeyword = ModifierToken<SyntaxKind>
typealias StaticKeyword = ModifierToken<dynamic> // SyntaxKind.StaticKeyword
typealias ReadonlyToken = ReadonlyKeyword
@ -109,14 +110,6 @@ typealias FileWatcherCallback = (fileName: String, eventKind: FileWatcherEventKi
typealias DirectoryWatcherCallback = (fileName: String) -> Unit
typealias ErrorCallback = (message: DiagnosticMessage, length: Number) -> Unit
typealias DiagnosticReporter = (diagnostic: Diagnostic) -> Unit
typealias WatchStatusReporter = (diagnostic: Diagnostic, newLine: String, options: CompilerOptions, errorCount: Number) -> Unit
typealias CreateProgram<T> = (rootNames: Array<String>?, options: CompilerOptions?, host: CompilerHost, oldProgram: T, configFileParsingDiagnostics: Array<Diagnostic>, projectReferences: Array<ProjectReference>?) -> T
typealias ReportEmitErrorSummary = (errorCount: Number) -> Unit
typealias CodeActionCommand = InstallPackageAction
typealias CodeActionCommand = InstallPackageAction

View file

@ -20,7 +20,7 @@ import ts.Diagnostic
import ts.System
import ts.DiagnosticReporter
external interface `T$17` {
external interface `T$13` {
var code: Any
var reportsUnnecessary: Any?
get() = definedExternally
@ -43,6 +43,6 @@ external interface `T$17` {
set(value) = definedExternally
}
external var prepareDiagnosticForFormatting: (diagnostic: Diagnostic) -> `T$17`
external var prepareDiagnosticForFormatting: (diagnostic: Diagnostic) -> `T$13`
external fun createDiagnosticReporter(pretty: Boolean, system: System = definedExternally): DiagnosticReporter

View file

@ -104,8 +104,8 @@ external interface CodeWithSourceMap {
external interface SourceMapConsumer {
fun computeColumnSpans()
fun originalPositionFor(generatedPosition: Position /* Position & `T$23` */): NullableMappedPosition
fun generatedPositionFor(originalPosition: MappedPosition /* MappedPosition & `T$23` */): NullablePosition
fun originalPositionFor(generatedPosition: Position /* Position & `T$19` */): NullableMappedPosition
fun generatedPositionFor(originalPosition: MappedPosition /* MappedPosition & `T$19` */): NullablePosition
fun allGeneratedPositionsFor(originalPosition: MappedPosition): Array<NullablePosition>
fun hasContentsOfAllSources(): Boolean
fun sourceContentFor(source: String, returnNullOnMissing: Boolean = definedExternally): String?
@ -145,7 +145,7 @@ external interface IndexedSourceMapConsumerConstructor {
var prototype: IndexedSourceMapConsumer
}
external open class SourceMapGenerator(startOfSourceMap: StartOfSourceMap = definedExternally) {
open external class SourceMapGenerator(startOfSourceMap: StartOfSourceMap = definedExternally) {
open fun addMapping(mapping: Mapping)
open fun setSourceContent(sourceFile: String, sourceContent: String)
open fun applySourceMap(sourceMapConsumer: SourceMapConsumer, sourceFile: String = definedExternally, sourceMapPath: String = definedExternally)
@ -157,7 +157,7 @@ external open class SourceMapGenerator(startOfSourceMap: StartOfSourceMap = defi
}
}
external open class SourceNode {
open external class SourceNode {
open var children: Array<SourceNode>
open var sourceContents: Any
open var line: Number

View file

@ -30,18 +30,18 @@ external interface EmitOptions : TranspileOptions {
}
external interface EmitResult {
var emitSkipped: Boolean
var emitSkipped: Boolean?
var diagnostics: Array<Diagnostic>
}
external interface `T$24` {
external interface `T$20` {
var emitPlan: Array<EmitFile>
}
external open class Transpiler(__0: TranspilerOptions = definedExternally) {
open external class Transpiler(__0: TranspilerOptions = definedExternally) {
open var emitHost: EmitHost
open fun emit(emitOptions: EmitOptions): EmitResult
open fun getEmitPlan(program: Program, diagnostics: Array<Diagnostic>, files: Array<ProcessedFile>): `T$24`
open fun getEmitPlan(program: Program, diagnostics: Array<Diagnostic>, files: Array<ProcessedFile>): `T$20`
}
external fun getEmitPath(file: String, program: Program): String

File diff suppressed because it is too large Load diff

View file

@ -57,7 +57,7 @@ external interface InstallPackageRequest : TypingInstallerRequestWithProjectName
external interface PackageInstalledResponse : ProjectResponse {
override val kind: String /* "action::packageInstalled" */
val success: Boolean
val success: Boolean?
val message: String
}
@ -89,7 +89,7 @@ external interface BeginInstallTypes : InstallTypes {
external interface EndInstallTypes : InstallTypes {
override val kind: String /* "event::endInstallTypes" */
val installSuccess: Boolean
val installSuccess: Boolean?
}
external interface SetTypings : ProjectResponse {