jsContract - 契约编程的JavaScript库


未知
跨平台
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;  
}