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.compatible.js +87 -34
- package/dist/fable.compatible.min.js +12 -12
- package/dist/fable.compatible.min.js.map +1 -1
- package/dist/fable.js +54 -12
- package/dist/fable.min.js +4 -4
- package/dist/fable.min.js.map +1 -1
- package/package.json +3 -2
- package/source/Fable-Service-MetaTemplate.js +41 -0
- package/source/Fable.js +4 -0
- package/test/FableMetaTemplating_tests.js +96 -0
- package/test/FableOperations_tests.js +0 -1
- package/test/FableUtility_tests.js +0 -1
package/dist/fable.js
CHANGED
|
@@ -2488,7 +2488,7 @@
|
|
|
2488
2488
|
}
|
|
2489
2489
|
module.exports = libNPMModuleWrapper;
|
|
2490
2490
|
}, {
|
|
2491
|
-
"./Fable.js":
|
|
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":
|
|
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":
|
|
2708
|
+
"./Fable-ServiceProviderBase.js": 42
|
|
2672
2709
|
}],
|
|
2673
|
-
|
|
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":
|
|
2780
|
+
"./Fable-ServiceProviderBase.js": 42,
|
|
2744
2781
|
"async.eachlimit": 1,
|
|
2745
2782
|
"async.waterfall": 15
|
|
2746
2783
|
}],
|
|
2747
|
-
|
|
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":
|
|
2851
|
+
"./Fable-ServiceProviderBase.js": 42
|
|
2815
2852
|
}],
|
|
2816
|
-
|
|
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
|
-
|
|
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-
|
|
2924
|
-
"./Fable-Service-
|
|
2925
|
-
"./Fable-
|
|
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":
|
|
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":
|
|
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)}}},{}],
|
|
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-
|
|
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
|