validate method

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

Validates an IPLD node against the schema type.

Returns true when node matches the type named typeName. Throws IPLDSchemaError when the schema itself is malformed (unknown type, missing kind, bad references). Use check for per-field error paths, or validateOrThrow to raise on mismatched data.

When linkResolver (or the resolver given to the constructor) is available, link expectedType clauses are enforced by loading each link target; otherwise links are kind-checked only.

Implementation

Future<bool> validate(
  String typeName,
  IPLDNode node, {
  IPLDLinkResolver? linkResolver,
}) async {
  final resolver = linkResolver ?? _linkResolver;
  if (resolver == null) return check(typeName, node).isValid;
  return (await checkAsync(typeName, node, linkResolver: resolver)).isValid;
}