Skip to main content
Go to Latest
namespace matches
import { matches } from "https://deno.land/x/embassyd_sdk@v0.3.3.0.5/mod.ts";

Classes

Given an object, we want to make sure the key exists and that the value on the key matches the parser Note: This will mutate the value sent through

A Parser is usually a function that takes a value and returns a Parsed value. For this class we have that as our main reason but we want to be able to have other methods including testing and showing text representations.

Given an object, we want to make sure the key exists and that the value on the key matches the parser

A Parser is usually a function that takes a value and returns a Parsed value. For this class we have that as our main reason but we want to be able to have other methods including testing and showing text representations.

Variables

Want to be able to bring in the declarative nature that a functional programming language feature of the pattern matching and the switch statement. With the destructors the only thing left was to find the correct structure then move move forward. Using a structure in chainable fashion allows for a syntax that works with typescript while looking similar to matches statements in other languages

Want to be able to bring in the declarative nature that a functional programming language feature of the pattern matching and the switch statement. With the destructors the only thing left was to find the correct structure then move move forward. Using a structure in chainable fashion allows for a syntax that works with typescript while looking similar to matches statements in other languages

Good for duck typing an object, with optional values

Functions

We would like to validate that all of the array is of the same type

Must pass the shape that we expect since typescript as of this point can't infer with recursive like structures like this.

Intersection is a good tool to make sure that the validated value is in the intersection of all the validators passed in. Basically an and operator for validators

Create a custom type guard

Must pass the shape that we expect since typescript as of this point can't infer with recursive functions like this.

Tries and run the stringify, if that fails just return the toString

Union is a good tool to make sure that the validated value is in the union of all the validators passed in. Basically an or operator for validators.