UNPKG

stick-js

Version:

Fast toolkit for functional programming in JS. Provides idioms for referentially transparent expressions, clear separation of mutable and immutable operations, object factories, function calls based on English grammar, and pipe & compose operators.

1 lines 1.9 kB
import{recurry}from"./curry.mjs";import mapManual from"./map-manual.mjs";var ownKeys=Reflect.ownKeys;export var remapKeys=recurry(2)(mapManual.remapKeys);export var remapKeysWithFilter=recurry(3)(mapManual._remapKeysWithFilter);export var remapValues=recurry(2)(mapManual.remapValues);export var remapValuesWithFilter=recurry(3)(mapManual._remapValuesWithFilter);export var remapTuples=recurry(2)(mapManual.remapTuples);export var remapTuplesWithFilter=recurry(3)(mapManual._remapTuplesWithFilter);export var mapKeys=recurry(2)(mapManual.mapKeys);export var mapKeysWithFilter=recurry(3)(mapManual._mapKeysWithFilter);export var mapValues=recurry(2)(mapManual.mapValues);export var mapValuesWithFilter=recurry(3)(mapManual._mapValuesWithFilter);export var mapTuples=recurry(2)(mapManual.mapTuples);export var mapTuplesWithFilter=recurry(3)(mapManual._mapTuplesWithFilter);export var fromPairs=mapManual.fromPairs;export var toPairs=mapManual.toPairs;export var withFilter=recurry(2)(function(p){return function(mapper){var f=_withFilter.get(mapper);if(f==null)throw new Error('cannot augment mapper');return f(p);};});var _withFilter=new Map().set(remapKeys,remapKeysWithFilter).set(mapManual.remapKeys,mapManual._remapKeysWithFilter).set(remapValues,remapValuesWithFilter).set(mapManual.remapValues,mapManual._remapValuesWithFilter).set(remapTuples,remapTuplesWithFilter).set(mapManual.remapTuples,mapManual._remapTuplesWithFilter).set(mapKeys,mapKeysWithFilter).set(mapManual.mapKeys,mapManual._mapKeysWithFilter).set(mapValues,mapValuesWithFilter).set(mapManual.mapValues,mapManual._mapValuesWithFilter).set(mapTuples,mapTuplesWithFilter).set(mapManual.mapTuples,mapManual._mapTuplesWithFilter);export default{withFilter:withFilter,remapKeys:remapKeys,remapValues:remapValues,remapTuples:remapTuples,mapKeys:mapKeys,mapValues:mapValues,mapTuples:mapTuples,fromPairs:fromPairs,toPairs:toPairs};