[Typescript] OVerride external library Types
import { getAnimatingState } from "fake-animation-lib";
import { Equal, Expect } from "../helpers/type-utils";
const animatingState = getAnimatingState();
type tests = [
Expect<
Equal<
typeof animatingState,
"before-animation" | "animating" | "after-animation"
>
>
];
Current the function getAnimatingState
return is just string
type. And it is coming from a extranal library fake-animation-lib
.
export const getAnimatingState = (): string => {
if (Math.random() > 0.5) {
return "before-animation";
}
if (Math.random() > 0.5) {
return "animating";
}
return "after-animation";
};
The way to override is by create a new *.d.ts
file, you name name the file as you want, but need to keep .d.ts
// the new *.d.ts will override the previous declarion file
declare module "fake-animation-lib" {
export type AnimatingState = "before-animation" | "animating" | "after-animation"
export function getAnimatingState(): AnimatingState;
}
分类:
TypeScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2022-02-23 [Whole Web] SQL INJECTION
2022-02-23 [Whole Web] CROSS SITE SCRIPTING (XSS)
2019-02-23 [Functional Programming] Pointy Functor Factory
2019-02-23 [Functional Programming] Async IO Functor
2017-02-23 [HTML5] Focus management using CSS, HTML, and JavaScript
2017-02-23 [TypeScript] Increase TypeScript's type safety with noImplicitAny
2017-02-23 [React] displayName for stateless component