1 module libwasm.bindings.MIDIInputMap;
2 
3 import libwasm.types;
4 
5 import memutils.ct : tuple;
6 
7 @safe:
8 nothrow:
9 
10 struct MIDIInputMap
11 {
12 nothrow:
13   JsHandle handle;
14   alias handle this;
15   this(Handle h)
16   {
17     this.handle = JsHandle(h);
18   }
19 
20   uint size()()
21   {
22     return Maplike_string_Handle_size(this.handle);
23   }
24 
25   void clear()()
26   {
27     Maplike_string_Handle_clear(this.handle);
28   }
29 
30   void delete_()(string key)
31   {
32     Maplike_string_Handle_delete(this.handle, key);
33   }
34 
35   Iterator!(ArrayPair!(string, MIDIInput)) entries()()
36   {
37     return Iterator!(ArrayPair!(string, MIDIInput))(Maplike_string_Handle_entries(this.handle));
38   }
39 
40   extern (C) void forEach()(void delegate(string, Handle, Handle) callback)
41   {
42     Maplike_string_Handle_forEach(this.handle, callback);
43   }
44 
45   MIDIInput get()(string key)
46   {
47     return MIDIInput(Maplike_string_Handle_get(this.handle, key));
48   }
49 
50   bool has()(string key)
51   {
52     return Maplike_string_Handle_has(this.handle, key);
53   }
54 
55   Iterator!(string) keys()()
56   {
57     return Iterator!(string)(Maplike_string_Handle_keys(this.handle));
58   }
59 
60   void set()(string key, scope ref MIDIInput value)
61   {
62     Maplike_string_Handle_set(this.handle, key, value.handle);
63   }
64 
65   Iterator!(MIDIInput) values()()
66   {
67     return Iterator!(MIDIInput)(Maplike_string_Handle_values(this.handle));
68   }
69 }
70 
71 extern (C) uint Maplike_string_Handle_size(Handle);
72 extern (C) void Maplike_string_Handle_clear(Handle);
73 extern (C) void Maplike_string_Handle_delete(Handle, string key);
74 extern (C) Handle Maplike_string_Handle_entries(Handle);
75 extern (C) void Maplike_string_Handle_forEach(Handle, void delegate(string, Handle, Handle));
76 extern (C) MIDIInput Maplike_string_Handle_get(Handle, string);
77 extern (C) bool Maplike_string_Handle_has(Handle, string);
78 extern (C) Handle Maplike_string_Handle_keys(Handle);
79 extern (C) void Maplike_string_Handle_set(Handle, string key, Handle value);
80 extern (C) Handle Maplike_string_Handle_values(Handle);