package requisite

  1. Overview
  2. Docs

Source file trust.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
type untrusted = unit
type trusted = unit
type (+'a, 'state) t = Tainted of 'a

let from_input value = Tainted value
let inspect (Tainted value) = value
let sanitize (Tainted value) policy = Tainted (policy value)

let try_sanitize (Tainted value) policy =
  Result.map (fun sanitized -> Tainted sanitized) (policy value)

let widen (Tainted value) = Tainted value
let trusted_value (Tainted value) = value