import { curry2 } from '167'
/**
* Checks if 2 values are the same in terms of `===`
*
* @name same(expected: A, actual: A): A
* @example
* import { same } from '@typed/assertions'
*
* same({}, {}) // throws AssertionError
* same(1, 1) // => 1
*/
export const same: Same = curry2(function(expected: A, actual: A): A {
if (expected !== actual) throw new Error(`Expected value is not strictly equal to actual value`)
return actual
})
export interface Same {
(expected: A, actual: A): A
(expected: A): (actual: A) => A
}