A functionally oriented utility library for LiveScript with curried functions for lists, objects, strings, numbers, and function composition.
89
Functional challenges centered on argument orchestration.
invokeFromList calls the provided function with arguments from the given array without mutating it; using (a, b, c) => a + b + c and [2, 3, 5] returns 10. @test"done"). @testmakeLabeler("[", "]", "Ada") yields [Ada], and the function can also be invoked in stages such as makeLabeler("Hello, ")("!")("Ada") to produce Hello, Ada!. @testswapThenCombine with 10 and 3 produces -7 because the first two inputs are reversed before evaluation. @test(a, b, c) => (a - b) * c with inputs 2, 5, 2 yields 14). @test[ {score: 3}, {score: 7}, {score: 5} ], a projector extracting score, and a copy count of 2, the function applies the projector to every candidate, returns an array containing the highest-scoring object twice, and leaves the input array unchanged. Ties keep the first encountered item. @test[1, 5, 3] with a copy count of 3 returns [5, 5, 5]. Passing a non-numeric copy count (e.g., "three") raises TypeError, and an empty input array returns an empty array. @test@generates
export function invokeFromList(fn, args);
export function makeLabeler(prefix, suffix, name);
export function swapThenCombine(combiner, first, second, ...rest);
export function projectedMaxRepeater(values, projector, copies);Functional utility toolkit required for argument spreading, currying, swapped invocation, projection-based comparison, identity defaults, type guards, and value replication.
@satisfied-by
Install with Tessl CLI
npx tessl i tessl/npm-prelude-lsdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10