Skip to content

Commit

Permalink
fix(types): Change type to lowercase boolean
Browse files Browse the repository at this point in the history
Summary:
Change from Boolean to boolean type
fixes #33

Semver: patch
  • Loading branch information
TerryMooreII committed Mar 21, 2022
1 parent c300858 commit a957f44
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 22 deletions.
28 changes: 18 additions & 10 deletions src/logdna.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { GlobalErrorHandlerPlugin } from './plugins/global-handler';
import { ConsolePlugin } from './plugins/console';
declare module 'logdna-browser-2' {}

interface LogDNAMethods {}
Expand All @@ -9,11 +8,11 @@ interface LogDNAMethods {}
// relative paths https://github.com/Microsoft/TypeScript/issues/18877
declare module './LogDNAMethods' {
interface LogDNAMethods {
log(message: string, context?: Object, level?: LogLevel): void;
error(message: string, context?: Object, level?: LogLevel): void;
warn(message: string, context?: Object, level?: LogLevel): void;
info(message: string, context?: Object, level?: LogLevel): void;
debug(message: string, context?: Object, level?: LogLevel): void;
log(message: any, context?: LineContext, level?: LogLevel): void;
error(message: any, context?: LineContext, level?: LogLevel): void;
warn(message: any, context?: LineContext, level?: LogLevel): void;
info(message: any, context?: LineContext, level?: LogLevel): void;
debug(message: any, context?: LineContext, level?: LogLevel): void;
}
}

Expand Down Expand Up @@ -57,12 +56,21 @@ export type LogDNABrowserOptions = {
internalErrorLogger?: Function;
};

export type LineContext = object;

export type ErrorContext = {
colno?: number;
lineno?: number;
stacktrace?: string;
source?: string;
};

export type LogMessage = {
level: LogLevel;
message: any;
lineContext?: Object;
errorContext?: Object;
disableStacktrace?: Boolean;
lineContext?: LineContext;
errorContext?: ErrorContext;
disableStacktrace?: boolean;
};

export type Context = {
Expand All @@ -73,7 +81,7 @@ export type SessionId = string;

export type Tags = string | string[];

export type LogLevel = 'log' | 'debug' | 'error' | 'warn' | 'info' | string;
export type LogLevel = 'log' | 'debug' | 'error' | 'warn' | 'info';

export type Plugin = {
name: string;
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/console.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const Console = (opts: ConsolePlugin = DEFAULT_OPTIONS): Plugin => ({
(integrations || [])
.map(method => method.toLowerCase())
.forEach(method => {
if (!DEFAULT_CONSOLE_METHODS.includes(method)) {
if (!DEFAULT_CONSOLE_METHODS.includes(method as LogLevel)) {
throw Error('LogDNA Browser Logger console plugin was passed an invalid console methods');
}

Expand Down
21 changes: 11 additions & 10 deletions src/plugins/logger.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
import { captureMessage } from '../capture';
import { LogLevel } from '../logdna';
import { LogLevel, LineContext } from '../logdna';
import utils from '../utils';
import { getOptions } from '../init';

declare module '../LogDNAMethods' {
interface LogDNAMethods {
log(message: string, context?: Object, level?: LogLevel): void;
error(message: string, context?: Object, level?: LogLevel): void;
warn(message: string, context?: Object, level?: LogLevel): void;
info(message: string, context?: Object, level?: LogLevel): void;
log(message: any, context?: LineContext, level?: LogLevel): void;
error(message: any, context?: LineContext, level?: LogLevel): void;
warn(message: any, context?: LineContext, level?: LogLevel): void;
debug(message: any, context?: LineContext, level?: LogLevel): void;
info(message: any, context?: LineContext, level?: LogLevel): void;
}
}

const log = (message: string, context?: Object, level: LogLevel = 'log') => {
const log = (message: any, context?: LineContext, level: LogLevel = 'log') => {
captureMessage({
level,
message,
Expand All @@ -24,19 +25,19 @@ const log = (message: string, context?: Object, level: LogLevel = 'log') => {
}
};

const error = (message: string, context?: Object) => {
const error = (message: any, context?: LineContext) => {
log(message, context, 'error');
};

const warn = (message: string, context?: Object) => {
const warn = (message: any, context?: LineContext) => {
log(message, context, 'warn');
};

const debug = (message: string, context?: Object) => {
const debug = (message: any, context?: LineContext) => {
log(message, context, 'debug');
};

const info = (message: string, context?: Object) => {
const info = (message: any, context?: LineContext) => {
log(message, context, 'info');
};

Expand Down
11 changes: 11 additions & 0 deletions tests/plugins/logger.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,17 @@ describe('logger.ts', () => {
});
});

it('should call captureMessage with the correct log level and data when message is an object', () => {
const methods = logger.methods();
methods.log({ test: 'Message' }, { abc: 123 }, 'log');
expect(captureMessage).toHaveBeenCalledTimes(1);
expect(captureMessage).toHaveBeenCalledWith({
level: 'log',
message: { test: 'Message' },
lineContext: { abc: 123 },
});
});

it('should call captureMessage with the correct log level and data', () => {
const methods = logger.methods();
methods.log('Message', { abc: 123 });
Expand Down
3 changes: 2 additions & 1 deletion tests/plugins/ssn-filter.spec.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { LogLevel } from '../../src/logdna';
import SSN from '../../src/plugins/ssn-filter';

const ssnFilter = SSN();
const generateLogMessage = (message: any) => ({
level: 'log',
level: 'log' as LogLevel,
message,
});

Expand Down

0 comments on commit a957f44

Please sign in to comment.