manyfest 1.0.25 → 1.0.28

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
  */
@@ -968,7 +972,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
968
972
  return pObject[tmpObjectPropertyName];
969
973
  } else {
970
974
  // Now is the point in recursion to return the value in the address
971
- return pObject[pAddress];
975
+ if (_typeof(pObject[pAddress]) != null) {
976
+ return pObject[pAddress];
977
+ } else {
978
+ return undefined;
979
+ }
972
980
  }
973
981
  } else {
974
982
  var tmpSubObjectName = pAddress.substring(0, tmpSeparatorIndex);
@@ -1120,11 +1128,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1120
1128
  ;
1121
1129
  module.exports = ManyfestObjectAddressResolverGetValue;
1122
1130
  }, {
1123
- "../source/Manyfest-ParseConditionals.js": 11,
1124
- "./Manyfest-CleanWrapCharacters.js": 3,
1125
- "./Manyfest-LogToConsole.js": 5
1131
+ "../source/Manyfest-ParseConditionals.js": 10,
1132
+ "./Manyfest-CleanWrapCharacters.js": 2,
1133
+ "./Manyfest-LogToConsole.js": 4
1126
1134
  }],
1127
- 9: [function (require, module, exports) {
1135
+ 8: [function (require, module, exports) {
1128
1136
  /**
1129
1137
  * @author <steven@velozo.com>
1130
1138
  */
@@ -1313,10 +1321,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1313
1321
  ;
1314
1322
  module.exports = ManyfestObjectAddressSetValue;
1315
1323
  }, {
1316
- "./Manyfest-CleanWrapCharacters.js": 3,
1317
- "./Manyfest-LogToConsole.js": 5
1324
+ "./Manyfest-CleanWrapCharacters.js": 2,
1325
+ "./Manyfest-LogToConsole.js": 4
1318
1326
  }],
1319
- 10: [function (require, module, exports) {
1327
+ 9: [function (require, module, exports) {
1320
1328
  /**
1321
1329
  * @author <steven@velozo.com>
1322
1330
  */
@@ -1429,9 +1437,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1429
1437
  ;
1430
1438
  module.exports = ManyfestObjectAddressGeneration;
1431
1439
  }, {
1432
- "./Manyfest-LogToConsole.js": 5
1440
+ "./Manyfest-LogToConsole.js": 4
1433
1441
  }],
1434
- 11: [function (require, module, exports) {
1442
+ 10: [function (require, module, exports) {
1435
1443
  // Given a string, parse out any conditional expressions and set whether or not to keep the record.
1436
1444
  //
1437
1445
  // For instance:
@@ -1508,7 +1516,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1508
1516
  };
1509
1517
  module.exports = parseConditionals;
1510
1518
  }, {}],
1511
- 12: [function (require, module, exports) {
1519
+ 11: [function (require, module, exports) {
1512
1520
  /**
1513
1521
  * @author <steven@velozo.com>
1514
1522
  */
@@ -1626,9 +1634,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1626
1634
  }();
1627
1635
  module.exports = ManyfestSchemaManipulation;
1628
1636
  }, {
1629
- "./Manyfest-LogToConsole.js": 5
1637
+ "./Manyfest-LogToConsole.js": 4
1630
1638
  }],
1631
- 13: [function (require, module, exports) {
1639
+ 12: [function (require, module, exports) {
1632
1640
  /**
1633
1641
  * @author <steven@velozo.com>
1634
1642
  */
@@ -2092,15 +2100,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2092
2100
  ;
2093
2101
  module.exports = Manyfest;
2094
2102
  }, {
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
2103
+ "./Manyfest-HashTranslation.js": 3,
2104
+ "./Manyfest-LogToConsole.js": 4,
2105
+ "./Manyfest-ObjectAddress-CheckAddressExists.js": 5,
2106
+ "./Manyfest-ObjectAddress-DeleteValue.js": 6,
2107
+ "./Manyfest-ObjectAddress-GetValue.js": 7,
2108
+ "./Manyfest-ObjectAddress-SetValue.js": 8,
2109
+ "./Manyfest-ObjectAddressGeneration.js": 9,
2110
+ "./Manyfest-SchemaManipulation.js": 11,
2111
+ "fable-serviceproviderbase": 1
2104
2112
  }]
2105
- }, {}, [13])(13);
2113
+ }, {}, [12])(12);
2106
2114
  });
@@ -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 null!=_typeof(e[t])?e[t]:void 0}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