diff --git a/types/ntlm-client/index.d.ts b/types/ntlm-client/index.d.ts new file mode 100644 index 0000000000..b2f668bd12 --- /dev/null +++ b/types/ntlm-client/index.d.ts @@ -0,0 +1,29 @@ +// Type definitions for ntlm-client 0.1 +// Project: https://github.com/clncln1/node-ntlm-client +// Definitions by: Manuel Borrajo +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +interface NtlmType2 { + flags: number; + encoding: string; + version: number; + challenge: Buffer; + targetName: string; + targetInfo: { + parsed: { + DOMAIN: string; + SERVER: string; + DNS: string; + FQDN: string; + PARENT_DNS: string; + }, + buffer: Buffer; + }; +} + +declare function createType1Message(workstation: string, domain: string): string; +declare function decodeType2Message(type1Message: string): NtlmType2; +declare function createType3Message(type2Message: NtlmType2, username: string, password: string, workstation: string, domain: string): string; +export { createType1Message, decodeType2Message, createType3Message }; diff --git a/types/ntlm-client/ntlm-client-tests.ts b/types/ntlm-client/ntlm-client-tests.ts new file mode 100644 index 0000000000..5cd3b1d4d2 --- /dev/null +++ b/types/ntlm-client/ntlm-client-tests.ts @@ -0,0 +1,28 @@ +import ntlm = require('ntlm-client'); + +const type2 = { + flags: 0, + encoding: '', + version: 3, + challenge: new Buffer(''), + targetName: '', + targetInfo: { + parsed: { + DOMAIN: '', + SERVER: '', + DNS: '', + FQDN: '', + PARENT_DNS: '', + }, + buffer: new Buffer(''), + } +}; + +// $ExpectType string +ntlm.createType1Message('', ''); + +// $ExpectType string +ntlm.createType3Message(type2, '', '', '', ''); + +// $ExpectType NtlmType2 +ntlm.decodeType2Message(''); diff --git a/types/ntlm-client/tsconfig.json b/types/ntlm-client/tsconfig.json new file mode 100644 index 0000000000..b3b5731cb5 --- /dev/null +++ b/types/ntlm-client/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [ + ], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "ntlm-client-tests.ts" + ] +} \ No newline at end of file diff --git a/types/ntlm-client/tslint.json b/types/ntlm-client/tslint.json new file mode 100644 index 0000000000..e60c15844f --- /dev/null +++ b/types/ntlm-client/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} \ No newline at end of file