Skip to content

xingyuzhe/moddle-context-serializer

 
 

Repository files navigation

bpmn-moddle context serializer

Make bpmn-moddle context serializable and mapped to behaviour functions

Build Status

Documentation

The tests are the documentation. Hence, please study test

A basic example:

import {default as Serializer, TypeResolver} from 'moddle-context-serializer';
import * as bpmnElementsBehaviour from 'bpmn-elements';

import EscalationEventDefinition from './mytypes/EscalationEventDefinition';

import BpmnModdle from 'bpmn-moddle';

export async function getSerializedContext(source) {
  const moddleContext = await getModdleContext(source);
  const typeResolver = TypeResolver(bpmnElementsBehaviour, extender);
  return Serializer(moddleContext, typeResolver);
}

function extender(behaviourMapping) {
  behaviourMapping['bpmn:EscalationEventDefinition'] = EscalationEventDefinition;
}

function getModdleContext(source) {
  const bpmnModdle = new BpmnModdle();

  return new Promise((resolve, reject) => {
    bpmnModdle.fromXML(source, (err, definitions, moddleCtx) => {
      if (err) return reject(err);
      resolve(moddleCtx);
    });
  });
}

About

Serialize bpmn-moddle moddle context

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%