module libwasm.bindings.CacheStorage; import libwasm.types; import memutils.ct: tuple; import libwasm.bindings.Cache; import libwasm.bindings.Request; import libwasm.bindings.Response; @safe: nothrow: struct CacheStorage { nothrow: JsHandle handle; alias handle this; this(Handle h) { this.handle = JsHandle(h); } auto match()(scope ref RequestInfo request, scope ref CacheQueryOptions options) { 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))); } auto match()(scope ref RequestInfo request) { 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))))); } auto has()(string cacheName) { return JsPromise!(bool)(Object_Call_string__Handle(this.handle, "has", cacheName)); } auto open()(string cacheName) { return JsPromise!(Cache)(Object_Call_string__Handle(this.handle, "open", cacheName)); } auto delete_()(string cacheName) { return JsPromise!(bool)(Object_Call_string__Handle(this.handle, "delete", cacheName)); } auto keys()() { return JsPromise!(Sequence!(string))(Object_Getter__Handle(this.handle, "keys")); } } enum CacheStorageNamespace { content, chrome }