From 661a25ec4c7dab41bd7a372b6646e904cbc62aaf Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Mon, 23 Jul 2018 12:58:47 -0300 Subject: [PATCH] Create type definition for object-keys module (#27307) --- types/object-keys/index.d.ts | 13 +++++++++++++ types/object-keys/object-keys-tests.ts | 17 +++++++++++++++++ types/object-keys/tsconfig.json | 23 +++++++++++++++++++++++ types/object-keys/tslint.json | 1 + 4 files changed, 54 insertions(+) create mode 100644 types/object-keys/index.d.ts create mode 100644 types/object-keys/object-keys-tests.ts create mode 100644 types/object-keys/tsconfig.json create mode 100644 types/object-keys/tslint.json diff --git a/types/object-keys/index.d.ts b/types/object-keys/index.d.ts new file mode 100644 index 0000000000..fa277d74fe --- /dev/null +++ b/types/object-keys/index.d.ts @@ -0,0 +1,13 @@ +// Type definitions for object-keys 1.0 +// Project: https://github.com/ljharb/object-keys#readme +// Definitions by: Vitor Luiz Cavalcanti +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +declare function objectKeys(object: object): string[]; + +declare namespace objectKeys { + function shim(): typeof objectKeys; +} + +export = objectKeys; diff --git a/types/object-keys/object-keys-tests.ts b/types/object-keys/object-keys-tests.ts new file mode 100644 index 0000000000..29920c0d08 --- /dev/null +++ b/types/object-keys/object-keys-tests.ts @@ -0,0 +1,17 @@ +import keys = require('object-keys'); + +keys({ A: 1, B: 2, C: 3 }); +// => string[] + +keys.shim(); +// typeof keys + +keys([ 0, 1, 2, 3 ]); +// => string[] + +keys(() => 0); +// => string[] + +function testArguments() { + keys(arguments); +} diff --git a/types/object-keys/tsconfig.json b/types/object-keys/tsconfig.json new file mode 100644 index 0000000000..3ab9e5dab9 --- /dev/null +++ b/types/object-keys/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", + "object-keys-tests.ts" + ] +} diff --git a/types/object-keys/tslint.json b/types/object-keys/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/object-keys/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }