validateOrThrowAsync method

Future<void> validateOrThrowAsync(
  1. String typeName,
  2. IPLDNode node, {
  3. IPLDLinkResolver? linkResolver,
})

As validateOrThrow, but resolves link targets through linkResolver (or the constructor-supplied resolver) so expectedType clauses are enforced.

Implementation

Future<void> validateOrThrowAsync(
  String typeName,
  IPLDNode node, {
  IPLDLinkResolver? linkResolver,
}) async {
  final result = await checkAsync(typeName, node, linkResolver: linkResolver);
  if (!result.isValid) {
    throw IPLDSchemaError(
      'Node does not match type "$typeName": ${result.errors.first}',
    );
  }
}