1 module libwasm.bindings.DocumentL10n;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.Element;
7 import libwasm.bindings.Node;
8 
9 @safe:
10 nothrow:
11 
12 struct DocumentL10n {
13   nothrow:
14   JsHandle handle;
15   alias handle this;
16   this(Handle h) {
17     this.handle = JsHandle(h);
18   }
19   auto formatValue()(string aId, scope ref JsObject aArgs) {
20     return JsPromise!(string)(Serialize_Object_VarArgCall!Handle(this.handle, "formatValue", "string;Handle", tuple(aId, cast(Handle)aArgs.handle)));
21   }
22   auto formatValue()(string aId) {
23     return JsPromise!(string)(Object_Call_string__Handle(this.handle, "formatValue", aId));
24   }
25   auto formatValues()(scope ref Sequence!(L10nKey) aKeys) {
26     return JsPromise!(Sequence!(string))(Object_Call_Handle__Handle(this.handle, "formatValues", aKeys.handle));
27   }
28   auto formatMessages()(scope ref Sequence!(L10nKey) aKeys) {
29     return JsPromise!(Sequence!(string))(Object_Call_Handle__Handle(this.handle, "formatMessages", aKeys.handle));
30   }
31   void setAttributes()(scope ref Element aElement, string aId, scope ref JsObject aArgs) {
32     Serialize_Object_VarArgCall!void(this.handle, "setAttributes", "Handle;string;Handle", tuple(cast(Handle)aElement._parent, aId, cast(Handle)aArgs.handle));
33   }
34   void setAttributes()(scope ref Element aElement, string aId) {
35     Serialize_Object_VarArgCall!void(this.handle, "setAttributes", "Handle;string", tuple(cast(Handle)aElement._parent, aId));
36   }
37   auto getAttributes()(scope ref Element aElement) {
38     return L10nKey(Object_Call_Handle__Handle(this.handle, "getAttributes", aElement._parent));
39   }
40   auto translateFragment()(scope ref Node aNode) {
41     return JsPromise!(void)(Object_Call_Handle__Handle(this.handle, "translateFragment", aNode._parent));
42   }
43   auto translateElements()(scope ref Sequence!(Element) aElements) {
44     return JsPromise!(void)(Object_Call_Handle__Handle(this.handle, "translateElements", aElements.handle));
45   }
46   auto ready()() {
47     return JsPromise!(Any)(Object_Getter__Handle(this.handle, "ready"));
48   }
49 }
50 struct L10nKey {
51   nothrow:
52   JsHandle handle;
53   alias handle this;
54   this(Handle h) {
55     this.handle = JsHandle(h);
56   }
57   static auto create() {
58     return L10nKey(libwasm_add__object());
59   }
60   void id()(string id) {
61     Object_Call_string__void(this.handle, "id", id);
62   }
63   string id()() {
64     return Object_Getter__string(this.handle, "id");
65   }
66   void args(T0)(scope auto ref Optional!(T0) args) if (isTOrPointer!(T0, JsObject)) {
67     Serialize_Object_VarArgCall!void(this.handle, "args", "Optional!Handle", tuple(!args.empty, cast(Handle)args.front.handle));
68   }
69   auto args()() {
70     return recastOpt!(JsObject)(Object_Getter__OptionalHandle(this.handle, "args"));
71   }
72 }
73 
74