Skip to content

stax-xml

stax-xml


Defined in: packages/stax-xml/src/EventReader.ts:30

Event-object adapter over the batch-first async stream core.

new EventReader(xmlStream, options?): EventReader

Defined in: packages/stax-xml/src/EventReader.ts:33

ReadableStream<Uint8Array<ArrayBufferLike>>

EventReaderOptions = {}

EventReader

get XmlEventType(): object

Defined in: packages/stax-xml/src/EventReader.ts:79

object

readonly START_DOCUMENT: "START_DOCUMENT" = 'START_DOCUMENT'

readonly END_DOCUMENT: "END_DOCUMENT" = 'END_DOCUMENT'

readonly START_ELEMENT: "START_ELEMENT" = 'START_ELEMENT'

readonly END_ELEMENT: "END_ELEMENT" = 'END_ELEMENT'

readonly CHARACTERS: "CHARACTERS" = 'CHARACTERS'

readonly CDATA: "CDATA" = 'CDATA'

readonly ERROR: "ERROR" = 'ERROR'

[asyncIterator](): AsyncIterator<AnyXmlEvent>

Defined in: packages/stax-xml/src/EventReader.ts:54

AsyncIterator<AnyXmlEvent>

AsyncIterable.[asyncIterator]

next(): Promise<IteratorResult<AnyXmlEvent, any>>

Defined in: packages/stax-xml/src/EventReader.ts:63

Promise<IteratorResult<AnyXmlEvent, any>>

AsyncIterator.next

return(): Promise<IteratorResult<AnyXmlEvent, any>>

Defined in: packages/stax-xml/src/EventReader.ts:67

Promise<IteratorResult<AnyXmlEvent, any>>

AsyncIterator.return

nextBatch(): Promise<AnyXmlEvent[] | null>

Defined in: packages/stax-xml/src/EventReader.ts:71

Promise<AnyXmlEvent[] | null>

batchedIterator(): AsyncGenerator<AnyXmlEvent[]>

Defined in: packages/stax-xml/src/EventReader.ts:75

AsyncGenerator<AnyXmlEvent[]>


Defined in: packages/stax-xml/src/EventReaderSync.ts:30

Event-object adapter over the batch-first sync stream core.

new EventReaderSync(xml, options?): EventReaderSync

Defined in: packages/stax-xml/src/EventReaderSync.ts:43

string

EventReaderSyncOptions = {}

EventReaderSync

nextBatch(): AnyXmlEvent[] | null

Defined in: packages/stax-xml/src/EventReaderSync.ts:75

AnyXmlEvent[] | null

batchedIterator(): IterableIterator<AnyXmlEvent[]>

Defined in: packages/stax-xml/src/EventReaderSync.ts:87

IterableIterator<AnyXmlEvent[]>

[iterator](): Iterator<AnyXmlEvent>

Defined in: packages/stax-xml/src/EventReaderSync.ts:97

Iterator<AnyXmlEvent>

Iterable.[iterator]

next(): IteratorResult<AnyXmlEvent>

Defined in: packages/stax-xml/src/EventReaderSync.ts:101

IteratorResult<AnyXmlEvent>

Iterator.next

return(): IteratorResult<AnyXmlEvent>

Defined in: packages/stax-xml/src/EventReaderSync.ts:116

IteratorResult<AnyXmlEvent>

Iterator.return


Defined in: packages/stax-xml/src/StreamReader.ts:36

Batch-first asynchronous StAX core over ReadableStream<Uint8Array>.

new StreamReader(stream, options?): StreamReader

Defined in: packages/stax-xml/src/StreamReader.ts:45

ReadableStream<Uint8Array<ArrayBufferLike>>

StreamReaderOptions = {}

StreamReader

nextBatch(): Promise<StreamBatch | null>

Defined in: packages/stax-xml/src/StreamReader.ts:57

Promise<StreamBatch | null>

return(): Promise<void>

Defined in: packages/stax-xml/src/StreamReader.ts:76

Promise<void>

batchedIterator(): AsyncGenerator<StreamBatch>

Defined in: packages/stax-xml/src/StreamReader.ts:89

AsyncGenerator<StreamBatch>

[asyncIterator](): AsyncGenerator<StreamBatch>

Defined in: packages/stax-xml/src/StreamReader.ts:105

AsyncGenerator<StreamBatch>

AsyncIterable.[asyncIterator]

currentGeneration(): number

Defined in: packages/stax-xml/src/StreamReader.ts:109

number


Defined in: packages/stax-xml/src/StreamReaderSync.ts:41

Batch-first synchronous StAX core over bytes.

new StreamReaderSync(source, options?): StreamReaderSync

Defined in: packages/stax-xml/src/StreamReaderSync.ts:46

Iterable<StreamReaderSyncByteBatch>

StreamReaderSyncOptions

StreamReaderSync

new StreamReaderSync(source, options?): StreamReaderSync

Defined in: packages/stax-xml/src/StreamReaderSync.ts:47

Uint8Array

StreamReaderSyncOptions

StreamReaderSync

nextBatch(): StreamBatch | null

Defined in: packages/stax-xml/src/StreamReaderSync.ts:59

StreamBatch | null

