UNPKG

blackbird-server

Version:
11 lines (8 loc) 346 B
const {curry, lens, assoc, dissoc, __} = require("ramda"); const option = require("./option"); const assocLens = function (key) { return lens((s) => option.inhabit(s[key]), curry((vOpt, s) => vOpt.fold(assoc(key, __, s), () => dissoc(key, s)))); }; module.exports = {assocLens};