https://github.com/codemix/obligations
Tiny JavaScript library for preconditions and postconditions, intended for use with Contractual.
https://github.com/codemix/obligations
Last synced: 8 months ago
JSON representation
Tiny JavaScript library for preconditions and postconditions, intended for use with Contractual.
- Host: GitHub
- URL: https://github.com/codemix/obligations
- Owner: codemix
- License: mit
- Created: 2014-04-21T17:49:08.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-04-28T21:39:09.000Z (over 11 years ago)
- Last Synced: 2025-05-06T00:37:28.429Z (8 months ago)
- Language: JavaScript
- Size: 145 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Obligations
[](https://travis-ci.org/codemix/obligations)
Tiny JavaScript library for [preconditions](http://en.wikipedia.org/wiki/Precondition), [postconditions](http://en.wikipedia.org/wiki/Postcondition) and [invariants](http://en.wikipedia.org/wiki/Invariant_\(computer_science\)), intended for use with [Contractual](https://github.com/codemix/contractual).
## Installation
```
npm install obligations
```
## Usage
```js
var obligations = require('obligations');
obligations.precondition(1 > 0); // always ok
obligations.precondition(false); // throws a PreconditionError
obligations.precondition(0 > 1, "The world has ended!"); // throws a PreconditionError with a custom message
obligations.postcondition(1 > 0); // always ok
obligations.postcondition(false); // throws a PostconditionError
obligations.postcondition(0 > 1, "The world has ended!"); // throws a PostconditionError with a custom message
obligations.invariant(1 > 0); // always ok
obligations.invariant(false); // throws an InvariantError
obligations.invariant(0 > 1, "The world has ended!"); // throws a InvariantError with a custom message
```
## License
MIT, see [LICENSE.md](./LICENSE.md).