Function typed #
Create a typed-function which checks the types of the arguments and can match them against multiple provided signatures. The typed-function automatically converts inputs in order to find a matching signature. Typed functions throw informative errors in case of wrong input arguments.
See the library typed-function for detailed documentation.
Syntax #
math.typed(name, signatures) : function
math.typed(signatures) : function
Parameters #
Parameter | Type | Description |
---|---|---|
name |
string | Optional name for the typed-function |
signatures |
Object<string, function> | Object with one or multiple function signatures |
Returns #
Type | Description |
---|---|
function | The created typed-function. |
Throws #
Type | Description —- | ———–
Examples #
// create a typed function with multiple types per argument (type union)
const fn2 = typed({
'number | boolean': function (b) {
return 'b is a number or boolean'
},
'string, number | boolean': function (a, b) {
return 'a is a string, b is a number or boolean'
}
})
// create a typed function with an any type argument
const log = typed({
'string, any': function (event, data) {
console.log('event: ' + event + ', data: ' + JSON.stringify(data))
}
})