gizlang:inspect
a value as a person reads it, as Node's util.inspect writes it: { a: 1, b: "x" }, [ 1, 2 ], undefined. Each type has writeShown(self, out: mut bytes): the compiler writes a record's and a union's (checker derivedMethod), as it writes their writeJson. A test's failure shows its values with it (gizlang:test).
import * as Inspect from "gizlang:inspect";Functions
inspect
function inspect<T>(value: T): stringVALUE on one line: { a: 1, b: [ 2, 3 ] }.
lines
function lines(text: string): stringThe one-line TEXT of inspect laid out one item a line, each indented by its depth and ending with a comma, as a diff compares two values:
{ a: 1, b: [ 2, ], }
Effects: fail.
open
function open(out: mut bytes): void{, before the fields.
Effects: fail.
close
function close(out: mut bytes): void} after the fields: }, or {} with none.
Effects: fail.
fieldName
function fieldName(out: mut bytes, name: string): voidNAME: , after , unless it is the first field.
Effects: fail.
field
function field<T>(out: mut bytes, name: string, value: T): voidThe field NAME of VALUE.
optionalField
function optionalField<T>(out: mut bytes, name: string, value: Option<T>): voidThe field NAME of VALUE, undefined when it is: Node shows it.
kindField
function kindField(out: mut bytes, name: string): voidA union case's kind: "NAME".
Effects: fail.
writeValue
function writeValue<T>(out: mut bytes, value: T): voidVALUE as itself: the case of an untagged union.
Methods
i64.writeShown
function i64.writeShown(self: i64, out: mut bytes): voidEffects: fail.
i32.writeShown
function i32.writeShown(self: i32, out: mut bytes): voidEffects: fail.
i16.writeShown
function i16.writeShown(self: i16, out: mut bytes): voidEffects: fail.
i8.writeShown
function i8.writeShown(self: i8, out: mut bytes): voidEffects: fail.
u64.writeShown
function u64.writeShown(self: u64, out: mut bytes): voidEffects: fail.
u32.writeShown
function u32.writeShown(self: u32, out: mut bytes): voidEffects: fail.
u16.writeShown
function u16.writeShown(self: u16, out: mut bytes): voidEffects: fail.
u8.writeShown
function u8.writeShown(self: u8, out: mut bytes): voidEffects: fail.
f64.writeShown
function f64.writeShown(self: f64, out: mut bytes): voidA number as JavaScript writes it: 1, 0.1, NaN, -Infinity.
Effects: fail.
f32.writeShown
function f32.writeShown(self: f32, out: mut bytes): voidEffects: fail.
bool.writeShown
function bool.writeShown(self: bool, out: mut bytes): voidEffects: fail.
string.writeShown
function string.writeShown(self: string, out: mut bytes): voidA string quoted and escaped: "a\nb".
Effects: fail.
bytes.writeShown
function bytes.writeShown(self: bytes, out: mut bytes): voidBytes as Node shows a Uint8Array: Uint8Array(2) [ 1, 2 ].
Effects: fail.
Vec.writeShown
function Vec.writeShown<T>(self: Vec<T>, out: mut bytes): voidRef.writeShown
function Ref.writeShown<T>(self: Ref<T>, out: mut bytes): voidA Ref (an instance of a class too) as its value, as vitest shows an object.
Option.writeShown
function Option.writeShown<T>(self: Option<T>, out: mut bytes): voidMap.writeShown
function Map.writeShown<K extends Key, V>(self: Map<K, V>, out: mut bytes): voidMap(2) { "a" => 1, "b" => 2 }.
Set.writeShown
function Set.writeShown<T extends Key>(self: Set<T>, out: mut bytes): voidSet(2) { 1, 2 }.