Launch Week Day 2: Introducing Reports: An Extensible Reporting Framework for Socket Data.Learn More
Socket
Book a DemoSign in
Socket

ts-type

Package Overview
Dependencies
Maintainers
1
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-type

TypeScript 類型工具庫:提供豐富的類型操作工具和重新導出的內建類型 / TypeScript type utility library: provides rich type manipulation utilities and re-exported built-in types

latest
Source
npmnpm
Version
3.0.13
Version published
Weekly downloads
313K
15.67%
Maintainers
1
Weekly downloads
 
Created
Source

ts-type

TypeScript 類型工具庫 / TypeScript Type Utility Library

提供豐富的 TypeScript 類型操作工具和重新導出的內建類型,支援雙語註解(繁體中文 + 英文)。

Provides rich TypeScript type manipulation utilities and re-exported built-in types with bilingual comments (Traditional Chinese + English).

see index.d.ts

安裝 / Installation

# npm
npm install ts-type

# yarn
yarn add ts-type

# pnpm
pnpm add ts-type

範例 / Examples

  • demo

ITSOverwrite

export interface A1
{
	s: string
}

export type A2 = ITSOverwrite<A1, {
	s: number,
}>
export declare let a2: A2;
// a2.s is number

ITSOverwriteReturnType

覆寫函數返回值類型 / Overwrite function return type

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

Promise 相關類型操作 / Promise related type operations

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 類型操作 / this Type Operations

操作函數的 this 類型 / Manipulate function's this type

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 ''
}

文檔 / Documentation

詳細的類型工具說明文件請參閱 docs/ 目錄。

For detailed type utility documentation, see the docs/ directory.

分類指南 / Category Guide

文件與教學 / Documentation & Tutorials

Keywords

.d.ts

FAQs

Package last updated on 31 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts