ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
23 lines • 2.71 kB
JavaScript
var HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
export var checkHasSuper = function () {
var 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() {}
ROOT.__hasSuper = false;
export function hasSuper(func) {
if (func['__hasSuper'] === undefined) {
func['__hasSuper'] = checkHasSuper(func);
}
return func['__hasSuper'];
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi91dGlscy5qcyJdLCJuYW1lcyI6WyJIQVNfU1VQRVJfUEFUVEVSTiIsImNoZWNrSGFzU3VwZXIiLCJzb3VyY2VBdmFpbGFibGUiLCJ0b1N0cmluZyIsImluZGV4T2YiLCJmdW5jIiwidGVzdCIsIlJPT1QiLCJfX2hhc1N1cGVyIiwiaGFzU3VwZXIiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLElBQU1BLG9CQUFvQixtQ0FBMUI7QUFDQSxPQUFPLElBQU1DLGdCQUFnQixZQUFZO0FBQ3JDLFFBQUlDLGtCQUFrQixZQUFZO0FBQzlCLGVBQU8sSUFBUDtBQUNILEtBRnFCLENBRXBCQyxRQUZvQixHQUVUQyxPQUZTLENBRUQsYUFGQyxJQUVnQixDQUFDLENBRnZDO0FBR0EsUUFBSUYsZUFBSixFQUFxQjtBQUNqQixlQUFPLFNBQVNELGFBQVQsQ0FBdUJJLElBQXZCLEVBQTZCO0FBQ2hDLG1CQUFPTCxrQkFBa0JNLElBQWxCLENBQXVCRCxLQUFLRixRQUFMLEVBQXZCLENBQVA7QUFDSCxTQUZEO0FBR0g7QUFDRCxXQUFPLFNBQVNGLGFBQVQsR0FBeUI7QUFDNUIsZUFBTyxJQUFQO0FBQ0gsS0FGRDtBQUdILENBWjRCLEVBQXRCO0FBYVAsT0FBTyxTQUFTTSxJQUFULEdBQXdCLENBQUU7QUFDakNBLEtBQUtDLFVBQUwsR0FBa0IsS0FBbEI7QUFDQSxPQUFPLFNBQVNDLFFBQVQsQ0FBa0JKLElBQWxCLEVBQXdCO0FBQzNCLFFBQUlBLEtBQUssWUFBTCxNQUF1QkssU0FBM0IsRUFBc0M7QUFDbENMLGFBQUssWUFBTCxJQUFxQkosY0FBY0ksSUFBZCxDQUFyQjtBQUNIO0FBQ0QsV0FBT0EsS0FBSyxZQUFMLENBQVA7QUFDSCIsImZpbGUiOiJsaWIvdXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBIQVNfU1VQRVJfUEFUVEVSTiA9IC9cXC4oX3N1cGVyfGNhbGxcXCh0aGlzfGFwcGx5XFwodGhpcykvO1xuZXhwb3J0IGNvbnN0IGNoZWNrSGFzU3VwZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IHNvdXJjZUF2YWlsYWJsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfS50b1N0cmluZygpLmluZGV4T2YoJ3JldHVybiB0aGlzJykgPiAtMTtcbiAgICBpZiAoc291cmNlQXZhaWxhYmxlKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBjaGVja0hhc1N1cGVyKGZ1bmMpIHtcbiAgICAgICAgICAgIHJldHVybiBIQVNfU1VQRVJfUEFUVEVSTi50ZXN0KGZ1bmMudG9TdHJpbmcoKSk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiBjaGVja0hhc1N1cGVyKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufSgpO1xuZXhwb3J0IGZ1bmN0aW9uIFJPT1QoLi4uX2FyZ3MpIHt9XG5ST09ULl9faGFzU3VwZXIgPSBmYWxzZTtcbmV4cG9ydCBmdW5jdGlvbiBoYXNTdXBlcihmdW5jKSB7XG4gICAgaWYgKGZ1bmNbJ19faGFzU3VwZXInXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZ1bmNbJ19faGFzU3VwZXInXSA9IGNoZWNrSGFzU3VwZXIoZnVuYyk7XG4gICAgfVxuICAgIHJldHVybiBmdW5jWydfX2hhc1N1cGVyJ107XG59Il19