ExprLike.fromJson constructor

ExprLike.fromJson(
  1. Map<String, Object?> json
)

Implementation

factory ExprLike.fromJson(Map<String, Object?> json) {
  CedarPattern parsePattern(Object? raw) {
    if (raw is String) {
      return CedarPattern.parse(raw);
    }
    if (raw is List) {
      final components = List<Object?>.from(raw);
      return CedarPattern.from(components, jsonForm: components);
    }
    throw FormatException('Invalid pattern value: $raw');
  }

  return ExprLike(
    left: Expr.fromJson(json['left'] as Map<String, Object?>),
    pattern: parsePattern(json['pattern']),
  );
}