nextRawBatch(): StreamReaderSyncRawBatch | null

Defined in: packages/stax-xml/src/StreamReaderSync.ts:81

Experimental

Return an experimental low-level batch view without creating per-event wrapper objects.

This API is intended for benchmark and scanner-style traversal paths. The existing nextBatch API remains the stable ergonomic surface.

StreamReaderSyncRawBatch | null

batchedIterator(): IterableIterator<StreamBatch>

Defined in: packages/stax-xml/src/StreamReaderSync.ts:113

IterableIterator<StreamBatch>

[iterator](): IterableIterator<StreamBatch>

Defined in: packages/stax-xml/src/StreamReaderSync.ts:123

IterableIterator<StreamBatch>

Iterable.[iterator]

currentGeneration(): number

Defined in: packages/stax-xml/src/StreamReaderSync.ts:127

number


Defined in: packages/stax-xml/src/Writer.ts:131

High-performance asynchronous XML writer implementing the StAX (Streaming API for XML) pattern.

This writer provides efficient streaming XML generation using WritableStream for handling large XML documents with automatic buffering, backpressure management, and namespace support.

This is an optimized implementation with:

  • Optimization 1: Regex caching for entity escaping
  • Optimization 2: Attribute string batching
  • Optimization 3: Early entity check before regex execution
  • Optimization 4: Qualified closing-tag stack (avoid rebuilding end tags)
  • Optimization 5: Copy-on-write namespace frames
  • Optimization 6: Indentation cache for pretty-print output
  • Optimization 7: TextEncoder.encodeInto() buffering to reduce intermediate byte arrays
  • Optimization 8: Flush by buffer view to avoid per-flush copy slices

The writer supports streaming output with configurable buffering, automatic entity encoding, pretty printing with customizable indentation, and comprehensive namespace handling.

Basic usage:

const writableStream = new WritableStream({
write(chunk) {
console.log(new TextDecoder().decode(chunk));
}
});
const writer = new Writer(writableStream);
await writer.writeStartElement('root');
await writer.writeElement('item', { id: '1' }, 'Hello World');
await writer.writeEndElement();
await writer.close();

With pretty printing:

const options = {
prettyPrint: true,
indentString: ' ',
autoEncodeEntities: true
};
const writer = new Writer(writableStream, options);

new Writer(stream, options?): Writer

Defined in: packages/stax-xml/src/Writer.ts:170

WritableStream<Uint8Array<ArrayBufferLike>>

WriterOptions = {}

Writer

writeStartDocument(version?, encoding?): Promise<Writer>

Defined in: packages/stax-xml/src/Writer.ts:292

Write XML declaration

string = '1.0'

string

Promise<Writer>

writeEndDocument(): Promise<void>

Defined in: packages/stax-xml/src/Writer.ts:317

End document (automatically close all elements)

Promise<void>

writeStartElement(localName, options?): Promise<Writer>

Defined in: packages/stax-xml/src/Writer.ts:338

Write start element

string

WriteElementOptions

Promise<Writer>

writeEndElement(): Promise<Writer>

Defined in: packages/stax-xml/src/Writer.ts:430

Write end element

Promise<Writer>

writeCharacters(text): Promise<Writer>

Defined in: packages/stax-xml/src/Writer.ts:463

Write text

string

Promise<Writer>

writeCData(cdata): Promise<Writer>

Defined in: packages/stax-xml/src/Writer.ts:485

Write CDATA section

string

Promise<Writer>

writeComment(comment): Promise<Writer>

Defined in: packages/stax-xml/src/Writer.ts:505

Write comment

string

Promise<Writer>

writeRaw(xml): Promise<Writer>

Defined in: packages/stax-xml/src/Writer.ts:528

Write raw XML content without escaping

string

Raw XML string to write

Promise<Writer>

this (chainable)

flush(): Promise<void>

Defined in: packages/stax-xml/src/Writer.ts:537

Manual flush

Promise<void>

getMetrics(): object

Defined in: packages/stax-xml/src/Writer.ts:544

Return metrics

object

totalBytesWritten: number = 0

flushCount: number = 0

lastFlushTime: number = 0

bufferUtilization: number

averageFlushSize: number


Defined in: packages/stax-xml/src/WriterSync.ts:493

String-based sync writer.

  • AbstractWriterSync

new WriterSync(options?): WriterSync

Defined in: packages/stax-xml/src/WriterSync.ts:496

WriterSyncOptions = {}

WriterSync

AbstractWriterSync.constructor

protected state: number = WriterState.INITIAL

Defined in: packages/stax-xml/src/WriterSync.ts:78

AbstractWriterSync.state

