@formidable-webview/webshell
Version:
🔥 Craft Robust React Native WebView-based components with ease.
181 lines (142 loc) • 5.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _templateObject6() {
var data = _taggedTemplateLiteral(["Prop \"", "\" from feature \"", "\" is in conflict with a prop of the same name from feature \"", "\"."]);
_templateObject6 = function _templateObject6() {
return data;
};
return data;
}
function _templateObject5() {
var data = _taggedTemplateLiteral(["The WebView element you passed is missing \"injectJavaScript\" method."]);
_templateObject5 = function _templateObject5() {
return data;
};
return data;
}
function _templateObject4() {
var data = _taggedTemplateLiteral(["Web script from feature \"", "\" raised an error: ", ""]);
_templateObject4 = function _templateObject4() {
return data;
};
return data;
}
function _templateObject3() {
var data = _taggedTemplateLiteral(["Feature ", " has not be instantiated in this shell."]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = _taggedTemplateLiteral(["Feature \"", "\" has no Web handler with ID \"", "\"."]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteral(["Web script from feature \"", "\" sent an event for \"", "\" shell handler, but there is no shell handler registered for this feature. Use FeatureBuilder.withShellHandler to register that handler, or make sure its name is not misspell in the DOM script."]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
function describe(template) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return '[Webshell]: ' + template.reduce(function (buffer, currentSnippet, index) {
buffer.push(currentSnippet, args[index] || '');
return buffer;
}, []).join('');
}
var codes = {
WEBSH_MISSING_SHELL_HANDLER: {
code: 'WEBSH_MISSING_SHELL_HANDLER',
verbose: function verbose(identifier, eventId) {
return describe(_templateObject(), identifier, eventId);
}
},
WEBSH_FEAT_MISSING_WEB_HANDLER: {
code: 'WEBSH_FEAT_MISSING_WEB_HANDLER',
verbose: function verbose(identifier, eventId) {
return describe(_templateObject2(), identifier, eventId);
}
},
WEBSH_FEAT_MISSING_IN_SHELL: {
code: 'WEBSH_FEAT_MISSING_IN_SHELL',
verbose: function verbose(identifier) {
return describe(_templateObject3(), identifier);
}
},
WEBSH_SCRIPT_ERROR: {
code: 'WEBSH_SCRIPT_ERROR',
verbose: function verbose(identifier) {
var body = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'empty error';
return describe(_templateObject4(), identifier, body);
}
},
WEBSH_WEBVIEW_MISSING_MEMBER: {
code: 'WEBSH_WEBVIEW_MISSING_MEMBER',
verbose: function verbose() {
return describe(_templateObject5());
}
},
WEBSH_DUPLICATED_REGISTERED_PROP: {
code: 'WEBSH_DUPLICATED_REGISTERED_PROP',
verbose: function verbose(originalSpec, duplicatingSpec) {
return describe(_templateObject6(), duplicatingSpec.name, duplicatingSpec.featureIdentifier, originalSpec.featureIdentifier);
}
}
};
var Reporter = /*#__PURE__*/function () {
function Reporter(webshellDebug, strict) {
_classCallCheck(this, Reporter);
_defineProperty(this, "webshellDebug", void 0);
_defineProperty(this, "strict", void 0);
this.webshellDebug = webshellDebug;
this.strict = strict;
}
_createClass(Reporter, [{
key: "dispatchError",
value: function dispatchError(code) {
var _codes$code;
if (!this.webshellDebug) {
return;
}
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
args[_key2 - 1] = arguments[_key2];
}
var message = (_codes$code = codes[code]).verbose.apply(_codes$code, args);
if (this.strict) {
throw new Error(message);
} else {
console.warn(message);
}
}
}, {
key: "dispatchWebLog",
value: function dispatchWebLog(severity, identifier, message) {
if (!this.webshellDebug) {
return;
}
if (severity === 'warn') {
console.warn("[Webshell(".concat(identifier, ")]: ").concat(message));
} else if (severity === 'info') {
console.info("[Webshell(".concat(identifier, ")]: ").concat(message));
}
}
}]);
return Reporter;
}();
exports["default"] = Reporter;
//# sourceMappingURL=Reporter.js.map