3.0.1 • Published 3 years ago
ts-type v3.0.1
README
add some typescript type and re-export some build-in typescript type
see index.d.ts
install
npm install ts-type
demo
ITSOverwrite
export interface A1
{
s: string
}
export type A2 = ITSOverwrite<A1, {
s: number,
}>
export declare let a2: A2;
// a2.s is number
ITSOverwriteReturnType
import { ITSOverwriteReturnType } from '..';
declare function f(a: number): number
declare let c: ITSOverwriteReturnType<typeof f, string>;
// c is (a: number) => string
// c(1).toUpperCase()
Promise / Bluebird / PromiseLike
npm install @types/bluebird ts-type
export declare function p1(a: number): Promise<number>
export declare let p1_v: ITSUnpackedReturnType<typeof p1>;
p1_v.toFixed()
export declare let p2: ITSWrapFunctionPromise<typeof p1>;
export declare let p3: ITSWrapFunctionBluebird<typeof p2>;
export declare let p4: ITSWrapFunctionBluebird<typeof p1>;
p2(1).then(v => v.toFixed())
p3(1).then(v => v.toFixed())
p4(1).then(v => v.toFixed())
this
export declare function t1(this: string, a: number): Promise<number>
export declare let t1_this: ITSUnpackedThisFunction<typeof t1>;
// => t1_this is string
export declare function t2(this: string, a: number): number
export declare let t3: ITSOverwriteThisFunction<number, typeof t2>;
t3 = function ()
{
this.toFixed() // => this is number
return 1
}
interface Function2 extends Function
{
bind<T extends any, F extends (...args: any[]) => any>(this: F, thisArg: T, ...argArray: any[]): ITSOverwriteThisFunction<T, F>;
}
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 ''
}
other
- callable-instance2 - create an ES6 class that is callable as a function
- https://github.com/piotrwitek/utility-types
docs
- 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
links
3.0.1
3 years ago
2.1.9
3 years ago
2.1.10
3 years ago
2.1.8
3 years ago
2.1.7
3 years ago
2.1.6
3 years ago
2.1.5
3 years ago
2.1.2
4 years ago
2.1.1
4 years ago
2.1.4
3 years ago
2.0.3
4 years ago
2.0.1
4 years ago
1.2.40
4 years ago
1.2.39
4 years ago
1.2.38
4 years ago
1.2.37
4 years ago
1.2.36
4 years ago
1.2.35
4 years ago
1.2.34
5 years ago
1.2.33
5 years ago
1.2.32
5 years ago
1.2.31
5 years ago
1.2.30
5 years ago
1.2.27
5 years ago
1.2.28
5 years ago
1.2.29
5 years ago
1.2.26
5 years ago
1.2.25
5 years ago
1.2.24
5 years ago
1.2.23
5 years ago
1.2.21
5 years ago
1.2.22
5 years ago
1.2.19
5 years ago
1.2.20
5 years ago
1.2.18
5 years ago
1.2.17
5 years ago
1.2.16
5 years ago
1.2.15
5 years ago
1.2.13
5 years ago
1.2.12
5 years ago
1.2.10
5 years ago
1.2.11
5 years ago
1.2.9
6 years ago
1.2.8
6 years ago
1.2.7
6 years ago
1.2.6
6 years ago
1.2.4
6 years ago
1.2.3
6 years ago
1.2.2
6 years ago
1.2.1
6 years ago
1.1.3
7 years ago
1.1.2
7 years ago
1.1.1
7 years ago
1.1.0
7 years ago
1.0.9
7 years ago
1.0.8
7 years ago
1.0.7
7 years ago
1.0.6
7 years ago
1.0.5
7 years ago
1.0.4
7 years ago
1.0.1
7 years ago
1.0.0
7 years ago