Merge pull request #4174 from ted-marozzi/feature/4172_expose_diagram_api

feat: expose the diagram api
This commit is contained in:
Sidharth Vinod
2023-03-06 14:00:02 +05:30
committed by GitHub
3 changed files with 16 additions and 1 deletions

View File

@@ -7,6 +7,11 @@ import { UnknownDiagramError } from './errors';
import { DetailedError } from './utils';
export type ParseErrorFunction = (err: string | DetailedError | unknown, hash?: any) => void;
/**
* An object representing a parsed mermaid diagram definition.
* @privateRemarks This is exported as part of the public mermaidAPI.
*/
export class Diagram {
type = 'graph';
parser;
@@ -68,6 +73,15 @@ export class Diagram {
}
}
/**
* Parse the text asynchronously and generate a Diagram object asynchronously.
* **Warning:** This function may be changed in the future.
* @alpha
* @param text - The mermaid diagram definition.
* @returns A the Promise of a Diagram object.
* @throws {@link UnknownDiagramError} if the diagram type can not be found.
* @privateRemarks This is exported as part of the public mermaidAPI.
*/
export const getDiagramFromText = async (text: string): Promise<Diagram> => {
const type = detectType(text, configApi.getConfig());
try {

View File

@@ -663,6 +663,7 @@ export const mermaidAPI = Object.freeze({
render,
parse,
parseDirective,
getDiagramFromText,
initialize,
getConfig: configApi.getConfig,
setConfig: configApi.setConfig,