1 | const BpmnModdle = require('bpmn-moddle');
|
2 |
|
3 | const readFileSync = require('fs').readFileSync;
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | function createModdle(xml, elementType = 'bpmn:Definitions') {
|
14 | const moddle = new BpmnModdle();
|
15 |
|
16 | return new Promise((resolve, reject) => {
|
17 | moddle.fromXML(xml, elementType, { lax: true }, function(err, root, context) {
|
18 | if (err) {
|
19 | return reject(err);
|
20 | } else {
|
21 | return resolve({
|
22 | root,
|
23 | context,
|
24 | moddle
|
25 | });
|
26 | }
|
27 | });
|
28 | });
|
29 | }
|
30 |
|
31 | module.exports.createModdle = createModdle;
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 | function readModdle(filePath) {
|
42 | const contents = readFileSync(filePath, 'utf8');
|
43 |
|
44 | return createModdle(contents);
|
45 | }
|
46 |
|
47 | module.exports.readModdle = readModdle; |
\ | No newline at end of file |