jsContract契约编程的JavaScript库
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;
}
评论
