parseSkinContractJson function

SkinContract parseSkinContractJson(
  1. String source
)

Parses contract JSON text into a SkinContract.

Implementation

SkinContract parseSkinContractJson(String source) {
  final dynamic decoded;
  try {
    decoded = jsonDecode(source);
  } on FormatException catch (error) {
    throw SkinContractParseException(
      'skin contract: invalid JSON: ${error.message}',
    );
  }
  if (decoded is! Map<String, dynamic>) {
    throw SkinContractParseException(
      'skin contract: top level must be a JSON object',
    );
  }
  return parseSkinContract(decoded);
}