Open kamilszewczyk0 opened 3 years ago
There is a bit of a problem with the @types
.
The DefinitelyTyped package for is_js
seems to be @types/is
(i have tried @types/is_js @types/is-js @types/is.js @types/isjs but they don't exist), and the method calls seem correct, but if i import it like this:
import * as is from 'is_js';
i get an error saying it can't find the type definition when building (despite VS code not giving me any error). if i import it like this
import * as is from 'is';
I get a different error. The solution seems to be to install is_js with an alias: "is": "npm:is_js@^0.9.0",
and then import the module like this import * as is from 'is';
if i do like this it seems to work but maybe i'm doing something completely wrong
@valepu https://www.npmjs.com/package/is
and https://www.npmjs.com/package/is_js
are two entirely different libraries.
@valepu
https://www.npmjs.com/package/is
andhttps://www.npmjs.com/package/is_js
are two entirely different libraries.
@shivam-tripathi Yes, but the types are for is_js despite being called @types/is. I can confirm this because the function is.existy is available in "is_js" but not in "is". On top of that if you check the file https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/is/index.d.ts you can read the following
// Type definitions for is.js
// Project: http://arasatasaygin.github.io/is.js/
// Definitions by: Rodrigo Cabral <https://github.com/cabralRodrigo>, Mitchell Grice <https://github.com/gricey432>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
To illustrate that @valepu is correct and there is a mismatch here:
This package contains type definitions for is.js (http://arasatasaygin.github.io/is.js/).
is_js
Well I buckled and switched from is_js
to is
purely for easy typescript support, though I preferred the is_js
api.
Also type definitions in @types/is
aren't typeguard-friendly. I believe should be (x:unknown) : x is string
and not (x:unknown) : boolean
. Might log issue in that repo.
Update: I discovered that @types/is
exports their types for both modules is
and is_js
.
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/is/index.d.ts#L1377-L1383
That can't be right.
Is library compatible with TypeScript? Any extensions for types?