UNPKG

@didtools/siwx

Version:

Typescript library for Sign-In With X

15 lines (14 loc) 575 B
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)})`); } }