Fix debug mode eval class name (#1218)

This commit is contained in:
Dylan Piercey 2019-01-04 13:07:22 -07:00 committed by GitHub
parent 61af6af640
commit d700f3bb28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -76,16 +76,21 @@ function getComponentClass(typeName, isLegacy) {
});
className = className
.replace(/\$\d+\.\d+\.\d+$/, "")
.replace(/[^\w]+/g, "_");
.replace(/^[^a-z$_]/i, "_$&")
.replace(/[^0-9a-z$_]+/gi, "_");
className = className[0].toUpperCase() + className.slice(1);
// eslint-disable-next-line no-unused-vars
var OldComponentClass = ComponentClass;
eval(
"ComponentClass = function " +
className +
"(id, doc) { OldComponentClass.call(this, id, doc); }"
);
ComponentClass.prototype = OldComponentClass.prototype;
try {
var OldComponentClass = ComponentClass;
eval(
"ComponentClass = function " +
className +
"(id, doc) { OldComponentClass.call(this, id, doc); }"
);
ComponentClass.prototype = OldComponentClass.prototype;
} catch (e) {
/** ignore error */
}
}
componentTypes[typeName] = ComponentClass;