fable 3.0.18 → 3.0.21

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.
@@ -0,0 +1,117 @@
1
+ "use strict";function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=_superPropBase(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},_get.apply(this,arguments)}function _superPropBase(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf(e)););return e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf(e,t)}function _setPrototypeOf(e,t){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_setPrototypeOf(e,t)}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var r,n=_getPrototypeOf(e);if(t){var i=_getPrototypeOf(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return _possibleConstructorReturn(this,r)}}function _possibleConstructorReturn(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(e)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _getPrototypeOf(e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_getPrototypeOf(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_toPropertyKey(n.key),n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}!function(e){if("object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Fable=e()}}((function(){return function e(t,r,n){function i(a,s){if(!r[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[a]={exports:{}};t[a][0].call(c.exports,(function(e){return i(t[a][1][e]||e)}),c,c.exports,e,t,r,n)}return r[a].exports}for(var o="function"==typeof require&&require,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(e,t,r){var n=e("async.util.eachoflimit"),i=e("async.util.withoutindex");t.exports=function(e,t,r,o){return n(t)(e,i(r),o)}},{"async.util.eachoflimit":3,"async.util.withoutindex":14}],2:[function(e,t,r){t.exports=function(e){return function t(r){function n(){return e.length&&e[r].apply(null,arguments),n.next()}return n.next=function(){return r<e.length-1?t(r+1):null},n}(0)}},{}],3:[function(e,t,r){var n=e("async.util.once"),i=e("async.util.noop"),o=e("async.util.onlyonce"),a=e("async.util.keyiterator");t.exports=function(e){return function(t,r,s){s=n(s||i);var u=a(t=t||[]);if(e<=0)return s(null);var l=!1,c=0,f=!1;!function n(){if(l&&c<=0)return s(null);for(;c<e&&!f;){var i=u();if(null===i)return l=!0,void(c<=0&&s(null));c+=1,r(t[i],i,o((function(e){c-=1,e?(s(e),f=!0):n()})))}}()}}},{"async.util.keyiterator":7,"async.util.noop":9,"async.util.once":10,"async.util.onlyonce":11}],4:[function(e,t,r){var n=e("async.util.setimmediate"),i=e("async.util.restparam");t.exports=function(e){return i((function(t){var r=t.pop();t.push((function(){var e=arguments;i?n((function(){r.apply(null,e)})):r.apply(null,e)}));var i=!0;e.apply(this,t),i=!1}))}},{"async.util.restparam":12,"async.util.setimmediate":13}],5:[function(e,t,r){t.exports=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],6:[function(e,t,r){var n=e("async.util.isarray");t.exports=function(e){return n(e)||"number"==typeof e.length&&e.length>=0&&e.length%1==0}},{"async.util.isarray":5}],7:[function(e,t,r){var n=e("async.util.keys"),i=e("async.util.isarraylike");t.exports=function(e){var t,r,o=-1;return i(e)?(t=e.length,function(){return++o<t?o:null}):(r=n(e),t=r.length,function(){return++o<t?r[o]:null})}},{"async.util.isarraylike":6,"async.util.keys":8}],8:[function(e,t,r){t.exports=Object.keys||function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(r);return t}},{}],9:[function(e,t,r){t.exports=function(){}},{}],10:[function(e,t,r){t.exports=function(e){return function(){null!==e&&(e.apply(this,arguments),e=null)}}},{}],11:[function(e,t,r){t.exports=function(e){return function(){if(null===e)throw new Error("Callback was already called.");e.apply(this,arguments),e=null}}},{}],12:[function(e,t,r){t.exports=function(e,t){return t=null==t?e.length-1:+t,function(){for(var r=Math.max(arguments.length-t,0),n=new Array(r),i=0;i<r;i++)n[i]=arguments[i+t];switch(t){case 0:return e.call(this,n);case 1:return e.call(this,arguments[0],n)}}}},{}],13:[function(e,t,r){(function(e){(function(){var r="function"==typeof e&&e,n=function(e){setTimeout(e,0)};t.exports=function(e){return(r||n)(e)}}).call(this)}).call(this,e("timers").setImmediate)},{timers:34}],14:[function(e,t,r){t.exports=function(e){return function(t,r,n){return e(t,n)}}},{}],15:[function(e,t,r){var n=e("async.util.once"),i=e("async.util.noop"),o=e("async.util.isarray"),a=e("async.util.restparam"),s=e("async.util.ensureasync"),u=e("async.iterator");t.exports=function(e,t){if(t=n(t||i),!o(e))return t(new Error("First argument to waterfall must be an array of functions"));if(!e.length)return t();!function e(r){return a((function(n,i){if(n)t.apply(null,[n].concat(i));else{var o=r.next();o?i.push(e(o)):i.push(t),s(r).apply(null,i)}}))}(u(e))()}},{"async.iterator":2,"async.util.ensureasync":4,"async.util.isarray":5,"async.util.noop":9,"async.util.once":10,"async.util.restparam":12}],16:[function(e,t,r){},{}],17:[function(e,t,r){
2
+ /**
3
+ * @license MIT
4
+ * @author <steven@velozo.com>
5
+ */
6
+ var n=function(){function e(){_classCallCheck(this,e),this._Regex_formatterInsertCommas=/.{1,3}/g,this._Regex_formatterAddCommasToNumber=/^([-+]?)(0?)(\d+)(.?)(\d+)$/g,this._Regex_formatterDollarsRemoveCommas=/,/gi,this._Regex_formatterCleanNonAlpha=/[^a-z0-9]/gi,this._Value_MoneySign_Currency="$",this._Value_NaN_Currency="--",this._Value_GroupSeparator_Number=",",this._Value_Prefix_StringHash="HSH",this._Value_Clean_formatterCleanNonAlpha="_",this._UseEngineStringStartsWith="function"==typeof String.prototype.startsWith,this._UseEngineStringEndsWith="function"==typeof String.prototype.endsWith}return _createClass(e,[{key:"stringReverse",value:function(e){return e.split("").reverse().join("")}},{key:"stringStartsWith",value:function(e,t,r){return this._UseEngineStringStartsWith?e.startsWith(t,r):this.stringStartsWith_Polyfill.call(e,t,r)}},{key:"stringStartsWith_Polyfill",value:function(e,t){return this.slice(t||0,e.length)===e}},{key:"stringEndsWith",value:function(e,t,r){return this._UseEngineStringEndsWith?e.endsWith(t,r):this.stringEndsWith_Polyfill.call(e,t,r)}},{key:"stringEndsWith_Polyfill",value:function(e,t){return t<this.length?t|=0:t=this.length,this.substr(t-e.length,e.length)===e}},{key:"insecureStringHash",value:function(e){for(var t=0,r=e.length,n=0;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return"".concat(this._Value_Prefix_StringHash).concat(t)}},{key:"cleanEnclosureWrapCharacters",value:function(e,t){return t.startsWith(e)&&t.endsWith(e)?t.substring(1,t.length-1):t}},{key:"cleanNonAlphaCharacters",value:function(e){if("string"==typeof e&&""!=e)return e.replace(this._Regex_formatterCleanNonAlpha,this._Value_Clean_formatterCleanNonAlpha)}},{key:"formatterInsertCommas",value:function(e){var t=this.stringReverse(e).match(this._Regex_formatterInsertCommas).join(",");return this.stringReverse(t)}},{key:"processAddCommasToNumberRegex",value:function(e,t,r,n,i,o){return t+(i?this.formatterInsertCommas(n)+i+o:this.formatterInsertCommas(n+o))}},{key:"formatterAddCommasToNumber",value:function(e){return e.toString().replace(this._Regex_formatterAddCommasToNumber,this.processAddCommasToNumberRegex.bind(this))}},{key:"formatterDollars",value:function(e){var t=parseFloat(e).toFixed(2);return isNaN(t)&&("string"==typeof e&&(t=parseFloat(e.replace(this._Value_MoneySign_Currency,"").replace(this._Regex_formatterDollarsRemoveCommas,"")).toFixed(2)),isNaN(t))?this._Value_NaN_Currency:"$".concat(this.formatterAddCommasToNumber(t))}},{key:"formatterRoundNumber",value:function(e,t){var r=void 0===t?2:t,n=Number.parseFloat(e).toFixed(r);if(isNaN(n)){return(0).toFixed(r)}return n}},{key:"stringBeforeMatch",value:function(e,t){return e.split(t)[0]}},{key:"stringAfterMatch",value:function(e,t){var r=e.indexOf(t);return r<0||r+t.length>=e.length?"":e.substring(r+t.length)}},{key:"stringCountEnclosures",value:function(e,t,r){for(var n="string"==typeof e?e:"",i="string"==typeof t?t:"(",o="string"==typeof r?r:")",a=0,s=0,u=0;u<n.length;u++)n[u]==i?(0==s&&a++,s++):n[u]==o&&s--;return a}},{key:"stringGetEnclosureValueByIndex",value:function(e,t,r,n){for(var i="string"==typeof e?e:"",o="number"==typeof t?t:0,a="string"==typeof r?r:"(",s="string"==typeof n?n:")",u=0,l=0,c=!1,f=0,h=0,p=0;p<i.length;p++)i[p]==a?1==++l&&o==++u-1&&(c=!0,f=p):i[p]==s&&0==--l&&c&&h<=f&&(h=p,c=!1);return u<=o?"":h>0&&h>f?i.substring(f+1,h):i.substring(f+1)}},{key:"stringRemoveEnclosureByIndex",value:function(e,t,r,n){for(var i="string"==typeof e?e:"",o="number"==typeof t?t:0,a="string"==typeof r?r:"(",s="string"==typeof n?n:")",u=0,l=0,c=!1,f=0,h=0,p=0;p<i.length;p++)i[p]==a?1==++l&&o==++u-1&&(c=!0,f=p):i[p]==s&&0==--l&&c&&h<=f&&(h=p,c=!1);if(u<=o)return i;var g="";return f>1&&(g=i.substring(0,f)),i.length>h+1&&h>f&&(g+=i.substring(h+1)),g}}]),e}();t.exports=n},{}],18:[function(e,t,r){
7
+ /**
8
+ * Base Logger Class
9
+ *
10
+ * @license MIT
11
+ *
12
+ * @author Steven Velozo <steven@velozo.com>
13
+ */
14
+ var n=function(){function e(t,r){_classCallCheck(this,e),this._Settings="object"==_typeof(t)?t:{},this.loggerUUID=this.generateInsecureUUID(),this.levels=["trace","debug","info","warn","error","fatal"]}return _createClass(e,[{key:"generateInsecureUUID",value:function(){var e=(new Date).getTime();return"LOGSTREAM-xxxxxx-yxxxxx".replace(/[xy]/g,(function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)}))}},{key:"initialize",value:function(){}},{key:"trace",value:function(e,t){this.write("trace",e,t)}},{key:"debug",value:function(e,t){this.write("debug",e,t)}},{key:"info",value:function(e,t){this.write("info",e,t)}},{key:"warn",value:function(e,t){this.write("warn",e,t)}},{key:"error",value:function(e,t){this.write("error",e,t)}},{key:"fatal",value:function(e,t){this.write("fatal",e,t)}},{key:"write",value:function(e,t,r){return!0}}]),e}();t.exports=n},{}],19:[function(e,t,r){
15
+ /**
16
+ * Default Logger Provider Function
17
+ *
18
+ * @license MIT
19
+ *
20
+ * @author Steven Velozo <steven@velozo.com>
21
+ */
22
+ getDefaultProviders=function(){var t={};return t.console=e("./Fable-Log-Logger-Console.js"),t.default=t.console,t},t.exports=getDefaultProviders()},{"./Fable-Log-Logger-Console.js":21}],20:[function(e,t,r){t.exports=[{loggertype:"console",streamtype:"console",level:"trace"}]},{}],21:[function(e,t,r){var n=function(e){_inherits(r,e);var t=_createSuper(r);function r(e,n){var i;_classCallCheck(this,r),(i=t.call(this,e))._ShowTimeStamps=!i._Settings.hasOwnProperty("showtimestamps")||1==i._Settings.showtimestamps,i._FormattedTimeStamps=!i._Settings.hasOwnProperty("formattedtimestamps")||1==i._Settings.formattedtimestamps,i._ContextMessage=i._Settings.hasOwnProperty("Context")?"(".concat(i._Settings.Context,")"):n._Settings.hasOwnProperty("Product")?"(".concat(n._Settings.Product,")"):"Unnamed_Log_Context",i._OutputLogLinesToConsole=!i._Settings.hasOwnProperty("outputloglinestoconsole")||i._Settings.outputloglinestoconsole,i._OutputObjectsToConsole=!i._Settings.hasOwnProperty("outputobjectstoconsole")||i._Settings.outputobjectstoconsole,i.prefixCache={};for(var o=0;o<=i.levels.length;o++)i.prefixCache[i.levels[o]]="[".concat(i.levels[o],"] ").concat(i._ContextMessage,": "),i._ShowTimeStamps&&(i.prefixCache[i.levels[o]]=" "+i.prefixCache[i.levels[o]]);return i}return _createClass(r,[{key:"write",value:function(e,t,r){var n="";this._ShowTimeStamps&&this._FormattedTimeStamps?n=(new Date).toISOString():this._ShowTimeStamps&&(n=+new Date);var i="".concat(n).concat(this.prefixCache[e]).concat(t);return this._OutputLogLinesToConsole&&console.log(i),this._OutputObjectsToConsole&&void 0!==r&&console.log(JSON.stringify(r,null,2)),i}}]),r}(e("./Fable-Log-BaseLogger.js"));t.exports=n},{"./Fable-Log-BaseLogger.js":18}],22:[function(e,t,r){var n=e("./Fable-Log-Logger-Console.js"),i=e("fs"),o=e("path"),a=function(e){_inherits(r,e);var t=_createSuper(r);function r(e,n){var a;return _classCallCheck(this,r),(a=t.call(this,e,n)).logFileRawPath=a._Settings.hasOwnProperty("path")?a._Settings.path:"./".concat(a._ContextMessage,".log"),a.logFilePath=o.normalize(a.logFileRawPath),a.logFileStreamOptions=a._Settings.hasOwnProperty("fileStreamoptions")?a._Settings.fileStreamOptions:{flags:"a",encoding:"utf8"},a.fileWriter=i.createWriteStream(a.logFilePath,a.logFileStreamOptions),a.activelyWriting=!1,a.logLineStrings=[],a.logObjectStrings=[],a.defaultWriteCompleteCallback=function(){},a.defaultBufferFlushCallback=function(){},a}return _createClass(r,[{key:"closeWriter",value:function(e){var t="function"==typeof e?e:function(){};if(this.fileWriter)return this.fileWriter.end("\n"),this.fileWriter.once("finish",t.bind(this))}},{key:"completeBufferFlushToLogFile",value:function(e){this.activelyWriting=!1;var t="function"==typeof e?e:this.defaultBufferFlushCallback;if(!(this.logLineStrings.length>0))return t();this.flushBufferToLogFile(t)}},{key:"flushBufferToLogFile",value:function(e){if(!this.activelyWriting){this.activelyWriting=!0;var t="function"==typeof e?e:this.defaultBufferFlushCallback,r=this.logLineStrings,n=this.logObjectStrings;this.logLineStrings=[],this.logObjectStrings=[];for(var i="",o=0;o<r.length;o++)i+="".concat(r[o],"\n"),!1!==n[o]&&(i+="".concat(n[o],"\n"));if(this.fileWriter.write(i,"utf8"))return this.completeBufferFlushToLogFile(t);this.fileWriter.once("drain",this.completeBufferFlushToLogFile.bind(this,t))}}},{key:"write",value:function(e,t,n){var i=_get(_getPrototypeOf(r.prototype),"write",this).call(this,e,t,n);this.logLineStrings.push(i),void 0!==n?this.logObjectStrings.push(JSON.stringify(n,null,4)):this.logObjectStrings.push(!1),this.flushBufferToLogFile()}}]),r}(n);t.exports=a},{"./Fable-Log-Logger-Console.js":21,fs:16,path:29}],23:[function(e,t,r){
23
+ /**
24
+ * Fable Logging Add-on
25
+ *
26
+ * @license MIT
27
+ *
28
+ * @author Steven Velozo <steven@velozo.com>
29
+ * @module Fable Logger
30
+ */
31
+ var n=function(){function t(r,n){_classCallCheck(this,t);var i="object"===_typeof(r)?r:{};this._Settings=i,this._Providers=e("./Fable-Log-DefaultProviders-Node.js"),this._StreamDefinitions=i.hasOwnProperty("LogStreams")?i.LogStreams:e("./Fable-Log-DefaultStreams.json"),this.logStreams=[],this.logProviders={},this.activeLogStreams={},this.logStreamsTrace=[],this.logStreamsDebug=[],this.logStreamsInfo=[],this.logStreamsWarn=[],this.logStreamsError=[],this.logStreamsFatal=[],this.datumDecorator=function(e){return e},this.uuid="string"==typeof i.Product?i.Product:"Default"}return _createClass(t,[{key:"addLogger",value:function(e,t){if(this.activeLogStreams.hasOwnProperty(e.loggerUUID))return!1;switch(this.logStreams.push(e),this.activeLogStreams[e.loggerUUID]=!0,t){case"trace":this.logStreamsTrace.push(e);case"debug":this.logStreamsDebug.push(e);case"info":this.logStreamsInfo.push(e);case"warn":this.logStreamsWarn.push(e);case"error":this.logStreamsError.push(e);case"fatal":this.logStreamsFatal.push(e)}return!0}},{key:"setDatumDecorator",value:function(e){this.datumDecorator="function"==typeof e?e:function(e){return e}}},{key:"trace",value:function(e,t){for(var r=this.datumDecorator(t),n=0;n<this.logStreamsTrace.length;n++)this.logStreamsTrace[n].trace(e,r)}},{key:"debug",value:function(e,t){for(var r=this.datumDecorator(t),n=0;n<this.logStreamsDebug.length;n++)this.logStreamsDebug[n].debug(e,r)}},{key:"info",value:function(e,t){for(var r=this.datumDecorator(t),n=0;n<this.logStreamsInfo.length;n++)this.logStreamsInfo[n].info(e,r)}},{key:"warn",value:function(e,t){for(var r=this.datumDecorator(t),n=0;n<this.logStreamsWarn.length;n++)this.logStreamsWarn[n].warn(e,r)}},{key:"error",value:function(e,t){for(var r=this.datumDecorator(t),n=0;n<this.logStreamsError.length;n++)this.logStreamsError[n].error(e,r)}},{key:"fatal",value:function(e,t){for(var r=this.datumDecorator(t),n=0;n<this.logStreamsFatal.length;n++)this.logStreamsFatal[n].fatal(e,r)}},{key:"initialize",value:function(){for(var e=0;e<this._StreamDefinitions.length;e++){var t=Object.assign({loggertype:"default",streamtype:"console",level:"info"},this._StreamDefinitions[e]);this._Providers.hasOwnProperty(t.loggertype)?this.addLogger(new this._Providers[t.loggertype](t,this),t.level):console.log("Error initializing log stream: bad loggertype in stream definition ".concat(JSON.stringify(t)))}for(var r=0;r<this.logStreams.length;r++)this.logStreams[r].initialize()}},{key:"logTime",value:function(e,t){var r=void 0!==e?e:"Time",n=new Date;this.info("".concat(r," ").concat(n," (epoch ").concat(+n,")"),t)}},{key:"getTimeStamp",value:function(){return+new Date}},{key:"getTimeDelta",value:function(e){return+new Date-e}},{key:"logTimeDelta",value:function(e,t,r){var n=void 0!==t?t:"Time Measurement",i=(_typeof(r),+new Date);this.info("".concat(n," logged at (epoch ").concat(+i,") took (").concat(e,"ms)"),r)}},{key:"logTimeDeltaHuman",value:function(e,t,r){var n=void 0!==t?t:"Time Measurement",i=+new Date,o=parseInt(e%1e3),a=parseInt(e/1e3%60),s=parseInt(e/6e4%60),u=parseInt(e/36e5);o=o<10?"00"+o:o<100?"0"+o:o,a=a<10?"0"+a:a,s=s<10?"0"+s:s,u=u<10?"0"+u:u,this.info("".concat(n," logged at (epoch ").concat(+i,") took (").concat(e,"ms) or (").concat(u,":").concat(s,":").concat(a,".").concat(o,")"),r)}},{key:"logTimeDeltaRelative",value:function(e,t,r){this.logTimeDelta(this.getTimeDelta(e),t,r)}},{key:"logTimeDeltaRelativeHuman",value:function(e,t,r){this.logTimeDeltaHuman(this.getTimeDelta(e),t,r)}}]),t}();t.exports=n,t.exports.new=function(e){return new n(e)},t.exports.LogProviderBase=e("./Fable-Log-BaseLogger.js"),t.exports.LogProviderConsole=e("./Fable-Log-Logger-Console.js"),t.exports.LogProviderConsole=e("./Fable-Log-Logger-SimpleFlatFile.js")},{"./Fable-Log-BaseLogger.js":18,"./Fable-Log-DefaultProviders-Node.js":19,"./Fable-Log-DefaultStreams.json":20,"./Fable-Log-Logger-Console.js":21,"./Fable-Log-Logger-SimpleFlatFile.js":22}],24:[function(e,t,r){t.exports={Product:"ApplicationNameHere",ProductVersion:"0.0.0",ConfigFile:!1,LogStreams:[{level:"trace"}]}},{}],25:[function(e,t,r){(function(e){(function(){
32
+ /**
33
+ * Fable Settings Template Processor
34
+ *
35
+ * This class allows environment variables to come in via templated expressions, and defaults to be set.
36
+ *
37
+ * @license MIT
38
+ *
39
+ * @author Steven Velozo <steven@velozo.com>
40
+ * @module Fable Settings
41
+ */
42
+ var r=function(){function t(r){_classCallCheck(this,t),this.templateProcessor=new r.precedent,this.templateProcessor.addPattern("${","}",(function(t){var r=t.trim(),n=r.indexOf("|"),i=r.substring(n+1),o=n>-1?r.substring(0,n):r;return e.env.hasOwnProperty(o)?e.env[o]:i}))}return _createClass(t,[{key:"parseSetting",value:function(e){return this.templateProcessor.parseString(e)}}]),t}();t.exports=r}).call(this)}).call(this,e("_process"))},{_process:33}],26:[function(e,t,r){
43
+ /**
44
+ * Fable Settings Add-on
45
+ *
46
+ * @license MIT
47
+ *
48
+ * @author Steven Velozo <steven@velozo.com>
49
+ * @module Fable Settings
50
+ */
51
+ var n=e("precedent"),i=e("./Fable-Settings-TemplateProcessor.js"),o=function(){function t(r){_classCallCheck(this,t),this.dependencies={precedent:n},this.settingsTemplateProcessor=new i(this.dependencies),this._configureEnvTemplating(r),this.default=this.buildDefaultSettings();var o=this.merge(r,this.buildDefaultSettings());if(this.base=JSON.parse(JSON.stringify(o)),o.DefaultConfigFile)try{o=this.merge(e(o.DefaultConfigFile),o)}catch(e){console.log("Fable-Settings Warning: Default configuration file specified but there was a problem loading it. Falling back to base."),console.log(" Loading Exception: "+e)}if(o.ConfigFile)try{o=this.merge(e(o.ConfigFile),o)}catch(e){console.log("Fable-Settings Warning: Configuration file specified but there was a problem loading it. Falling back to base."),console.log(" Loading Exception: "+e)}this.settings=o}return _createClass(t,[{key:"buildDefaultSettings",value:function(){return JSON.parse(JSON.stringify(e("./Fable-Settings-Default")))}},{key:"_configureEnvTemplating",value:function(e){this._PerformEnvTemplating=!e||!0!==e.NoEnvReplacement}},{key:"_resolveEnv",value:function(e){for(var t in e)"object"===_typeof(e[t])?this._resolveEnv(e[t]):"string"==typeof e[t]&&(e[t]=this.settingsTemplateProcessor.parseSetting(e[t]))}},{key:"_isObject",value:function(e){return"object"===_typeof(e)&&!Array.isArray(e)}},{key:"_deepMergeObjects",value:function(e,t){var r=this;if(t&&this._isObject(t))return Object.keys(t).forEach((function(n){var i=t[n];if(r._isObject(i)){var o=e[n];if(o&&r._isObject(o))return void r._deepMergeObjects(o,i)}e[n]=i})),e}},{key:"merge",value:function(e,t){var r="object"===_typeof(e)?e:{},n="object"===_typeof(t)?t:this.settings,i=JSON.parse(JSON.stringify(r));return n=this._deepMergeObjects(n,i),this._PerformEnvTemplating&&this._resolveEnv(n),this._configureEnvTemplating(n),n}},{key:"fill",value:function(e){var t="object"===_typeof(e)?e:{},r=JSON.parse(JSON.stringify(t));return this.settings=this._deepMergeObjects(r,this.settings),this.settings}}]),t}();t.exports=o,t.exports.new=function(e){return new o(e)},t.exports.precedent=n},{"./Fable-Settings-Default":24,"./Fable-Settings-TemplateProcessor.js":25,precedent:30}],27:[function(e,t,r){
52
+ /**
53
+ * Random Byte Generator - Browser version
54
+ *
55
+ * @license MIT
56
+ *
57
+ * @author Steven Velozo <steven@velozo.com>
58
+ */
59
+ var n=function(){function e(){_classCallCheck(this,e),this.getRandomValues="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)}return _createClass(e,[{key:"generateWhatWGBytes",value:function(){var e=new Uint8Array(16);return this.getRandomValues(e),e}},{key:"generateRandomBytes",value:function(){for(var e,t=new Uint8Array(16),r=0;r<16;r++)0==(3&r)&&(e=4294967296*Math.random()),t[r]=e>>>((3&r)<<3)&255;return t}},{key:"generate",value:function(){return this.getRandomValues?this.generateWhatWGBytes():this.generateRandomBytes()}}]),e}();t.exports=n},{}],28:[function(e,t,r){
60
+ /**
61
+ * Fable UUID Generator
62
+ *
63
+ * @license MIT
64
+ *
65
+ * @author Steven Velozo <steven@velozo.com>
66
+ * @module Fable UUID
67
+ */
68
+ var n=e("./Fable-UUID-Random.js"),i=function(){function e(t){_classCallCheck(this,e),this._UUIDModeRandom=!("object"!==_typeof(t)||!t.hasOwnProperty("UUIDModeRandom"))&&1==t.UUIDModeRandom,this._UUIDLength="object"===_typeof(t)&&t.hasOwnProperty("UUIDLength")?t.UUIDLength+0:8,this._UUIDRandomDictionary="object"===_typeof(t)&&t.hasOwnProperty("UUIDDictionary")?t.UUIDDictionary+0:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",this.randomByteGenerator=new n,this._HexLookup=[];for(var r=0;r<256;++r)this._HexLookup[r]=(r+256).toString(16).substr(1)}return _createClass(e,[{key:"bytesToUUID",value:function(e){var t=0;return[this._HexLookup[e[t++]],this._HexLookup[e[t++]],this._HexLookup[e[t++]],this._HexLookup[e[t++]],"-",this._HexLookup[e[t++]],this._HexLookup[e[t++]],"-",this._HexLookup[e[t++]],this._HexLookup[e[t++]],"-",this._HexLookup[e[t++]],this._HexLookup[e[t++]],"-",this._HexLookup[e[t++]],this._HexLookup[e[t++]],this._HexLookup[e[t++]],this._HexLookup[e[t++]],this._HexLookup[e[t++]],this._HexLookup[e[t++]]].join("")}},{key:"generateUUIDv4",value:function(){new Array(16);var e=this.randomByteGenerator.generate();return e[6]=15&e[6]|64,e[8]=63&e[8]|128,this.bytesToUUID(e)}},{key:"generateRandom",value:function(){for(var e="",t=0;t<this._UUIDLength;t++)e+=this._UUIDRandomDictionary.charAt(Math.floor(Math.random()*(this._UUIDRandomDictionary.length-1)));return e}},{key:"getUUID",value:function(){return this._UUIDModeRandom?this.generateRandom():this.generateUUIDv4()}}]),e}();t.exports=i,t.exports.new=function(e){return new i(e)}},{"./Fable-UUID-Random.js":27}],29:[function(e,t,r){(function(e){(function(){function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var r,n="",i=0,o=-1,a=0,s=0;s<=e.length;++s){if(s<e.length)r=e.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(o===s-1||1===a);else if(o!==s-1&&2===a){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var u=n.lastIndexOf("/");if(u!==n.length-1){-1===u?(n="",i=0):i=(n=n.slice(0,u)).length-1-n.lastIndexOf("/"),o=s,a=0;continue}}else if(2===n.length||1===n.length){n="",i=0,o=s,a=0;continue}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(o+1,s):n=e.slice(o+1,s),i=s-o-1;o=s,a=0}else 46===r&&-1!==a?++a:a=-1}return n}var i={resolve:function(){for(var t,i="",o=!1,a=arguments.length-1;a>=-1&&!o;a--){var s;a>=0?s=arguments[a]:(void 0===t&&(t=e.cwd()),s=t),r(s),0!==s.length&&(i=s+"/"+i,o=47===s.charCodeAt(0))}return i=n(i,!o),o?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!t)).length||t||(e="."),e.length>0&&i&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":i.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=i.resolve(e))===(t=i.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var o=e.length,a=o-n,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var u=t.length-s,l=a<u?a:u,c=-1,f=0;f<=l;++f){if(f===l){if(u>l){if(47===t.charCodeAt(s+f))return t.slice(s+f+1);if(0===f)return t.slice(s+f)}else a>l&&(47===e.charCodeAt(n+f)?c=f:0===f&&(c=0));break}var h=e.charCodeAt(n+f);if(h!==t.charCodeAt(s+f))break;47===h&&(c=f)}var p="";for(f=n+c+1;f<=o;++f)f!==o&&47!==e.charCodeAt(f)||(0===p.length?p+="..":p+="/..");return p.length>0?p+t.slice(s+c):(s+=c,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,i=-1,o=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!o){i=a;break}}else o=!1;return-1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,i=0,o=-1,a=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,u=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!a){i=n+1;break}}else-1===u&&(a=!1,u=n+1),s>=0&&(l===t.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=u))}return i===o?o=u:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!a){i=n+1;break}}else-1===o&&(a=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){r(e);for(var t=-1,n=0,i=-1,o=!0,a=0,s=e.length-1;s>=0;--s){var u=e.charCodeAt(s);if(47!==u)-1===i&&(o=!1,i=s+1),46===u?-1===t?t=s:1!==a&&(a=1):-1!==t&&(a=-1);else if(!o){n=s+1;break}}return-1===t||-1===i||0===a||1===a&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!==_typeof(e))throw new TypeError('The "pathObject" argument must be of type Object. Received type '+_typeof(e));return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0),o=47===i;o?(t.root="/",n=1):n=0;for(var a=-1,s=0,u=-1,l=!0,c=e.length-1,f=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===u&&(l=!1,u=c+1),46===i?-1===a?a=c:1!==f&&(f=1):-1!==a&&(f=-1);else if(!l){s=c+1;break}return-1===a||-1===u||0===f||1===f&&a===u-1&&a===s+1?-1!==u&&(t.base=t.name=0===s&&o?e.slice(1,u):e.slice(s,u)):(0===s&&o?(t.name=e.slice(1,a),t.base=e.slice(1,u)):(t.name=e.slice(s,a),t.base=e.slice(s,u)),t.ext=e.slice(a,u)),s>0?t.dir=e.slice(0,s-1):o&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,t.exports=i}).call(this)}).call(this,e("_process"))},{_process:33}],30:[function(e,t,r){
69
+ /**
70
+ * Precedent Meta-Templating
71
+ *
72
+ * @license MIT
73
+ *
74
+ * @author Steven Velozo <steven@velozo.com>
75
+ *
76
+ * @description Process text streams, parsing out meta-template expressions.
77
+ */
78
+ var n=e("./WordTree.js"),i=e("./StringParser.js"),o=function(){function e(){_classCallCheck(this,e),this.WordTree=new n,this.StringParser=new i,this.ParseTree=this.WordTree.ParseTree}return _createClass(e,[{key:"addPattern",value:function(e,t,r){return this.WordTree.addPattern(e,t,r)}},{key:"parseString",value:function(e){return this.StringParser.parseString(e,this.ParseTree)}}]),e}();t.exports=o},{"./StringParser.js":31,"./WordTree.js":32}],31:[function(e,t,r){
79
+ /**
80
+ * String Parser
81
+ *
82
+ * @license MIT
83
+ *
84
+ * @author Steven Velozo <steven@velozo.com>
85
+ *
86
+ * @description Parse a string, properly processing each matched token in the word tree.
87
+ */
88
+ var n=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"newParserState",value:function(e){return{ParseTree:e,Output:"",OutputBuffer:"",Pattern:!1,PatternMatch:!1,PatternMatchOutputBuffer:""}}},{key:"assignNode",value:function(e,t){t.PatternMatch=e,t.PatternMatch.hasOwnProperty("PatternEnd")&&(t.Pattern=t.PatternMatch)}},{key:"appendOutputBuffer",value:function(e,t){t.OutputBuffer+=e}},{key:"flushOutputBuffer",value:function(e){e.Output+=e.OutputBuffer,e.OutputBuffer=""}},{key:"checkPatternEnd",value:function(e){e.OutputBuffer.length>=e.Pattern.PatternEnd.length+e.Pattern.PatternStart.length&&e.OutputBuffer.substr(-e.Pattern.PatternEnd.length)===e.Pattern.PatternEnd&&(e.OutputBuffer=e.Pattern.Parse(e.OutputBuffer.substr(e.Pattern.PatternStart.length,e.OutputBuffer.length-(e.Pattern.PatternStart.length+e.Pattern.PatternEnd.length))),this.flushOutputBuffer(e),e.Pattern=!1,e.PatternMatch=!1)}},{key:"parseCharacter",value:function(e,t){!t.PatternMatch&&t.ParseTree.hasOwnProperty(e)?(this.assignNode(t.ParseTree[e],t),this.appendOutputBuffer(e,t)):t.PatternMatch?(t.PatternMatch.hasOwnProperty(e)&&this.assignNode(t.PatternMatch[e],t),this.appendOutputBuffer(e,t),t.Pattern&&this.checkPatternEnd(t)):t.Output+=e}},{key:"parseString",value:function(e,t){for(var r=this.newParserState(t),n=0;n<e.length;n++)this.parseCharacter(e[n],r);return this.flushOutputBuffer(r),r.Output}}]),e}();t.exports=n},{}],32:[function(e,t,r){
89
+ /**
90
+ * Word Tree
91
+ *
92
+ * @license MIT
93
+ *
94
+ * @author Steven Velozo <steven@velozo.com>
95
+ *
96
+ * @description Create a tree (directed graph) of Javascript objects, one character per object.
97
+ */
98
+ var n=function(){function e(){_classCallCheck(this,e),this.ParseTree={}}return _createClass(e,[{key:"addChild",value:function(e,t,r){return e.hasOwnProperty(t[r])||(e[t[r]]={}),e[t[r]]}},{key:"addPattern",value:function(e,t,r){if(e.length<1)return!1;if("string"==typeof t&&t.length<1)return!1;for(var n=this.ParseTree,i=0;i<e.length;i++)n=this.addChild(n,e,i);return n.PatternStart=e,n.PatternEnd="string"==typeof t&&t.length>0?t:e,n.Parse="function"==typeof r?r:"string"==typeof r?function(){return r}:function(e){return e},!0}}]),e}();t.exports=n},{}],33:[function(e,t,r){var n,i,o=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(e){i=s}}();var l,c=[],f=!1,h=-1;function p(){f&&l&&(f=!1,l.length?c=l.concat(c):h=-1,c.length&&g())}function g(){if(!f){var e=u(p);f=!0;for(var t=c.length;t;){for(l=c,c=[];++h<t;)l&&l[h].run();h=-1,t=c.length}l=null,f=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{return i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function y(e,t){this.fun=e,this.array=t}function v(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new y(e,t)),1!==c.length||f||u(g)},y.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=v,o.addListener=v,o.once=v,o.off=v,o.removeListener=v,o.removeAllListeners=v,o.emit=v,o.prependListener=v,o.prependOnceListener=v,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},{}],34:[function(e,t,r){(function(t,n){(function(){var i=e("process/browser.js").nextTick,o=Function.prototype.apply,a=Array.prototype.slice,s={},u=0;function l(e,t){this._id=e,this._clearFn=t}r.setTimeout=function(){return new l(o.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new l(o.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(e){e.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},r.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},r._unrefActive=r.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r.setImmediate="function"==typeof t?t:function(e){var t=u++,n=!(arguments.length<2)&&a.call(arguments,1);return s[t]=!0,i((function(){s[t]&&(n?e.apply(null,n):e.call(null),r.clearImmediate(t))})),t},r.clearImmediate="function"==typeof n?n:function(e){delete s[e]}}).call(this)}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":33,timers:34}],35:[function(e,t,r){var n=e("./Fable.js");"object"!==("undefined"==typeof window?"undefined":_typeof(window))||window.hasOwnProperty("Fable")||(window.Fable=n),t.exports=n},{"./Fable.js":42}],36:[function(e,t,r){var 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:[]}),i=function(){function e(t,r,i){_classCallCheck(this,e),this.fable=t,this.name=r,this.state=JSON.parse(n),this.state.Metadata.GUID=this.fable.getUUID(),this.state.Metadata.Hash=this.state.GUID,"string"==typeof i&&(this.state.Metadata.Hash=i)}return _createClass(e,[{key:"GUID",get:function(){return this.state.Metadata.GUID}},{key:"Hash",get:function(){return this.state.Metadata.Hash}},{key:"log",get:function(){return this}},{key:"writeOperationLog",value:function(e,t,r){this.state.Log.push("".concat((new Date).toUTCString()," [").concat(e,"]: ").concat(t)),"object"==_typeof(r)&&this.state.Log.push(JSON.stringify(r))}},{key:"writeOperationErrors",value:function(e,t){this.state.Errors.push("".concat(e)),"object"==_typeof(t)&&this.state.Errors.push(JSON.stringify(t))}},{key:"trace",value:function(e,t){this.writeOperationLog("TRACE",e,t),this.fable.log.trace(e,t)}},{key:"debug",value:function(e,t){this.writeOperationLog("DEBUG",e,t),this.fable.log.debug(e,t)}},{key:"info",value:function(e,t){this.writeOperationLog("INFO",e,t),this.fable.log.info(e,t)}},{key:"warn",value:function(e,t){this.writeOperationLog("WARN",e,t),this.fable.log.warn(e,t)}},{key:"error",value:function(e,t){this.writeOperationLog("ERROR",e,t),this.writeOperationErrors(e,t),this.fable.log.error(e,t)}},{key:"fatal",value:function(e,t){this.writeOperationLog("FATAL",e,t),this.writeOperationErrors(e,t),this.fable.log.fatal(e,t)}}]),e}();t.exports=i},{}],37:[function(e,t,r){var n=e("./Fable-ServiceProviderBase.js"),i=e("data-arithmatic"),o=function(e){_inherits(r,e);var t=_createSuper(r);function r(e,n,o){var a;return _classCallCheck(this,r),(a=t.call(this,e,n,o)).serviceType="DataArithmatic",a._DataArithmaticLibrary=new i,a}return _createClass(r)}(n);t.exports=o},{"./Fable-ServiceProviderBase.js":41,"data-arithmatic":17}],38:[function(e,t,r){var n=function(e){_inherits(r,e);var t=_createSuper(r);function r(e,n,i){var o;return _classCallCheck(this,r),(o=t.call(this,e,n,i)).serviceType="Template",o.Matchers={Evaluate:/<%([\s\S]+?)%>/g,Interpolate:/<%=([\s\S]+?)%>/g,Escaper:/\\|'|\r|\n|\t|\u2028|\u2029/g,Unescaper:/\\(\\|'|r|n|t|u2028|u2029)/g,GuaranteedNonMatch:/.^/},o.templateEscapes={"\\":"\\","'":"'",r:"\r","\r":"r",n:"\n","\n":"n",t:"\t","\t":"t",u2028:"\u2028","\u2028":"u2028",u2029:"\u2029","\u2029":"u2029"},o.renderFunction=!1,o.templateString=!1,o}return _createClass(r,[{key:"renderTemplate",value:function(e){return this.renderFunction(e)}},{key:"templateFunction",value:function(e){return this.renderTemplate.bind(this)}},{key:"buildTemplateFunction",value:function(e,t){var r=this;return this.TemplateSource="__p+='"+e.replace(this.Matchers.Escaper,(function(e){return"\\".concat(r.templateEscapes[e])})).replace(this.Matchers.Interpolate||this.Matchers.GuaranteedNonMatch,(function(e,t){return"'+\n(".concat(decodeURIComponent(t),")+\n'")})).replace(this.Matchers.Evaluate||this.Matchers.GuaranteedNonMatch,(function(e,t){return"';\n".concat(decodeURIComponent(t),"\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!==t?this.renderFunction(t):(this.TemplateSourceCompiled="function(obj){\n"+this.TemplateSource+"}",this.templateFunction())}}]),r}(e("./Fable-ServiceProviderBase.js"));t.exports=n},{"./Fable-ServiceProviderBase.js":41}],39:[function(e,t,r){var n=e("./Fable-ServiceProviderBase.js"),i=e("async.waterfall"),o=e("async.eachlimit"),a=function(e){_inherits(r,e);var t=_createSuper(r);function r(e,n,a){var s;return _classCallCheck(this,r),(s=t.call(this,e,n,a)).templates={},s.waterfall=i,s.eachLimit=o,s}return _createClass(r,[{key:"extend",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return Object.assign.apply(Object,[e].concat(r))}},{key:"template",value:function(e,t){return this.fable.serviceManager.instantiateServiceProviderWithoutRegistration("Template").buildTemplateFunction(e,t)}},{key:"buildHashedTemplate",value:function(e,t,r){var n=this.fable.serviceManager.instantiateServiceProvider("Template",{},e);return this.templates[e]=n.buildTemplateFunction(t,r),this.templates[e]}},{key:"chunk",value:function(e,t,r){var n=_toConsumableArray(e),i="number"==typeof t?t:0,o=void 0!==r?r:[];if(i<=0)return o;for(;n.length;)o.push(n.splice(0,i));return o}}]),r}(n);t.exports=a},{"./Fable-ServiceProviderBase.js":41,"async.eachlimit":1,"async.waterfall":15}],40:[function(e,t,r){
99
+ /**
100
+ * Fable Application Services Management
101
+ * @license MIT
102
+ * @author <steven@velozo.com>
103
+ */
104
+ var n=e("./Fable-ServiceProviderBase.js"),i=function(){function e(t){_classCallCheck(this,e),this.fable=t,this.serviceTypes=[],this.services={},this.defaultServices={},this.serviceClasses={}}return _createClass(e,[{key:"addServiceType",value:function(e,t){this.serviceTypes.push(e),this.services[e]={},"function"==typeof t&&t.prototype instanceof n?this.serviceClasses[e]=t:this.serviceClasses[e]=n}},{key:"instantiateServiceProvider",value:function(e,t,r){var n=this.instantiateServiceProviderWithoutRegistration(e,t,r);return this.services[e][n.Hash]=n,this.defaultServices.hasOwnProperty(e)||(this.defaultServices[e]=n),n}},{key:"instantiateServiceProviderWithoutRegistration",value:function(e,t,r){return new this.serviceClasses[e](this.fable,t,r)}},{key:"setDefaultServiceInstantiation",value:function(e,t){return!!this.services[e].hasOwnProperty(t)&&(this.defaultServices[e]=this.services[e][t],!0)}}]),e}();t.exports=i,t.exports.ServiceProviderBase=n},{"./Fable-ServiceProviderBase.js":41}],41:[function(e,t,r){
105
+ /**
106
+ * Fable Service Base
107
+ * @license MIT
108
+ * @author <steven@velozo.com>
109
+ */
110
+ var n=_createClass((function e(t,r,n){_classCallCheck(this,e),this.fable=t,this.options="object"===_typeof(r)?r:{},this.serviceType="Unknown",this.UUID=t.getUUID(),this.Hash="string"==typeof n?n:"".concat(this.UUID)}));t.exports=n},{}],42:[function(e,t,r){
111
+ /**
112
+ * Fable Application Services Support Library
113
+ * @license MIT
114
+ * @author <steven@velozo.com>
115
+ */
116
+ var n=e("fable-settings"),i=e("fable-uuid"),o=e("fable-log"),a=e("./Fable-ServiceManager.js"),s=e("./Fable-Service-DataArithmatic.js"),u=e("./Fable-Service-Template.js"),l=e("./Fable-Service-Utility.js"),c=e("./Fable-Operation.js"),f=function(){function e(t){_classCallCheck(this,e);var r=new n(t);this.settingsManager=r,this.libUUID=new i(this.settingsManager.settings),this.log=new o(this.settingsManager.settings),this.log.initialize(),this.Dependencies={precedent:n.precedent},this.Operations={},this.serviceManager=new a(this),this.serviceManager.addServiceType("DataArithmatic",s),this.fable.serviceManager.instantiateServiceProvider("DataArithmatic",{},"Default-Service-DataArithmatic"),this.DataArithmatic=this.serviceManager.defaultServices.DataArithmatic._DataArithmaticLibrary,this.serviceManager.addServiceType("Template",u),this.serviceManager.addServiceType("Utility",l),this.fable.serviceManager.instantiateServiceProvider("Utility",{},"Default-Service-Utility"),this.Utility=this.serviceManager.defaultServices.Utility,this.services=this.serviceManager.services,this.defaultServices=this.serviceManager.defaultServices}return _createClass(e,[{key:"settings",get:function(){return this.settingsManager.settings}},{key:"fable",get:function(){return this}},{key:"getUUID",value:function(){return this.libUUID.getUUID()}},{key:"createOperation",value:function(e,t){var r=new c(this,e,t);return this.Operations.hasOwnProperty(r.Hash)||(this.Operations[r.Hash]=r),r}},{key:"getOperation",value:function(e){return!!this.Operations.hasOwnProperty(e)&&this.Operations[e]}}]),e}();t.exports=f,t.exports.new=function(e){return new f(e)},t.exports.LogProviderBase=o.LogProviderBase,t.exports.ServiceProviderBase=a.ServiceProviderBase,t.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)}));
117
+ //# sourceMappingURL=fable.compatible.min.js.map