1 module libwasm.bindings.Cache; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.Request; 7 import libwasm.bindings.Response; 8 9 @safe: 10 nothrow: 11 12 struct Cache { 13 nothrow: 14 JsHandle handle; 15 alias handle this; 16 this(Handle h) { 17 this.handle = JsHandle(h); 18 } 19 auto match()(scope ref RequestInfo request, scope ref CacheQueryOptions options) { 20 return JsPromise!(Response)(Serialize_Object_VarArgCall!Handle(this.handle, "match", "SumType!(Handle,string);Handle", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request)), cast(Handle)options.handle))); 21 } 22 auto match()(scope ref RequestInfo request) { 23 return JsPromise!(Response)(Serialize_Object_VarArgCall!Handle(this.handle, "match", "SumType!(Handle,string)", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request))))); 24 } 25 auto matchAll()(scope ref RequestInfo request, scope ref CacheQueryOptions options) { 26 return JsPromise!(Sequence!(Response))(Serialize_Object_VarArgCall!Handle(this.handle, "matchAll", "SumType!(Handle,string);Handle", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request)), cast(Handle)options.handle))); 27 } 28 auto matchAll()(scope ref RequestInfo request) { 29 return JsPromise!(Sequence!(Response))(Serialize_Object_VarArgCall!Handle(this.handle, "matchAll", "SumType!(Handle,string)", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request))))); 30 } 31 auto matchAll()() { 32 return JsPromise!(Sequence!(Response))(Object_Getter__Handle(this.handle, "matchAll")); 33 } 34 auto add()(scope ref RequestInfo request) { 35 return JsPromise!(void)(Serialize_Object_VarArgCall!Handle(this.handle, "add", "SumType!(Handle,string)", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request))))); 36 } 37 auto addAll()(scope ref Sequence!(RequestInfo) requests) { 38 return JsPromise!(void)(Object_Call_Handle__Handle(this.handle, "addAll", requests.handle)); 39 } 40 auto put()(scope ref RequestInfo request, scope ref Response response) { 41 return JsPromise!(void)(Serialize_Object_VarArgCall!Handle(this.handle, "put", "SumType!(Handle,string);Handle", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request)), cast(Handle)response.handle))); 42 } 43 auto delete_()(scope ref RequestInfo request, scope ref CacheQueryOptions options) { 44 return JsPromise!(bool)(Serialize_Object_VarArgCall!Handle(this.handle, "delete", "SumType!(Handle,string);Handle", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request)), cast(Handle)options.handle))); 45 } 46 auto delete_()(scope ref RequestInfo request) { 47 return JsPromise!(bool)(Serialize_Object_VarArgCall!Handle(this.handle, "delete", "SumType!(Handle,string)", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request))))); 48 } 49 auto keys()(scope ref RequestInfo request, scope ref CacheQueryOptions options) { 50 return JsPromise!(Sequence!(Request))(Serialize_Object_VarArgCall!Handle(this.handle, "keys", "SumType!(Handle,string);Handle", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request)), cast(Handle)options.handle))); 51 } 52 auto keys()(scope ref RequestInfo request) { 53 return JsPromise!(Sequence!(Request))(Serialize_Object_VarArgCall!Handle(this.handle, "keys", "SumType!(Handle,string)", tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => 0),((string v) => 1))(request),tuple(libwasm.sumtype.match!(((ref request.Types[0] v) => cast(Handle)v.handle),((string v) => Handle.init))(request),libwasm.sumtype.match!(((ref request.Types[0] v) => string.init),((string v) => v))(request))))); 54 } 55 auto keys()() { 56 return JsPromise!(Sequence!(Request))(Object_Getter__Handle(this.handle, "keys")); 57 } 58 } 59 struct CacheBatchOperation { 60 nothrow: 61 JsHandle handle; 62 alias handle this; 63 this(Handle h) { 64 this.handle = JsHandle(h); 65 } 66 static auto create() { 67 return CacheBatchOperation(libwasm_add__object()); 68 } 69 void type()(string type) { 70 Object_Call_string__void(this.handle, "type", type); 71 } 72 string type()() { 73 return Object_Getter__string(this.handle, "type"); 74 } 75 void request()(scope ref Request request) { 76 Object_Call_Handle__void(this.handle, "request", request.handle); 77 } 78 auto request()() { 79 return Request(Object_Getter__Handle(this.handle, "request")); 80 } 81 void response()(scope ref Response response) { 82 Object_Call_Handle__void(this.handle, "response", response.handle); 83 } 84 auto response()() { 85 return Response(Object_Getter__Handle(this.handle, "response")); 86 } 87 void options()(scope ref CacheQueryOptions options) { 88 Object_Call_Handle__void(this.handle, "options", options.handle); 89 } 90 auto options()() { 91 return CacheQueryOptions(Object_Getter__Handle(this.handle, "options")); 92 } 93 } 94 struct CacheQueryOptions { 95 nothrow: 96 JsHandle handle; 97 alias handle this; 98 this(Handle h) { 99 this.handle = JsHandle(h); 100 } 101 static auto create() { 102 return CacheQueryOptions(libwasm_add__object()); 103 } 104 void ignoreSearch()(bool ignoreSearch) { 105 Object_Call_bool__void(this.handle, "ignoreSearch", ignoreSearch); 106 } 107 bool ignoreSearch()() { 108 return Object_Getter__bool(this.handle, "ignoreSearch"); 109 } 110 void ignoreMethod()(bool ignoreMethod) { 111 Object_Call_bool__void(this.handle, "ignoreMethod", ignoreMethod); 112 } 113 bool ignoreMethod()() { 114 return Object_Getter__bool(this.handle, "ignoreMethod"); 115 } 116 void ignoreVary()(bool ignoreVary) { 117 Object_Call_bool__void(this.handle, "ignoreVary", ignoreVary); 118 } 119 bool ignoreVary()() { 120 return Object_Getter__bool(this.handle, "ignoreVary"); 121 } 122 void cacheName()(string cacheName) { 123 Object_Call_string__void(this.handle, "cacheName", cacheName); 124 } 125 string cacheName()() { 126 return Object_Getter__string(this.handle, "cacheName"); 127 } 128 } 129 130