10 lines
360 B
TypeScript
10 lines
360 B
TypeScript
import type {Dependencies, Signature} from '../interfaces/type.js'
|
|
import {$reflect} from '../interfaces/type.js'
|
|
|
|
export const square =
|
|
<T>(dep: Dependencies<'multiply', T>): Signature<'square', T> =>
|
|
z => dep.multiply(z, z)
|
|
// z => dep.fooBar(z, z) // fails as desired
|
|
// z => dep.multiply(z, 'foo') // still fails as desired
|
|
$reflect!([square])
|