simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

multiple_signatures.js (502B)


      1 var typed = require('../typed-function');
      2 
      3 // create a typed function with multiple signatures
      4 var fn = typed({
      5   'number': function (a) {
      6     return 'a is a number';
      7   },
      8   'number, boolean': function (a, b) {
      9     return 'a is a number, b is a boolean';
     10   },
     11   'number, number': function (a, b) {
     12     return 'a is a number, b is a number';
     13   }
     14 });
     15 
     16 // use the function
     17 console.log(fn(2, true));      // outputs 'a is a number, b is a boolean'
     18 console.log(fn(2));            // outputs 'a is a number'