chore(split): Journey

This commit is contained in:
Sidharth Vinod 2022-11-18 16:22:38 +05:30
parent e5768454f1
commit 0b4c6f6477
No known key found for this signature in database
GPG Key ID: FB5CCD378D3907CD
3 changed files with 36 additions and 23 deletions

View File

@ -13,13 +13,7 @@ import classDiagram from '../diagrams/class/classDetector';
import classDiagramV2 from '../diagrams/class/classDetector-V2';
import state from '../diagrams/state/stateDetector';
import stateV2 from '../diagrams/state/stateDetector-V2';
// @ts-ignore: TODO Fix ts errors
import journeyParser from '../diagrams/user-journey/parser/journey';
import { journeyDetector } from '../diagrams/user-journey/journeyDetector';
import journeyDb from '../diagrams/user-journey/journeyDb';
import journeyRenderer from '../diagrams/user-journey/journeyRenderer';
import journeyStyles from '../diagrams/user-journey/styles';
import journey from '../diagrams/user-journey/journeyDetector';
import errorRenderer from '../diagrams/error/errorRenderer';
import errorStyles from '../diagrams/error/styles';
@ -70,18 +64,5 @@ export const addDiagrams = () => {
addDiagram(git);
addDiagram(state);
addDiagram(stateV2);
registerDiagram(
'journey',
{
parser: journeyParser,
db: journeyDb,
renderer: journeyRenderer,
styles: journeyStyles,
init: (cnf) => {
journeyRenderer.setConf(cnf.journey);
journeyDb.clear();
},
},
journeyDetector
);
addDiagram(journey);
};

View File

@ -1,5 +1,20 @@
import type { DiagramDetector } from '../../diagram-api/types';
import type { DiagramDetector, ExternalDiagramDefinition } from '../../diagram-api/types';
export const journeyDetector: DiagramDetector = (txt) => {
const id = 'journey';
const detector: DiagramDetector = (txt) => {
return txt.match(/^\s*journey/) !== null;
};
const loader = async () => {
const { diagram } = await import('./journeyDiagram');
return { id, diagram };
};
const plugin: ExternalDiagramDefinition = {
id,
detector,
loader,
};
export default plugin;

View File

@ -0,0 +1,17 @@
import { DiagramDefinition } from '../../diagram-api/types';
// @ts-ignore: TODO Fix ts errors
import parser from './parser/journey';
import db from './journeyDb';
import styles from './styles';
import renderer from './journeyRenderer';
export const diagram: DiagramDefinition = {
parser,
db,
renderer,
styles,
init: (cnf) => {
renderer.setConf(cnf.journey);
db.clear();
},
};