Skip to content

API reference / @jsprismarine/predicates / ParseContext

Class: ParseContext ​

Defined in: parse.ts:52

The parse-time state threaded through the grammar: where in the JSON we are, where diagnostics go, how references resolve, and which references are already on the stack so a cycle reports instead of recursing forever.

Constructors ​

Constructor ​

new ParseContext(path, diagnostics, resolver, extensions?, visiting?): ParseContext

Defined in: parse.ts:60

Parameters ​

path ​

string

diagnostics ​

DiagnosticCollector

resolver ​

ReferenceResolver | undefined

extensions? ​

GrammarExtensions = {}

visiting? ​

Set<string> = ...

Returns ​

ParseContext

Properties ​

diagnostics ​

readonly diagnostics: DiagnosticCollector

Defined in: parse.ts:54


extensions ​

readonly extensions: GrammarExtensions

Defined in: parse.ts:56


path ​

readonly path: string

Defined in: parse.ts:53


resolver ​

readonly resolver: ReferenceResolver | undefined

Defined in: parse.ts:55


visiting ​

readonly visiting: Set<string>

Defined in: parse.ts:58

Reference keys currently being expanded, shared by every context in one parse.

Methods ​

at() ​

at(segment): ParseContext

Defined in: parse.ts:75

Returns a context pointing at a member or array element of the current value.

Parameters ​

segment ​

string | number

Returns ​

ParseContext


atReference() ​

atReference(id): ParseContext

Defined in: parse.ts:86

Returns a context whose path names a resolved reference rather than a JSON member.

Parameters ​

id ​

string

Returns ​

ParseContext


error() ​

error(message): void

Defined in: parse.ts:91

Records a fault at the current path.

Parameters ​

message ​

string

Returns ​

void


warn() ​

warn(message): void

Defined in: parse.ts:96

Records a recovered fault at the current path, such as a grammar member this package does not implement.

Parameters ​

message ​

string

Returns ​

void