ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
22 lines • 658 B
JavaScript
const HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
export const checkHasSuper = function () {
let sourceAvailable = function () {
return this;
}.toString().indexOf('return this') > -1;
if (sourceAvailable) {
return function checkHasSuper(func) {
return HAS_SUPER_PATTERN.test(func.toString());
};
}
return function checkHasSuper() {
return true;
};
}();
export function ROOT(..._args) {}
ROOT.__hasSuper = false;
export function hasSuper(func) {
if (func['__hasSuper'] === undefined) {
func['__hasSuper'] = checkHasSuper(func);
}
return func['__hasSuper'];
}