/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/immuto@0.9.34/built/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var redux_1=require("redux");function definition(r,e,n){return assign(n,{type:r,reduce:e})}function action(r,e){return definition(r,e,(function(e){return{type:r,payload:e}}))}function isAction(r,e){return r&&r.type===e}function mixin(r,e){var n=amend(r.empty,e.empty);return builder(n,(function(t,o){void 0===t&&(t=n);var i=e(t,o);if(i!==t)return amend(t,i);var u=r(t,o);return u!==t?amend(t,u):t}))}function builder(r,e){var n=assign(e,{actionType:void 0,cursorType:void 0,empty:r,action:function(n){return chain(n.type,r,n.reduce,e)},store:function(){return redux_1.createStore(e)},mixin:function(r){return mixin(n,r)}});return n}function chain(r,e,n,t){return builder(e,(function(e,o){return isAction(o,r)?n(e,o.payload):t(e,o)}))}function reducer(r){return builder(r,(function(e){return void 0===e?r:e}))}function cursor(r,e){var n;return n=assign(e,{$:function(r){return r(n)},state:r,valueOf:function(){return r}})}function snapshot(r){return cursor(r.getState(),(function(e){return r.dispatch(e),snapshot(r)}))}function item(r,e){return function(n){return cursor(r(n.state),(function(t){return item(r,e)(n(e(t)))}))}}function isReducerProvider(r){return"function"!=typeof r&&"function"==typeof r.reduce}function getReducer(r){return isReducerProvider(r)?r.reduce:r}function reference(r,e,n,t){var o=getReducer(e),i=ensureReducer("reference("+r+")",n,t);function u(e){return{type:r,payload:e}}var c=item((function(r){return n(r)}),u);return definition(r,(function(r,e){return i(r,o(n(r),e))}),assign(c,{update:u}))}function collection(r,e,n){var t=getReducer(r);function o(r,n){var o=e(r,n);return void 0===o?t.empty:o}function i(r,e){return{type:"AT",payload:{key:r,action:e}}}return definition("AT",(function(r,e){return n(r,e.key,t(o(r,e.key),e.action))}),assign((function(r){return item((function(e){return o(e,r)}),(function(e){return i(r,e)}))}),{update:i}))}function array(r){return collection(r,(function(r,e){return r[e]}),(function(r,e,n){return(r=r.slice(0))[e]=n,r}))}function objectByString(r){return collection(r,(function(r,e){return r[e]}),(function(r,e,n){return amend(r,((t={})[e]=n,t));var t}))}function objectByNumber(r){return collection(r,(function(r,e){return r[e]}),(function(r,e,n){return amend(r,((t={})[e]=n,t));var t}))}function removeFromObjectByString(){return action("REMOVE",(function(r,e){var n=assign({},r);return delete n[e],n}))}function removeFromObjectByNumber(){return action("REMOVE",(function(r,e){var n=assign({},r);return delete n[e],n}))}function primitive(){return reducer(void 0).action(action("REPLACE",(function(r,e){return e})))}function replace(r){return{type:"REPLACE",payload:r}}function property(r,e,n){return reference(r,primitive(),e,n)}function assign(r){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(!r)throw new Error("assign's target must be an object");for(var t=0,o=e;t<o.length;t++){var i=o[t];if(i)for(var u=0,c=Object.keys(i);u<c.length;u++){var a=c[u];r[a]=i[a]}}return r}function amend(r,e){return assign(Array.isArray(r)?[]:{},r,e)}exports.definition=definition,exports.action=action,exports.builder=builder,exports.reducer=reducer,exports.cursor=cursor,exports.snapshot=snapshot,exports.getReducer=getReducer,exports.reference=reference,exports.collection=collection,exports.array=array,exports.objectByString=objectByString,exports.objectByNumber=objectByNumber,exports.removeFromObjectByString=removeFromObjectByString,exports.removeFromObjectByNumber=removeFromObjectByNumber,exports.primitive=primitive,exports.replace=replace,exports.property=property,exports.assign=assign,exports.amend=amend;var matchFunction=/function\s*[a-z]*\s*\(\s*([a-z]+)\s*\)\s*\{\s*return\s+([a-z]+)\.([a-z]+)/i,matchLambda=/\(?\s*([a-z]+)\s*\)?\s*\=\>\s*([a-z]+)\.([a-z]+)/i;function ensureReducer(r,e,n){if(n)return n;var t=e.toString();matchFunction.lastIndex=0,matchLambda.lastIndex=0;var o=matchFunction.exec(t)||matchLambda.exec(t);if(!o)throw new Error("Cannot generate reducer for "+r+" - too complex to parse, needs explicit reduce");if(o[1]!==o[2])throw new Error("Cannot generate reducer for "+r+" - inconsistent parameter usage: "+o[1]+", "+o[2]);return function(r,e){return amend(r,((n={})[o[3]]=e,n));var n}}
//# sourceMappingURL=/sm/a4d66209bf833a6f94e82c2befd1791039a722514ba63983b3272cd31154a50c.map