@zuzuche/sentry-miniapp
Version:
用于小程序/小游戏平台的 Sentry SDK
40 lines • 1.39 kB
JavaScript
var originalFunctionToString;
/**
* 本集成只是将官方的functionToString的实现
* 从直接赋值改成defineProperty
* 因为微信小程序不允许直接赋值给全局变量
* @see https://github.com/getsentry/sentry-javascript/blob/5.15.4/packages/core/src/integrations/functiontostring.ts
*/
/** Patch toString calls to return proper name for wrapped functions */
var FunctionToString = /** @class */ (function () {
function FunctionToString() {
/**
* @inheritDoc
*/
this.name = FunctionToString.id;
}
/**
* @inheritDoc
*/
FunctionToString.prototype.setupOnce = function () {
originalFunctionToString = Function.prototype.toString;
Object.defineProperty(Function.prototype, 'toString', {
value: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var context = this.__sentry_original__ || this;
// tslint:disable-next-line:no-unsafe-any
return originalFunctionToString.apply(context, args);
}
});
};
/**
* @inheritDoc
*/
FunctionToString.id = 'FunctionToString';
return FunctionToString;
}());
export { FunctionToString };
//# sourceMappingURL=functionToString.js.map