code: def jsonLogic(tests, data=None):
      
      # You've recursed to a primitive, stop!
      if tests is None or not isinstance(tests, dict):
          return tests
  
      data = data or {}
  
      operator = list(tests.keys())[0]
      values = tests[operator]
  
      # Easy syntax for unary operators, like {"var": "x"} instead of strict
      # {"var": ["x"]}
      if not isinstance(values, list) and not isinstance(values, tuple):
          values = [values]
  
      # Recursion!
      values = [jsonLogic(val, data) for val in values]
  
      if operator == 'var':
          return get_var(data, *values)
      if operator == 'missing':
          return missing(data, *values)
      if operator == 'missing_some':
          return missing_some(data, *values)
  
      if operator not in operations:
          raise ValueError("Unrecognized operation %s" % operator)
  
      return operations[operator](*values)
docs: Executes the json-logic with given data.