crocks
Version:
A collection of well known Algebraic Datatypes for your utter enjoyment.
19 lines (14 loc) • 469 B
JavaScript
/** @license ISC License (c) copyright 2016 original and current authors */
/** @author Ian Hofmann-Hicks (evil) */
var curry = require('./curry')
var isFunction = require('./isFunction')
var type = require('./type')
// isSameType :: Container m => (m, m) -> Boolean
function isSameType(x, y) {
var tX = type(x)
var tY = type(y)
return tX === tY
|| isFunction(x) && x.name === tY
|| isFunction(y) && y.name === tX
}
module.exports = curry(isSameType)