@gmb/bitmark-parser-generator 1.4.8 → 1.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/bitmark-parser-generator.min.js +1 -1
- package/dist/browser/bundle-report.html +2 -2
- package/dist/cjs/BitmarkParserGenerator.js +6 -3
- package/dist/cjs/BitmarkParserGenerator.js.map +1 -1
- package/dist/cjs/ast/BaseBuilder.js +6 -5
- package/dist/cjs/ast/BaseBuilder.js.map +1 -1
- package/dist/cjs/ast/Builder.js +2 -1
- package/dist/cjs/ast/Builder.js.map +1 -1
- package/dist/cjs/ast/ResourceBuilder.js +2 -1
- package/dist/cjs/ast/ResourceBuilder.js.map +1 -1
- package/dist/cjs/breakscaping/Breakscape.js +240 -0
- package/dist/cjs/breakscaping/Breakscape.js.map +1 -0
- package/dist/cjs/generated/build-info.js +1 -1
- package/dist/cjs/generated/build-info.js.map +1 -1
- package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js +94 -68
- package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
- package/dist/cjs/generated/parser/text/text-peggy-parser.js +9 -9
- package/dist/cjs/generated/parser/text/text-peggy-parser.js.map +1 -1
- package/dist/cjs/generator/json/JsonGenerator.js +136 -126
- package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
- package/dist/cjs/generator/text/TextGenerator.js +13 -28
- package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model/ast/BreakscapedString.js +3 -0
- package/dist/cjs/model/ast/BreakscapedString.js.map +1 -0
- package/dist/cjs/model/ast/StardardString.js +3 -0
- package/dist/cjs/model/ast/StardardString.js.map +1 -0
- package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js +8 -7
- package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +17 -16
- package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +2 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js +2 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/PartnerChainContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
- package/dist/cjs/parser/json/JsonParser.js +98 -99
- package/dist/cjs/parser/json/JsonParser.js.map +1 -1
- package/dist/esm/BitmarkParserGenerator.js +7 -4
- package/dist/esm/BitmarkParserGenerator.js.map +1 -1
- package/dist/esm/ast/BaseBuilder.js +6 -5
- package/dist/esm/ast/BaseBuilder.js.map +1 -1
- package/dist/esm/ast/Builder.js +2 -1
- package/dist/esm/ast/Builder.js.map +1 -1
- package/dist/esm/ast/ResourceBuilder.js +2 -1
- package/dist/esm/ast/ResourceBuilder.js.map +1 -1
- package/dist/esm/breakscaping/Breakscape.js +237 -0
- package/dist/esm/breakscaping/Breakscape.js.map +1 -0
- package/dist/esm/generated/build-info.js +1 -1
- package/dist/esm/generated/build-info.js.map +1 -1
- package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js +94 -68
- package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
- package/dist/esm/generated/parser/text/text-peggy-parser.js +9 -8
- package/dist/esm/generated/parser/text/text-peggy-parser.js.map +1 -1
- package/dist/esm/generator/json/JsonGenerator.js +136 -126
- package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
- package/dist/esm/generator/text/TextGenerator.js +13 -26
- package/dist/esm/generator/text/TextGenerator.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model/ast/BreakscapedString.js +2 -0
- package/dist/esm/model/ast/BreakscapedString.js.map +1 -0
- package/dist/esm/model/ast/StardardString.js +2 -0
- package/dist/esm/model/ast/StardardString.js.map +1 -0
- package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js +8 -7
- package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +17 -16
- package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +2 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js +2 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/PartnerChainContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
- package/dist/esm/parser/json/JsonParser.js +98 -99
- package/dist/esm/parser/json/JsonParser.js.map +1 -1
- package/dist/types/BitmarkParserGenerator.d.ts.map +1 -1
- package/dist/types/ast/BaseBuilder.d.ts +4 -3
- package/dist/types/ast/BaseBuilder.d.ts.map +1 -1
- package/dist/types/ast/Builder.d.ts +157 -156
- package/dist/types/ast/Builder.d.ts.map +1 -1
- package/dist/types/ast/ResourceBuilder.d.ts +111 -110
- package/dist/types/ast/ResourceBuilder.d.ts.map +1 -1
- package/dist/types/breakscaping/Breakscape.d.ts +49 -0
- package/dist/types/breakscaping/Breakscape.d.ts.map +1 -0
- package/dist/types/generated/parser/bitmark/bitmark-peggy-parser.d.ts.map +1 -1
- package/dist/types/generated/parser/text/text-peggy-parser.d.ts +0 -1
- package/dist/types/generated/parser/text/text-peggy-parser.d.ts.map +1 -1
- package/dist/types/generator/json/JsonGenerator.d.ts +8 -7
- package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
- package/dist/types/generator/text/TextGenerator.d.ts +11 -12
- package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/ast/BreakscapedString.d.ts +4 -0
- package/dist/types/model/ast/BreakscapedString.d.ts.map +1 -0
- package/dist/types/model/ast/Nodes.d.ts +97 -96
- package/dist/types/model/ast/Nodes.d.ts.map +1 -1
- package/dist/types/model/ast/StardardString.d.ts +4 -0
- package/dist/types/model/ast/StardardString.d.ts.map +1 -0
- package/dist/types/model/json/BitJson.d.ts +1 -1
- package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts +36 -35
- package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/BitmarkPegParserValidator.d.ts +4 -3
- package/dist/types/parser/bitmark/peg/BitmarkPegParserValidator.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/PartnerChainContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.d.ts +2 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.d.ts.map +1 -1
- package/dist/types/parser/json/JsonParser.d.ts +9 -0
- package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Breakscape = void 0;
|
|
4
|
+
const StringUtils_1 = require("../utils/StringUtils");
|
|
5
|
+
/**
|
|
6
|
+
* Utility class for breakscaping strings.
|
|
7
|
+
*
|
|
8
|
+
* Breakscaping is the process of escaping certain character sequences in a string so that they are not interpreted as
|
|
9
|
+
* special sequences by the parser.
|
|
10
|
+
*
|
|
11
|
+
* This is different from escaping in that when escaping, single characters tend to be escaped, rather than sequences
|
|
12
|
+
* being broken (split) by a special charater.
|
|
13
|
+
*
|
|
14
|
+
* The special character is ^
|
|
15
|
+
* To include the special character in a text, use ^^ (once), ^^^ (twice), etc.
|
|
16
|
+
*
|
|
17
|
+
* The following sequences can be breakscaped:
|
|
18
|
+
* - inline: == ==> =^=
|
|
19
|
+
* - comment: || ==> |^|
|
|
20
|
+
* - remark: :: ==> :^:
|
|
21
|
+
* - title block: (SOL)[##]#(space) ==> (SOL)[##]#^(space)
|
|
22
|
+
* - new block: (SOL)|(WS EOL) ==> (SOL)|^(WS EOL)
|
|
23
|
+
* - code block: (SOL)|code(:type) ==> (SOL)|^code(:type)
|
|
24
|
+
* - image block: (SOL)|image:(url) ==> (SOL)|^image:(url)
|
|
25
|
+
* - bullet list: (SOL)•(space) ==> (SOL)•^(space)
|
|
26
|
+
* - ordered list: (SOL)•1(space) ==> (SOL)•^1(space)
|
|
27
|
+
* - tag list +: (SOL)•+(space) ==> (SOL)•^+(space)
|
|
28
|
+
* - tag list -: (SOL)•-(space) ==> (SOL)•^-(space)
|
|
29
|
+
* - bold: ** ==> *^*
|
|
30
|
+
* - light: `` ==> `^`
|
|
31
|
+
* - italic: __ ==> _^_
|
|
32
|
+
* - highlight: !! ==> !^!
|
|
33
|
+
* - start of bit: [. ==> [^.
|
|
34
|
+
* - start of property: [@ ==> [^@
|
|
35
|
+
* - start of title: [# ==> [^#
|
|
36
|
+
* - start of anchor: [▼ ==> [^▼
|
|
37
|
+
* - start of reference: [► ==> [^►
|
|
38
|
+
* - start of item/lead: [% ==> [^%
|
|
39
|
+
* - start of instruction: [! ==> [^!
|
|
40
|
+
* - start of hint: [? ==> [^?
|
|
41
|
+
* - start of true statement: [+ ==> [^+
|
|
42
|
+
* - start of false statement: [- ==> [^-
|
|
43
|
+
* - start of sample solution: [$ ==> [^$
|
|
44
|
+
* - start of gap: [_ ==> [^_
|
|
45
|
+
* - start of mark: [= ==> [^=
|
|
46
|
+
* - start of resource: [& ==> [^&
|
|
47
|
+
* - end of tag: ] ==> ^]
|
|
48
|
+
*
|
|
49
|
+
*
|
|
50
|
+
* The following are breakscaped with ^ in between. Just add more ^s to increase the number of ^ string:
|
|
51
|
+
* - inline: =^= ==> =^^=
|
|
52
|
+
* - comment: |^| ==> |^^|
|
|
53
|
+
* - remark: :^: ==> :^^:
|
|
54
|
+
* - title block: (SOL)[##]#^(space) ==> (SOL)[##]#^^(space)
|
|
55
|
+
* - new block: (SOL)|^(WS EOL) ==> (SOL)|^^(WS EOL)
|
|
56
|
+
* - code block: (SOL)|^code(:type) ==> (SOL)|^^code(:type)
|
|
57
|
+
* - image block: (SOL)|^image:(url) ==> (SOL)|^^image:(url)
|
|
58
|
+
* - bullet list: (SOL)•^(space) ==> (SOL)•^^(space)
|
|
59
|
+
* - ordered list: (SOL)•^1(space) ==> (SOL)•^^1(space)
|
|
60
|
+
* - tag list +: (SOL)•^+(space) ==> (SOL)•^^+(space)
|
|
61
|
+
* - tag list -: (SOL)•^-(space) ==> (SOL)•^^-(space)
|
|
62
|
+
* - bold: *^* ==> *^^*
|
|
63
|
+
* - light: `^` ==> `^^`
|
|
64
|
+
* - italic: _^_ ==> _^^_
|
|
65
|
+
* - highlight: !^! ==> !^^!
|
|
66
|
+
* - start of bit: [^. ==> [^^.
|
|
67
|
+
* - start of property: [^@ ==> [^^@
|
|
68
|
+
* - start of title: [^# ==> [^^#
|
|
69
|
+
* - start of anchor: [^▼ ==> [^^▼
|
|
70
|
+
* - start of reference: [^► ==> [^^►
|
|
71
|
+
* - start of item/lead: [^% ==> [^^%
|
|
72
|
+
* - start of instruction: [^! ==> [^^!
|
|
73
|
+
* - start of hint: [^? ==> [^^?
|
|
74
|
+
* - start of true statement: [^+ ==> [^^+
|
|
75
|
+
* - start of false statement: [^- ==> [^^-
|
|
76
|
+
* - start of sample solution: [^$ ==> [^^$
|
|
77
|
+
* - start of gap: [^_ ==> [^^_
|
|
78
|
+
* - start of mark: [^= ==> [^^=
|
|
79
|
+
* - start of resource: [^& ==> [^^&
|
|
80
|
+
* - end of tag: ^] ==> ^^]
|
|
81
|
+
*/
|
|
82
|
+
//
|
|
83
|
+
// Breakscaping
|
|
84
|
+
//
|
|
85
|
+
const REGEX_MARKS = /([*`_!|:=])([\^]*)\1/;
|
|
86
|
+
const REGEX_BLOCKS = /^(\|)([\^]*)(code[\s]*|code:|image:|[\s]*$)/;
|
|
87
|
+
const REGEX_TITLE_BLOCKS = /^([#]{1,3})([\^]*)([^\S\r\n]+)/;
|
|
88
|
+
const REGEX_LIST_BLOCKS = /^(•)([\^]*)(1|\+|-|)([^\S\r\n]+)/;
|
|
89
|
+
const REGEX_START_OF_TAG = /(\[)([\^]*)([.@#▼►%!?+\-$_=&])/;
|
|
90
|
+
const REGEX_END_OF_TAG = /([\^]*)(])/;
|
|
91
|
+
const BREAKSCAPE_REGEX_SOURCE = `${REGEX_MARKS.source}|${REGEX_BLOCKS.source}|${REGEX_TITLE_BLOCKS.source}|${REGEX_LIST_BLOCKS.source}|${REGEX_START_OF_TAG.source}|${REGEX_END_OF_TAG.source}`;
|
|
92
|
+
const UNBREAKSCAPE_REGEX_SOURCE = BREAKSCAPE_REGEX_SOURCE.replace(/(\(\[\\\^\]\*\))/g, '\\^$1'); // Add ^ into the regex
|
|
93
|
+
// Regex groups in BODY (bitmark++):
|
|
94
|
+
// 1: start of MARK
|
|
95
|
+
// 2: ^ in MARK
|
|
96
|
+
// 3: start of BLOCK
|
|
97
|
+
// 4: ^ in BLOCK
|
|
98
|
+
// 5: end of BLOCK
|
|
99
|
+
// 6: start of TITLE_BLOCK
|
|
100
|
+
// 7: ^ in TITLE_BLOCK
|
|
101
|
+
// 8: end of TITLE_BLOCK
|
|
102
|
+
// 9: start of LIST_BLOCK
|
|
103
|
+
// 10: ^ in LIST_BLOCK
|
|
104
|
+
// 11: end of LIST_BLOCK part 1
|
|
105
|
+
// 12: end of LIST_BLOCK part 2
|
|
106
|
+
// 13: start of START_OF_TAG block
|
|
107
|
+
// 14: ^ in START_OF_TAG block
|
|
108
|
+
// 15: end of START_OF_TAG block
|
|
109
|
+
// 16: ^ in END_OF_TAG block
|
|
110
|
+
// 17: end of END_OF_TAG block
|
|
111
|
+
const BREAKSCAPE_REGEX = new RegExp(BREAKSCAPE_REGEX_SOURCE, 'gm');
|
|
112
|
+
const BREAKSCAPE_REGEX_REPLACER = '$1$3$6$9$13^$2$1$4$5$7$8$10$11$12$14$15$16$17';
|
|
113
|
+
const UNBREAKSCAPE_REGEX = new RegExp(UNBREAKSCAPE_REGEX_SOURCE, 'gm');
|
|
114
|
+
const UNBREAKSCAPE_REGEX_REPLACER = BREAKSCAPE_REGEX_REPLACER.replace(/\^/g, ''); // Remove ^ from the regex replacer
|
|
115
|
+
// Regex explanation:
|
|
116
|
+
// - match a single | or • or # character at the start of a line and capture in group 1
|
|
117
|
+
// This will capture all new block characters within the code text.
|
|
118
|
+
// Replace with group 1, ^
|
|
119
|
+
const BREAKSCAPE_CODE_REGEX = new RegExp('^(\\||•|#)', 'gm');
|
|
120
|
+
const BREAKSCAPE_CODE_REGEX_REPLACER = '$1^';
|
|
121
|
+
class Breakscape {
|
|
122
|
+
constructor() {
|
|
123
|
+
this.EMPTY_STRING = '';
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Breakscape a string or an array of strings.
|
|
127
|
+
* If the input is an array, a new array will be returned.
|
|
128
|
+
*
|
|
129
|
+
* @param val input value
|
|
130
|
+
* @param options options for breakscaping
|
|
131
|
+
* @param modifyArray
|
|
132
|
+
* @returns the input value with any strings breakscaped.
|
|
133
|
+
*/
|
|
134
|
+
breakscape(val, options) {
|
|
135
|
+
if (val == null)
|
|
136
|
+
return val;
|
|
137
|
+
const opts = Object.assign({}, options);
|
|
138
|
+
const breakscapeStr = (str) => {
|
|
139
|
+
if (!str)
|
|
140
|
+
return str;
|
|
141
|
+
str = str.replace(BREAKSCAPE_REGEX, BREAKSCAPE_REGEX_REPLACER);
|
|
142
|
+
return str;
|
|
143
|
+
};
|
|
144
|
+
if (Array.isArray(val)) {
|
|
145
|
+
const newVal = opts.modifyArray ? val : [val.length];
|
|
146
|
+
for (let i = 0, len = val.length; i < len; i++) {
|
|
147
|
+
const v = val[i];
|
|
148
|
+
if (StringUtils_1.StringUtils.isString(v)) {
|
|
149
|
+
newVal[i] = breakscapeStr(v);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
val = newVal;
|
|
153
|
+
}
|
|
154
|
+
else if (StringUtils_1.StringUtils.isString(val)) {
|
|
155
|
+
val = breakscapeStr(val);
|
|
156
|
+
}
|
|
157
|
+
return val;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Unbreakscape a string or an array of strings.
|
|
161
|
+
* If the input is an array, a new array will be returned.
|
|
162
|
+
*
|
|
163
|
+
* @param val input value
|
|
164
|
+
* @param modifyArray if true, the original array will be modified rather than a copy being made
|
|
165
|
+
* @returns the input value with any strings unbreakscaped.
|
|
166
|
+
*/
|
|
167
|
+
unbreakscape(val, options) {
|
|
168
|
+
if (val == null)
|
|
169
|
+
return val;
|
|
170
|
+
const opts = Object.assign({}, options);
|
|
171
|
+
const unbreakscapeStr = (str) => {
|
|
172
|
+
if (!str)
|
|
173
|
+
return str;
|
|
174
|
+
str = str.replace(UNBREAKSCAPE_REGEX, UNBREAKSCAPE_REGEX_REPLACER);
|
|
175
|
+
return str;
|
|
176
|
+
};
|
|
177
|
+
if (Array.isArray(val)) {
|
|
178
|
+
const newVal = opts.modifyArray ? val : [];
|
|
179
|
+
for (let i = 0, len = val.length; i < len; i++) {
|
|
180
|
+
const v = val[i];
|
|
181
|
+
if (StringUtils_1.StringUtils.isString(v)) {
|
|
182
|
+
newVal[i] = unbreakscapeStr(v);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
newVal[i] = v;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
val = newVal;
|
|
189
|
+
}
|
|
190
|
+
else if (StringUtils_1.StringUtils.isString(val)) {
|
|
191
|
+
val = unbreakscapeStr(val);
|
|
192
|
+
}
|
|
193
|
+
return val;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Breakscape a code string or an array of code strings.
|
|
197
|
+
* If the input is an array, a new array will be returned.
|
|
198
|
+
*
|
|
199
|
+
* @param val input value
|
|
200
|
+
* @param modifyArray if true, the original array will be modified rather than a copy being made
|
|
201
|
+
* @returns the input value with any strings breakscaped
|
|
202
|
+
*/
|
|
203
|
+
breakscapeCode(val, options) {
|
|
204
|
+
if (val == null)
|
|
205
|
+
return val;
|
|
206
|
+
const opts = Object.assign({}, options);
|
|
207
|
+
const breakscapeStr = (str) => {
|
|
208
|
+
if (!str)
|
|
209
|
+
return str;
|
|
210
|
+
return str.replace(BREAKSCAPE_CODE_REGEX, BREAKSCAPE_CODE_REGEX_REPLACER);
|
|
211
|
+
};
|
|
212
|
+
if (Array.isArray(val)) {
|
|
213
|
+
const newVal = opts.modifyArray ? val : [val.length];
|
|
214
|
+
for (let i = 0, len = val.length; i < len; i++) {
|
|
215
|
+
const v = val[i];
|
|
216
|
+
if (StringUtils_1.StringUtils.isString(v)) {
|
|
217
|
+
val[i] = breakscapeStr(v);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
val = newVal;
|
|
221
|
+
}
|
|
222
|
+
else if (StringUtils_1.StringUtils.isString(val)) {
|
|
223
|
+
val = breakscapeStr(val);
|
|
224
|
+
}
|
|
225
|
+
return val;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Concatenate two breakscaped strings.
|
|
229
|
+
*
|
|
230
|
+
* @param s1 first string
|
|
231
|
+
* @param s2 second string
|
|
232
|
+
* @returns the concatenated string
|
|
233
|
+
*/
|
|
234
|
+
concatenate(s1, s2) {
|
|
235
|
+
return (s1 + s2);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
const instance = new Breakscape();
|
|
239
|
+
exports.Breakscape = instance;
|
|
240
|
+
//# sourceMappingURL=Breakscape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breakscape.js","sourceRoot":"","sources":["../../../src/breakscaping/Breakscape.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ exports.buildInfo = void 0;
|
|
|
5
5
|
/* eslint-disable */
|
|
6
6
|
exports.buildInfo = {
|
|
7
7
|
"name": "@gmb/bitmark-parser-generator",
|
|
8
|
-
"version": "1.4.
|
|
8
|
+
"version": "1.4.10",
|
|
9
9
|
"author": "Get More Brain Ltd",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"description": "A bitmark parser and generator using Peggy.js"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-info.js","sourceRoot":"","sources":["../../../src/generated/build-info.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;AAErD,oBAAoB;AAEP,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,+BAA+B;IACvC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"build-info.js","sourceRoot":"","sources":["../../../src/generated/build-info.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;AAErD,oBAAoB;AAEP,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,+BAA+B;IACvC,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,+CAA+C;CAC/D,CAAC"}
|
|
@@ -189,12 +189,13 @@ function peg$parse(input, options) {
|
|
|
189
189
|
var peg$c24 = "[&";
|
|
190
190
|
var peg$c25 = "::";
|
|
191
191
|
var peg$c26 = "||";
|
|
192
|
-
var peg$c27 = "
|
|
193
|
-
var peg$c28 = "
|
|
194
|
-
var peg$c29 = "\
|
|
195
|
-
var peg$c30 = "\r";
|
|
196
|
-
var peg$c31 = "\
|
|
197
|
-
var peg$c32 = "\
|
|
192
|
+
var peg$c27 = "^]";
|
|
193
|
+
var peg$c28 = "id:";
|
|
194
|
+
var peg$c29 = "\n";
|
|
195
|
+
var peg$c30 = "\r\n";
|
|
196
|
+
var peg$c31 = "\r";
|
|
197
|
+
var peg$c32 = "\u2028";
|
|
198
|
+
var peg$c33 = "\u2029";
|
|
198
199
|
var peg$r0 = /^[^\]]/;
|
|
199
200
|
var peg$r1 = /^[^:\]]/;
|
|
200
201
|
var peg$r2 = /^[^&:\]]/;
|
|
@@ -230,26 +231,27 @@ function peg$parse(input, options) {
|
|
|
230
231
|
var peg$e26 = peg$literalExpectation("[&", false);
|
|
231
232
|
var peg$e27 = peg$literalExpectation("::", false);
|
|
232
233
|
var peg$e28 = peg$literalExpectation("||", false);
|
|
233
|
-
var peg$e29 = peg$literalExpectation("
|
|
234
|
-
var peg$e30 = peg$
|
|
235
|
-
var peg$e31 = peg$classExpectation(["
|
|
236
|
-
var peg$e32 = peg$
|
|
237
|
-
var peg$e33 = peg$
|
|
238
|
-
var peg$e34 = peg$
|
|
239
|
-
var peg$e35 = peg$otherExpectation("
|
|
240
|
-
var peg$e36 = peg$
|
|
241
|
-
var peg$e37 = peg$
|
|
242
|
-
var peg$e38 = peg$otherExpectation("
|
|
243
|
-
var peg$e39 = peg$otherExpectation("
|
|
244
|
-
var peg$e40 = peg$otherExpectation("Line
|
|
245
|
-
var peg$e41 = peg$
|
|
246
|
-
var peg$e42 = peg$literalExpectation("\
|
|
247
|
-
var peg$e43 = peg$literalExpectation("\r", false);
|
|
248
|
-
var peg$e44 = peg$literalExpectation("\
|
|
249
|
-
var peg$e45 = peg$literalExpectation("\
|
|
250
|
-
var peg$e46 = peg$
|
|
251
|
-
var peg$e47 = peg$otherExpectation("
|
|
252
|
-
var peg$e48 = peg$
|
|
234
|
+
var peg$e29 = peg$literalExpectation("^]", false);
|
|
235
|
+
var peg$e30 = peg$literalExpectation("id:", false);
|
|
236
|
+
var peg$e31 = peg$classExpectation([":", "]"], true, false);
|
|
237
|
+
var peg$e32 = peg$classExpectation(["&", ":", "]"], true, false);
|
|
238
|
+
var peg$e33 = peg$otherExpectation("Empty");
|
|
239
|
+
var peg$e34 = peg$classExpectation([" ", "\t"], false, false);
|
|
240
|
+
var peg$e35 = peg$otherExpectation("Anything");
|
|
241
|
+
var peg$e36 = peg$otherExpectation("Character");
|
|
242
|
+
var peg$e37 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false);
|
|
243
|
+
var peg$e38 = peg$otherExpectation("Line");
|
|
244
|
+
var peg$e39 = peg$otherExpectation("whitespace in line");
|
|
245
|
+
var peg$e40 = peg$otherExpectation("Blank Line");
|
|
246
|
+
var peg$e41 = peg$otherExpectation("Line Terminator");
|
|
247
|
+
var peg$e42 = peg$literalExpectation("\n", false);
|
|
248
|
+
var peg$e43 = peg$literalExpectation("\r\n", false);
|
|
249
|
+
var peg$e44 = peg$literalExpectation("\r", false);
|
|
250
|
+
var peg$e45 = peg$literalExpectation("\u2028", false);
|
|
251
|
+
var peg$e46 = peg$literalExpectation("\u2029", false);
|
|
252
|
+
var peg$e47 = peg$otherExpectation("Whitespace, then Line Terminator");
|
|
253
|
+
var peg$e48 = peg$otherExpectation("whitespace");
|
|
254
|
+
var peg$e49 = peg$classExpectation([" ", "\t", "\n", "\r", "\u2028", "\u2029"], false, false);
|
|
253
255
|
var peg$f0 = function (firstBit, bits) { return processor.buildBits([firstBit, ...bits]); };
|
|
254
256
|
var peg$f1 = function (bit) { return helper.handleRawBit(bit); };
|
|
255
257
|
var peg$f2 = function (bit) { return bit; };
|
|
@@ -2383,18 +2385,17 @@ function peg$parse(input, options) {
|
|
|
2383
2385
|
s0 = peg$currPos;
|
|
2384
2386
|
s1 = peg$currPos;
|
|
2385
2387
|
s2 = [];
|
|
2386
|
-
if (
|
|
2387
|
-
s3 =
|
|
2388
|
-
peg$currPos
|
|
2388
|
+
if (input.substr(peg$currPos, 2) === peg$c27) {
|
|
2389
|
+
s3 = peg$c27;
|
|
2390
|
+
peg$currPos += 2;
|
|
2389
2391
|
}
|
|
2390
2392
|
else {
|
|
2391
2393
|
s3 = peg$FAILED;
|
|
2392
2394
|
if (peg$silentFails === 0) {
|
|
2393
|
-
peg$fail(peg$
|
|
2395
|
+
peg$fail(peg$e29);
|
|
2394
2396
|
}
|
|
2395
2397
|
}
|
|
2396
|
-
|
|
2397
|
-
s2.push(s3);
|
|
2398
|
+
if (s3 === peg$FAILED) {
|
|
2398
2399
|
if (peg$r0.test(input.charAt(peg$currPos))) {
|
|
2399
2400
|
s3 = input.charAt(peg$currPos);
|
|
2400
2401
|
peg$currPos++;
|
|
@@ -2406,6 +2407,31 @@ function peg$parse(input, options) {
|
|
|
2406
2407
|
}
|
|
2407
2408
|
}
|
|
2408
2409
|
}
|
|
2410
|
+
while (s3 !== peg$FAILED) {
|
|
2411
|
+
s2.push(s3);
|
|
2412
|
+
if (input.substr(peg$currPos, 2) === peg$c27) {
|
|
2413
|
+
s3 = peg$c27;
|
|
2414
|
+
peg$currPos += 2;
|
|
2415
|
+
}
|
|
2416
|
+
else {
|
|
2417
|
+
s3 = peg$FAILED;
|
|
2418
|
+
if (peg$silentFails === 0) {
|
|
2419
|
+
peg$fail(peg$e29);
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
if (s3 === peg$FAILED) {
|
|
2423
|
+
if (peg$r0.test(input.charAt(peg$currPos))) {
|
|
2424
|
+
s3 = input.charAt(peg$currPos);
|
|
2425
|
+
peg$currPos++;
|
|
2426
|
+
}
|
|
2427
|
+
else {
|
|
2428
|
+
s3 = peg$FAILED;
|
|
2429
|
+
if (peg$silentFails === 0) {
|
|
2430
|
+
peg$fail(peg$e1);
|
|
2431
|
+
}
|
|
2432
|
+
}
|
|
2433
|
+
}
|
|
2434
|
+
}
|
|
2409
2435
|
s1 = input.substring(s1, peg$currPos);
|
|
2410
2436
|
peg$savedPos = s0;
|
|
2411
2437
|
s1 = peg$f47(s1);
|
|
@@ -2417,14 +2443,14 @@ function peg$parse(input, options) {
|
|
|
2417
2443
|
s0 = peg$currPos;
|
|
2418
2444
|
s1 = peg$currPos;
|
|
2419
2445
|
peg$silentFails++;
|
|
2420
|
-
if (input.substr(peg$currPos, 3) === peg$
|
|
2421
|
-
s2 = peg$
|
|
2446
|
+
if (input.substr(peg$currPos, 3) === peg$c28) {
|
|
2447
|
+
s2 = peg$c28;
|
|
2422
2448
|
peg$currPos += 3;
|
|
2423
2449
|
}
|
|
2424
2450
|
else {
|
|
2425
2451
|
s2 = peg$FAILED;
|
|
2426
2452
|
if (peg$silentFails === 0) {
|
|
2427
|
-
peg$fail(peg$
|
|
2453
|
+
peg$fail(peg$e30);
|
|
2428
2454
|
}
|
|
2429
2455
|
}
|
|
2430
2456
|
peg$silentFails--;
|
|
@@ -2445,7 +2471,7 @@ function peg$parse(input, options) {
|
|
|
2445
2471
|
else {
|
|
2446
2472
|
s4 = peg$FAILED;
|
|
2447
2473
|
if (peg$silentFails === 0) {
|
|
2448
|
-
peg$fail(peg$
|
|
2474
|
+
peg$fail(peg$e31);
|
|
2449
2475
|
}
|
|
2450
2476
|
}
|
|
2451
2477
|
while (s4 !== peg$FAILED) {
|
|
@@ -2457,7 +2483,7 @@ function peg$parse(input, options) {
|
|
|
2457
2483
|
else {
|
|
2458
2484
|
s4 = peg$FAILED;
|
|
2459
2485
|
if (peg$silentFails === 0) {
|
|
2460
|
-
peg$fail(peg$
|
|
2486
|
+
peg$fail(peg$e31);
|
|
2461
2487
|
}
|
|
2462
2488
|
}
|
|
2463
2489
|
}
|
|
@@ -2529,7 +2555,7 @@ function peg$parse(input, options) {
|
|
|
2529
2555
|
else {
|
|
2530
2556
|
s3 = peg$FAILED;
|
|
2531
2557
|
if (peg$silentFails === 0) {
|
|
2532
|
-
peg$fail(peg$
|
|
2558
|
+
peg$fail(peg$e32);
|
|
2533
2559
|
}
|
|
2534
2560
|
}
|
|
2535
2561
|
while (s3 !== peg$FAILED) {
|
|
@@ -2541,7 +2567,7 @@ function peg$parse(input, options) {
|
|
|
2541
2567
|
else {
|
|
2542
2568
|
s3 = peg$FAILED;
|
|
2543
2569
|
if (peg$silentFails === 0) {
|
|
2544
|
-
peg$fail(peg$
|
|
2570
|
+
peg$fail(peg$e32);
|
|
2545
2571
|
}
|
|
2546
2572
|
}
|
|
2547
2573
|
}
|
|
@@ -2952,7 +2978,7 @@ function peg$parse(input, options) {
|
|
|
2952
2978
|
else {
|
|
2953
2979
|
s2 = peg$FAILED;
|
|
2954
2980
|
if (peg$silentFails === 0) {
|
|
2955
|
-
peg$fail(peg$
|
|
2981
|
+
peg$fail(peg$e34);
|
|
2956
2982
|
}
|
|
2957
2983
|
}
|
|
2958
2984
|
if (s2 === peg$FAILED) {
|
|
@@ -2967,7 +2993,7 @@ function peg$parse(input, options) {
|
|
|
2967
2993
|
else {
|
|
2968
2994
|
s2 = peg$FAILED;
|
|
2969
2995
|
if (peg$silentFails === 0) {
|
|
2970
|
-
peg$fail(peg$
|
|
2996
|
+
peg$fail(peg$e34);
|
|
2971
2997
|
}
|
|
2972
2998
|
}
|
|
2973
2999
|
if (s2 === peg$FAILED) {
|
|
@@ -2987,7 +3013,7 @@ function peg$parse(input, options) {
|
|
|
2987
3013
|
if (s0 === peg$FAILED) {
|
|
2988
3014
|
s1 = peg$FAILED;
|
|
2989
3015
|
if (peg$silentFails === 0) {
|
|
2990
|
-
peg$fail(peg$
|
|
3016
|
+
peg$fail(peg$e33);
|
|
2991
3017
|
}
|
|
2992
3018
|
}
|
|
2993
3019
|
return s0;
|
|
@@ -3022,7 +3048,7 @@ function peg$parse(input, options) {
|
|
|
3022
3048
|
peg$silentFails--;
|
|
3023
3049
|
s1 = peg$FAILED;
|
|
3024
3050
|
if (peg$silentFails === 0) {
|
|
3025
|
-
peg$fail(peg$
|
|
3051
|
+
peg$fail(peg$e35);
|
|
3026
3052
|
}
|
|
3027
3053
|
return s0;
|
|
3028
3054
|
}
|
|
@@ -3036,14 +3062,14 @@ function peg$parse(input, options) {
|
|
|
3036
3062
|
else {
|
|
3037
3063
|
s0 = peg$FAILED;
|
|
3038
3064
|
if (peg$silentFails === 0) {
|
|
3039
|
-
peg$fail(peg$
|
|
3065
|
+
peg$fail(peg$e37);
|
|
3040
3066
|
}
|
|
3041
3067
|
}
|
|
3042
3068
|
peg$silentFails--;
|
|
3043
3069
|
if (s0 === peg$FAILED) {
|
|
3044
3070
|
s1 = peg$FAILED;
|
|
3045
3071
|
if (peg$silentFails === 0) {
|
|
3046
|
-
peg$fail(peg$
|
|
3072
|
+
peg$fail(peg$e36);
|
|
3047
3073
|
}
|
|
3048
3074
|
}
|
|
3049
3075
|
return s0;
|
|
@@ -3060,7 +3086,7 @@ function peg$parse(input, options) {
|
|
|
3060
3086
|
peg$silentFails--;
|
|
3061
3087
|
s1 = peg$FAILED;
|
|
3062
3088
|
if (peg$silentFails === 0) {
|
|
3063
|
-
peg$fail(peg$
|
|
3089
|
+
peg$fail(peg$e38);
|
|
3064
3090
|
}
|
|
3065
3091
|
return s0;
|
|
3066
3092
|
}
|
|
@@ -3074,14 +3100,14 @@ function peg$parse(input, options) {
|
|
|
3074
3100
|
else {
|
|
3075
3101
|
s0 = peg$FAILED;
|
|
3076
3102
|
if (peg$silentFails === 0) {
|
|
3077
|
-
peg$fail(peg$
|
|
3103
|
+
peg$fail(peg$e34);
|
|
3078
3104
|
}
|
|
3079
3105
|
}
|
|
3080
3106
|
peg$silentFails--;
|
|
3081
3107
|
if (s0 === peg$FAILED) {
|
|
3082
3108
|
s1 = peg$FAILED;
|
|
3083
3109
|
if (peg$silentFails === 0) {
|
|
3084
|
-
peg$fail(peg$
|
|
3110
|
+
peg$fail(peg$e39);
|
|
3085
3111
|
}
|
|
3086
3112
|
}
|
|
3087
3113
|
return s0;
|
|
@@ -3098,7 +3124,7 @@ function peg$parse(input, options) {
|
|
|
3098
3124
|
else {
|
|
3099
3125
|
s2 = peg$FAILED;
|
|
3100
3126
|
if (peg$silentFails === 0) {
|
|
3101
|
-
peg$fail(peg$
|
|
3127
|
+
peg$fail(peg$e34);
|
|
3102
3128
|
}
|
|
3103
3129
|
}
|
|
3104
3130
|
while (s2 !== peg$FAILED) {
|
|
@@ -3110,7 +3136,7 @@ function peg$parse(input, options) {
|
|
|
3110
3136
|
else {
|
|
3111
3137
|
s2 = peg$FAILED;
|
|
3112
3138
|
if (peg$silentFails === 0) {
|
|
3113
|
-
peg$fail(peg$
|
|
3139
|
+
peg$fail(peg$e34);
|
|
3114
3140
|
}
|
|
3115
3141
|
}
|
|
3116
3142
|
}
|
|
@@ -3127,7 +3153,7 @@ function peg$parse(input, options) {
|
|
|
3127
3153
|
if (s0 === peg$FAILED) {
|
|
3128
3154
|
s1 = peg$FAILED;
|
|
3129
3155
|
if (peg$silentFails === 0) {
|
|
3130
|
-
peg$fail(peg$
|
|
3156
|
+
peg$fail(peg$e40);
|
|
3131
3157
|
}
|
|
3132
3158
|
}
|
|
3133
3159
|
return s0;
|
|
@@ -3136,57 +3162,57 @@ function peg$parse(input, options) {
|
|
|
3136
3162
|
var s0, s1;
|
|
3137
3163
|
peg$silentFails++;
|
|
3138
3164
|
if (input.charCodeAt(peg$currPos) === 10) {
|
|
3139
|
-
s0 = peg$
|
|
3165
|
+
s0 = peg$c29;
|
|
3140
3166
|
peg$currPos++;
|
|
3141
3167
|
}
|
|
3142
3168
|
else {
|
|
3143
3169
|
s0 = peg$FAILED;
|
|
3144
3170
|
if (peg$silentFails === 0) {
|
|
3145
|
-
peg$fail(peg$
|
|
3171
|
+
peg$fail(peg$e42);
|
|
3146
3172
|
}
|
|
3147
3173
|
}
|
|
3148
3174
|
if (s0 === peg$FAILED) {
|
|
3149
|
-
if (input.substr(peg$currPos, 2) === peg$
|
|
3150
|
-
s0 = peg$
|
|
3175
|
+
if (input.substr(peg$currPos, 2) === peg$c30) {
|
|
3176
|
+
s0 = peg$c30;
|
|
3151
3177
|
peg$currPos += 2;
|
|
3152
3178
|
}
|
|
3153
3179
|
else {
|
|
3154
3180
|
s0 = peg$FAILED;
|
|
3155
3181
|
if (peg$silentFails === 0) {
|
|
3156
|
-
peg$fail(peg$
|
|
3182
|
+
peg$fail(peg$e43);
|
|
3157
3183
|
}
|
|
3158
3184
|
}
|
|
3159
3185
|
if (s0 === peg$FAILED) {
|
|
3160
3186
|
if (input.charCodeAt(peg$currPos) === 13) {
|
|
3161
|
-
s0 = peg$
|
|
3187
|
+
s0 = peg$c31;
|
|
3162
3188
|
peg$currPos++;
|
|
3163
3189
|
}
|
|
3164
3190
|
else {
|
|
3165
3191
|
s0 = peg$FAILED;
|
|
3166
3192
|
if (peg$silentFails === 0) {
|
|
3167
|
-
peg$fail(peg$
|
|
3193
|
+
peg$fail(peg$e44);
|
|
3168
3194
|
}
|
|
3169
3195
|
}
|
|
3170
3196
|
if (s0 === peg$FAILED) {
|
|
3171
3197
|
if (input.charCodeAt(peg$currPos) === 8232) {
|
|
3172
|
-
s0 = peg$
|
|
3198
|
+
s0 = peg$c32;
|
|
3173
3199
|
peg$currPos++;
|
|
3174
3200
|
}
|
|
3175
3201
|
else {
|
|
3176
3202
|
s0 = peg$FAILED;
|
|
3177
3203
|
if (peg$silentFails === 0) {
|
|
3178
|
-
peg$fail(peg$
|
|
3204
|
+
peg$fail(peg$e45);
|
|
3179
3205
|
}
|
|
3180
3206
|
}
|
|
3181
3207
|
if (s0 === peg$FAILED) {
|
|
3182
3208
|
if (input.charCodeAt(peg$currPos) === 8233) {
|
|
3183
|
-
s0 = peg$
|
|
3209
|
+
s0 = peg$c33;
|
|
3184
3210
|
peg$currPos++;
|
|
3185
3211
|
}
|
|
3186
3212
|
else {
|
|
3187
3213
|
s0 = peg$FAILED;
|
|
3188
3214
|
if (peg$silentFails === 0) {
|
|
3189
|
-
peg$fail(peg$
|
|
3215
|
+
peg$fail(peg$e46);
|
|
3190
3216
|
}
|
|
3191
3217
|
}
|
|
3192
3218
|
}
|
|
@@ -3197,7 +3223,7 @@ function peg$parse(input, options) {
|
|
|
3197
3223
|
if (s0 === peg$FAILED) {
|
|
3198
3224
|
s1 = peg$FAILED;
|
|
3199
3225
|
if (peg$silentFails === 0) {
|
|
3200
|
-
peg$fail(peg$
|
|
3226
|
+
peg$fail(peg$e41);
|
|
3201
3227
|
}
|
|
3202
3228
|
}
|
|
3203
3229
|
return s0;
|
|
@@ -3214,7 +3240,7 @@ function peg$parse(input, options) {
|
|
|
3214
3240
|
else {
|
|
3215
3241
|
s2 = peg$FAILED;
|
|
3216
3242
|
if (peg$silentFails === 0) {
|
|
3217
|
-
peg$fail(peg$
|
|
3243
|
+
peg$fail(peg$e34);
|
|
3218
3244
|
}
|
|
3219
3245
|
}
|
|
3220
3246
|
while (s2 !== peg$FAILED) {
|
|
@@ -3226,7 +3252,7 @@ function peg$parse(input, options) {
|
|
|
3226
3252
|
else {
|
|
3227
3253
|
s2 = peg$FAILED;
|
|
3228
3254
|
if (peg$silentFails === 0) {
|
|
3229
|
-
peg$fail(peg$
|
|
3255
|
+
peg$fail(peg$e34);
|
|
3230
3256
|
}
|
|
3231
3257
|
}
|
|
3232
3258
|
}
|
|
@@ -3243,7 +3269,7 @@ function peg$parse(input, options) {
|
|
|
3243
3269
|
if (s0 === peg$FAILED) {
|
|
3244
3270
|
s1 = peg$FAILED;
|
|
3245
3271
|
if (peg$silentFails === 0) {
|
|
3246
|
-
peg$fail(peg$
|
|
3272
|
+
peg$fail(peg$e47);
|
|
3247
3273
|
}
|
|
3248
3274
|
}
|
|
3249
3275
|
return s0;
|
|
@@ -3258,14 +3284,14 @@ function peg$parse(input, options) {
|
|
|
3258
3284
|
else {
|
|
3259
3285
|
s0 = peg$FAILED;
|
|
3260
3286
|
if (peg$silentFails === 0) {
|
|
3261
|
-
peg$fail(peg$
|
|
3287
|
+
peg$fail(peg$e49);
|
|
3262
3288
|
}
|
|
3263
3289
|
}
|
|
3264
3290
|
peg$silentFails--;
|
|
3265
3291
|
if (s0 === peg$FAILED) {
|
|
3266
3292
|
s1 = peg$FAILED;
|
|
3267
3293
|
if (peg$silentFails === 0) {
|
|
3268
|
-
peg$fail(peg$
|
|
3294
|
+
peg$fail(peg$e48);
|
|
3269
3295
|
}
|
|
3270
3296
|
}
|
|
3271
3297
|
return s0;
|