Skip to content

Commit dd3aa70

Browse files
committed
fix(types): use SeverityLevel
1 parent b8dc945 commit dd3aa70

File tree

11 files changed

+31
-57
lines changed

11 files changed

+31
-57
lines changed

packages/hub/src/scope.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
RequestSession,
1414
Scope as ScopeInterface,
1515
ScopeContext,
16-
Severity,
16+
SeverityLevel,
1717
Span,
1818
Transaction,
1919
User,
@@ -61,7 +61,7 @@ export class Scope implements ScopeInterface {
6161
protected _fingerprint?: string[];
6262

6363
/** Severity */
64-
protected _level?: Severity;
64+
protected _level?: SeverityLevel;
6565

6666
/** Transaction Name */
6767
protected _transactionName?: string;
@@ -202,7 +202,7 @@ export class Scope implements ScopeInterface {
202202
/**
203203
* @inheritDoc
204204
*/
205-
public setLevel(level: Severity): this {
205+
public setLevel(level: SeverityLevel): this {
206206
this._level = level;
207207
this._notifyScopeListeners();
208208
return this;

packages/minimal/src/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
Extra,
88
Extras,
99
Primitive,
10-
Severity,
10+
SeverityLevel,
1111
Transaction,
1212
TransactionContext,
1313
User,
@@ -53,10 +53,10 @@ export function captureException(exception: any, captureContext?: CaptureContext
5353
* Captures a message event and sends it to Sentry.
5454
*
5555
* @param message The message to send to Sentry.
56-
* @param level Define the level of the message.
56+
* @param SeverityLevel Define the level of the message.
5757
* @returns The generated eventId.
5858
*/
59-
export function captureMessage(message: string, captureContext?: CaptureContext | Severity): string {
59+
export function captureMessage(message: string, captureContext?: CaptureContext | SeverityLevel): string {
6060
let syntheticException: Error;
6161
try {
6262
throw new Error(message);

packages/node/src/backend.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BaseBackend, getCurrentHub } from '@sentry/core';
2-
import { Event, EventHint, Mechanism, Severity, Transport, TransportOptions } from '@sentry/types';
2+
import { Event, EventHint, Mechanism, SeverityLevel, Transport, TransportOptions } from '@sentry/types';
33
import {
44
addExceptionMechanism,
55
addExceptionTypeValue,
@@ -73,7 +73,7 @@ export class NodeBackend extends BaseBackend<NodeOptions> {
7373
/**
7474
* @inheritDoc
7575
*/
76-
public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike<Event> {
76+
public eventFromMessage(message: string, level: SeverityLevel = 'info', hint?: EventHint): PromiseLike<Event> {
7777
const event: Event = {
7878
event_id: hint && hint.event_id,
7979
level,

packages/node/src/integrations/console.ts

+1-18
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,7 @@ export class Console implements Integration {
3030
*/
3131
function createConsoleWrapper(level: string): (originalConsoleMethod: () => void) => void {
3232
return function consoleWrapper(originalConsoleMethod: () => void): () => void {
33-
let sentryLevel: Severity;
34-
35-
switch (level) {
36-
case 'debug':
37-
sentryLevel = Severity.Debug;
38-
break;
39-
case 'error':
40-
sentryLevel = Severity.Error;
41-
break;
42-
case 'info':
43-
sentryLevel = Severity.Info;
44-
break;
45-
case 'warn':
46-
sentryLevel = Severity.Warning;
47-
break;
48-
default:
49-
sentryLevel = Severity.Log;
50-
}
33+
const sentryLevel = Severity.fromString(level);
5134

5235
/* eslint-disable prefer-rest-params */
5336
return function(this: typeof console): void {

packages/node/src/integrations/onuncaughtexception.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getCurrentHub, Scope } from '@sentry/core';
2-
import { Integration, Severity } from '@sentry/types';
2+
import { Integration } from '@sentry/types';
33
import { logger } from '@sentry/utils';
44

55
import { NodeClient } from '../client';
@@ -77,7 +77,7 @@ export class OnUncaughtException implements Integration {
7777

7878
if (hub.getIntegration(OnUncaughtException)) {
7979
hub.withScope((scope: Scope) => {
80-
scope.setLevel(Severity.Fatal);
80+
scope.setLevel('fatal');
8181
hub.captureException(error, {
8282
originalException: error,
8383
data: { mechanism: { handled: false, type: 'onuncaughtexception' } },

packages/serverless/src/awslambda.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
flush,
77
getCurrentHub,
88
Scope,
9-
Severity,
109
startTransaction,
1110
withScope,
1211
} from '@sentry/node';
@@ -275,7 +274,7 @@ export function wrapHandler<TEvent, TResult>(
275274
timeoutWarningTimer = setTimeout(() => {
276275
withScope(scope => {
277276
scope.setTag('timeout', humanReadableTimeout);
278-
captureMessage(`Possible function timeout: ${context.functionName}`, Severity.Warning);
277+
captureMessage(`Possible function timeout: ${context.functionName}`, 'warning');
279278
});
280279
}, timeoutWarningDelay);
281280
}

packages/types/src/breadcrumb.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { Severity } from './severity';
1+
import { SeverityLevel } from './severity';
22

33
/** JSDoc */
44
export interface Breadcrumb {
55
type?: string;
6-
level?: Severity;
6+
level?: SeverityLevel;
77
event_id?: string;
88
category?: string;
99
message?: string;

packages/types/src/event.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Primitive } from './misc';
77
import { Request } from './request';
88
import { CaptureContext } from './scope';
99
import { SdkInfo } from './sdkinfo';
10-
import { Severity } from './severity';
10+
import { SeverityLevel } from './severity';
1111
import { Span } from './span';
1212
import { Stacktrace } from './stacktrace';
1313
import { Measurements } from './transaction';
@@ -19,7 +19,7 @@ export interface Event {
1919
message?: string;
2020
timestamp?: number;
2121
start_timestamp?: number;
22-
level?: Severity;
22+
level?: SeverityLevel;
2323
platform?: string;
2424
logger?: string;
2525
server_name?: string;

packages/types/src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export {
3131
RequestSessionStatus,
3232
SessionFlusherLike,
3333
} from './session';
34-
export { Severity } from './severity';
34+
export { Severity, SeverityLevel } from './severity';
3535
export { Span, SpanContext } from './span';
3636
export { StackFrame } from './stackframe';
3737
export { Stacktrace } from './stacktrace';

packages/types/src/scope.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { EventProcessor } from './eventprocessor';
44
import { Extra, Extras } from './extra';
55
import { Primitive } from './misc';
66
import { RequestSession, Session } from './session';
7-
import { Severity } from './severity';
7+
import { SeverityLevel } from './severity';
88
import { Span } from './span';
99
import { Transaction } from './transaction';
1010
import { User } from './user';
@@ -15,7 +15,7 @@ export type CaptureContext = Scope | Partial<ScopeContext> | ((scope: Scope) =>
1515
/** JSDocs */
1616
export interface ScopeContext {
1717
user: User;
18-
level: Severity;
18+
level: SeverityLevel;
1919
extra: Extras;
2020
contexts: Contexts;
2121
tags: { [key: string]: Primitive };
@@ -82,7 +82,7 @@ export interface Scope {
8282
* Sets the level on the scope for future events.
8383
* @param level string {@link Severity}
8484
*/
85-
setLevel(level: Severity): this;
85+
setLevel(level: SeverityLevel): this;
8686

8787
/**
8888
* Sets the transaction name on the scope for future events.

packages/types/src/severity.ts

+11-19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
/** JSDoc */
1+
/** JSDoc
2+
* @deprecated use string literals - if you require a type, use SeverityLevel instead.
3+
*/
24
// eslint-disable-next-line import/export
35
export enum Severity {
46
/** JSDoc */
@@ -17,6 +19,9 @@ export enum Severity {
1719
Critical = 'critical',
1820
}
1921

22+
const levels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical'] as const;
23+
export type SeverityLevel = typeof levels[number];
24+
2025
// eslint-disable-next-line @typescript-eslint/no-namespace, import/export
2126
export namespace Severity {
2227
/**
@@ -25,24 +30,11 @@ export namespace Severity {
2530
* @param level string representation of Severity
2631
* @returns Severity
2732
*/
28-
export function fromString(level: string): Severity {
29-
switch (level) {
30-
case 'debug':
31-
return Severity.Debug;
32-
case 'info':
33-
return Severity.Info;
34-
case 'warn':
35-
case 'warning':
36-
return Severity.Warning;
37-
case 'error':
38-
return Severity.Error;
39-
case 'fatal':
40-
return Severity.Fatal;
41-
case 'critical':
42-
return Severity.Critical;
43-
case 'log':
44-
default:
45-
return Severity.Log;
33+
export function fromString(level: SeverityLevel | string): SeverityLevel {
34+
if (level === 'warn') return 'warning';
35+
if (levels.indexOf(level as SeverityLevel) === -1) {
36+
return 'log';
4637
}
38+
return level as SeverityLevel;
4739
}
4840
}

0 commit comments

Comments
 (0)