fn
createProjection
v0.0.14testeddemoCreate a reusable numeric projection from one numeric domain to
another. Without a custom projector it performs a linear (lerp-based)
remap that extrapolates past the bounds; pass { clamp: true } to clamp the
input to the from domain via the stdlib remap. The returned factory can
be reused for many inputs.
Examples
ts
const project = createProjection([0, 100], [0, 1]);
const half = project(50); // 0.5ts
const project = createProjection([0, 10], [0, 100], { clamp: true });
const out = project(20); // 100 (clamped)Demo
Loading demo…
Signature
ts
export function createProjection(
fromDomain: MaybeRefOrGetter<readonly [number, number]>,
toDomain: MaybeRefOrGetter<readonly [number, number]>,
projector?: ProjectorFunction<number, number> | CreateProjectionOptions,
): UseProjection<number, number>{ ... }Parameters
| Parameter | Type | Description |
|---|---|---|
fromDomain | MaybeRefOrGetter<readonly [number, number]> | The source domain [start, end] |
toDomain | MaybeRefOrGetter<readonly [number, number]> | The target domain [start, end] |
projector? | ProjectorFunction<number, number> | CreateProjectionOptions | A custom projector, or options for the default projector |
Returns
UseProjection<number, number>A factory that projects a reactive number into a ComputedRef<number>