fable 3.0.93 → 3.0.95

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fable",
3
- "version": "3.0.93",
3
+ "version": "3.0.95",
4
4
  "description": "An entity behavior management and API bundling library.",
5
5
  "main": "source/Fable.js",
6
6
  "scripts": {
@@ -189,50 +189,50 @@ class StringParser
189
189
  return false;
190
190
  }
191
191
 
192
- executePatternAsync(pParserState, pData, fCallback)
193
- {
194
- // ... this is the end of a pattern, cut off the end tag and parse it.
195
- // Trim the start and end tags off the output buffer now
196
- if (pParserState.Pattern.isAsync && !pParserState.Pattern.isBoth)
197
- {
198
- // Run the function
199
- return pParserState.Pattern.Parse(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStartString.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStartString.length+pParserState.Pattern.PatternEndString.length)), pData,
200
- (pError, pAsyncOutput) =>
201
- {
202
- if (pError)
203
- {
204
- console.log(`Precedent ERROR: Async template error happened parsing ${pParserState.Pattern.PatternStart} ... ${pParserState.Pattern.PatternEnd}: ${pError}`);
205
- }
192
+ executePatternAsync(pParserState, pData, fCallback)
193
+ {
194
+ // ... this is the end of a pattern, cut off the end tag and parse it.
195
+ // Trim the start and end tags off the output buffer now
196
+ if (pParserState.Pattern.isAsync && !pParserState.Pattern.isBoth)
197
+ {
198
+ // Run the function
199
+ return pParserState.Pattern.Parse(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStartString.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStartString.length+pParserState.Pattern.PatternEndString.length)), pData,
200
+ (pError, pAsyncOutput) =>
201
+ {
202
+ if (pError)
203
+ {
204
+ console.log(`Precedent ERROR: Async template error happened parsing ${pParserState.Pattern.PatternStart} ... ${pParserState.Pattern.PatternEnd}: ${pError}`);
205
+ }
206
206
 
207
- pParserState.OutputBuffer = pAsyncOutput;
208
- this.resetOutputBuffer(pParserState);
209
- return fCallback();
210
- });
211
- }
212
- else if (pParserState.Pattern.isAsync && pParserState.Pattern.isBoth)
213
- {
214
- // Run the function when both async and non async were provided with the pattern
215
- return pParserState.Pattern.ParseAsync(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStartString.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStartString.length+pParserState.Pattern.PatternEndString.length)), pData,
216
- (pError, pAsyncOutput) =>
217
- {
218
- if (pError)
219
- {
220
- console.log(`Precedent ERROR: Async template error happened parsing ${pParserState.Pattern.PatternStart} ... ${pParserState.Pattern.PatternEnd}: ${pError}`);
221
- }
207
+ pParserState.OutputBuffer = pAsyncOutput;
208
+ this.resetOutputBuffer(pParserState);
209
+ return setTimeout(fCallback, 0);
210
+ });
211
+ }
212
+ else if (pParserState.Pattern.isAsync && pParserState.Pattern.isBoth)
213
+ {
214
+ // Run the function when both async and non async were provided with the pattern
215
+ return pParserState.Pattern.ParseAsync(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStartString.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStartString.length+pParserState.Pattern.PatternEndString.length)), pData,
216
+ (pError, pAsyncOutput) =>
217
+ {
218
+ if (pError)
219
+ {
220
+ console.log(`Precedent ERROR: Async template error happened parsing ${pParserState.Pattern.PatternStart} ... ${pParserState.Pattern.PatternEnd}: ${pError}`);
221
+ }
222
222
 
223
- pParserState.OutputBuffer = pAsyncOutput;
224
- this.resetOutputBuffer(pParserState);
225
- return fCallback();
226
- });
227
- }
228
- else
229
- {
230
- // Run the t*mplate function
231
- pParserState.OutputBuffer = pParserState.Pattern.Parse(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStartString.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStartString.length+pParserState.Pattern.PatternEndString.length)), pData);
232
- this.resetOutputBuffer(pParserState);
233
- return fCallback();
234
- }
235
- }
223
+ pParserState.OutputBuffer = pAsyncOutput;
224
+ this.resetOutputBuffer(pParserState);
225
+ return setTimeout(fCallback, 0);
226
+ });
227
+ }
228
+ else
229
+ {
230
+ // Run the t*mplate function
231
+ pParserState.OutputBuffer = pParserState.Pattern.Parse(pParserState.OutputBuffer.substr(pParserState.Pattern.PatternStartString.length, pParserState.OutputBuffer.length - (pParserState.Pattern.PatternStartString.length+pParserState.Pattern.PatternEndString.length)), pData);
232
+ this.resetOutputBuffer(pParserState);
233
+ return setTimeout(fCallback, 0);
234
+ }
235
+ }
236
236
 
237
237
 
238
238
  /**
@@ -325,6 +325,8 @@ class StringParser
325
325
  this.appendOutputBuffer(pCharacter, pParserState);
326
326
  }
327
327
  }
328
+ // Without this, templates of all sizes work fine in node. They do not in the browser.
329
+ // Trying this out without the timout on non asynchronous template flips.
328
330
  return fCallback();
329
331
  }
330
332