typescript - 你能让工厂函数类型的参数安全吗?
问题描述
我正在将 typescript 类型定义添加到我的 Lua 库中,但我遇到了一些障碍,
在 Lua 中,我将一个函数传递给我的库,该函数返回一个工厂
如果是 JS,它会是这样的:
const Factory = Library((params) => {console.log(params.text)});
后来你会
const instance = Factory({text: "Hello world"});
instance();
我有工厂的打字稿定义,它需要一个函数 arg 并返回正确的类类型,但我也希望类型定义适用于函数的 param 参数。
export function Library(chunk:(params:object)=>void):(params:object)=>instance;
(用例是,导入函数,用我的库加载它,然后用工厂创建东西,我想知道是否可以使各种参数对象类型安全)
解决方案
您可以添加一个类型参数object
:
export function Library<T>(chunk: (params: T) => void): (params: T) => instance
推荐阅读
- unity3d - Play 游戏的统一性问题
- php - Laravel Route 资源命名函数
- ios - 如何检测应用内购买的警报弹出何时关闭并完成购买
- javascript - 如何在不循环的情况下根据多个条件更新 MongoDB 集合
- javascript - 日期数组中的Javascript indexOf总是产生-1
- python - 如何循环嵌套字典?[Python]
- wildfly - 如何仅在 Wildfly 服务器中将 http 版本设置为 1.1?
- php - 插入多个相同的输入字段php
- amazon-web-services - 无法对使用 AWS 区块链模板部署的超级账本结构进行休息调用?
- reactjs - 在不经过 React 状态的情况下渲染组件