fn
createProjection
v0.0.15testeddemoCreate 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 | undefined | A custom projector, or options for the default projector |
Returns
UseProjection<number, number>A factory that projects a reactive number into a `ComputedRef<number>`