summaryrefslogtreecommitdiff
path: root/encoding/json/path
diff options
context:
space:
mode:
Diffstat (limited to 'encoding/json/path')
-rw-r--r--encoding/json/path/path.ha26
1 files changed, 26 insertions, 0 deletions
diff --git a/encoding/json/path/path.ha b/encoding/json/path/path.ha
new file mode 100644
index 0000000..819e9f5
--- /dev/null
+++ b/encoding/json/path/path.ha
@@ -0,0 +1,26 @@
+// A compiled JSONPath query.
+export type query = []segment;
+
+export type segment_type = enum {
+ CHILD,
+ DESCENDANT,
+};
+
+export type segment = struct {
+ stype: segment_type,
+ selector: selector,
+};
+
+export type selector = (str | wild | index | slice | filter);
+
+export type wild = void;
+
+export type index = int;
+
+export type slice = struct {
+ start: (int | void),
+ end: (int | void),
+ step: (int | void),
+};
+
+export type filter = void; // TODO