time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

result.js (1068B)


      1 export function Ok(value) {
      2     return { ok: true, value: value };
      3 }
      4 export function Err(value) {
      5     return { ok: false, value: value };
      6 }
      7 export function fmap(r, fn) {
      8     if (r.ok) {
      9         return Ok(fn(r.value));
     10     }
     11     else {
     12         return r;
     13     }
     14 }
     15 export function fmap2(r, fn1, fn2) {
     16     if (r.ok) {
     17         return Ok(fn1(r.value));
     18     }
     19     else {
     20         return Err(fn2(r.value));
     21     }
     22 }
     23 export function errMap(r, fn) {
     24     if (r.ok) {
     25         return r;
     26     }
     27     else {
     28         return Err(fn(r.value));
     29     }
     30 }
     31 export function bind(r, fn) {
     32     if (r.ok) {
     33         return fn(r.value);
     34     }
     35     else {
     36         return r;
     37     }
     38 }
     39 export function merge(a, b) {
     40     if (!a.ok) {
     41         return a;
     42     }
     43     if (!b.ok) {
     44         return b;
     45     }
     46     return Ok([a.value, b.value]);
     47 }
     48 export function getError(r) {
     49     if (!r.ok) {
     50         return r.value;
     51     }
     52     else {
     53         return undefined;
     54     }
     55 }
     56 export function getExt(r) {
     57     if (r.ok) {
     58         return r.value;
     59     }
     60     else {
     61         throw r.value;
     62     }
     63 }
     64 //# sourceMappingURL=result.js.map