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