protected elementStack: string[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:79

AbstractWriterSync.elementStack

protected hasTextContentStack: boolean[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:80

AbstractWriterSync.hasTextContentStack

protected namespaceStack: Map<string, string>[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:81

AbstractWriterSync.namespaceStack

protected namespaceOwnedStack: boolean[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:82

AbstractWriterSync.namespaceOwnedStack

protected readonly options: Required<WriterSyncOptions>

Defined in: packages/stax-xml/src/WriterSync.ts:83

AbstractWriterSync.options

protected currentIndentLevel: number = 0

Defined in: packages/stax-xml/src/WriterSync.ts:84

AbstractWriterSync.currentIndentLevel

protected needsIndent: boolean = false

Defined in: packages/stax-xml/src/WriterSync.ts:85

AbstractWriterSync.needsIndent

protected indentCache: string[]

Defined in: packages/stax-xml/src/WriterSync.ts:86

AbstractWriterSync.indentCache

writeStartDocument(version?, encoding?): this

Defined in: packages/stax-xml/src/WriterSync.ts:133

Writes the XML declaration (e.g., ).

string = '1.0'

string

this

AbstractWriterSync.writeStartDocument

writeEndDocument(): void

Defined in: packages/stax-xml/src/WriterSync.ts:158

Indicates the end of the document and automatically closes all open elements.

void

AbstractWriterSync.writeEndDocument

writeStartElement(localName, options?): this

Defined in: packages/stax-xml/src/WriterSync.ts:170

string

WriteElementOptions

this

AbstractWriterSync.writeStartElement

writeAttribute(localName, value, prefix?): this

Defined in: packages/stax-xml/src/WriterSync.ts:249

string

string

string

this

AbstractWriterSync.writeAttribute

writeNamespace(prefix, uri): this

Defined in: packages/stax-xml/src/WriterSync.ts:259

string

string

this

AbstractWriterSync.writeNamespace

writeCharacters(text): this

Defined in: packages/stax-xml/src/WriterSync.ts:276

string

this

AbstractWriterSync.writeCharacters

writeCData(cdata): this

Defined in: packages/stax-xml/src/WriterSync.ts:290

string

this

AbstractWriterSync.writeCData

writeComment(comment): this

Defined in: packages/stax-xml/src/WriterSync.ts:307

string

this

AbstractWriterSync.writeComment

writeProcessingInstruction(target, data?): this

Defined in: packages/stax-xml/src/WriterSync.ts:322

string

string

this

AbstractWriterSync.writeProcessingInstruction

writeRaw(xml): this

Defined in: packages/stax-xml/src/WriterSync.ts:344

string

this

AbstractWriterSync.writeRaw

writeEndElement(): this

Defined in: packages/stax-xml/src/WriterSync.ts:350

this

AbstractWriterSync.writeEndElement

setPrettyPrint(enabled): this

Defined in: packages/stax-xml/src/WriterSync.ts:382

boolean

this

AbstractWriterSync.setPrettyPrint

setIndentString(indentString): this

Defined in: packages/stax-xml/src/WriterSync.ts:387

string

this

AbstractWriterSync.setIndentString

isPrettyPrintEnabled(): boolean

Defined in: packages/stax-xml/src/WriterSync.ts:393

boolean

AbstractWriterSync.isPrettyPrintEnabled

getIndentString(): string

Defined in: packages/stax-xml/src/WriterSync.ts:397

string

AbstractWriterSync.getIndentString

protected _closeStartElementTag(): void

Defined in: packages/stax-xml/src/WriterSync.ts:419

void

AbstractWriterSync._closeStartElementTag

protected _writeNewline(): void

Defined in: packages/stax-xml/src/WriterSync.ts:437

void

AbstractWriterSync._writeNewline

getXmlString(): string

Defined in: packages/stax-xml/src/WriterSync.ts:500

string

protected _emit(chunk): void

Defined in: packages/stax-xml/src/WriterSync.ts:504

string

void

AbstractWriterSync._emit


Defined in: packages/stax-xml/src/WriterSync.ts:512

Sink-based sync writer. Use this for file/buffer incremental writes.

  • AbstractWriterSync

new WriterSyncSink(sink, options?): WriterSyncSink

Defined in: packages/stax-xml/src/WriterSync.ts:520

SyncTextSink

WriterSyncSinkOptions = {}

WriterSyncSink

AbstractWriterSync.constructor

protected state: number = WriterState.INITIAL

Defined in: packages/stax-xml/src/WriterSync.ts:78

AbstractWriterSync.state

protected elementStack: string[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:79

AbstractWriterSync.elementStack

protected hasTextContentStack: boolean[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:80

AbstractWriterSync.hasTextContentStack

protected namespaceStack: Map<string, string>[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:81

AbstractWriterSync.namespaceStack

protected namespaceOwnedStack: boolean[] = []

Defined in: packages/stax-xml/src/WriterSync.ts:82

AbstractWriterSync.namespaceOwnedStack

protected readonly options: Required<WriterSyncOptions>

Defined in: packages/stax-xml/src/WriterSync.ts:83

AbstractWriterSync.options

protected currentIndentLevel: number = 0

Defined in: packages/stax-xml/src/WriterSync.ts:84

AbstractWriterSync.currentIndentLevel

protected needsIndent: boolean = false

Defined in: packages/stax-xml/src/WriterSync.ts:85

AbstractWriterSync.needsIndent

protected indentCache: string[]

Defined in: packages/stax-xml/src/WriterSync.ts:86

AbstractWriterSync.indentCache

writeStartDocument(version?, encoding?): this

Defined in: packages/stax-xml/src/WriterSync.ts:133

Writes the XML declaration (e.g., ).

string = '1.0'

string

this

AbstractWriterSync.writeStartDocument

writeStartElement(localName, options?): this

Defined in: packages/stax-xml/src/WriterSync.ts:170

string

WriteElementOptions

this

AbstractWriterSync.writeStartElement

writeAttribute(localName, value, prefix?): this

Defined in: packages/stax-xml/src/WriterSync.ts:249

string

string

string

this

AbstractWriterSync.writeAttribute

writeNamespace(prefix, uri): this

Defined in: packages/stax-xml/src/WriterSync.ts:259

string

string

this

AbstractWriterSync.writeNamespace

writeCharacters(text): this

Defined in: packages/stax-xml/src/WriterSync.ts:276

string

this

AbstractWriterSync.writeCharacters

writeCData(cdata): this

Defined in: packages/stax-xml/src/WriterSync.ts:290

string

this

AbstractWriterSync.writeCData

writeComment(comment): this

Defined in: packages/stax-xml/src/WriterSync.ts:307

string

this

AbstractWriterSync.writeComment

writeProcessingInstruction(target, data?): this

Defined in: packages/stax-xml/src/WriterSync.ts:322

string

string

this

AbstractWriterSync.writeProcessingInstruction

writeRaw(xml): this

Defined in: packages/stax-xml/src/WriterSync.ts:344

string

this

AbstractWriterSync.writeRaw

writeEndElement(): this

Defined in: packages/stax-xml/src/WriterSync.ts:350

this

AbstractWriterSync.writeEndElement

setPrettyPrint(enabled): this

Defined in: packages/stax-xml/src/WriterSync.ts:382

boolean

this

AbstractWriterSync.setPrettyPrint

setIndentString(indentString): this

Defined in: packages/stax-xml/src/WriterSync.ts:387

string

this

AbstractWriterSync.setIndentString

isPrettyPrintEnabled(): boolean

Defined in: packages/stax-xml/src/WriterSync.ts:393

boolean

AbstractWriterSync.isPrettyPrintEnabled

getIndentString(): string

Defined in: packages/stax-xml/src/WriterSync.ts:397

string

AbstractWriterSync.getIndentString

protected _closeStartElementTag(): void

Defined in: packages/stax-xml/src/WriterSync.ts:419

void

AbstractWriterSync._closeStartElementTag

protected _writeNewline(): void

Defined in: packages/stax-xml/src/WriterSync.ts:437

void

AbstractWriterSync._writeNewline

protected _emit(chunk): void

Defined in: packages/stax-xml/src/WriterSync.ts:536

string

void

AbstractWriterSync._emit

writeEndDocument(): void

Defined in: packages/stax-xml/src/WriterSync.ts:577

Indicates the end of the document and automatically closes all open elements.

void

AbstractWriterSync.writeEndDocument

flush(): void

Defined in: packages/stax-xml/src/WriterSync.ts:585

void

close(): void

Defined in: packages/stax-xml/src/WriterSync.ts:592

void

Defined in: packages/stax-xml/src/EventReader.ts:16

Asynchronous event reader options.

optional autoDecodeEntities?: boolean

Defined in: packages/stax-xml/src/EventReader.ts:17

optional addEntities?: EntityDefinition[]

Defined in: packages/stax-xml/src/EventReader.ts:18

optional eventFilter?: ParserEventFilter

Defined in: packages/stax-xml/src/EventReader.ts:19

optional documentMode?: DocumentMode

Defined in: packages/stax-xml/src/EventReader.ts:20

optional namespaceAware?: boolean

Defined in: packages/stax-xml/src/EventReader.ts:21

optional maxChunkBytes?: number

Defined in: packages/stax-xml/src/EventReader.ts:22


Defined in: packages/stax-xml/src/EventReaderSync.ts:17

Synchronous event reader options.

optional autoDecodeEntities?: boolean

Defined in: packages/stax-xml/src/EventReaderSync.ts:18

optional addEntities?: EntityDefinition[]

Defined in: packages/stax-xml/src/EventReaderSync.ts:19

optional eventFilter?: ParserEventFilter

Defined in: packages/stax-xml/src/EventReaderSync.ts:20

optional documentMode?: DocumentMode

Defined in: packages/stax-xml/src/EventReaderSync.ts:21

optional namespaceAware?: boolean

Defined in: packages/stax-xml/src/EventReaderSync.ts:22


Defined in: packages/stax-xml/src/IterableEventBackend.ts:17

entity: string

Defined in: packages/stax-xml/src/IterableEventBackend.ts:18

value: string

Defined in: packages/stax-xml/src/IterableEventBackend.ts:19


Defined in: packages/stax-xml/src/StreamReader.ts:15

Asynchronous stream reader options.

optional encoding?: string

Defined in: packages/stax-xml/src/StreamReader.ts:21

Text encoding passed to the active streaming backend.

'utf-8'

optional documentMode?: DocumentMode

Defined in: packages/stax-xml/src/StreamReader.ts:28

XML document conformance mode.

'fragment'

Defined in: packages/stax-xml/src/StreamReaderSync.ts:20

Synchronous stream reader options.

optional encoding?: string

Defined in: packages/stax-xml/src/StreamReaderSync.ts:26

Text encoding passed to the active streaming backend.

'utf-8'

optional documentMode?: DocumentMode

Defined in: packages/stax-xml/src/StreamReaderSync.ts:33

XML document conformance mode.

'fragment'

Defined in: packages/stax-xml/src/Writer.ts:20

Configuration options for the Writer

optional encoding?: string

Defined in: packages/stax-xml/src/Writer.ts:25

Text encoding for the output stream

'utf-8'

optional prettyPrint?: boolean

Defined in: packages/stax-xml/src/Writer.ts:31

Whether to format output with indentation

false

optional indentString?: string

Defined in: packages/stax-xml/src/Writer.ts:37

String used for indentation when prettyPrint is true

' '

optional addEntities?: object[]

Defined in: packages/stax-xml/src/Writer.ts:43

Additional custom entities to encode

entity: string

value: string

[]

optional autoEncodeEntities?: boolean

Defined in: packages/stax-xml/src/Writer.ts:49

Whether to automatically encode XML entities

true

optional namespaces?: NamespaceDeclaration[]

Defined in: packages/stax-xml/src/Writer.ts:55

Namespace declarations to include

[]

optional bufferSize?: number

Defined in: packages/stax-xml/src/Writer.ts:61

Internal buffer size in bytes

16384

optional highWaterMark?: number

Defined in: packages/stax-xml/src/Writer.ts:67

WritableStream backpressure threshold

65536

optional flushThreshold?: number

Defined in: packages/stax-xml/src/Writer.ts:73

Automatic flush threshold (percentage of bufferSize)

0.8

optional enableAutoFlush?: boolean

Defined in: packages/stax-xml/src/Writer.ts:79

Whether to enable automatic flushing

true

Defined in: packages/stax-xml/src/WriterSync.ts:7

Sink interface for custom sync targets.

write(chunk): void

Defined in: packages/stax-xml/src/WriterSync.ts:8

string

void

optional flush(): void

Defined in: packages/stax-xml/src/WriterSync.ts:9

void

optional close(): void

Defined in: packages/stax-xml/src/WriterSync.ts:10

void


Defined in: packages/stax-xml/src/WriterSync.ts:16

Writer output options shared by string and sink variants.

optional encoding?: string

Defined in: packages/stax-xml/src/WriterSync.ts:17

optional prettyPrint?: boolean

Defined in: packages/stax-xml/src/WriterSync.ts:18

optional indentString?: string

Defined in: packages/stax-xml/src/WriterSync.ts:19

optional addEntities?: object[]

Defined in: packages/stax-xml/src/WriterSync.ts:20

entity: string

value: string

optional autoEncodeEntities?: boolean

Defined in: packages/stax-xml/src/WriterSync.ts:21

optional namespaces?: NamespaceDeclaration[]

Defined in: packages/stax-xml/src/WriterSync.ts:22


Defined in: packages/stax-xml/src/WriterSync.ts:28

Writer options for sink-based sync mode.

optional encoding?: string

Defined in: packages/stax-xml/src/WriterSync.ts:17

WriterSyncOptions.encoding

optional prettyPrint?: boolean

Defined in: packages/stax-xml/src/WriterSync.ts:18

WriterSyncOptions.prettyPrint

optional indentString?: string

Defined in: packages/stax-xml/src/WriterSync.ts:19

WriterSyncOptions.indentString

optional addEntities?: object[]

Defined in: packages/stax-xml/src/WriterSync.ts:20

entity: string

value: string

WriterSyncOptions.addEntities

optional autoEncodeEntities?: boolean

Defined in: packages/stax-xml/src/WriterSync.ts:21

WriterSyncOptions.autoEncodeEntities

optional namespaces?: NamespaceDeclaration[]

Defined in: packages/stax-xml/src/WriterSync.ts:22

WriterSyncOptions.namespaces

optional bufferSize?: number

Defined in: packages/stax-xml/src/WriterSync.ts:33

Internal character buffer size.

16384

optional enableAutoFlush?: boolean

Defined in: packages/stax-xml/src/WriterSync.ts:39

Emit buffered chunks automatically when threshold is reached.

true

optional flushOnClose?: boolean

Defined in: packages/stax-xml/src/WriterSync.ts:45

Whether to call sink.flush() when the writer is finalized.

false

optional flushThreshold?: number

Defined in: packages/stax-xml/src/WriterSync.ts:52

Flush threshold (percentage or absolute char count). If <= 1, treated as percentage of bufferSize. Otherwise absolute char count.

0.8

Defined in: packages/stax-xml/src/XmlObject.ts:25

Options shared by XML tree and compact object helper parsers.

optional encoding?: string

Defined in: packages/stax-xml/src/XmlObject.ts:26

optional documentMode?: DocumentMode

Defined in: packages/stax-xml/src/XmlObject.ts:27

optional autoDecodeEntities?: boolean

Defined in: packages/stax-xml/src/XmlObject.ts:28

optional addEntities?: EntityDefinition[]

Defined in: packages/stax-xml/src/XmlObject.ts:29

optional trimText?: boolean

Defined in: packages/stax-xml/src/XmlObject.ts:30

optional batchSize?: number

Defined in: packages/stax-xml/src/XmlObject.ts:31


Defined in: packages/stax-xml/src/XmlObject.ts:35

Options for compact object projection.

optional encoding?: string

Defined in: packages/stax-xml/src/XmlObject.ts:26

ParseXmlTreeOptions.encoding

optional documentMode?: DocumentMode

Defined in: packages/stax-xml/src/XmlObject.ts:27

ParseXmlTreeOptions.documentMode

optional autoDecodeEntities?: boolean

Defined in: packages/stax-xml/src/XmlObject.ts:28

ParseXmlTreeOptions.autoDecodeEntities

optional addEntities?: EntityDefinition[]

Defined in: packages/stax-xml/src/XmlObject.ts:29

ParseXmlTreeOptions.addEntities

optional trimText?: boolean

Defined in: packages/stax-xml/src/XmlObject.ts:30

ParseXmlTreeOptions.trimText

optional batchSize?: number

Defined in: packages/stax-xml/src/XmlObject.ts:31

ParseXmlTreeOptions.batchSize

optional attributePrefix?: string

Defined in: packages/stax-xml/src/XmlObject.ts:37

Prefix applied to XML attributes. Defaults to @, so id becomes @id.

optional textKey?: string

Defined in: packages/stax-xml/src/XmlObject.ts:39

Key used for text in mixed-content objects. Defaults to #text.

optional cdataKey?: string

Defined in: packages/stax-xml/src/XmlObject.ts:41

Key used for CDATA in compact objects. Defaults to #cdata.

optional alwaysArray?: boolean

Defined in: packages/stax-xml/src/XmlObject.ts:43

When true, element children are always represented as arrays.


Defined in: packages/stax-xml/src/XmlObject.ts:47

Document wrapper returned by parseXmlTree() and parseXmlTreeSync().

type: "document"

Defined in: packages/stax-xml/src/XmlObject.ts:48

children: XmlTreeNode[]

Defined in: packages/stax-xml/src/XmlObject.ts:49


Defined in: packages/stax-xml/src/XmlObject.ts:55

Order-preserving XML element node.

type: "element"

Defined in: packages/stax-xml/src/XmlObject.ts:56

name: string

Defined in: packages/stax-xml/src/XmlObject.ts:57

attributes: XmlObjectRecord<string>

Defined in: packages/stax-xml/src/XmlObject.ts:58

children: XmlTreeNode[]

Defined in: packages/stax-xml/src/XmlObject.ts:59


Defined in: packages/stax-xml/src/XmlObject.ts:63

Text node in an order-preserving XML tree.

type: "text"

Defined in: packages/stax-xml/src/XmlObject.ts:64

value: string

Defined in: packages/stax-xml/src/XmlObject.ts:65


Defined in: packages/stax-xml/src/XmlObject.ts:69

CDATA node in an order-preserving XML tree.

type: "cdata"

Defined in: packages/stax-xml/src/XmlObject.ts:70

value: string

Defined in: packages/stax-xml/src/XmlObject.ts:71


Defined in: packages/stax-xml/src/XmlObject.ts:78

Array of compact object values used for repeated elements.

[n: number]: XmlObjectValue


Defined in: packages/stax-xml/src/XmlObject.ts:81

Null-prototype record used by tree attributes and compact object nodes.

T = XmlObjectValue

[key: string]: T


Defined in: packages/stax-xml/src/stream-reader-core.ts:34

Batch-local event view.

readonly type: StreamEventType

Defined in: packages/stax-xml/src/stream-reader-core.ts:35

name(): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:36

string | undefined

text(): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:37

string | undefined

getAttributeCount(): number

Defined in: packages/stax-xml/src/stream-reader-core.ts:38

number

getAttributeName(index): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:39

number

string | undefined

getAttributeValue(indexOrName): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:40

string | number

string | undefined


Defined in: packages/stax-xml/src/stream-reader-core.ts:48

Batch view exposed by stream readers.

readonly eventCount: number

Defined in: packages/stax-xml/src/stream-reader-core.ts:49

event(index): StreamEventView

Defined in: packages/stax-xml/src/stream-reader-core.ts:50

number

StreamEventView

typeAt(index): StreamEventType

Defined in: packages/stax-xml/src/stream-reader-core.ts:51

number

StreamEventType

nameAt(index): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:52

number

string | undefined

textAt(index): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:53

number

string | undefined

attributeCountAt(index): number

Defined in: packages/stax-xml/src/stream-reader-core.ts:54

number

number

attributeNameAt(eventIndex, attrIndex): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:55

number

number

string | undefined

attributeValueAt(eventIndex, attrIndexOrName): string | undefined

Defined in: packages/stax-xml/src/stream-reader-core.ts:56

number

string | number

string | undefined


Defined in: packages/stax-xml/src/types.ts:48

Event fired when the document starts parsing

type: "START_DOCUMENT"

Defined in: packages/stax-xml/src/types.ts:49


Defined in: packages/stax-xml/src/types.ts:57

Event fired when the document ends parsing

type: "END_DOCUMENT"

Defined in: packages/stax-xml/src/types.ts:58


Defined in: packages/stax-xml/src/types.ts:66

Event fired when an XML element starts

type: "START_ELEMENT"

Defined in: packages/stax-xml/src/types.ts:67

name: string

Defined in: packages/stax-xml/src/types.ts:68

optional localName?: string

Defined in: packages/stax-xml/src/types.ts:69

optional prefix?: string

Defined in: packages/stax-xml/src/types.ts:70

optional uri?: string

Defined in: packages/stax-xml/src/types.ts:71

attributes: Record<string, string>

Defined in: packages/stax-xml/src/types.ts:72

optional attributesWithPrefix?: Record<string, AttributeInfo>

Defined in: packages/stax-xml/src/types.ts:73


Defined in: packages/stax-xml/src/types.ts:76

type: "END_ELEMENT"

Defined in: packages/stax-xml/src/types.ts:77

name: string

Defined in: packages/stax-xml/src/types.ts:78

optional localName?: string

Defined in: packages/stax-xml/src/types.ts:79

optional prefix?: string

Defined in: packages/stax-xml/src/types.ts:80

optional uri?: string

Defined in: packages/stax-xml/src/types.ts:81


Defined in: packages/stax-xml/src/types.ts:84

type: "CHARACTERS"

Defined in: packages/stax-xml/src/types.ts:85

value: string

Defined in: packages/stax-xml/src/types.ts:86


Defined in: packages/stax-xml/src/types.ts:89

type: "CDATA"

Defined in: packages/stax-xml/src/types.ts:90

value: string

Defined in: packages/stax-xml/src/types.ts:91


Defined in: packages/stax-xml/src/types.ts:94

type: "ERROR"

Defined in: packages/stax-xml/src/types.ts:95

error: Error

Defined in: packages/stax-xml/src/types.ts:96


Defined in: packages/stax-xml/src/types.ts:114

Attribute interface (for Writer)

optional prefix?: string

Defined in: packages/stax-xml/src/types.ts:115

localName: string

Defined in: packages/stax-xml/src/types.ts:116

optional uri?: string

Defined in: packages/stax-xml/src/types.ts:117

value: string

Defined in: packages/stax-xml/src/types.ts:118


Defined in: packages/stax-xml/src/types.ts:125

Namespace declaration interface (for Writer) Not used in this simple implementation.

prefix: string

Defined in: packages/stax-xml/src/types.ts:126

uri: string

Defined in: packages/stax-xml/src/types.ts:127


Defined in: packages/stax-xml/src/types.ts:134

Processing instruction (PI) interface (for Writer) Not used in this simple implementation.

target: string

Defined in: packages/stax-xml/src/types.ts:135

optional data?: string

Defined in: packages/stax-xml/src/types.ts:136


Defined in: packages/stax-xml/src/types.ts:142

Attribute information interface

value: string

Defined in: packages/stax-xml/src/types.ts:143

localName: string

Defined in: packages/stax-xml/src/types.ts:144

optional prefix?: string

Defined in: packages/stax-xml/src/types.ts:145

optional uri?: string

Defined in: packages/stax-xml/src/types.ts:146


Defined in: packages/stax-xml/src/types.ts:354

Element writing options interface (for Writer)

optional prefix?: string

Defined in: packages/stax-xml/src/types.ts:355

optional uri?: string

Defined in: packages/stax-xml/src/types.ts:356

optional attributes?: Record<string, string | AttributeInfo>

Defined in: packages/stax-xml/src/types.ts:357

optional selfClosing?: boolean

Defined in: packages/stax-xml/src/types.ts:358

optional comment?: string

Defined in: packages/stax-xml/src/types.ts:359


Defined in: packages/stax-xml/src/types.ts:362

includeAttributes: boolean

Defined in: packages/stax-xml/src/types.ts:363

includeCharacters: boolean

Defined in: packages/stax-xml/src/types.ts:364

includeCdata: boolean

Defined in: packages/stax-xml/src/types.ts:365

XmlSyncInput = string | Uint8Array | Iterable<Uint8Array>

Defined in: packages/stax-xml/src/XmlObject.ts:19

XML inputs that can be parsed without crossing an async boundary.


XmlAsyncInput = XmlSyncInput | AsyncIterable<Uint8Array> | ReadableStream<Uint8Array>

Defined in: packages/stax-xml/src/XmlObject.ts:22

XML inputs accepted by the convenience tree/object helpers.


XmlTreeNode = XmlTreeElement | XmlTreeText | XmlTreeCdata

Defined in: packages/stax-xml/src/XmlObject.ts:52


XmlObjectValue = string | XmlObjectRecord | XmlObjectArray

Defined in: packages/stax-xml/src/XmlObject.ts:75

Value stored in the compact object projection.


StreamEventType = typeof StreamEventType[keyof typeof StreamEventType]

Defined in: packages/stax-xml/src/stream-reader-core.ts:6

Numeric XML stream event type.


StreamReaderSyncByteBatch = readonly Uint8Array[]

Defined in: packages/stax-xml/src/stream-reader-core.ts:27

One synchronous byte batch consumed by StreamReaderSync.


StreamReaderSyncRawBatch = StreamReaderSyncWordTableBatch | StreamReaderSyncFrameBatch | StreamReaderSyncSoaStringArenaBatch

Defined in: packages/stax-xml/src/stream-reader-core.ts:152

Experimental

Experimental raw batch traversal view returned by StreamReaderSync.nextRawBatch.


XmlEventType = typeof XmlEventType[keyof typeof XmlEventType]

Defined in: packages/stax-xml/src/types.ts:6

Enumeration of XML stream event types used by the StAX parser


AnyXmlEvent = StartDocumentEvent | EndDocumentEvent | StartElementEvent | EndElementEvent | CharactersEvent | CdataEvent | ErrorEvent

Defined in: packages/stax-xml/src/types.ts:102

Discriminated Union type for developer use


DocumentMode = "fragment" | "document"

Defined in: packages/stax-xml/src/types.ts:373

XML document conformance mode.

const StreamEventType: object

Defined in: packages/stax-xml/src/stream-reader-core.ts:6

Event type constants exposed by stream readers.

readonly START_DOCUMENT: 0 = 0

readonly END_DOCUMENT: 1 = 1

readonly START_ELEMENT: 2 = 2

readonly END_ELEMENT: 3 = 3

readonly CHARACTERS: 4 = 4

readonly CDATA: 5 = 5


const XmlEventType: object

Defined in: packages/stax-xml/src/types.ts:6

Enumeration of XML stream event types used by the StAX parser

readonly START_DOCUMENT: "START_DOCUMENT" = 'START_DOCUMENT'

readonly END_DOCUMENT: "END_DOCUMENT" = 'END_DOCUMENT'

readonly START_ELEMENT: "START_ELEMENT" = 'START_ELEMENT'

readonly END_ELEMENT: "END_ELEMENT" = 'END_ELEMENT'

readonly CHARACTERS: "CHARACTERS" = 'CHARACTERS'

readonly CDATA: "CDATA" = 'CDATA'

readonly ERROR: "ERROR" = 'ERROR'

createEventReader(xmlStream, options?): EventReader

Defined in: packages/stax-xml/src/EventReader.ts:84

ReadableStream<Uint8Array<ArrayBufferLike>>

EventReaderOptions = {}

EventReader


parseXmlTreeSync(input, options?): XmlTreeDocument

Defined in: packages/stax-xml/src/XmlObject.ts:91

Parse XML into an order-preserving tree using a synchronous input.

XmlSyncInput

ParseXmlTreeOptions = {}

XmlTreeDocument


parseXmlTree(input, options?): Promise<XmlTreeDocument>

Defined in: packages/stax-xml/src/XmlObject.ts:96

Parse XML into an order-preserving tree.

XmlAsyncInput

ParseXmlTreeOptions = {}

Promise<XmlTreeDocument>


parseXmlObjectSync(input, options?): XmlObjectRecord

Defined in: packages/stax-xml/src/XmlObject.ts:104

Parse XML into a compact JavaScript object using a synchronous input.

XmlSyncInput

ParseXmlObjectOptions = {}

XmlObjectRecord


parseXmlObject(input, options?): Promise<XmlObjectRecord<XmlObjectValue>>

Defined in: packages/stax-xml/src/XmlObject.ts:112

Parse XML into a compact JavaScript object.

XmlAsyncInput

ParseXmlObjectOptions = {}

Promise<XmlObjectRecord<XmlObjectValue>>


isStartElement(event): event is StartElementEvent

Defined in: packages/stax-xml/src/types.ts:297

Type guard function - Check if the event is a START_ELEMENT event

AnyXmlEvent

XML event to check

event is StartElementEvent

true if the event is a START_ELEMENT event, false otherwise


isEndElement(event): event is EndElementEvent

Defined in: packages/stax-xml/src/types.ts:306

Type guard function - Check if the event is an END_ELEMENT event

AnyXmlEvent

XML event to check

event is EndElementEvent

true if the event is an END_ELEMENT event, false otherwise


isCharacters(event): event is CharactersEvent

Defined in: packages/stax-xml/src/types.ts:315

Type guard function - Check if the event is a CHARACTERS event

AnyXmlEvent

XML event to check

event is CharactersEvent

true if the event is a CHARACTERS event, false otherwise


isCdata(event): event is CdataEvent

Defined in: packages/stax-xml/src/types.ts:323

Type guard function - Check if the event is a CDATA event

AnyXmlEvent

XML event to check

event is CdataEvent

true if the event is a CDATA event, false otherwise


isError(event): event is ErrorEvent

Defined in: packages/stax-xml/src/types.ts:331

Type guard function - Check if the event is an ERROR event

AnyXmlEvent

XML event to check

event is ErrorEvent

true if the event is an ERROR event, false otherwise


isStartDocument(event): event is StartDocumentEvent

Defined in: packages/stax-xml/src/types.ts:339

Type guard function - Check if the event is a START_DOCUMENT event

AnyXmlEvent

XML event to check

event is StartDocumentEvent

true if the event is a START_DOCUMENT event, false otherwise


isEndDocument(event): event is EndDocumentEvent

Defined in: packages/stax-xml/src/types.ts:347

Type guard function - Check if the event is an END_DOCUMENT event

AnyXmlEvent

XML event to check

event is EndDocumentEvent

true if the event is an END_DOCUMENT event, false otherwise

Renames and re-exports WriterSync