Skip to content

Class: Part ​

One OPC part. Holds the original bytes from the zip for its whole life; parses to a DOM only on demand; serializes back to the original bytes unless something mutated the DOM and called markDirty().

Untouched parts therefore round-trip byte-identically.

Constructors ​

Constructor ​

new Part(partName, contentType, bytes): Part

Parameters ​

ParameterType
partNamestring
contentTypestring
bytesUint8Array

Returns ​

Part

Properties ​

contentType ​

readonly contentType: string


partName ​

readonly partName: string

Accessors ​

dom ​

Get Signature ​

get dom(): Document

Lazily parsed DOM for XML parts. Parsing alone does not mark the part dirty; call markDirty() after mutating the tree.

Returns ​

Document


isDirty ​

Get Signature ​

get isDirty(): boolean

Returns ​

boolean


isParsed ​

Get Signature ​

get isParsed(): boolean

True once the body has been materialized as a DOM.

Returns ​

boolean


isXmlPart ​

Get Signature ​

get isXmlPart(): boolean

Whether this part's body is XML (by content type).

Returns ​

boolean


originalBytes ​

Get Signature ​

get originalBytes(): Uint8Array

The bytes the part was loaded or created with. Do not mutate.

Not the part's current body. An edit made through dom and markDirty is visible only through serialize. Anything that copies, compares or reads a part's content wants serialize(): every slide copy and import used to read this instead, and silently dropped each edit made earlier in the session. Named so a call site has to say which of the two it means.

Returns ​

Uint8Array

Methods ​

markDirty() ​

markDirty(): void

Call after mutating the DOM so serialize() reserializes this part.

Returns ​

void


serialize() ​

serialize(): Uint8Array

The part's current body, which is also what save() writes: the original bytes when clean (byte-identical), the serialized DOM when dirty (semantically equivalent, schema-valid). Copy a part through this, not originalBytes.

Returns ​

Uint8Array