{
  "email": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "contains": {
        "expected_type": "string"
      },
      "does_not_contain": {
        "expected_type": "string"
      },
      "starts_with": {
        "expected_type": "string"
      },
      "ends_with": {
        "expected_type": "string"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "matches_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "does_not_match_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "url": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "contains": {
        "expected_type": "string"
      },
      "does_not_contain": {
        "expected_type": "string"
      },
      "starts_with": {
        "expected_type": "string"
      },
      "ends_with": {
        "expected_type": "string"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "matches_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "does_not_match_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "phone_number": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "contains": {
        "expected_type": "string"
      },
      "does_not_contain": {
        "expected_type": "string"
      },
      "starts_with": {
        "expected_type": "string"
      },
      "ends_with": {
        "expected_type": "string"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "matches_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "does_not_match_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "text": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "contains": {
        "expected_type": "string"
      },
      "does_not_contain": {
        "expected_type": "string"
      },
      "starts_with": {
        "expected_type": "string"
      },
      "ends_with": {
        "expected_type": "string"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "matches_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "does_not_match_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "rich_text": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "contains": {
        "expected_type": "string"
      },
      "does_not_contain": {
        "expected_type": "string"
      },
      "starts_with": {
        "expected_type": "string"
      },
      "ends_with": {
        "expected_type": "string"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "matches_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "does_not_match_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "matrix": {
    "comparators": {
      "equals": {
        "expected_type": "object",
        "format": {
          "type": "object"
        }
      },
      "does_not_equal": {
        "expected_type": "object",
        "format": {
          "type":"object"
        }
      },
      "contains": {
        "expected_type": "object",
        "format": {
          "type":"object"
        }
      },
      "does_not_contain": {
        "expected_type": "object",
        "format": {
          "type":"object"
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "number": {
    "comparators": {
      "equals": {
        "expected_type": "number"
      },
      "does_not_equal": {
        "expected_type": "number"
      },
      "greater_than": {
        "expected_type": "number"
      },
      "less_than": {
        "expected_type": "number"
      },
      "greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "less_than_or_equal_to": {
        "expected_type": "number"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "rating": {
    "comparators": {
      "equals": {
        "expected_type": "number"
      },
      "does_not_equal": {
        "expected_type": "number"
      },
      "greater_than": {
        "expected_type": "number"
      },
      "less_than": {
        "expected_type": "number"
      },
      "greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "less_than_or_equal_to": {
        "expected_type": "number"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      }
    }
  },
  "scale": {
    "comparators": {
      "equals": {
        "expected_type": "number"
      },
      "does_not_equal": {
        "expected_type": "number"
      },
      "greater_than": {
        "expected_type": "number"
      },
      "less_than": {
        "expected_type": "number"
      },
      "greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "less_than_or_equal_to": {
        "expected_type": "number"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      }
    }
  },
  "slider": {
    "comparators": {
      "equals": {
        "expected_type": "number"
      },
      "does_not_equal": {
        "expected_type": "number"
      },
      "greater_than": {
        "expected_type": "number"
      },
      "less_than": {
        "expected_type": "number"
      },
      "greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "less_than_or_equal_to": {
        "expected_type": "number"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "checkbox": {
    "comparators": {
      "is_checked": {},
      "is_not_checked": {}
    }
  },
  "select": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "multi_select": {
    "comparators": {
      "contains": {
        "expected_type": ["object", "string"],
        "format": {
          "type": "uuid"
        }
      },
      "does_not_contain": {
        "expected_type": ["object", "string"],
        "format": {
          "type": "uuid"
        }
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "date": {
    "comparators": {
      "equals": {
        "expected_type": "string",
        "format": {
          "type": "date"
        }
      },
      "before": {
        "expected_type": "string",
        "format": {
          "type": "date"
        }
      },
      "after": {
        "expected_type": "string",
        "format": {
          "type": "date"
        }
      },
      "on_or_before": {
        "expected_type": "string",
        "format": {
          "type": "date"
        }
      },
      "on_or_after": {
        "expected_type": "string",
        "format": {
          "type": "date"
        }
      },
      "at_least_x_days_ago": {
        "expected_type": "string",
        "format": {
          "type": "number"
        }
      },
      "at_least_x_days_from_now": {
        "expected_type": "string",
        "format": {
          "type": "number"
        }
      },
      "within_past_x_days": {
        "expected_type": "string",
        "format": {
          "type": "number"
        }
      },
      "within_next_x_days": {
        "expected_type": "string",
        "format": {
          "type": "number"
        }
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "matches_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "does_not_match_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "past_week": {
        "expected_type": "object",
        "format": {
          "type": "empty",
          "values": "{}"
        }
      },
      "past_month": {
        "expected_type": "object",
        "format": {
          "type": "empty",
          "values": "{}"
        }
      },
      "past_year": {
        "expected_type": "object",
        "format": {
          "type": "empty",
          "values": "{}"
        }
      },
      "next_week": {
        "expected_type": "object",
        "format": {
          "type": "empty",
          "values": "{}"
        }
      },
      "next_month": {
        "expected_type": "object",
        "format": {
          "type": "empty",
          "values": "{}"
        }
      },
      "next_year": {
        "expected_type": "object",
        "format": {
          "type": "empty",
          "values": "{}"
        }
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "files": {
    "comparators": {
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      }
    }
  },
  "barcode": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "contains": {
        "expected_type": "string"
      },
      "does_not_contain": {
        "expected_type": "string"
      },
      "starts_with": {
        "expected_type": "string"
      },
      "ends_with": {
        "expected_type": "string"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [
            true
          ]
        }
      },
      "matches_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "does_not_match_regex": {
        "expected_type": "string",
        "format": {
          "type": "regex"
        }
      },
      "content_length_equals": {
        "expected_type": "number"
      },
      "content_length_does_not_equal": {
        "expected_type": "number"
      },
      "content_length_greater_than": {
        "expected_type": "number"
      },
      "content_length_greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "content_length_less_than": {
        "expected_type": "number"
      },
      "content_length_less_than_or_equal_to": {
        "expected_type": "number"
      },
      "exists_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      },
      "does_not_exist_in_submissions": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        },
        "custom_validation_only": true
      }
    }
  },
  "payment": {
    "comparators": {
      "paid": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        }
      },
      "not_paid": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        }
      }
    }
  },
  "computed": {
    "comparators": {
      "equals": {
        "expected_type": "string"
      },
      "does_not_equal": {
        "expected_type": "string"
      },
      "contains": {
        "expected_type": "string"
      },
      "does_not_contain": {
        "expected_type": "string"
      },
      "greater_than": {
        "expected_type": "number"
      },
      "less_than": {
        "expected_type": "number"
      },
      "greater_than_or_equal_to": {
        "expected_type": "number"
      },
      "less_than_or_equal_to": {
        "expected_type": "number"
      },
      "is_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        }
      },
      "is_not_empty": {
        "expected_type": "boolean",
        "format": {
          "type": "enum",
          "values": [true]
        }
      }
    }
  }
}
