Skip to content

Class: ContentTypes ​

Overlay over [Content_Types].xml, used to resolve part content types at load and to register new ones when parts are added. While clean, the original bytes pass through verbatim on save (byte-identical); once a mutation marks it dirty, OpcPackage.save() writes serialize() instead.

Constructors ​

Constructor ​

new ContentTypes(): ContentTypes

Returns ​

ContentTypes

Accessors ​

isDirty ​

Get Signature ​

get isDirty(): boolean

True once a registration changed the overlay; serialize() is then authoritative.

Returns ​

boolean

Methods ​

contentTypeFor() ​

contentTypeFor(partName): string | undefined

Exact Override match first, else Default by lowercased extension.

Parameters ​

ParameterType
partNamestring

Returns ​

string | undefined


ensureDefault() ​

ensureDefault(extension, contentType): void

Register a Default content type for a (lowercased) extension if absent.

Parameters ​

ParameterType
extensionstring
contentTypestring

Returns ​

void


ensureRegistered() ​

ensureRegistered(partName, contentType): void

Ensure partName resolves to contentType, adding the minimum needed. A no-op when an existing Default/Override already resolves it to the same type; otherwise an Override is added (always valid, never conflicts with a differing Default).

Parameters ​

ParameterType
partNamestring
contentTypestring

Returns ​

void


removeOverride() ​

removeOverride(partName): void

Drop the Override for partName if present (e.g. when a part is removed). Default rules by extension are left untouched — they may still serve other parts. Marks the overlay dirty when something was removed.

Parameters ​

ParameterType
partNamestring

Returns ​

void


serialize() ​

serialize(): string

Returns ​

string


parse() ​

static parse(xml): ContentTypes

Parameters ​

ParameterType
xmlstring

Returns ​

ContentTypes