typocomath/src/generic/arithmetic.ts

13 lines
315 B
TypeScript

import {Dependency, ImpType, ImpReturns} from '../core/Dispatcher.js'
declare module "./type" {
interface GenericImpTypes<T> {
square: (a: T) => ImpReturns<'multiply', [T, T]>
}
}
export const square =
<T>(dep: Dependency<'multiply', [T, T]>):
ImpType<'square', [T]> =>
t => dep.multiply(t, t)