@b.taranenko/js-remote-debugger
Version:
Framework agnostic javascript remote debugger
165 lines (159 loc) • 5.58 kB
JavaScript
function _assertClassBrand(e, t, n) {
if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
throw new TypeError("Private element is not present on this object");
}
function _checkPrivateRedeclaration(e, t) {
if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
}
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _classPrivateFieldGet2(s, a) {
return s.get(_assertClassBrand(s, a));
}
function _classPrivateFieldInitSpec(e, t, a) {
_checkPrivateRedeclaration(e, t), t.set(e, a);
}
function _classPrivateFieldSet2(s, a, r) {
return s.set(_assertClassBrand(s, a), r), r;
}
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);
}
}
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
writable: !1
}), e;
}
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
_defineProperty(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
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);
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == typeof i ? i : i + "";
}
var BASE_URL = 'https://js-remote-debugger-d215cef28dd2.herokuapp.com/api';
var generateUuid = function generateUuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : r & 0x3 | 0x8;
return v.toString(16);
});
};
var _appId = /*#__PURE__*/new WeakMap();
var _sessionId = /*#__PURE__*/new WeakMap();
var _isInitializeFired = /*#__PURE__*/new WeakMap();
var _userInfo = /*#__PURE__*/new WeakMap();
var RemoteDebugger = /*#__PURE__*/function () {
function RemoteDebugger() {
_classCallCheck(this, RemoteDebugger);
_classPrivateFieldInitSpec(this, _appId, void 0);
_classPrivateFieldInitSpec(this, _sessionId, void 0);
_classPrivateFieldInitSpec(this, _isInitializeFired, void 0);
_classPrivateFieldInitSpec(this, _userInfo, void 0);
_classPrivateFieldSet2(_appId, this, '');
_classPrivateFieldSet2(_sessionId, this, '');
_classPrivateFieldSet2(_isInitializeFired, this, false);
_classPrivateFieldSet2(_userInfo, this, '');
}
return _createClass(RemoteDebugger, [{
key: "initialize",
value: function initialize(appId) {
_classPrivateFieldSet2(_isInitializeFired, this, true);
_classPrivateFieldSet2(_sessionId, this, generateUuid());
_classPrivateFieldSet2(_appId, this, appId);
this.log({
type: 'INFO',
data: '',
label: "SESSION ".concat(_classPrivateFieldGet2(_sessionId, this), " STARTED")
});
}
}, {
key: "setUserInfo",
value: function setUserInfo(userInfo) {
_classPrivateFieldSet2(_userInfo, this, userInfo);
}
}, {
key: "log",
value: function log(event, onSuccess, onError) {
if (!_classPrivateFieldGet2(_isInitializeFired, this)) {
if (onError) {
onError('REMOTE DEBUGGER: YOU SHOULD RUN INITIALIZE FIRST');
}
}
if (!event) {
if (onError) {
onError('REMOTE DEBUGGER: EVENT CONFIGURATION IS EMPTY');
}
}
var eventToSend = _objectSpread2(_objectSpread2({}, event), {}, {
userInfo: _classPrivateFieldGet2(_userInfo, this),
sessionId: _classPrivateFieldGet2(_sessionId, this)
});
if (!eventToSend.type) {
eventToSend.type = 'REGULAR';
}
return fetch("".concat(BASE_URL, "/events"), {
method: 'POST',
mode: 'cors',
headers: {
'Content-Type': 'application/json',
'firebase-id': _classPrivateFieldGet2(_appId, this)
},
body: JSON.stringify(eventToSend)
}).then(function (res) {
if (onSuccess) {
onSuccess(eventToSend);
}
return res.json();
})["catch"](function (err) {
if (onError) {
onError(err);
}
return console.error('REMOTE DEBUGGER ERROR: PROJECT NOT FOUND. CHECK YOU SETTINGS');
});
}
}]);
}();
var remoteDebugger = new RemoteDebugger();
module.exports = remoteDebugger;
;