1 module libwasm.bindings.KeyAlgorithm;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 @safe:
7 nothrow:
8 
9 struct AesKeyAlgorithm {
10   nothrow:
11   libwasm.bindings.KeyAlgorithm.KeyAlgorithm _parent;
12   alias _parent this;
13   this(Handle h) {
14     _parent = .KeyAlgorithm(h);
15   }
16   static auto create() {
17     return AesKeyAlgorithm(libwasm_add__object());
18   }
19   void length()(ushort length) {
20     Serialize_Object_VarArgCall!void(this._parent, "length", "ushort", tuple(length));
21   }
22   ushort length()() {
23     return Object_Getter__ushort(this._parent, "length");
24   }
25 }
26 struct DhKeyAlgorithm {
27   nothrow:
28   libwasm.bindings.KeyAlgorithm.KeyAlgorithm _parent;
29   alias _parent this;
30   this(Handle h) {
31     _parent = .KeyAlgorithm(h);
32   }
33   static auto create() {
34     return DhKeyAlgorithm(libwasm_add__object());
35   }
36   void prime()(scope ref Uint8Array prime) {
37     Object_Call_Handle__void(this._parent, "prime", prime.handle);
38   }
39   auto prime()() {
40     return Uint8Array(Object_Getter__Handle(this._parent, "prime"));
41   }
42   void generator()(scope ref Uint8Array generator) {
43     Object_Call_Handle__void(this._parent, "generator", generator.handle);
44   }
45   auto generator()() {
46     return Uint8Array(Object_Getter__Handle(this._parent, "generator"));
47   }
48 }
49 struct EcKeyAlgorithm {
50   nothrow:
51   libwasm.bindings.KeyAlgorithm.KeyAlgorithm _parent;
52   alias _parent this;
53   this(Handle h) {
54     _parent = .KeyAlgorithm(h);
55   }
56   static auto create() {
57     return EcKeyAlgorithm(libwasm_add__object());
58   }
59   void namedCurve()(string namedCurve) {
60     Object_Call_string__void(this._parent, "namedCurve", namedCurve);
61   }
62   string namedCurve()() {
63     return Object_Getter__string(this._parent, "namedCurve");
64   }
65 }
66 struct HmacKeyAlgorithm {
67   nothrow:
68   libwasm.bindings.KeyAlgorithm.KeyAlgorithm _parent;
69   alias _parent this;
70   this(Handle h) {
71     _parent = .KeyAlgorithm(h);
72   }
73   static auto create() {
74     return HmacKeyAlgorithm(libwasm_add__object());
75   }
76   void hash()(scope ref KeyAlgorithm hash) {
77     Object_Call_Handle__void(this._parent, "hash", hash.handle);
78   }
79   auto hash()() {
80     return KeyAlgorithm(Object_Getter__Handle(this._parent, "hash"));
81   }
82   void length()(uint length) {
83     Object_Call_uint__void(this._parent, "length", length);
84   }
85   uint length()() {
86     return Object_Getter__uint(this._parent, "length");
87   }
88 }
89 struct KeyAlgorithm {
90   nothrow:
91   JsHandle handle;
92   alias handle this;
93   this(Handle h) {
94     this.handle = JsHandle(h);
95   }
96   static auto create() {
97     return KeyAlgorithm(libwasm_add__object());
98   }
99   void name()(string name) {
100     Object_Call_string__void(this.handle, "name", name);
101   }
102   string name()() {
103     return Object_Getter__string(this.handle, "name");
104   }
105 }
106 struct RsaHashedKeyAlgorithm {
107   nothrow:
108   libwasm.bindings.KeyAlgorithm.KeyAlgorithm _parent;
109   alias _parent this;
110   this(Handle h) {
111     _parent = .KeyAlgorithm(h);
112   }
113   static auto create() {
114     return RsaHashedKeyAlgorithm(libwasm_add__object());
115   }
116   void modulusLength()(ushort modulusLength) {
117     Serialize_Object_VarArgCall!void(this._parent, "modulusLength", "ushort", tuple(modulusLength));
118   }
119   ushort modulusLength()() {
120     return Object_Getter__ushort(this._parent, "modulusLength");
121   }
122   void publicExponent()(scope ref Uint8Array publicExponent) {
123     Object_Call_Handle__void(this._parent, "publicExponent", publicExponent.handle);
124   }
125   auto publicExponent()() {
126     return Uint8Array(Object_Getter__Handle(this._parent, "publicExponent"));
127   }
128   void hash()(scope ref KeyAlgorithm hash) {
129     Object_Call_Handle__void(this._parent, "hash", hash.handle);
130   }
131   auto hash()() {
132     return KeyAlgorithm(Object_Getter__Handle(this._parent, "hash"));
133   }
134 }
135 
136