UNPKG

crocks

Version:

A collection of well known Algebraic Datatypes for your utter enjoyment.

14 lines (8 loc) 494 B
/** @license ISC License (c) copyright 2017 original and current authors */ /** @author Ian Hofmann-Hicks (evil) */ var isFunction = require('./isFunction') var fl = require('./flNames') var check = function (alg, m) { return isFunction(m[fl[alg]]) || isFunction(m[alg]); } var checkImpl = function (alg, m) { return isFunction(m['@@implements']) && !!m['@@implements'](alg); } var hasAlg = function (alg, m) { return !!m && (check(alg, m) || checkImpl(alg, m)); } module.exports = hasAlg