@didtools/siwx
Version:
Typescript library for Sign-In With X
15 lines (14 loc) • 575 B
JavaScript
import * as assert from 'uvu/assert';
import { isLeft, isRight } from 'codeco';
import { StringTape } from 'codeco/linear';
export function assertParse(actual, combinator, expected = actual) {
const result = combinator(new StringTape(String(actual)));
if (isLeft(result)) throw result.left;
assert.equal(result.right, expected);
}
export function assertNotParse(actual, combinator) {
const result = combinator(new StringTape(String(actual)));
if (isRight(result)) {
assert.unreachable(`Expected Left, got Right(${String(result.right)})`);
}
}