import { matches } from "https://deno.land/x/embassyd_sdk@v0.3.4.0.0-alpha2/lib/esm/dependencies.js";
const { matches } = matches;
Given an object, we want to make sure the key exists and that the value on the key matches the parser
Static Methods
Methods
This is the like the unsafe parser, it assumes the happy path and will throw and return a failed promise during failure.
Use this when you want to combine two parsers into one. This will make sure that both parsers will run against the same value.
There are times that we would like to bring in a value that we know as null or undefined and want it to go to a default value
This is another type of parsing that will return a value that is a discriminated union of the success and failure cases. https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-func.html#discriminated-unions
When we want to get the error message from the input, to know what is wrong
Use this that we want to do transformations after the value is valid and parsed. A use case would be parsing a string, making sure it can be parsed to a number, and then convert to a number
Use this when we want to give the parser a name, and we want to be able to use the name in the error messages.
When we want to make sure that we handle the null later on in a monoid fashion, and this ensures we deal with the value https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#optional-chaining
Use this to combine parsers into one. This will make sure that one or the other parsers will run against the value.
Use this when you want to decide what happens on the succes and failure cases of parsing
We want to refine to a new type given an original type, like isEven, or casting to a more specific type
This is the most useful parser, it assumes the happy path and will throw an error if it fails.
Return the unwrapped parser/ IParser
We want to test value with a test eg isEven
Static Methods
This is a constructor helper that can use a predicate tester in the form of a guard function, and will return a parser that will only parse if the predicate returns true. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types
Trying to convert the parser into a string representation
Methods
This is the like the unsafe parser, it assumes the happy path and will throw and return a failed promise during failure.
Use this when you want to combine two parsers into one. This will make sure that both parsers will run against the same value.
There are times that we would like to bring in a value that we know as null or undefined and want it to go to a default value
This is another type of parsing that will return a value that is a discriminated union of the success and failure cases. https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-func.html#discriminated-unions
When we want to get the error message from the input, to know what is wrong
Use this that we want to do transformations after the value is valid and parsed. A use case would be parsing a string, making sure it can be parsed to a number, and then convert to a number
Use this when we want to give the parser a name, and we want to be able to use the name in the error messages.
When we want to make sure that we handle the null later on in a monoid fashion, and this ensures we deal with the value https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#optional-chaining
Use this to combine parsers into one. This will make sure that one or the other parsers will run against the value.
Use this when you want to decide what happens on the succes and failure cases of parsing
We want to refine to a new type given an original type, like isEven, or casting to a more specific type
This is the most useful parser, it assumes the happy path and will throw an error if it fails.
Return the unwrapped parser/ IParser
We want to test value with a test eg isEven
Static Methods
This is a constructor helper that can use a predicate tester in the form of a guard function, and will return a parser that will only parse if the predicate returns true. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types
Trying to convert the parser into a string representation
import { matches } from "https://deno.land/x/embassyd_sdk@v0.3.4.0.0-alpha2/lib/esm/dependencies.js";
const { matches } = matches;
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
Use: matches('a value').when(matches.isNumber, (aNumber) => aNumber + 4).defaultTo('fallback value')
import { matches } from "https://deno.land/x/embassyd_sdk@v0.3.4.0.0-alpha2/lib/esm/dependencies.js";
const { matches } = matches;
We would like to validate that all of the array is of the same type