ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
30 lines (29 loc) • 2.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ROOT = ROOT;
exports.hasSuper = hasSuper;
const HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
const checkHasSuper = exports.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;
};
}();
function ROOT(..._args) {}
ROOT.__hasSuper = false;
function hasSuper(func) {
if (func['__hasSuper'] === undefined) {
func['__hasSuper'] = checkHasSuper(func);
}
return func['__hasSuper'];
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi91dGlscy5qcyJdLCJuYW1lcyI6WyJST09UIiwiaGFzU3VwZXIiLCJIQVNfU1VQRVJfUEFUVEVSTiIsImNoZWNrSGFzU3VwZXIiLCJzb3VyY2VBdmFpbGFibGUiLCJ0b1N0cmluZyIsImluZGV4T2YiLCJmdW5jIiwidGVzdCIsIl9hcmdzIiwiX19oYXNTdXBlciIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7UUFjZ0JBLEksR0FBQUEsSTtRQUVBQyxRLEdBQUFBLFE7QUFoQmhCLE1BQU1DLG9CQUFvQixtQ0FBMUI7QUFDTyxNQUFNQyx3Q0FBZ0IsWUFBWTtBQUNyQyxRQUFJQyxrQkFBa0IsWUFBWTtBQUM5QixlQUFPLElBQVA7QUFDSCxLQUZxQixDQUVwQkMsUUFGb0IsR0FFVEMsT0FGUyxDQUVELGFBRkMsSUFFZ0IsQ0FBQyxDQUZ2QztBQUdBLFFBQUlGLGVBQUosRUFBcUI7QUFDakIsZUFBTyxTQUFTRCxhQUFULENBQXVCSSxJQUF2QixFQUE2QjtBQUNoQyxtQkFBT0wsa0JBQWtCTSxJQUFsQixDQUF1QkQsS0FBS0YsUUFBTCxFQUF2QixDQUFQO0FBQ0gsU0FGRDtBQUdIO0FBQ0QsV0FBTyxTQUFTRixhQUFULEdBQXlCO0FBQzVCLGVBQU8sSUFBUDtBQUNILEtBRkQ7QUFHSCxDQVo0QixFQUF0QjtBQWFBLFNBQVNILElBQVQsQ0FBYyxHQUFHUyxLQUFqQixFQUF3QixDQUFFO0FBQ2pDVCxLQUFLVSxVQUFMLEdBQWtCLEtBQWxCO0FBQ08sU0FBU1QsUUFBVCxDQUFrQk0sSUFBbEIsRUFBd0I7QUFDM0IsUUFBSUEsS0FBSyxZQUFMLE1BQXVCSSxTQUEzQixFQUFzQztBQUNsQ0osYUFBSyxZQUFMLElBQXFCSixjQUFjSSxJQUFkLENBQXJCO0FBQ0g7QUFDRCxXQUFPQSxLQUFLLFlBQUwsQ0FBUDtBQUNIIiwiZmlsZSI6ImxpYi91dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEhBU19TVVBFUl9QQVRURVJOID0gL1xcLihfc3VwZXJ8Y2FsbFxcKHRoaXN8YXBwbHlcXCh0aGlzKS87XG5leHBvcnQgY29uc3QgY2hlY2tIYXNTdXBlciA9IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgc291cmNlQXZhaWxhYmxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LnRvU3RyaW5nKCkuaW5kZXhPZigncmV0dXJuIHRoaXMnKSA+IC0xO1xuICAgIGlmIChzb3VyY2VBdmFpbGFibGUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNoZWNrSGFzU3VwZXIoZnVuYykge1xuICAgICAgICAgICAgcmV0dXJuIEhBU19TVVBFUl9QQVRURVJOLnRlc3QoZnVuYy50b1N0cmluZygpKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNoZWNrSGFzU3VwZXIoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG59KCk7XG5leHBvcnQgZnVuY3Rpb24gUk9PVCguLi5fYXJncykge31cblJPT1QuX19oYXNTdXBlciA9IGZhbHNlO1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1N1cGVyKGZ1bmMpIHtcbiAgICBpZiAoZnVuY1snX19oYXNTdXBlciddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZnVuY1snX19oYXNTdXBlciddID0gY2hlY2tIYXNTdXBlcihmdW5jKTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmNbJ19faGFzU3VwZXInXTtcbn0iXX0=