From 371507cae9f9a0a88a9161a971c8917cf82c358a Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Wed, 30 Jan 2019 21:16:40 -0200 Subject: [PATCH 1/8] added mem-cache module types definitions --- types/mem-cache/index.d.ts | 19 +++++++++++++++++++ types/mem-cache/mem-cache-tests.ts | 17 +++++++++++++++++ types/mem-cache/tsconfig.json | 24 ++++++++++++++++++++++++ types/mem-cache/tslint.json | 1 + 4 files changed, 61 insertions(+) create mode 100644 types/mem-cache/index.d.ts create mode 100644 types/mem-cache/mem-cache-tests.ts create mode 100644 types/mem-cache/tsconfig.json create mode 100644 types/mem-cache/tslint.json diff --git a/types/mem-cache/index.d.ts b/types/mem-cache/index.d.ts new file mode 100644 index 0000000000..2bf77e8c71 --- /dev/null +++ b/types/mem-cache/index.d.ts @@ -0,0 +1,19 @@ +import { EventEmitter } from 'events'; + +export interface ICacheOptions { + timeout?: number; + doesNotRenewTimeout?: boolean; + timeoutDisabled?: boolean; +} + +export default class Cache extends EventEmitter { + public keys: string[]; + public length: number; + + constructor(options?: number | ICacheOptions); + + public set(key: string, value: any, timeout?: number): void; + public get(key: string): any; + public remove(key: string): void; + public clean(): void; +} diff --git a/types/mem-cache/mem-cache-tests.ts b/types/mem-cache/mem-cache-tests.ts new file mode 100644 index 0000000000..420c72f200 --- /dev/null +++ b/types/mem-cache/mem-cache-tests.ts @@ -0,0 +1,17 @@ +import Cache from 'mem-cache'; + +const cache = new Cache(); // $ExpectType Cache +const cache2 = new Cache(100000); // $ExpectType Cache +const cache3 = new Cache({ + doesNotRenewTimeout: true, + timeout: 100000, + timeoutDisabled: false +}); // $ExpectType Cache + +cache.set('foo', 'bar'); // $ExpectType void +cache.get('foo'); // $ExpectType any +cache.remove('foo'); // $ExpectType void +cache.clean(); // $ExpectType void +cache.length; // $ExpectType number +cache.keys; // $ExpectType string[] + diff --git a/types/mem-cache/tsconfig.json b/types/mem-cache/tsconfig.json new file mode 100644 index 0000000000..9587e02f72 --- /dev/null +++ b/types/mem-cache/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "mem-cache-tests.ts" + ], + "baseUrl": "types", + "typeRoots": ["types"] +} diff --git a/types/mem-cache/tslint.json b/types/mem-cache/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/mem-cache/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 5693cd23c5cd66decd6cd0cf6fb91ba2b15042c8 Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Wed, 30 Jan 2019 21:35:48 -0200 Subject: [PATCH 2/8] added mem-cache module types definitions --- types/mem-cache/index.d.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/types/mem-cache/index.d.ts b/types/mem-cache/index.d.ts index 2bf77e8c71..fbee520d33 100644 --- a/types/mem-cache/index.d.ts +++ b/types/mem-cache/index.d.ts @@ -1,3 +1,8 @@ +// Type definitions for mem-cache v0.0.5 +// Project: https://github.com/silviom/node-mem-cache +// Definitions by: Pedro Mutter +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + import { EventEmitter } from 'events'; export interface ICacheOptions { From b4e374267e2edb79e92199c898e656df37dddbfd Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Wed, 30 Jan 2019 21:38:19 -0200 Subject: [PATCH 3/8] added mem-cache module types definitions --- types/mem-cache/tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/types/mem-cache/tsconfig.json b/types/mem-cache/tsconfig.json index 9587e02f72..3c3a2e701a 100644 --- a/types/mem-cache/tsconfig.json +++ b/types/mem-cache/tsconfig.json @@ -7,6 +7,7 @@ "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true, + "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [ "../" From 53b75eb119358ad3b774117298c993ec90735333 Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Wed, 30 Jan 2019 21:44:01 -0200 Subject: [PATCH 4/8] fix test requirements errors --- types/mem-cache/index.d.ts | 18 +++++++++--------- types/mem-cache/mem-cache-tests.ts | 1 - 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/types/mem-cache/index.d.ts b/types/mem-cache/index.d.ts index fbee520d33..e4adf69f0e 100644 --- a/types/mem-cache/index.d.ts +++ b/types/mem-cache/index.d.ts @@ -1,24 +1,24 @@ -// Type definitions for mem-cache v0.0.5 +// Type definitions for mem-cache v0.1.0 // Project: https://github.com/silviom/node-mem-cache // Definitions by: Pedro Mutter // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import { EventEmitter } from 'events'; -export interface ICacheOptions { +export interface CacheOptions { timeout?: number; doesNotRenewTimeout?: boolean; timeoutDisabled?: boolean; } export default class Cache extends EventEmitter { - public keys: string[]; - public length: number; + keys: string[]; + length: number; - constructor(options?: number | ICacheOptions); + constructor(options?: number | CacheOptions); - public set(key: string, value: any, timeout?: number): void; - public get(key: string): any; - public remove(key: string): void; - public clean(): void; + set(key: string, value: any, timeout?: number): void; + get(key: string): any; + remove(key: string): void; + clean(): void; } diff --git a/types/mem-cache/mem-cache-tests.ts b/types/mem-cache/mem-cache-tests.ts index 420c72f200..94232e4410 100644 --- a/types/mem-cache/mem-cache-tests.ts +++ b/types/mem-cache/mem-cache-tests.ts @@ -14,4 +14,3 @@ cache.remove('foo'); // $ExpectType void cache.clean(); // $ExpectType void cache.length; // $ExpectType number cache.keys; // $ExpectType string[] - From 7dadf2dedd8d48fca48eb870e9f0729f32afd2db Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Wed, 30 Jan 2019 21:48:12 -0200 Subject: [PATCH 5/8] fix test requirements version and wrong expect type --- types/mem-cache/index.d.ts | 2 +- types/mem-cache/mem-cache-tests.ts | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/types/mem-cache/index.d.ts b/types/mem-cache/index.d.ts index e4adf69f0e..3258d6364e 100644 --- a/types/mem-cache/index.d.ts +++ b/types/mem-cache/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for mem-cache v0.1.0 +// Type definitions for mem-cache v1.0.0 // Project: https://github.com/silviom/node-mem-cache // Definitions by: Pedro Mutter // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/mem-cache/mem-cache-tests.ts b/types/mem-cache/mem-cache-tests.ts index 94232e4410..2b667258d3 100644 --- a/types/mem-cache/mem-cache-tests.ts +++ b/types/mem-cache/mem-cache-tests.ts @@ -1,12 +1,6 @@ import Cache from 'mem-cache'; const cache = new Cache(); // $ExpectType Cache -const cache2 = new Cache(100000); // $ExpectType Cache -const cache3 = new Cache({ - doesNotRenewTimeout: true, - timeout: 100000, - timeoutDisabled: false -}); // $ExpectType Cache cache.set('foo', 'bar'); // $ExpectType void cache.get('foo'); // $ExpectType any From c07384eacc4acd36be2db8eb9790c932a78d2c15 Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Wed, 30 Jan 2019 21:52:49 -0200 Subject: [PATCH 6/8] fix header --- types/mem-cache/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/mem-cache/index.d.ts b/types/mem-cache/index.d.ts index 3258d6364e..f5e135a363 100644 --- a/types/mem-cache/index.d.ts +++ b/types/mem-cache/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for mem-cache v1.0.0 +// Type definitions for mem-cache 1.0 // Project: https://github.com/silviom/node-mem-cache // Definitions by: Pedro Mutter // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped From 03aabe8cc0414432547386bbe9eb2c5315f88e77 Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Thu, 31 Jan 2019 10:35:06 -0200 Subject: [PATCH 7/8] fix required export modification --- types/mem-cache/index.d.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/types/mem-cache/index.d.ts b/types/mem-cache/index.d.ts index f5e135a363..df2a0db47d 100644 --- a/types/mem-cache/index.d.ts +++ b/types/mem-cache/index.d.ts @@ -5,13 +5,13 @@ import { EventEmitter } from 'events'; -export interface CacheOptions { +interface CacheOptions { timeout?: number; doesNotRenewTimeout?: boolean; timeoutDisabled?: boolean; } -export default class Cache extends EventEmitter { +declare class Cache extends EventEmitter { keys: string[]; length: number; @@ -22,3 +22,5 @@ export default class Cache extends EventEmitter { remove(key: string): void; clean(): void; } + +export = Cache; From 05bddbd67ca8bfd58b51ceba24c68a790aec04c9 Mon Sep 17 00:00:00 2001 From: MutterPedro Date: Thu, 31 Jan 2019 10:43:46 -0200 Subject: [PATCH 8/8] fix required export/import modification --- types/mem-cache/mem-cache-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/mem-cache/mem-cache-tests.ts b/types/mem-cache/mem-cache-tests.ts index 2b667258d3..747ffd75c2 100644 --- a/types/mem-cache/mem-cache-tests.ts +++ b/types/mem-cache/mem-cache-tests.ts @@ -1,4 +1,4 @@ -import Cache from 'mem-cache'; +import Cache = require('mem-cache'); const cache = new Cache(); // $ExpectType Cache