fable-serviceproviderbase 3.0.10 → 3.0.12

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.
@@ -6,7 +6,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
6
6
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
7
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
8
8
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
10
  (function (f) {
11
11
  if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") {
12
12
  module.exports = f();
@@ -55,65 +55,69 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
55
55
  }()({
56
56
  1: [function (require, module, exports) {
57
57
  /**
58
- * Fable Core Pre-initialization Service Base
59
- *
60
- * For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.
61
- * This is a base class for those services.
62
- *
58
+ * Fable Service Base
63
59
  * @author <steven@velozo.com>
64
60
  */
65
- var FableCoreServiceProviderBase = /*#__PURE__*/function () {
66
- function FableCoreServiceProviderBase(pOptions, pServiceHash) {
67
- _classCallCheck(this, FableCoreServiceProviderBase);
68
- this.fable = false;
69
- this.options = _typeof(pOptions) === 'object' ? pOptions : {};
70
- this.serviceType = 'Unknown';
61
+ var FableServiceProviderBase = /*#__PURE__*/function () {
62
+ // The constructor can be used in two ways:
63
+ // 1) With a fable, options object and service hash (the options object and service hash are optional)
64
+ // 2) With an object or nothing as the first parameter, where it will be treated as the options object
65
+ function FableServiceProviderBase(pFable, pOptions, pServiceHash) {
66
+ _classCallCheck(this, FableServiceProviderBase);
67
+ // Check if a fable was passed in; connect it if so
68
+ if (_typeof(pFable) === 'object' && pFable.isFable) {
69
+ this.connectFable(pFable);
70
+ } else {
71
+ this.fable = false;
72
+ }
73
+
74
+ // initialize options and UUID based on whether the fable was passed in or not.
75
+ if (this.fable) {
76
+ this.UUID = pFable.getUUID();
77
+ this.options = _typeof(pOptions) === 'object' ? pOptions : {};
78
+ } else {
79
+ // With no fable, check to see if there was an object passed into either of the first two
80
+ // Parameters, and if so, treat it as the options object
81
+ this.options = _typeof(pFable) === 'object' && !pFable.isFable ? pFable : _typeof(pOptions) === 'object' ? pOptions : {};
82
+ this.UUID = "CORE-SVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
83
+ }
84
+
85
+ // It's expected that the deriving class will set this
86
+ this.serviceType = "Unknown-".concat(this.UUID);
71
87
 
72
- // The hash will be a non-standard UUID ... the UUID service uses this base class!
73
- this.UUID = "CORESVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
74
- this.Hash = typeof pServiceHash === 'string' ? pServiceHash : "".concat(this.UUID);
88
+ // The service hash is used to identify the specific instantiation of the service in the services map
89
+ this.Hash = typeof pServiceHash === 'string' ? pServiceHash : !this.fable && typeof pOptions === 'string' ? pOptions : "".concat(this.UUID);
75
90
  }
76
- _createClass(FableCoreServiceProviderBase, [{
91
+ _createClass(FableServiceProviderBase, [{
77
92
  key: "connectFable",
78
- value:
79
- // After fable is initialized, it would be expected to be wired in as a normal service.
80
- function connectFable(pFable) {
81
- this.fable = pFable;
93
+ value: function connectFable(pFable) {
94
+ if (_typeof(pFable) !== 'object' || !pFable.isFable) {
95
+ var tmpErrorMessage = "Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [".concat(_typeof(pFable), "].}");
96
+ console.log(tmpErrorMessage);
97
+ return new Error(tmpErrorMessage);
98
+ }
99
+ if (!this.fable) {
100
+ this.fable = pFable;
101
+ }
102
+ if (!this.log) {
103
+ this.log = this.fable.Logging;
104
+ }
105
+ if (!this.services) {
106
+ this.services = this.fable.services;
107
+ }
108
+ if (!this.servicesMap) {
109
+ this.servicesMap = this.fable.servicesMap;
110
+ }
82
111
  return true;
83
112
  }
84
113
  }]);
85
- return FableCoreServiceProviderBase;
114
+ return FableServiceProviderBase;
86
115
  }();
87
- _defineProperty(FableCoreServiceProviderBase, "isFableService", true);
88
- module.exports = FableCoreServiceProviderBase;
89
- }, {}],
90
- 2: [function (require, module, exports) {
91
- /**
92
- * Fable Service Base
93
- * @author <steven@velozo.com>
94
- */
95
- var FableServiceProviderBase = /*#__PURE__*/_createClass(function FableServiceProviderBase(pFable, pOptions, pServiceHash) {
96
- _classCallCheck(this, FableServiceProviderBase);
97
- this.fable = pFable;
98
- this.options = _typeof(pOptions) === 'object' ? pOptions : _typeof(pFable) === 'object' && !pFable.isFable ? pFable : {};
99
- this.serviceType = 'Unknown';
100
- if (typeof pFable.getUUID == 'function') {
101
- this.UUID = pFable.getUUID();
102
- } else {
103
- this.UUID = "NoFABLESVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
104
- }
105
- this.Hash = typeof pServiceHash === 'string' ? pServiceHash : "".concat(this.UUID);
106
-
107
- // Pull back a few things
108
- this.log = this.fable.log;
109
- this.servicesMap = this.fable.servicesMap;
110
- this.services = this.fable.services;
111
- });
112
116
  _defineProperty(FableServiceProviderBase, "isFableService", true);
113
117
  module.exports = FableServiceProviderBase;
114
- module.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');
115
- }, {
116
- "./Fable-ServiceProviderBase-Preinit.js": 1
117
- }]
118
- }, {}, [2])(2);
118
+
119
+ // This is left here in case we want to go back to having different code/base class for "core" services
120
+ module.exports.CoreServiceProviderBase = FableServiceProviderBase;
121
+ }, {}]
122
+ }, {}, [1])(1);
119
123
  });
@@ -1,2 +1,2 @@
1
- "use strict";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 o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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 o=r.call(e,t||"default");if("object"!==_typeof(o))return o;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).FableServiceproviderbase=e()}}((function(){return function e(t,r,o){function i(f,s){if(!r[f]){if(!t[f]){var a="function"==typeof require&&require;if(!s&&a)return a(f,!0);if(n)return n(f,!0);var c=new Error("Cannot find module '"+f+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[f]={exports:{}};t[f][0].call(l.exports,(function(e){return i(t[f][1][e]||e)}),l,l.exports,e,t,r,o)}return r[f].exports}for(var n="function"==typeof require&&require,f=0;f<o.length;f++)i(o[f]);return i}({1:[function(e,t,r){var o=function(){function e(t,r){_classCallCheck(this,e),this.fable=!1,this.options="object"===_typeof(t)?t:{},this.serviceType="Unknown",this.UUID="CORESVC-".concat(Math.floor(89999*Math.random()+1e4)),this.Hash="string"==typeof r?r:"".concat(this.UUID)}return _createClass(e,[{key:"connectFable",value:function(e){return this.fable=e,!0}}]),e}();_defineProperty(o,"isFableService",!0),t.exports=o},{}],2:[function(e,t,r){var o=_createClass((function e(t,r,o){_classCallCheck(this,e),this.fable=t,this.options="object"===_typeof(r)?r:"object"!==_typeof(t)||t.isFable?{}:t,this.serviceType="Unknown","function"==typeof t.getUUID?this.UUID=t.getUUID():this.UUID="NoFABLESVC-".concat(Math.floor(89999*Math.random()+1e4)),this.Hash="string"==typeof o?o:"".concat(this.UUID),this.log=this.fable.log,this.servicesMap=this.fable.servicesMap,this.services=this.fable.services}));_defineProperty(o,"isFableService",!0),t.exports=o,t.exports.CoreServiceProviderBase=e("./Fable-ServiceProviderBase-Preinit.js")},{"./Fable-ServiceProviderBase-Preinit.js":1}]},{},[2])(2)}));
1
+ "use strict";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 o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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 o=r.call(e,t||"default");if("object"!==_typeof(o))return o;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).FableServiceproviderbase=e()}}((function(){return function e(t,r,o){function i(f,s){if(!r[f]){if(!t[f]){var a="function"==typeof require&&require;if(!s&&a)return a(f,!0);if(n)return n(f,!0);var c=new Error("Cannot find module '"+f+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[f]={exports:{}};t[f][0].call(l.exports,(function(e){return i(t[f][1][e]||e)}),l,l.exports,e,t,r,o)}return r[f].exports}for(var n="function"==typeof require&&require,f=0;f<o.length;f++)i(o[f]);return i}({1:[function(e,t,r){var o=function(){function e(t,r,o){_classCallCheck(this,e),"object"===_typeof(t)&&t.isFable?this.connectFable(t):this.fable=!1,this.fable?(this.UUID=t.getUUID(),this.options="object"===_typeof(r)?r:{}):(this.options="object"!==_typeof(t)||t.isFable?"object"===_typeof(r)?r:{}:t,this.UUID="CORE-SVC-".concat(Math.floor(89999*Math.random()+1e4))),this.serviceType="Unknown-".concat(this.UUID),this.Hash="string"==typeof o?o:this.fable||"string"!=typeof r?"".concat(this.UUID):r}return _createClass(e,[{key:"connectFable",value:function(e){if("object"!==_typeof(e)||!e.isFable){var t="Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [".concat(_typeof(e),"].}");return console.log(t),new Error(t)}return this.fable||(this.fable=e),this.log||(this.log=this.fable.Logging),this.services||(this.services=this.fable.services),this.servicesMap||(this.servicesMap=this.fable.servicesMap),!0}}]),e}();_defineProperty(o,"isFableService",!0),t.exports=o,t.exports.CoreServiceProviderBase=o},{}]},{},[1])(1)}));
2
2
  //# sourceMappingURL=fable-serviceproviderbase.compatible.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["fable-serviceproviderbase.compatible.min.js","node_modules/browser-pack/_prelude.js","source/Fable-ServiceProviderBase-Preinit.js","source/Fable-ServiceProviderBase.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","_defineProperty","obj","value","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","iterator","constructor","f","exports","module","define","amd","window","global","self","this","FableServiceproviderbase","r","e","n","t","o","c","require","u","a","Error","code","p","FableCoreServiceProviderBase","pOptions","pServiceHash","fable","options","serviceType","UUID","concat","Math","floor","random","Hash","pFable","FableServiceProviderBase","isFable","getUUID","log","servicesMap","services","CoreServiceProviderBase"],"mappings":"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","file":"fable-serviceproviderbase.compatible.min.js","sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.FableServiceproviderbase = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n/**\n* Fable Core Pre-initialization Service Base\n*\n* For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.\n* This is a base class for those services.\n*\n* @author <steven@velozo.com>\n*/\n\nclass FableCoreServiceProviderBase\n{\n\tconstructor(pOptions, pServiceHash)\n\t{\n\t\tthis.fable = false;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions : {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\t// The hash will be a non-standard UUID ... the UUID service uses this base class!\n\t\tthis.UUID = `CORESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`;\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\t}\n\n\n\tstatic isFableService = true;\n\n\t// After fable is initialized, it would be expected to be wired in as a normal service.\n\tconnectFable(pFable)\n\t{\n\t\tthis.fable = pFable;\n\n\t\treturn true;\n\t}\n}\n\nmodule.exports = FableCoreServiceProviderBase;\n\n},{}],2:[function(require,module,exports){\n/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\tthis.fable = pFable;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t: ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t: {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\tif (typeof(pFable.getUUID) == 'function')\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.UUID = `NoFABLESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\n\t\t// Pull back a few things\n\t\tthis.log = this.fable.log;\n\t\tthis.servicesMap = this.fable.servicesMap;\n\t\tthis.services = this.fable.services;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\nmodule.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');\n},{\"./Fable-ServiceProviderBase-Preinit.js\":1}]},{},[2])(2)\n});\n\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","/**\n* Fable Core Pre-initialization Service Base\n*\n* For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.\n* This is a base class for those services.\n*\n* @author <steven@velozo.com>\n*/\n\nclass FableCoreServiceProviderBase\n{\n\tconstructor(pOptions, pServiceHash)\n\t{\n\t\tthis.fable = false;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions : {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\t// The hash will be a non-standard UUID ... the UUID service uses this base class!\n\t\tthis.UUID = `CORESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`;\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\t}\n\n\n\tstatic isFableService = true;\n\n\t// After fable is initialized, it would be expected to be wired in as a normal service.\n\tconnectFable(pFable)\n\t{\n\t\tthis.fable = pFable;\n\n\t\treturn true;\n\t}\n}\n\nmodule.exports = FableCoreServiceProviderBase;\n","/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\tthis.fable = pFable;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t: ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t: {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\tif (typeof(pFable.getUUID) == 'function')\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.UUID = `NoFABLESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\n\t\t// Pull back a few things\n\t\tthis.log = this.fable.log;\n\t\tthis.servicesMap = this.fable.servicesMap;\n\t\tthis.services = this.fable.services;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\nmodule.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');"]}
1
+ {"version":3,"sources":["fable-serviceproviderbase.compatible.min.js","node_modules/browser-pack/_prelude.js","source/Fable-ServiceProviderBase.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","_defineProperty","obj","value","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","o","iterator","constructor","f","exports","module","define","amd","window","global","self","this","FableServiceproviderbase","r","e","n","t","c","require","u","a","Error","code","p","FableServiceProviderBase","pFable","pOptions","pServiceHash","isFable","connectFable","fable","UUID","getUUID","options","concat","Math","floor","random","serviceType","Hash","tmpErrorMessage","console","log","Logging","services","servicesMap","CoreServiceProviderBase"],"mappings":"AAAA,aAEA,SAASA,gBAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,oCAAwC,CACxJ,SAASC,kBAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMC,OAAOC,eAAeT,EAAQU,eAAeN,EAAWO,KAAMP,EAAa,CAAE,CAC5U,SAASQ,aAAaf,EAAagB,EAAYC,GAAyN,OAAtMD,GAAYd,kBAAkBF,EAAYkB,UAAWF,GAAiBC,GAAaf,kBAAkBF,EAAaiB,GAAcN,OAAOC,eAAeZ,EAAa,YAAa,CAAEU,UAAU,IAAiBV,CAAa,CAC5R,SAASmB,gBAAgBC,EAAKN,EAAKO,GAA4L,OAAnLP,EAAMD,eAAeC,MAAiBM,EAAOT,OAAOC,eAAeQ,EAAKN,EAAK,CAAEO,MAAOA,EAAOb,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBU,EAAIN,GAAOO,EAAgBD,CAAK,CAC3O,SAASP,eAAeS,GAAO,IAAIR,EAAMS,aAAaD,EAAK,UAAW,MAAwB,WAAjBE,QAAQV,GAAoBA,EAAMW,OAAOX,EAAM,CAC5H,SAASS,aAAaG,EAAOC,GAAQ,GAAuB,WAAnBH,QAAQE,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMG,OAAOC,aAAc,QAAaC,IAATH,EAAoB,CAAE,IAAII,EAAMJ,EAAKK,KAAKP,EAAOC,GAAQ,WAAY,GAAqB,WAAjBH,QAAQQ,GAAmB,OAAOA,EAAK,MAAM,IAAI/B,UAAU,+CAAiD,CAAE,OAAiB,WAAT0B,EAAoBF,OAASS,QAAQR,EAAQ,CAC5X,SAASF,QAAQW,GAAgC,OAAOX,QAAU,mBAAqBK,QAAU,iBAAmBA,OAAOO,SAAW,SAAUD,GAAK,cAAcA,CAAG,EAAI,SAAUA,GAAK,OAAOA,GAAK,mBAAqBN,QAAUM,EAAEE,cAAgBR,QAAUM,IAAMN,OAAOX,UAAY,gBAAkBiB,CAAG,EAAGX,QAAQW,EAAI,ECR7T,SAAAG,GAAA,GAAA,YAAA,oBAAAC,QAAA,YAAAf,QAAAe,WAAA,oBAAAC,OAAAA,OAAAD,QAAAD,SAAA,GAAA,mBAAAG,QAAAA,OAAAC,IAAAD,OAAA,GAAAH,OAAA,EAAA,oBAAAK,OAAAA,OAAA,oBAAAC,OAAAA,OAAA,oBAAAC,KAAAA,KAAAC,MAAAC,yBAAAT,GAAA,CAAA,CAAA,EAAA,WAAA,OAAA,SAAAU,EAAAC,EAAAC,EAAAC,GAAA,SAAAhB,EAAA9B,EAAAiC,GAAA,IAAAY,EAAA7C,GAAA,CAAA,IAAA4C,EAAA5C,GAAA,CAAA,IAAA+C,EAAA,mBAAAC,SAAAA,QAAA,IAAAf,GAAAc,EAAA,OAAAA,EAAA/C,GAAA,GAAA,GAAAiD,EAAA,OAAAA,EAAAjD,GAAA,GAAA,IAAAkD,EAAA,IAAAC,MAAA,uBAAAnD,EAAA,KAAA,MAAAkD,EAAAE,KAAA,mBAAAF,CAAA,CAAA,IAAAG,EAAAR,EAAA7C,GAAA,CAAAkC,QAAA,CAAA,GAAAU,EAAA5C,GAAA,GAAA4B,KAAAyB,EAAAnB,SAAA,SAAAS,GAAA,OAAAb,EAAAc,EAAA5C,GAAA,GAAA2C,IAAAA,EAAA,GAAAU,EAAAA,EAAAnB,QAAAS,EAAAC,EAAAC,EAAAC,EAAA,CAAA,OAAAD,EAAA7C,GAAAkC,OAAA,CAAA,IAAA,IAAAe,EAAA,mBAAAD,SAAAA,QAAAhD,EAAA,EAAAA,EAAA8C,EAAA7C,OAAAD,IAAA8B,EAAAgB,EAAA9C,IAAA,OAAA8B,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,SAAAkB,EAAAb,EAAAD,GCAA,IAKAoB,EAAA,WAKA,SAAAA,EAAAC,EAAAC,EAAAC,GACAhE,gBAAAgD,KAAAa,GAEA,WAAAnC,QAAAoC,IAAAA,EAAAG,QAEAjB,KAAAkB,aAAAJ,GAIAd,KAAAmB,OAAA,EAIAnB,KAAAmB,OAEAnB,KAAAoB,KAAAN,EAAAO,UACArB,KAAAsB,QAAA,WAAA5C,QAAAqC,GAAAA,EACA,CAAA,IAMAf,KAAAsB,QAAA,WAAA5C,QAAAoC,IAAAA,EAAAG,QACA,WAAAvC,QAAAqC,GAAAA,EACA,CAAA,EAFAD,EAGAd,KAAAoB,KAAA,YAAAG,OAAAC,KAAAC,MAAA,MAAAD,KAAAE,SAAA,OAIA1B,KAAA2B,YAAA,WAAAJ,OAAAvB,KAAAoB,MAGApB,KAAA4B,KAAA,iBAAAZ,EAAAA,EACAhB,KAAAmB,OAAA,iBAAAJ,EAAA,GAAAQ,OACAvB,KAAAoB,MADAL,CAEA,CA+BA,OA/BA9C,aAAA4C,EAAA,CAAA,CAAA7C,IAAA,eAAAO,MAEA,SAAAuC,GAEA,GAAA,WAAApC,QAAAoC,KAAAA,EAAAG,QACA,CACA,IAAAY,EAAA,sHAAAN,OAAA7C,QAAAoC,GAAA,OAEA,OADAgB,QAAAC,IAAAF,GACA,IAAAnB,MAAAmB,EACA,CAqBA,OAnBA7B,KAAAmB,QAEAnB,KAAAmB,MAAAL,GAGAd,KAAA+B,MAEA/B,KAAA+B,IAAA/B,KAAAmB,MAAAa,SAEAhC,KAAAiC,WAEAjC,KAAAiC,SAAAjC,KAAAmB,MAAAc,UAGAjC,KAAAkC,cAEAlC,KAAAkC,YAAAlC,KAAAmB,MAAAe,cAGA,CACA,KAAArB,CAAA,CAxEA,GAwEAxC,gBAxEAwC,EAAA,kBA0EA,GAGAnB,EAAAD,QAAAoB,EAGAnB,EAAAD,QAAA0C,wBAAAtB,CFEA,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GCvFX,CDuFe,EACf","file":"fable-serviceproviderbase.compatible.min.js","sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.FableServiceproviderbase = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\t// The constructor can be used in two ways:\n\t// 1) With a fable, options object and service hash (the options object and service hash are optional)\n\t// 2) With an object or nothing as the first parameter, where it will be treated as the options object\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\t// Check if a fable was passed in; connect it if so\n\t\tif ((typeof(pFable) === 'object') && pFable.isFable)\n\t\t{\n\t\t\tthis.connectFable(pFable);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.fable = false;\n\t\t}\n\n\t\t// initialize options and UUID based on whether the fable was passed in or not.\n\t\tif (this.fable)\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// With no fable, check to see if there was an object passed into either of the first two\n\t\t\t// Parameters, and if so, treat it as the options object\n\t\t\tthis.options = ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t\t: (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t\tthis.UUID = `CORE-SVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\t// It's expected that the deriving class will set this\n\t\tthis.serviceType = `Unknown-${this.UUID}`;\n\n\t\t// The service hash is used to identify the specific instantiation of the service in the services map\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash \n\t\t\t\t\t: (!this.fable && (typeof(pOptions) === 'string')) ? pOptions\n\t\t\t\t\t: `${this.UUID}`;\n\t}\n\n\tconnectFable(pFable)\n\t{\n\t\tif ((typeof(pFable) !== 'object') || (!pFable.isFable))\n\t\t{\n\t\t\tlet tmpErrorMessage = `Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [${typeof(pFable)}].}`;\n\t\t\tconsole.log(tmpErrorMessage);\n\t\t\treturn new Error(tmpErrorMessage);\n\t\t}\n\n\t\tif (!this.fable)\n\t\t{\n\t\t\tthis.fable = pFable;\n\t\t}\n\n\t\tif (!this.log)\n\t\t{\n\t\t\tthis.log = this.fable.Logging;\n\t\t}\n\t\tif (!this.services)\n\t\t{\n\t\t\tthis.services = this.fable.services;\n\t\t}\n\n\t\tif (!this.servicesMap)\n\t\t{\n\t\t\tthis.servicesMap = this.fable.servicesMap;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\n// This is left here in case we want to go back to having different code/base class for \"core\" services\nmodule.exports.CoreServiceProviderBase = FableServiceProviderBase;\n},{}]},{},[1])(1)\n});\n\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\t// The constructor can be used in two ways:\n\t// 1) With a fable, options object and service hash (the options object and service hash are optional)\n\t// 2) With an object or nothing as the first parameter, where it will be treated as the options object\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\t// Check if a fable was passed in; connect it if so\n\t\tif ((typeof(pFable) === 'object') && pFable.isFable)\n\t\t{\n\t\t\tthis.connectFable(pFable);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.fable = false;\n\t\t}\n\n\t\t// initialize options and UUID based on whether the fable was passed in or not.\n\t\tif (this.fable)\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// With no fable, check to see if there was an object passed into either of the first two\n\t\t\t// Parameters, and if so, treat it as the options object\n\t\t\tthis.options = ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t\t: (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t\tthis.UUID = `CORE-SVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\t// It's expected that the deriving class will set this\n\t\tthis.serviceType = `Unknown-${this.UUID}`;\n\n\t\t// The service hash is used to identify the specific instantiation of the service in the services map\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash \n\t\t\t\t\t: (!this.fable && (typeof(pOptions) === 'string')) ? pOptions\n\t\t\t\t\t: `${this.UUID}`;\n\t}\n\n\tconnectFable(pFable)\n\t{\n\t\tif ((typeof(pFable) !== 'object') || (!pFable.isFable))\n\t\t{\n\t\t\tlet tmpErrorMessage = `Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [${typeof(pFable)}].}`;\n\t\t\tconsole.log(tmpErrorMessage);\n\t\t\treturn new Error(tmpErrorMessage);\n\t\t}\n\n\t\tif (!this.fable)\n\t\t{\n\t\t\tthis.fable = pFable;\n\t\t}\n\n\t\tif (!this.log)\n\t\t{\n\t\t\tthis.log = this.fable.Logging;\n\t\t}\n\t\tif (!this.services)\n\t\t{\n\t\t\tthis.services = this.fable.services;\n\t\t}\n\n\t\tif (!this.servicesMap)\n\t\t{\n\t\t\tthis.servicesMap = this.fable.servicesMap;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\n// This is left here in case we want to go back to having different code/base class for \"core\" services\nmodule.exports.CoreServiceProviderBase = FableServiceProviderBase;"]}
@@ -50,63 +50,66 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
50
50
  return r;
51
51
  }()({
52
52
  1: [function (require, module, exports) {
53
- /**
54
- * Fable Core Pre-initialization Service Base
55
- *
56
- * For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.
57
- * This is a base class for those services.
58
- *
59
- * @author <steven@velozo.com>
60
- */
61
-
62
- class FableCoreServiceProviderBase {
63
- constructor(pOptions, pServiceHash) {
64
- this.fable = false;
65
- this.options = typeof pOptions === 'object' ? pOptions : {};
66
- this.serviceType = 'Unknown';
67
-
68
- // The hash will be a non-standard UUID ... the UUID service uses this base class!
69
- this.UUID = "CORESVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
70
- this.Hash = typeof pServiceHash === 'string' ? pServiceHash : "".concat(this.UUID);
71
- }
72
- // After fable is initialized, it would be expected to be wired in as a normal service.
73
- connectFable(pFable) {
74
- this.fable = pFable;
75
- return true;
76
- }
77
- }
78
- _defineProperty(FableCoreServiceProviderBase, "isFableService", true);
79
- module.exports = FableCoreServiceProviderBase;
80
- }, {}],
81
- 2: [function (require, module, exports) {
82
53
  /**
83
54
  * Fable Service Base
84
55
  * @author <steven@velozo.com>
85
56
  */
86
57
 
87
58
  class FableServiceProviderBase {
59
+ // The constructor can be used in two ways:
60
+ // 1) With a fable, options object and service hash (the options object and service hash are optional)
61
+ // 2) With an object or nothing as the first parameter, where it will be treated as the options object
88
62
  constructor(pFable, pOptions, pServiceHash) {
89
- this.fable = pFable;
90
- this.options = typeof pOptions === 'object' ? pOptions : typeof pFable === 'object' && !pFable.isFable ? pFable : {};
91
- this.serviceType = 'Unknown';
92
- if (typeof pFable.getUUID == 'function') {
63
+ // Check if a fable was passed in; connect it if so
64
+ if (typeof pFable === 'object' && pFable.isFable) {
65
+ this.connectFable(pFable);
66
+ } else {
67
+ this.fable = false;
68
+ }
69
+
70
+ // initialize options and UUID based on whether the fable was passed in or not.
71
+ if (this.fable) {
93
72
  this.UUID = pFable.getUUID();
73
+ this.options = typeof pOptions === 'object' ? pOptions : {};
94
74
  } else {
95
- this.UUID = "NoFABLESVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
75
+ // With no fable, check to see if there was an object passed into either of the first two
76
+ // Parameters, and if so, treat it as the options object
77
+ this.options = typeof pFable === 'object' && !pFable.isFable ? pFable : typeof pOptions === 'object' ? pOptions : {};
78
+ this.UUID = "CORE-SVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
96
79
  }
97
- this.Hash = typeof pServiceHash === 'string' ? pServiceHash : "".concat(this.UUID);
98
80
 
99
- // Pull back a few things
100
- this.log = this.fable.log;
101
- this.servicesMap = this.fable.servicesMap;
102
- this.services = this.fable.services;
81
+ // It's expected that the deriving class will set this
82
+ this.serviceType = "Unknown-".concat(this.UUID);
83
+
84
+ // The service hash is used to identify the specific instantiation of the service in the services map
85
+ this.Hash = typeof pServiceHash === 'string' ? pServiceHash : !this.fable && typeof pOptions === 'string' ? pOptions : "".concat(this.UUID);
86
+ }
87
+ connectFable(pFable) {
88
+ if (typeof pFable !== 'object' || !pFable.isFable) {
89
+ let tmpErrorMessage = "Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [".concat(typeof pFable, "].}");
90
+ console.log(tmpErrorMessage);
91
+ return new Error(tmpErrorMessage);
92
+ }
93
+ if (!this.fable) {
94
+ this.fable = pFable;
95
+ }
96
+ if (!this.log) {
97
+ this.log = this.fable.Logging;
98
+ }
99
+ if (!this.services) {
100
+ this.services = this.fable.services;
101
+ }
102
+ if (!this.servicesMap) {
103
+ this.servicesMap = this.fable.servicesMap;
104
+ }
105
+ return true;
103
106
  }
104
107
  }
105
108
  _defineProperty(FableServiceProviderBase, "isFableService", true);
106
109
  module.exports = FableServiceProviderBase;
107
- module.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');
108
- }, {
109
- "./Fable-ServiceProviderBase-Preinit.js": 1
110
- }]
111
- }, {}, [2])(2);
110
+
111
+ // This is left here in case we want to go back to having different code/base class for "core" services
112
+ module.exports.CoreServiceProviderBase = FableServiceProviderBase;
113
+ }, {}]
114
+ }, {}, [1])(1);
112
115
  });
