diff --git a/types/clone-deep/clone-deep-tests.ts b/types/clone-deep/clone-deep-tests.ts new file mode 100644 index 0000000000..0e99c6fbb2 --- /dev/null +++ b/types/clone-deep/clone-deep-tests.ts @@ -0,0 +1,16 @@ +import cloneDeep from 'clone-deep'; + +cloneDeep(Object.create(null)); // $ExpectType object +cloneDeep({}); // $ExpectType object +cloneDeep({}); // $ExpectType {} +cloneDeep(new Array()); // $ExpectType any[] +cloneDeep([]); // $ExpectType any[] +cloneDeep(42); // $ExpectType number +cloneDeep('clone'); // $ExpectType string +cloneDeep({}, true); // $ExpectType object +cloneDeep({}, true); // $ExpectType {} +cloneDeep(42, true); // $ExpectType number +cloneDeep({}, _ => ({})); // $ExpectType object +cloneDeep({}, _ => ({})); // $ExpectType {} +cloneDeep({}, _ => 42); // $ExpectError +cloneDeep(42, _ => ({})); // $ExpectError diff --git a/types/clone-deep/index.d.ts b/types/clone-deep/index.d.ts new file mode 100644 index 0000000000..0ca60e6180 --- /dev/null +++ b/types/clone-deep/index.d.ts @@ -0,0 +1,10 @@ +// Type definitions for clone-deep 4.0 +// Project: https://github.com/jonschlinkert/clone-deep +// Definitions by: Tanfonto +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.7 + +export default function cloneDeep( + val: T, + instanceClone?: true | ((val: T) => T) +): T; diff --git a/types/clone-deep/tsconfig.json b/types/clone-deep/tsconfig.json new file mode 100644 index 0000000000..d584681520 --- /dev/null +++ b/types/clone-deep/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "clone-deep-tests.ts"] +} diff --git a/types/clone-deep/tslint.json b/types/clone-deep/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/clone-deep/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }