diff --git a/types/redis-errors/index.d.ts b/types/redis-errors/index.d.ts new file mode 100644 index 0000000000..663a367d9a --- /dev/null +++ b/types/redis-errors/index.d.ts @@ -0,0 +1,33 @@ +// Type definitions for redis-errors 1.2 +// Project: https://github.com/NodeRedis/redis-errors#readme +// Definitions by: James Garbutt +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export class RedisError extends Error { +} + +export class ParserError extends RedisError { + buffer: string; + offset: number; + + constructor(message: string, buffer: string, offset: number); +} + +export class ReplyError extends RedisError { + command?: string; + args?: any[]; + code?: string; + + constructor(message: string); +} + +export class AbortError extends RedisError { + command?: string; + args?: any[]; +} + +export class InterruptError extends RedisError { + command?: string; + args?: any[]; + origin: Error; +} diff --git a/types/redis-errors/redis-errors-tests.ts b/types/redis-errors/redis-errors-tests.ts new file mode 100644 index 0000000000..f9d464e5b5 --- /dev/null +++ b/types/redis-errors/redis-errors-tests.ts @@ -0,0 +1,27 @@ +import { + RedisError, + ReplyError, + ParserError, + AbortError, + InterruptError +} from 'redis-errors'; + +const err = new RedisError('some error'); + +const reply = new ReplyError('some error'); +const replyArgs: any[] | undefined = reply.args; +const replyCommand: string | undefined = reply.command; +const replyCode: string | undefined = reply.code; + +const parser = new ParserError('some error', 'a buffer', 4); +const parserBuffer: string = parser.buffer; +const parserOffset: number = parser.offset; + +const abort = new AbortError('some error'); +const abortArgs: any[] | undefined = abort.args; +const abortCommand: string | undefined = abort.command; + +const interrupt = new InterruptError('some error'); +const interruptArgs: any[] | undefined = interrupt.args; +const interruptCommand: string | undefined = interrupt.command; +const interruptOrigin: Error | undefined = interrupt.origin; diff --git a/types/redis-errors/tsconfig.json b/types/redis-errors/tsconfig.json new file mode 100644 index 0000000000..cc922f5c1a --- /dev/null +++ b/types/redis-errors/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "redis-errors-tests.ts" + ] +} diff --git a/types/redis-errors/tslint.json b/types/redis-errors/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/redis-errors/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }