Skip to main content
Module

x/capi/mod.ts>ValueRune

[WIP] A framework for crafting interactions with Substrate chains
Latest
class ValueRune
extends Rune<T, U>
Re-export
import { ValueRune } from "https://deno.land/x/capi@v0.1.1-beta.1/mod.ts";

Type Parameters

T
optional
U = never

Methods

access<P extends (
| string & { }
| ""
| number & { }
| 0
| symbol
)[]
, T, U, X>
(this: ValueRune<T, U>, ...keys: never extends P ? RunicArgs<X, [...EnsurePath<T, P>]> : [K in keyof P]: P[K] | Rune<P[K], any>): ValueRune<GetPath<T, [K in keyof X]: Rune.T<X[K]>>, U | RunicArgs.U<X>>
chain<T2, U2>(fn: (result: ValueRune<T, never>) => Rune<T2, U2>): ValueRune<T2, U | U2>
dbg<X>(...prefix: RunicArgs<X, unknown[]>)
filter(fn: (value: T) => boolean): ValueRune<T, U>
filter<T2 extends T>(fn: (value: T) => value is T2): ValueRune<T2, U>
handle<T2 extends T, T3, U2>(guard: Guard<T, T2>, alt: (rune: ValueRune<T2, never>) => Rune<T3, U2>): ValueRune<Exclude<T, T2> | T3, U | U2>
map<T2>(fn: (value: T) => T2 | Promise<T2>): ValueRune<T2, U>
match<T, U, T2, U2>(this: ValueRune<T, U>, fn: (match: Match<T, never, never>) => ExhaustiveMatch<T2, U2>): ValueRune<T2, U | U2>
reduce<T2>(init: T2, fn: (last: T2, value: T) => T2 | Promise<T2>): ValueRune<T2, U>
rehandle<U2 extends U>(guard: Guard<U, U2>): ValueRune<T | U2, Exclude<U, U2>>
rehandle<U2 extends U, T3, U3>(guard: Guard<U, U2>, alt: (rune: ValueRune<U2, never>) => Rune<T3, U3>): ValueRune<T | T3, Exclude<U, U2> | U3>
throws<U2 extends unknown[]>(...guards: [K in keyof U2]: Guard<unknown, U2[K]>): ValueRune<T, U | U2[number]>
unhandle<U2 extends T>(fn: Guard<T, U2>): ValueRune<SmartExclude<T, U2>, U | U2>

Static Methods

new<T, U, A extends unknown[]>(ctor: new (runner: Runner, ...args: A) => Run<T, U>, ...args: A)