Merge pull request #193 from emarukyan/master

fix contract function type in comments
This commit is contained in:
hemanth.hm 2019-02-06 19:19:08 +05:30 committed by GitHub
commit d2529c2e33
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -343,16 +343,16 @@ const predicate = (a) => a > 2
A contract specifies the obligations and guarantees of the behavior from a function or expression at runtime. This acts as a set of rules that are expected from the input and output of a function or expression, and errors are generally reported whenever a contract is violated.
```js
// Define our contract : int -> int
// Define our contract : int -> boolean
const contract = (input) => {
if (typeof input === 'number') return true
throw new Error('Contract violated: expected int -> int')
throw new Error('Contract violated: expected int -> boolean')
}
const addOne = (num) => contract(num) && num + 1
addOne(2) // 3
addOne('some string') // Contract violated: expected int -> int
addOne('some string') // Contract violated: expected int -> boolean
```
## Category