@@ -1,2 +1,2 @@
1
- "use strict";function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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 i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}!function(e){if("object"==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).FableServiceproviderbase=e()}}((function(){return function e(t,r,i){function o(s,f){if(!r[s]){if(!t[s]){var c="function"==typeof require&&require;if(!f&&c)return c(s,!0);if(n)return n(s,!0);var a=new Error("Cannot find module '"+s+"'");throw a.code="MODULE_NOT_FOUND",a}var u=r[s]={exports:{}};t[s][0].call(u.exports,(function(e){return o(t[s][1][e]||e)}),u,u.exports,e,t,r,i)}return r[s].exports}for(var n="function"==typeof require&&require,s=0;s<i.length;s++)o(i[s]);return o}({1:[function(e,t,r){class i{constructor(e,t){this.fable=!1,this.options="object"==typeof e?e:{},this.serviceType="Unknown",this.UUID="CORESVC-".concat(Math.floor(89999*Math.random()+1e4)),this.Hash="string"==typeof t?t:"".concat(this.UUID)}connectFable(e){return this.fable=e,!0}}_defineProperty(i,"isFableService",!0),t.exports=i},{}],2:[function(e,t,r){class i{constructor(e,t,r){this.fable=e,this.options="object"==typeof t?t:"object"!=typeof e||e.isFable?{}:e,this.serviceType="Unknown","function"==typeof e.getUUID?this.UUID=e.getUUID():this.UUID="NoFABLESVC-".concat(Math.floor(89999*Math.random()+1e4)),this.Hash="string"==typeof r?r:"".concat(this.UUID),this.log=this.fable.log,this.servicesMap=this.fable.servicesMap,this.services=this.fable.services}}_defineProperty(i,"isFableService",!0),t.exports=i,t.exports.CoreServiceProviderBase=e("./Fable-ServiceProviderBase-Preinit.js")},{"./Fable-ServiceProviderBase-Preinit.js":1}]},{},[2])(2)}));
1
+ "use strict";function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,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 i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}!function(e){if("object"==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).FableServiceproviderbase=e()}}((function(){return function e(t,i,r){function o(s,f){if(!i[s]){if(!t[s]){var a="function"==typeof require&&require;if(!f&&a)return a(s,!0);if(n)return n(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=i[s]={exports:{}};t[s][0].call(l.exports,(function(e){return o(t[s][1][e]||e)}),l,l.exports,e,t,i,r)}return i[s].exports}for(var n="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t,i){class r{constructor(e,t,i){"object"==typeof e&&e.isFable?this.connectFable(e):this.fable=!1,this.fable?(this.UUID=e.getUUID(),this.options="object"==typeof t?t:{}):(this.options="object"!=typeof e||e.isFable?"object"==typeof t?t:{}:e,this.UUID="CORE-SVC-".concat(Math.floor(89999*Math.random()+1e4))),this.serviceType="Unknown-".concat(this.UUID),this.Hash="string"==typeof i?i:this.fable||"string"!=typeof t?"".concat(this.UUID):t}connectFable(e){if("object"!=typeof e||!e.isFable){let t="Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [".concat(typeof e,"].}");return console.log(t),new Error(t)}return this.fable||(this.fable=e),this.log||(this.log=this.fable.Logging),this.services||(this.services=this.fable.services),this.servicesMap||(this.servicesMap=this.fable.servicesMap),!0}}_defineProperty(r,"isFableService",!0),t.exports=r,t.exports.CoreServiceProviderBase=r},{}]},{},[1])(1)}));
2
2
  //# sourceMappingURL=fable-serviceproviderbase.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["fable-serviceproviderbase.min.js","node_modules/browser-pack/_prelude.js","source/Fable-ServiceProviderBase-Preinit.js","source/Fable-ServiceProviderBase.js"],"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","f","exports","module","define","amd","window","global","self","this","FableServiceproviderbase","r","e","n","t","o","i","c","require","u","a","Error","code","p","length","FableCoreServiceProviderBase","constructor","pOptions","pServiceHash","fable","options","serviceType","UUID","concat","Math","floor","random","Hash","connectFable","pFable","FableServiceProviderBase","isFable","getUUID","log","servicesMap","services","CoreServiceProviderBase"],"mappings":"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","file":"fable-serviceproviderbase.min.js","sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.FableServiceproviderbase = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n/**\n* Fable Core Pre-initialization Service Base\n*\n* For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.\n* This is a base class for those services.\n*\n* @author <steven@velozo.com>\n*/\n\nclass FableCoreServiceProviderBase\n{\n\tconstructor(pOptions, pServiceHash)\n\t{\n\t\tthis.fable = false;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions : {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\t// The hash will be a non-standard UUID ... the UUID service uses this base class!\n\t\tthis.UUID = `CORESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`;\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\t}\n\n\n\tstatic isFableService = true;\n\n\t// After fable is initialized, it would be expected to be wired in as a normal service.\n\tconnectFable(pFable)\n\t{\n\t\tthis.fable = pFable;\n\n\t\treturn true;\n\t}\n}\n\nmodule.exports = FableCoreServiceProviderBase;\n\n},{}],2:[function(require,module,exports){\n/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\tthis.fable = pFable;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t: ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t: {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\tif (typeof(pFable.getUUID) == 'function')\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.UUID = `NoFABLESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\n\t\t// Pull back a few things\n\t\tthis.log = this.fable.log;\n\t\tthis.servicesMap = this.fable.servicesMap;\n\t\tthis.services = this.fable.services;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\nmodule.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');\n},{\"./Fable-ServiceProviderBase-Preinit.js\":1}]},{},[2])(2)\n});\n\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","/**\n* Fable Core Pre-initialization Service Base\n*\n* For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.\n* This is a base class for those services.\n*\n* @author <steven@velozo.com>\n*/\n\nclass FableCoreServiceProviderBase\n{\n\tconstructor(pOptions, pServiceHash)\n\t{\n\t\tthis.fable = false;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions : {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\t// The hash will be a non-standard UUID ... the UUID service uses this base class!\n\t\tthis.UUID = `CORESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`;\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\t}\n\n\n\tstatic isFableService = true;\n\n\t// After fable is initialized, it would be expected to be wired in as a normal service.\n\tconnectFable(pFable)\n\t{\n\t\tthis.fable = pFable;\n\n\t\treturn true;\n\t}\n}\n\nmodule.exports = FableCoreServiceProviderBase;\n","/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\tthis.fable = pFable;\n\n\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t: ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t: {};\n\n\t\tthis.serviceType = 'Unknown';\n\n\t\tif (typeof(pFable.getUUID) == 'function')\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.UUID = `NoFABLESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;\n\n\t\t// Pull back a few things\n\t\tthis.log = this.fable.log;\n\t\tthis.servicesMap = this.fable.servicesMap;\n\t\tthis.services = this.fable.services;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\nmodule.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');"]}
1
+ {"version":3,"sources":["fable-serviceproviderbase.min.js","node_modules/browser-pack/_prelude.js","source/Fable-ServiceProviderBase.js"],"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","f","exports","module","define","amd","window","global","self","this","FableServiceproviderbase","r","e","n","t","o","i","c","require","u","a","Error","code","p","length","FableServiceProviderBase","constructor","pFable","pOptions","pServiceHash","isFable","connectFable","fable","UUID","getUUID","options","concat","Math","floor","random","serviceType","Hash","tmpErrorMessage","console","log","Logging","services","servicesMap","CoreServiceProviderBase"],"mappings":"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","file":"fable-serviceproviderbase.min.js","sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.FableServiceproviderbase = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\t// The constructor can be used in two ways:\n\t// 1) With a fable, options object and service hash (the options object and service hash are optional)\n\t// 2) With an object or nothing as the first parameter, where it will be treated as the options object\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\t// Check if a fable was passed in; connect it if so\n\t\tif ((typeof(pFable) === 'object') && pFable.isFable)\n\t\t{\n\t\t\tthis.connectFable(pFable);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.fable = false;\n\t\t}\n\n\t\t// initialize options and UUID based on whether the fable was passed in or not.\n\t\tif (this.fable)\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// With no fable, check to see if there was an object passed into either of the first two\n\t\t\t// Parameters, and if so, treat it as the options object\n\t\t\tthis.options = ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t\t: (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t\tthis.UUID = `CORE-SVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\t// It's expected that the deriving class will set this\n\t\tthis.serviceType = `Unknown-${this.UUID}`;\n\n\t\t// The service hash is used to identify the specific instantiation of the service in the services map\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash \n\t\t\t\t\t: (!this.fable && (typeof(pOptions) === 'string')) ? pOptions\n\t\t\t\t\t: `${this.UUID}`;\n\t}\n\n\tconnectFable(pFable)\n\t{\n\t\tif ((typeof(pFable) !== 'object') || (!pFable.isFable))\n\t\t{\n\t\t\tlet tmpErrorMessage = `Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [${typeof(pFable)}].}`;\n\t\t\tconsole.log(tmpErrorMessage);\n\t\t\treturn new Error(tmpErrorMessage);\n\t\t}\n\n\t\tif (!this.fable)\n\t\t{\n\t\t\tthis.fable = pFable;\n\t\t}\n\n\t\tif (!this.log)\n\t\t{\n\t\t\tthis.log = this.fable.Logging;\n\t\t}\n\t\tif (!this.services)\n\t\t{\n\t\t\tthis.services = this.fable.services;\n\t\t}\n\n\t\tif (!this.servicesMap)\n\t\t{\n\t\t\tthis.servicesMap = this.fable.servicesMap;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\n// This is left here in case we want to go back to having different code/base class for \"core\" services\nmodule.exports.CoreServiceProviderBase = FableServiceProviderBase;\n},{}]},{},[1])(1)\n});\n\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","/**\n* Fable Service Base\n* @author <steven@velozo.com>\n*/\n\nclass FableServiceProviderBase\n{\n\t// The constructor can be used in two ways:\n\t// 1) With a fable, options object and service hash (the options object and service hash are optional)\n\t// 2) With an object or nothing as the first parameter, where it will be treated as the options object\n\tconstructor(pFable, pOptions, pServiceHash)\n\t{\n\t\t// Check if a fable was passed in; connect it if so\n\t\tif ((typeof(pFable) === 'object') && pFable.isFable)\n\t\t{\n\t\t\tthis.connectFable(pFable);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.fable = false;\n\t\t}\n\n\t\t// initialize options and UUID based on whether the fable was passed in or not.\n\t\tif (this.fable)\n\t\t{\n\t\t\tthis.UUID = pFable.getUUID();\n\t\t\tthis.options = (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// With no fable, check to see if there was an object passed into either of the first two\n\t\t\t// Parameters, and if so, treat it as the options object\n\t\t\tthis.options = ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable\n\t\t\t\t\t\t\t: (typeof(pOptions) === 'object') ? pOptions\n\t\t\t\t\t\t\t: {};\n\t\t\tthis.UUID = `CORE-SVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`\n\t\t}\n\n\t\t// It's expected that the deriving class will set this\n\t\tthis.serviceType = `Unknown-${this.UUID}`;\n\n\t\t// The service hash is used to identify the specific instantiation of the service in the services map\n\t\tthis.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash \n\t\t\t\t\t: (!this.fable && (typeof(pOptions) === 'string')) ? pOptions\n\t\t\t\t\t: `${this.UUID}`;\n\t}\n\n\tconnectFable(pFable)\n\t{\n\t\tif ((typeof(pFable) !== 'object') || (!pFable.isFable))\n\t\t{\n\t\t\tlet tmpErrorMessage = `Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [${typeof(pFable)}].}`;\n\t\t\tconsole.log(tmpErrorMessage);\n\t\t\treturn new Error(tmpErrorMessage);\n\t\t}\n\n\t\tif (!this.fable)\n\t\t{\n\t\t\tthis.fable = pFable;\n\t\t}\n\n\t\tif (!this.log)\n\t\t{\n\t\t\tthis.log = this.fable.Logging;\n\t\t}\n\t\tif (!this.services)\n\t\t{\n\t\t\tthis.services = this.fable.services;\n\t\t}\n\n\t\tif (!this.servicesMap)\n\t\t{\n\t\t\tthis.servicesMap = this.fable.servicesMap;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tstatic isFableService = true;\n}\n\nmodule.exports = FableServiceProviderBase;\n\n// This is left here in case we want to go back to having different code/base class for \"core\" services\nmodule.exports.CoreServiceProviderBase = FableServiceProviderBase;"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fable-serviceproviderbase",
3
- "version": "3.0.10",
3
+ "version": "3.0.12",
4
4
  "description": "Simple base classes for fable services.",
5
5
  "main": "source/Fable-ServiceProviderBase.js",
6
6
  "scripts": {
@@ -41,9 +41,7 @@
41
41
  },
42
42
  "homepage": "https://github.com/stevenvelozo/fable-serviceproviderbase",
43
43
  "devDependencies": {
44
- "fable": "^3.0.67"
45
- },
46
- "dependencies": {
47
- "quackage": "^1.0.14"
44
+ "fable": "^3.0.86",
45
+ "quackage": "^1.0.19"
48
46
  }
49
47
  }
@@ -5,31 +5,76 @@
5
5
 
6
6
  class FableServiceProviderBase
7
7
  {
8
+ // The constructor can be used in two ways:
9
+ // 1) With a fable, options object and service hash (the options object and service hash are optional)
10
+ // 2) With an object or nothing as the first parameter, where it will be treated as the options object
8
11
  constructor(pFable, pOptions, pServiceHash)
9
12
  {
10
- this.fable = pFable;
11
-
12
- this.options = (typeof(pOptions) === 'object') ? pOptions
13
- : ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable
14
- : {};
15
-
16
- this.serviceType = 'Unknown';
13
+ // Check if a fable was passed in; connect it if so
14
+ if ((typeof(pFable) === 'object') && pFable.isFable)
15
+ {
16
+ this.connectFable(pFable);
17
+ }
18
+ else
19
+ {
20
+ this.fable = false;
21
+ }
17
22
 
18
- if (typeof(pFable.getUUID) == 'function')
23
+ // initialize options and UUID based on whether the fable was passed in or not.
24
+ if (this.fable)
19
25
  {
20
26
  this.UUID = pFable.getUUID();
27
+ this.options = (typeof(pOptions) === 'object') ? pOptions
28
+ : {};
21
29
  }
22
30
  else
23
31
  {
24
- this.UUID = `NoFABLESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`
32
+ // With no fable, check to see if there was an object passed into either of the first two
33
+ // Parameters, and if so, treat it as the options object
34
+ this.options = ((typeof(pFable) === 'object') && !pFable.isFable) ? pFable
35
+ : (typeof(pOptions) === 'object') ? pOptions
36
+ : {};
37
+ this.UUID = `CORE-SVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`
38
+ }
39
+
40
+ // It's expected that the deriving class will set this
41
+ this.serviceType = `Unknown-${this.UUID}`;
42
+
43
+ // The service hash is used to identify the specific instantiation of the service in the services map
44
+ this.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash
45
+ : (!this.fable && (typeof(pOptions) === 'string')) ? pOptions
46
+ : `${this.UUID}`;
47
+ }
48
+
49
+ connectFable(pFable)
50
+ {
51
+ if ((typeof(pFable) !== 'object') || (!pFable.isFable))
52
+ {
53
+ let tmpErrorMessage = `Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [${typeof(pFable)}].}`;
54
+ console.log(tmpErrorMessage);
55
+ return new Error(tmpErrorMessage);
56
+ }
57
+
58
+ if (!this.fable)
59
+ {
60
+ this.fable = pFable;
61
+ }
62
+
63
+ if (!this.log)
64
+ {
65
+ this.log = this.fable.Logging;
66
+ }
67
+ if (!this.services)
68
+ {
69
+ this.services = this.fable.services;
25
70
  }
26
71
 
27
- this.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;
72
+ if (!this.servicesMap)
73
+ {
74
+ this.servicesMap = this.fable.servicesMap;
75
+ }
28
76
 
29
- // Pull back a few things
30
- this.log = this.fable.log;
31
- this.servicesMap = this.fable.servicesMap;
32
- this.services = this.fable.services;
77
+ return true;
33
78
  }
34
79
 
35
80
  static isFableService = true;
@@ -37,4 +82,5 @@ class FableServiceProviderBase
37
82
 
38
83
  module.exports = FableServiceProviderBase;
39
84
 
40
- module.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');
85
+ // This is left here in case we want to go back to having different code/base class for "core" services
86
+ module.exports.CoreServiceProviderBase = FableServiceProviderBase;
@@ -1,38 +0,0 @@
1
- /**
2
- * Fable Core Pre-initialization Service Base
3
- *
4
- * For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.
5
- * This is a base class for those services.
6
- *
7
- * @author <steven@velozo.com>
8
- */
9
-
10
- class FableCoreServiceProviderBase
11
- {
12
- constructor(pOptions, pServiceHash)
13
- {
14
- this.fable = false;
15
-
16
- this.options = (typeof(pOptions) === 'object') ? pOptions : {};
17
-
18
- this.serviceType = 'Unknown';
19
-
20
- // The hash will be a non-standard UUID ... the UUID service uses this base class!
21
- this.UUID = `CORESVC-${Math.floor((Math.random() * (99999 - 10000)) + 10000)}`;
22
-
23
- this.Hash = (typeof(pServiceHash) === 'string') ? pServiceHash : `${this.UUID}`;
24
- }
25
-
26
-
27
- static isFableService = true;
28
-
29
- // After fable is initialized, it would be expected to be wired in as a normal service.
30
- connectFable(pFable)
31
- {
32
- this.fable = pFable;
33
-
34
- return true;
35
- }
36
- }
37
-
38
- module.exports = FableCoreServiceProviderBase;