Skip to content

Commit d30ecca

Browse files
CLI: Add wat2wasm command
1 parent 4960d02 commit d30ecca

File tree

4 files changed

+16
-1
lines changed

4 files changed

+16
-1
lines changed

Package.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ let package = Package(
3030
dependencies: [
3131
"WasmKit",
3232
"WasmKitWASI",
33+
"WAT",
3334
.product(name: "ArgumentParser", package: "swift-argument-parser"),
3435
.product(name: "SystemPackage", package: "swift-system"),
3536
],

[email protected]

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ let package = Package(
3333
dependencies: [
3434
"WasmKit",
3535
"WasmKitWASI",
36+
"WAT",
3637
.product(name: "ArgumentParser", package: "swift-argument-parser"),
3738
.product(name: "SystemPackage", package: "swift-system"),
3839
],

Sources/CLI/CLI.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ struct CLI: AsyncParsableCommand {
66
commandName: "wasmkit",
77
abstract: "WebAssembly Runtime written in Swift.",
88
version: "0.0.8",
9-
subcommands: [Run.self, Explore.self]
9+
subcommands: [Run.self, Explore.self, Wat2wasm.self]
1010
)
1111
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import ArgumentParser
2+
import WAT
3+
import Foundation
4+
5+
struct Wat2wasm: ParsableCommand {
6+
@Argument var path: String
7+
@Option(name: .short) var output: String
8+
9+
func run() throws {
10+
let bytes = try wat2wasm(String(contentsOfFile: path))
11+
try Data(bytes).write(to: URL(fileURLWithPath: output))
12+
}
13+
}

0 commit comments

Comments
 (0)