1 module libwasm.bindings.XPathResult;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.Node;
7 
8 @safe:
9 nothrow:
10 
11 struct XPathResult {
12   nothrow:
13   JsHandle handle;
14   alias handle this;
15   this(Handle h) {
16     this.handle = JsHandle(h);
17   }
18   enum ushort ANY_TYPE = 0;
19   enum ushort NUMBER_TYPE = 1;
20   enum ushort STRING_TYPE = 2;
21   enum ushort BOOLEAN_TYPE = 3;
22   enum ushort UNORDERED_NODE_ITERATOR_TYPE = 4;
23   enum ushort ORDERED_NODE_ITERATOR_TYPE = 5;
24   enum ushort UNORDERED_NODE_SNAPSHOT_TYPE = 6;
25   enum ushort ORDERED_NODE_SNAPSHOT_TYPE = 7;
26   enum ushort ANY_UNORDERED_NODE_TYPE = 8;
27   enum ushort FIRST_ORDERED_NODE_TYPE = 9;
28   ushort resultType()() {
29     return Object_Getter__ushort(this.handle, "resultType");
30   }
31   double numberValue()() {
32     return Object_Getter__double(this.handle, "numberValue");
33   }
34   string stringValue()() {
35     return Object_Getter__string(this.handle, "stringValue");
36   }
37   bool booleanValue()() {
38     return Object_Getter__bool(this.handle, "booleanValue");
39   }
40   auto singleNodeValue()() {
41     return recastOpt!(Node)(Object_Getter__OptionalHandle(this.handle, "singleNodeValue"));
42   }
43   bool invalidIteratorState()() {
44     return Object_Getter__bool(this.handle, "invalidIteratorState");
45   }
46   uint snapshotLength()() {
47     return Object_Getter__uint(this.handle, "snapshotLength");
48   }
49   auto iterateNext()() {
50     return recastOpt!(Node)(Object_Getter__OptionalHandle(this.handle, "iterateNext"));
51   }
52   auto snapshotItem()(uint index) {
53     return recastOpt!(Node)(Object_Call_uint__OptionalHandle(this.handle, "snapshotItem", index));
54   }
55 }
56 
57