@oazmi/kitchensink - v0.9.13
    Preparing search index...

    Function sequenceArgsMap

    • similar to sequenceMap, but made for variable number of function argument parameters.

      Type Parameters

      • A extends readonly unknown[][]
      • U extends { [K in string | number | symbol]: any } = { [K in string | number | symbol]: unknown }
      • D extends unknown = unknown
      • F extends SequenceArgsMapper<A, U, D> = SequenceArgsMapper<A, U, D>

      Parameters

      • mapping_funcs: F
      • input_args: A

      Returns { [K in string | number | symbol]: ReturnType<F[K<K>]> }

      import { assertEquals } from "jsr:@std/assert"

      type Vec1 = [number]
      type Vec2 = [number, number]
      type Vec3 = [string, string, string]

      const vec3 = [
      [1] as Vec1,
      [2, 2] as Vec2,
      ["halla", "mein", "fuhrer"] as Vec3,
      ] as const

      const vecc = sequenceArgsMap<typeof vec3, [boolean, number, string]>([
      (v0) => v0 + 4 > 0 ? true : false,
      (v0, v1) => v0 + v1**2,
      (s0, ...args) => ([
      (s0 === "halla" ? "hello" : "un-greetful"),
      ...args
      ].join(" ")),
      ], vec3)

      vecc satisfies (readonly [boolean, number, string])

      assertEquals(vecc, [true, 6, "hello mein fuhrer"])