DefinitelyTyped/types/clone-deep/clone-deep-tests.ts
Piotr d0af366f23 clone-deep npm package typings (#33750)
* clone-deep types

* inlined InstanceClone
2019-03-11 11:03:34 -07:00

17 lines
691 B
TypeScript

import cloneDeep from 'clone-deep';
cloneDeep<object>(Object.create(null)); // $ExpectType object
cloneDeep<object>({}); // $ExpectType object
cloneDeep({}); // $ExpectType {}
cloneDeep(new Array()); // $ExpectType any[]
cloneDeep<any[]>([]); // $ExpectType any[]
cloneDeep<number>(42); // $ExpectType number
cloneDeep<string>('clone'); // $ExpectType string
cloneDeep<object>({}, true); // $ExpectType object
cloneDeep({}, true); // $ExpectType {}
cloneDeep<number>(42, true); // $ExpectType number
cloneDeep<object>({}, _ => ({})); // $ExpectType object
cloneDeep({}, _ => ({})); // $ExpectType {}
cloneDeep<object>({}, _ => 42); // $ExpectError
cloneDeep(42, _ => ({})); // $ExpectError