jsContract契约编程的JavaScript库

联合创作 · 2023-09-22 16:46

jsContract 是一个实现了契约编程的 JavaScript 库。

示例:

function _internalMethod(a, b){
Contract.expectNumber(a);
Contract.expectNumber(b);
Contract.expectWhen(config.mode === "divide", b > 0, "Divisor cannot be 0");
Contract.expectWhen(config.mode === "multiply", a > 0 && b > 0, "The multiplicands cannot be 0");
Contract.guaranteesNumber();
Contract.guarantees(function(result){
return result > 0;
}, "Result must be > 0");

if (config.mode == "divide") {
return a / b;
}
// At this point config.mode must be "multiply"
return a * b;
}
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报