I

IMasterProvider

Implementations of this interface are responsible for creating masters and style sheets for specific IModelItems and their styles.

Inheritance Hierarchy

Remarks

They are registered at a VsdxExportConfiguration. Usually, there is no need to implement this interface directly. Instead, extend the MasterProviderBase class.

The VsdxExportConfiguration holds a list of IMasterProviders which will called in the order of this list until one master provider returns a value.

Implementations are also responsible for caching masters, so they can be used for multiple items. See CachingMasterProvider for this.

Members

No filters for this type

Methods

This will be called once after the export is finished and shall clear any state created during the export, especially maps containing masters or style sheets for reuse.

Note that a master or style sheet is only valid for the same export run it was created.

abstract

Will be called once for each node in the graph and shall return a VSDX Master and VSDX StyleSheets or an empty Promise.

When this method returns a value the propagation will be stopped and the returned master and styles are used for the shape representing this node. Otherwise, this node will be propagated through other IMasterProviders in the chain after this one.

abstract

Parameters

node: INode

The node to create the master and styles for.

context: MasterProviderContext

Return Value

Promise<[ ShapeStyleConfiguration, null]> | ShapeStyleConfiguration | null
A promise with an object containing a master and style sheets to stop the propagation or an empty promise.