crocks
Version:
A collection of well known Algebraic Datatypes for your utter enjoyment.
14 lines (10 loc) • 380 B
JavaScript
/** @license ISC License (c) copyright 2017 original and current authors */
/** @author Ian Hofmann-Hicks (evil) */
var hasAlg = require('../core/hasAlg')
var isSemigroupoid = require('../core/isSemigroupoid')
// isCategory : a -> Boolean
function isCategory(m) {
return isSemigroupoid(m)
&& (hasAlg('id', m) || hasAlg('id', m.constructor))
}
module.exports = isCategory