{"version":3,"sources":["jsdelivr-header.js","/npm/conditional-callback@0.1.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACLA,MAAM,KAAO,QAAQ,kBACf,MAAQ,QAAQ,mBAChB,MAAQ,QAAQ,mBAChB,OAAS,QAAQ,oBACjB,OAAS,QAAQ,oBACjB,QAAU,QAAQ,qBAElB,cAAgB,CAAC,EAAU,EAAI,KACnC,MAAM,EAAe,KAAK,GAU1B,OATgB,QAAO,CAAC,EAAO,KAC7B,MAAM,EAAa,MAAM,QAAQ,EAAS,IAAQ,EAAS,GAAO,CAAC,EAAS,IAC5E,OAAO,GAAS,QAAQ,EAAR,CAAoB,EAAM,GAAK,IAC9C,EAAM,IAEP,EAAG,QAAO,CAAC,EAAK,IAAQ,MAAM,EAAK,CACjC,CAAC,GAAM,EAAM,MACX,CAAC,EAAG,IAEH,CAAK,EAGR,0BAA4B,CAAC,EAAU,EAAI,KAC/C,MAAM,EAAe,MAAM,IAAgB,QAAQ,GACnD,IAAI,EAAY,CAAC,EACjB,OAAQ,GACF,GAAgB,OAAO,EAAW,GAC7B,GAET,EAAY,EACL,cAAc,EAAU,EAAI,GACpC,EAGH,OAAO,QAAU,QAAQ,QAAU","file":"/npm/conditional-callback@0.1.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/conditional-callback@0.1.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\nconst keys = require('ramda/src/keys');\nconst isNil = require('ramda/src/isNil');\nconst merge = require('ramda/src/merge');\nconst equals = require('ramda/src/equals');\nconst reduce = require('ramda/src/reduce');\nconst allPass = require('ramda/src/allPass');\n\nconst applySelector = (selector, fn, state) => {\n  const selectorKeys = keys(selector);\n  const matches = reduce((valid, key) => {\n    const conditions = Array.isArray(selector[key]) ? selector[key] : [selector[key]];\n    return valid && allPass(conditions)(state[key]);\n  }, true, selectorKeys);\n  if (matches) {\n    fn(reduce((obj, key) => merge(obj, {\n      [key]: state[key]\n    }), {}, selectorKeys));\n  }\n  return state;\n};\n\nconst createConditionalCallback = (selector, fn, needsChange) => {\n  const _needsChange = isNil(needsChange) || Boolean(needsChange);\n  var prevState = {};\n  return (state) => {\n    if (_needsChange && equals(prevState, state)) {\n      return state;\n    }\n    prevState = state;\n    return applySelector(selector, fn, state);\n  };\n};\n\nmodule.exports = exports.default = createConditionalCallback;\n"]}