manyfest 1.0.28 → 1.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/manyfest.compatible.js +94 -45
- package/dist/manyfest.compatible.min.js +1 -1
- package/dist/manyfest.compatible.min.js.map +1 -1
- package/dist/manyfest.js +75 -17
- package/dist/manyfest.min.js +1 -1
- package/dist/manyfest.min.js.map +1 -1
- package/package.json +3 -3
- package/source/Manyfest-ObjectAddress-CheckAddressExists.js +1 -4
- package/source/Manyfest-ObjectAddress-DeleteValue.js +3 -3
- package/source/Manyfest-ObjectAddress-GetValue.js +3 -3
- package/source/Manyfest-ParseConditionals.js +65 -4
- package/test/Data-Archive-org-Frankenberry.json +4 -2
- package/test/Manyfest_Embedded_Solvers_tests.js +54 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function
|
|
4
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
5
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
3
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
6
4
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
7
5
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
8
|
-
function _isNativeReflectConstruct() {
|
|
6
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
9
7
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
8
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
9
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
10
10
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
11
11
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
12
12
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
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
|
-
function _toPropertyKey(
|
|
15
|
-
function _toPrimitive(
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
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") {
|
|
@@ -95,7 +95,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
95
95
|
// The service hash is used to identify the specific instantiation of the service in the services map
|
|
96
96
|
this.Hash = typeof pServiceHash === 'string' ? pServiceHash : !this.fable && typeof pOptions === 'string' ? pOptions : "".concat(this.UUID);
|
|
97
97
|
}
|
|
98
|
-
_createClass(FableServiceProviderBase, [{
|
|
98
|
+
return _createClass(FableServiceProviderBase, [{
|
|
99
99
|
key: "connectFable",
|
|
100
100
|
value: function connectFable(pFable) {
|
|
101
101
|
if (_typeof(pFable) !== 'object' || !pFable.isFable) {
|
|
@@ -118,7 +118,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
118
118
|
return true;
|
|
119
119
|
}
|
|
120
120
|
}]);
|
|
121
|
-
return FableServiceProviderBase;
|
|
122
121
|
}();
|
|
123
122
|
_defineProperty(FableServiceProviderBase, "isFableService", true);
|
|
124
123
|
module.exports = FableServiceProviderBase;
|
|
@@ -180,7 +179,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
180
179
|
this.logError = typeof pErrorLog === 'function' ? pErrorLog : libSimpleLog;
|
|
181
180
|
this.translationTable = {};
|
|
182
181
|
}
|
|
183
|
-
_createClass(ManyfestHashTranslation, [{
|
|
182
|
+
return _createClass(ManyfestHashTranslation, [{
|
|
184
183
|
key: "translationCount",
|
|
185
184
|
value: function translationCount() {
|
|
186
185
|
return Object.keys(this.translationTable).length;
|
|
@@ -248,7 +247,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
248
247
|
}
|
|
249
248
|
}
|
|
250
249
|
}]);
|
|
251
|
-
return ManyfestHashTranslation;
|
|
252
250
|
}();
|
|
253
251
|
module.exports = ManyfestHashTranslation;
|
|
254
252
|
}, {
|
|
@@ -295,11 +293,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
295
293
|
* @class ManyfestObjectAddressResolverCheckAddressExists
|
|
296
294
|
*/
|
|
297
295
|
var ManyfestObjectAddressResolverCheckAddressExists = /*#__PURE__*/function () {
|
|
298
|
-
function ManyfestObjectAddressResolverCheckAddressExists(
|
|
296
|
+
function ManyfestObjectAddressResolverCheckAddressExists() {
|
|
299
297
|
_classCallCheck(this, ManyfestObjectAddressResolverCheckAddressExists);
|
|
300
|
-
// Wire in logging
|
|
301
|
-
this.logInfo = typeof pInfoLog == 'function' ? pInfoLog : libSimpleLog;
|
|
302
|
-
this.logError = typeof pErrorLog == 'function' ? pErrorLog : libSimpleLog;
|
|
303
298
|
}
|
|
304
299
|
|
|
305
300
|
// Check if an address exists.
|
|
@@ -308,7 +303,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
308
303
|
// whether the element/property is actually there or not (it returns
|
|
309
304
|
// undefined whether the property exists or not). This function checks for
|
|
310
305
|
// existance and returns true or false dependent.
|
|
311
|
-
_createClass(ManyfestObjectAddressResolverCheckAddressExists, [{
|
|
306
|
+
return _createClass(ManyfestObjectAddressResolverCheckAddressExists, [{
|
|
312
307
|
key: "checkAddressExists",
|
|
313
308
|
value: function checkAddressExists(pObject, pAddress) {
|
|
314
309
|
// TODO: Should these throw an error?
|
|
@@ -459,7 +454,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
459
454
|
}
|
|
460
455
|
}
|
|
461
456
|
}]);
|
|
462
|
-
return ManyfestObjectAddressResolverCheckAddressExists;
|
|
463
457
|
}();
|
|
464
458
|
;
|
|
465
459
|
module.exports = ManyfestObjectAddressResolverCheckAddressExists;
|
|
@@ -504,9 +498,9 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
504
498
|
}
|
|
505
499
|
|
|
506
500
|
// TODO: Dry me
|
|
507
|
-
_createClass(ManyfestObjectAddressResolverDeleteValue, [{
|
|
508
|
-
key: "
|
|
509
|
-
value: function
|
|
501
|
+
return _createClass(ManyfestObjectAddressResolverDeleteValue, [{
|
|
502
|
+
key: "checkRecordFilters",
|
|
503
|
+
value: function checkRecordFilters(pAddress, pRecord) {
|
|
510
504
|
return fParseConditionals(this, pAddress, pRecord);
|
|
511
505
|
}
|
|
512
506
|
|
|
@@ -607,7 +601,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
607
601
|
// Count from the end to the beginning so splice doesn't %&%#$ up the array
|
|
608
602
|
for (var i = tmpInputArray.length - 1; i >= 0; i--) {
|
|
609
603
|
// The filtering is complex but allows config-based metaprogramming directly from schema
|
|
610
|
-
var tmpKeepRecord = this.
|
|
604
|
+
var tmpKeepRecord = this.checkRecordFilters(pAddress, tmpInputArray[i]);
|
|
611
605
|
if (tmpKeepRecord) {
|
|
612
606
|
// Delete elements end to beginning
|
|
613
607
|
tmpInputArray.splice(i, 1);
|
|
@@ -747,7 +741,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
747
741
|
var _tmpValue = this.deleteValueAtAddress(pObject[_tmpObjectPropertyName][tmpObjectPropertyKeys[_i2]], tmpNewAddress, _tmpPropertyParentAddress);
|
|
748
742
|
|
|
749
743
|
// The filtering is complex but allows config-based metaprogramming directly from schema
|
|
750
|
-
var _tmpKeepRecord = this.
|
|
744
|
+
var _tmpKeepRecord = this.checkRecordFilters(pAddress, _tmpValue);
|
|
751
745
|
if (_tmpKeepRecord) {
|
|
752
746
|
_tmpContainerObject["".concat(_tmpPropertyParentAddress, ".").concat(tmpNewAddress)] = _tmpValue;
|
|
753
747
|
}
|
|
@@ -774,7 +768,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
774
768
|
}
|
|
775
769
|
}
|
|
776
770
|
}]);
|
|
777
|
-
return ManyfestObjectAddressResolverDeleteValue;
|
|
778
771
|
}();
|
|
779
772
|
;
|
|
780
773
|
module.exports = ManyfestObjectAddressResolverDeleteValue;
|
|
@@ -819,9 +812,9 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
819
812
|
this.logError = typeof pErrorLog == 'function' ? pErrorLog : libSimpleLog;
|
|
820
813
|
this.cleanWrapCharacters = fCleanWrapCharacters;
|
|
821
814
|
}
|
|
822
|
-
_createClass(ManyfestObjectAddressResolverGetValue, [{
|
|
823
|
-
key: "
|
|
824
|
-
value: function
|
|
815
|
+
return _createClass(ManyfestObjectAddressResolverGetValue, [{
|
|
816
|
+
key: "checkRecordFilters",
|
|
817
|
+
value: function checkRecordFilters(pAddress, pRecord) {
|
|
825
818
|
return fParseConditionals(this, pAddress, pRecord);
|
|
826
819
|
}
|
|
827
820
|
|
|
@@ -955,7 +948,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
955
948
|
var tmpOutputArray = [];
|
|
956
949
|
for (var _i3 = 0; _i3 < tmpInputArray.length; _i3++) {
|
|
957
950
|
// The filtering is complex but allows config-based metaprogramming directly from schema
|
|
958
|
-
var tmpKeepRecord = this.
|
|
951
|
+
var tmpKeepRecord = this.checkRecordFilters(pAddress, tmpInputArray[_i3]);
|
|
959
952
|
if (tmpKeepRecord) {
|
|
960
953
|
tmpOutputArray.push(tmpInputArray[_i3]);
|
|
961
954
|
}
|
|
@@ -1096,7 +1089,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1096
1089
|
var _tmpValue2 = this.getValueAtAddress(pObject[_tmpObjectPropertyName2][tmpObjectPropertyKeys[_i5]], tmpNewAddress, _tmpPropertyParentAddress2, tmpRootObject);
|
|
1097
1090
|
|
|
1098
1091
|
// The filtering is complex but allows config-based metaprogramming directly from schema
|
|
1099
|
-
var _tmpKeepRecord2 = this.
|
|
1092
|
+
var _tmpKeepRecord2 = this.checkRecordFilters(pAddress, _tmpValue2);
|
|
1100
1093
|
if (_tmpKeepRecord2) {
|
|
1101
1094
|
_tmpContainerObject2["".concat(_tmpPropertyParentAddress2, ".").concat(tmpNewAddress)] = _tmpValue2;
|
|
1102
1095
|
}
|
|
@@ -1123,7 +1116,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1123
1116
|
}
|
|
1124
1117
|
}
|
|
1125
1118
|
}]);
|
|
1126
|
-
return ManyfestObjectAddressResolverGetValue;
|
|
1127
1119
|
}();
|
|
1128
1120
|
;
|
|
1129
1121
|
module.exports = ManyfestObjectAddressResolverGetValue;
|
|
@@ -1167,7 +1159,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1167
1159
|
}
|
|
1168
1160
|
|
|
1169
1161
|
// Set the value of an element at an address
|
|
1170
|
-
_createClass(ManyfestObjectAddressSetValue, [{
|
|
1162
|
+
return _createClass(ManyfestObjectAddressSetValue, [{
|
|
1171
1163
|
key: "setValueAtAddress",
|
|
1172
1164
|
value: function setValueAtAddress(pObject, pAddress, pValue) {
|
|
1173
1165
|
// Make sure pObject is an object
|
|
@@ -1316,7 +1308,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1316
1308
|
}
|
|
1317
1309
|
}
|
|
1318
1310
|
}]);
|
|
1319
|
-
return ManyfestObjectAddressSetValue;
|
|
1320
1311
|
}();
|
|
1321
1312
|
;
|
|
1322
1313
|
module.exports = ManyfestObjectAddressSetValue;
|
|
@@ -1369,7 +1360,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1369
1360
|
//
|
|
1370
1361
|
// This will return a mega set of key:value pairs with all possible schema
|
|
1371
1362
|
// permutations and default values (when not an object) and everything else.
|
|
1372
|
-
_createClass(ManyfestObjectAddressGeneration, [{
|
|
1363
|
+
return _createClass(ManyfestObjectAddressGeneration, [{
|
|
1373
1364
|
key: "generateAddressses",
|
|
1374
1365
|
value: function generateAddressses(pObject, pBaseAddress, pSchema) {
|
|
1375
1366
|
var tmpBaseAddress = typeof pBaseAddress == 'string' ? pBaseAddress : '';
|
|
@@ -1432,7 +1423,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1432
1423
|
return tmpSchema;
|
|
1433
1424
|
}
|
|
1434
1425
|
}]);
|
|
1435
|
-
return ManyfestObjectAddressGeneration;
|
|
1436
1426
|
}();
|
|
1437
1427
|
;
|
|
1438
1428
|
module.exports = ManyfestObjectAddressGeneration;
|
|
@@ -1459,9 +1449,57 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1459
1449
|
var _ConditionalStanzaEnd = '?~>>';
|
|
1460
1450
|
var _ConditionalStanzaEndLength = _ConditionalStanzaEnd.length;
|
|
1461
1451
|
|
|
1452
|
+
// Ugh dependency injection. Can't wait to make these all fable services.
|
|
1453
|
+
var libObjectAddressCheckAddressExists = new (require('./Manyfest-ObjectAddress-CheckAddressExists.js'))();
|
|
1454
|
+
|
|
1462
1455
|
// Test the condition of a value in a record
|
|
1463
1456
|
var testCondition = function testCondition(pManyfest, pRecord, pSearchAddress, pSearchComparator, pValue) {
|
|
1464
1457
|
switch (pSearchComparator) {
|
|
1458
|
+
case 'TRUE':
|
|
1459
|
+
return pManyfest.getValueAtAddress(pRecord, pSearchAddress) === true;
|
|
1460
|
+
break;
|
|
1461
|
+
case 'FALSE':
|
|
1462
|
+
return pManyfest.getValueAtAddress(pRecord, pSearchAddress) === false;
|
|
1463
|
+
break;
|
|
1464
|
+
case 'LNGT':
|
|
1465
|
+
case 'LENGTH_GREATER_THAN':
|
|
1466
|
+
switch (_typeof(_typeof(pManyfest.getValueAtAddress(pRecord, pSearchAddress)))) {
|
|
1467
|
+
case 'string':
|
|
1468
|
+
return pManyfest.getValueAtAddress(pRecord, pSearchAddress).length > pValue;
|
|
1469
|
+
break;
|
|
1470
|
+
case 'object':
|
|
1471
|
+
return pManyfest.getValueAtAddress(pRecord, pSearchAddress).length > pValue;
|
|
1472
|
+
break;
|
|
1473
|
+
default:
|
|
1474
|
+
return false;
|
|
1475
|
+
break;
|
|
1476
|
+
}
|
|
1477
|
+
break;
|
|
1478
|
+
case 'LNLT':
|
|
1479
|
+
case 'LENGTH_LESS_THAN':
|
|
1480
|
+
switch (_typeof(_typeof(pManyfest.getValueAtAddress(pRecord, pSearchAddress)))) {
|
|
1481
|
+
case 'string':
|
|
1482
|
+
return pManyfest.getValueAtAddress(pRecord, pSearchAddress).length < pValue;
|
|
1483
|
+
break;
|
|
1484
|
+
case 'object':
|
|
1485
|
+
return pManyfest.getValueAtAddress(pRecord, pSearchAddress).length < pValue;
|
|
1486
|
+
break;
|
|
1487
|
+
default:
|
|
1488
|
+
return false;
|
|
1489
|
+
break;
|
|
1490
|
+
}
|
|
1491
|
+
break;
|
|
1492
|
+
case 'FALSE':
|
|
1493
|
+
return pManyfest.getValueAtAddress(pRecord, pSearchAddress) === false;
|
|
1494
|
+
break;
|
|
1495
|
+
case 'EX':
|
|
1496
|
+
case 'EXISTS':
|
|
1497
|
+
return libObjectAddressCheckAddressExists.checkAddressExists(pRecord, pSearchAddress);
|
|
1498
|
+
break;
|
|
1499
|
+
case 'DNEX':
|
|
1500
|
+
case 'DOES_NOT_EXIST':
|
|
1501
|
+
return !libObjectAddressCheckAddressExists.checkAddressExists(pRecord, pSearchAddress);
|
|
1502
|
+
break;
|
|
1465
1503
|
case '!=':
|
|
1466
1504
|
return pManyfest.getValueAtAddress(pRecord, pSearchAddress) != pValue;
|
|
1467
1505
|
break;
|
|
@@ -1492,7 +1530,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1492
1530
|
/*
|
|
1493
1531
|
Algorithm is simple:
|
|
1494
1532
|
1. Enuerate start points
|
|
1495
|
-
|
|
1533
|
+
2. Find stop points within each start point
|
|
1496
1534
|
3. Check the conditional
|
|
1497
1535
|
*/
|
|
1498
1536
|
|
|
@@ -1501,9 +1539,21 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1501
1539
|
var tmpStopIndex = pAddress.indexOf(_ConditionalStanzaEnd, tmpStartIndex + _ConditionalStanzaStartLength);
|
|
1502
1540
|
if (tmpStopIndex != -1) {
|
|
1503
1541
|
var tmpMagicComparisonPatternSet = pAddress.substring(tmpStartIndex + _ConditionalStanzaStartLength, tmpStopIndex).split(',');
|
|
1542
|
+
|
|
1543
|
+
// The address to search for
|
|
1504
1544
|
var tmpSearchAddress = tmpMagicComparisonPatternSet[0];
|
|
1505
|
-
|
|
1506
|
-
|
|
1545
|
+
|
|
1546
|
+
// The copmparison expression (EXISTS as default)
|
|
1547
|
+
var tmpSearchComparator = 'EXISTS';
|
|
1548
|
+
if (tmpMagicComparisonPatternSet.length > 1) {
|
|
1549
|
+
tmpSearchComparator = tmpMagicComparisonPatternSet[1];
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
// The value to search for
|
|
1553
|
+
var tmpSearchValue = false;
|
|
1554
|
+
if (tmpMagicComparisonPatternSet.length > 2) {
|
|
1555
|
+
tmpSearchValue = tmpMagicComparisonPatternSet[2];
|
|
1556
|
+
}
|
|
1507
1557
|
|
|
1508
1558
|
// Process the piece
|
|
1509
1559
|
tmpKeepRecord = tmpKeepRecord && testCondition(pManyfest, pRecord, tmpSearchAddress, tmpSearchComparator, tmpSearchValue);
|
|
@@ -1515,7 +1565,9 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1515
1565
|
return tmpKeepRecord;
|
|
1516
1566
|
};
|
|
1517
1567
|
module.exports = parseConditionals;
|
|
1518
|
-
}, {
|
|
1568
|
+
}, {
|
|
1569
|
+
"./Manyfest-ObjectAddress-CheckAddressExists.js": 5
|
|
1570
|
+
}],
|
|
1519
1571
|
11: [function (require, module, exports) {
|
|
1520
1572
|
/**
|
|
1521
1573
|
* @author <steven@velozo.com>
|
|
@@ -1553,7 +1605,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1553
1605
|
// NOTE: This mutates the schema object permanently, altering the base hash.
|
|
1554
1606
|
// If there is a collision with an existing address, it can lead to overwrites.
|
|
1555
1607
|
// TODO: Discuss what should happen on collisions.
|
|
1556
|
-
_createClass(ManyfestSchemaManipulation, [{
|
|
1608
|
+
return _createClass(ManyfestSchemaManipulation, [{
|
|
1557
1609
|
key: "resolveAddressMappings",
|
|
1558
1610
|
value: function resolveAddressMappings(pManyfestSchemaDescriptors, pAddressMapping) {
|
|
1559
1611
|
if (_typeof(pManyfestSchemaDescriptors) != 'object') {
|
|
@@ -1630,7 +1682,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1630
1682
|
return tmpNewManyfestSchemaDescriptors;
|
|
1631
1683
|
}
|
|
1632
1684
|
}]);
|
|
1633
|
-
return ManyfestSchemaManipulation;
|
|
1634
1685
|
}();
|
|
1635
1686
|
module.exports = ManyfestSchemaManipulation;
|
|
1636
1687
|
}, {
|
|
@@ -1660,15 +1711,13 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1660
1711
|
* @class Manyfest
|
|
1661
1712
|
*/
|
|
1662
1713
|
var Manyfest = /*#__PURE__*/function (_libFableServiceProvi) {
|
|
1663
|
-
_inherits(Manyfest, _libFableServiceProvi);
|
|
1664
|
-
var _super = _createSuper(Manyfest);
|
|
1665
1714
|
function Manyfest(pFable, pManifest, pServiceHash) {
|
|
1666
1715
|
var _this3;
|
|
1667
1716
|
_classCallCheck(this, Manyfest);
|
|
1668
1717
|
if (pFable === undefined) {
|
|
1669
|
-
_this3 =
|
|
1718
|
+
_this3 = _callSuper(this, Manyfest, [{}]);
|
|
1670
1719
|
} else {
|
|
1671
|
-
_this3 =
|
|
1720
|
+
_this3 = _callSuper(this, Manyfest, [pFable, pManifest, pServiceHash]);
|
|
1672
1721
|
}
|
|
1673
1722
|
_this3.serviceType = 'Manifest';
|
|
1674
1723
|
|
|
@@ -1709,7 +1758,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1709
1758
|
_this3.schemaManipulations = new libSchemaManipulation(_this3.logInfo, _this3.logError);
|
|
1710
1759
|
_this3.objectAddressGeneration = new libObjectAddressGeneration(_this3.logInfo, _this3.logError);
|
|
1711
1760
|
_this3.hashTranslations = new libHashTranslation(_this3.logInfo, _this3.logError);
|
|
1712
|
-
return
|
|
1761
|
+
return _assertThisInitialized(_this3);
|
|
1713
1762
|
}
|
|
1714
1763
|
|
|
1715
1764
|
/*************************************************************************
|
|
@@ -1717,7 +1766,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
1717
1766
|
*/
|
|
1718
1767
|
|
|
1719
1768
|
// Reset critical manifest properties
|
|
1720
|
-
|
|
1769
|
+
_inherits(Manyfest, _libFableServiceProvi);
|
|
1770
|
+
return _createClass(Manyfest, [{
|
|
1721
1771
|
key: "reset",
|
|
1722
1772
|
value: function reset() {
|
|
1723
1773
|
this.scope = 'DEFAULT';
|
|
@@ -2095,7 +2145,6 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
2095
2145
|
return tmpObject;
|
|
2096
2146
|
}
|
|
2097
2147
|
}]);
|
|
2098
|
-
return Manyfest;
|
|
2099
2148
|
}(libFableServiceProviderBase);
|
|
2100
2149
|
;
|
|
2101
2150
|
module.exports = Manyfest;
|
|
@@ -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,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)}));
|
|
1
|
+
"use strict";function _callSuper(e,t,r){return t=_getPrototypeOf(t),_possibleConstructorReturn(e,_isNativeReflectConstruct()?Reflect.construct(t,r||[],_getPrototypeOf(e).constructor):t.apply(e,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(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_isNativeReflectConstruct=function(){return!!e})()}function _getPrototypeOf(e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_getPrototypeOf(e)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf(e,t)}function _setPrototypeOf(e,t){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_setPrototypeOf(e,t)}function _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:t+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!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(){return _createClass((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}),[{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}}])}();_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(){return _createClass((function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.translationTable={}}),[{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}}])}();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){e("./Manyfest-LogToConsole.js");var s=function(){return _createClass((function e(){_classCallCheck(this,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))}}])}();t.exports=s},{"./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(){return _createClass((function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}),[{key:"checkRecordFilters",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.checkRecordFilters(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={},T=0;T<m.length;T++){var k="".concat(s,"[").concat(T,"]"),E=this.deleteValueAtAddress(e[_][T],g,k);C["".concat(k,".").concat(g)]=E}return C}var w=t.indexOf("{}");if(w>0){var D=t.substring(0,w).trim();if("object"!=_typeof(e[D]))return!1;var x=e[D],P=Object.keys(x);s="".concat(s).concat(s.length>0?".":"").concat(D);for(var M={},N=0;N<P.length;N++){var V="".concat(s,".").concat(P[N]),S=this.deleteValueAtAddress(e[D][P[N]],g,V);this.checkRecordFilters(t,S)&&(M["".concat(V,".").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))}}}])}();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(){return _createClass((function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}),[{key:"checkRecordFilters",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.checkRecordFilters(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),T=m.indexOf("["),k=m.indexOf("]");if(T>0&&k>T&&k-T>1){var E=m.substring(0,T).trim(),w=m.substring(T+1,k).trim(),D=parseInt(w,10);if(Array.isArray(e[E])==isNaN(D))return;if("object"!=_typeof(e[E]))return;return isNaN(D)?(w=this.cleanWrapCharacters('"',w),w=this.cleanWrapCharacters("`",w),w=this.cleanWrapCharacters("'",w),n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[E][w],C,n,a)):(n="".concat(n).concat(n.length>0?".":"").concat(m),this.getValueAtAddress(e[E][D],C,n,a))}if(T>0&&k>T&&k-T==1){var x=t.substring(0,T).trim();if(!Array.isArray(e[x]))return!1;var P=e[x];n="".concat(n).concat(n.length>0?".":"").concat(x);for(var M={},N=0;N<P.length;N++){var V="".concat(n,"[").concat(N,"]"),S=this.getValueAtAddress(e[x][N],C,V,a);M["".concat(V,".").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.checkRecordFilters(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))}}}])}();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(){return _createClass((function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s,this.cleanWrapCharacters=n}),[{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))}}])}();t.exports=a},{"./Manyfest-CleanWrapCharacters.js":2,"./Manyfest-LogToConsole.js":4}],9:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){return _createClass((function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}),[{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}}])}();t.exports=n},{"./Manyfest-LogToConsole.js":4}],10:[function(e,t,r){var s="<<~?",n="?~>>",a=new(e("./Manyfest-ObjectAddress-CheckAddressExists.js")),o=function(e,t,r,s,n){switch(s){case"TRUE":return!0===e.getValueAtAddress(t,r);case"FALSE":case"FALSE":return!1===e.getValueAtAddress(t,r);case"LNGT":case"LENGTH_GREATER_THAN":switch(_typeof(_typeof(e.getValueAtAddress(t,r)))){case"string":case"object":return e.getValueAtAddress(t,r).length>n;default:return!1}break;case"LNLT":case"LENGTH_LESS_THAN":switch(_typeof(_typeof(e.getValueAtAddress(t,r)))){case"string":case"object":return e.getValueAtAddress(t,r).length<n;default:return!1}break;case"EX":case"EXISTS":return a.checkAddressExists(t,r);case"DNEX":case"DOES_NOT_EXIST":return!a.checkAddressExists(t,r);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 a=!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="EXISTS";l.length>1&&(u=l[1]);var h=!1;l.length>2&&(h=l[2]),a=a&&o(e,r,f,u,h),i=t.indexOf(s,c+4)}else i=-1}return a}},{"./Manyfest-ObjectAddress-CheckAddressExists.js":5}],11:[function(e,t,r){var s=e("./Manyfest-LogToConsole.js"),n=function(){return _createClass((function e(t,r){_classCallCheck(this,e),this.logInfo="function"==typeof t?t:s,this.logError="function"==typeof r?r:s}),[{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}}])}();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){function t(e,r,s){var h;return _classCallCheck(this,t),(h=_callSuper(this,t,void 0===e?[{}]:[e,r,s])).serviceType="Manifest",h.logInfo=n,h.logError=n,h.objectAddressCheckAddressExists=new o(h.logInfo,h.logError),h.objectAddressGetValue=new i(h.logInfo,h.logError),h.objectAddressSetValue=new c(h.logInfo,h.logError),h.objectAddressDeleteValue=new l(h.logInfo,h.logError),h.options.hasOwnProperty("defaultValues")||(h.options.defaultValues={String:"",Number:0,Float:0,Integer:0,Boolean:!1,Binary:0,DateTime:0,Array:[],Object:{},Null:null}),h.options.hasOwnProperty("strict")||(h.options.strict=!1),h.scope=void 0,h.elementAddresses=void 0,h.elementHashes=void 0,h.elementDescriptors=void 0,h.reset(),"object"===_typeof(h.options)&&h.loadManifest(h.options),h.schemaManipulations=new u(h.logInfo,h.logError),h.objectAddressGeneration=new f(h.logInfo,h.logError),h.hashTranslations=new a(h.logInfo,h.logError),_assertThisInitialized(h)}return _inherits(t,e),_createClass(t,[{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)),r=new t(this.getManifest(),this.logInfo,this.logError,e);return r.hashTranslations.addTranslation(this.hashTranslations.translationTable),r}},{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}}])}(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
|