Map<String, dynamic> asMap() { return { "description": description, "schema": schema.asMap(), "required": required }; }