fable 3.0.22 → 3.0.23

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/fable.js CHANGED
@@ -2011,10 +2011,11 @@
2011
2011
  * Parse a string with the existing parse tree
2012
2012
  * @method parseString
2013
2013
  * @param {string} pString - The string to parse
2014
+ * @param {object} pData - Data to pass in as the second argument
2014
2015
  * @return {string} The result from the parser
2015
2016
  */
2016
- parseString(pString) {
2017
- return this.StringParser.parseString(pString, this.ParseTree);
2017
+ parseString(pString, pData) {
2018
+ return this.StringParser.parseString(pString, this.ParseTree, pData);
2018
2019
  }
2019
2020
  }
2020
2021
  module.exports = Precedent;
@@ -2104,11 +2105,11 @@
2104
2105
  * @param {Object} pParserState - The state object for the current parsing task
2105
2106
  * @private
2106
2107
  */
2107
- checkPatternEnd(pParserState) {
2108
+ checkPatternEnd(pParserState, pData) {
2108
2109
  if (pParserState.OutputBuffer.length >= pParserState.Pattern.PatternEnd.length + pParserState.Pattern.PatternStart.length && pParserState.OutputBuffer.substr(-pParserState.Pattern.PatternEnd.length) === pParserState.Pattern.PatternEnd) {
2109
2110
  // ... this is the end of a pattern, cut off the end tag and parse it.
2110
2111
  // Trim the start and end tags off the output buffer now
2111
- pParserState.OutputBuffer = pParserState.Pattern.Parse(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStart.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStart.length + pParserState.Pattern.PatternEnd.length)));
2112
+ pParserState.OutputBuffer = pParserState.Pattern.Parse(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStart.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStart.length + pParserState.Pattern.PatternEnd.length)), pData);
2112
2113
  // Flush the output buffer.
2113
2114
  this.flushOutputBuffer(pParserState);
2114
2115
  // End pattern mode
@@ -2124,7 +2125,7 @@
2124
2125
  * @param {Object} pParserState - The state object for the current parsing task
2125
2126
  * @private
2126
2127
  */
