一套将 TypeScript 模型解析为 Swift 模型的工具集
var
let folder: string = `path/to/${folder}`; // 无法解析 TypeScript
var folder = `path/to/${folder}`; // SWIFT: var folder = "path/to/\(folder)"
.package(url: "https://github.com/valdirunars/TypeSwift.git", from: "0.0.14")
try! TypeSwift.sharedInstance.convert(file: fileURL,
to: .swift,
output: outURL)
// or alternatively
let string: String? = TypeSwift.sharedInstance.convertedString(from: typescript, to: .swift)
以下 TypeScript 字符串
interface Protocol {
readonly y: number
}
export class Foo implements Protocol {
public x: number = 3;
private readonly y: number;
constructor(x: number, y: number) {
this.x = x
this.y = y
}
}
class Bar {
protected property : Array<[boolean, string]>
constructor(property: [(Bool, String)]) {
this.property = property
}
}
将会被转换为
protocol Protocol {
var y: Double { get }
}
public struct Foo: Protocol {
public var x: Double = 3
private let y: Double
init(_ x: Double, _ y: Double) {
self.x = x
self.y = y
}
init(x: Double, y: Double) {
self.x = x
self.y = y
}
}
struct Bar {
internal var property: [(Bool, String)]
init(_ property: [(Bool, String)]) {
self.property = property
}
init(property: [(Bool, String)]) {
self.property = property
}
}