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