1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | 'use strict';
|
16 |
|
17 | const { getAttr } = require('@accordproject/markdown-common').CommonMarkUtils;
|
18 | const NS_PREFIX_CiceroMarkModel = require('./externalModels/CiceroMarkModel').NS_PREFIX_CiceroMarkModel;
|
19 |
|
20 |
|
21 | const formulaRule = {
|
22 | tag: NS_PREFIX_CiceroMarkModel + 'Formula',
|
23 | leaf: true,
|
24 | open: false,
|
25 | close: false,
|
26 | enter: (node,token,callback) => {
|
27 | node.name = getAttr(token.attrs,'name',null);
|
28 | node.value = token.content;
|
29 | node.dependencies = [];
|
30 | },
|
31 | skipEmpty: false,
|
32 | };
|
33 |
|
34 |
|
35 | const clauseOpenRule = {
|
36 | tag: NS_PREFIX_CiceroMarkModel + 'Clause',
|
37 | leaf: false,
|
38 | open: true,
|
39 | close: false,
|
40 | enter: (node,token,callback) => {
|
41 | node.name = getAttr(token.attrs,'name',null);
|
42 | node.src = getAttr(token.attrs,'src',null);
|
43 | },
|
44 | };
|
45 | const clauseCloseRule = {
|
46 | tag: NS_PREFIX_CiceroMarkModel + 'Clause',
|
47 | leaf: false,
|
48 | open: false,
|
49 | close: true,
|
50 | };
|
51 |
|
52 | const rules = { inlines: {}, blocks: {} };
|
53 | rules.inlines.formula = formulaRule;
|
54 |
|
55 | rules.blocks.block_clause_open = clauseOpenRule;
|
56 | rules.blocks.block_clause_close = clauseCloseRule;
|
57 |
|
58 | module.exports = rules;
|