fable 3.0.17 → 3.0.20

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,112 @@
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:33}],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
+ * Base Logger Class
4
+ *
5
+ * @license MIT
6
+ *
7
+ * @author Steven Velozo <steven@velozo.com>
8
+ */
9
+ 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},{}],18:[function(e,t,r){
10
+ /**
11
+ * Default Logger Provider Function
12
+ *
13
+ * @license MIT
14
+ *
15
+ * @author Steven Velozo <steven@velozo.com>
16
+ */
17
+ 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":20}],19:[function(e,t,r){t.exports=[{loggertype:"console",streamtype:"console",level:"trace"}]},{}],20:[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":17}],21:[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":20,fs:16,path:28}],22:[function(e,t,r){
18
+ /**
19
+ * Fable Logging Add-on
20
+ *
21
+ * @license MIT
22
+ *
23
+ * @author Steven Velozo <steven@velozo.com>
24
+ * @module Fable Logger
25
+ */
26
+ 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":17,"./Fable-Log-DefaultProviders-Node.js":18,"./Fable-Log-DefaultStreams.json":19,"./Fable-Log-Logger-Console.js":20,"./Fable-Log-Logger-SimpleFlatFile.js":21}],23:[function(e,t,r){t.exports={Product:"ApplicationNameHere",ProductVersion:"0.0.0",ConfigFile:!1,LogStreams:[{level:"trace"}]}},{}],24:[function(e,t,r){(function(e){(function(){
27
+ /**
28
+ * Fable Settings Template Processor
29
+ *
30
+ * This class allows environment variables to come in via templated expressions, and defaults to be set.
31
+ *
32
+ * @license MIT
33
+ *
34
+ * @author Steven Velozo <steven@velozo.com>
35
+ * @module Fable Settings
36
+ */
37
+ 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:32}],25:[function(e,t,r){
38
+ /**
39
+ * Fable Settings Add-on
40
+ *
41
+ * @license MIT
42
+ *
43
+ * @author Steven Velozo <steven@velozo.com>
44
+ * @module Fable Settings
45
+ */
46
+ 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":23,"./Fable-Settings-TemplateProcessor.js":24,precedent:29}],26:[function(e,t,r){
47
+ /**
48
+ * Random Byte Generator - Browser version
49
+ *
50
+ * @license MIT
51
+ *
52
+ * @author Steven Velozo <steven@velozo.com>
53
+ */
54
+ 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},{}],27:[function(e,t,r){
55
+ /**
56
+ * Fable UUID Generator
57
+ *
58
+ * @license MIT
59
+ *
60
+ * @author Steven Velozo <steven@velozo.com>
61
+ * @module Fable UUID
62
+ */
63
+ 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":26}],28:[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:32}],29:[function(e,t,r){
64
+ /**
65
+ * Precedent Meta-Templating
66
+ *
67
+ * @license MIT
68
+ *
69
+ * @author Steven Velozo <steven@velozo.com>
70
+ *
71
+ * @description Process text streams, parsing out meta-template expressions.
72
+ */
73
+ 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":30,"./WordTree.js":31}],30:[function(e,t,r){
74
+ /**
75
+ * String Parser
76
+ *
77
+ * @license MIT
78
+ *
79
+ * @author Steven Velozo <steven@velozo.com>
80
+ *
81
+ * @description Parse a string, properly processing each matched token in the word tree.
82
+ */
83
+ 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},{}],31:[function(e,t,r){
84
+ /**
85
+ * Word Tree
86
+ *
87
+ * @license MIT
88
+ *
89
+ * @author Steven Velozo <steven@velozo.com>
90
+ *
91
+ * @description Create a tree (directed graph) of Javascript objects, one character per object.
92
+ */
93
+ 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},{}],32:[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}},{}],33:[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":32,timers:33}],34:[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":40}],35:[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},{}],36:[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":38}],37:[function(e,t,r){
94
+ /**
95
+ * Fable Application Services Management
96
+ * @license MIT
97
+ * @author <steven@velozo.com>
98
+ */
99
+ 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":38}],38:[function(e,t,r){
100
+ /**
101
+ * Fable Service Base
102
+ * @license MIT
103
+ * @author <steven@velozo.com>
104
+ */
105
+ 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},{}],39:[function(e,t,r){var n=e("async.waterfall"),i=e("async.eachlimit"),o=function(){function e(t){_classCallCheck(this,e),this.fable=t,this.templates={},this.waterfall=n,this.eachLimit=i}return _createClass(e,[{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}}]),e}();t.exports=o},{"async.eachlimit":1,"async.waterfall":15}],40:[function(e,t,r){
106
+ /**
107
+ * Fable Application Services Support Library
108
+ * @license MIT
109
+ * @author <steven@velozo.com>
110
+ */
111
+ var n=e("fable-settings"),i=e("fable-uuid"),o=e("fable-log"),a=e("./Fable-Utility.js"),s=e("./Fable-ServiceManager.js"),u=e("./Fable-Service-Template.js"),l=e("./Fable-Operation.js"),c=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.Utility=new a(this),this.Dependencies={precedent:n.precedent},this.Operations={},this.serviceManager=new s(this),this.serviceManager.addServiceType("Template",u),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 l(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=c,t.exports.new=function(e){return new c(e)},t.exports.LogProviderBase=o.LogProviderBase,t.exports.ServiceProviderBase=s.ServiceProviderBase,t.exports.precedent=n.precedent},{"./Fable-Operation.js":35,"./Fable-Service-Template.js":36,"./Fable-ServiceManager.js":37,"./Fable-Utility.js":39,"fable-log":22,"fable-settings":25,"fable-uuid":27}]},{},[34])(34)}));
112
+ //# sourceMappingURL=fable.compatible.min.js.map