add some typescript type and re-export some build-in typescript type
npm install ts-typeadd some typescript type and re-export some build-in typescript type
see index.d.ts
``nodemon`
npm install ts-type
- demo
-
`ts
export interface A1
{
s: string
}
export type A2 = ITSOverwrite
}>
export declare let a2: A2;
// a2.s is number
`
`ts
import { ITSOverwriteReturnType } from '..';
declare function f(a: number): number
declare let c: ITSOverwriteReturnType
// c is (a: number) => string
// c(1).toUpperCase()
`
`nodemon`
npm install @types/bluebird ts-type
`ts
export declare function p1(a: number): Promise
export declare let p1_v: ITSUnpackedReturnType
p1_v.toFixed()
export declare let p2: ITSWrapFunctionPromise
export declare let p3: ITSWrapFunctionBluebird
export declare let p4: ITSWrapFunctionBluebird
p2(1).then(v => v.toFixed())
p3(1).then(v => v.toFixed())
p4(1).then(v => v.toFixed())
`
`ts
export declare function t1(this: string, a: number): Promise
export declare let t1_this: ITSUnpackedThisFunction
// => t1_this is string
`
`ts
export declare function t2(this: string, a: number): number
export declare let t3: ITSOverwriteThisFunction
t3 = function ()
{
this.toFixed() // => this is number
return 1
}
`
`ts
interface Function2 extends Function
{
bind
}
export interface t4 extends Function2
{
(): string
}
export declare let t5: t4
export let t6 = t5.bind([] as string[])
t6 = function ()
{
this.includes('') // => this is string[]
return ''
}
``
- callable-instance2 - create an ES6 class that is callable as a function
- https://github.com/piotrwitek/utility-types
-
- http://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-1.html
- https://www.tslang.cn/docs/release-notes/typescript-3.1.html#toc-whats-new
- https://www.logicbig.com/tutorials/misc/typescript.html
- https://github.com/krzkaczor/ts-essentials
- https://github.com/millsp/ts-toolbelt
- https://github.com/type-challenges/type-challenges
- https://github.com/andnp/SimplyTyped
- https://github.com/piotrwitek/utility-types
-