1 module libwasm.bindings.History;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 @safe:
7 nothrow:
8 
9 struct History {
10   nothrow:
11   JsHandle handle;
12   alias handle this;
13   this(Handle h) {
14     this.handle = JsHandle(h);
15   }
16   uint length()() {
17     return Object_Getter__uint(this.handle, "length");
18   }
19   void scrollRestoration()(ScrollRestoration scrollRestoration) {
20     Object_Call_int__void(this.handle, "scrollRestoration", scrollRestoration);
21   }
22   ScrollRestoration scrollRestoration()() {
23     return Object_Getter__int(this.handle, "scrollRestoration");
24   }
25   auto state()() {
26     return Any(Object_Getter__Handle(this.handle, "state"));
27   }
28   void go()(int delta /* = 0 */) {
29     Object_Call_int__void(this.handle, "go", delta);
30   }
31   void go()() {
32     Object_Call__void(this.handle, "go");
33   }
34   void back()() {
35     Object_Call__void(this.handle, "back");
36   }
37   void forward()() {
38     Object_Call__void(this.handle, "forward");
39   }
40   void pushState(T0, T2)(scope auto ref T0 data, string title, scope auto ref Optional!(T2) url /* = no!(string) */) if (isTOrPointer!(T2, string)) {
41     // Any
42     Handle _handle_data = getOrCreateHandle(data);
43     Serialize_Object_VarArgCall!void(this.handle, "pushState", "Handle;string;Optional!(string)", tuple(_handle_data, title, !url.empty, url.front));
44     dropHandle!(T0)(_handle_data);
45   }
46   void pushState(T0)(scope auto ref T0 data, string title) {
47     // Any
48     Handle _handle_data = getOrCreateHandle(data);
49     Serialize_Object_VarArgCall!void(this.handle, "pushState", "Handle;string", tuple(_handle_data, title));
50     dropHandle!(T0)(_handle_data);
51   }
52   void replaceState(T0, T2)(scope auto ref T0 data, string title, scope auto ref Optional!(T2) url /* = no!(string) */) if (isTOrPointer!(T2, string)) {
53     // Any
54     Handle _handle_data = getOrCreateHandle(data);
55     Serialize_Object_VarArgCall!void(this.handle, "replaceState", "Handle;string;Optional!(string)", tuple(_handle_data, title, !url.empty, url.front));
56     dropHandle!(T0)(_handle_data);
57   }
58   void replaceState(T0)(scope auto ref T0 data, string title) {
59     // Any
60     Handle _handle_data = getOrCreateHandle(data);
61     Serialize_Object_VarArgCall!void(this.handle, "replaceState", "Handle;string", tuple(_handle_data, title));
62     dropHandle!(T0)(_handle_data);
63   }
64 }
65 enum ScrollRestoration {
66   auto_,
67   manual
68 }
69 
70