@machinemetrics/mm-react-tools 2.1.1 → 2.2.0-dev
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/index.js +387 -74
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +387 -74
- package/dist/index.modern.js.map +1 -1
- package/package.json +8 -8
package/dist/index.modern.js
CHANGED
|
@@ -544,11 +544,165 @@ function _taggedTemplateLiteralLoose(strings, raw) {
|
|
|
544
544
|
}
|
|
545
545
|
|
|
546
546
|
// A type of promise-like that resolves synchronously and supports only one observer
|
|
547
|
+
const _Pact = /*#__PURE__*/(function() {
|
|
548
|
+
function _Pact() {}
|
|
549
|
+
_Pact.prototype.then = function(onFulfilled, onRejected) {
|
|
550
|
+
const result = new _Pact();
|
|
551
|
+
const state = this.s;
|
|
552
|
+
if (state) {
|
|
553
|
+
const callback = state & 1 ? onFulfilled : onRejected;
|
|
554
|
+
if (callback) {
|
|
555
|
+
try {
|
|
556
|
+
_settle(result, 1, callback(this.v));
|
|
557
|
+
} catch (e) {
|
|
558
|
+
_settle(result, 2, e);
|
|
559
|
+
}
|
|
560
|
+
return result;
|
|
561
|
+
} else {
|
|
562
|
+
return this;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
this.o = function(_this) {
|
|
566
|
+
try {
|
|
567
|
+
const value = _this.v;
|
|
568
|
+
if (_this.s & 1) {
|
|
569
|
+
_settle(result, 1, onFulfilled ? onFulfilled(value) : value);
|
|
570
|
+
} else if (onRejected) {
|
|
571
|
+
_settle(result, 1, onRejected(value));
|
|
572
|
+
} else {
|
|
573
|
+
_settle(result, 2, value);
|
|
574
|
+
}
|
|
575
|
+
} catch (e) {
|
|
576
|
+
_settle(result, 2, e);
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
return result;
|
|
580
|
+
};
|
|
581
|
+
return _Pact;
|
|
582
|
+
})();
|
|
583
|
+
|
|
584
|
+
// Settles a pact synchronously
|
|
585
|
+
function _settle(pact, state, value) {
|
|
586
|
+
if (!pact.s) {
|
|
587
|
+
if (value instanceof _Pact) {
|
|
588
|
+
if (value.s) {
|
|
589
|
+
if (state & 1) {
|
|
590
|
+
state = value.s;
|
|
591
|
+
}
|
|
592
|
+
value = value.v;
|
|
593
|
+
} else {
|
|
594
|
+
value.o = _settle.bind(null, pact, state);
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
if (value && value.then) {
|
|
599
|
+
value.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));
|
|
600
|
+
return;
|
|
601
|
+
}
|
|
602
|
+
pact.s = state;
|
|
603
|
+
pact.v = value;
|
|
604
|
+
const observer = pact.o;
|
|
605
|
+
if (observer) {
|
|
606
|
+
observer(pact);
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
function _isSettledPact(thenable) {
|
|
612
|
+
return thenable instanceof _Pact && thenable.s & 1;
|
|
613
|
+
}
|
|
547
614
|
|
|
548
615
|
const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
|
|
549
616
|
|
|
550
617
|
const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
|
|
551
618
|
|
|
619
|
+
// Asynchronously implement a generic for loop
|
|
620
|
+
function _for(test, update, body) {
|
|
621
|
+
var stage;
|
|
622
|
+
for (;;) {
|
|
623
|
+
var shouldContinue = test();
|
|
624
|
+
if (_isSettledPact(shouldContinue)) {
|
|
625
|
+
shouldContinue = shouldContinue.v;
|
|
626
|
+
}
|
|
627
|
+
if (!shouldContinue) {
|
|
628
|
+
return result;
|
|
629
|
+
}
|
|
630
|
+
if (shouldContinue.then) {
|
|
631
|
+
stage = 0;
|
|
632
|
+
break;
|
|
633
|
+
}
|
|
634
|
+
var result = body();
|
|
635
|
+
if (result && result.then) {
|
|
636
|
+
if (_isSettledPact(result)) {
|
|
637
|
+
result = result.s;
|
|
638
|
+
} else {
|
|
639
|
+
stage = 1;
|
|
640
|
+
break;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
if (update) {
|
|
644
|
+
var updateValue = update();
|
|
645
|
+
if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
|
|
646
|
+
stage = 2;
|
|
647
|
+
break;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
var pact = new _Pact();
|
|
652
|
+
var reject = _settle.bind(null, pact, 2);
|
|
653
|
+
(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);
|
|
654
|
+
return pact;
|
|
655
|
+
function _resumeAfterBody(value) {
|
|
656
|
+
result = value;
|
|
657
|
+
do {
|
|
658
|
+
if (update) {
|
|
659
|
+
updateValue = update();
|
|
660
|
+
if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
|
|
661
|
+
updateValue.then(_resumeAfterUpdate).then(void 0, reject);
|
|
662
|
+
return;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
shouldContinue = test();
|
|
666
|
+
if (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {
|
|
667
|
+
_settle(pact, 1, result);
|
|
668
|
+
return;
|
|
669
|
+
}
|
|
670
|
+
if (shouldContinue.then) {
|
|
671
|
+
shouldContinue.then(_resumeAfterTest).then(void 0, reject);
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
result = body();
|
|
675
|
+
if (_isSettledPact(result)) {
|
|
676
|
+
result = result.v;
|
|
677
|
+
}
|
|
678
|
+
} while (!result || !result.then);
|
|
679
|
+
result.then(_resumeAfterBody).then(void 0, reject);
|
|
680
|
+
}
|
|
681
|
+
function _resumeAfterTest(shouldContinue) {
|
|
682
|
+
if (shouldContinue) {
|
|
683
|
+
result = body();
|
|
684
|
+
if (result && result.then) {
|
|
685
|
+
result.then(_resumeAfterBody).then(void 0, reject);
|
|
686
|
+
} else {
|
|
687
|
+
_resumeAfterBody(result);
|
|
688
|
+
}
|
|
689
|
+
} else {
|
|
690
|
+
_settle(pact, 1, result);
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
function _resumeAfterUpdate() {
|
|
694
|
+
if (shouldContinue = test()) {
|
|
695
|
+
if (shouldContinue.then) {
|
|
696
|
+
shouldContinue.then(_resumeAfterTest).then(void 0, reject);
|
|
697
|
+
} else {
|
|
698
|
+
_resumeAfterTest(shouldContinue);
|
|
699
|
+
}
|
|
700
|
+
} else {
|
|
701
|
+
_settle(pact, 1, result);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
|
|
552
706
|
// Asynchronously call a function and send errors to recovery continuation
|
|
553
707
|
function _catch(body, recover) {
|
|
554
708
|
try {
|
|
@@ -562,6 +716,19 @@ function _catch(body, recover) {
|
|
|
562
716
|
return result;
|
|
563
717
|
}
|
|
564
718
|
|
|
719
|
+
// Asynchronously await a promise and pass the result to a finally continuation
|
|
720
|
+
function _finallyRethrows(body, finalizer) {
|
|
721
|
+
try {
|
|
722
|
+
var result = body();
|
|
723
|
+
} catch (e) {
|
|
724
|
+
return finalizer(true, e);
|
|
725
|
+
}
|
|
726
|
+
if (result && result.then) {
|
|
727
|
+
return result.then(finalizer.bind(null, false), finalizer.bind(null, true));
|
|
728
|
+
}
|
|
729
|
+
return finalizer(false, result);
|
|
730
|
+
}
|
|
731
|
+
|
|
565
732
|
var MMAuthContext = React.createContext();
|
|
566
733
|
|
|
567
734
|
var MMAuthInternalContext = React.createContext();
|
|
@@ -1189,8 +1356,9 @@ var Authorize = function Authorize(_ref) {
|
|
|
1189
1356
|
return !isAuthenticated ? /*#__PURE__*/React.createElement(Message, null, "Authorizing...") : /*#__PURE__*/React.createElement(Done, null);
|
|
1190
1357
|
};
|
|
1191
1358
|
|
|
1192
|
-
var
|
|
1359
|
+
var DataWrapper = function DataWrapper(_ref) {
|
|
1193
1360
|
var jwtRef = _ref.jwtRef,
|
|
1361
|
+
natsCredsRef = _ref.natsCredsRef,
|
|
1194
1362
|
graphQLRoleOverride = _ref.graphQLRoleOverride,
|
|
1195
1363
|
clientId = _ref.clientId,
|
|
1196
1364
|
accessToken = _ref.accessToken;
|
|
@@ -1299,6 +1467,7 @@ var ApolloApp = function ApolloApp(_ref) {
|
|
|
1299
1467
|
return /*#__PURE__*/React.createElement(MMAuthInternalContext.Provider, {
|
|
1300
1468
|
value: {
|
|
1301
1469
|
link: link,
|
|
1470
|
+
natsCredsRef: natsCredsRef,
|
|
1302
1471
|
jwtRef: jwtRef,
|
|
1303
1472
|
clientId: clientId,
|
|
1304
1473
|
accessToken: accessToken
|
|
@@ -1323,10 +1492,7 @@ var MMJwtProvider = function MMJwtProvider(_ref) {
|
|
|
1323
1492
|
setIsAuthenticated = _useState[1];
|
|
1324
1493
|
|
|
1325
1494
|
var jwtRef = useRef();
|
|
1326
|
-
|
|
1327
|
-
var _useState2 = useState(),
|
|
1328
|
-
natsCreds = _useState2[0],
|
|
1329
|
-
setNatsCreds = _useState2[1];
|
|
1495
|
+
var natsCredsRef = useRef();
|
|
1330
1496
|
|
|
1331
1497
|
var logout = function logout() {
|
|
1332
1498
|
try {
|
|
@@ -1393,13 +1559,13 @@ var MMJwtProvider = function MMJwtProvider(_ref) {
|
|
|
1393
1559
|
useAsyncInterval(function () {
|
|
1394
1560
|
try {
|
|
1395
1561
|
if (!accessToken) {
|
|
1396
|
-
|
|
1562
|
+
natsCredsRef.current = null;
|
|
1397
1563
|
return Promise.resolve();
|
|
1398
1564
|
}
|
|
1399
1565
|
|
|
1400
1566
|
var _temp5 = _catch(function () {
|
|
1401
1567
|
return Promise.resolve(request(urls.apiUrl + "/nats-token")).then(function (response) {
|
|
1402
|
-
|
|
1568
|
+
natsCredsRef.current = response;
|
|
1403
1569
|
});
|
|
1404
1570
|
}, function () {});
|
|
1405
1571
|
|
|
@@ -1414,8 +1580,7 @@ var MMJwtProvider = function MMJwtProvider(_ref) {
|
|
|
1414
1580
|
login: login,
|
|
1415
1581
|
logout: logout,
|
|
1416
1582
|
request: request,
|
|
1417
|
-
urls: urls
|
|
1418
|
-
natsCreds: natsCreds
|
|
1583
|
+
urls: urls
|
|
1419
1584
|
}
|
|
1420
1585
|
}, /*#__PURE__*/React.createElement(Routes, null, /*#__PURE__*/React.createElement(Route, {
|
|
1421
1586
|
exact: true,
|
|
@@ -1425,10 +1590,11 @@ var MMJwtProvider = function MMJwtProvider(_ref) {
|
|
|
1425
1590
|
})
|
|
1426
1591
|
}), /*#__PURE__*/React.createElement(Route, {
|
|
1427
1592
|
path: "/",
|
|
1428
|
-
element: /*#__PURE__*/React.createElement(
|
|
1593
|
+
element: /*#__PURE__*/React.createElement(DataWrapper, {
|
|
1429
1594
|
clientId: clientId,
|
|
1430
1595
|
graphQLRoleOverride: graphQLRoleOverride,
|
|
1431
1596
|
jwtRef: jwtRef,
|
|
1597
|
+
natsCredsRef: natsCredsRef,
|
|
1432
1598
|
accessToken: accessToken
|
|
1433
1599
|
})
|
|
1434
1600
|
}, children))));
|
|
@@ -1472,21 +1638,26 @@ var MMProvider = function MMProvider(_ref) {
|
|
|
1472
1638
|
clientId = _ref.clientId,
|
|
1473
1639
|
clientSecret = _ref.clientSecret,
|
|
1474
1640
|
releaseStage = _ref.releaseStage,
|
|
1475
|
-
graphQLRoleOverride = _ref.graphQLRoleOverride
|
|
1641
|
+
graphQLRoleOverride = _ref.graphQLRoleOverride,
|
|
1642
|
+
customUrls = _ref.urls;
|
|
1476
1643
|
|
|
1477
1644
|
if (releaseStage === 'release') {
|
|
1478
1645
|
releaseStage = 'production';
|
|
1479
1646
|
console.warn("releaseStage \"release\" has been deprecated. use \"production\" instead.");
|
|
1480
1647
|
}
|
|
1481
1648
|
|
|
1482
|
-
var urls
|
|
1649
|
+
var urls;
|
|
1483
1650
|
|
|
1484
|
-
if (
|
|
1651
|
+
if (URL_MAP[releaseStage]) {
|
|
1652
|
+
urls = URL_MAP[releaseStage];
|
|
1653
|
+
} else {
|
|
1485
1654
|
var stages = _.keys(URL_MAP).join(', ');
|
|
1486
1655
|
|
|
1487
1656
|
throw Error("MMProvider releaseStage must be one of the following: " + stages);
|
|
1488
1657
|
}
|
|
1489
1658
|
|
|
1659
|
+
urls = _.merge(urls, customUrls);
|
|
1660
|
+
|
|
1490
1661
|
var _useState = useState(retrieveAccessToken()),
|
|
1491
1662
|
accessToken = _useState[0],
|
|
1492
1663
|
setAccessToken = _useState[1];
|
|
@@ -1574,17 +1745,14 @@ var MMProvider = function MMProvider(_ref) {
|
|
|
1574
1745
|
}));
|
|
1575
1746
|
};
|
|
1576
1747
|
|
|
1748
|
+
var ALLOWED_DELIVERY_POLICIES = ['new', 'last', 'last_per_subject'];
|
|
1749
|
+
|
|
1577
1750
|
var connectToServer = function connectToServer(url, creds) {
|
|
1578
1751
|
try {
|
|
1579
|
-
|
|
1580
|
-
return Promise.resolve(
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
authenticator: credsAuthenticator(credentialsBytes)
|
|
1584
|
-
}));
|
|
1585
|
-
}, function (error) {
|
|
1586
|
-
console.error("Error connecting to server: " + error.message);
|
|
1587
|
-
throw error;
|
|
1752
|
+
console.info("Connecting to server " + url);
|
|
1753
|
+
return Promise.resolve(connect({
|
|
1754
|
+
servers: [url],
|
|
1755
|
+
authenticator: credsAuthenticator(new TextEncoder().encode(creds))
|
|
1588
1756
|
}));
|
|
1589
1757
|
} catch (e) {
|
|
1590
1758
|
return Promise.reject(e);
|
|
@@ -1631,7 +1799,7 @@ function _decode() {
|
|
|
1631
1799
|
case 14:
|
|
1632
1800
|
_context.prev = 14;
|
|
1633
1801
|
_context.t0 = _context["catch"](9);
|
|
1634
|
-
console.warn("Skipping event
|
|
1802
|
+
console.warn("Skipping event: " + _context.t0);
|
|
1635
1803
|
|
|
1636
1804
|
case 17:
|
|
1637
1805
|
_iteratorAbruptCompletion = false;
|
|
@@ -1686,67 +1854,212 @@ function _decode() {
|
|
|
1686
1854
|
return _decode.apply(this, arguments);
|
|
1687
1855
|
}
|
|
1688
1856
|
|
|
1689
|
-
var
|
|
1690
|
-
|
|
1691
|
-
|
|
1857
|
+
var closeConnection = function closeConnection(eventStreamRef, connectionRef) {
|
|
1858
|
+
if (eventStreamRef.current) {
|
|
1859
|
+
eventStreamRef.current = undefined;
|
|
1860
|
+
}
|
|
1861
|
+
|
|
1862
|
+
if (connectionRef.current) {
|
|
1863
|
+
connectionRef.current.close();
|
|
1864
|
+
connectionRef.current = undefined;
|
|
1865
|
+
}
|
|
1866
|
+
};
|
|
1867
|
+
|
|
1868
|
+
var streamPatterns = {
|
|
1869
|
+
scada: 'mm.0.[location-ref].[machine-ref].[qualifier].[data-category].[metric-key].[message-type]',
|
|
1870
|
+
'machine-service': 'mm.2.[location-ref].[machine-ref].[service-name].[qualifier].[data-category].[metric-key].[message-type]',
|
|
1871
|
+
'edge-service': 'mm.3.[location-ref].[edge-ref].[service-name].[data-category].[metric-key].[message-type]',
|
|
1872
|
+
'machine-source-service': 'mm.4.[location-ref].[machine-ref].[machine-source-ref].[service-name].[data-category].[metric-key].[message-type]',
|
|
1873
|
+
edge: 'mm.7.[location-ref].[edge-ref].[data-category].[metric-key].[message-type]'
|
|
1874
|
+
};
|
|
1875
|
+
var dataCategoryMapping = {
|
|
1876
|
+
undefined: 0,
|
|
1877
|
+
event: 1,
|
|
1878
|
+
eventset: 2,
|
|
1879
|
+
quantity: 3,
|
|
1880
|
+
state: 4,
|
|
1881
|
+
count: 5,
|
|
1882
|
+
info: 6,
|
|
1883
|
+
beat: 7
|
|
1884
|
+
};
|
|
1885
|
+
|
|
1886
|
+
var buildSubject = function buildSubject(streamName, locationRef, filter) {
|
|
1887
|
+
if (!streamPatterns[streamName]) {
|
|
1888
|
+
throw new Error('Unknown stream name');
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1891
|
+
var pattern = streamPatterns[streamName].split('.');
|
|
1892
|
+
var subject = '';
|
|
1893
|
+
pattern.forEach(function (part, index) {
|
|
1894
|
+
switch (part) {
|
|
1895
|
+
case '[location-ref]':
|
|
1896
|
+
subject += '.' + locationRef;
|
|
1897
|
+
break;
|
|
1898
|
+
|
|
1899
|
+
case '[machine-ref]':
|
|
1900
|
+
subject += '.' + ((filter === null || filter === void 0 ? void 0 : filter.machineRef) || '*');
|
|
1901
|
+
break;
|
|
1902
|
+
|
|
1903
|
+
case '[qualifier]':
|
|
1904
|
+
subject += '.' + ((filter === null || filter === void 0 ? void 0 : filter.qualifier) || '0');
|
|
1905
|
+
break;
|
|
1906
|
+
|
|
1907
|
+
case '[data-category]':
|
|
1908
|
+
subject += '.' + (dataCategoryMapping[filter === null || filter === void 0 ? void 0 : filter.dataCategory] || '*');
|
|
1909
|
+
break;
|
|
1910
|
+
|
|
1911
|
+
case '[metric-key]':
|
|
1912
|
+
subject += '.' + (filter !== null && filter !== void 0 && filter.metricKey ? filter === null || filter === void 0 ? void 0 : filter.metricKey.toLowerCase().replace(/[^a-zA-Z0-9_\\-]/gi, '-') : '*');
|
|
1913
|
+
break;
|
|
1914
|
+
|
|
1915
|
+
case '[message-type]':
|
|
1916
|
+
subject += '.' + ((filter === null || filter === void 0 ? void 0 : filter.messageType) || '0');
|
|
1917
|
+
break;
|
|
1918
|
+
|
|
1919
|
+
case '[edge-ref]':
|
|
1920
|
+
subject += '.' + ((filter === null || filter === void 0 ? void 0 : filter.edgeRef) || '*');
|
|
1921
|
+
break;
|
|
1922
|
+
|
|
1923
|
+
case '[service-name]':
|
|
1924
|
+
subject += '.' + ((filter === null || filter === void 0 ? void 0 : filter.serviceName) || '*');
|
|
1925
|
+
break;
|
|
1926
|
+
|
|
1927
|
+
case '[machine-source-ref]':
|
|
1928
|
+
subject += '.' + ((filter === null || filter === void 0 ? void 0 : filter.machineSourceRef) || '*');
|
|
1929
|
+
break;
|
|
1930
|
+
|
|
1931
|
+
default:
|
|
1932
|
+
if (index > 0) {
|
|
1933
|
+
subject += '.';
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
subject += part;
|
|
1937
|
+
break;
|
|
1938
|
+
}
|
|
1939
|
+
});
|
|
1940
|
+
return subject;
|
|
1941
|
+
};
|
|
1942
|
+
|
|
1943
|
+
var useEventStream = function useEventStream(params) {
|
|
1944
|
+
var streamName = params.streamName,
|
|
1945
|
+
locationRef = params.locationRef,
|
|
1946
|
+
filters = params.filters,
|
|
1947
|
+
_params$deliverPolicy = params.deliverPolicy,
|
|
1948
|
+
deliverPolicy = _params$deliverPolicy === void 0 ? 'new' : _params$deliverPolicy,
|
|
1949
|
+
dispatch = params.dispatch;
|
|
1950
|
+
|
|
1951
|
+
if (!ALLOWED_DELIVERY_POLICIES.includes(deliverPolicy)) {
|
|
1952
|
+
throw new Error("Invalid deliverPolicy \"" + deliverPolicy + "\" specified. Valid options are: " + ALLOWED_DELIVERY_POLICIES.join(', '));
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
if (filters && filters.length > 1) {
|
|
1956
|
+
console.warn("Multiple filters are not supported. Only the first filter will be used.");
|
|
1957
|
+
}
|
|
1692
1958
|
|
|
1693
1959
|
var _useMMAuth = useMMAuth(),
|
|
1694
|
-
natsCreds = _useMMAuth.natsCreds,
|
|
1695
1960
|
urls = _useMMAuth.urls;
|
|
1696
1961
|
|
|
1697
|
-
var
|
|
1698
|
-
|
|
1699
|
-
setConnection = _useState[1];
|
|
1700
|
-
|
|
1701
|
-
var _useState2 = useState(),
|
|
1702
|
-
eventStream = _useState2[0],
|
|
1703
|
-
setEventStream = _useState2[1];
|
|
1962
|
+
var _useMMAuthInternal2 = _useMMAuthInternal(),
|
|
1963
|
+
natsCredsRef = _useMMAuthInternal2.natsCredsRef;
|
|
1704
1964
|
|
|
1965
|
+
var connectionRef = useRef();
|
|
1966
|
+
var eventStreamRef = useRef();
|
|
1705
1967
|
useEffect(function () {
|
|
1706
|
-
if (
|
|
1707
|
-
if (natsCreds && subject) {
|
|
1708
|
-
connectToServer(urls.natsUrl, natsCreds).then(function (conn) {
|
|
1709
|
-
try {
|
|
1710
|
-
var _temp2 = function _temp2(stream) {
|
|
1711
|
-
return jc.consumers.get(stream, {
|
|
1712
|
-
filterSubjects: subject,
|
|
1713
|
-
deliver_policy: 'last_per_subject'
|
|
1714
|
-
});
|
|
1715
|
-
};
|
|
1968
|
+
if (!urls.natsUrl || !natsCredsRef.current || !streamName || !locationRef) return;
|
|
1716
1969
|
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1970
|
+
var setupStream = function setupStream() {
|
|
1971
|
+
try {
|
|
1972
|
+
return Promise.resolve(_catch(function () {
|
|
1973
|
+
return Promise.resolve(connectToServer(urls.natsUrl, natsCredsRef.current)).then(function (conn) {
|
|
1974
|
+
connectionRef.current = conn;
|
|
1975
|
+
var subject = buildSubject(streamName, locationRef, filters === null || filters === void 0 ? void 0 : filters[0]);
|
|
1976
|
+
console.info("Consuming events from stream " + streamName + " filtering by subject " + subject);
|
|
1977
|
+
return Promise.resolve(conn.jetstream().consumers.get(streamName, {
|
|
1978
|
+
deliver_policy: deliverPolicy,
|
|
1979
|
+
filterSubjects: subject
|
|
1980
|
+
})).then(function (consumer) {
|
|
1981
|
+
return Promise.resolve(consumer.consume({
|
|
1982
|
+
max_messages: 1000
|
|
1983
|
+
})).then(function (messages) {
|
|
1984
|
+
var eventStream = decode(messages);
|
|
1985
|
+
eventStreamRef.current = eventStream;
|
|
1986
|
+
return function () {
|
|
1987
|
+
if (typeof dispatch === 'function') {
|
|
1988
|
+
var _iteratorAbruptCompletion2 = false;
|
|
1989
|
+
var _didIteratorError2 = false;
|
|
1990
|
+
|
|
1991
|
+
var _iteratorError2;
|
|
1992
|
+
|
|
1993
|
+
return _finallyRethrows(function () {
|
|
1994
|
+
return _catch(function () {
|
|
1995
|
+
var _iterator2 = _asyncIterator(eventStream),
|
|
1996
|
+
_step2;
|
|
1997
|
+
|
|
1998
|
+
var _temp = _for(function () {
|
|
1999
|
+
return Promise.resolve(_iterator2.next()).then(function (_iterator2$next) {
|
|
2000
|
+
return _iteratorAbruptCompletion2 = !(_step2 = _iterator2$next).done;
|
|
2001
|
+
});
|
|
2002
|
+
}, function () {
|
|
2003
|
+
return !!(_iteratorAbruptCompletion2 = false);
|
|
2004
|
+
}, function () {
|
|
2005
|
+
var event = _step2.value;
|
|
2006
|
+
dispatch(event);
|
|
2007
|
+
});
|
|
2008
|
+
|
|
2009
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
|
2010
|
+
}, function (err) {
|
|
2011
|
+
_didIteratorError2 = true;
|
|
2012
|
+
_iteratorError2 = err;
|
|
2013
|
+
});
|
|
2014
|
+
}, function (_wasThrown, _result2) {
|
|
2015
|
+
var _exit = false;
|
|
2016
|
+
|
|
2017
|
+
function _temp4(_result3) {
|
|
2018
|
+
if (_exit) return _result3;
|
|
2019
|
+
if (_wasThrown) throw _result2;
|
|
2020
|
+
return _result2;
|
|
2021
|
+
}
|
|
2022
|
+
|
|
2023
|
+
var _temp3 = _finallyRethrows(function () {
|
|
2024
|
+
var _temp2 = function () {
|
|
2025
|
+
if (_iteratorAbruptCompletion2 && _iterator2["return"] != null) {
|
|
2026
|
+
return Promise.resolve(_iterator2["return"]()).then(function () {});
|
|
2027
|
+
}
|
|
2028
|
+
}();
|
|
2029
|
+
|
|
2030
|
+
if (_temp2 && _temp2.then) return _temp2.then(function () {});
|
|
2031
|
+
}, function (_wasThrown2, _result3) {
|
|
2032
|
+
if (_didIteratorError2) {
|
|
2033
|
+
throw _iteratorError2;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
if (_wasThrown2) throw _result3;
|
|
2037
|
+
return _result3;
|
|
2038
|
+
});
|
|
2039
|
+
|
|
2040
|
+
return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
|
|
2041
|
+
});
|
|
2042
|
+
}
|
|
2043
|
+
}();
|
|
2044
|
+
});
|
|
1731
2045
|
});
|
|
1732
|
-
}
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
});
|
|
2046
|
+
});
|
|
2047
|
+
}, function (error) {
|
|
2048
|
+
console.error("Error setting up event stream. " + error);
|
|
2049
|
+
}));
|
|
2050
|
+
} catch (e) {
|
|
2051
|
+
return Promise.reject(e);
|
|
1736
2052
|
}
|
|
1737
|
-
}
|
|
1738
|
-
return function () {
|
|
1739
|
-
if (eventStream) {
|
|
1740
|
-
setEventStream(undefined);
|
|
1741
|
-
}
|
|
2053
|
+
};
|
|
1742
2054
|
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
2055
|
+
setupStream();
|
|
2056
|
+
return function () {
|
|
2057
|
+
return closeConnection(eventStreamRef, connectionRef);
|
|
2058
|
+
};
|
|
2059
|
+
}, [streamName, locationRef, deliverPolicy, urls.natsUrl, natsCredsRef]);
|
|
2060
|
+
return [eventStreamRef.current, function () {
|
|
2061
|
+
return closeConnection(eventStreamRef, connectionRef);
|
|
2062
|
+
}];
|
|
1750
2063
|
};
|
|
1751
2064
|
|
|
1752
2065
|
export { MMProvider, PrivateLayout, _useMMAuthInternal, useApiRequest, useAsyncEffect, useAsyncInterval, useDowntimeQuery, useEventStream, useMMAuth, useMMHash, useMMTemplates, useProductionQuery, useQuantityStream, useThrottleEffect };
|