parseJson<T> method

ParseResult<T> parseJson<T>(
  1. String source,
  2. Validator<T> schema
)

Decodes source, applies security checks, then validates with schema.

Implementation

ParseResult<T> parseJson<T>(String source, Validator<T> schema) {
  dynamic decoded;
  try {
    decoded = jsonDecode(source);
  } on FormatException catch (e) {
    return FlodFailure<T>([
      FlodError(
        path: const FlodPath.empty(),
        code: FlodErrorCodes.guardInvalidJson,
        params: {'message': e.message},
        value: null,
      ),
    ]);
  }

  return guard(decoded, schema);
}