mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
* Adding the sorter function to the options. This function is called when append is called * Adding the showReportDialog function to RavenStatic.
205 lines
6.5 KiB
TypeScript
205 lines
6.5 KiB
TypeScript
// Type definitions for Raven.js
|
|
// Project: https://github.com/getsentry/raven-js
|
|
// Definitions by: Santi Albo <https://github.com/santialbo/>, Benjamin Pannell <http://github.com/spartan563>, Gary Blackwood <http://github.com/Garee>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
declare var Raven: RavenStatic;
|
|
|
|
declare module 'raven-js' {
|
|
export default Raven;
|
|
}
|
|
|
|
interface RavenOptions {
|
|
/** The name of the logger used by Sentry. Default: javascript */
|
|
logger?: string;
|
|
|
|
/** The release version of the application you are monitoring with Sentry */
|
|
release?: string;
|
|
|
|
/** The environment in which the application is running. */
|
|
environment?: string;
|
|
|
|
/** The name of the server or device that the client is running on */
|
|
serverName?: string;
|
|
|
|
/** List of messages to be fitlered out before being sent to Sentry. */
|
|
ignoreErrors?: string[];
|
|
|
|
/** Similar to ignoreErrors, but will ignore errors from whole urls patching a regex pattern. */
|
|
ignoreUrls?: RegExp[];
|
|
|
|
/** The inverse of ignoreUrls. Only report errors from whole urls matching a regex pattern. */
|
|
whitelistUrls?: RegExp[];
|
|
|
|
/** An array of regex patterns to indicate which urls are a part of your app. */
|
|
includePaths?: RegExp[];
|
|
|
|
/** Additional data to be tagged onto the error. */
|
|
tags?: {
|
|
[id: string]: string;
|
|
};
|
|
|
|
/** A function which allows mutation of the data payload right before being sent to Sentry */
|
|
dataCallback?: (data: any) => any;
|
|
|
|
/** A callback function that allows you to apply your own filters to determine if the message should be sent to Sentry. */
|
|
shouldSendCallback?: (data: any) => boolean;
|
|
|
|
/** By default, Raven does not truncate messages. If you need to truncate characters for whatever reason, you may set this to limit the length. */
|
|
maxMessageLength?: number;
|
|
|
|
/** Enables/disables automatic collection of breadcrumbs. Default: true. */
|
|
autoBreadcrumbs?: any;
|
|
|
|
/** The max number of breadcrumb captures. Default: 100. */
|
|
maxBreadcrumbs?: number;
|
|
|
|
/** Override the default HTTP data transport handler. */
|
|
transport?: (options: RavenTransportOptions) => void;
|
|
|
|
/** Allow the use of a Sentry DSN with a private key. Default: false. */
|
|
allowSecretKey?: boolean;
|
|
}
|
|
|
|
interface RavenStatic {
|
|
|
|
/** Raven.js version. */
|
|
VERSION: string;
|
|
|
|
Plugins: { [id: string]: RavenPlugin };
|
|
|
|
/*
|
|
* Allow Raven to be configured as soon as it is loaded
|
|
* It uses a global RavenConfig = {dsn: '...', config: {}}
|
|
*
|
|
* @return undefined
|
|
*/
|
|
afterLoad(): void;
|
|
|
|
/*
|
|
* Allow multiple versions of Raven to be installed.
|
|
* Strip Raven from the global context and returns the instance.
|
|
*
|
|
* @return {Raven}
|
|
*/
|
|
noConflict(): RavenStatic;
|
|
|
|
/*
|
|
* Configure Raven with a DSN and extra options
|
|
*
|
|
* @param {string} dsn The public Sentry DSN
|
|
* @param {object} options Optional set of of global options [optional]
|
|
* @return {Raven}
|
|
*/
|
|
config(dsn: string, options?: RavenOptions): RavenStatic;
|
|
|
|
/*
|
|
* Installs a global window.onerror error handler
|
|
* to capture and report uncaught exceptions.
|
|
* At this point, install() is required to be called due
|
|
* to the way TraceKit is set up.
|
|
*
|
|
* @return {Raven}
|
|
*/
|
|
install(): RavenStatic;
|
|
|
|
/*
|
|
* Adds a plugin to Raven
|
|
*
|
|
* @return {Raven}
|
|
*/
|
|
addPlugin(plugin: RavenPlugin, ...pluginArgs: any[]): RavenStatic;
|
|
|
|
/*
|
|
* Wrap code within a context so Raven can capture errors
|
|
* reliably across domains that is executed immediately.
|
|
*
|
|
* @param {object} options A specific set of options for this context [optional]
|
|
* @param {function} func The callback to be immediately executed within the context
|
|
* @param {array} args An array of arguments to be called with the callback [optional]
|
|
*/
|
|
context(func: Function, ...args: any[]): void;
|
|
context(options: RavenOptions, func: Function, ...args: any[]): void;
|
|
|
|
/*
|
|
* Wrap code within a context and returns back a new function to be executed
|
|
*
|
|
* @param {object} options A specific set of options for this context [optional]
|
|
* @param {function} func The function to be wrapped in a new context
|
|
* @return {function} The newly wrapped functions with a context
|
|
*/
|
|
wrap(func: Function): Function;
|
|
wrap(options: RavenOptions, func: Function): Function;
|
|
wrap<T extends Function>(func: T): T;
|
|
wrap<T extends Function>(options: RavenOptions, func: T): T;
|
|
|
|
/*
|
|
* Uninstalls the global error handler.
|
|
*
|
|
* @return {Raven}
|
|
*/
|
|
uninstall(): RavenStatic;
|
|
|
|
/*
|
|
* Manually capture an exception and send it over to Sentry
|
|
*
|
|
* @param {error} ex An exception to be logged
|
|
* @param {object} options A specific set of options for this error [optional]
|
|
* @return {Raven}
|
|
*/
|
|
captureException(ex: Error, options?: RavenOptions): RavenStatic;
|
|
|
|
/*
|
|
* Manually send a message to Sentry
|
|
*
|
|
* @param {string} msg A plain message to be captured in Sentry
|
|
* @param {object} options A specific set of options for this message [optional]
|
|
* @return {Raven}
|
|
*/
|
|
captureMessage(msg: string, options?: RavenOptions): RavenStatic;
|
|
|
|
/**
|
|
* Clear the user context, removing the user data that would be sent to Sentry.
|
|
*/
|
|
setUserContext(): RavenStatic;
|
|
|
|
/*
|
|
* Set a user to be sent along with the payload.
|
|
*
|
|
* @param {object} user An object representing user data [optional]
|
|
* @return {Raven}
|
|
*/
|
|
setUserContext(user: {
|
|
id?: string;
|
|
username?: string;
|
|
email?: string;
|
|
}): RavenStatic;
|
|
|
|
/** Override the default HTTP data transport handler. */
|
|
setTransport(transportFunction: (options: RavenTransportOptions) => void): RavenStatic;
|
|
|
|
/** An event id is a globally unique id for the event that was just sent. This event id can be used to find the exact event from within Sentry. */
|
|
lastEventId(): string;
|
|
|
|
/** If you need to conditionally check if raven needs to be initialized or not, you can use the isSetup function. It will return true if Raven is already initialized. */
|
|
isSetup(): boolean;
|
|
|
|
showReportDialog(options: RavenOptions): void;
|
|
}
|
|
|
|
interface RavenTransportOptions {
|
|
url: string;
|
|
data: any;
|
|
auth: {
|
|
sentry_version: string;
|
|
sentry_client: string;
|
|
sentry_key: string;
|
|
};
|
|
onSuccess: () => void;
|
|
onFailure: () => void;
|
|
}
|
|
|
|
interface RavenPlugin {
|
|
(raven: RavenStatic, ...args: any[]): RavenStatic;
|
|
}
|