otfunc
v0.1.4
Published
A JavaScript library to describe the overrided function and strong type arguments.
Downloads
9
Maintainers
Readme
otfunc
(全称 Override and strong Type FUNCtions)
这是一个用于为 JavaScript 开发的工具库,用于实现运行时的函数重载与强类型推断。
例子
const { override, strongly, Types } = require(otfunc;
const func = override([
// 演示最基本的函数重载。
() => console.log("无类型推断,无参数"),
(a, b) => console.log("无类型推断,有两个参数:", a, b),
// 演示带有类型限定的一部分函数重载。
strongly([], () => console.log("带类型推断,无参数")),
strongly(
[Number, String],
(n, s) => console.log("带类型推断,参数为数字", n, "与字符串", s)
),
strongly(
[[Number]],
arr => console.log("带类型推断,传入一个数字数组:", arr)
),
strongly(
[{
name: String,
score: Number
}],
obj => console.log("带类型推断,传入一个鸭子类型的对象,限定了传入的参数对应的对象必须包含哪些键、类型必须为什么:", obj)
),
strongly(
[[BigInt, Number], [["!", String]]],
(num, notString) => console.log(
"带类型推断,",
"第一个参数既可以是普通数字,也可以是内置的大数类型:", num,
"第二个参数则保证不是字符串:", notString
)
),
strongly(
[[[BigInt], [Number]]],
numbers => console.log("带类型推断,这次为复合类型,允许你传入一个数字数组或一个大数数组:", numbers)
)
]);