Skip to main content
Module

x/abstruct/mod.ts>BasicValidator

Abstract structure for JavaScript data validation
Go to Latest
class BasicValidator
implements Validator<In, RIn>
Abstract
import { BasicValidator } from "https://deno.land/x/abstruct@1.0.0-beta.12/mod.ts";

Base validator.

Examples

Example 1

import {
  BasicValidator,
} from "https://deno.land/x/abstruct@$VERSION/validators/utils.ts";

class StringItemValidator
  extends BasicValidator<Iterable<unknown>, Iterable<string>> {
  *validate(input: Iterable<unknown>) {
    let i = 0;

    for (const item of input) {
      if (typeof item !== "string") {
        yield {
          message: `should be string, actual ${typeof input}`,
          instancePath: [i++],
        };
      }
    }
  }
}

Type Parameters

optional
In = unknown
optional
RIn extends In = In

Methods

is(input: In): input is RIn
abstract
validate(input: In): Iterable<ValidationFailure>