diff --git a/types/socket.io-parser/index.d.ts b/types/socket.io-parser/index.d.ts index 5f1a7a104e..66ca1be4c5 100644 --- a/types/socket.io-parser/index.d.ts +++ b/types/socket.io-parser/index.d.ts @@ -1,39 +1,33 @@ -// Type definitions for json-editor +// Type definitions for socket.io-parser 2.2 // Project: https://github.com/socketio/socket.io-parser -// Definitions by: York Yao +// Definitions by: York Yao // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/// +/// -declare module "socket.io-parser" { - namespace Parser { - type Packet = { - type: number, - data: any, - id: number - } - type EncodedPacket = string | Buffer | ArrayBuffer | Blob; - - var types: string[]; - - var CONNECT: number; - var DISCONNECT: number; - var EVENT: number; - var ACK: number; - var ERROR: number; - var BINARY_EVENT: number; - var BINARY_ACK: number; - - class Encoder { - encode(packet: Packet, callback: (encodedPackets: EncodedPacket[]) => void): void; - } - - class Decoder { - on(event: string, callback: (decodedPacket: Packet) => void): void; - add(encodedPacket: EncodedPacket): void; - destroy(): void; - } - } - - export = Parser; +export interface Packet { + type: number; + data: any; + id: number; +} +export type EncodedPacket = string | Buffer | ArrayBuffer | Blob; + +export const types: string[]; + +export const CONNECT: number; +export const DISCONNECT: number; +export const EVENT: number; +export const ACK: number; +export const ERROR: number; +export const BINARY_EVENT: number; +export const BINARY_ACK: number; + +export class Encoder { + encode(packet: Packet, callback: (encodedPackets: EncodedPacket[]) => void): void; +} + +export class Decoder { + on(event: string, callback: (decodedPacket: Packet) => void): void; + add(encodedPacket: EncodedPacket): void; + destroy(): void; } diff --git a/types/socket.io-parser/socket.io-parser-tests.ts b/types/socket.io-parser/socket.io-parser-tests.ts index 07646f48ce..b30a32aff0 100644 --- a/types/socket.io-parser/socket.io-parser-tests.ts +++ b/types/socket.io-parser/socket.io-parser-tests.ts @@ -1,38 +1,38 @@ import * as parser from 'socket.io-parser'; -var encoder = new parser.Encoder(); -var packet = { +const encoder = new parser.Encoder(); +const packet = { type: parser.EVENT, data: 'test-packet', - id: 13 + id: 13, }; -encoder.encode(packet, function (encodedPackets) { - var decoder = new parser.Decoder(); - decoder.on('decoded', function (decodedPacket) { - decodedPacket.type == parser.EVENT - decodedPacket.data == 'test-packet' - decodedPacket.id == 13 +encoder.encode(packet, encodedPackets => { + const decoder = new parser.Decoder(); + decoder.on('decoded', decodedPacket => { + decodedPacket.type === parser.EVENT; + decodedPacket.data === 'test-packet'; + decodedPacket.id === 13; }); - for (var i = 0; i < encodedPackets.length; i++) { - decoder.add(encodedPackets[i]); + for (const encoded of encodedPackets) { + decoder.add(encoded); } }); -var packet2 = { +const packet2 = { type: parser.BINARY_EVENT, data: { i: new Buffer(1234), j: new Blob([new ArrayBuffer(2)]) }, - id: 15 + id: 15, }; -encoder.encode(packet2, function (encodedPackets) { - var decoder = new parser.Decoder(); - decoder.on('decoded', function (decodedPacket) { - decodedPacket.type == parser.BINARY_EVENT - Buffer.isBuffer(decodedPacket.data.i) == true - Buffer.isBuffer(decodedPacket.data.j) == true - decodedPacket.id == 15 +encoder.encode(packet2, encodedPackets => { + const decoder = new parser.Decoder(); + decoder.on('decoded', decodedPacket => { + decodedPacket.type === parser.BINARY_EVENT; + Buffer.isBuffer(decodedPacket.data.i); // $ExpectType boolean + Buffer.isBuffer(decodedPacket.data.j); // $ExpectType boolean + decodedPacket.id === 15; }); - for (var i = 0; i < encodedPackets.length; i++) { - decoder.add(encodedPackets[i]); + for (const encoded of encodedPackets) { + decoder.add(encoded); } }); diff --git a/types/socket.io-parser/tslint.json b/types/socket.io-parser/tslint.json index a41bf5d19a..3db14f85ea 100644 --- a/types/socket.io-parser/tslint.json +++ b/types/socket.io-parser/tslint.json @@ -1,79 +1 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - "adjacent-overload-signatures": false, - "array-type": false, - "arrow-return-shorthand": false, - "ban-types": false, - "callable-types": false, - "comment-format": false, - "dt-header": false, - "eofline": false, - "export-just-namespace": false, - "import-spacing": false, - "interface-name": false, - "interface-over-type-literal": false, - "jsdoc-format": false, - "max-line-length": false, - "member-access": false, - "new-parens": false, - "no-any-union": false, - "no-boolean-literal-compare": false, - "no-conditional-assignment": false, - "no-consecutive-blank-lines": false, - "no-construct": false, - "no-declare-current-package": false, - "no-duplicate-imports": false, - "no-duplicate-variable": false, - "no-empty-interface": false, - "no-for-in-array": false, - "no-inferrable-types": false, - "no-internal-module": false, - "no-irregular-whitespace": false, - "no-mergeable-namespace": false, - "no-misused-new": false, - "no-namespace": false, - "no-object-literal-type-assertion": false, - "no-padding": false, - "no-redundant-jsdoc": false, - "no-redundant-jsdoc-2": false, - "no-redundant-undefined": false, - "no-reference-import": false, - "no-relative-import-in-test": false, - "no-self-import": false, - "no-single-declare-module": false, - "no-string-throw": false, - "no-unnecessary-callback-wrapper": false, - "no-unnecessary-class": false, - "no-unnecessary-generics": false, - "no-unnecessary-qualifier": false, - "no-unnecessary-type-assertion": false, - "no-useless-files": false, - "no-var-keyword": false, - "no-var-requires": false, - "no-void-expression": false, - "no-trailing-whitespace": false, - "object-literal-key-quotes": false, - "object-literal-shorthand": false, - "one-line": false, - "one-variable-per-declaration": false, - "only-arrow-functions": false, - "prefer-conditional-expression": false, - "prefer-const": false, - "prefer-declare-function": false, - "prefer-for-of": false, - "prefer-method-signature": false, - "prefer-template": false, - "radix": false, - "semicolon": false, - "space-before-function-paren": false, - "space-within-parens": false, - "strict-export-declare-modifiers": false, - "trim-file": false, - "triple-equals": false, - "typedef-whitespace": false, - "unified-signatures": false, - "void-return": false, - "whitespace": false - } -} +{ "extends": "dtslint/dt.json" }