fable 3.0.21 → 3.0.22

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
@@ -2488,7 +2488,7 @@
2488
2488
  }
2489
2489
  module.exports = libNPMModuleWrapper;
2490
2490
  }, {
2491
- "./Fable.js": 42
2491
+ "./Fable.js": 43
2492
2492
  }],
2493
2493
  36: [function (require, module, exports) {
2494
2494
  const _OperationStatePrototype = JSON.stringify({
@@ -2584,10 +2584,47 @@
2584
2584
  }
2585
2585
  module.exports = FableServiceDataArithmatic;
2586
2586
  }, {
2587
- "./Fable-ServiceProviderBase.js": 41,
2587
+ "./Fable-ServiceProviderBase.js": 42,
2588
2588
  "data-arithmatic": 17
2589
2589
  }],
2590
2590
  38: [function (require, module, exports) {
2591
+ const libFableServiceBase = require('./Fable-ServiceProviderBase.js');
2592
+ const libPrecedent = require('precedent');
2593
+ class FableServiceMetaTemplate extends libFableServiceBase {
2594
+ constructor(pFable, pOptions, pServiceHash) {
2595
+ super(pFable, pOptions, pServiceHash);
2596
+ this.serviceType = 'MetaTemplate';
2597
+ this._MetaTemplateLibrary = new libPrecedent(this.options);
2598
+ }
2599
+
2600
+ /**
2601
+ * Add a Pattern to the Parse Tree
2602
+ * @method addPattern
2603
+ * @param {Object} pTree - A node on the parse tree to push the characters into
2604
+ * @param {string} pPattern - The string to add to the tree
2605
+ * @param {number} pIndex - callback function
2606
+ * @return {bool} True if adding the pattern was successful
2607
+ */
2608
+ addPattern(pPatternStart, pPatternEnd, pParser) {
2609
+ return this._MetaTemplateLibrary.addPattern(pPatternStart, pPatternEnd, pParser);
2610
+ }
2611
+
2612
+ /**
2613
+ * Parse a string with the existing parse tree
2614
+ * @method parseString
2615
+ * @param {string} pString - The string to parse
2616
+ * @return {string} The result from the parser
2617
+ */
2618
+ parseString(pString) {
2619
+ return this._MetaTemplateLibrary.parseString(pString, this.ParseTree);
2620
+ }
2621
+ }
2622
+ module.exports = FableServiceMetaTemplate;
2623
+ }, {
2624
+ "./Fable-ServiceProviderBase.js": 42,
2625
+ "precedent": 30
2626
+ }],
2627
+ 39: [function (require, module, exports) {
2591
2628
  const libFableServiceBase = require('./Fable-ServiceProviderBase.js');
2592
2629
  class FableServiceTemplate extends libFableServiceBase {
2593
2630
  // Underscore and lodash have a behavior, _.template, which compiles a
@@ -2668,9 +2705,9 @@
2668
2705
  }
2669
2706
  module.exports = FableServiceTemplate;
2670
2707
  }, {
2671
- "./Fable-ServiceProviderBase.js": 41
2708
+ "./Fable-ServiceProviderBase.js": 42
2672
2709
  }],
2673
- 39: [function (require, module, exports) {
2710
+ 40: [function (require, module, exports) {
2674
2711
  const libFableServiceBase = require('./Fable-ServiceProviderBase.js');
2675
2712
 
2676
2713
  // TODO: These are still pretty big -- consider the smaller polyfills
@@ -2740,11 +2777,11 @@
2740
2777
  }
2741
2778
  module.exports = FableServiceUtility;
2742
2779
  }, {
2743
- "./Fable-ServiceProviderBase.js": 41,
2780
+ "./Fable-ServiceProviderBase.js": 42,
2744
2781
  "async.eachlimit": 1,
2745
2782
  "async.waterfall": 15
2746
2783
  }],
2747
- 40: [function (require, module, exports) {
2784
+ 41: [function (require, module, exports) {
2748
2785
  /**
2749
2786
  * Fable Application Services Management
2750
2787
  * @license MIT
@@ -2811,9 +2848,9 @@
2811
2848
  module.exports = FableService;
2812
2849
  module.exports.ServiceProviderBase = libFableServiceBase;
2813
2850
  }, {
2814
- "./Fable-ServiceProviderBase.js": 41
2851
+ "./Fable-ServiceProviderBase.js": 42
2815
2852
  }],
2816
- 41: [function (require, module, exports) {
2853
+ 42: [function (require, module, exports) {
2817
2854
  /**
2818
2855
  * Fable Service Base
2819
2856
  * @license MIT
@@ -2831,7 +2868,7 @@
2831
2868
  }
2832
2869
  module.exports = FableServiceProviderBase;
2833
2870
  }, {}],
2834
- 42: [function (require, module, exports) {
2871
+ 43: [function (require, module, exports) {
2835
2872
  /**
2836
2873
  * Fable Application Services Support Library
2837
2874
  * @license MIT
@@ -2843,6 +2880,7 @@
2843
2880
  const libFableServiceManager = require('./Fable-ServiceManager.js');
2844
2881
  const libFableServiceDataArithmatic = require('./Fable-Service-DataArithmatic.js');
2845
2882
  const libFableServiceTemplate = require('./Fable-Service-Template.js');
2883
+ const libFableServiceMetaTemplate = require('./Fable-Service-MetaTemplate.js');
2846
2884
  const libFableServiceUtility = require('./Fable-Service-Utility.js');
2847
2885
  const libFableOperation = require('./Fable-Operation.js');
2848
2886
  class Fable {
@@ -2873,6 +2911,9 @@
2873
2911
  // Initialize the template service
2874
2912
  this.serviceManager.addServiceType('Template', libFableServiceTemplate);
2875
2913
 
2914
+ // Initialize the metatemplate service
2915
+ this.serviceManager.addServiceType('MetaTemplate', libFableServiceMetaTemplate);
2916
+
2876
2917
  // Initialize and instantiate the default baked-in Utility service
2877
2918
  this.serviceManager.addServiceType('Utility', libFableServiceUtility);
2878
2919
  this.fable.serviceManager.instantiateServiceProvider('Utility', {}, 'Default-Service-Utility');
@@ -2920,9 +2961,10 @@
2920
2961
  }, {
2921
2962
  "./Fable-Operation.js": 36,
2922
2963
  "./Fable-Service-DataArithmatic.js": 37,
2923
- "./Fable-Service-Template.js": 38,
2924
- "./Fable-Service-Utility.js": 39,
2925
- "./Fable-ServiceManager.js": 40,
2964
+ "./Fable-Service-MetaTemplate.js": 38,
2965
+ "./Fable-Service-Template.js": 39,
2966
+ "./Fable-Service-Utility.js": 40,
2967
+ "./Fable-ServiceManager.js": 41,
2926
2968
  "fable-log": 23,
2927
2969
  "fable-settings": 26,
2928
2970
  "fable-uuid": 28
package/dist/fable.min.js CHANGED
@@ -95,23 +95,23 @@ class{constructor(){}newParserState(t){return{ParseTree:t,Output:"",OutputBuffer
95
95
  *
96
96
  * @description Create a tree (directed graph) of Javascript objects, one character per object.
97
97
  */
98
- class{constructor(){this.ParseTree={}}addChild(t,e,r){return t.hasOwnProperty(e[r])||(t[e[r]]={}),t[e[r]]}addPattern(t,e,r){if(t.length<1)return!1;if("string"==typeof e&&e.length<1)return!1;let n=this.ParseTree;for(var i=0;i<t.length;i++)n=this.addChild(n,t,i);return n.PatternStart=t,n.PatternEnd="string"==typeof e&&e.length>0?e:t,n.Parse="function"==typeof r?r:"string"==typeof r?()=>r:t=>t,!0}}},{}],33:[function(t,e,r){var n,i,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(t){i=a}}();var c,u=[],h=!1,f=-1;function g(){h&&c&&(h=!1,c.length?u=c.concat(u):f=-1,u.length&&p())}function p(){if(!h){var t=l(g);h=!0;for(var e=u.length;e;){for(c=u,u=[];++f<e;)c&&c[f].run();f=-1,e=u.length}c=null,h=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{return i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function m(){}s.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new d(t,e)),1!==u.length||h||l(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=m,s.addListener=m,s.once=m,s.off=m,s.removeListener=m,s.removeAllListeners=m,s.emit=m,s.prependListener=m,s.prependOnceListener=m,s.listeners=function(t){return[]},s.binding=function(t){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(t){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},{}],34:[function(t,e,r){(function(e,n){(function(){var i=t("process/browser.js").nextTick,s=Function.prototype.apply,o=Array.prototype.slice,a={},l=0;function c(t,e){this._id=t,this._clearFn=e}r.setTimeout=function(){return new c(s.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new c(s.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(t){t.close()},c.prototype.unref=c.prototype.ref=function(){},c.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},r.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},r._unrefActive=r.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r.setImmediate="function"==typeof e?e:function(t){var e=l++,n=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,i((function(){a[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))})),e},r.clearImmediate="function"==typeof n?n:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":33,timers:34}],35:[function(t,e,r){var n=t("./Fable.js");"object"!=typeof window||window.hasOwnProperty("Fable")||(window.Fable=n),e.exports=n},{"./Fable.js":42}],36:[function(t,e,r){const n=JSON.stringify({Metadata:{GUID:!1,Hash:!1,Title:"",Summary:"",Version:0},Status:{Completed:!1,CompletionProgress:0,CompletionTimeElapsed:0,Steps:1,StepsCompleted:0,StartTime:0,EndTime:0},Errors:[],Log:[]});e.exports=class{constructor(t,e,r){this.fable=t,this.name=e,this.state=JSON.parse(n),this.state.Metadata.GUID=this.fable.getUUID(),this.state.Metadata.Hash=this.state.GUID,"string"==typeof r&&(this.state.Metadata.Hash=r)}get GUID(){return this.state.Metadata.GUID}get Hash(){return this.state.Metadata.Hash}get log(){return this}writeOperationLog(t,e,r){this.state.Log.push("".concat((new Date).toUTCString()," [").concat(t,"]: ").concat(e)),"object"==typeof r&&this.state.Log.push(JSON.stringify(r))}writeOperationErrors(t,e){this.state.Errors.push("".concat(t)),"object"==typeof e&&this.state.Errors.push(JSON.stringify(e))}trace(t,e){this.writeOperationLog("TRACE",t,e),this.fable.log.trace(t,e)}debug(t,e){this.writeOperationLog("DEBUG",t,e),this.fable.log.debug(t,e)}info(t,e){this.writeOperationLog("INFO",t,e),this.fable.log.info(t,e)}warn(t,e){this.writeOperationLog("WARN",t,e),this.fable.log.warn(t,e)}error(t,e){this.writeOperationLog("ERROR",t,e),this.writeOperationErrors(t,e),this.fable.log.error(t,e)}fatal(t,e){this.writeOperationLog("FATAL",t,e),this.writeOperationErrors(t,e),this.fable.log.fatal(t,e)}}},{}],37:[function(t,e,r){const n=t("./Fable-ServiceProviderBase.js"),i=t("data-arithmatic");e.exports=class extends n{constructor(t,e,r){super(t,e,r),this.serviceType="DataArithmatic",this._DataArithmaticLibrary=new i}}},{"./Fable-ServiceProviderBase.js":41,"data-arithmatic":17}],38:[function(t,e,r){const n=t("./Fable-ServiceProviderBase.js");e.exports=class extends n{constructor(t,e,r){super(t,e,r),this.serviceType="Template",this.Matchers={Evaluate:/<%([\s\S]+?)%>/g,Interpolate:/<%=([\s\S]+?)%>/g,Escaper:/\\|'|\r|\n|\t|\u2028|\u2029/g,Unescaper:/\\(\\|'|r|n|t|u2028|u2029)/g,GuaranteedNonMatch:/.^/},this.templateEscapes={"\\":"\\","'":"'",r:"\r","\r":"r",n:"\n","\n":"n",t:"\t","\t":"t",u2028:"\u2028","\u2028":"u2028",u2029:"\u2029","\u2029":"u2029"},this.renderFunction=!1,this.templateString=!1}renderTemplate(t){return this.renderFunction(t)}templateFunction(t){return this.renderTemplate.bind(this)}buildTemplateFunction(t,e){return this.TemplateSource="__p+='"+t.replace(this.Matchers.Escaper,(t=>"\\".concat(this.templateEscapes[t]))).replace(this.Matchers.Interpolate||this.Matchers.GuaranteedNonMatch,((t,e)=>"'+\n(".concat(decodeURIComponent(e),")+\n'"))).replace(this.Matchers.Evaluate||this.Matchers.GuaranteedNonMatch,((t,e)=>"';\n".concat(decodeURIComponent(e),"\n;__p+='")))+"';\n",this.TemplateSource="with(pTemplateDataObject||{}){\n".concat(this.TemplateSource,"}\n"),this.TemplateSource="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n".concat(this.TemplateSource,"return __p;\n"),this.renderFunction=new Function("pTemplateDataObject",this.TemplateSource),void 0!==e?this.renderFunction(e):(this.TemplateSourceCompiled="function(obj){\n"+this.TemplateSource+"}",this.templateFunction())}}},{"./Fable-ServiceProviderBase.js":41}],39:[function(t,e,r){const n=t("./Fable-ServiceProviderBase.js"),i=t("async.waterfall"),s=t("async.eachlimit");e.exports=class extends n{constructor(t,e,r){super(t,e,r),this.templates={},this.waterfall=i,this.eachLimit=s}extend(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return Object.assign(t,...r)}template(t,e){return this.fable.serviceManager.instantiateServiceProviderWithoutRegistration("Template").buildTemplateFunction(t,e)}buildHashedTemplate(t,e,r){let n=this.fable.serviceManager.instantiateServiceProvider("Template",{},t);return this.templates[t]=n.buildTemplateFunction(e,r),this.templates[t]}chunk(t,e,r){let n=[...t],i="number"==typeof e?e:0,s=void 0!==r?r:[];if(i<=0)return s;for(;n.length;)s.push(n.splice(0,i));return s}}},{"./Fable-ServiceProviderBase.js":41,"async.eachlimit":1,"async.waterfall":15}],40:[function(t,e,r){
98
+ class{constructor(){this.ParseTree={}}addChild(t,e,r){return t.hasOwnProperty(e[r])||(t[e[r]]={}),t[e[r]]}addPattern(t,e,r){if(t.length<1)return!1;if("string"==typeof e&&e.length<1)return!1;let n=this.ParseTree;for(var i=0;i<t.length;i++)n=this.addChild(n,t,i);return n.PatternStart=t,n.PatternEnd="string"==typeof e&&e.length>0?e:t,n.Parse="function"==typeof r?r:"string"==typeof r?()=>r:t=>t,!0}}},{}],33:[function(t,e,r){var n,i,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(t){i=a}}();var c,u=[],h=!1,f=-1;function g(){h&&c&&(h=!1,c.length?u=c.concat(u):f=-1,u.length&&p())}function p(){if(!h){var t=l(g);h=!0;for(var e=u.length;e;){for(c=u,u=[];++f<e;)c&&c[f].run();f=-1,e=u.length}c=null,h=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{return i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function m(){}s.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new d(t,e)),1!==u.length||h||l(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=m,s.addListener=m,s.once=m,s.off=m,s.removeListener=m,s.removeAllListeners=m,s.emit=m,s.prependListener=m,s.prependOnceListener=m,s.listeners=function(t){return[]},s.binding=function(t){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(t){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},{}],34:[function(t,e,r){(function(e,n){(function(){var i=t("process/browser.js").nextTick,s=Function.prototype.apply,o=Array.prototype.slice,a={},l=0;function c(t,e){this._id=t,this._clearFn=e}r.setTimeout=function(){return new c(s.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new c(s.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(t){t.close()},c.prototype.unref=c.prototype.ref=function(){},c.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},r.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},r._unrefActive=r.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r.setImmediate="function"==typeof e?e:function(t){var e=l++,n=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,i((function(){a[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))})),e},r.clearImmediate="function"==typeof n?n:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":33,timers:34}],35:[function(t,e,r){var n=t("./Fable.js");"object"!=typeof window||window.hasOwnProperty("Fable")||(window.Fable=n),e.exports=n},{"./Fable.js":43}],36:[function(t,e,r){const n=JSON.stringify({Metadata:{GUID:!1,Hash:!1,Title:"",Summary:"",Version:0},Status:{Completed:!1,CompletionProgress:0,CompletionTimeElapsed:0,Steps:1,StepsCompleted:0,StartTime:0,EndTime:0},Errors:[],Log:[]});e.exports=class{constructor(t,e,r){this.fable=t,this.name=e,this.state=JSON.parse(n),this.state.Metadata.GUID=this.fable.getUUID(),this.state.Metadata.Hash=this.state.GUID,"string"==typeof r&&(this.state.Metadata.Hash=r)}get GUID(){return this.state.Metadata.GUID}get Hash(){return this.state.Metadata.Hash}get log(){return this}writeOperationLog(t,e,r){this.state.Log.push("".concat((new Date).toUTCString()," [").concat(t,"]: ").concat(e)),"object"==typeof r&&this.state.Log.push(JSON.stringify(r))}writeOperationErrors(t,e){this.state.Errors.push("".concat(t)),"object"==typeof e&&this.state.Errors.push(JSON.stringify(e))}trace(t,e){this.writeOperationLog("TRACE",t,e),this.fable.log.trace(t,e)}debug(t,e){this.writeOperationLog("DEBUG",t,e),this.fable.log.debug(t,e)}info(t,e){this.writeOperationLog("INFO",t,e),this.fable.log.info(t,e)}warn(t,e){this.writeOperationLog("WARN",t,e),this.fable.log.warn(t,e)}error(t,e){this.writeOperationLog("ERROR",t,e),this.writeOperationErrors(t,e),this.fable.log.error(t,e)}fatal(t,e){this.writeOperationLog("FATAL",t,e),this.writeOperationErrors(t,e),this.fable.log.fatal(t,e)}}},{}],37:[function(t,e,r){const n=t("./Fable-ServiceProviderBase.js"),i=t("data-arithmatic");e.exports=class extends n{constructor(t,e,r){super(t,e,r),this.serviceType="DataArithmatic",this._DataArithmaticLibrary=new i}}},{"./Fable-ServiceProviderBase.js":42,"data-arithmatic":17}],38:[function(t,e,r){const n=t("./Fable-ServiceProviderBase.js"),i=t("precedent");e.exports=class extends n{constructor(t,e,r){super(t,e,r),this.serviceType="MetaTemplate",this._MetaTemplateLibrary=new i(this.options)}addPattern(t,e,r){return this._MetaTemplateLibrary.addPattern(t,e,r)}parseString(t){return this._MetaTemplateLibrary.parseString(t,this.ParseTree)}}},{"./Fable-ServiceProviderBase.js":42,precedent:30}],39:[function(t,e,r){const n=t("./Fable-ServiceProviderBase.js");e.exports=class extends n{constructor(t,e,r){super(t,e,r),this.serviceType="Template",this.Matchers={Evaluate:/<%([\s\S]+?)%>/g,Interpolate:/<%=([\s\S]+?)%>/g,Escaper:/\\|'|\r|\n|\t|\u2028|\u2029/g,Unescaper:/\\(\\|'|r|n|t|u2028|u2029)/g,GuaranteedNonMatch:/.^/},this.templateEscapes={"\\":"\\","'":"'",r:"\r","\r":"r",n:"\n","\n":"n",t:"\t","\t":"t",u2028:"\u2028","\u2028":"u2028",u2029:"\u2029","\u2029":"u2029"},this.renderFunction=!1,this.templateString=!1}renderTemplate(t){return this.renderFunction(t)}templateFunction(t){return this.renderTemplate.bind(this)}buildTemplateFunction(t,e){return this.TemplateSource="__p+='"+t.replace(this.Matchers.Escaper,(t=>"\\".concat(this.templateEscapes[t]))).replace(this.Matchers.Interpolate||this.Matchers.GuaranteedNonMatch,((t,e)=>"'+\n(".concat(decodeURIComponent(e),")+\n'"))).replace(this.Matchers.Evaluate||this.Matchers.GuaranteedNonMatch,((t,e)=>"';\n".concat(decodeURIComponent(e),"\n;__p+='")))+"';\n",this.TemplateSource="with(pTemplateDataObject||{}){\n".concat(this.TemplateSource,"}\n"),this.TemplateSource="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n".concat(this.TemplateSource,"return __p;\n"),this.renderFunction=new Function("pTemplateDataObject",this.TemplateSource),void 0!==e?this.renderFunction(e):(this.TemplateSourceCompiled="function(obj){\n"+this.TemplateSource+"}",this.templateFunction())}}},{"./Fable-ServiceProviderBase.js":42}],40:[function(t,e,r){const n=t("./Fable-ServiceProviderBase.js"),i=t("async.waterfall"),s=t("async.eachlimit");e.exports=class extends n{constructor(t,e,r){super(t,e,r),this.templates={},this.waterfall=i,this.eachLimit=s}extend(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return Object.assign(t,...r)}template(t,e){return this.fable.serviceManager.instantiateServiceProviderWithoutRegistration("Template").buildTemplateFunction(t,e)}buildHashedTemplate(t,e,r){let n=this.fable.serviceManager.instantiateServiceProvider("Template",{},t);return this.templates[t]=n.buildTemplateFunction(e,r),this.templates[t]}chunk(t,e,r){let n=[...t],i="number"==typeof e?e:0,s=void 0!==r?r:[];if(i<=0)return s;for(;n.length;)s.push(n.splice(0,i));return s}}},{"./Fable-ServiceProviderBase.js":42,"async.eachlimit":1,"async.waterfall":15}],41:[function(t,e,r){
99
99
  /**
100
100
  * Fable Application Services Management
101
101
  * @license MIT
102
102
  * @author <steven@velozo.com>
103
103
  */
104
- const n=t("./Fable-ServiceProviderBase.js");e.exports=class{constructor(t){this.fable=t,this.serviceTypes=[],this.services={},this.defaultServices={},this.serviceClasses={}}addServiceType(t,e){this.serviceTypes.push(t),this.services[t]={},"function"==typeof e&&e.prototype instanceof n?this.serviceClasses[t]=e:this.serviceClasses[t]=n}instantiateServiceProvider(t,e,r){let n=this.instantiateServiceProviderWithoutRegistration(t,e,r);return this.services[t][n.Hash]=n,this.defaultServices.hasOwnProperty(t)||(this.defaultServices[t]=n),n}instantiateServiceProviderWithoutRegistration(t,e,r){return new this.serviceClasses[t](this.fable,e,r)}setDefaultServiceInstantiation(t,e){return!!this.services[t].hasOwnProperty(e)&&(this.defaultServices[t]=this.services[t][e],!0)}},e.exports.ServiceProviderBase=n},{"./Fable-ServiceProviderBase.js":41}],41:[function(t,e,r){e.exports=
104
+ const n=t("./Fable-ServiceProviderBase.js");e.exports=class{constructor(t){this.fable=t,this.serviceTypes=[],this.services={},this.defaultServices={},this.serviceClasses={}}addServiceType(t,e){this.serviceTypes.push(t),this.services[t]={},"function"==typeof e&&e.prototype instanceof n?this.serviceClasses[t]=e:this.serviceClasses[t]=n}instantiateServiceProvider(t,e,r){let n=this.instantiateServiceProviderWithoutRegistration(t,e,r);return this.services[t][n.Hash]=n,this.defaultServices.hasOwnProperty(t)||(this.defaultServices[t]=n),n}instantiateServiceProviderWithoutRegistration(t,e,r){return new this.serviceClasses[t](this.fable,e,r)}setDefaultServiceInstantiation(t,e){return!!this.services[t].hasOwnProperty(e)&&(this.defaultServices[t]=this.services[t][e],!0)}},e.exports.ServiceProviderBase=n},{"./Fable-ServiceProviderBase.js":42}],42:[function(t,e,r){e.exports=
105
105
  /**
106
106
  * Fable Service Base
107
107
  * @license MIT
108
108
  * @author <steven@velozo.com>
109
109
  */
110
- class{constructor(t,e,r){this.fable=t,this.options="object"==typeof e?e:{},this.serviceType="Unknown",this.UUID=t.getUUID(),this.Hash="string"==typeof r?r:"".concat(this.UUID)}}},{}],42:[function(t,e,r){
110
+ class{constructor(t,e,r){this.fable=t,this.options="object"==typeof e?e:{},this.serviceType="Unknown",this.UUID=t.getUUID(),this.Hash="string"==typeof r?r:"".concat(this.UUID)}}},{}],43:[function(t,e,r){
111
111
  /**
112
112
  * Fable Application Services Support Library
113
113
  * @license MIT
114
114
  * @author <steven@velozo.com>
115
115
  */
116
- const n=t("fable-settings"),i=t("fable-uuid"),s=t("fable-log"),o=t("./Fable-ServiceManager.js"),a=t("./Fable-Service-DataArithmatic.js"),l=t("./Fable-Service-Template.js"),c=t("./Fable-Service-Utility.js"),u=t("./Fable-Operation.js");class h{constructor(t){let e=new n(t);this.settingsManager=e,this.libUUID=new i(this.settingsManager.settings),this.log=new s(this.settingsManager.settings),this.log.initialize(),this.Dependencies={precedent:n.precedent},this.Operations={},this.serviceManager=new o(this),this.serviceManager.addServiceType("DataArithmatic",a),this.fable.serviceManager.instantiateServiceProvider("DataArithmatic",{},"Default-Service-DataArithmatic"),this.DataArithmatic=this.serviceManager.defaultServices.DataArithmatic._DataArithmaticLibrary,this.serviceManager.addServiceType("Template",l),this.serviceManager.addServiceType("Utility",c),this.fable.serviceManager.instantiateServiceProvider("Utility",{},"Default-Service-Utility"),this.Utility=this.serviceManager.defaultServices.Utility,this.services=this.serviceManager.services,this.defaultServices=this.serviceManager.defaultServices}get settings(){return this.settingsManager.settings}get fable(){return this}getUUID(){return this.libUUID.getUUID()}createOperation(t,e){let r=new u(this,t,e);return this.Operations.hasOwnProperty(r.Hash)||(this.Operations[r.Hash]=r),r}getOperation(t){return!!this.Operations.hasOwnProperty(t)&&this.Operations[t]}}e.exports=h,e.exports.new=function(t){return new h(t)},e.exports.LogProviderBase=s.LogProviderBase,e.exports.ServiceProviderBase=o.ServiceProviderBase,e.exports.precedent=n.precedent},{"./Fable-Operation.js":36,"./Fable-Service-DataArithmatic.js":37,"./Fable-Service-Template.js":38,"./Fable-Service-Utility.js":39,"./Fable-ServiceManager.js":40,"fable-log":23,"fable-settings":26,"fable-uuid":28}]},{},[35])(35)}));
116
+ const n=t("fable-settings"),i=t("fable-uuid"),s=t("fable-log"),o=t("./Fable-ServiceManager.js"),a=t("./Fable-Service-DataArithmatic.js"),l=t("./Fable-Service-Template.js"),c=t("./Fable-Service-MetaTemplate.js"),u=t("./Fable-Service-Utility.js"),h=t("./Fable-Operation.js");class f{constructor(t){let e=new n(t);this.settingsManager=e,this.libUUID=new i(this.settingsManager.settings),this.log=new s(this.settingsManager.settings),this.log.initialize(),this.Dependencies={precedent:n.precedent},this.Operations={},this.serviceManager=new o(this),this.serviceManager.addServiceType("DataArithmatic",a),this.fable.serviceManager.instantiateServiceProvider("DataArithmatic",{},"Default-Service-DataArithmatic"),this.DataArithmatic=this.serviceManager.defaultServices.DataArithmatic._DataArithmaticLibrary,this.serviceManager.addServiceType("Template",l),this.serviceManager.addServiceType("MetaTemplate",c),this.serviceManager.addServiceType("Utility",u),this.fable.serviceManager.instantiateServiceProvider("Utility",{},"Default-Service-Utility"),this.Utility=this.serviceManager.defaultServices.Utility,this.services=this.serviceManager.services,this.defaultServices=this.serviceManager.defaultServices}get settings(){return this.settingsManager.settings}get fable(){return this}getUUID(){return this.libUUID.getUUID()}createOperation(t,e){let r=new h(this,t,e);return this.Operations.hasOwnProperty(r.Hash)||(this.Operations[r.Hash]=r),r}getOperation(t){return!!this.Operations.hasOwnProperty(t)&&this.Operations[t]}}e.exports=f,e.exports.new=function(t){return new f(t)},e.exports.LogProviderBase=s.LogProviderBase,e.exports.ServiceProviderBase=o.ServiceProviderBase,e.exports.precedent=n.precedent},{"./Fable-Operation.js":36,"./Fable-Service-DataArithmatic.js":37,"./Fable-Service-MetaTemplate.js":38,"./Fable-Service-Template.js":39,"./Fable-Service-Utility.js":40,"./Fable-ServiceManager.js":41,"fable-log":23,"fable-settings":26,"fable-uuid":28}]},{},[35])(35)}));
117
117
  //# sourceMappingURL=fable.min.js.map