ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
30 lines (29 loc) • 2.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ROOT = ROOT;
exports.hasSuper = hasSuper;
var HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
var checkHasSuper = exports.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;
};
}();
function ROOT() {}
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi91dGlscy5qcyJdLCJuYW1lcyI6WyJIQVNfU1VQRVJfUEFUVEVSTiIsImNoZWNrSGFzU3VwZXIiLCJzb3VyY2VBdmFpbGFibGUiLCJ0b1N0cmluZyIsImluZGV4T2YiLCJmdW5jIiwidGVzdCIsIlJPT1QiLCJfX2hhc1N1cGVyIiwiaGFzU3VwZXIiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7O1FBY08sQUFBUztRQUVULEFBQVM7QUFoQmhCLElBQU0sb0JBQU4sQUFBMEIsQUFDMUI7QUFBTyxJQUFNLG9EQUE0QixBQUNyQztRQUFJLDhCQUE4QixBQUM5QjtlQUFBLEFBQU8sQUFDVjtBQUZxQixLQUFBLENBQUEsQUFFcEIsV0FGb0IsQUFFVCxRQUZTLEFBRUQsaUJBQWlCLENBRnRDLEFBRXVDLEFBQ3ZDO1FBQUEsQUFBSSxpQkFBaUIsQUFDakI7ZUFBTyxTQUFBLEFBQVMsY0FBVCxBQUF1QixNQUFNLEFBQ2hDO21CQUFPLGtCQUFBLEFBQWtCLEtBQUssS0FBOUIsQUFBTyxBQUF1QixBQUFLLEFBQ3RDO0FBRkQsQUFHSDtBQUNEO1dBQU8sU0FBQSxBQUFTLGdCQUFnQixBQUM1QjtlQUFBLEFBQU8sQUFDVjtBQUZELEFBR0g7QUFaTSxBQUFzQixBQWE3QixDQWI2QjtBQWF0QixnQkFBd0IsQUFBRTtBQUNqQyxLQUFBLEFBQUssYUFBTCxBQUFrQixBQUNsQjtBQUFPLGtCQUFBLEFBQWtCLE1BQU0sQUFDM0I7UUFBSSxLQUFBLEFBQUssa0JBQVQsQUFBMkIsV0FBVyxBQUNsQzthQUFBLEFBQUssZ0JBQWdCLGNBQXJCLEFBQXFCLEFBQWMsQUFDdEM7QUFDRDtXQUFPLEtBQVAsQUFBTyxBQUFLLEFBQ2YiLCJmaWxlIjoibGliL3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgSEFTX1NVUEVSX1BBVFRFUk4gPSAvXFwuKF9zdXBlcnxjYWxsXFwodGhpc3xhcHBseVxcKHRoaXMpLztcbmV4cG9ydCBjb25zdCBjaGVja0hhc1N1cGVyID0gZnVuY3Rpb24gKCkge1xuICAgIGxldCBzb3VyY2VBdmFpbGFibGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH0udG9TdHJpbmcoKS5pbmRleE9mKCdyZXR1cm4gdGhpcycpID4gLTE7XG4gICAgaWYgKHNvdXJjZUF2YWlsYWJsZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gY2hlY2tIYXNTdXBlcihmdW5jKSB7XG4gICAgICAgICAgICByZXR1cm4gSEFTX1NVUEVSX1BBVFRFUk4udGVzdChmdW5jLnRvU3RyaW5nKCkpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gY2hlY2tIYXNTdXBlcigpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbn0oKTtcbmV4cG9ydCBmdW5jdGlvbiBST09UKC4uLl9hcmdzKSB7fVxuUk9PVC5fX2hhc1N1cGVyID0gZmFsc2U7XG5leHBvcnQgZnVuY3Rpb24gaGFzU3VwZXIoZnVuYykge1xuICAgIGlmIChmdW5jWydfX2hhc1N1cGVyJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmdW5jWydfX2hhc1N1cGVyJ10gPSBjaGVja0hhc1N1cGVyKGZ1bmMpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY1snX19oYXNTdXBlciddO1xufSJdfQ==