manyfest 1.0.25 → 1.0.27

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.
@@ -13,7 +13,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
13
13
  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; }
14
14
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
15
  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); }
16
- 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); }
16
+ 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); }
17
17
  (function (f) {
18
18
  if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") {
19
19
  module.exports = f();
@@ -62,67 +62,71 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
62
62
  }()({
63
63
  1: [function (require, module, exports) {
64
64
  /**
65
- * Fable Core Pre-initialization Service Base
66
- *
67
- * For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.
68
- * This is a base class for those services.
69
- *
65
+ * Fable Service Base
70
66
  * @author <steven@velozo.com>
71
67
  */
72
- var FableCoreServiceProviderBase = /*#__PURE__*/function () {
73
- function FableCoreServiceProviderBase(pOptions, pServiceHash) {
74
- _classCallCheck(this, FableCoreServiceProviderBase);
75
- this.fable = false;
76
- this.options = _typeof(pOptions) === 'object' ? pOptions : {};
77
- this.serviceType = 'Unknown';
78
-
79
- // The hash will be a non-standard UUID ... the UUID service uses this base class!
80
- this.UUID = "CORESVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
81
- this.Hash = typeof pServiceHash === 'string' ? pServiceHash : "".concat(this.UUID);
68
+ var FableServiceProviderBase = /*#__PURE__*/function () {
69
+ // The constructor can be used in two ways:
70
+ // 1) With a fable, options object and service hash (the options object and service hash are optional)
71
+ // 2) With an object or nothing as the first parameter, where it will be treated as the options object
72
+ function FableServiceProviderBase(pFable, pOptions, pServiceHash) {
73
+ _classCallCheck(this, FableServiceProviderBase);
74
+ // Check if a fable was passed in; connect it if so
75
+ if (_typeof(pFable) === 'object' && pFable.isFable) {
76
+ this.connectFable(pFable);
77
+ } else {
78
+ this.fable = false;
79
+ }
80
+
81
+ // initialize options and UUID based on whether the fable was passed in or not.
82
+ if (this.fable) {
83
+ this.UUID = pFable.getUUID();
84
+ this.options = _typeof(pOptions) === 'object' ? pOptions : {};
85
+ } else {
86
+ // With no fable, check to see if there was an object passed into either of the first two
87
+ // Parameters, and if so, treat it as the options object
88
+ this.options = _typeof(pFable) === 'object' && !pFable.isFable ? pFable : _typeof(pOptions) === 'object' ? pOptions : {};
89
+ this.UUID = "CORE-SVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
90
+ }
91
+
92
+ // It's expected that the deriving class will set this
93
+ this.serviceType = "Unknown-".concat(this.UUID);
94
+
95
+ // The service hash is used to identify the specific instantiation of the service in the services map
96
+ this.Hash = typeof pServiceHash === 'string' ? pServiceHash : !this.fable && typeof pOptions === 'string' ? pOptions : "".concat(this.UUID);
82
97
  }
83
- _createClass(FableCoreServiceProviderBase, [{
98
+ _createClass(FableServiceProviderBase, [{
84
99
  key: "connectFable",
85
- value:
86
- // After fable is initialized, it would be expected to be wired in as a normal service.
87
- function connectFable(pFable) {
88
- this.fable = pFable;
100
+ value: function connectFable(pFable) {
101
+ if (_typeof(pFable) !== 'object' || !pFable.isFable) {
102
+ var tmpErrorMessage = "Fable Service Provider Base: Cannot connect to Fable, invalid Fable object passed in. The pFable parameter was a [".concat(_typeof(pFable), "].}");
103
+ console.log(tmpErrorMessage);
104
+ return new Error(tmpErrorMessage);
105
+ }
106
+ if (!this.fable) {
107
+ this.fable = pFable;
108
+ }
109
+ if (!this.log) {
110
+ this.log = this.fable.Logging;
111
+ }
112
+ if (!this.services) {
113
+ this.services = this.fable.services;
114
+ }
115
+ if (!this.servicesMap) {
116
+ this.servicesMap = this.fable.servicesMap;
117
+ }
89
118
  return true;
90
119
  }
91
120
  }]);
92
- return FableCoreServiceProviderBase;
121
+ return FableServiceProviderBase;
93
122
  }();
94
- _defineProperty(FableCoreServiceProviderBase, "isFableService", true);
95
- module.exports = FableCoreServiceProviderBase;
96
- }, {}],
97
- 2: [function (require, module, exports) {
98
- /**
99
- * Fable Service Base
100
- * @author <steven@velozo.com>
101
- */
102
- var FableServiceProviderBase = /*#__PURE__*/_createClass(function FableServiceProviderBase(pFable, pOptions, pServiceHash) {
103
- _classCallCheck(this, FableServiceProviderBase);
104
- this.fable = pFable;
105
- this.options = _typeof(pOptions) === 'object' ? pOptions : _typeof(pFable) === 'object' && !pFable.isFable ? pFable : {};
106
- this.serviceType = 'Unknown';
107
- if (typeof pFable.getUUID == 'function') {
108
- this.UUID = pFable.getUUID();
109
- } else {
110
- this.UUID = "NoFABLESVC-".concat(Math.floor(Math.random() * (99999 - 10000) + 10000));
111
- }
112
- this.Hash = typeof pServiceHash === 'string' ? pServiceHash : "".concat(this.UUID);
113
-
114
- // Pull back a few things
115
- this.log = this.fable.log;
116
- this.servicesMap = this.fable.serviceMap;
117
- this.services = this.fable.services;
118
- });
119
123
  _defineProperty(FableServiceProviderBase, "isFableService", true);
120
124
  module.exports = FableServiceProviderBase;
121
- module.exports.CoreServiceProviderBase = require('./Fable-ServiceProviderBase-Preinit.js');
122
- }, {
123
- "./Fable-ServiceProviderBase-Preinit.js": 1
124
- }],
125
- 3: [function (require, module, exports) {
125
+
126
+ // This is left here in case we want to go back to having different code/base class for "core" services
127
+ module.exports.CoreServiceProviderBase = FableServiceProviderBase;
128
+ }, {}],
129
+ 2: [function (require, module, exports) {
126
130
  // When a boxed property is passed in, it should have quotes of some
127
131
  // kind around it.
128
132
  //
@@ -147,7 +151,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
147
151
  };
148
152
  module.exports = cleanWrapCharacters;
149
153
  }, {}],
150
- 4: [function (require, module, exports) {
154
+ 3: [function (require, module, exports) {
151
155
  /**
152
156
  * @author <steven@velozo.com>
153
157
  */
@@ -248,9 +252,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
248
252
  }();
249
253
  module.exports = ManyfestHashTranslation;
250
254
  }, {
251
- "./Manyfest-LogToConsole.js": 5
255
+ "./Manyfest-LogToConsole.js": 4
252
256
  }],
253
- 5: [function (require, module, exports) {
257
+ 4: [function (require, module, exports) {
254
258
  /**
255
259
  * @author <steven@velozo.com>
256
260
  */
@@ -266,7 +270,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
266
270
  };
267
271
  module.exports = logToConsole;
268
272
  }, {}],
269
- 6: [function (require, module, exports) {
273
+ 5: [function (require, module, exports) {
270
274
  /**
271
275
  * @author <steven@velozo.com>
272
276
  */
@@ -460,9 +464,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
460
464
  ;
461
465
  module.exports = ManyfestObjectAddressResolverCheckAddressExists;
462
466
  }, {
463
- "./Manyfest-LogToConsole.js": 5
467
+ "./Manyfest-LogToConsole.js": 4
464
468
  }],
465
- 7: [function (require, module, exports) {
469
+ 6: [function (require, module, exports) {
466
470
  /**
467
471
  * @author <steven@velozo.com>
468
472
  */
@@ -775,11 +779,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
775
779
  ;
776
780
  module.exports = ManyfestObjectAddressResolverDeleteValue;
777
781
  }, {
778
- "../source/Manyfest-ParseConditionals.js": 11,
779
- "./Manyfest-CleanWrapCharacters.js": 3,
780
- "./Manyfest-LogToConsole.js": 5
782
+ "../source/Manyfest-ParseConditionals.js": 10,
783
+ "./Manyfest-CleanWrapCharacters.js": 2,
784
+ "./Manyfest-LogToConsole.js": 4
781
785
  }],
782
- 8: [function (require, module, exports) {
786
+ 7: [function (require, module, exports) {
783
787
  /**
784
788
  * @author <steven@velozo.com>
785
789
  */
@@ -1120,11 +1124,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1120
1124
  ;
1121
1125
  module.exports = ManyfestObjectAddressResolverGetValue;
1122
1126
  }, {
1123
- "../source/Manyfest-ParseConditionals.js": 11,
1124
- "./Manyfest-CleanWrapCharacters.js": 3,
1125
- "./Manyfest-LogToConsole.js": 5
1127
+ "../source/Manyfest-ParseConditionals.js": 10,
1128
+ "./Manyfest-CleanWrapCharacters.js": 2,
1129
+ "./Manyfest-LogToConsole.js": 4
1126
1130
  }],
1127
- 9: [function (require, module, exports) {
1131
+ 8: [function (require, module, exports) {
1128
1132
  /**
1129
1133
  * @author <steven@velozo.com>
1130
1134
  */
@@ -1313,10 +1317,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1313
1317
  ;
1314
1318
  module.exports = ManyfestObjectAddressSetValue;
1315
1319
  }, {
1316
- "./Manyfest-CleanWrapCharacters.js": 3,
1317
- "./Manyfest-LogToConsole.js": 5
1320
+ "./Manyfest-CleanWrapCharacters.js": 2,
1321
+ "./Manyfest-LogToConsole.js": 4
1318
1322
  }],
1319
- 10: [function (require, module, exports) {
1323
+ 9: [function (require, module, exports) {
1320
1324
  /**
1321
1325
  * @author <steven@velozo.com>
1322
1326
  */
@@ -1429,9 +1433,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1429
1433
  ;
1430
1434
  module.exports = ManyfestObjectAddressGeneration;
1431
1435
  }, {
1432
- "./Manyfest-LogToConsole.js": 5
1436
+ "./Manyfest-LogToConsole.js": 4
1433
1437
  }],
1434
- 11: [function (require, module, exports) {
1438
+ 10: [function (require, module, exports) {
1435
1439
  // Given a string, parse out any conditional expressions and set whether or not to keep the record.
1436
1440
  //
1437
1441
  // For instance:
@@ -1508,7 +1512,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1508
1512
  };
1509
1513
  module.exports = parseConditionals;
1510
1514
  }, {}],
1511
- 12: [function (require, module, exports) {
1515
+ 11: [function (require, module, exports) {
1512
1516
  /**
1513
1517
  * @author <steven@velozo.com>
1514
1518
  */
@@ -1626,9 +1630,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1626
1630
  }();
1627
1631
  module.exports = ManyfestSchemaManipulation;
1628
1632
  }, {
1629
- "./Manyfest-LogToConsole.js": 5
1633
+ "./Manyfest-LogToConsole.js": 4
1630
1634
  }],
1631
- 13: [function (require, module, exports) {
1635
+ 12: [function (require, module, exports) {
1632
1636
  /**
1633
1637
  * @author <steven@velozo.com>
1634
1638
  */
@@ -2092,15 +2096,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2092
2096
  ;
2093
2097
  module.exports = Manyfest;
2094
2098
  }, {
2095
- "./Manyfest-HashTranslation.js": 4,
2096
- "./Manyfest-LogToConsole.js": 5,
2097
- "./Manyfest-ObjectAddress-CheckAddressExists.js": 6,
2098
- "./Manyfest-ObjectAddress-DeleteValue.js": 7,
2099
- "./Manyfest-ObjectAddress-GetValue.js": 8,
2100
- "./Manyfest-ObjectAddress-SetValue.js": 9,
2101
- "./Manyfest-ObjectAddressGeneration.js": 10,
2102
- "./Manyfest-SchemaManipulation.js": 12,
2103
- "fable-serviceproviderbase": 2
2099
+ "./Manyfest-HashTranslation.js": 3,
2100
+ "./Manyfest-LogToConsole.js": 4,
2101
+ "./Manyfest-ObjectAddress-CheckAddressExists.js": 5,
2102
+ "./Manyfest-ObjectAddress-DeleteValue.js": 6,
2103
+ "./Manyfest-ObjectAddress-GetValue.js": 7,
2104
+ "./Manyfest-ObjectAddress-SetValue.js": 8,
2105
+ "./Manyfest-ObjectAddressGeneration.js": 9,
2106
+ "./Manyfest-SchemaManipulation.js": 11,
2107
+ "fable-serviceproviderbase": 1
2104
2108
  }]
2105
- }, {}, [13])(13);
2109
+ }, {}, [12])(12);
2106
2110
  });
@@ -1,2 +1,2 @@
1
- "use strict";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,s=_getPrototypeOf(e);if(t){var n=_getPrototypeOf(this).constructor;r=Reflect.construct(s,arguments,n)}else r=s.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 s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,_toPropertyKey(s.key),s)}}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 s=r.call(e,t||"default");if("object"!==_typeof(s))return s;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).Manyfest=e()}}((function(){return function e(t,r,s){function n(o,i){if(!r[o]){if(!t[o]){var c="function"==typeof require&&require;if(!i&&c)return c(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var f=r[o]={exports:{}};t[o][0].call(f.exports,(function(e){return n(t[o][1][e]||e)}),f,f.exports,e,t,r,s)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o<s.length;o++)n(s[o]);return n}({1:[function(e,t,r){var s=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(s,"isFableService",!0),t.exports=s},{}],2:[function(e,t,r){var s=_createClass((function e(t,r,s){_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 s?s:"".concat(this.UUID),this.log=this.fable.log,this.servicesMap=this.fable.serviceMap,this.services=this.fable.services}));_defineProperty(s,"isFableService",!0),t.exports=s,t.exports.CoreServiceProviderBase=e("./Fable-ServiceProviderBase-Preinit.js")},{"./Fable-ServiceProviderBase-Preinit.js":1}],3:[function(e,t,r){t.exports=function(e,t){return t.startsWith(e)&&t.endsWith(e)?t.substring(1,t.length-1):t}},{}],4:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.translationTable={}}return _createClass(e,[{key:"translationCount",value:function(){return Object.keys(this.translationTable).length}},{key:"addTranslation",value:function(e){var t=this;if("object"!=_typeof(e))return this.logError("Hash translation addTranslation expected a translation be type object but was passed in ".concat(_typeof(e))),!1;Object.keys(e).forEach((function(r){"string"!=typeof e[r]?t.logError("Hash translation addTranslation expected a translation destination hash for [".concat(r,"] to be a string but the referrant was a ").concat(_typeof(e[r]))):t.translationTable[r]=e[r]}))}},{key:"removeTranslationHash",value:function(e){this.translationTable.hasOwnProperty(e)&&delete this.translationTable[e]}},{key:"removeTranslation",value:function(e){var t=this;return"string"==typeof e?(this.removeTranslationHash(e),!0):"object"==_typeof(e)?(Object.keys(e).forEach((function(e){t.removeTranslation(e)})),!0):(this.logError("Hash translation removeTranslation expected either a string or an object but the passed-in translation was type ".concat(_typeof(e))),!1)}},{key:"clearTranslations",value:function(){this.translationTable={}}},{key:"translate",value:function(e){return this.translationTable.hasOwnProperty(e)?this.translationTable[e]:e}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":5}],5:[function(e,t,r){t.exports=function(e,t){var r="string"==typeof e?e:"";console.log("[Manyfest] ".concat(r)),t&&console.log(JSON.stringify(t))}},{}],6:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}return _createClass(e,[{key:"checkAddressExists",value:function(e,t){if("object"!=_typeof(e))return!1;if("string"!=typeof t)return!1;var r=t.indexOf(".");if(-1==r){var s=t.indexOf("["),n=t.indexOf("]");if(s>0&&n>s&&n-s>1){var a=t.substring(0,s).trim();if("object"!==_typeof(e[a]))return!1;var o=t.substring(s+1,n).trim(),i=parseInt(o,10);return Array.isArray(e[a])!=isNaN(i)&&(isNaN(i)?(o=this.cleanWrapCharacters('"',o),o=this.cleanWrapCharacters("`",o),o=this.cleanWrapCharacters("'",o),e[a].hasOwnProperty(o)):i in e[a])}return e.hasOwnProperty(t)}var c=t.substring(0,r),l=t.substring(r+1),f=c.indexOf("["),u=c.indexOf("]");if(f>0&&u>f&&u-f>1){var h=c.substring(0,f).trim(),p=c.substring(f+1,u).trim(),d=parseInt(p,10);return Array.isArray(e[h])!=isNaN(d)&&(isNaN(d)?(p=this.cleanWrapCharacters('"',p),p=this.cleanWrapCharacters("`",p),p=this.cleanWrapCharacters("'",p),this.checkAddressExists(e[h][p],l)):this.checkAddressExists(e[h][d],l))}return(!e.hasOwnProperty(c)||"object"===_typeof(e[c]))&&(e.hasOwnProperty(c)||(e[c]={}),this.checkAddressExists(e[c],l))}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":5}],7:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=e("./Manyfest-CleanWrapCharacters.js"),a=e("../source/Manyfest-ParseConditionals.js"),o=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}return _createClass(e,[{key:"checkFilters",value:function(e,t){return a(this,e,t)}},{key:"deleteValueAtAddress",value:function(e,t,r){if("object"==_typeof(e)&&"string"==typeof t){var s="";"string"==typeof r&&(s=r);var n=t.indexOf(".");if(-1==n){var a=t.indexOf("["),o=t.indexOf("]"),i=t.indexOf("{}");if(a>0&&o>a&&o-a>1){var c=t.substring(0,a).trim();if("object"!==_typeof(e[c]))return!1;var l=t.substring(a+1,o).trim(),f=parseInt(l,10);return Array.isArray(e[c])!=isNaN(f)&&(isNaN(f)?(l=this.cleanWrapCharacters('"',l),l=this.cleanWrapCharacters("`",l),l=this.cleanWrapCharacters("'",l),delete e[c][l],!0):(delete e[c][f],!0))}if(a>0&&o>a&&o-a==1){var u=t.substring(0,a).trim();if(!Array.isArray(e[u]))return!1;for(var h=e[u],p=h.length-1;p>=0;p--){this.checkFilters(t,h[p])&&h.splice(p,1)}return!0}if(i>0){var d=t.substring(0,i).trim();return"object"==_typeof(e[d])&&(delete e[d],!0)}return delete e[t],!0}var y=t.substring(0,n),g=t.substring(n+1),b=y.indexOf("["),v=y.indexOf("]");if(b>0&&v>b&&v-b>1){var A=y.substring(0,b).trim(),j=y.substring(b+1,v).trim(),O=parseInt(j,10);return Array.isArray(e[A])!=isNaN(O)&&("object"==_typeof(e[A])&&(isNaN(O)?(j=this.cleanWrapCharacters('"',j),j=this.cleanWrapCharacters("`",j),j=this.cleanWrapCharacters("'",j),s="".concat(s).concat(s.length>0?".":"").concat(y),this.deleteValueAtAddress(e[A][j],g,s)):(s="".concat(s).concat(s.length>0?".":"").concat(y),this.deleteValueAtAddress(e[A][O],g,s))))}if(b>0&&v>b&&v-b==1){var _=t.substring(0,b).trim();if(!Array.isArray(e[_]))return!1;var m=e[_];s="".concat(s).concat(s.length>0?".":"").concat(_);for(var C={},k=0;k<m.length;k++){var T="".concat(s,"[").concat(k,"]"),D=this.deleteValueAtAddress(e[_][k],g,T);C["".concat(T,".").concat(g)]=D}return C}var w=t.indexOf("{}");if(w>0){var E=t.substring(0,w).trim();if("object"!=_typeof(e[E]))return!1;var P=e[E],x=Object.keys(P);s="".concat(s).concat(s.length>0?".":"").concat(E);for(var M={},V=0;V<x.length;V++){var N="".concat(s,".").concat(x[V]),S=this.deleteValueAtAddress(e[E][x[V]],g,N);this.checkFilters(t,S)&&(M["".concat(N,".").concat(g)]=S)}return M}return e.hasOwnProperty(y)&&"object"!==_typeof(e[y])?void 0:e.hasOwnProperty(y)?(s="".concat(s).concat(s.length>0?".":"").concat(y),this.deleteValueAtAddress(e[y],g,s)):(s="".concat(s).concat(s.length>0?".":"").concat(y),e[y]={},this.deleteValueAtAddress(e[y],g,s))}}}]),e}();t.exports=o},{"../source/Manyfest-ParseConditionals.js":11,"./Manyfest-CleanWrapCharacters.js":3,"./Manyfest-LogToConsole.js":5}],8:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=e("./Manyfest-CleanWrapCharacters.js"),a=e("../source/Manyfest-ParseConditionals.js"),o=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}return _createClass(e,[{key:"checkFilters",value:function(e,t){return a(this,e,t)}},{key:"getValueAtAddress",value:function(e,t,r,s){if("object"==_typeof(e)&&"string"==typeof t){var n="";"string"==typeof r&&(n=r);var a=void 0===s?e:s,o=t.indexOf(".");if(0==o){for(var i=n.split("."),c=0,l=0;l<t.length&&"."==t.charAt(l);l++)c++;var f=i.length-c;if(f<0)return;var u=t.slice(c);return f>0&&(u="".concat(i.slice(0,f).join("."),".").concat(u)),this.logInfo("Back-navigation detected. Recursing back to address [".concat(u,"]")),this.getValueAtAddress(a,u)}if(-1==o){var h=t.indexOf("["),p=t.indexOf("]"),d=t.indexOf("{}");if(h>0&&p>h&&p-h>1){var y=t.substring(0,h).trim();if("object"!==_typeof(e[y]))return;var g=t.substring(h+1,p).trim(),b=parseInt(g,10);if(Array.isArray(e[y])==isNaN(b))return;return isNaN(b)?(g=this.cleanWrapCharacters('"',g),g=this.cleanWrapCharacters("`",g),g=this.cleanWrapCharacters("'",g),e[y][g]):e[y][b]}if(h>0&&p>h&&p-h==1){var v=t.substring(0,h).trim();if(!Array.isArray(e[v]))return!1;for(var A=e[v],j=[],O=0;O<A.length;O++){this.checkFilters(t,A[O])&&j.push(A[O])}return j}if(d>0){var _=t.substring(0,d).trim();return"object"==_typeof(e[_])&&e[_]}return e[t]}var m=t.substring(0,o),C=t.substring(o+1),k=m.indexOf("["),T=m.indexOf("]");if(k>0&&T>k&&T-k>1){var D=m.substring(0,k).trim(),w=m.substring(k+1,T).trim(),E=parseInt(w,10);if(Array.isArray(e[D])==isNaN(E))return;if("object"!=_typeof(e[D]))return;return isNaN(E)?(w=this.cleanWrapCharacters('"',w),w=this.cleanWrapCharacters("`",w),w=this.cleanWrapCharacters("'",w),n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[D][w],C,n,a)):(n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[D][E],C,n,a))}if(k>0&&T>k&&T-k==1){var P=t.substring(0,k).trim();if(!Array.isArray(e[P]))return!1;var x=e[P];n="".concat(n).concat(n.length>0?".":"").concat(P);for(var M={},V=0;V<x.length;V++){var N="".concat(n,"[").concat(V,"]"),S=this.getValueAtAddress(e[P][V],C,N,a);M["".concat(N,".").concat(C)]=S}return M}var H=t.indexOf("{}");if(H>0){var I=t.substring(0,H).trim();if("object"!=_typeof(e[I]))return!1;var W=e[I],R=Object.keys(W);n="".concat(n).concat(n.length>0?".":"").concat(I);for(var L={},U=0;U<R.length;U++){var J="".concat(n,".").concat(R[U]),F=this.getValueAtAddress(e[I][R[U]],C,J,a);this.checkFilters(t,F)&&(L["".concat(J,".").concat(C)]=F)}return L}return e.hasOwnProperty(m)&&"object"!==_typeof(e[m])?void 0:e.hasOwnProperty(m)?(n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[m],C,n,a)):(n="".concat(n).concat(n.length>0?".":"").concat(m),e[m]={},this.getValueAtAddress(e[m],C,n,a))}}}]),e}();t.exports=o},{"../source/Manyfest-ParseConditionals.js":11,"./Manyfest-CleanWrapCharacters.js":3,"./Manyfest-LogToConsole.js":5}],9:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=e("./Manyfest-CleanWrapCharacters.js"),a=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}return _createClass(e,[{key:"setValueAtAddress",value:function(e,t,r){if("object"!=_typeof(e))return!1;if("string"!=typeof t)return!1;var s=t.indexOf(".");if(-1==s){var n=t.indexOf("["),a=t.indexOf("]");if(n>0&&a>n&&a-n>1){var o=t.substring(0,n).trim();if("object"!==_typeof(e[o]))return!1;var i=t.substring(n+1,a).trim(),c=parseInt(i,10);return Array.isArray(e[o])!=isNaN(c)&&(isNaN(c)?(i=this.cleanWrapCharacters('"',i),i=this.cleanWrapCharacters("`",i),i=this.cleanWrapCharacters("'",i),e[o][i]=r,!0):(e[o][c]=r,!0))}return e[t]=r,!0}var l=t.substring(0,s),f=t.substring(s+1),u=l.indexOf("["),h=l.indexOf("]");if(u>0&&h>u&&h-u>1){var p=l.substring(0,u).trim(),d=l.substring(u+1,h).trim(),y=parseInt(d,10);return Array.isArray(e[p])!=isNaN(y)&&(isNaN(y)?(d=this.cleanWrapCharacters('"',d),d=this.cleanWrapCharacters("`",d),d=this.cleanWrapCharacters("'",d),this.setValueAtAddress(e[p][d],f,r)):this.setValueAtAddress(e[p][y],f,r))}return e.hasOwnProperty(l)&&"object"!==_typeof(e[l])?(e.hasOwnProperty("__ERROR")||(e.__ERROR={}),e.__ERROR[t]=r,!1):(e.hasOwnProperty(l)||(e[l]={}),this.setValueAtAddress(e[l],f,r))}}]),e}();t.exports=a},{"./Manyfest-CleanWrapCharacters.js":3,"./Manyfest-LogToConsole.js":5}],10:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}return _createClass(e,[{key:"generateAddressses",value:function(e,t,r){var s="string"==typeof t?t:"",n="object"==_typeof(r)?r:{},a=_typeof(e),o={Address:s,Hash:s,Name:s,InSchema:!1};switch("object"==a&&null==e&&(a="null"),a){case"string":o.DataType="String",o.Default=e,n[s]=o;break;case"number":case"bigint":o.DataType="Number",o.Default=e,n[s]=o;break;case"undefined":case"null":o.DataType="Any",o.Default=e,n[s]=o;break;case"object":if(Array.isArray(e)){o.DataType="Array",""!=s&&(n[s]=o);for(var i=0;i<e.length;i++)this.generateAddressses(e[i],"".concat(s,"[").concat(i,"]"),n)}else{o.DataType="Object",""!=s&&(n[s]=o,s+=".");for(var c=Object.keys(e),l=0;l<c.length;l++)this.generateAddressses(e[c[l]],"".concat(s).concat(c[l]),n)}}return n}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":5}],11:[function(e,t,r){var s="<<~?",n="?~>>",a=function(e,t,r,s,n){switch(s){case"!=":return e.getValueAtAddress(t,r)!=n;case"<":return e.getValueAtAddress(t,r)<n;case">":return e.getValueAtAddress(t,r)>n;case"<=":return e.getValueAtAddress(t,r)<=n;case">=":return e.getValueAtAddress(t,r)>=n;case"===":return e.getValueAtAddress(t,r)===n;default:return e.getValueAtAddress(t,r)==n}};t.exports=function(e,t,r){for(var o=!0,i=t.indexOf(s);-1!=i;){var c=t.indexOf(n,i+4);if(-1!=c){var l=t.substring(i+4,c).split(","),f=l[0],u=l[1],h=l[2];o=o&&a(e,r,f,u,h),i=t.indexOf(s,c+4)}else i=-1}return o}},{}],12:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}return _createClass(e,[{key:"resolveAddressMappings",value:function(e,t){if("object"!=_typeof(e))return this.logError("Attempted to resolve address mapping but the descriptor was not an object."),!1;if("object"!=_typeof(t))return!0;var r=Object.keys(e),s={};return r.forEach((function(t){e[t].hasOwnProperty("Hash")&&(s[e[t].Hash]=t)})),Object.keys(t).forEach((function(r){var n=t[r],a=!1,o=!1;e.hasOwnProperty(r)?a=r:s.hasOwnProperty(r)&&(a=s[r]),a?(o=e[a],delete e[a]):o={Hash:r},e[n]=o})),!0}},{key:"safeResolveAddressMappings",value:function(e,t){var r=JSON.parse(JSON.stringify(e));return this.resolveAddressMappings(r,t),r}},{key:"mergeAddressMappings",value:function(e,t){if("object"!=_typeof(t)||"object"!=_typeof(e))return this.logError("Attempted to merge two schema descriptors but both were not objects."),!1;var r=JSON.parse(JSON.stringify(t)),s=JSON.parse(JSON.stringify(e));return Object.keys(r).forEach((function(e){s.hasOwnProperty(e)||(s[e]=r[e])})),s}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":5}],13:[function(e,t,r){var s=e("fable-serviceproviderbase"),n=e("./Manyfest-LogToConsole.js"),a=e("./Manyfest-HashTranslation.js"),o=e("./Manyfest-ObjectAddress-CheckAddressExists.js"),i=e("./Manyfest-ObjectAddress-GetValue.js"),c=e("./Manyfest-ObjectAddress-SetValue.js"),l=e("./Manyfest-ObjectAddress-DeleteValue.js"),f=e("./Manyfest-ObjectAddressGeneration.js"),u=e("./Manyfest-SchemaManipulation.js"),h={Scope:"DEFAULT",Descriptors:{}},p=function(e){_inherits(r,e);var t=_createSuper(r);function r(e,s,h){var p;return _classCallCheck(this,r),(p=void 0===e?t.call(this,{}):t.call(this,e,s,h)).serviceType="Manifest",p.logInfo=n,p.logError=n,p.objectAddressCheckAddressExists=new o(p.logInfo,p.logError),p.objectAddressGetValue=new i(p.logInfo,p.logError),p.objectAddressSetValue=new c(p.logInfo,p.logError),p.objectAddressDeleteValue=new l(p.logInfo,p.logError),p.options.hasOwnProperty("defaultValues")||(p.options.defaultValues={String:"",Number:0,Float:0,Integer:0,Boolean:!1,Binary:0,DateTime:0,Array:[],Object:{},Null:null}),p.options.hasOwnProperty("strict")||(p.options.strict=!1),p.scope=void 0,p.elementAddresses=void 0,p.elementHashes=void 0,p.elementDescriptors=void 0,p.reset(),"object"===_typeof(p.options)&&p.loadManifest(p.options),p.schemaManipulations=new u(p.logInfo,p.logError),p.objectAddressGeneration=new f(p.logInfo,p.logError),p.hashTranslations=new a(p.logInfo,p.logError),_possibleConstructorReturn(p)}return _createClass(r,[{key:"reset",value:function(){this.scope="DEFAULT",this.elementAddresses=[],this.elementHashes={},this.elementDescriptors={}}},{key:"clone",value:function(){var e=JSON.parse(JSON.stringify(this.options)),t=new r(this.getManifest(),this.logInfo,this.logError,e);return t.hashTranslations.addTranslation(this.hashTranslations.translationTable),t}},{key:"deserialize",value:function(e){return this.loadManifest(JSON.parse(e))}},{key:"loadManifest",value:function(e){"object"!==_typeof(e)&&this.logError("(".concat(this.scope,") Error loading manifest; expecting an object but parameter was type ").concat(_typeof(e),"."));for(var t="object"==_typeof(e)?e:{},r=Object.keys(h),s=0;s<r.length;s++)t.hasOwnProperty(r[s])||(t[r[s]]=JSON.parse(JSON.stringify(h[r[s]])));if(t.hasOwnProperty("Scope")?"string"==typeof t.Scope?this.scope=t.Scope:this.logError("(".concat(this.scope,") Error loading scope from manifest; expecting a string but property was type ").concat(_typeof(t.Scope),"."),t):this.logError("(".concat(this.scope,') Error loading scope from manifest object. Property "Scope" does not exist in the root of the object.'),t),t.hasOwnProperty("Descriptors"))if("object"===_typeof(t.Descriptors))for(var n=Object.keys(t.Descriptors),a=0;a<n.length;a++)this.addDescriptor(n[a],t.Descriptors[n[a]]);else this.logError("(".concat(this.scope,") Error loading description object from manifest object. Expecting an object in 'Manifest.Descriptors' but the property was type ").concat(_typeof(t.Descriptors),"."),t);else this.logError("(".concat(this.scope,') Error loading object description from manifest object. Property "Descriptors" does not exist in the root of the Manifest object.'),t);if(t.hasOwnProperty("HashTranslations")&&"object"===_typeof(t.HashTranslations))for(var o=0;o<t.HashTranslations.length;o++);}},{key:"serialize",value:function(){return JSON.stringify(this.getManifest())}},{key:"getManifest",value:function(){return{Scope:this.scope,Descriptors:JSON.parse(JSON.stringify(this.elementDescriptors)),HashTranslations:JSON.parse(JSON.stringify(this.hashTranslations.translationTable))}}},{key:"addDescriptor",value:function(e,t){return"object"===_typeof(t)?(t.hasOwnProperty("Address")||(t.Address=e),this.elementDescriptors.hasOwnProperty(e)||this.elementAddresses.push(e),this.elementDescriptors[e]=t,this.elementHashes[e]=e,t.hasOwnProperty("Hash")?this.elementHashes[t.Hash]=e:t.Hash=e,!0):(this.logError("(".concat(this.scope,") Error loading object descriptor for address '").concat(e,"' from manifest object. Expecting an object but property was type ").concat(_typeof(t),".")),!1)}},{key:"getDescriptorByHash",value:function(e){return this.getDescriptor(this.resolveHashAddress(e))}},{key:"getDescriptor",value:function(e){return this.elementDescriptors[e]}},{key:"eachDescriptor",value:function(e){for(var t=Object.keys(this.elementDescriptors),r=0;r<t.length;r++)e(this.elementDescriptors[t[r]])}},{key:"checkAddressExistsByHash",value:function(e,t){return this.checkAddressExists(e,this.resolveHashAddress(t))}},{key:"checkAddressExists",value:function(e,t){return this.objectAddressCheckAddressExists.checkAddressExists(e,t)}},{key:"resolveHashAddress",value:function(e){var t=this.elementHashes.hasOwnProperty(e),r=this.hashTranslations.translationTable.hasOwnProperty(e);return t&&!r?this.elementHashes[e]:r&&this.elementHashes.hasOwnProperty(this.hashTranslations.translate(e))?this.elementHashes[this.hashTranslations.translate(e)]:r?this.hashTranslations.translate(e):e}},{key:"getValueByHash",value:function(e,t){var r=this.getValueAtAddress(e,this.resolveHashAddress(t));return void 0===r&&(r=this.getDefaultValue(this.getDescriptorByHash(t))),r}},{key:"getValueAtAddress",value:function(e,t){var r=this.objectAddressGetValue.getValueAtAddress(e,t);return void 0===r&&(r=this.getDefaultValue(this.getDescriptor(t))),r}},{key:"setValueByHash",value:function(e,t,r){return this.setValueAtAddress(e,this.resolveHashAddress(t),r)}},{key:"setValueAtAddress",value:function(e,t,r){return this.objectAddressSetValue.setValueAtAddress(e,t,r)}},{key:"deleteValueByHash",value:function(e,t,r){return this.deleteValueAtAddress(e,this.resolveHashAddress(t),r)}},{key:"deleteValueAtAddress",value:function(e,t,r){return this.objectAddressDeleteValue.deleteValueAtAddress(e,t,r)}},{key:"validate",value:function(e){var t={Error:null,Errors:[],MissingElements:[]};"object"!==_typeof(e)&&(t.Error=!0,t.Errors.push("Expected passed in object to be type object but was passed in ".concat(_typeof(e))));for(var r=function(e,r){t.Error=!0,t.Errors.push('Element at address "'.concat(e,'" ').concat(r,"."))},s=0;s<this.elementAddresses.length;s++){var n=this.getDescriptor(this.elementAddresses[s]),a=this.checkAddressExists(e,n.Address),o=this.getValueAtAddress(e,n.Address);if(void 0!==o&&a||(t.MissingElements.push(n.Address),(n.Required||this.options.strict)&&r(n.Address,"is flagged REQUIRED but is not set in the object")),n.DataType){var i=_typeof(o);switch(n.DataType.toString().trim().toLowerCase()){case"string":"string"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));break;case"number":"number"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));break;case"integer":if("number"!=i)r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));else o.toString().indexOf(".")>-1&&r(n.Address,"has a DataType ".concat(n.DataType," but has a decimal point in the number."));break;case"float":"number"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));break;case"DateTime":"Invalid Date"==new Date(o).toString()&&r(n.Address,"has a DataType ".concat(n.DataType," but is not parsable as a Date by Javascript"));default:"string"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," (which auto-converted to String because it was unrecognized) but is of the type ").concat(i))}}}return t}},{key:"getDefaultValue",value:function(e){if("object"==_typeof(e)){if(e.hasOwnProperty("Default"))return e.Default;var t=e.hasOwnProperty("DataType")?e.DataType:"String";return this.options.defaultValues.hasOwnProperty(t)?this.options.defaultValues[t]:null}}},{key:"populateDefaults",value:function(e,t){return this.populateObject(e,t,(function(e){return e.hasOwnProperty("Default")}))}},{key:"populateObject",value:function(e,t,r){var s=this,n="object"===_typeof(e)?e:{},a=void 0!==t&&t,o="function"==typeof r?r:function(e){return!0};return this.elementAddresses.forEach((function(e){var t=s.getDescriptor(e);o(t)&&(!a&&s.checkAddressExists(n,e)||s.setValueAtAddress(n,e,s.getDefaultValue(t)))})),n}}]),r}(s);t.exports=p},{"./Manyfest-HashTranslation.js":4,"./Manyfest-LogToConsole.js":5,"./Manyfest-ObjectAddress-CheckAddressExists.js":6,"./Manyfest-ObjectAddress-DeleteValue.js":7,"./Manyfest-ObjectAddress-GetValue.js":8,"./Manyfest-ObjectAddress-SetValue.js":9,"./Manyfest-ObjectAddressGeneration.js":10,"./Manyfest-SchemaManipulation.js":12,"fable-serviceproviderbase":2}]},{},[13])(13)}));
1
+ "use strict";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,s=_getPrototypeOf(e);if(t){var n=_getPrototypeOf(this).constructor;r=Reflect.construct(s,arguments,n)}else r=s.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 s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,_toPropertyKey(s.key),s)}}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 s=r.call(e,t||"default");if("object"!==_typeof(s))return s;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).Manyfest=e()}}((function(){return function e(t,r,s){function n(o,i){if(!r[o]){if(!t[o]){var c="function"==typeof require&&require;if(!i&&c)return c(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var f=r[o]={exports:{}};t[o][0].call(f.exports,(function(e){return n(t[o][1][e]||e)}),f,f.exports,e,t,r,s)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o<s.length;o++)n(s[o]);return n}({1:[function(e,t,r){var s=function(){function e(t,r,s){_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 s?s: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(s,"isFableService",!0),t.exports=s,t.exports.CoreServiceProviderBase=s},{}],2:[function(e,t,r){t.exports=function(e,t){return t.startsWith(e)&&t.endsWith(e)?t.substring(1,t.length-1):t}},{}],3:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.translationTable={}}return _createClass(e,[{key:"translationCount",value:function(){return Object.keys(this.translationTable).length}},{key:"addTranslation",value:function(e){var t=this;if("object"!=_typeof(e))return this.logError("Hash translation addTranslation expected a translation be type object but was passed in ".concat(_typeof(e))),!1;Object.keys(e).forEach((function(r){"string"!=typeof e[r]?t.logError("Hash translation addTranslation expected a translation destination hash for [".concat(r,"] to be a string but the referrant was a ").concat(_typeof(e[r]))):t.translationTable[r]=e[r]}))}},{key:"removeTranslationHash",value:function(e){this.translationTable.hasOwnProperty(e)&&delete this.translationTable[e]}},{key:"removeTranslation",value:function(e){var t=this;return"string"==typeof e?(this.removeTranslationHash(e),!0):"object"==_typeof(e)?(Object.keys(e).forEach((function(e){t.removeTranslation(e)})),!0):(this.logError("Hash translation removeTranslation expected either a string or an object but the passed-in translation was type ".concat(_typeof(e))),!1)}},{key:"clearTranslations",value:function(){this.translationTable={}}},{key:"translate",value:function(e){return this.translationTable.hasOwnProperty(e)?this.translationTable[e]:e}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":4}],4:[function(e,t,r){t.exports=function(e,t){var r="string"==typeof e?e:"";console.log("[Manyfest] ".concat(r)),t&&console.log(JSON.stringify(t))}},{}],5:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}return _createClass(e,[{key:"checkAddressExists",value:function(e,t){if("object"!=_typeof(e))return!1;if("string"!=typeof t)return!1;var r=t.indexOf(".");if(-1==r){var s=t.indexOf("["),n=t.indexOf("]");if(s>0&&n>s&&n-s>1){var a=t.substring(0,s).trim();if("object"!==_typeof(e[a]))return!1;var o=t.substring(s+1,n).trim(),i=parseInt(o,10);return Array.isArray(e[a])!=isNaN(i)&&(isNaN(i)?(o=this.cleanWrapCharacters('"',o),o=this.cleanWrapCharacters("`",o),o=this.cleanWrapCharacters("'",o),e[a].hasOwnProperty(o)):i in e[a])}return e.hasOwnProperty(t)}var c=t.substring(0,r),l=t.substring(r+1),f=c.indexOf("["),u=c.indexOf("]");if(f>0&&u>f&&u-f>1){var h=c.substring(0,f).trim(),p=c.substring(f+1,u).trim(),d=parseInt(p,10);return Array.isArray(e[h])!=isNaN(d)&&(isNaN(d)?(p=this.cleanWrapCharacters('"',p),p=this.cleanWrapCharacters("`",p),p=this.cleanWrapCharacters("'",p),this.checkAddressExists(e[h][p],l)):this.checkAddressExists(e[h][d],l))}return(!e.hasOwnProperty(c)||"object"===_typeof(e[c]))&&(e.hasOwnProperty(c)||(e[c]={}),this.checkAddressExists(e[c],l))}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":4}],6:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=e("./Manyfest-CleanWrapCharacters.js"),a=e("../source/Manyfest-ParseConditionals.js"),o=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}return _createClass(e,[{key:"checkFilters",value:function(e,t){return a(this,e,t)}},{key:"deleteValueAtAddress",value:function(e,t,r){if("object"==_typeof(e)&&"string"==typeof t){var s="";"string"==typeof r&&(s=r);var n=t.indexOf(".");if(-1==n){var a=t.indexOf("["),o=t.indexOf("]"),i=t.indexOf("{}");if(a>0&&o>a&&o-a>1){var c=t.substring(0,a).trim();if("object"!==_typeof(e[c]))return!1;var l=t.substring(a+1,o).trim(),f=parseInt(l,10);return Array.isArray(e[c])!=isNaN(f)&&(isNaN(f)?(l=this.cleanWrapCharacters('"',l),l=this.cleanWrapCharacters("`",l),l=this.cleanWrapCharacters("'",l),delete e[c][l],!0):(delete e[c][f],!0))}if(a>0&&o>a&&o-a==1){var u=t.substring(0,a).trim();if(!Array.isArray(e[u]))return!1;for(var h=e[u],p=h.length-1;p>=0;p--){this.checkFilters(t,h[p])&&h.splice(p,1)}return!0}if(i>0){var d=t.substring(0,i).trim();return"object"==_typeof(e[d])&&(delete e[d],!0)}return delete e[t],!0}var y=t.substring(0,n),b=t.substring(n+1),g=y.indexOf("["),v=y.indexOf("]");if(g>0&&v>g&&v-g>1){var A=y.substring(0,g).trim(),j=y.substring(g+1,v).trim(),O=parseInt(j,10);return Array.isArray(e[A])!=isNaN(O)&&("object"==_typeof(e[A])&&(isNaN(O)?(j=this.cleanWrapCharacters('"',j),j=this.cleanWrapCharacters("`",j),j=this.cleanWrapCharacters("'",j),s="".concat(s).concat(s.length>0?".":"").concat(y),this.deleteValueAtAddress(e[A][j],b,s)):(s="".concat(s).concat(s.length>0?".":"").concat(y),this.deleteValueAtAddress(e[A][O],b,s))))}if(g>0&&v>g&&v-g==1){var _=t.substring(0,g).trim();if(!Array.isArray(e[_]))return!1;var m=e[_];s="".concat(s).concat(s.length>0?".":"").concat(_);for(var C={},k=0;k<m.length;k++){var T="".concat(s,"[").concat(k,"]"),w=this.deleteValueAtAddress(e[_][k],b,T);C["".concat(T,".").concat(b)]=w}return C}var D=t.indexOf("{}");if(D>0){var E=t.substring(0,D).trim();if("object"!=_typeof(e[E]))return!1;var x=e[E],P=Object.keys(x);s="".concat(s).concat(s.length>0?".":"").concat(E);for(var M={},V=0;V<P.length;V++){var N="".concat(s,".").concat(P[V]),S=this.deleteValueAtAddress(e[E][P[V]],b,N);this.checkFilters(t,S)&&(M["".concat(N,".").concat(b)]=S)}return M}return e.hasOwnProperty(y)&&"object"!==_typeof(e[y])?void 0:e.hasOwnProperty(y)?(s="".concat(s).concat(s.length>0?".":"").concat(y),this.deleteValueAtAddress(e[y],b,s)):(s="".concat(s).concat(s.length>0?".":"").concat(y),e[y]={},this.deleteValueAtAddress(e[y],b,s))}}}]),e}();t.exports=o},{"../source/Manyfest-ParseConditionals.js":10,"./Manyfest-CleanWrapCharacters.js":2,"./Manyfest-LogToConsole.js":4}],7:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=e("./Manyfest-CleanWrapCharacters.js"),a=e("../source/Manyfest-ParseConditionals.js"),o=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}return _createClass(e,[{key:"checkFilters",value:function(e,t){return a(this,e,t)}},{key:"getValueAtAddress",value:function(e,t,r,s){if("object"==_typeof(e)&&"string"==typeof t){var n="";"string"==typeof r&&(n=r);var a=void 0===s?e:s,o=t.indexOf(".");if(0==o){for(var i=n.split("."),c=0,l=0;l<t.length&&"."==t.charAt(l);l++)c++;var f=i.length-c;if(f<0)return;var u=t.slice(c);return f>0&&(u="".concat(i.slice(0,f).join("."),".").concat(u)),this.logInfo("Back-navigation detected. Recursing back to address [".concat(u,"]")),this.getValueAtAddress(a,u)}if(-1==o){var h=t.indexOf("["),p=t.indexOf("]"),d=t.indexOf("{}");if(h>0&&p>h&&p-h>1){var y=t.substring(0,h).trim();if("object"!==_typeof(e[y]))return;var b=t.substring(h+1,p).trim(),g=parseInt(b,10);if(Array.isArray(e[y])==isNaN(g))return;return isNaN(g)?(b=this.cleanWrapCharacters('"',b),b=this.cleanWrapCharacters("`",b),b=this.cleanWrapCharacters("'",b),e[y][b]):e[y][g]}if(h>0&&p>h&&p-h==1){var v=t.substring(0,h).trim();if(!Array.isArray(e[v]))return!1;for(var A=e[v],j=[],O=0;O<A.length;O++){this.checkFilters(t,A[O])&&j.push(A[O])}return j}if(d>0){var _=t.substring(0,d).trim();return"object"==_typeof(e[_])&&e[_]}return e[t]}var m=t.substring(0,o),C=t.substring(o+1),k=m.indexOf("["),T=m.indexOf("]");if(k>0&&T>k&&T-k>1){var w=m.substring(0,k).trim(),D=m.substring(k+1,T).trim(),E=parseInt(D,10);if(Array.isArray(e[w])==isNaN(E))return;if("object"!=_typeof(e[w]))return;return isNaN(E)?(D=this.cleanWrapCharacters('"',D),D=this.cleanWrapCharacters("`",D),D=this.cleanWrapCharacters("'",D),n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[w][D],C,n,a)):(n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[w][E],C,n,a))}if(k>0&&T>k&&T-k==1){var x=t.substring(0,k).trim();if(!Array.isArray(e[x]))return!1;var P=e[x];n="".concat(n).concat(n.length>0?".":"").concat(x);for(var M={},V=0;V<P.length;V++){var N="".concat(n,"[").concat(V,"]"),S=this.getValueAtAddress(e[x][V],C,N,a);M["".concat(N,".").concat(C)]=S}return M}var H=t.indexOf("{}");if(H>0){var I=t.substring(0,H).trim();if("object"!=_typeof(e[I]))return!1;var W=e[I],R=Object.keys(W);n="".concat(n).concat(n.length>0?".":"").concat(I);for(var L={},F=0;F<R.length;F++){var J="".concat(n,".").concat(R[F]),U=this.getValueAtAddress(e[I][R[F]],C,J,a);this.checkFilters(t,U)&&(L["".concat(J,".").concat(C)]=U)}return L}return e.hasOwnProperty(m)&&"object"!==_typeof(e[m])?void 0:e.hasOwnProperty(m)?(n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[m],C,n,a)):(n="".concat(n).concat(n.length>0?".":"").concat(m),e[m]={},this.getValueAtAddress(e[m],C,n,a))}}}]),e}();t.exports=o},{"../source/Manyfest-ParseConditionals.js":10,"./Manyfest-CleanWrapCharacters.js":2,"./Manyfest-LogToConsole.js":4}],8:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=e("./Manyfest-CleanWrapCharacters.js"),a=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}return _createClass(e,[{key:"setValueAtAddress",value:function(e,t,r){if("object"!=_typeof(e))return!1;if("string"!=typeof t)return!1;var s=t.indexOf(".");if(-1==s){var n=t.indexOf("["),a=t.indexOf("]");if(n>0&&a>n&&a-n>1){var o=t.substring(0,n).trim();if("object"!==_typeof(e[o]))return!1;var i=t.substring(n+1,a).trim(),c=parseInt(i,10);return Array.isArray(e[o])!=isNaN(c)&&(isNaN(c)?(i=this.cleanWrapCharacters('"',i),i=this.cleanWrapCharacters("`",i),i=this.cleanWrapCharacters("'",i),e[o][i]=r,!0):(e[o][c]=r,!0))}return e[t]=r,!0}var l=t.substring(0,s),f=t.substring(s+1),u=l.indexOf("["),h=l.indexOf("]");if(u>0&&h>u&&h-u>1){var p=l.substring(0,u).trim(),d=l.substring(u+1,h).trim(),y=parseInt(d,10);return Array.isArray(e[p])!=isNaN(y)&&(isNaN(y)?(d=this.cleanWrapCharacters('"',d),d=this.cleanWrapCharacters("`",d),d=this.cleanWrapCharacters("'",d),this.setValueAtAddress(e[p][d],f,r)):this.setValueAtAddress(e[p][y],f,r))}return e.hasOwnProperty(l)&&"object"!==_typeof(e[l])?(e.hasOwnProperty("__ERROR")||(e.__ERROR={}),e.__ERROR[t]=r,!1):(e.hasOwnProperty(l)||(e[l]={}),this.setValueAtAddress(e[l],f,r))}}]),e}();t.exports=a},{"./Manyfest-CleanWrapCharacters.js":2,"./Manyfest-LogToConsole.js":4}],9:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}return _createClass(e,[{key:"generateAddressses",value:function(e,t,r){var s="string"==typeof t?t:"",n="object"==_typeof(r)?r:{},a=_typeof(e),o={Address:s,Hash:s,Name:s,InSchema:!1};switch("object"==a&&null==e&&(a="null"),a){case"string":o.DataType="String",o.Default=e,n[s]=o;break;case"number":case"bigint":o.DataType="Number",o.Default=e,n[s]=o;break;case"undefined":case"null":o.DataType="Any",o.Default=e,n[s]=o;break;case"object":if(Array.isArray(e)){o.DataType="Array",""!=s&&(n[s]=o);for(var i=0;i<e.length;i++)this.generateAddressses(e[i],"".concat(s,"[").concat(i,"]"),n)}else{o.DataType="Object",""!=s&&(n[s]=o,s+=".");for(var c=Object.keys(e),l=0;l<c.length;l++)this.generateAddressses(e[c[l]],"".concat(s).concat(c[l]),n)}}return n}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":4}],10:[function(e,t,r){var s="<<~?",n="?~>>",a=function(e,t,r,s,n){switch(s){case"!=":return e.getValueAtAddress(t,r)!=n;case"<":return e.getValueAtAddress(t,r)<n;case">":return e.getValueAtAddress(t,r)>n;case"<=":return e.getValueAtAddress(t,r)<=n;case">=":return e.getValueAtAddress(t,r)>=n;case"===":return e.getValueAtAddress(t,r)===n;default:return e.getValueAtAddress(t,r)==n}};t.exports=function(e,t,r){for(var o=!0,i=t.indexOf(s);-1!=i;){var c=t.indexOf(n,i+4);if(-1!=c){var l=t.substring(i+4,c).split(","),f=l[0],u=l[1],h=l[2];o=o&&a(e,r,f,u,h),i=t.indexOf(s,c+4)}else i=-1}return o}},{}],11:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}return _createClass(e,[{key:"resolveAddressMappings",value:function(e,t){if("object"!=_typeof(e))return this.logError("Attempted to resolve address mapping but the descriptor was not an object."),!1;if("object"!=_typeof(t))return!0;var r=Object.keys(e),s={};return r.forEach((function(t){e[t].hasOwnProperty("Hash")&&(s[e[t].Hash]=t)})),Object.keys(t).forEach((function(r){var n=t[r],a=!1,o=!1;e.hasOwnProperty(r)?a=r:s.hasOwnProperty(r)&&(a=s[r]),a?(o=e[a],delete e[a]):o={Hash:r},e[n]=o})),!0}},{key:"safeResolveAddressMappings",value:function(e,t){var r=JSON.parse(JSON.stringify(e));return this.resolveAddressMappings(r,t),r}},{key:"mergeAddressMappings",value:function(e,t){if("object"!=_typeof(t)||"object"!=_typeof(e))return this.logError("Attempted to merge two schema descriptors but both were not objects."),!1;var r=JSON.parse(JSON.stringify(t)),s=JSON.parse(JSON.stringify(e));return Object.keys(r).forEach((function(e){s.hasOwnProperty(e)||(s[e]=r[e])})),s}}]),e}();t.exports=n},{"./Manyfest-LogToConsole.js":4}],12:[function(e,t,r){var s=e("fable-serviceproviderbase"),n=e("./Manyfest-LogToConsole.js"),a=e("./Manyfest-HashTranslation.js"),o=e("./Manyfest-ObjectAddress-CheckAddressExists.js"),i=e("./Manyfest-ObjectAddress-GetValue.js"),c=e("./Manyfest-ObjectAddress-SetValue.js"),l=e("./Manyfest-ObjectAddress-DeleteValue.js"),f=e("./Manyfest-ObjectAddressGeneration.js"),u=e("./Manyfest-SchemaManipulation.js"),h={Scope:"DEFAULT",Descriptors:{}},p=function(e){_inherits(r,e);var t=_createSuper(r);function r(e,s,h){var p;return _classCallCheck(this,r),(p=void 0===e?t.call(this,{}):t.call(this,e,s,h)).serviceType="Manifest",p.logInfo=n,p.logError=n,p.objectAddressCheckAddressExists=new o(p.logInfo,p.logError),p.objectAddressGetValue=new i(p.logInfo,p.logError),p.objectAddressSetValue=new c(p.logInfo,p.logError),p.objectAddressDeleteValue=new l(p.logInfo,p.logError),p.options.hasOwnProperty("defaultValues")||(p.options.defaultValues={String:"",Number:0,Float:0,Integer:0,Boolean:!1,Binary:0,DateTime:0,Array:[],Object:{},Null:null}),p.options.hasOwnProperty("strict")||(p.options.strict=!1),p.scope=void 0,p.elementAddresses=void 0,p.elementHashes=void 0,p.elementDescriptors=void 0,p.reset(),"object"===_typeof(p.options)&&p.loadManifest(p.options),p.schemaManipulations=new u(p.logInfo,p.logError),p.objectAddressGeneration=new f(p.logInfo,p.logError),p.hashTranslations=new a(p.logInfo,p.logError),_possibleConstructorReturn(p)}return _createClass(r,[{key:"reset",value:function(){this.scope="DEFAULT",this.elementAddresses=[],this.elementHashes={},this.elementDescriptors={}}},{key:"clone",value:function(){var e=JSON.parse(JSON.stringify(this.options)),t=new r(this.getManifest(),this.logInfo,this.logError,e);return t.hashTranslations.addTranslation(this.hashTranslations.translationTable),t}},{key:"deserialize",value:function(e){return this.loadManifest(JSON.parse(e))}},{key:"loadManifest",value:function(e){"object"!==_typeof(e)&&this.logError("(".concat(this.scope,") Error loading manifest; expecting an object but parameter was type ").concat(_typeof(e),"."));for(var t="object"==_typeof(e)?e:{},r=Object.keys(h),s=0;s<r.length;s++)t.hasOwnProperty(r[s])||(t[r[s]]=JSON.parse(JSON.stringify(h[r[s]])));if(t.hasOwnProperty("Scope")?"string"==typeof t.Scope?this.scope=t.Scope:this.logError("(".concat(this.scope,") Error loading scope from manifest; expecting a string but property was type ").concat(_typeof(t.Scope),"."),t):this.logError("(".concat(this.scope,') Error loading scope from manifest object. Property "Scope" does not exist in the root of the object.'),t),t.hasOwnProperty("Descriptors"))if("object"===_typeof(t.Descriptors))for(var n=Object.keys(t.Descriptors),a=0;a<n.length;a++)this.addDescriptor(n[a],t.Descriptors[n[a]]);else this.logError("(".concat(this.scope,") Error loading description object from manifest object. Expecting an object in 'Manifest.Descriptors' but the property was type ").concat(_typeof(t.Descriptors),"."),t);else this.logError("(".concat(this.scope,') Error loading object description from manifest object. Property "Descriptors" does not exist in the root of the Manifest object.'),t);if(t.hasOwnProperty("HashTranslations")&&"object"===_typeof(t.HashTranslations))for(var o=0;o<t.HashTranslations.length;o++);}},{key:"serialize",value:function(){return JSON.stringify(this.getManifest())}},{key:"getManifest",value:function(){return{Scope:this.scope,Descriptors:JSON.parse(JSON.stringify(this.elementDescriptors)),HashTranslations:JSON.parse(JSON.stringify(this.hashTranslations.translationTable))}}},{key:"addDescriptor",value:function(e,t){return"object"===_typeof(t)?(t.hasOwnProperty("Address")||(t.Address=e),this.elementDescriptors.hasOwnProperty(e)||this.elementAddresses.push(e),this.elementDescriptors[e]=t,this.elementHashes[e]=e,t.hasOwnProperty("Hash")?this.elementHashes[t.Hash]=e:t.Hash=e,!0):(this.logError("(".concat(this.scope,") Error loading object descriptor for address '").concat(e,"' from manifest object. Expecting an object but property was type ").concat(_typeof(t),".")),!1)}},{key:"getDescriptorByHash",value:function(e){return this.getDescriptor(this.resolveHashAddress(e))}},{key:"getDescriptor",value:function(e){return this.elementDescriptors[e]}},{key:"eachDescriptor",value:function(e){for(var t=Object.keys(this.elementDescriptors),r=0;r<t.length;r++)e(this.elementDescriptors[t[r]])}},{key:"checkAddressExistsByHash",value:function(e,t){return this.checkAddressExists(e,this.resolveHashAddress(t))}},{key:"checkAddressExists",value:function(e,t){return this.objectAddressCheckAddressExists.checkAddressExists(e,t)}},{key:"resolveHashAddress",value:function(e){var t=this.elementHashes.hasOwnProperty(e),r=this.hashTranslations.translationTable.hasOwnProperty(e);return t&&!r?this.elementHashes[e]:r&&this.elementHashes.hasOwnProperty(this.hashTranslations.translate(e))?this.elementHashes[this.hashTranslations.translate(e)]:r?this.hashTranslations.translate(e):e}},{key:"getValueByHash",value:function(e,t){var r=this.getValueAtAddress(e,this.resolveHashAddress(t));return void 0===r&&(r=this.getDefaultValue(this.getDescriptorByHash(t))),r}},{key:"getValueAtAddress",value:function(e,t){var r=this.objectAddressGetValue.getValueAtAddress(e,t);return void 0===r&&(r=this.getDefaultValue(this.getDescriptor(t))),r}},{key:"setValueByHash",value:function(e,t,r){return this.setValueAtAddress(e,this.resolveHashAddress(t),r)}},{key:"setValueAtAddress",value:function(e,t,r){return this.objectAddressSetValue.setValueAtAddress(e,t,r)}},{key:"deleteValueByHash",value:function(e,t,r){return this.deleteValueAtAddress(e,this.resolveHashAddress(t),r)}},{key:"deleteValueAtAddress",value:function(e,t,r){return this.objectAddressDeleteValue.deleteValueAtAddress(e,t,r)}},{key:"validate",value:function(e){var t={Error:null,Errors:[],MissingElements:[]};"object"!==_typeof(e)&&(t.Error=!0,t.Errors.push("Expected passed in object to be type object but was passed in ".concat(_typeof(e))));for(var r=function(e,r){t.Error=!0,t.Errors.push('Element at address "'.concat(e,'" ').concat(r,"."))},s=0;s<this.elementAddresses.length;s++){var n=this.getDescriptor(this.elementAddresses[s]),a=this.checkAddressExists(e,n.Address),o=this.getValueAtAddress(e,n.Address);if(void 0!==o&&a||(t.MissingElements.push(n.Address),(n.Required||this.options.strict)&&r(n.Address,"is flagged REQUIRED but is not set in the object")),n.DataType){var i=_typeof(o);switch(n.DataType.toString().trim().toLowerCase()){case"string":"string"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));break;case"number":"number"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));break;case"integer":if("number"!=i)r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));else o.toString().indexOf(".")>-1&&r(n.Address,"has a DataType ".concat(n.DataType," but has a decimal point in the number."));break;case"float":"number"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," but is of the type ").concat(i));break;case"DateTime":"Invalid Date"==new Date(o).toString()&&r(n.Address,"has a DataType ".concat(n.DataType," but is not parsable as a Date by Javascript"));default:"string"!=i&&r(n.Address,"has a DataType ".concat(n.DataType," (which auto-converted to String because it was unrecognized) but is of the type ").concat(i))}}}return t}},{key:"getDefaultValue",value:function(e){if("object"==_typeof(e)){if(e.hasOwnProperty("Default"))return e.Default;var t=e.hasOwnProperty("DataType")?e.DataType:"String";return this.options.defaultValues.hasOwnProperty(t)?this.options.defaultValues[t]:null}}},{key:"populateDefaults",value:function(e,t){return this.populateObject(e,t,(function(e){return e.hasOwnProperty("Default")}))}},{key:"populateObject",value:function(e,t,r){var s=this,n="object"===_typeof(e)?e:{},a=void 0!==t&&t,o="function"==typeof r?r:function(e){return!0};return this.elementAddresses.forEach((function(e){var t=s.getDescriptor(e);o(t)&&(!a&&s.checkAddressExists(n,e)||s.setValueAtAddress(n,e,s.getDefaultValue(t)))})),n}}]),r}(s);t.exports=p},{"./Manyfest-HashTranslation.js":3,"./Manyfest-LogToConsole.js":4,"./Manyfest-ObjectAddress-CheckAddressExists.js":5,"./Manyfest-ObjectAddress-DeleteValue.js":6,"./Manyfest-ObjectAddress-GetValue.js":7,"./Manyfest-ObjectAddress-SetValue.js":8,"./Manyfest-ObjectAddressGeneration.js":9,"./Manyfest-SchemaManipulation.js":11,"fable-serviceproviderbase":1}]},{},[12])(12)}));
2
2
  //# sourceMappingURL=manyfest.compatible.min.js.map