From d913ec168574f889ba3c59d88f44f60c5b4d6e9b Mon Sep 17 00:00:00 2001 From: Rostyslav Dzinko Date: Fri, 17 Jun 2016 14:08:09 +0300 Subject: [PATCH] Implemented `in` operator support for JsonNode objects --- lib/pure/json.nim | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/pure/json.nim b/lib/pure/json.nim index e99a351a18..b4eecdf88e 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`