summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorRostyslav Dzinko <rostislav.dzinko@gmail.com>2016-06-17 14:08:09 +0300
committerRostyslav Dzinko <rostislav.dzinko@gmail.com>2016-06-17 14:08:54 +0300
commitd913ec168574f889ba3c59d88f44f60c5b4d6e9b (patch)
tree3458cf6ee152421e62577ccca255f787ec3c2368
parent9837b12ee6063ccbee20d50aef21d1916b5af07d (diff)
downloadNim-d913ec168574f889ba3c59d88f44f60c5b4d6e9b.tar.gz
Implemented `in` operator support for JsonNode objects
-rw-r--r--lib/pure/json.nim10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/pure/json.nim b/lib/pure/json.nim
index e99a351a1..b4eecdf88 100644
--- a/lib/pure/json.nim
+++ b/lib/pure/json.nim
@@ -848,6 +848,16 @@ proc hasKey*(node: JsonNode, key: string): bool =
   assert(node.kind == JObject)
   result = node.fields.hasKey(key)
 
+proc contains*(node: JsonNode, key: string): bool =
+  ## Checks if `key` exists in `node`.
+  assert(node.kind == JObject)
+  node.fields.hasKey(key)
+
+proc contains*(node: JsonNode, val: JsonNode): bool =
+  ## Checks if `val` exists in array `node`.
+  assert(node.kind == JArray)
+  find(node.elems, val) >= 0
+
 proc existsKey*(node: JsonNode, key: string): bool {.deprecated.} = node.hasKey(key)
   ## Deprecated for `hasKey`