Skip to content

Enable contracts for functions? #196

@mlhaufe

Description

@mlhaufe

demands and ensures maybe, but what does rescue look like? invariant seems pointless.

Does anything apply to closures specifically?

Something like:

const squareContract = new FunctionContract<typeof square>({
  demands(x) { return typeof x == 'number' },
  ensures(result, [x]) { return result >= x } 
})

@Contracted(squareContract)
function square(x){ return x**2 }

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions