Skip to content

Commit 9d18164

Browse files
committed
Try to bring in some subset of web assembly set from snapchat-djinni
1 parent 1d61ed5 commit 9d18164

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2095
-77
lines changed

src/it/resources/cpp_interface_dependency.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,10 @@ cs:
3636
header: '"InterfaceDependency.hpp"'
3737
typename: InterfaceDependency^
3838
reference: true
39+
wasm:
40+
translator: '::InterfaceDependency'
41+
header: '"InterfaceDependency.hpp"'
42+
typename: InterfaceDependency
43+
ts:
44+
typename: InterfaceDependency
45+
module: "InterfaceDependency.ts"

src/it/resources/expected/all_datatypes/cpp-headers/enum_data.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
#include <functional>
77

88
enum class EnumData : int {
9-
A,
10-
B,
9+
A = 0,
10+
B = 1,
1111
};
1212

1313
namespace std {

src/it/resources/expected/all_datatypes/cppcli/EnumData.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
#include "../cpp-headers/enum_data.hpp"
77

88
public enum class EnumData {
9-
A,
10-
B,
9+
A = 0,
10+
B = 1,
1111
};

src/it/resources/expected/all_datatypes/generated-files.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,8 @@ src/it/resources/result/all_datatypes/cwrapper/dh__map_int8_t_bool.cpp
3838
src/it/resources/result/all_datatypes/cwrapper-headers/dh__all_datatypes.h
3939
src/it/resources/result/all_datatypes/cwrapper/dh__all_datatypes.hpp
4040
src/it/resources/result/all_datatypes/cwrapper/dh__all_datatypes.cpp
41+
src/it/resources/result/all_datatypes/wasm/enum_data.hpp
42+
src/it/resources/result/all_datatypes/wasm/enum_data.cpp
43+
src/it/resources/result/all_datatypes/wasm/all_datatypes.hpp
44+
src/it/resources/result/all_datatypes/wasm/all_datatypes.cpp
45+
src/it/resources/result/all_datatypes/ts/module.ts

src/it/resources/expected/all_datatypes/objc-headers/ITEnumData.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55

66
typedef NS_ENUM(NSInteger, ITEnumData)
77
{
8-
ITEnumDataA,
9-
ITEnumDataB,
8+
ITEnumDataA = 0,
9+
ITEnumDataB = 1,
1010
};
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// AUTOGENERATED FILE - DO NOT MODIFY!
2+
// This file was generated by Djinni from all_datatypes.djinni
3+
4+
5+
export enum EnumData {
6+
A = 0,
7+
B = 1,
8+
}
9+
10+
export interface /*record*/ AllDatatypes {
11+
booleanData: boolean;
12+
integer8Data: number;
13+
integer16Data: number;
14+
integer32Data: number;
15+
integer64Data: bigint;
16+
float32Data: number;
17+
float64Data: number;
18+
stringData: string;
19+
binaryData: Uint8Array;
20+
dateData: Date;
21+
listData: Array<boolean>;
22+
setData: Set<boolean>;
23+
mapData: Map<number, boolean>;
24+
optionalData?: boolean;
25+
enumData: EnumData;
26+
}
27+
28+
export interface Module_statics {
29+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// AUTOGENERATED FILE - DO NOT MODIFY!
2+
// This file was generated by Djinni from all_datatypes.djinni
3+
4+
#include "all_datatypes.hpp" // my header
5+
#include "enum_data.hpp"
6+
7+
namespace djinni_generated {
8+
9+
auto AllDatatypes::toCpp(const JsType& j) -> CppType {
10+
return {::djinni::Bool::Boxed::toCpp(j["booleanData"]),
11+
::djinni::I8::Boxed::toCpp(j["integer8Data"]),
12+
::djinni::I16::Boxed::toCpp(j["integer16Data"]),
13+
::djinni::I32::Boxed::toCpp(j["integer32Data"]),
14+
::djinni::I64::Boxed::toCpp(j["integer64Data"]),
15+
::djinni::F32::Boxed::toCpp(j["float32Data"]),
16+
::djinni::F64::Boxed::toCpp(j["float64Data"]),
17+
::djinni::String::Boxed::toCpp(j["stringData"]),
18+
::djinni::Binary::Boxed::toCpp(j["binaryData"]),
19+
::djinni::Date::Boxed::toCpp(j["dateData"]),
20+
::djinni::List<::djinni::Bool>::Boxed::toCpp(j["listData"]),
21+
::djinni::Set<::djinni::Bool>::Boxed::toCpp(j["setData"]),
22+
::djinni::Map<::djinni::I8, ::djinni::Bool>::Boxed::toCpp(j["mapData"]),
23+
::djinni::Optional<std::optional, ::djinni::Bool>::Boxed::toCpp(j["optionalData"]),
24+
::djinni_generated::EnumData::Boxed::toCpp(j["enumData"])};
25+
}
26+
auto AllDatatypes::fromCpp(const CppType& c) -> JsType {
27+
em::val js = em::val::object();
28+
js.set("booleanData", ::djinni::Bool::Boxed::fromCpp(c.booleanData));
29+
js.set("integer8Data", ::djinni::I8::Boxed::fromCpp(c.integer8Data));
30+
js.set("integer16Data", ::djinni::I16::Boxed::fromCpp(c.integer16Data));
31+
js.set("integer32Data", ::djinni::I32::Boxed::fromCpp(c.integer32Data));
32+
js.set("integer64Data", ::djinni::I64::Boxed::fromCpp(c.integer64Data));
33+
js.set("float32Data", ::djinni::F32::Boxed::fromCpp(c.float32Data));
34+
js.set("float64Data", ::djinni::F64::Boxed::fromCpp(c.float64Data));
35+
js.set("stringData", ::djinni::String::Boxed::fromCpp(c.stringData));
36+
js.set("binaryData", ::djinni::Binary::Boxed::fromCpp(c.binaryData));
37+
js.set("dateData", ::djinni::Date::Boxed::fromCpp(c.dateData));
38+
js.set("listData", ::djinni::List<::djinni::Bool>::Boxed::fromCpp(c.listData));
39+
js.set("setData", ::djinni::Set<::djinni::Bool>::Boxed::fromCpp(c.setData));
40+
js.set("mapData", ::djinni::Map<::djinni::I8, ::djinni::Bool>::Boxed::fromCpp(c.mapData));
41+
js.set("optionalData", ::djinni::Optional<std::optional, ::djinni::Bool>::Boxed::fromCpp(c.optionalData));
42+
js.set("enumData", ::djinni_generated::EnumData::Boxed::fromCpp(c.enum_data));
43+
return js;
44+
}
45+
46+
} // namespace djinni_generated
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// AUTOGENERATED FILE - DO NOT MODIFY!
2+
// This file was generated by Djinni from all_datatypes.djinni
3+
4+
#pragma once
5+
6+
#include "all_datatypes.hpp"
7+
#include "djinni_wasm.hpp"
8+
9+
namespace djinni_generated {
10+
11+
struct AllDatatypes
12+
{
13+
using CppType = ::AllDatatypes;
14+
using JsType = em::val;
15+
using Boxed = AllDatatypes;
16+
17+
static CppType toCpp(const JsType& j);
18+
static JsType fromCpp(const CppType& c);
19+
};
20+
21+
} // namespace djinni_generated
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// AUTOGENERATED FILE - DO NOT MODIFY!
2+
// This file was generated by Djinni from all_datatypes.djinni
3+
4+
#include "enum_data.hpp" // my header
5+
#include <mutex>
6+
7+
namespace djinni_generated {
8+
9+
namespace {
10+
EM_JS(void, djinni_init__enum_data_consts, (), {
11+
Module.EnumData = {
12+
A : 0,
13+
B : 1,
14+
}
15+
})
16+
}
17+
18+
void EnumData::staticInitializeConstants() {
19+
static std::once_flag initOnce;
20+
std::call_once(initOnce, [] {
21+
djinni_init__enum_data_consts();
22+
});
23+
}
24+
25+
EMSCRIPTEN_BINDINGS(_enum_data) {
26+
EnumData::staticInitializeConstants();
27+
}
28+
29+
} // namespace djinni_generated
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// AUTOGENERATED FILE - DO NOT MODIFY!
2+
// This file was generated by Djinni from all_datatypes.djinni
3+
4+
#pragma once
5+
6+
#include "djinni_wasm.hpp"
7+
#include "enum_data.hpp"
8+
9+
namespace djinni_generated {
10+
11+
struct EnumData: ::djinni::WasmEnum<::EnumData> {
12+
static void staticInitializeConstants();
13+
};
14+
15+
} // namespace djinni_generated

0 commit comments

Comments
 (0)