2127
- parseCharacter(pCharacter, pParserState) {
2128
+ parseCharacter(pCharacter, pParserState, pData) {
2128
2129
  // (1) If we aren't in a pattern match, and we aren't potentially matching, and this may be the start of a new pattern....
2129
2130
  if (!pParserState.PatternMatch && pParserState.ParseTree.hasOwnProperty(pCharacter)) {
2130
2131
  // ... assign the node as the matched node.
@@ -2141,7 +2142,7 @@
2141
2142
  this.appendOutputBuffer(pCharacter, pParserState);
2142
2143
  if (pParserState.Pattern) {
2143
2144
  // ... Check if this is the end of the pattern (if we are matching a valid pattern)...
2144
- this.checkPatternEnd(pParserState);
2145
+ this.checkPatternEnd(pParserState, pData);
2145
2146
  }
2146
2147
  }
2147
2148
  // (3) If we aren't in a pattern match or pattern, and this isn't the start of a new pattern (RAW mode)....
@@ -2155,12 +2156,13 @@
2155
2156
  * @method parseString
2156
2157
  * @param {string} pString - The string to parse.
2157
2158
  * @param {Object} pParseTree - The parse tree to begin parsing from (usually root)
2159
+ * @param {Object} pData - The data to pass to the function as a second paramter
2158
2160
  */
2159
- parseString(pString, pParseTree) {
2161
+ parseString(pString, pParseTree, pData) {
2160
2162
  let tmpParserState = this.newParserState(pParseTree);
2161
2163
  for (var i = 0; i < pString.length; i++) {
2162
2164
  // TODO: This is not fast.
2163
- this.parseCharacter(pString[i], tmpParserState);
2165
+ this.parseCharacter(pString[i], tmpParserState, pData);
2164
2166
  }
2165
2167
  this.flushOutputBuffer(tmpParserState);
2166
2168
  return tmpParserState.Output;
package/dist/fable.min.js CHANGED
@@ -75,7 +75,7 @@ var n=t("./Fable-UUID-Random.js");class i{constructor(t){this._UUIDModeRandom=!(
75
75
  *
76
76
  * @description Process text streams, parsing out meta-template expressions.
77
77
  */
78
- var n=t("./WordTree.js"),i=t("./StringParser.js");e.exports=class{constructor(){this.WordTree=new n,this.StringParser=new i,this.ParseTree=this.WordTree.ParseTree}addPattern(t,e,r){return this.WordTree.addPattern(t,e,r)}parseString(t){return this.StringParser.parseString(t,this.ParseTree)}}},{"./StringParser.js":31,"./WordTree.js":32}],31:[function(t,e,r){e.exports=
78
+ var n=t("./WordTree.js"),i=t("./StringParser.js");e.exports=class{constructor(){this.WordTree=new n,this.StringParser=new i,this.ParseTree=this.WordTree.ParseTree}addPattern(t,e,r){return this.WordTree.addPattern(t,e,r)}parseString(t,e){return this.StringParser.parseString(t,this.ParseTree,e)}}},{"./StringParser.js":31,"./WordTree.js":32}],31:[function(t,e,r){e.exports=
79
79
  /**
80
80
  * String Parser
81
81
  *
@@ -85,7 +85,7 @@ var n=t("./WordTree.js"),i=t("./StringParser.js");e.exports=class{constructor(){
85
85
  *
86
86
  * @description Parse a string, properly processing each matched token in the word tree.
87
87
  */
88
- class{constructor(){}newParserState(t){return{ParseTree:t,Output:"",OutputBuffer:"",Pattern:!1,PatternMatch:!1,PatternMatchOutputBuffer:""}}assignNode(t,e){e.PatternMatch=t,e.PatternMatch.hasOwnProperty("PatternEnd")&&(e.Pattern=e.PatternMatch)}appendOutputBuffer(t,e){e.OutputBuffer+=t}flushOutputBuffer(t){t.Output+=t.OutputBuffer,t.OutputBuffer=""}checkPatternEnd(t){t.OutputBuffer.length>=t.Pattern.PatternEnd.length+t.Pattern.PatternStart.length&&t.OutputBuffer.substr(-t.Pattern.PatternEnd.length)===t.Pattern.PatternEnd&&(t.OutputBuffer=t.Pattern.Parse(t.OutputBuffer.substr(t.Pattern.PatternStart.length,t.OutputBuffer.length-(t.Pattern.PatternStart.length+t.Pattern.PatternEnd.length))),this.flushOutputBuffer(t),t.Pattern=!1,t.PatternMatch=!1)}parseCharacter(t,e){!e.PatternMatch&&e.ParseTree.hasOwnProperty(t)?(this.assignNode(e.ParseTree[t],e),this.appendOutputBuffer(t,e)):e.PatternMatch?(e.PatternMatch.hasOwnProperty(t)&&this.assignNode(e.PatternMatch[t],e),this.appendOutputBuffer(t,e),e.Pattern&&this.checkPatternEnd(e)):e.Output+=t}parseString(t,e){let r=this.newParserState(e);for(var n=0;n<t.length;n++)this.parseCharacter(t[n],r);return this.flushOutputBuffer(r),r.Output}}},{}],32:[function(t,e,r){e.exports=
88
+ class{constructor(){}newParserState(t){return{ParseTree:t,Output:"",OutputBuffer:"",Pattern:!1,PatternMatch:!1,PatternMatchOutputBuffer:""}}assignNode(t,e){e.PatternMatch=t,e.PatternMatch.hasOwnProperty("PatternEnd")&&(e.Pattern=e.PatternMatch)}appendOutputBuffer(t,e){e.OutputBuffer+=t}flushOutputBuffer(t){t.Output+=t.OutputBuffer,t.OutputBuffer=""}checkPatternEnd(t,e){t.OutputBuffer.length>=t.Pattern.PatternEnd.length+t.Pattern.PatternStart.length&&t.OutputBuffer.substr(-t.Pattern.PatternEnd.length)===t.Pattern.PatternEnd&&(t.OutputBuffer=t.Pattern.Parse(t.OutputBuffer.substr(t.Pattern.PatternStart.length,t.OutputBuffer.length-(t.Pattern.PatternStart.length+t.Pattern.PatternEnd.length)),e),this.flushOutputBuffer(t),t.Pattern=!1,t.PatternMatch=!1)}parseCharacter(t,e,r){!e.PatternMatch&&e.ParseTree.hasOwnProperty(t)?(this.assignNode(e.ParseTree[t],e),this.appendOutputBuffer(t,e)):e.PatternMatch?(e.PatternMatch.hasOwnProperty(t)&&this.assignNode(e.PatternMatch[t],e),this.appendOutputBuffer(t,e),e.Pattern&&this.checkPatternEnd(e,r)):e.Output+=t}parseString(t,e,r){let n=this.newParserState(e);for(var i=0;i<t.length;i++)this.parseCharacter(t[i],n,r);return this.flushOutputBuffer(n),n.Output}}},{}],32:[function(t,e,r){e.exports=
89
89
  /**
90
90
  * Word Tree
91
91
  *