Adds JSON encoding to swift (#6874)

Updates generated code & removes unneeded protocol

Updates cpp to only generate code when flag is passed

Updates code gen script
This commit is contained in:
mustiikhalil
2021-10-07 23:22:22 +02:00
committed by GitHub
parent 38295a1873
commit 4c7a9c10d3
17 changed files with 1324 additions and 20 deletions

View File

@@ -57,4 +57,24 @@ class FlatBuffersMoreDefaults: XCTestCase {
XCTAssertEqual(fDefaults.abcsCount, 0)
XCTAssertEqual(fDefaults.boolsCount, 0)
}
func testEncoding() {
var fbb = FlatBufferBuilder()
let root = MoreDefaults.createMoreDefaults(&fbb)
fbb.finish(offset: root)
var sizedBuffer = fbb.sizedBuffer
do {
let reader: MoreDefaults = try getCheckedRoot(byteBuffer: &sizedBuffer)
let encoder = JSONEncoder()
encoder.keyEncodingStrategy = .convertToSnakeCase
let data = try encoder.encode(reader)
XCTAssertEqual(data, jsonData.data(using: .utf8))
} catch {
XCTFail(error.localizedDescription)
}
}
var jsonData: String {
"{\"empty_string\":\"\",\"some_string\":\"some\"}"
}
}