diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..0b5fa48d --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,34 @@ +module.exports = { + "env": { + "browser": true, + "es6": true, + "mocha": true, + "node": true + }, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + ], + "globals": { + "Atomics": "readonly", + "SharedArrayBuffer": "readonly" + }, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 2018, + "sourceType": "module" + }, + "plugins": [ + "@typescript-eslint" + ], + "ignorePatterns": [ + "node_modules", + "dist" + ], + "rules": { + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-inferrable-types": "off" + } +}; diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..3357fd36 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + "recommendations": [ + "dbaeumer.vscode-eslint", + "hbenl.vscode-mocha-test-adapter", + "hbenl.vscode-test-explorer", + "juancasanova.awesometypescriptproblemmatcher", + "ryanluker.vscode-coverage-gutters", + "streetsidesoftware.code-spell-checker" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json index 880965fd..bd654c40 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,20 +1,27 @@ { - "version": "0.1.0", + "version": "0.2.0", "configurations": [ { "name": "Test", "request": "launch", - "type": "node", + "type": "pwa-node", "program": "${workspaceRoot}/node_modules/.bin/_mocha", "args": [ - "${workspaceRoot}/dist/temp/exceptionless-spec.js" + "--colors", + "-u", "tdd", + "--timeout", "999999", + "${workspaceFolder}/src/**/*-spec.ts" ], "runtimeArgs": [ - "--nolazy" + "--require", + "ts-node/register" ], - "sourceMaps": false, - "cwd": "${workspaceRoot}", - "outDir": "${workspaceRoot}/dist" + "internalConsoleOptions": "openOnSessionStart", + "sourceMaps": true, + "resolveSourceMapLocations": [ + "${workspaceFolder}/**", + "!**/node_modules/**" + ] }, { "name": "Express", @@ -26,7 +33,6 @@ ], "sourceMaps": true, "cwd": "${workspaceRoot}", - "outDir": "${workspaceRoot}/dist" }, { "name": "Attach", @@ -34,7 +40,6 @@ "type": "node", "port": 5858, "sourceMaps": true, - "outDir": "${workspaceRoot}/dist/" } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 6353a068..1bbb7e58 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,8 +3,12 @@ "files.insertFinalNewline": true, "typescript.tsdk": "./node_modules/typescript/lib", "cSpell.words": [ + "bootstrapcdn", + "configversion", + "maxcdn", "systemjs", "tracekit", + "tsfmt", "tsproject" ] -} \ No newline at end of file +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json index ca185b63..eda8f078 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -61,4 +61,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dist/exceptionless.d.ts b/dist/exceptionless.d.ts index b73f21a9..39d7accc 100644 --- a/dist/exceptionless.d.ts +++ b/dist/exceptionless.d.ts @@ -20,7 +20,7 @@ export declare class ConsoleLog implements ILog { info(message: string): void; warn(message: string): void; error(message: string): void; - private log(level, message); + private log; } export declare class NullLog implements ILog { trace(message: string): void; @@ -52,7 +52,7 @@ export declare class EventPluginContext { event: IEvent; contextData: ContextData; constructor(client: ExceptionlessClient, event: IEvent, contextData?: ContextData); - readonly log: ILog; + get log(): ILog; } export declare class EventPluginManager { static run(context: EventPluginContext, callback: (context?: EventPluginContext) => void): void; @@ -75,13 +75,13 @@ export declare class DefaultEventQueue implements IEventQueue { process(isAppExiting?: boolean): void; suspendProcessing(durationInMinutes?: number, discardFutureQueuedItems?: boolean, clearQueue?: boolean): void; onEventsPosted(handler: (events: IEvent[], response: SubmissionResponse) => void): void; - private eventsPosted(events, response); - private areQueuedItemsDiscarded(); - private ensureQueueTimer(); - private isQueueProcessingSuspended(); - private onProcessQueue(); - private processSubmissionResponse(response, events); - private removeEvents(events); + private eventsPosted; + private areQueuedItemsDiscarded; + private ensureQueueTimer; + private isQueueProcessingSuspended; + private onProcessQueue; + private processSubmissionResponse; + private removeEvents; } export interface IEventQueue { enqueue(event: IEvent): void; @@ -96,7 +96,7 @@ export interface IErrorParser { parse(context: EventPluginContext, exception: Error): IError; } export interface IModuleCollector { - getModules(context: EventPluginContext): IModule[]; + getModules(): IModule[]; } export interface IRequestInfoCollector { getRequestInfo(context: EventPluginContext): IRequestInfo; @@ -116,8 +116,8 @@ export declare class DefaultSubmissionClient implements ISubmissionClient { postUserDescription(referenceId: string, description: IUserDescription, config: Configuration, callback: (response: SubmissionResponse) => void): void; getSettings(config: Configuration, version: number, callback: (response: SettingsResponse) => void): void; sendHeartbeat(sessionIdOrUserId: string, closeSession: boolean, config: Configuration): void; - private createRequest(config, method, url, data?); - private createSubmissionCallback(config, callback); + private createRequest; + private createSubmissionCallback; } export interface ISubmissionAdapter { sendRequest(request: SubmissionRequest, callback?: SubmissionCallback, isAppExiting?: boolean): void; @@ -131,14 +131,14 @@ export interface ISubmissionClient { export declare class Utils { static addRange(target: T[], ...values: T[]): T[]; static getHashCode(source: string): number; - static getCookies(cookies: string, exclusions?: string[]): object; + static getCookies(cookies: string, exclusions?: string[]): Record; static guid(): string; - static merge(defaultValues: Object, values: Object): object; + static merge(defaultValues: T, values: T): T; static parseVersion(source: string): string; - static parseQueryString(query: string, exclusions?: string[]): object; + static parseQueryString(query: string, exclusions?: string[]): Record; static randomNumber(): number; static isMatch(input: string, patterns: string[], ignoreCase?: boolean): boolean; - static isEmpty(input: object): boolean; + static isEmpty(input: Record): boolean; static startsWith(input: string, prefix: string): boolean; static endsWith(input: string, suffix: string): boolean; static stringify(data: any, exclusions?: string[], maxDepth?: number): string; @@ -171,8 +171,8 @@ export declare class SettingsManager { static getVersion(config: Configuration): number; static checkVersion(version: number, config: Configuration): void; static updateSettings(config: Configuration, version?: number): void; - private static changed(config); - private static getSavedServerSettings(config); + private static changed; + private static getSavedServerSettings; } export interface IEvent { type?: string; @@ -228,15 +228,15 @@ export declare class ExceptionlessClient { submitEvent(event: IEvent, pluginContextData?: ContextData, callback?: (context: EventPluginContext) => void): void; updateUserEmailAndDescription(referenceId: string, email: string, description: string, callback?: (response: SubmissionResponse) => void): void; getLastReferenceId(): string; - private updateSettingsTimer(initialDelay?); - static readonly default: ExceptionlessClient; + private updateSettingsTimer; + static get default(): ExceptionlessClient; } export declare class ContextData { setException(exception: Error): void; - readonly hasException: boolean; + get hasException(): boolean; getException(): Error; markAsUnhandledError(): void; - readonly isUnhandledError: boolean; + get isUnhandledError(): boolean; setSubmissionMethod(method: string): void; getSubmissionMethod(): string; } @@ -325,7 +325,7 @@ export interface IStorage { remove(timestamp: number): void; clear(): void; } -export declare type SubmissionCallback = (status: number, message: string, data?: string, headers?: object) => void; +export declare type SubmissionCallback = (status: number, message: string, data?: string, headers?: any) => void; export interface SubmissionRequest { apiKey: string; userAgent: string; @@ -336,7 +336,7 @@ export interface SubmissionRequest { export declare class Configuration implements IConfigurationSettings { private static _defaultSettings; defaultTags: string[]; - defaultData: object; + defaultData: Record; enabled: boolean; environmentInfoCollector: IEnvironmentInfoCollector; errorParser: IErrorParser; @@ -347,7 +347,7 @@ export declare class Configuration implements IConfigurationSettings { submissionBatchSize: number; submissionAdapter: ISubmissionAdapter; submissionClient: ISubmissionClient; - settings: object; + settings: Record; storage: IStorageProvider; queue: IEventQueue; private _apiKey; @@ -367,24 +367,36 @@ export declare class Configuration implements IConfigurationSettings { private _plugins; private _handlers; constructor(configSettings?: IConfigurationSettings); - apiKey: string; - readonly isValid: boolean; - serverUrl: string; - configServerUrl: string; - heartbeatServerUrl: string; - updateSettingsWhenIdleInterval: number; - readonly dataExclusions: string[]; + get apiKey(): string; + set apiKey(value: string); + get isValid(): boolean; + get serverUrl(): string; + set serverUrl(value: string); + get configServerUrl(): string; + set configServerUrl(value: string); + get heartbeatServerUrl(): string; + set heartbeatServerUrl(value: string); + get updateSettingsWhenIdleInterval(): number; + set updateSettingsWhenIdleInterval(value: number); + get dataExclusions(): string[]; addDataExclusions(...exclusions: string[]): void; - includePrivateInformation: boolean; - includeUserName: boolean; - includeMachineName: boolean; - includeIpAddress: boolean; - includeCookies: boolean; - includePostData: boolean; - includeQueryString: boolean; - readonly userAgentBotPatterns: string[]; + get includePrivateInformation(): boolean; + set includePrivateInformation(value: boolean); + get includeUserName(): boolean; + set includeUserName(value: boolean); + get includeMachineName(): boolean; + set includeMachineName(value: boolean); + get includeIpAddress(): boolean; + set includeIpAddress(value: boolean); + get includeCookies(): boolean; + set includeCookies(value: boolean); + get includePostData(): boolean; + set includePostData(value: boolean); + get includeQueryString(): boolean; + set includeQueryString(value: boolean); + get userAgentBotPatterns(): string[]; addUserAgentBotPatterns(...userAgentBotPatterns: string[]): void; - readonly plugins: IEventPlugin[]; + get plugins(): IEventPlugin[]; addPlugin(plugin: IEventPlugin): void; addPlugin(name: string, priority: number, pluginAction: (context: EventPluginContext, next?: () => void) => void): void; removePlugin(plugin: IEventPlugin): void; @@ -392,14 +404,14 @@ export declare class Configuration implements IConfigurationSettings { setUserIdentity(userInfo: IUserInfo): void; setUserIdentity(identity: string): void; setUserIdentity(identity: string, name: string): void; - readonly userAgent: string; + get userAgent(): string; useSessions(sendHeartbeats?: boolean, heartbeatInterval?: number): void; useReferenceIds(): void; useLocalStorage(): void; useDebugLogger(): void; onChanged(handler: (config: Configuration) => void): void; - private changed(); - static readonly defaults: IConfigurationSettings; + private changed; + static get defaults(): IConfigurationSettings; } export interface IUserDescription { email_address?: string; @@ -430,15 +442,15 @@ export declare class EventBuilder { setUserIdentity(identity: string): EventBuilder; setUserIdentity(identity: string, name: string): EventBuilder; setUserDescription(emailAddress: string, description: string): EventBuilder; - setManualStackingInfo(signatureData: any, title?: string): this; + setManualStackingInfo(signatureData: any, title?: string): EventBuilder; setManualStackingKey(manualStackingKey: string, title?: string): EventBuilder; setValue(value: number): EventBuilder; addTags(...tags: string[]): EventBuilder; setProperty(name: string, value: any, maxDepth?: number, excludedPropertyNames?: string[]): EventBuilder; markAsCritical(critical: boolean): EventBuilder; - addRequestInfo(request: object): EventBuilder; + addRequestInfo(request: IRequestInfo): EventBuilder; submit(callback?: (context: EventPluginContext) => void): void; - private isValidIdentifier(value); + private isValidIdentifier; } export interface IManualStackingInfo { title?: string; @@ -473,6 +485,9 @@ export declare class EventExclusionPlugin implements IEventPlugin { priority: number; name: string; run(context: EventPluginContext, next?: () => void): void; + getLogLevel(level: string): number; + getMinLogLevel(configSettings: Record, source: any): number; + private getTypeAndSourceSetting; } export declare class ModuleInfoPlugin implements IEventPlugin { priority: number; @@ -500,15 +515,15 @@ export declare class InMemoryStorage implements IStorage { clear(): void; } export interface IClientConfiguration { - settings: object; + settings: Record; version: number; } export declare abstract class KeyValueStorageBase implements IStorage { private maxItems; private items; private lastTimestamp; - constructor(maxItems: any); - save(value: any, single?: boolean): number; + constructor(maxItems: number); + save(value: any): number; get(limit?: number): IStorageItem[]; remove(timestamp: number): void; clear(): void; @@ -518,9 +533,9 @@ export declare abstract class KeyValueStorageBase implements IStorage { protected abstract delete(key: string): any; protected abstract getKey(timestamp: number): string; protected abstract getTimestamp(key: string): number; - private ensureIndex(); - private safeDelete(key); - private createIndex(); + private ensureIndex; + private safeDelete; + private createIndex; } export declare class BrowserStorage extends KeyValueStorageBase { private prefix; @@ -537,7 +552,7 @@ export declare class DefaultErrorParser implements IErrorParser { parse(context: EventPluginContext, exception: Error): IError; } export declare class DefaultModuleCollector implements IModuleCollector { - getModules(context: EventPluginContext): IModule[]; + getModules(): IModule[]; } export declare class DefaultRequestInfoCollector implements IRequestInfoCollector { getRequestInfo(context: EventPluginContext): IRequestInfo; diff --git a/dist/exceptionless.js b/dist/exceptionless.js index 3a6f7e03..e45bcdf4 100644 --- a/dist/exceptionless.js +++ b/dist/exceptionless.js @@ -1291,16 +1291,27 @@ if (!exports) { var exports = {}; } "use strict"; var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); +exports.DefaultSubmissionAdapter = exports.BrowserStorageProvider = exports.DefaultRequestInfoCollector = exports.DefaultModuleCollector = exports.DefaultErrorParser = exports.BrowserStorage = exports.KeyValueStorageBase = exports.InMemoryStorage = exports.SubmissionMethodPlugin = exports.RequestInfoPlugin = exports.ModuleInfoPlugin = exports.EventExclusionPlugin = exports.ErrorPlugin = exports.EnvironmentInfoPlugin = exports.DuplicateCheckerPlugin = exports.ConfigurationDefaultsPlugin = exports.EventBuilder = exports.SettingsResponse = exports.Configuration = exports.ContextData = exports.ExceptionlessClient = exports.SubmissionResponse = exports.SettingsManager = exports.Utils = exports.DefaultSubmissionClient = exports.InMemoryStorageProvider = exports.DefaultEventQueue = exports.EventPluginManager = exports.EventPluginContext = exports.ReferenceIdPlugin = exports.HeartbeatPlugin = exports.NullLog = exports.ConsoleLog = exports.DefaultLastReferenceIdManager = void 0; var DefaultLastReferenceIdManager = (function () { function DefaultLastReferenceIdManager() { this._lastReferenceId = null; @@ -1390,6 +1401,7 @@ var ReferenceIdPlugin = (function () { exports.ReferenceIdPlugin = ReferenceIdPlugin; var EventPluginContext = (function () { function EventPluginContext(client, event, contextData) { + this.cancelled = false; this.client = client; this.event = event; this.contextData = contextData ? contextData : new ContextData(); @@ -1398,7 +1410,7 @@ var EventPluginContext = (function () { get: function () { return this.client.config.log; }, - enumerable: true, + enumerable: false, configurable: true }); return EventPluginContext; @@ -1419,18 +1431,18 @@ var EventPluginManager = (function () { context.cancelled = true; context.log.error("Error running plugin '" + plugin.name + "': " + ex.message + ". Discarding Event."); } - if (context.cancelled && !!callback) { + if (context.cancelled && callback) { callback(context); } }; }; var plugins = context.client.config.plugins; var wrappedPlugins = []; - if (!!callback) { + if (callback) { wrappedPlugins[plugins.length] = wrap({ name: 'cb', priority: 9007199254740992, run: callback }, null); } for (var index = plugins.length - 1; index > -1; index--) { - wrappedPlugins[index] = wrap(plugins[index], !!callback || (index < plugins.length - 1) ? wrappedPlugins[index + 1] : null); + wrappedPlugins[index] = wrap(plugins[index], callback || (index < plugins.length - 1) ? wrappedPlugins[index + 1] : null); } wrappedPlugins[0](); }; @@ -1471,7 +1483,7 @@ var DefaultEventQueue = (function () { } this.ensureQueueTimer(); var timestamp = config.storage.queue.save(event); - var logText = "type=" + event.type + " " + (!!event.reference_id ? 'refid=' + event.reference_id : ''); + var logText = "type=" + event.type + " " + (event.reference_id ? 'refid=' + event.reference_id : ''); if (timestamp) { log.info("Enqueuing event: " + timestamp + " " + logText); } @@ -1533,7 +1545,7 @@ var DefaultEventQueue = (function () { } }; DefaultEventQueue.prototype.onEventsPosted = function (handler) { - !!handler && this._handlers.push(handler); + handler && this._handlers.push(handler); }; DefaultEventQueue.prototype.eventsPosted = function (events, response) { var handlers = this._handlers; @@ -1648,7 +1660,7 @@ var DefaultSubmissionClient = (function () { }; DefaultSubmissionClient.prototype.getSettings = function (config, version, callback) { var request = this.createRequest(config, 'GET', config.configServerUrl + "/api/v2/projects/config?v=" + version); - var cb = function (status, message, data, headers) { + var cb = function (status, message, data) { if (status !== 200) { return callback(new SettingsResponse(false, null, -1, null, message)); } @@ -1766,7 +1778,7 @@ var Utils = (function () { if (!source) { return null; } - var versionRegex = /(v?((\d+)\.(\d+)(\.(\d+))?)(?:-([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?(?:\+([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?)/; + var versionRegex = /(v?((\d+)\.(\d+)(\.(\d+))?)(?:-([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?)/; var matches = versionRegex.exec(source); if (matches && matches.length > 0) { return matches[0]; @@ -1796,7 +1808,7 @@ var Utils = (function () { }; Utils.isMatch = function (input, patterns, ignoreCase) { if (ignoreCase === void 0) { ignoreCase = true; } - if (!input || typeof input !== 'string') { + if (typeof input !== 'string') { return false; } var trim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; @@ -1805,8 +1817,16 @@ var Utils = (function () { if (typeof pattern !== 'string') { return false; } - pattern = (ignoreCase ? pattern.toLowerCase() : pattern).replace(trim, ''); - if (pattern.length <= 0) { + if (pattern) { + pattern = (ignoreCase ? pattern.toLowerCase() : pattern).replace(trim, ''); + } + if (!pattern) { + return input === undefined || input === null; + } + if (pattern === '*') { + return true; + } + if (input === undefined || input === null) { return false; } var startsWithWildcard = pattern[0] === '*'; @@ -1845,7 +1865,7 @@ var Utils = (function () { if (Utils.isMatch(key, excludedKeys)) { return; } - if (typeof value === 'object' && !!value) { + if (typeof value === 'object' && value) { if (cache.indexOf(value) !== -1) { return; } @@ -1900,7 +1920,7 @@ var SettingsManager = (function () { function SettingsManager() { } SettingsManager.onChanged = function (handler) { - !!handler && this._handlers.push(handler); + handler && this._handlers.push(handler); }; SettingsManager.applySavedServerSettings = function (config) { if (!config || !config.isValid) { @@ -1987,10 +2007,10 @@ var SettingsManager = (function () { } return { version: 0, settings: {} }; }; + SettingsManager._isUpdatingSettings = false; + SettingsManager._handlers = []; return SettingsManager; }()); -SettingsManager._isUpdatingSettings = false; -SettingsManager._handlers = []; exports.SettingsManager = SettingsManager; var SubmissionResponse = (function () { function SubmissionResponse(statusCode, message) { @@ -2021,8 +2041,8 @@ var ExceptionlessClient = (function () { ? new Configuration(settingsOrApiKey) : new Configuration({ apiKey: settingsOrApiKey, serverUrl: serverUrl }); this.updateSettingsTimer(5000); - this.config.onChanged(function (config) { return _this.updateSettingsTimer(_this._timeoutId > 0 ? 5000 : 0); }); - this.config.queue.onEventsPosted(function (events, response) { return _this.updateSettingsTimer(); }); + this.config.onChanged(function () { return _this.updateSettingsTimer(_this._timeoutId > 0 ? 5000 : 0); }); + this.config.queue.onEventsPosted(function () { return _this.updateSettingsTimer(); }); } ExceptionlessClient.prototype.createException = function (exception) { var pluginContextData = new ContextData(); @@ -2083,13 +2103,13 @@ var ExceptionlessClient = (function () { this.createSessionStart().submit(callback); }; ExceptionlessClient.prototype.submitSessionEnd = function (sessionIdOrUserId) { - if (sessionIdOrUserId) { + if (sessionIdOrUserId && this.config.enabled && this.config.isValid) { this.config.log.info("Submitting session end: " + sessionIdOrUserId); this.config.submissionClient.sendHeartbeat(sessionIdOrUserId, true, this.config); } }; ExceptionlessClient.prototype.submitSessionHeartbeat = function (sessionIdOrUserId) { - if (sessionIdOrUserId) { + if (sessionIdOrUserId && this.config.enabled && this.config.isValid) { this.config.log.info("Submitting session heartbeat: " + sessionIdOrUserId); this.config.submissionClient.sendHeartbeat(sessionIdOrUserId, false, this.config); } @@ -2099,16 +2119,16 @@ var ExceptionlessClient = (function () { }; ExceptionlessClient.prototype.submitEvent = function (event, pluginContextData, callback) { function cancelled(eventPluginContext) { - if (!!eventPluginContext) { + if (eventPluginContext) { eventPluginContext.cancelled = true; } - return !!callback && callback(eventPluginContext); + return callback && callback(eventPluginContext); } var context = new EventPluginContext(this, event, pluginContextData); if (!event) { return cancelled(context); } - if (!this.config.enabled) { + if (!this.config.enabled || !this.config.isValid) { this.config.log.info('Event submission is currently disabled.'); return cancelled(context); } @@ -2134,20 +2154,20 @@ var ExceptionlessClient = (function () { config.lastReferenceIdManager.setLast(ev.reference_id); } } - !!callback && callback(ctx); + callback && callback(ctx); }); }; ExceptionlessClient.prototype.updateUserEmailAndDescription = function (referenceId, email, description, callback) { var _this = this; - if (!referenceId || !email || !description || !this.config.enabled) { - return !!callback && callback(new SubmissionResponse(500, 'cancelled')); + if (!referenceId || !email || !description || !this.config.enabled || !this.config.isValid) { + return callback && callback(new SubmissionResponse(500, 'cancelled')); } var userDescription = { email_address: email, description: description }; this.config.submissionClient.postUserDescription(referenceId, userDescription, this.config, function (response) { if (!response.success) { _this.config.log.error("Failed to submit user email and description for event '" + referenceId + "': " + response.statusCode + " " + response.message); } - !!callback && callback(response); + callback && callback(response); }); }; ExceptionlessClient.prototype.getLastReferenceId = function () { @@ -2155,17 +2175,20 @@ var ExceptionlessClient = (function () { }; ExceptionlessClient.prototype.updateSettingsTimer = function (initialDelay) { var _this = this; - this.config.log.info("Updating settings timer with delay: " + initialDelay); this._timeoutId = clearTimeout(this._timeoutId); this._timeoutId = clearInterval(this._intervalId); var interval = this.config.updateSettingsWhenIdleInterval; if (interval > 0) { + this.config.log.info("Update settings every " + interval + "ms (" + initialDelay + "ms delay)"); var updateSettings = function () { return SettingsManager.updateSettings(_this.config); }; if (initialDelay > 0) { this._timeoutId = setTimeout(updateSettings, initialDelay); } this._intervalId = setInterval(updateSettings, interval); } + else { + this.config.log.info("Turning off update settings"); + } }; Object.defineProperty(ExceptionlessClient, "default", { get: function () { @@ -2174,12 +2197,12 @@ var ExceptionlessClient = (function () { } return ExceptionlessClient._instance; }, - enumerable: true, + enumerable: false, configurable: true }); + ExceptionlessClient._instance = null; return ExceptionlessClient; }()); -ExceptionlessClient._instance = null; exports.ExceptionlessClient = ExceptionlessClient; var ContextData = (function () { function ContextData() { @@ -2193,7 +2216,7 @@ var ContextData = (function () { get: function () { return !!this['@@_Exception']; }, - enumerable: true, + enumerable: false, configurable: true }); ContextData.prototype.getException = function () { @@ -2206,7 +2229,7 @@ var ContextData = (function () { get: function () { return !!this['@@_IsUnhandledError']; }, - enumerable: true, + enumerable: false, configurable: true }); ContextData.prototype.setSubmissionMethod = function (method) { @@ -2268,14 +2291,14 @@ var Configuration = (function () { this.log.info("apiKey: " + this._apiKey); this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "isValid", { get: function () { - return !!this.apiKey && this.apiKey.length >= 10; + return this.apiKey && this.apiKey.length >= 10; }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "serverUrl", { @@ -2283,7 +2306,7 @@ var Configuration = (function () { return this._serverUrl; }, set: function (value) { - if (!!value) { + if (value) { this._serverUrl = value; this._configServerUrl = value; this._heartbeatServerUrl = value; @@ -2291,7 +2314,7 @@ var Configuration = (function () { this.changed(); } }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "configServerUrl", { @@ -2299,13 +2322,13 @@ var Configuration = (function () { return this._configServerUrl; }, set: function (value) { - if (!!value) { + if (value) { this._configServerUrl = value; this.log.info("configServerUrl: " + value); this.changed(); } }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "heartbeatServerUrl", { @@ -2313,13 +2336,13 @@ var Configuration = (function () { return this._heartbeatServerUrl; }, set: function (value) { - if (!!value) { + if (value) { this._heartbeatServerUrl = value; this.log.info("heartbeatServerUrl: " + value); this.changed(); } }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "updateSettingsWhenIdleInterval", { @@ -2340,7 +2363,7 @@ var Configuration = (function () { this.log.info("updateSettingsWhenIdleInterval: " + value); this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "dataExclusions", { @@ -2348,7 +2371,7 @@ var Configuration = (function () { var exclusions = this.settings['@@DataExclusions']; return this._dataExclusions.concat(exclusions && exclusions.split(',') || []); }, - enumerable: true, + enumerable: false, configurable: true }); Configuration.prototype.addDataExclusions = function () { @@ -2356,7 +2379,7 @@ var Configuration = (function () { for (var _i = 0; _i < arguments.length; _i++) { exclusions[_i] = arguments[_i]; } - this._dataExclusions = Utils.addRange.apply(Utils, [this._dataExclusions].concat(exclusions)); + this._dataExclusions = Utils.addRange.apply(Utils, __spreadArrays([this._dataExclusions], exclusions)); }; Object.defineProperty(Configuration.prototype, "includePrivateInformation", { get: function () { @@ -2374,7 +2397,7 @@ var Configuration = (function () { this.log.info("includePrivateInformation: " + val); this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "includeUserName", { @@ -2385,7 +2408,7 @@ var Configuration = (function () { this._includeUserName = value || false; this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "includeMachineName", { @@ -2396,7 +2419,7 @@ var Configuration = (function () { this._includeMachineName = value || false; this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "includeIpAddress", { @@ -2407,7 +2430,7 @@ var Configuration = (function () { this._includeIpAddress = value || false; this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "includeCookies", { @@ -2418,7 +2441,7 @@ var Configuration = (function () { this._includeCookies = value || false; this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "includePostData", { @@ -2429,7 +2452,7 @@ var Configuration = (function () { this._includePostData = value || false; this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "includeQueryString", { @@ -2440,7 +2463,7 @@ var Configuration = (function () { this._includeQueryString = value || false; this.changed(); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Configuration.prototype, "userAgentBotPatterns", { @@ -2448,7 +2471,7 @@ var Configuration = (function () { var patterns = this.settings['@@UserAgentBotPatterns']; return this._userAgentBotPatterns.concat(patterns && patterns.split(',') || []); }, - enumerable: true, + enumerable: false, configurable: true }); Configuration.prototype.addUserAgentBotPatterns = function () { @@ -2456,7 +2479,7 @@ var Configuration = (function () { for (var _i = 0; _i < arguments.length; _i++) { userAgentBotPatterns[_i] = arguments[_i]; } - this._userAgentBotPatterns = Utils.addRange.apply(Utils, [this._userAgentBotPatterns].concat(userAgentBotPatterns)); + this._userAgentBotPatterns = Utils.addRange.apply(Utils, __spreadArrays([this._userAgentBotPatterns], userAgentBotPatterns)); }; Object.defineProperty(Configuration.prototype, "plugins", { get: function () { @@ -2464,11 +2487,11 @@ var Configuration = (function () { return (p1.priority < p2.priority) ? -1 : (p1.priority > p2.priority) ? 1 : 0; }); }, - enumerable: true, + enumerable: false, configurable: true }); Configuration.prototype.addPlugin = function (pluginOrName, priority, pluginAction) { - var plugin = !!pluginAction ? { name: pluginOrName, priority: priority, run: pluginAction } : pluginOrName; + var plugin = pluginAction ? { name: pluginOrName, priority: priority, run: pluginAction } : pluginOrName; if (!plugin || !plugin.run) { this.log.error('Add plugin failed: Run method not defined'); return; @@ -2507,7 +2530,7 @@ var Configuration = (function () { } }; Configuration.prototype.setVersion = function (version) { - if (!!version) { + if (version) { this.defaultData['@version'] = version; } }; @@ -2527,7 +2550,7 @@ var Configuration = (function () { get: function () { return 'exceptionless-js/1.6.3'; }, - enumerable: true, + enumerable: false, configurable: true }); Configuration.prototype.useSessions = function (sendHeartbeats, heartbeatInterval) { @@ -2546,7 +2569,7 @@ var Configuration = (function () { this.log = new ConsoleLog(); }; Configuration.prototype.onChanged = function (handler) { - !!handler && this._handlers.push(handler); + handler && this._handlers.push(handler); }; Configuration.prototype.changed = function () { var handlers = this._handlers; @@ -2567,12 +2590,12 @@ var Configuration = (function () { } return Configuration._defaultSettings; }, - enumerable: true, + enumerable: false, configurable: true }); + Configuration._defaultSettings = null; return Configuration; }()); -Configuration._defaultSettings = null; exports.Configuration = Configuration; var SettingsResponse = (function () { function SettingsResponse(success, settings, settingsVersion, exception, message) { @@ -2598,13 +2621,13 @@ var EventBuilder = (function () { this.pluginContextData = pluginContextData || new ContextData(); } EventBuilder.prototype.setType = function (type) { - if (!!type) { + if (type) { this.target.type = type; } return this; }; EventBuilder.prototype.setSource = function (source) { - if (!!source) { + if (source) { this.target.source = source; } return this; @@ -2627,7 +2650,7 @@ var EventBuilder = (function () { return this; }; EventBuilder.prototype.setMessage = function (message) { - if (!!message) { + if (message) { this.target.message = message; } return this; @@ -2674,7 +2697,7 @@ var EventBuilder = (function () { return this; }; EventBuilder.prototype.setValue = function (value) { - if (!!value) { + if (value) { this.target.value = value; } return this; @@ -2684,7 +2707,7 @@ var EventBuilder = (function () { for (var _i = 0; _i < arguments.length; _i++) { tags[_i] = arguments[_i]; } - this.target.tags = Utils.addRange.apply(Utils, [this.target.tags].concat(tags)); + this.target.tags = Utils.addRange.apply(Utils, __spreadArrays([this.target.tags], tags)); return this; }; EventBuilder.prototype.setProperty = function (name, value, maxDepth, excludedPropertyNames) { @@ -2707,7 +2730,7 @@ var EventBuilder = (function () { return this; }; EventBuilder.prototype.addRequestInfo = function (request) { - if (!!request) { + if (request) { this.pluginContextData['@request'] = request; } return this; @@ -2746,13 +2769,13 @@ var ConfigurationDefaultsPlugin = (function () { var defaultTags = config.defaultTags || []; for (var _i = 0, defaultTags_1 = defaultTags; _i < defaultTags_1.length; _i++) { var tag = defaultTags_1[_i]; - if (!!tag && context.event.tags.indexOf(tag) < 0) { + if (tag && context.event.tags.indexOf(tag) < 0) { context.event.tags.push(tag); } } var defaultData = config.defaultData || {}; for (var key in defaultData) { - if (!!defaultData[key]) { + if (defaultData[key]) { var result = JSON.parse(Utils.stringify(defaultData[key], config.dataExclusions)); if (!Utils.isEmpty(result)) { context.event.data[key] = result; @@ -2766,9 +2789,9 @@ var ConfigurationDefaultsPlugin = (function () { exports.ConfigurationDefaultsPlugin = ConfigurationDefaultsPlugin; var DuplicateCheckerPlugin = (function () { function DuplicateCheckerPlugin(getCurrentTime, interval) { + var _this = this; if (getCurrentTime === void 0) { getCurrentTime = function () { return Date.now(); }; } if (interval === void 0) { interval = 30000; } - var _this = this; this.priority = 1010; this.name = 'DuplicateCheckerPlugin'; this._mergedEvents = []; @@ -2856,7 +2879,7 @@ var EnvironmentInfoPlugin = (function () { var collector = context.client.config.environmentInfoCollector; if (!context.event.data[ENVIRONMENT_KEY] && collector) { var environmentInfo = collector.getEnvironmentInfo(context); - if (!!environmentInfo) { + if (environmentInfo) { context.event.data[ENVIRONMENT_KEY] = environmentInfo; } } @@ -2891,7 +2914,7 @@ var ErrorPlugin = (function () { 'stacktrace' ]; var exception = context.contextData.getException(); - if (!!exception) { + if (exception) { context.event.type = 'error'; if (!context.event.data[ERROR_KEY]) { var config = context.client.config; @@ -2900,7 +2923,7 @@ var ErrorPlugin = (function () { throw new Error('No error parser was defined.'); } var result = parser.parse(context, exception); - if (!!result) { + if (result) { var additionalData = JSON.parse(Utils.stringify(exception, config.dataExclusions.concat(ignoredProperties))); if (!Utils.isEmpty(additionalData)) { if (!result.data) { @@ -2923,61 +2946,13 @@ var EventExclusionPlugin = (function () { this.name = 'EventExclusionPlugin'; } EventExclusionPlugin.prototype.run = function (context, next) { - function getLogLevel(level) { - switch ((level || '').toLowerCase().trim()) { - case 'trace': - case 'true': - case '1': - case 'yes': - return 0; - case 'debug': - return 1; - case 'info': - return 2; - case 'warn': - return 3; - case 'error': - return 4; - case 'fatal': - return 5; - case 'off': - case 'false': - case '0': - case 'no': - return 6; - default: - return -1; - } - } - function getMinLogLevel(configSettings, loggerName) { - if (loggerName === void 0) { loggerName = '*'; } - return getLogLevel(getTypeAndSourceSetting(configSettings, 'log', loggerName, 'Trace') + ''); - } - function getTypeAndSourceSetting(configSettings, type, source, defaultValue) { - if (configSettings === void 0) { configSettings = {}; } - if (!type) { - return defaultValue; - } - var isLog = type === 'log'; - var sourcePrefix = "@@" + type + ":"; - var value = configSettings[sourcePrefix + source]; - if (value) { - return !isLog ? Utils.toBoolean(value) : value; - } - for (var key in configSettings) { - if (Utils.startsWith(key.toLowerCase(), sourcePrefix.toLowerCase()) && Utils.isMatch(source, [key.substring(sourcePrefix.length)])) { - return !isLog ? Utils.toBoolean(configSettings[key]) : configSettings[key]; - } - } - return defaultValue; - } var ev = context.event; var log = context.log; var settings = context.client.config.settings; if (ev.type === 'log') { - var minLogLevel = getMinLogLevel(settings, ev.source); - var logLevel = getLogLevel(ev.data['@level']); - if (logLevel >= 0 && (logLevel > 5 || logLevel < minLogLevel)) { + var minLogLevel = this.getMinLogLevel(settings, ev.source); + var logLevel = this.getLogLevel(ev.data['@level']); + if (logLevel !== -1 && (logLevel === 6 || logLevel < minLogLevel)) { log.info('Cancelling log event due to minimum log level.'); context.cancelled = true; } @@ -2985,19 +2960,75 @@ var EventExclusionPlugin = (function () { else if (ev.type === 'error') { var error = ev.data['@error']; while (!context.cancelled && error) { - if (getTypeAndSourceSetting(settings, ev.type, error.type, true) === false) { + if (this.getTypeAndSourceSetting(settings, ev.type, error.type, true) === false) { log.info("Cancelling error from excluded exception type: " + error.type); context.cancelled = true; } error = error.inner; } } - else if (getTypeAndSourceSetting(settings, ev.type, ev.source, true) === false) { + else if (this.getTypeAndSourceSetting(settings, ev.type, ev.source, true) === false) { log.info("Cancelling event from excluded type: " + ev.type + " and source: " + ev.source); context.cancelled = true; } next && next(); }; + EventExclusionPlugin.prototype.getLogLevel = function (level) { + switch ((level || '').toLowerCase().trim()) { + case 'trace': + case 'true': + case '1': + case 'yes': + return 0; + case 'debug': + return 1; + case 'info': + return 2; + case 'warn': + return 3; + case 'error': + return 4; + case 'fatal': + return 5; + case 'off': + case 'false': + case '0': + case 'no': + return 6; + default: + return -1; + } + }; + EventExclusionPlugin.prototype.getMinLogLevel = function (configSettings, source) { + return this.getLogLevel(this.getTypeAndSourceSetting(configSettings, 'log', source, 'other') + ''); + }; + EventExclusionPlugin.prototype.getTypeAndSourceSetting = function (configSettings, type, source, defaultValue) { + if (configSettings === void 0) { configSettings = {}; } + if (!type) { + return defaultValue; + } + if (!source) { + source = ''; + } + var isLog = type === 'log'; + var sourcePrefix = "@@" + type + ":"; + var value = configSettings[sourcePrefix + source]; + if (value) { + return isLog ? value : Utils.toBoolean(value); + } + var sortedKeys = Object.keys(configSettings).sort(function (a, b) { return b.length - a.length || a.localeCompare(b); }); + for (var index in sortedKeys) { + var key = sortedKeys[index]; + if (!Utils.startsWith(key.toLowerCase(), sourcePrefix)) { + continue; + } + var cleanKey = key.substring(sourcePrefix.length); + if (Utils.isMatch(source, [cleanKey])) { + return isLog ? configSettings[key] : Utils.toBoolean(configSettings[key]); + } + } + return defaultValue; + }; return EventExclusionPlugin; }()); exports.EventExclusionPlugin = EventExclusionPlugin; @@ -3009,8 +3040,8 @@ var ModuleInfoPlugin = (function () { ModuleInfoPlugin.prototype.run = function (context, next) { var ERROR_KEY = '@error'; var collector = context.client.config.moduleCollector; - if (context.event.data[ERROR_KEY] && !context.event.data['@error'].modules && !!collector) { - var modules = collector.getModules(context); + if (context.event.data[ERROR_KEY] && !context.event.data['@error'].modules && collector) { + var modules = collector.getModules(); if (modules && modules.length > 0) { context.event.data[ERROR_KEY].modules = modules; } @@ -3029,9 +3060,9 @@ var RequestInfoPlugin = (function () { var REQUEST_KEY = '@request'; var config = context.client.config; var collector = config.requestInfoCollector; - if (!context.event.data[REQUEST_KEY] && !!collector) { + if (!context.event.data[REQUEST_KEY] && collector) { var requestInfo = collector.getRequestInfo(context); - if (!!requestInfo) { + if (requestInfo) { if (Utils.isMatch(requestInfo.user_agent, config.userAgentBotPatterns)) { context.log.info('Cancelling event as the request user agent matches a known bot pattern'); context.cancelled = true; @@ -3053,7 +3084,7 @@ var SubmissionMethodPlugin = (function () { } SubmissionMethodPlugin.prototype.run = function (context, next) { var submissionMethod = context.contextData.getSubmissionMethod(); - if (!!submissionMethod) { + if (submissionMethod) { context.event.data['@submission_method'] = submissionMethod; } next && next(); @@ -3103,7 +3134,7 @@ var KeyValueStorageBase = (function () { this.lastTimestamp = 0; this.maxItems = maxItems; } - KeyValueStorageBase.prototype.save = function (value, single) { + KeyValueStorageBase.prototype.save = function (value) { if (!value) { return null; } @@ -3160,7 +3191,7 @@ var KeyValueStorageBase = (function () { KeyValueStorageBase.prototype.ensureIndex = function () { if (!this.items) { this.items = this.createIndex(); - this.lastTimestamp = Math.max.apply(Math, [0].concat(this.items)) + 1; + this.lastTimestamp = Math.max.apply(Math, __spreadArrays([0], this.items)) + 1; } }; KeyValueStorageBase.prototype.safeDelete = function (key) { @@ -3280,7 +3311,7 @@ var DefaultErrorParser = (function () { return frames; } var TRACEKIT_STACK_TRACE_KEY = '@@_TraceKit.StackTrace'; - var stackTrace = !!context.contextData[TRACEKIT_STACK_TRACE_KEY] + var stackTrace = context.contextData[TRACEKIT_STACK_TRACE_KEY] ? context.contextData[TRACEKIT_STACK_TRACE_KEY] : TraceKit.computeStackTrace(exception, 25); if (!stackTrace) { @@ -3299,7 +3330,7 @@ exports.DefaultErrorParser = DefaultErrorParser; var DefaultModuleCollector = (function () { function DefaultModuleCollector() { } - DefaultModuleCollector.prototype.getModules = function (context) { + DefaultModuleCollector.prototype.getModules = function () { if (!document || !document.getElementsByTagName) { return null; } @@ -3314,7 +3345,7 @@ var DefaultModuleCollector = (function () { version: Utils.parseVersion(scripts[index].src) }); } - else if (!!scripts[index].innerHTML) { + else if (scripts[index].innerHTML) { modules.push({ module_id: index, name: 'Script Tag', @@ -3408,10 +3439,10 @@ var DefaultSubmissionAdapter = (function () { } else if (status < 200 || status > 299) { var responseBody = xhrRequest.responseBody; - if (!!responseBody && !!responseBody.message) { + if (responseBody && responseBody.message) { message = responseBody.message; } - else if (!!responseText && responseText.indexOf('message') !== -1) { + else if (responseText && responseText.indexOf('message') !== -1) { try { message = JSON.parse(responseText).message; } diff --git a/dist/exceptionless.js.map b/dist/exceptionless.js.map index 7c94ea5e..868ac988 100644 --- a/dist/exceptionless.js.map +++ b/dist/exceptionless.js.map @@ -1 +1 @@ -{"version":3,"sources":["tracekit.js","exceptionless.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"exceptionless.js","sourcesContent":["/**\n * https://github.com/csnover/TraceKit\n * @license MIT\n * @namespace TraceKit\n */\n(function(window, undefined) {\nif (!window) {\n return;\n}\n\nvar TraceKit = {};\nvar _oldTraceKit = window.TraceKit;\n\n// global reference to slice\nvar _slice = [].slice;\nvar UNKNOWN_FUNCTION = '?';\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;\n\n/**\n * A better form of hasOwnProperty
\n * Example: `_has(MainHostObject, property) === true/false`\n *\n * @param {Object} object to check property\n * @param {string} key to check\n * @return {Boolean} true if the object has the key and it is not inherited\n */\nfunction _has(object, key) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\n/**\n * Returns true if the parameter is undefined
\n * Example: `_isUndefined(val) === true/false`\n *\n * @param {*} what Value to check\n * @return {Boolean} true if undefined and false otherwise\n */\nfunction _isUndefined(what) {\n return typeof what === 'undefined';\n}\n\n/**\n * Export TraceKit out to another variable
\n * Example: `var TK = TraceKit.noConflict()`\n * @return {Object} The TraceKit object\n * @memberof TraceKit\n */\nTraceKit.noConflict = function noConflict() {\n window.TraceKit = _oldTraceKit;\n return TraceKit;\n};\n\n/**\n * Wrap any function in a TraceKit reporter
\n * Example: `func = TraceKit.wrap(func);`\n *\n * @param {Function} func Function to be wrapped\n * @return {Function} The wrapped func\n * @memberof TraceKit\n */\nTraceKit.wrap = function traceKitWrapper(func) {\n function wrapped() {\n try {\n return func.apply(this, arguments);\n } catch (e) {\n TraceKit.report(e);\n throw e;\n }\n }\n return wrapped;\n};\n\n/**\n * Cross-browser processing of unhandled exceptions\n *\n * Syntax:\n * ```js\n * TraceKit.report.subscribe(function(stackInfo) { ... })\n * TraceKit.report.unsubscribe(function(stackInfo) { ... })\n * TraceKit.report(exception)\n * try { ...code... } catch(ex) { TraceKit.report(ex); }\n * ```\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Requires TraceKit.computeStackTrace.\n *\n * Tries to catch all unhandled exceptions and report them to the\n * subscribed handlers. Please note that TraceKit.report will rethrow the\n * exception. This is REQUIRED in order to get a useful stack trace in IE.\n * If the exception does not reach the top of the browser, you will only\n * get a stack trace from the point where TraceKit.report was called.\n *\n * Handlers receive a TraceKit.StackTrace object as described in the\n * TraceKit.computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\nTraceKit.report = (function reportModuleWrapper() {\n var handlers = [],\n lastException = null,\n lastExceptionStack = null;\n\n /**\n * Add a crash handler.\n * @param {Function} handler\n * @memberof TraceKit.report\n */\n function subscribe(handler) {\n installGlobalHandler();\n handlers.push(handler);\n }\n\n /**\n * Remove a crash handler.\n * @param {Function} handler\n * @memberof TraceKit.report\n */\n function unsubscribe(handler) {\n for (var i = handlers.length - 1; i >= 0; --i) {\n if (handlers[i] === handler) {\n handlers.splice(i, 1);\n }\n }\n\n if (handlers.length === 0) {\n window.onerror = _oldOnerrorHandler;\n _onErrorHandlerInstalled = false;\n }\n }\n\n /**\n * Dispatch stack information to all handlers.\n * @param {TraceKit.StackTrace} stack\n * @param {boolean} isWindowError Is this a top-level window error?\n * @param {Error=} error The error that's being handled (if available, null otherwise)\n * @memberof TraceKit.report\n * @throws An exception if an error occurs while calling an handler.\n */\n function notifyHandlers(stack, isWindowError, error) {\n var exception = null;\n if (isWindowError && !TraceKit.collectWindowErrors) {\n return;\n }\n for (var i in handlers) {\n if (_has(handlers, i)) {\n try {\n handlers[i](stack, isWindowError, error);\n } catch (inner) {\n exception = inner;\n }\n }\n }\n\n if (exception) {\n throw exception;\n }\n }\n\n var _oldOnerrorHandler, _onErrorHandlerInstalled;\n\n /**\n * Ensures all global unhandled exceptions are recorded.\n * Supported by Gecko and IE.\n * @param {string} message Error message.\n * @param {string} url URL of script that generated the exception.\n * @param {(number|string)} lineNo The line number at which the error occurred.\n * @param {(number|string)=} columnNo The column number at which the error occurred.\n * @param {Error=} errorObj The actual Error object.\n * @memberof TraceKit.report\n */\n function traceKitWindowOnError(message, url, lineNo, columnNo, errorObj) {\n var stack = null;\n\n if (lastExceptionStack) {\n TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(lastExceptionStack, url, lineNo, message);\n \t processLastException();\n } else if (errorObj) {\n stack = TraceKit.computeStackTrace(errorObj);\n notifyHandlers(stack, true, errorObj);\n } else {\n var location = {\n 'url': url,\n 'line': lineNo,\n 'column': columnNo\n };\n\n var name;\n var msg = message; // must be new var or will modify original `arguments`\n if ({}.toString.call(message) === '[object String]') {\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n msg = groups[2];\n }\n }\n\n location.func = TraceKit.computeStackTrace.guessFunctionName(location.url, location.line);\n location.context = TraceKit.computeStackTrace.gatherContext(location.url, location.line);\n stack = {\n 'name': name,\n 'message': msg,\n 'mode': 'onerror',\n 'stack': [location]\n };\n\n notifyHandlers(stack, true, null);\n }\n\n if (_oldOnerrorHandler) {\n return _oldOnerrorHandler.apply(this, arguments);\n }\n\n return false;\n }\n\n /**\n * Install a global onerror handler\n * @memberof TraceKit.report\n */\n function installGlobalHandler() {\n if (_onErrorHandlerInstalled === true) {\n return;\n }\n\n _oldOnerrorHandler = window.onerror;\n window.onerror = traceKitWindowOnError;\n _onErrorHandlerInstalled = true;\n }\n\n /**\n * Process the most recent exception\n * @memberof TraceKit.report\n */\n function processLastException() {\n var _lastExceptionStack = lastExceptionStack,\n _lastException = lastException;\n lastExceptionStack = null;\n lastException = null;\n notifyHandlers(_lastExceptionStack, false, _lastException);\n }\n\n /**\n * Reports an unhandled Error to TraceKit.\n * @param {Error} ex\n * @memberof TraceKit.report\n * @throws An exception if an incomplete stack trace is detected (old IE browsers).\n */\n function report(ex) {\n if (lastExceptionStack) {\n if (lastException === ex) {\n return; // already caught by an inner catch block, ignore\n } else {\n processLastException();\n }\n }\n\n var stack = TraceKit.computeStackTrace(ex);\n lastExceptionStack = stack;\n lastException = ex;\n\n // If the stack trace is incomplete, wait for 2 seconds for\n // slow slow IE to see if onerror occurs or not before reporting\n // this exception; otherwise, we will end up with an incomplete\n // stack trace\n setTimeout(function () {\n if (lastException === ex) {\n processLastException();\n }\n }, (stack.incomplete ? 2000 : 0));\n\n throw ex; // re-throw to propagate to the top level (and cause window.onerror)\n }\n\n report.subscribe = subscribe;\n report.unsubscribe = unsubscribe;\n return report;\n}());\n\n/**\n * An object representing a single stack frame.\n * @typedef {Object} StackFrame\n * @property {string} url The JavaScript or HTML file URL.\n * @property {string} func The function name, or empty for anonymous functions (if guessing did not work).\n * @property {string[]?} args The arguments passed to the function, if known.\n * @property {number=} line The line number, if known.\n * @property {number=} column The column number, if known.\n * @property {string[]} context An array of source code lines; the middle element corresponds to the correct line#.\n * @memberof TraceKit\n */\n\n/**\n * An object representing a JavaScript stack trace.\n * @typedef {Object} StackTrace\n * @property {string} name The name of the thrown exception.\n * @property {string} message The exception error message.\n * @property {TraceKit.StackFrame[]} stack An array of stack frames.\n * @property {string} mode 'stack', 'stacktrace', 'multiline', 'callers', 'onerror', or 'failed' -- method used to collect the stack trace.\n * @memberof TraceKit\n */\n\n/**\n * TraceKit.computeStackTrace: cross-browser stack traces in JavaScript\n *\n * Syntax:\n * ```js\n * s = TraceKit.computeStackTrace.ofCaller([depth])\n * s = TraceKit.computeStackTrace(exception) // consider using TraceKit.report instead (see below)\n * ```\n *\n * Supports:\n * - Firefox: full stack trace with line numbers and unreliable column\n * number on top frame\n * - Opera 10: full stack trace with line and column numbers\n * - Opera 9-: full stack trace with line numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the topmost stacktrace element\n * only\n * - IE: no line numbers whatsoever\n *\n * Tries to guess names of anonymous functions by looking for assignments\n * in the source code. In IE and Safari, we have to guess source file names\n * by searching for function bodies inside all page scripts. This will not\n * work for scripts that are loaded cross-domain.\n * Here be dragons: some function names may be guessed incorrectly, and\n * duplicate functions may be mismatched.\n *\n * TraceKit.computeStackTrace should only be used for tracing purposes.\n * Logging of unhandled exceptions should be done with TraceKit.report,\n * which builds on top of TraceKit.computeStackTrace and provides better\n * IE support by utilizing the window.onerror event to retrieve information\n * about the top of the stack.\n *\n * Note: In IE and Safari, no stack trace is recorded on the Error object,\n * so computeStackTrace instead walks its *own* chain of callers.\n * This means that:\n * * in Safari, some methods may be missing from the stack trace;\n * * in IE, the topmost function in the stack trace will always be the\n * caller of computeStackTrace.\n *\n * This is okay for tracing (because you are likely to be calling\n * computeStackTrace from the function you want to be the topmost element\n * of the stack trace anyway), but not okay for logging unhandled\n * exceptions (because your catch block will likely be far away from the\n * inner function that actually caused the exception).\n *\n * Tracing example:\n * ```js\n * function trace(message) {\n * var stackInfo = TraceKit.computeStackTrace.ofCaller();\n * var data = message + \"\\n\";\n * for(var i in stackInfo.stack) {\n * var item = stackInfo.stack[i];\n * data += (item.func || '[anonymous]') + \"() in \" + item.url + \":\" + (item.line || '0') + \"\\n\";\n * }\n * if (window.console)\n * console.info(data);\n * else\n * alert(data);\n * }\n * ```\n * @memberof TraceKit\n * @namespace\n */\nTraceKit.computeStackTrace = (function computeStackTraceWrapper() {\n var debug = false,\n sourceCache = {};\n\n /**\n * Attempts to retrieve source code via XMLHttpRequest, which is used\n * to look up anonymous function names.\n * @param {string} url URL of source code.\n * @return {string} Source contents.\n * @memberof TraceKit.computeStackTrace\n */\n function loadSource(url) {\n if (!TraceKit.remoteFetching) { //Only attempt request if remoteFetching is on.\n return '';\n }\n try {\n var getXHR = function() {\n try {\n return new window.XMLHttpRequest();\n } catch (e) {\n // explicitly bubble up the exception if not found\n return new window.ActiveXObject('Microsoft.XMLHTTP');\n }\n };\n\n var request = getXHR();\n request.open('GET', url, false);\n request.send('');\n return request.responseText;\n } catch (e) {\n return '';\n }\n }\n\n /**\n * Retrieves source code from the source code cache.\n * @param {string} url URL of source code.\n * @return {Array.} Source contents.\n * @memberof TraceKit.computeStackTrace\n */\n function getSource(url) {\n if (typeof url !== 'string') {\n return [];\n }\n\n if (!_has(sourceCache, url)) {\n // URL needs to be able to fetched within the acceptable domain. Otherwise,\n // cross-domain errors will be triggered.\n /*\n Regex matches:\n 0 - Full Url\n 1 - Protocol\n 2 - Domain\n 3 - Port (Useful for internal applications)\n 4 - Path\n */\n var source = '';\n var domain = '';\n try { domain = window.document.domain; } catch (e) { }\n var match = /(.*)\\:\\/\\/([^:\\/]+)([:\\d]*)\\/{0,1}([\\s\\S]*)/.exec(url);\n if (match && match[2] === domain) {\n source = loadSource(url);\n }\n sourceCache[url] = source ? source.split('\\n') : [];\n }\n\n return sourceCache[url];\n }\n\n /**\n * Tries to use an externally loaded copy of source code to determine\n * the name of a function by looking at the name of the variable it was\n * assigned to, if any.\n * @param {string} url URL of source code.\n * @param {(string|number)} lineNo Line number in source code.\n * @return {string} The function name, if discoverable.\n * @memberof TraceKit.computeStackTrace\n */\n function guessFunctionName(url, lineNo) {\n var reFunctionArgNames = /function ([^(]*)\\(([^)]*)\\)/,\n reGuessFunction = /['\"]?([0-9A-Za-z$_]+)['\"]?\\s*[:=]\\s*(function|eval|new Function)/,\n line = '',\n maxLines = 10,\n source = getSource(url),\n m;\n\n if (!source.length) {\n return UNKNOWN_FUNCTION;\n }\n\n // Walk backwards from the first line in the function until we find the line which\n // matches the pattern above, which is the function definition\n for (var i = 0; i < maxLines; ++i) {\n line = source[lineNo - i] + line;\n\n if (!_isUndefined(line)) {\n if ((m = reGuessFunction.exec(line))) {\n return m[1];\n } else if ((m = reFunctionArgNames.exec(line))) {\n return m[1];\n }\n }\n }\n\n return UNKNOWN_FUNCTION;\n }\n\n /**\n * Retrieves the surrounding lines from where an exception occurred.\n * @param {string} url URL of source code.\n * @param {(string|number)} line Line number in source code to center around for context.\n * @return {?Array.} Lines of source code.\n * @memberof TraceKit.computeStackTrace\n */\n function gatherContext(url, line) {\n var source = getSource(url);\n\n if (!source.length) {\n return null;\n }\n\n var context = [],\n // linesBefore & linesAfter are inclusive with the offending line.\n // if linesOfContext is even, there will be one extra line\n // *before* the offending line.\n linesBefore = Math.floor(TraceKit.linesOfContext / 2),\n // Add one extra line if linesOfContext is odd\n linesAfter = linesBefore + (TraceKit.linesOfContext % 2),\n start = Math.max(0, line - linesBefore - 1),\n end = Math.min(source.length, line + linesAfter - 1);\n\n line -= 1; // convert to 0-based index\n\n for (var i = start; i < end; ++i) {\n if (!_isUndefined(source[i])) {\n context.push(source[i]);\n }\n }\n\n return context.length > 0 ? context : null;\n }\n\n /**\n * Escapes special characters, except for whitespace, in a string to be\n * used inside a regular expression as a string literal.\n * @param {string} text The string.\n * @return {string} The escaped string literal.\n * @memberof TraceKit.computeStackTrace\n */\n function escapeRegExp(text) {\n return text.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#]/g, '\\\\$&');\n }\n\n /**\n * Escapes special characters in a string to be used inside a regular\n * expression as a string literal. Also ensures that HTML entities will\n * be matched the same as their literal friends.\n * @param {string} body The string.\n * @return {string} The escaped string.\n * @memberof TraceKit.computeStackTrace\n */\n function escapeCodeAsRegExpForMatchingInsideHTML(body) {\n return escapeRegExp(body).replace('<', '(?:<|<)').replace('>', '(?:>|>)').replace('&', '(?:&|&)').replace('\"', '(?:\"|")').replace(/\\s+/g, '\\\\s+');\n }\n\n /**\n * Determines where a code fragment occurs in the source code.\n * @param {RegExp} re The function definition.\n * @param {Array.} urls A list of URLs to search.\n * @return {?Object.} An object containing\n * the url, line, and column number of the defined function.\n * @memberof TraceKit.computeStackTrace\n */\n function findSourceInUrls(re, urls) {\n var source, m;\n for (var i = 0, j = urls.length; i < j; ++i) {\n if ((source = getSource(urls[i])).length) {\n source = source.join('\\n');\n if ((m = re.exec(source))) {\n\n return {\n 'url': urls[i],\n 'line': source.substring(0, m.index).split('\\n').length,\n 'column': m.index - source.lastIndexOf('\\n', m.index) - 1\n };\n }\n }\n }\n\n return null;\n }\n\n /**\n * Determines at which column a code fragment occurs on a line of the\n * source code.\n * @param {string} fragment The code fragment.\n * @param {string} url The URL to search.\n * @param {(string|number)} line The line number to examine.\n * @return {?number} The column number.\n * @memberof TraceKit.computeStackTrace\n */\n function findSourceInLine(fragment, url, line) {\n var source = getSource(url),\n re = new RegExp('\\\\b' + escapeRegExp(fragment) + '\\\\b'),\n m;\n\n line -= 1;\n\n if (source && source.length > line && (m = re.exec(source[line]))) {\n return m.index;\n }\n\n return null;\n }\n\n /**\n * Determines where a function was defined within the source code.\n * @param {(Function|string)} func A function reference or serialized\n * function definition.\n * @return {?Object.} An object containing\n * the url, line, and column number of the defined function.\n * @memberof TraceKit.computeStackTrace\n */\n function findSourceByFunctionBody(func) {\n if (_isUndefined(window && window.document)) {\n return;\n }\n\n var urls = [window.location.href],\n scripts = window.document.getElementsByTagName('script'),\n body,\n code = '' + func,\n codeRE = /^function(?:\\s+([\\w$]+))?\\s*\\(([\\w\\s,]*)\\)\\s*\\{\\s*(\\S[\\s\\S]*\\S)\\s*\\}\\s*$/,\n eventRE = /^function on([\\w$]+)\\s*\\(event\\)\\s*\\{\\s*(\\S[\\s\\S]*\\S)\\s*\\}\\s*$/,\n re,\n parts,\n result;\n\n for (var i = 0; i < scripts.length; ++i) {\n var script = scripts[i];\n if (script.src) {\n urls.push(script.src);\n }\n }\n\n if (!(parts = codeRE.exec(code))) {\n re = new RegExp(escapeRegExp(code).replace(/\\s+/g, '\\\\s+'));\n }\n\n // not sure if this is really necessary, but I don’t have a test\n // corpus large enough to confirm that and it was in the original.\n else {\n var name = parts[1] ? '\\\\s+' + parts[1] : '',\n args = parts[2].split(',').join('\\\\s*,\\\\s*');\n\n body = escapeRegExp(parts[3]).replace(/;$/, ';?'); // semicolon is inserted if the function ends with a comment.replace(/\\s+/g, '\\\\s+');\n re = new RegExp('function' + name + '\\\\s*\\\\(\\\\s*' + args + '\\\\s*\\\\)\\\\s*{\\\\s*' + body + '\\\\s*}');\n }\n\n // look for a normal function definition\n if ((result = findSourceInUrls(re, urls))) {\n return result;\n }\n\n // look for an old-school event handler function\n if ((parts = eventRE.exec(code))) {\n var event = parts[1];\n body = escapeCodeAsRegExpForMatchingInsideHTML(parts[2]);\n\n // look for a function defined in HTML as an onXXX handler\n re = new RegExp('on' + event + '=[\\\\\\'\"]\\\\s*' + body + '\\\\s*[\\\\\\'\"]', 'i');\n\n if ((result = findSourceInUrls(re, urls[0]))) {\n return result;\n }\n\n // look for ???\n re = new RegExp(body);\n\n if ((result = findSourceInUrls(re, urls))) {\n return result;\n }\n }\n\n return null;\n }\n\n // Contents of Exception in various browsers.\n //\n // SAFARI:\n // ex.message = Can't find variable: qq\n // ex.line = 59\n // ex.sourceId = 580238192\n // ex.sourceURL = http://...\n // ex.expressionBeginOffset = 96\n // ex.expressionCaretOffset = 98\n // ex.expressionEndOffset = 98\n // ex.name = ReferenceError\n //\n // FIREFOX:\n // ex.message = qq is not defined\n // ex.fileName = http://...\n // ex.lineNumber = 59\n // ex.columnNumber = 69\n // ex.stack = ...stack trace... (see the example below)\n // ex.name = ReferenceError\n //\n // CHROME:\n // ex.message = qq is not defined\n // ex.name = ReferenceError\n // ex.type = not_defined\n // ex.arguments = ['aa']\n // ex.stack = ...stack trace...\n //\n // INTERNET EXPLORER:\n // ex.message = ...\n // ex.name = ReferenceError\n //\n // OPERA:\n // ex.message = ...message... (see the example below)\n // ex.name = ReferenceError\n // ex.opera#sourceloc = 11 (pretty much useless, duplicates the info in ex.message)\n // ex.stacktrace = n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'\n\n /**\n * Computes stack trace information from the stack property.\n * Chrome and Gecko use this property.\n * @param {Error} ex\n * @return {?TraceKit.StackTrace} Stack trace information.\n * @memberof TraceKit.computeStackTrace\n */\n function computeStackTraceFromStackProp(ex) {\n if (!ex.stack) {\n return null;\n }\n\n var chrome = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i,\n gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i,\n winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i,\n\n // Used to additionally parse URL/line/column from eval frames\n isEval,\n geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i,\n chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/,\n\n lines = ex.stack.split('\\n'),\n stack = [],\n submatch,\n parts,\n element,\n reference = /^(.*) is undefined$/.exec(ex.message);\n\n for (var i = 0, j = lines.length; i < j; ++i) {\n if ((parts = chrome.exec(lines[i]))) {\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n element = {\n 'url': !isNative ? parts[2] : null,\n 'func': parts[1] || UNKNOWN_FUNCTION,\n 'args': isNative ? [parts[2]] : [],\n 'line': parts[3] ? +parts[3] : null,\n 'column': parts[4] ? +parts[4] : null\n };\n } else if ( parts = winjs.exec(lines[i]) ) {\n element = {\n 'url': parts[2],\n 'func': parts[1] || UNKNOWN_FUNCTION,\n 'args': [],\n 'line': +parts[3],\n 'column': parts[4] ? +parts[4] : null\n };\n } else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n } else if (i === 0 && !parts[5] && !_isUndefined(ex.columnNumber)) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = ex.columnNumber + 1;\n }\n element = {\n 'url': parts[3],\n 'func': parts[1] || UNKNOWN_FUNCTION,\n 'args': parts[2] ? parts[2].split(',') : [],\n 'line': parts[4] ? +parts[4] : null,\n 'column': parts[5] ? +parts[5] : null\n };\n } else {\n continue;\n }\n\n if (!element.func && element.line) {\n element.func = guessFunctionName(element.url, element.line);\n }\n\n element.context = element.line ? gatherContext(element.url, element.line) : null;\n stack.push(element);\n }\n\n if (!stack.length) {\n return null;\n }\n\n if (stack[0] && stack[0].line && !stack[0].column && reference) {\n stack[0].column = findSourceInLine(reference[1], stack[0].url, stack[0].line);\n }\n\n return {\n 'mode': 'stack',\n 'name': ex.name,\n 'message': ex.message,\n 'stack': stack\n };\n }\n\n /**\n * Computes stack trace information from the stacktrace property.\n * Opera 10+ uses this property.\n * @param {Error} ex\n * @return {?TraceKit.StackTrace} Stack trace information.\n * @memberof TraceKit.computeStackTrace\n */\n function computeStackTraceFromStacktraceProp(ex) {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace;\n if (!stacktrace) {\n return;\n }\n\n var opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i,\n opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^\\)]+))\\((.*)\\))? in (.*):\\s*$/i,\n lines = stacktrace.split('\\n'),\n stack = [],\n parts;\n\n for (var line = 0; line < lines.length; line += 2) {\n var element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n 'url': parts[2],\n 'line': +parts[1],\n 'column': null,\n 'func': parts[3],\n 'args':[]\n };\n } else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n 'url': parts[6],\n 'line': +parts[1],\n 'column': +parts[2],\n 'func': parts[3] || parts[4],\n 'args': parts[5] ? parts[5].split(',') : []\n };\n }\n\n if (element) {\n if (!element.func && element.line) {\n element.func = guessFunctionName(element.url, element.line);\n }\n if (element.line) {\n try {\n element.context = gatherContext(element.url, element.line);\n } catch (exc) {}\n }\n\n if (!element.context) {\n element.context = [lines[line + 1]];\n }\n\n stack.push(element);\n }\n }\n\n if (!stack.length) {\n return null;\n }\n\n return {\n 'mode': 'stacktrace',\n 'name': ex.name,\n 'message': ex.message,\n 'stack': stack\n };\n }\n\n /**\n * NOT TESTED.\n * Computes stack trace information from an error message that includes\n * the stack trace.\n * Opera 9 and earlier use this method if the option to show stack\n * traces is turned on in opera:config.\n * @param {Error} ex\n * @return {?TraceKit.StackTrace} Stack information.\n * @memberof TraceKit.computeStackTrace\n */\n function computeStackTraceFromOperaMultiLineMessage(ex) {\n // TODO: Clean this function up\n // Opera includes a stack trace into the exception message. An example is:\n //\n // Statement on line 3: Undefined variable: undefinedFunc\n // Backtrace:\n // Line 3 of linked script file://localhost/Users/andreyvit/Projects/TraceKit/javascript-client/sample.js: In function zzz\n // undefinedFunc(a);\n // Line 7 of inline#1 script in file://localhost/Users/andreyvit/Projects/TraceKit/javascript-client/sample.html: In function yyy\n // zzz(x, y, z);\n // Line 3 of inline#1 script in file://localhost/Users/andreyvit/Projects/TraceKit/javascript-client/sample.html: In function xxx\n // yyy(a, a, a);\n // Line 1 of function script\n // try { xxx('hi'); return false; } catch(ex) { TraceKit.report(ex); }\n // ...\n\n var lines = ex.message.split('\\n');\n if (lines.length < 4) {\n return null;\n }\n\n var lineRE1 = /^\\s*Line (\\d+) of linked script ((?:file|https?|blob)\\S+)(?:: in function (\\S+))?\\s*$/i,\n lineRE2 = /^\\s*Line (\\d+) of inline#(\\d+) script in ((?:file|https?|blob)\\S+)(?:: in function (\\S+))?\\s*$/i,\n lineRE3 = /^\\s*Line (\\d+) of function script\\s*$/i,\n stack = [],\n scripts = (window && window.document && window.document.getElementsByTagName('script')),\n inlineScriptBlocks = [],\n parts;\n\n for (var s in scripts) {\n if (_has(scripts, s) && !scripts[s].src) {\n inlineScriptBlocks.push(scripts[s]);\n }\n }\n\n for (var line = 2; line < lines.length; line += 2) {\n var item = null;\n if ((parts = lineRE1.exec(lines[line]))) {\n item = {\n 'url': parts[2],\n 'func': parts[3],\n 'args': [],\n 'line': +parts[1],\n 'column': null\n };\n } else if ((parts = lineRE2.exec(lines[line]))) {\n item = {\n 'url': parts[3],\n 'func': parts[4],\n 'args': [],\n 'line': +parts[1],\n 'column': null // TODO: Check to see if inline#1 (+parts[2]) points to the script number or column number.\n };\n var relativeLine = (+parts[1]); // relative to the start of the - - - - -
-

Index

-
-
-
- - - - diff --git a/tslint.json b/tslint.json deleted file mode 100644 index 9be7eb2c..00000000 --- a/tslint.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "lintOptions": { - "typeCheck": true - }, - "extends": "tslint:latest", - "rules": { - "ban": [true, - ["describe", "only"], - ["it", "only"] - ], - - "callable-types": true, - "interface-name": [false], - "interface-over-type-literal": true, - "max-classes-per-file": [false], - "max-line-length": [true, 220], - "member-ordering": [true, - "public-before-private", - "static-before-instance", - "variables-before-functions" - ], - "no-angle-bracket-type-assertion": true, - "no-bitwise": false, - "no-console": false, - "no-default-export": true, - "no-empty": false, - "no-empty-interface": true, - "no-implicit-dependencies": false, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-unused-expression": false, - "object-literal-sort-keys": false, - "prefer-const": true, - "quotemark": [true, "single", "avoid-escape"], - "switch-default": false, - "trailing-comma": [true, { - "singleline": "never", - "multiline": "never" - }], - "unified-signatures": false, - "variable-name": [true, - "ban-keywords", - "check-format", - "allow-leading-underscore", - "allow-pascal-case" - ] - } -}