Typescript definition of the walker
class Walker {
constructor(object: unknown);
nextStep(): Option<WalkerMetadata>;
}
interface WalkerMetadata {
readonly propertyName: string;
readonly propertyPath: WalkerPath;
readonly propertyType: WalkerPropertyType;
readonly propertyValue: unknown;
}
class IterableWalker implements Iterator<unknown> {
next(): IteratorReturnResult<unknown>;
}
class Option<T> {
private constructor();
isNone(): boolean;
isSome(): boolean;
readonly value: T | undefined | null;
static from<F>(value: F): Option<F>;
static none(): Option<null>;
}