R
fn

createProjection

v0.0.15testeddemo

Create 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.5
ts
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

ParameterTypeDescription
fromDomainMaybeRefOrGetter<readonly [number, number]>The source domain `[start, end]`
toDomainMaybeRefOrGetter<readonly [number, number]>The target domain `[start, end]`
projector?ProjectorFunction<number, number> | CreateProjectionOptions | undefinedA custom projector, or options for the default projector

Returns

UseProjection<number, number>A factory that projects a reactive number into a `ComputedRef<number>`