@vve/immer 9.0.0-alpha.3 → 9.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/common.js +83 -0
- package/es/common.js.map +1 -0
- package/es/es5.js +242 -0
- package/es/es5.js.map +1 -0
- package/es/immer.js +263 -0
- package/es/immer.js.map +1 -0
- package/es/index.js +65 -0
- package/es/index.js.map +1 -0
- package/es/patches.js +149 -0
- package/es/patches.js.map +1 -0
- package/es/proxy.js +164 -0
- package/es/proxy.js.map +1 -0
- package/es/scope.js +42 -0
- package/es/scope.js.map +1 -0
- package/lib/common.js +103 -0
- package/lib/common.js.map +1 -0
- package/lib/es5.js +246 -0
- package/lib/es5.js.map +1 -0
- package/lib/immer.d.ts +248 -0
- package/lib/immer.js +272 -0
- package/lib/immer.js.map +1 -0
- package/lib/index.js +119 -0
- package/lib/index.js.map +1 -0
- package/lib/patches.js +156 -0
- package/lib/patches.js.map +1 -0
- package/lib/proxy.js +168 -0
- package/lib/proxy.js.map +1 -0
- package/lib/scope.js +48 -0
- package/lib/scope.js.map +1 -0
- package/package.json +12 -11
- package/umd/index.js +1134 -0
- package/umd/index.js.map +1 -0
- package/umd/index.min.js +2 -0
- package/umd/index.min.js.map +1 -0
- package/dist/immer.js +0 -1016
- package/dist/immer.js.map +0 -1
- package/dist/immer.module.js +0 -999
- package/dist/immer.module.js.map +0 -1
- package/dist/immer.umd.js +0 -2
- package/dist/immer.umd.js.map +0 -1
- /package/{dist → es}/immer.d.ts +0 -0
package/umd/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://VveImmer/webpack/universalModuleDefinition","webpack://VveImmer/../../node_modules/.pnpm/@shein-lego+webpack-bundler@1.2.4/node_modules/@shein-lego/webpack-bundler/compiled/@shein-lego/webpack-plugin-node-polyfill/process/browser.js","webpack://VveImmer/webpack/bootstrap","webpack://VveImmer/webpack/runtime/define property getters","webpack://VveImmer/webpack/runtime/hasOwnProperty shorthand","webpack://VveImmer/webpack/runtime/make namespace object","webpack://VveImmer/./src/common.js","webpack://VveImmer/./src/scope.js","webpack://VveImmer/./src/es5.js","webpack://VveImmer/./src/proxy.js","webpack://VveImmer/./src/patches.js","webpack://VveImmer/./src/immer.js","webpack://VveImmer/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VveImmer\"] = factory();\n\telse\n\t\troot[\"VveImmer\"] = factory();\n})(self, () => {\nreturn ","(function(){var e={952:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(952);module.exports=r})();","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const NOTHING =\n typeof Symbol !== \"undefined\"\n ? Symbol(\"immer-nothing\")\n : {[\"immer-nothing\"]: true}\n\nexport const DRAFTABLE =\n typeof Symbol !== \"undefined\" && Symbol.for\n ? Symbol.for(\"immer-draftable\")\n : \"__$immer_draftable\"\n\nexport const DRAFT_STATE =\n typeof Symbol !== \"undefined\" && Symbol.for\n ? Symbol.for(\"immer-state\")\n : \"__$immer_state\"\n\nexport function isDraft(value) {\n return !!value && !!value[DRAFT_STATE]\n}\n\nexport function isDraftable(value) {\n if (!value || typeof value !== \"object\") return false\n if (Array.isArray(value)) return true\n const proto = Object.getPrototypeOf(value)\n if (!proto || proto === Object.prototype) return true\n return !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE]\n}\n\nexport function original(value) {\n if (value && value[DRAFT_STATE]) {\n return value[DRAFT_STATE].base\n }\n // otherwise return undefined\n}\n\nexport const assign =\n Object.assign ||\n function assign(target, value) {\n for (let key in value) {\n if (has(value, key)) {\n target[key] = value[key]\n }\n }\n return target\n }\n\nexport const ownKeys =\n typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : typeof Object.getOwnPropertySymbols !== \"undefined\"\n ? obj =>\n Object.getOwnPropertyNames(obj).concat(\n Object.getOwnPropertySymbols(obj)\n )\n : Object.getOwnPropertyNames\n\nexport function shallowCopy(base, invokeGetters = false) {\n if (Array.isArray(base)) return base.slice()\n const clone = Object.create(Object.getPrototypeOf(base))\n ownKeys(base).forEach(key => {\n if (key === DRAFT_STATE) {\n return // Never copy over draft state.\n }\n const desc = Object.getOwnPropertyDescriptor(base, key)\n let {value} = desc\n if (desc.get) {\n if (!invokeGetters) {\n throw new Error(\"Immer drafts cannot have computed properties\")\n }\n value = desc.get.call(base)\n }\n if (desc.enumerable) {\n clone[key] = value\n } else {\n Object.defineProperty(clone, key, {\n value,\n writable: true,\n configurable: true\n })\n }\n })\n return clone\n}\n\nexport function each(value, cb) {\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) cb(i, value[i], value)\n } else {\n ownKeys(value).forEach(key => cb(key, value[key], value))\n }\n}\n\nexport function isEnumerable(base, prop) {\n const desc = Object.getOwnPropertyDescriptor(base, prop)\n return !!desc && desc.enumerable\n}\n\nexport function has(thing, prop) {\n return Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\nexport function is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y\n } else {\n return x !== x && y !== y\n }\n}\n","import {DRAFT_STATE} from \"./common\"\n\n/** Each scope represents a `produce` call. */\nexport class ImmerScope {\n constructor(parent) {\n this.drafts = []\n this.parent = parent\n\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n this.canAutoFreeze = true\n\n // To avoid prototype lookups:\n this.patches = null\n }\n usePatches(patchListener) {\n if (patchListener) {\n this.patches = []\n this.inversePatches = []\n this.patchListener = patchListener\n }\n }\n revoke(keepAlive) {\n this.leave()\n keepAlive || this.drafts.forEach(revoke)\n this.drafts = null // Make draft-related methods throw.\n }\n leave() {\n if (this === ImmerScope.current) {\n ImmerScope.current = this.parent\n }\n }\n}\n\nImmerScope.current = null\nImmerScope.enter = function() {\n return (this.current = new ImmerScope(this.current))\n}\n\nfunction revoke(draft) {\n draft[DRAFT_STATE].revoke()\n}\n","\"use strict\"\nimport {\n each,\n has,\n is,\n isDraft,\n isDraftable,\n isEnumerable,\n shallowCopy,\n DRAFT_STATE\n} from \"./common\"\nimport {ImmerScope} from \"./scope\"\n\n// property descriptors are recycled to make sure we don't create a get and set closure per property,\n// but share them all instead\nconst descriptors = {}\nconst noop = () => {}\n\nexport function willFinalize(scope, result, isReplaced) {\n scope.drafts.forEach(draft => {\n draft[DRAFT_STATE].finalizing = true\n })\n if (!isReplaced) {\n if (scope.patches) {\n markChangesRecursively(scope.drafts[0])\n }\n // This is faster when we don't care about which attributes changed.\n markChangesSweep(scope.drafts)\n }\n // When a child draft is returned, look for changes.\n else if (isDraft(result) && result[DRAFT_STATE].scope === scope) {\n markChangesSweep(scope.drafts)\n }\n}\n\nexport function createProxy(base, parent) {\n const isArray = Array.isArray(base)\n const draft = clonePotentialDraft(base)\n each(draft, prop => {\n proxyProperty(draft, prop, isArray || isEnumerable(base, prop))\n })\n\n // See \"proxy.js\" for property documentation.\n const scope = parent ? parent.scope : ImmerScope.current\n const state = {\n scope,\n modified: false,\n finalizing: false, // es5 only\n finalized: false,\n assigned: {},\n parent,\n base,\n draft,\n copy: null,\n revoke,\n revoked: false // es5 only\n }\n\n createHiddenProperty(draft, DRAFT_STATE, state)\n scope.drafts.push(draft)\n return draft\n}\n\nfunction revoke() {\n this.revoked = true\n}\n\nfunction source(state) {\n return state.copy || state.base\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE]\n if (state && !state.finalizing) {\n state.finalizing = true\n const value = draft[prop]\n state.finalizing = false\n return value\n }\n return draft[prop]\n}\n\nfunction get(state, prop) {\n assertUnrevoked(state)\n const value = peek(source(state), prop)\n if (state.finalizing) return value\n // Create a draft if the value is unmodified.\n if (value === peek(state.base, prop) && isDraftable(value)) {\n prepareCopy(state)\n return (state.copy[prop] = createProxy(value, state))\n }\n return value\n}\n\nfunction set(state, prop, value) {\n assertUnrevoked(state)\n state.assigned[prop] = true\n if (!state.modified) {\n if (is(value, peek(source(state), prop))) return\n markChanged(state)\n prepareCopy(state)\n }\n state.copy[prop] = value\n}\n\nfunction markChanged(state) {\n if (!state.modified) {\n state.modified = true\n if (state.parent) markChanged(state.parent)\n }\n}\n\nfunction prepareCopy(state) {\n if (!state.copy) state.copy = clonePotentialDraft(state.base)\n}\n\nfunction clonePotentialDraft(base) {\n const state = base && base[DRAFT_STATE]\n if (state) {\n state.finalizing = true\n const draft = shallowCopy(state.draft, true)\n state.finalizing = false\n return draft\n }\n return shallowCopy(base)\n}\n\nfunction proxyProperty(draft, prop, enumerable) {\n let desc = descriptors[prop]\n if (desc) {\n desc.enumerable = enumerable\n } else {\n descriptors[prop] = desc = {\n configurable: true,\n enumerable,\n get() {\n return get(this[DRAFT_STATE], prop)\n },\n set(value) {\n set(this[DRAFT_STATE], prop, value)\n }\n }\n }\n Object.defineProperty(draft, prop, desc)\n}\n\nfunction assertUnrevoked(state) {\n if (state.revoked === true)\n throw new Error(\n \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n JSON.stringify(source(state))\n )\n}\n\n// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\nfunction markChangesSweep(drafts) {\n // The natural order of drafts in the `scope` array is based on when they\n // were accessed. By processing drafts in reverse natural order, we have a\n // better chance of processing leaf nodes first. When a leaf node is known to\n // have changed, we can avoid any traversal of its ancestor nodes.\n for (let i = drafts.length - 1; i >= 0; i--) {\n const state = drafts[i][DRAFT_STATE]\n if (!state.modified) {\n if (Array.isArray(state.base)) {\n if (hasArrayChanges(state)) markChanged(state)\n } else if (hasObjectChanges(state)) markChanged(state)\n }\n }\n}\n\nfunction markChangesRecursively(object) {\n if (!object || typeof object !== \"object\") return\n const state = object[DRAFT_STATE]\n if (!state) return\n const {base, draft, assigned} = state\n if (!Array.isArray(object)) {\n // Look for added keys.\n Object.keys(draft).forEach(key => {\n // The `undefined` check is a fast path for pre-existing keys.\n if (base[key] === undefined && !has(base, key)) {\n assigned[key] = true\n markChanged(state)\n } else if (!assigned[key]) {\n // Only untouched properties trigger recursion.\n markChangesRecursively(draft[key])\n }\n })\n // Look for removed keys.\n Object.keys(base).forEach(key => {\n // The `undefined` check is a fast path for pre-existing keys.\n if (draft[key] === undefined && !has(draft, key)) {\n assigned[key] = false\n markChanged(state)\n }\n })\n } else if (hasArrayChanges(state)) {\n markChanged(state)\n assigned.length = true\n if (draft.length < base.length) {\n for (let i = draft.length; i < base.length; i++) assigned[i] = false\n } else {\n for (let i = base.length; i < draft.length; i++) assigned[i] = true\n }\n for (let i = 0; i < draft.length; i++) {\n // Only untouched indices trigger recursion.\n if (assigned[i] === undefined) markChangesRecursively(draft[i])\n }\n }\n}\n\nfunction hasObjectChanges(state) {\n const {base, draft} = state\n\n // Search for added keys and changed keys. Start at the back, because\n // non-numeric keys are ordered by time of definition on the object.\n const keys = Object.keys(draft)\n for (let i = keys.length - 1; i >= 0; i--) {\n const key = keys[i]\n const baseValue = base[key]\n // The `undefined` check is a fast path for pre-existing keys.\n if (baseValue === undefined && !has(base, key)) {\n return true\n }\n // Once a base key is deleted, future changes go undetected, because its\n // descriptor is erased. This branch detects any missed changes.\n else {\n const value = draft[key]\n const state = value && value[DRAFT_STATE]\n if (state ? state.base !== baseValue : !is(value, baseValue)) {\n return true\n }\n }\n }\n\n // At this point, no keys were added or changed.\n // Compare key count to determine if keys were deleted.\n return keys.length !== Object.keys(base).length\n}\n\nfunction hasArrayChanges(state) {\n const {draft} = state\n if (draft.length !== state.base.length) return true\n // See #116\n // If we first shorten the length, our array interceptors will be removed.\n // If after that new items are added, result in the same original length,\n // those last items will have no intercepting property.\n // So if there is no own descriptor on the last position, we know that items were removed and added\n // N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n // the last one\n const descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1)\n // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n if (descriptor && !descriptor.get) return true\n // For all other cases, we don't have to compare, as they would have been picked up by the index setters\n return false\n}\n\nfunction createHiddenProperty(target, prop, value) {\n Object.defineProperty(target, prop, {\n value: value,\n enumerable: false,\n writable: true\n })\n}\n","\"use strict\"\nimport {\n assign,\n each,\n has,\n is,\n isDraftable,\n isDraft,\n shallowCopy,\n DRAFT_STATE\n} from \"./common\"\nimport {ImmerScope} from \"./scope\"\n\n// Do nothing before being finalized.\nexport function willFinalize() {}\n\nexport function createProxy(base, parent) {\n const scope = parent ? parent.scope : ImmerScope.current\n const state = {\n // Track which produce call this is associated with.\n scope,\n // True for both shallow and deep changes.\n modified: false,\n // Used during finalization.\n finalized: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned: {},\n // The parent draft state.\n parent,\n // The base state.\n base,\n // The base proxy.\n draft: null,\n // Any property proxies.\n drafts: {},\n // The base copy with any updated values.\n copy: null,\n // Called by the `produce` function.\n revoke: null\n }\n\n const {revoke, proxy} = Array.isArray(base)\n ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants,\n // although state itself is an object\n Proxy.revocable([state], arrayTraps)\n : Proxy.revocable(state, objectTraps)\n\n state.draft = proxy\n state.revoke = revoke\n\n scope.drafts.push(proxy)\n return proxy\n}\n\nconst objectTraps = {\n get,\n has(target, prop) {\n return prop in source(target)\n },\n ownKeys(target) {\n return Reflect.ownKeys(source(target))\n },\n set,\n deleteProperty,\n getOwnPropertyDescriptor,\n defineProperty() {\n throw new Error(\"Object.defineProperty() cannot be used on an Immer draft\") // prettier-ignore\n },\n getPrototypeOf(target) {\n return Object.getPrototypeOf(target.base)\n },\n setPrototypeOf() {\n throw new Error(\"Object.setPrototypeOf() cannot be used on an Immer draft\") // prettier-ignore\n }\n}\n\nconst arrayTraps = {}\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0]\n return fn.apply(this, arguments)\n }\n})\narrayTraps.deleteProperty = function(state, prop) {\n if (isNaN(parseInt(prop))) {\n throw new Error(\"Immer only supports deleting array indices\") // prettier-ignore\n }\n return objectTraps.deleteProperty.call(this, state[0], prop)\n}\narrayTraps.set = function(state, prop, value) {\n if (prop !== \"length\" && isNaN(parseInt(prop))) {\n throw new Error(\"Immer only supports setting array indices and the 'length' property\") // prettier-ignore\n }\n return objectTraps.set.call(this, state[0], prop, value)\n}\n\n// returns the object we should be reading the current value from, which is base, until some change has been made\nfunction source(state) {\n return state.copy || state.base\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE]\n const desc = Reflect.getOwnPropertyDescriptor(\n state ? source(state) : draft,\n prop\n )\n return desc && desc.value\n}\n\nfunction get(state, prop) {\n if (prop === DRAFT_STATE) return state\n let {drafts} = state\n\n // Check for existing draft in unmodified state.\n if (!state.modified && has(drafts, prop)) {\n return drafts[prop]\n }\n\n const value = source(state)[prop]\n if (state.finalized || !isDraftable(value)) {\n return value\n }\n\n // Check for existing draft in modified state.\n if (state.modified) {\n // Assigned values are never drafted. This catches any drafts we created, too.\n if (value !== peek(state.base, prop)) return value\n // Store drafts on the copy (when one exists).\n drafts = state.copy\n }\n\n return (drafts[prop] = createProxy(value, state))\n}\n\nfunction set(state, prop, value) {\n if (!state.modified) {\n const baseValue = peek(state.base, prop)\n // Optimize based on value's truthiness. Truthy values are guaranteed to\n // never be undefined, so we can avoid the `in` operator. Lastly, truthy\n // values may be drafts, but falsy values are never drafts.\n const isUnchanged = value\n ? is(baseValue, value) || value === state.drafts[prop]\n : is(baseValue, value) && prop in state.base\n if (isUnchanged) return true\n markChanged(state)\n }\n state.assigned[prop] = true\n state.copy[prop] = value\n return true\n}\n\nfunction deleteProperty(state, prop) {\n // The `undefined` check is a fast path for pre-existing keys.\n if (peek(state.base, prop) !== undefined || prop in state.base) {\n state.assigned[prop] = false\n markChanged(state)\n }\n if (state.copy) delete state.copy[prop]\n return true\n}\n\n// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n// the same guarantee in ES5 mode.\nfunction getOwnPropertyDescriptor(state, prop) {\n const owner = source(state)\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n if (desc) {\n desc.writable = true\n desc.configurable = !Array.isArray(owner) || prop !== \"length\"\n }\n return desc\n}\n\nfunction markChanged(state) {\n if (!state.modified) {\n state.modified = true\n state.copy = assign(shallowCopy(state.base), state.drafts)\n state.drafts = null\n if (state.parent) markChanged(state.parent)\n }\n}\n","import {each} from \"./common\"\n\nexport function generatePatches(state, basePath, patches, inversePatches) {\n Array.isArray(state.base)\n ? generateArrayPatches(state, basePath, patches, inversePatches)\n : generateObjectPatches(state, basePath, patches, inversePatches)\n}\n\nfunction generateArrayPatches(state, basePath, patches, inversePatches) {\n let {base, copy, assigned} = state\n\n // Reduce complexity by ensuring `base` is never longer.\n if (copy.length < base.length) {\n ;[base, copy] = [copy, base]\n ;[patches, inversePatches] = [inversePatches, patches]\n }\n\n const delta = copy.length - base.length\n\n // Find the first replaced index.\n let start = 0\n while (base[start] === copy[start] && start < base.length) {\n ++start\n }\n\n // Find the last replaced index. Search from the end to optimize splice patches.\n let end = base.length\n while (end > start && base[end - 1] === copy[end + delta - 1]) {\n --end\n }\n\n // Process replaced indices.\n for (let i = start; i < end; ++i) {\n if (assigned[i] && copy[i] !== base[i]) {\n const path = basePath.concat([i])\n patches.push({\n op: \"replace\",\n path,\n value: copy[i]\n })\n inversePatches.push({\n op: \"replace\",\n path,\n value: base[i]\n })\n }\n }\n\n const useRemove = end != base.length\n const replaceCount = patches.length\n\n // Process added indices.\n for (let i = end + delta - 1; i >= end; --i) {\n const path = basePath.concat([i])\n patches[replaceCount + i - end] = {\n op: \"add\",\n path,\n value: copy[i]\n }\n if (useRemove) {\n inversePatches.push({\n op: \"remove\",\n path\n })\n }\n }\n\n // One \"replace\" patch reverses all non-splicing \"add\" patches.\n if (!useRemove) {\n inversePatches.push({\n op: \"replace\",\n path: basePath.concat([\"length\"]),\n value: base.length\n })\n }\n}\n\nfunction generateObjectPatches(state, basePath, patches, inversePatches) {\n const {base, copy} = state\n each(state.assigned, (key, assignedValue) => {\n const origValue = base[key]\n const value = copy[key]\n const op = !assignedValue ? \"remove\" : key in base ? \"replace\" : \"add\"\n if (origValue === value && op === \"replace\") return\n const path = basePath.concat(key)\n patches.push(op === \"remove\" ? {op, path} : {op, path, value})\n inversePatches.push(\n op === \"add\"\n ? {op: \"remove\", path}\n : op === \"remove\"\n ? {op: \"add\", path, value: origValue}\n : {op: \"replace\", path, value: origValue}\n )\n })\n}\n\nexport function applyPatches(draft, patches) {\n for (let i = 0; i < patches.length; i++) {\n const patch = patches[i]\n const {path} = patch\n if (path.length === 0 && patch.op === \"replace\") {\n draft = patch.value\n } else {\n let base = draft\n for (let i = 0; i < path.length - 1; i++) {\n base = base[path[i]]\n if (!base || typeof base !== \"object\")\n throw new Error(\"Cannot apply patch, path doesn't resolve: \" + path.join(\"/\")) // prettier-ignore\n }\n const key = path[path.length - 1]\n switch (patch.op) {\n case \"replace\":\n base[key] = patch.value\n break\n case \"add\":\n if (Array.isArray(base)) {\n // TODO: support \"foo/-\" paths for appending to an array\n base.splice(key, 0, patch.value)\n } else {\n base[key] = patch.value\n }\n break\n case \"remove\":\n if (Array.isArray(base)) {\n base.splice(key, 1)\n } else {\n delete base[key]\n }\n break\n default:\n throw new Error(\"Unsupported patch operation: \" + patch.op)\n }\n }\n }\n return draft\n}\n","import * as legacyProxy from \"./es5\"\nimport * as modernProxy from \"./proxy\"\nimport {applyPatches, generatePatches} from \"./patches\"\nimport {\n assign,\n each,\n has,\n is,\n isDraft,\n isDraftable,\n isEnumerable,\n shallowCopy,\n DRAFT_STATE,\n NOTHING\n} from \"./common\"\nimport {ImmerScope} from \"./scope\"\n\nfunction verifyMinified() {}\n\nconst configDefaults = {\n useProxies: typeof Proxy !== \"undefined\" && typeof Reflect !== \"undefined\",\n autoFreeze:\n typeof process !== \"undefined\"\n ? process.env.NODE_ENV !== \"production\"\n : verifyMinified.name === \"verifyMinified\",\n onAssign: null,\n onDelete: null,\n onCopy: null\n}\n\nexport class Immer {\n constructor(config) {\n assign(this, configDefaults, config)\n this.setUseProxies(this.useProxies)\n this.produce = this.produce.bind(this)\n }\n produce(base, recipe, patchListener) {\n // curried invocation\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe\n recipe = base\n\n const self = this\n return function curriedProduce(base = defaultBase, ...args) {\n return self.produce(base, draft => recipe.call(this, draft, ...args)) // prettier-ignore\n }\n }\n\n // prettier-ignore\n {\n if (typeof recipe !== \"function\") {\n throw new Error(\"The first or second argument to `produce` must be a function\")\n }\n if (patchListener !== undefined && typeof patchListener !== \"function\") {\n throw new Error(\"The third argument to `produce` must be a function or undefined\")\n }\n }\n\n let result\n\n // Only plain objects, arrays, and \"immerable classes\" are drafted.\n if (isDraftable(base)) {\n const scope = ImmerScope.enter()\n const proxy = this.createProxy(base)\n let hasError = true\n try {\n result = recipe(proxy)\n hasError = false\n } finally {\n // finally instead of catch + rethrow better preserves original stack\n if (hasError) scope.revoke()\n else scope.leave()\n }\n if (result instanceof Promise) {\n return result.then(\n result => {\n scope.usePatches(patchListener)\n return this.processResult(result, scope)\n },\n error => {\n scope.revoke()\n throw error\n }\n )\n }\n scope.usePatches(patchListener)\n return this.processResult(result, scope)\n } else {\n result = recipe(base)\n if (result === undefined) return base\n return result !== NOTHING ? result : undefined\n }\n }\n createDraft(base) {\n if (!isDraftable(base)) {\n throw new Error(\"First argument to `createDraft` must be a plain object, an array, or an immerable object\") // prettier-ignore\n }\n const scope = ImmerScope.enter()\n const proxy = this.createProxy(base, null)\n proxy[DRAFT_STATE].isManual = true\n scope.leave()\n return proxy\n }\n finishDraft(draft, patchListener, keepAlive) {\n const state = draft && draft[DRAFT_STATE]\n if (!state || !state.isManual) {\n throw new Error(\"First argument to `finishDraft` must be a draft returned by `createDraft`\") // prettier-ignore\n }\n if (state.finalized) {\n throw new Error(\"The given draft is already finalized\") // prettier-ignore\n }\n const {scope} = state\n scope.usePatches(patchListener)\n return this.processResult(undefined, scope, keepAlive)\n }\n setAutoFreeze(value) {\n this.autoFreeze = value\n }\n setUseProxies(value) {\n this.useProxies = value\n assign(this, value ? modernProxy : legacyProxy)\n }\n applyPatches(base, patches) {\n // Mutate the base state when a draft is passed.\n if (isDraft(base)) {\n return applyPatches(base, patches)\n }\n // Otherwise, produce a copy of the base state.\n return this.produce(base, draft => applyPatches(draft, patches))\n }\n /** @internal */\n processResult(result, scope, keepAlive) {\n const baseDraft = scope.drafts[0]\n const isReplaced = result !== undefined && result !== baseDraft\n this.willFinalize(scope, result, isReplaced)\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified) {\n scope.revoke(keepAlive)\n throw new Error(\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\") // prettier-ignore\n }\n if (isDraftable(result)) {\n // Finalize the result in case it contains (or is) a subset of the draft.\n result = this.finalize(result, null, scope)\n }\n if (scope.patches) {\n scope.patches.push({\n op: \"replace\",\n path: [],\n value: result\n })\n scope.inversePatches.push({\n op: \"replace\",\n path: [],\n value: baseDraft[DRAFT_STATE].base\n })\n }\n } else {\n // Finalize the base draft.\n result = this.finalize(baseDraft, [], scope, keepAlive)\n }\n scope.revoke(keepAlive)\n if (scope.patches) {\n scope.patchListener(scope.patches, scope.inversePatches)\n }\n return result !== NOTHING ? result : undefined\n }\n /**\n * @internal\n * Finalize a draft, returning either the unmodified base state or a modified\n * copy of the base state.\n */\n finalize(draft, path, scope, keepAlive) {\n const state = draft[DRAFT_STATE]\n if (!state) {\n if (Object.isFrozen(draft)) return draft\n return this.finalizeTree(draft, null, scope)\n }\n // Never finalize drafts owned by another scope.\n if (state.scope !== scope) {\n return draft\n }\n if (!state.modified) {\n return state.base\n }\n if (!state.finalized) {\n if (!keepAlive) state.finalized = true\n this.finalizeTree(state.draft, path, scope)\n\n if (this.onDelete) {\n // The `assigned` object is unreliable with ES5 drafts.\n if (this.useProxies) {\n const {assigned} = state\n for (const prop in assigned) {\n if (!assigned[prop]) this.onDelete(state, prop)\n }\n } else {\n const {base, copy} = state\n each(base, prop => {\n if (!has(copy, prop)) this.onDelete(state, prop)\n })\n }\n }\n if (this.onCopy) {\n this.onCopy(state)\n }\n\n // At this point, all descendants of `state.copy` have been finalized,\n // so we can be sure that `scope.canAutoFreeze` is accurate.\n if (this.autoFreeze && scope.canAutoFreeze) {\n Object.freeze(state.copy)\n }\n\n if (path && scope.patches) {\n generatePatches(\n state,\n path,\n scope.patches,\n scope.inversePatches\n )\n }\n }\n return state.copy\n }\n /**\n * @internal\n * Finalize all drafts in the given state tree.\n */\n finalizeTree(root, rootPath, scope) {\n const state = root[DRAFT_STATE]\n if (state) {\n if (!this.useProxies) {\n // Create the final copy, with added keys and without deleted keys.\n state.copy = shallowCopy(state.draft, true)\n }\n root = state.copy\n }\n\n const needPatches = !!rootPath && !!scope.patches\n const finalizeProperty = (prop, value, parent) => {\n if (value === parent) {\n throw Error(\"Immer forbids circular references\")\n }\n\n // In the `finalizeTree` method, only the `root` object may be a draft.\n const isDraftProp = !!state && parent === root\n\n if (isDraft(value)) {\n const path =\n isDraftProp && needPatches && !state.assigned[prop]\n ? rootPath.concat(prop)\n : null\n\n // Drafts owned by `scope` are finalized here.\n value = this.finalize(value, path, scope)\n\n // Drafts from another scope must prevent auto-freezing.\n if (isDraft(value)) {\n scope.canAutoFreeze = false\n }\n\n // Preserve non-enumerable properties.\n if (Array.isArray(parent) || isEnumerable(parent, prop)) {\n parent[prop] = value\n } else {\n Object.defineProperty(parent, prop, {value})\n }\n\n // Unchanged drafts are never passed to the `onAssign` hook.\n if (isDraftProp && value === state.base[prop]) return\n }\n // Unchanged draft properties are ignored.\n else if (isDraftProp && is(value, state.base[prop])) {\n return\n }\n // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n else if (isDraftable(value) && !Object.isFrozen(value)) {\n each(value, finalizeProperty)\n }\n\n if (isDraftProp && this.onAssign) {\n this.onAssign(state, prop, value)\n }\n }\n\n each(root, finalizeProperty)\n return root\n }\n}\n","import {Immer} from \"./immer\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce = immer.produce\nexport default produce\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is disabled in production.\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\nexport {\n original,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n DRAFTABLE as immerable,\n DRAFT_STATE\n} from \"./common\"\n\nexport {Immer}\n"],"names":["NOTHING","Symbol","DRAFTABLE","for","DRAFT_STATE","isDraft","value","isDraftable","Array","isArray","proto","Object","getPrototypeOf","prototype","constructor","original","base","assign","target","key","has","ownKeys","Reflect","getOwnPropertySymbols","obj","getOwnPropertyNames","concat","shallowCopy","invokeGetters","arguments","length","undefined","slice","clone","create","forEach","desc","getOwnPropertyDescriptor","get","Error","call","enumerable","defineProperty","writable","configurable","each","cb","i","isEnumerable","prop","thing","hasOwnProperty","is","x","y","ImmerScope","parent","drafts","canAutoFreeze","patches","usePatches","patchListener","inversePatches","revoke","keepAlive","leave","current","enter","draft","descriptors","noop","willFinalize","scope","result","isReplaced","finalizing","markChangesRecursively","markChangesSweep","createProxy","clonePotentialDraft","proxyProperty","state","modified","finalized","assigned","copy","revoked","createHiddenProperty","push","source","peek","assertUnrevoked","prepareCopy","set","markChanged","JSON","stringify","hasArrayChanges","hasObjectChanges","object","keys","baseValue","descriptor","_ref","Proxy","revocable","arrayTraps","objectTraps","proxy","deleteProperty","setPrototypeOf","fn","apply","isNaN","parseInt","isUnchanged","owner","generatePatches","basePath","generateArrayPatches","generateObjectPatches","_ref2","delta","start","end","path","op","useRemove","replaceCount","assignedValue","origValue","applyPatches","patch","join","splice","legacyProxy","modernProxy","verifyMinified","configDefaults","useProxies","autoFreeze","process","env","NODE_ENV","name","onAssign","onDelete","onCopy","Immer","config","setUseProxies","produce","bind","recipe","defaultBase","self","curriedProduce","_len","args","_key","hasError","Promise","then","processResult","error","createDraft","isManual","finishDraft","setAutoFreeze","baseDraft","finalize","isFrozen","finalizeTree","freeze","root","rootPath","needPatches","finalizeProperty","isDraftProp","immer","nothing","immerable"],"sourceRoot":""}
|
package/umd/index.min.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.VveImmer=r():e.VveImmer=r()}(self,(()=>(()=>{var e={376:e=>{!function(){var r={952:function(e){var r,t,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(n){try{return r.call(null,e,0)}catch(n){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{t="function"==typeof clearTimeout?clearTimeout:i}catch(e){t=i}}();var s,f=[],c=!1,u=-1;function l(){c&&s&&(c=!1,s.length?f=s.concat(f):u=-1,f.length&&p())}function p(){if(!c){var e=a(l);c=!0;for(var r=f.length;r;){for(s=f,f=[];++u<r;)s&&s[u].run();u=-1,r=f.length}s=null,c=!1,function(e){if(t===clearTimeout)return clearTimeout(e);if((t===i||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(e);try{return t(e)}catch(r){try{return t.call(null,e)}catch(r){return t.call(this,e)}}}(e)}}function h(e,r){this.fun=e,this.array=r}function d(){}n.nextTick=function(e){var r=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)r[t-1]=arguments[t];f.push(new h(e,r)),1!==f.length||c||a(p)},h.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=d,n.addListener=d,n.once=d,n.off=d,n.removeListener=d,n.removeAllListeners=d,n.emit=d,n.prependListener=d,n.prependOnceListener=d,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var i=t[e]={exports:{}},a=!0;try{r[e](i,i.exports,n),a=!1}finally{a&&delete t[e]}return i.exports}void 0!==n&&(n.ab="//");var o=n(952);e.exports=o}()}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";t.r(n),t.d(n,{DRAFT_STATE:()=>a,Immer:()=>J,applyPatches:()=>W,createDraft:()=>X,default:()=>G,finishDraft:()=>Y,immerable:()=>i,isDraft:()=>s,isDraftable:()=>f,nothing:()=>o,original:()=>c,produce:()=>B,setAutoFreeze:()=>H,setUseProxies:()=>Q});var e={};t.r(e),t.d(e,{createProxy:()=>P,willFinalize:()=>w});var r={};t.r(r),t.d(r,{createProxy:()=>I,willFinalize:()=>R});var o="undefined"!=typeof Symbol?Symbol("immer-nothing"):{"immer-nothing":!0},i="undefined"!=typeof Symbol&&Symbol.for?Symbol.for("immer-draftable"):"__$immer_draftable",a="undefined"!=typeof Symbol&&Symbol.for?Symbol.for("immer-state"):"__$immer_state";function s(e){return!!e&&!!e[a]}function f(e){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return!0;var r=Object.getPrototypeOf(e);return!r||r===Object.prototype||(!!e[i]||!!e.constructor[i])}function c(e){if(e&&e[a])return e[a].base}var u=Object.assign||function(e,r){for(var t in r)v(r,t)&&(e[t]=r[t]);return e},l="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?e=>Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)):Object.getOwnPropertyNames;function p(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Array.isArray(e))return e.slice();var t=Object.create(Object.getPrototypeOf(e));return l(e).forEach((n=>{if(n!==a){var o=Object.getOwnPropertyDescriptor(e,n),i=o.value;if(o.get){if(!r)throw new Error("Immer drafts cannot have computed properties");i=o.get.call(e)}o.enumerable?t[n]=i:Object.defineProperty(t,n,{value:i,writable:!0,configurable:!0})}})),t}function h(e,r){if(Array.isArray(e))for(var t=0;t<e.length;t++)r(t,e[t],e);else l(e).forEach((t=>r(t,e[t],e)))}function d(e,r){var t=Object.getOwnPropertyDescriptor(e,r);return!!t&&t.enumerable}function v(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function y(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}class b{constructor(e){this.drafts=[],this.parent=e,this.canAutoFreeze=!0,this.patches=null}usePatches(e){e&&(this.patches=[],this.inversePatches=[],this.patchListener=e)}revoke(e){this.leave(),e||this.drafts.forEach(m),this.drafts=null}leave(){this===b.current&&(b.current=this.parent)}}function m(e){e[a].revoke()}b.current=null,b.enter=function(){return this.current=new b(this.current)};var g={};function w(e,r,t){e.drafts.forEach((e=>{e[a].finalizing=!0})),t?s(r)&&r[a].scope===e&&k(e.drafts):(e.patches&&D(e.drafts[0]),k(e.drafts))}function P(e,r){var t=Array.isArray(e),n=T(e);h(n,(r=>{!function(e,r,t){var n=g[r];n?n.enumerable=t:g[r]=n={configurable:!0,enumerable:t,get(){return function(e,r){E(e);var t=A(j(e),r);if(e.finalizing)return t;if(t===A(e.base,r)&&f(t))return x(e),e.copy[r]=P(t,e);return t}(this[a],r)},set(e){!function(e,r,t){if(E(e),e.assigned[r]=!0,!e.modified){if(y(t,A(j(e),r)))return;z(e),x(e)}e.copy[r]=t}(this[a],r,e)}};Object.defineProperty(e,r,n)}(n,r,t||d(e,r))}));var o,i,s,c=r?r.scope:b.current;return o=n,i=a,s={scope:c,modified:!1,finalizing:!1,finalized:!1,assigned:{},parent:r,base:e,draft:n,copy:null,revoke:O,revoked:!1},Object.defineProperty(o,i,{value:s,enumerable:!1,writable:!0}),c.drafts.push(n),n}function O(){this.revoked=!0}function j(e){return e.copy||e.base}function A(e,r){var t=e[a];if(t&&!t.finalizing){t.finalizing=!0;var n=e[r];return t.finalizing=!1,n}return e[r]}function z(e){e.modified||(e.modified=!0,e.parent&&z(e.parent))}function x(e){e.copy||(e.copy=T(e.base))}function T(e){var r=e&&e[a];if(r){r.finalizing=!0;var t=p(r.draft,!0);return r.finalizing=!1,t}return p(e)}function E(e){if(!0===e.revoked)throw new Error("Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+JSON.stringify(j(e)))}function k(e){for(var r=e.length-1;r>=0;r--){var t=e[r][a];t.modified||(Array.isArray(t.base)?S(t)&&z(t):F(t)&&z(t))}}function D(e){if(e&&"object"==typeof e){var r=e[a];if(r){var t=r.base,n=r.draft,o=r.assigned;if(Array.isArray(e)){if(S(r)){if(z(r),o.length=!0,n.length<t.length)for(var i=n.length;i<t.length;i++)o[i]=!1;else for(var s=t.length;s<n.length;s++)o[s]=!0;for(var f=0;f<n.length;f++)void 0===o[f]&&D(n[f])}}else Object.keys(n).forEach((e=>{void 0!==t[e]||v(t,e)?o[e]||D(n[e]):(o[e]=!0,z(r))})),Object.keys(t).forEach((e=>{void 0!==n[e]||v(n,e)||(o[e]=!1,z(r))}))}}}function F(e){for(var r=e.base,t=e.draft,n=Object.keys(t),o=n.length-1;o>=0;o--){var i=n[o],s=r[i];if(void 0===s&&!v(r,i))return!0;var f=t[i],c=f&&f[a];if(c?c.base!==s:!y(f,s))return!0}return n.length!==Object.keys(r).length}function S(e){var r=e.draft;if(r.length!==e.base.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);return!(!t||t.get)}function R(){}function I(e,r){var t=r?r.scope:b.current,n={scope:t,modified:!1,finalized:!1,assigned:{},parent:r,base:e,draft:null,drafts:{},copy:null,revoke:null},o=Array.isArray(e)?Proxy.revocable([n],L):Proxy.revocable(n,_),i=o.revoke,a=o.proxy;return n.draft=a,n.revoke=i,t.drafts.push(a),a}var _={get:function(e,r){if(r===a)return e;var t=e.drafts;if(!e.modified&&v(t,r))return t[r];var n=N(e)[r];if(e.finalized||!f(n))return n;if(e.modified){if(n!==C(e.base,r))return n;t=e.copy}return t[r]=I(n,e)},has:(e,r)=>r in N(e),ownKeys:e=>Reflect.ownKeys(N(e)),set:function(e,r,t){if(!e.modified){var n=C(e.base,r);if(t?y(n,t)||t===e.drafts[r]:y(n,t)&&r in e.base)return!0;M(e)}return e.assigned[r]=!0,e.copy[r]=t,!0},deleteProperty:function(e,r){(void 0!==C(e.base,r)||r in e.base)&&(e.assigned[r]=!1,M(e));e.copy&&delete e.copy[r];return!0},getOwnPropertyDescriptor:function(e,r){var t=N(e),n=Reflect.getOwnPropertyDescriptor(t,r);n&&(n.writable=!0,n.configurable=!Array.isArray(t)||"length"!==r);return n},defineProperty(){throw new Error("Object.defineProperty() cannot be used on an Immer draft")},getPrototypeOf:e=>Object.getPrototypeOf(e.base),setPrototypeOf(){throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft")}},L={};function N(e){return e.copy||e.base}function C(e,r){var t=e[a],n=Reflect.getOwnPropertyDescriptor(t?N(t):e,r);return n&&n.value}function M(e){e.modified||(e.modified=!0,e.copy=u(p(e.base),e.drafts),e.drafts=null,e.parent&&M(e.parent))}function U(e,r,t,n){Array.isArray(e.base)?function(e,r,t,n){var o=e.base,i=e.copy,a=e.assigned;if(i.length<o.length){var s=[i,o];o=s[0],i=s[1];var f=[n,t];t=f[0],n=f[1]}var c=i.length-o.length,u=0;for(;o[u]===i[u]&&u<o.length;)++u;var l=o.length;for(;l>u&&o[l-1]===i[l+c-1];)--l;for(var p=u;p<l;++p)if(a[p]&&i[p]!==o[p]){var h=r.concat([p]);t.push({op:"replace",path:h,value:i[p]}),n.push({op:"replace",path:h,value:o[p]})}for(var d=l!=o.length,v=t.length,y=l+c-1;y>=l;--y){var b=r.concat([y]);t[v+y-l]={op:"add",path:b,value:i[y]},d&&n.push({op:"remove",path:b})}d||n.push({op:"replace",path:r.concat(["length"]),value:o.length})}(e,r,t,n):function(e,r,t,n){var o=e.base,i=e.copy;h(e.assigned,((e,a)=>{var s=o[e],f=i[e],c=a?e in o?"replace":"add":"remove";if(s!==f||"replace"!==c){var u=r.concat(e);t.push("remove"===c?{op:c,path:u}:{op:c,path:u,value:f}),n.push("add"===c?{op:"remove",path:u}:"remove"===c?{op:"add",path:u,value:s}:{op:"replace",path:u,value:s})}}))}(e,r,t,n)}function K(e,r){for(var t=0;t<r.length;t++){var n=r[t],o=n.path;if(0===o.length&&"replace"===n.op)e=n.value;else{for(var i=e,a=0;a<o.length-1;a++)if(!(i=i[o[a]])||"object"!=typeof i)throw new Error("Cannot apply patch, path doesn't resolve: "+o.join("/"));var s=o[o.length-1];switch(n.op){case"replace":i[s]=n.value;break;case"add":Array.isArray(i)?i.splice(s,0,n.value):i[s]=n.value;break;case"remove":Array.isArray(i)?i.splice(s,1):delete i[s];break;default:throw new Error("Unsupported patch operation: "+n.op)}}}return e}h(_,((e,r)=>{L[e]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}})),L.deleteProperty=function(e,r){if(isNaN(parseInt(r)))throw new Error("Immer only supports deleting array indices");return _.deleteProperty.call(this,e[0],r)},L.set=function(e,r,t){if("length"!==r&&isNaN(parseInt(r)))throw new Error("Immer only supports setting array indices and the 'length' property");return _.set.call(this,e[0],r,t)};var V=t(376);var $={useProxies:"undefined"!=typeof Proxy&&"undefined"!=typeof Reflect,autoFreeze:void 0===V&&"verifyMinified"===function(){}.name,onAssign:null,onDelete:null,onCopy:null};class J{constructor(e){u(this,$,e),this.setUseProxies(this.useProxies),this.produce=this.produce.bind(this)}produce(e,r,t){if("function"==typeof e&&"function"!=typeof r){var n=r;r=e;var i=this;return function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n,t=arguments.length,o=new Array(t>1?t-1:0),a=1;a<t;a++)o[a-1]=arguments[a];return i.produce(e,(e=>r.call(this,e,...o)))}}if("function"!=typeof r)throw new Error("The first or second argument to `produce` must be a function");if(void 0!==t&&"function"!=typeof t)throw new Error("The third argument to `produce` must be a function or undefined");var a;if(f(e)){var s=b.enter(),c=this.createProxy(e),u=!0;try{a=r(c),u=!1}finally{u?s.revoke():s.leave()}return a instanceof Promise?a.then((e=>(s.usePatches(t),this.processResult(e,s))),(e=>{throw s.revoke(),e})):(s.usePatches(t),this.processResult(a,s))}return void 0===(a=r(e))?e:a!==o?a:void 0}createDraft(e){if(!f(e))throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object");var r=b.enter(),t=this.createProxy(e,null);return t[a].isManual=!0,r.leave(),t}finishDraft(e,r,t){var n=e&&e[a];if(!n||!n.isManual)throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`");if(n.finalized)throw new Error("The given draft is already finalized");var o=n.scope;return o.usePatches(r),this.processResult(void 0,o,t)}setAutoFreeze(e){this.autoFreeze=e}setUseProxies(t){this.useProxies=t,u(this,t?r:e)}applyPatches(e,r){return s(e)?K(e,r):this.produce(e,(e=>K(e,r)))}processResult(e,r,t){var n=r.drafts[0],i=void 0!==e&&e!==n;if(this.willFinalize(r,e,i),i){if(n[a].modified)throw r.revoke(t),new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.");f(e)&&(e=this.finalize(e,null,r)),r.patches&&(r.patches.push({op:"replace",path:[],value:e}),r.inversePatches.push({op:"replace",path:[],value:n[a].base}))}else e=this.finalize(n,[],r,t);return r.revoke(t),r.patches&&r.patchListener(r.patches,r.inversePatches),e!==o?e:void 0}finalize(e,r,t,n){var o=e[a];if(!o)return Object.isFrozen(e)?e:this.finalizeTree(e,null,t);if(o.scope!==t)return e;if(!o.modified)return o.base;if(!o.finalized){if(n||(o.finalized=!0),this.finalizeTree(o.draft,r,t),this.onDelete)if(this.useProxies){var i=o.assigned;for(var s in i)i[s]||this.onDelete(o,s)}else{var f=o.base,c=o.copy;h(f,(e=>{v(c,e)||this.onDelete(o,e)}))}this.onCopy&&this.onCopy(o),this.autoFreeze&&t.canAutoFreeze&&Object.freeze(o.copy),r&&t.patches&&U(o,r,t.patches,t.inversePatches)}return o.copy}finalizeTree(e,r,t){var n=e[a];n&&(this.useProxies||(n.copy=p(n.draft,!0)),e=n.copy);var o=!!r&&!!t.patches,i=(a,c,u)=>{if(c===u)throw Error("Immer forbids circular references");var l=!!n&&u===e;if(s(c)){var p=l&&o&&!n.assigned[a]?r.concat(a):null;if(s(c=this.finalize(c,p,t))&&(t.canAutoFreeze=!1),Array.isArray(u)||d(u,a)?u[a]=c:Object.defineProperty(u,a,{value:c}),l&&c===n.base[a])return}else{if(l&&y(c,n.base[a]))return;f(c)&&!Object.isFrozen(c)&&h(c,i)}l&&this.onAssign&&this.onAssign(n,a,c)};return h(e,i),e}}var q=new J,B=q.produce,G=B,H=q.setAutoFreeze.bind(q),Q=q.setUseProxies.bind(q),W=q.applyPatches.bind(q),X=q.createDraft.bind(q),Y=q.finishDraft.bind(q)})(),n})()));
|
|
2
|
+
//# sourceMappingURL=index.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.min.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAkB,SAAID,IAEtBD,EAAe,SAAIC,GACpB,CATD,CASGK,MAAM,I,sBCTT,WAAY,IAAIC,EAAE,CAAC,IAAI,SAASA,GAAG,IAAuBC,EAAMC,EAAzBC,EAAEH,EAAEL,QAAQ,CAAC,EAAc,SAASS,IAAmB,MAAM,IAAIC,MAAM,kCAAkC,CAAC,SAASC,IAAsB,MAAM,IAAID,MAAM,oCAAoC,CAA8O,SAASE,EAAWP,GAAG,GAAGC,IAAIO,WAAY,OAAOA,WAAWR,EAAE,GAAG,IAAIC,IAAIG,IAAmBH,IAAIO,WAAyB,OAAbP,EAAEO,WAAkBA,WAAWR,EAAE,GAAG,IAAI,OAAOC,EAAED,EAAE,EAAE,CAAC,MAAMG,GAAG,IAAI,OAAOF,EAAEQ,KAAK,KAAKT,EAAE,EAAE,CAAC,MAAMG,GAAG,OAAOF,EAAEQ,KAAKC,KAAKV,EAAE,EAAE,CAAC,CAAC,EAAtd,WAAY,IAAuCC,EAAZ,mBAAbO,WAA2BA,WAAkBJ,CAAiB,CAAC,MAAMJ,GAAGC,EAAEG,CAAgB,CAAC,IAAyCF,EAAZ,mBAAfS,aAA6BA,aAAoBL,CAAoB,CAAC,MAAMN,GAAGE,EAAEI,CAAmB,CAAE,CAAzO,GAAysB,IAAyBM,EAArBC,EAAE,GAAOC,GAAE,EAAgBC,GAAG,EAAE,SAASC,IAAsBF,GAAIF,IAAUE,GAAE,EAASF,EAAEK,OAAQJ,EAAED,EAAEM,OAAOL,GAAQE,GAAG,EAAKF,EAAEI,QAAQE,IAAa,CAAC,SAASA,IAAa,IAAGL,EAAH,CAAa,IAAId,EAAEO,EAAWS,GAAiBF,GAAE,EAAoB,IAAf,IAAIX,EAAEU,EAAEI,OAAad,GAAE,CAAU,IAATS,EAAEC,EAAEA,EAAE,KAAWE,EAAEZ,GAAMS,GAAGA,EAAEG,GAAGK,MAAOL,GAAG,EAAEZ,EAAEU,EAAEI,MAAM,CAACL,EAAE,KAAKE,GAAE,EAAhjB,SAAyBd,GAAG,GAAGE,IAAIS,aAAc,OAAOA,aAAaX,GAAG,IAAIE,IAAII,IAAsBJ,IAAIS,aAA6B,OAAfT,EAAES,aAAoBA,aAAaX,GAAG,IAAI,OAAOE,EAAEF,EAAE,CAAC,MAAMG,GAAG,IAAI,OAAOD,EAAEO,KAAK,KAAKT,EAAE,CAAC,MAAMG,GAAG,OAAOD,EAAEO,KAAKC,KAAKV,EAAE,CAAC,CAAC,CAAqUqB,CAAgBrB,EAAzJ,CAA2J,CAAgN,SAASsB,EAAKtB,EAAEG,GAAGO,KAAKa,IAAIvB,EAAEU,KAAKc,MAAMrB,CAAC,CAA+I,SAASsB,IAAO,CAAxZtB,EAAEuB,SAAS,SAAS1B,GAAG,IAAIG,EAAE,IAAIwB,MAAMC,UAAUX,OAAO,GAAG,GAAGW,UAAUX,OAAO,EAAG,IAAI,IAAIhB,EAAE,EAAEA,EAAE2B,UAAUX,OAAOhB,IAAKE,EAAEF,EAAE,GAAG2B,UAAU3B,GAAIY,EAAEgB,KAAK,IAAIP,EAAKtB,EAAEG,IAAkB,IAAXU,EAAEI,QAAaH,GAAGP,EAAWY,EAAY,EAA6CG,EAAKQ,UAAUV,IAAI,WAAWV,KAAKa,IAAIQ,MAAM,KAAKrB,KAAKc,MAAM,EAAErB,EAAE6B,MAAM,UAAU7B,EAAE8B,SAAQ,EAAK9B,EAAE+B,IAAI,CAAC,EAAE/B,EAAEgC,KAAK,GAAGhC,EAAEiC,QAAQ,GAAGjC,EAAEkC,SAAS,CAAC,EAAmBlC,EAAEmC,GAAGb,EAAKtB,EAAEoC,YAAYd,EAAKtB,EAAEqC,KAAKf,EAAKtB,EAAEsC,IAAIhB,EAAKtB,EAAEuC,eAAejB,EAAKtB,EAAEwC,mBAAmBlB,EAAKtB,EAAEyC,KAAKnB,EAAKtB,EAAE0C,gBAAgBpB,EAAKtB,EAAE2C,oBAAoBrB,EAAKtB,EAAE4C,UAAU,SAAS/C,GAAG,MAAM,EAAE,EAAEG,EAAE6C,QAAQ,SAAShD,GAAG,MAAM,IAAIK,MAAM,mCAAmC,EAAEF,EAAE8C,IAAI,WAAW,MAAM,GAAG,EAAE9C,EAAE+C,MAAM,SAASlD,GAAG,MAAM,IAAIK,MAAM,iCAAiC,EAAEF,EAAEgD,MAAM,WAAW,OAAO,CAAC,CAAC,GAAOhD,EAAE,CAAC,EAAE,SAASiD,EAAoBnD,GAAG,IAAIC,EAAEC,EAAEF,GAAG,QAAOoD,IAAJnD,EAAe,OAAOA,EAAEP,QAAQ,IAAIkB,EAAEV,EAAEF,GAAG,CAACN,QAAQ,CAAC,GAAOmB,GAAE,EAAK,IAAId,EAAEC,GAAGY,EAAEA,EAAElB,QAAQyD,GAAqBtC,GAAE,CAAK,CAAC,QAAWA,UAASX,EAAEF,EAAE,CAAC,OAAOY,EAAElB,OAAO,MAAiC,IAAtByD,IAAkCA,EAAoBE,GAAGC,MAAc,IAAItD,EAAEmD,EAAoB,KAAKxD,EAAOD,QAAQM,CAAE,CAAt4E,E,GCCIuD,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBL,IAAjBM,EACH,OAAOA,EAAahE,QAGrB,IAAIC,EAAS4D,EAAyBE,GAAY,CAGjD/D,QAAS,CAAC,GAOX,OAHAiE,EAAoBF,GAAU9D,EAAQA,EAAOD,QAAS8D,GAG/C7D,EAAOD,OACf,CCrBA8D,EAAoBI,EAAI,CAAClE,EAASmE,KACjC,IAAI,IAAIC,KAAOD,EACXL,EAAoB3C,EAAEgD,EAAYC,KAASN,EAAoB3C,EAAEnB,EAASoE,IAC5EC,OAAOC,eAAetE,EAASoE,EAAK,CAAEG,YAAY,EAAMC,IAAKL,EAAWC,IAE1E,ECNDN,EAAoB3C,EAAI,CAACsD,EAAKC,IAAUL,OAAOlC,UAAUwC,eAAe7D,KAAK2D,EAAKC,GCClFZ,EAAoBxD,EAAKN,IACH,oBAAX4E,QAA0BA,OAAOC,aAC1CR,OAAOC,eAAetE,EAAS4E,OAAOC,YAAa,CAAEC,MAAO,WAE7DT,OAAOC,eAAetE,EAAS,aAAc,CAAE8E,OAAO,GAAO,E,oZCLvD,IAAMC,EACS,oBAAXH,OACDA,OAAO,iBACP,CAAC,iBAAmB,GAEjBI,EACS,oBAAXJ,QAA0BA,OAAOK,IAClCL,OAAOK,IAAI,mBACX,qBAEGC,EACS,oBAAXN,QAA0BA,OAAOK,IAClCL,OAAOK,IAAI,eACX,iBAEH,SAASE,EAAQL,GACpB,QAASA,KAAWA,EAAMI,EAC9B,CAEO,SAASE,EAAYN,GACxB,IAAKA,GAA0B,iBAAVA,EAAoB,OAAO,EAChD,GAAI9C,MAAMqD,QAAQP,GAAQ,OAAO,EACjC,IAAMQ,EAAQjB,OAAOkB,eAAeT,GACpC,OAAKQ,GAASA,IAAUjB,OAAOlC,cACtB2C,EAAME,MAAgBF,EAAMU,YAAYR,GACrD,CAEO,SAASS,EAASX,GACrB,GAAIA,GAASA,EAAMI,GACf,OAAOJ,EAAMI,GAAaQ,IAGlC,CAEO,IAAMC,EACTtB,OAAOsB,QACP,SAAgBC,EAAQd,GACpB,IAAK,IAAIV,KAAOU,EACRe,EAAIf,EAAOV,KACXwB,EAAOxB,GAAOU,EAAMV,IAG5B,OAAOwB,CACX,EAESE,EACU,oBAAZC,SAA2BA,QAAQD,QACpCC,QAAQD,aACgC,IAAjCzB,OAAO2B,sBACdvB,GACIJ,OAAO4B,oBAAoBxB,GAAKlD,OAC5B8C,OAAO2B,sBAAsBvB,IAErCJ,OAAO4B,oBAEV,SAASC,EAAYR,GAA6B,IAAvBS,EAAalE,UAAAX,OAAA,QAAAoC,IAAAzB,UAAA,IAAAA,UAAA,GAC3C,GAAID,MAAMqD,QAAQK,GAAO,OAAOA,EAAKU,QACrC,IAAMC,EAAQhC,OAAOiC,OAAOjC,OAAOkB,eAAeG,IAuBlD,OAtBAI,EAAQJ,GAAMa,SAAQnC,IAClB,GAAIA,IAAQc,EAAZ,CAGA,IAAMsB,EAAOnC,OAAOoC,yBAAyBf,EAAMtB,GAC9CU,EAAS0B,EAAT1B,MACL,GAAI0B,EAAKhC,IAAK,CACV,IAAK2B,EACD,MAAM,IAAIzF,MAAM,gDAEpBoE,EAAQ0B,EAAKhC,IAAI1D,KAAK4E,EAC1B,CACIc,EAAKjC,WACL8B,EAAMjC,GAAOU,EAEbT,OAAOC,eAAe+B,EAAOjC,EAAK,CAC9BU,QACA4B,UAAU,EACVC,cAAc,GAftB,CAiBA,IAEGN,CACX,CAEO,SAASO,EAAK9B,EAAO+B,GACxB,GAAI7E,MAAMqD,QAAQP,GACd,IAAK,IAAI5D,EAAI,EAAGA,EAAI4D,EAAMxD,OAAQJ,IAAK2F,EAAG3F,EAAG4D,EAAM5D,GAAI4D,QAEvDgB,EAAQhB,GAAOyB,SAAQnC,GAAOyC,EAAGzC,EAAKU,EAAMV,GAAMU,IAE1D,CAEO,SAASgC,EAAapB,EAAMhB,GAC/B,IAAM8B,EAAOnC,OAAOoC,yBAAyBf,EAAMhB,GACnD,QAAS8B,GAAQA,EAAKjC,UAC1B,CAEO,SAASsB,EAAIkB,EAAOrC,GACvB,OAAOL,OAAOlC,UAAUwC,eAAe7D,KAAKiG,EAAOrC,EACvD,CAEO,SAASsC,EAAGC,EAAGC,GAElB,OAAID,IAAMC,EACO,IAAND,GAAW,EAAIA,GAAM,EAAIC,EAEzBD,GAAMA,GAAKC,GAAMA,CAEhC,CCxGO,MAAMC,EACT3B,YAAY4B,GACRrG,KAAKsG,OAAS,GACdtG,KAAKqG,OAASA,EAIdrG,KAAKuG,eAAgB,EAGrBvG,KAAKwG,QAAU,IACnB,CACAC,WAAWC,GACHA,IACA1G,KAAKwG,QAAU,GACfxG,KAAK2G,eAAiB,GACtB3G,KAAK0G,cAAgBA,EAE7B,CACAE,OAAOC,GACH7G,KAAK8G,QACLD,GAAa7G,KAAKsG,OAAOd,QAAQoB,GACjC5G,KAAKsG,OAAS,IAClB,CACAQ,QACQ9G,OAASoG,EAAWW,UACpBX,EAAWW,QAAU/G,KAAKqG,OAElC,EAQJ,SAASO,EAAOI,GACZA,EAAM7C,GAAayC,QACvB,CAPAR,EAAWW,QAAU,KACrBX,EAAWa,MAAQ,WACf,OAAQjH,KAAK+G,QAAU,IAAIX,EAAWpG,KAAK+G,QAC/C,ECtBA,IAAMG,EAAc,CAAC,EAGd,SAASC,EAAaC,EAAOC,EAAQC,GACxCF,EAAMd,OAAOd,SAAQwB,IACjBA,EAAM7C,GAAaoD,YAAa,CAAI,IAEnCD,EAQIlD,EAAQiD,IAAWA,EAAOlD,GAAaiD,QAAUA,GACtDI,EAAiBJ,EAAMd,SARnBc,EAAMZ,SACNiB,EAAuBL,EAAMd,OAAO,IAGxCkB,EAAiBJ,EAAMd,QAM/B,CAEO,SAASoB,EAAY/C,EAAM0B,GAC9B,IAAM/B,EAAUrD,MAAMqD,QAAQK,GACxBqC,EAAQW,EAAoBhD,GAClCkB,EAAKmB,GAAOrD,KA0FhB,SAAuBqD,EAAOrD,EAAMH,GAChC,IAAIiC,EAAOyB,EAAYvD,GACnB8B,EACAA,EAAKjC,WAAaA,EAElB0D,EAAYvD,GAAQ8B,EAAO,CACvBG,cAAc,EACdpC,aACAC,MACI,OAtDhB,SAAamE,EAAOjE,GAChBkE,EAAgBD,GAChB,IAAM7D,EAAQ+D,EAAKC,EAAOH,GAAQjE,GAClC,GAAIiE,EAAML,WAAY,OAAOxD,EAE7B,GAAIA,IAAU+D,EAAKF,EAAMjD,KAAMhB,IAASU,EAAYN,GAEhD,OADAiE,EAAYJ,GACJA,EAAMK,KAAKtE,GAAQ+D,EAAY3D,EAAO6D,GAElD,OAAO7D,CACX,CA4CuBN,CAAIzD,KAAKmE,GAAcR,EAClC,EACAuE,IAAInE,IA5ChB,SAAa6D,EAAOjE,EAAMI,GAGtB,GAFA8D,EAAgBD,GAChBA,EAAMO,SAASxE,IAAQ,GAClBiE,EAAMQ,SAAU,CACjB,GAAInC,EAAGlC,EAAO+D,EAAKC,EAAOH,GAAQjE,IAAQ,OAC1C0E,EAAYT,GACZI,EAAYJ,EAChB,CACAA,EAAMK,KAAKtE,GAAQI,CACvB,CAoCgBmE,CAAIlI,KAAKmE,GAAcR,EAAMI,EACjC,GAGRT,OAAOC,eAAeyD,EAAOrD,EAAM8B,EACvC,CA1GQ6C,CAActB,EAAOrD,EAAMW,GAAWyB,EAAapB,EAAMhB,GAAM,IAInE,IAsN0BkB,EAAQlB,EAAMI,EAtNlCqD,EAAQf,EAASA,EAAOe,MAAQhB,EAAWW,QAiBjD,OAqM0BlC,EAvMLmC,EAuMarD,EAvMNQ,EAuMYJ,EArN1B,CACVqD,QACAgB,UAAU,EACVb,YAAY,EACZgB,WAAW,EACXJ,SAAU,CAAC,EACX9B,SACA1B,OACAqC,QACAiB,KAAM,KACNrB,OAAM,EACN4B,SAAS,GA2MblF,OAAOC,eAAesB,EAAQlB,EAAM,CAChCI,MAAOA,EACPP,YAAY,EACZmC,UAAU,IA1MdyB,EAAMd,OAAOnF,KAAK6F,GACXA,CACX,CAEA,SAASJ,IACL5G,KAAKwI,SAAU,CACnB,CAEA,SAAST,EAAOH,GACZ,OAAOA,EAAMK,MAAQL,EAAMjD,IAC/B,CAGA,SAASmD,EAAKd,EAAOrD,GACjB,IAAMiE,EAAQZ,EAAM7C,GACpB,GAAIyD,IAAUA,EAAML,WAAY,CAC5BK,EAAML,YAAa,EACnB,IAAMxD,EAAQiD,EAAMrD,GAEpB,OADAiE,EAAML,YAAa,EACZxD,CACX,CACA,OAAOiD,EAAMrD,EACjB,CAyBA,SAAS0E,EAAYT,GACZA,EAAMQ,WACPR,EAAMQ,UAAW,EACbR,EAAMvB,QAAQgC,EAAYT,EAAMvB,QAE5C,CAEA,SAAS2B,EAAYJ,GACZA,EAAMK,OAAML,EAAMK,KAAON,EAAoBC,EAAMjD,MAC5D,CAEA,SAASgD,EAAoBhD,GACzB,IAAMiD,EAAQjD,GAAQA,EAAKR,GAC3B,GAAIyD,EAAO,CACPA,EAAML,YAAa,EACnB,IAAMP,EAAQ7B,EAAYyC,EAAMZ,OAAO,GAEvC,OADAY,EAAML,YAAa,EACZP,CACX,CACA,OAAO7B,EAAYR,EACvB,CAqBA,SAASkD,EAAgBD,GACrB,IAAsB,IAAlBA,EAAMY,QACN,MAAM,IAAI7I,MACN,uHACI8I,KAAKC,UAAUX,EAAOH,IAEtC,CAGA,SAASJ,EAAiBlB,GAKtB,IAAK,IAAInG,EAAImG,EAAO/F,OAAS,EAAGJ,GAAK,EAAGA,IAAK,CACzC,IAAMyH,EAAQtB,EAAOnG,GAAGgE,GACnByD,EAAMQ,WACHnH,MAAMqD,QAAQsD,EAAMjD,MAChBgE,EAAgBf,IAAQS,EAAYT,GACjCgB,EAAiBhB,IAAQS,EAAYT,GAExD,CACJ,CAEA,SAASH,EAAuBoB,GAC5B,GAAKA,GAA4B,iBAAXA,EAAtB,CACA,IAAMjB,EAAQiB,EAAO1E,GACrB,GAAKyD,EAAL,CACA,IAAOjD,EAAyBiD,EAAzBjD,KAAMqC,EAAmBY,EAAnBZ,MAAOmB,EAAYP,EAAZO,SACpB,GAAKlH,MAAMqD,QAAQuE,IAoBZ,GAAIF,EAAgBf,GAAQ,CAG/B,GAFAS,EAAYT,GACZO,EAAS5H,QAAS,EACdyG,EAAMzG,OAASoE,EAAKpE,OACpB,IAAK,IAAIJ,EAAI6G,EAAMzG,OAAQJ,EAAIwE,EAAKpE,OAAQJ,IAAKgI,EAAShI,IAAK,OAE/D,IAAK,IAAIA,EAAIwE,EAAKpE,OAAQJ,EAAI6G,EAAMzG,OAAQJ,IAAKgI,EAAShI,IAAK,EAEnE,IAAK,IAAIA,EAAI,EAAGA,EAAI6G,EAAMzG,OAAQJ,SAEVwC,IAAhBwF,EAAShI,IAAkBsH,EAAuBT,EAAM7G,GAEpE,OA9BImD,OAAOwF,KAAK9B,GAAOxB,SAAQnC,SAELV,IAAdgC,EAAKtB,IAAuByB,EAAIH,EAAMtB,GAG9B8E,EAAS9E,IAEjBoE,EAAuBT,EAAM3D,KAJ7B8E,EAAS9E,IAAO,EAChBgF,EAAYT,GAIhB,IAGJtE,OAAOwF,KAAKnE,GAAMa,SAAQnC,SAEHV,IAAfqE,EAAM3D,IAAuByB,EAAIkC,EAAO3D,KACxC8E,EAAS9E,IAAO,EAChBgF,EAAYT,GAChB,GApBU,CAF+B,CAqCrD,CAEA,SAASgB,EAAiBhB,GAMtB,IALA,IAAOjD,EAAeiD,EAAfjD,KAAMqC,EAASY,EAATZ,MAIP8B,EAAOxF,OAAOwF,KAAK9B,GAChB7G,EAAI2I,EAAKvI,OAAS,EAAGJ,GAAK,EAAGA,IAAK,CACvC,IAAMkD,EAAMyF,EAAK3I,GACX4I,EAAYpE,EAAKtB,GAEvB,QAAkBV,IAAdoG,IAA4BjE,EAAIH,EAAMtB,GACtC,OAAO,EAKP,IAAMU,EAAQiD,EAAM3D,GACduE,EAAQ7D,GAASA,EAAMI,GAC7B,GAAIyD,EAAQA,EAAMjD,OAASoE,GAAa9C,EAAGlC,EAAOgF,GAC9C,OAAO,CAGnB,CAIA,OAAOD,EAAKvI,SAAW+C,OAAOwF,KAAKnE,GAAMpE,MAC7C,CAEA,SAASoI,EAAgBf,GACrB,IAAOZ,EAASY,EAATZ,MACP,GAAIA,EAAMzG,SAAWqH,EAAMjD,KAAKpE,OAAQ,OAAO,EAQ/C,IAAMyI,EAAa1F,OAAOoC,yBAAyBsB,EAAOA,EAAMzG,OAAS,GAEzE,SAAIyI,GAAeA,EAAWvF,IAGlC,CCjPO,SAAS0D,IAAgB,CAEzB,SAASO,EAAY/C,EAAM0B,GAC9B,IAAMe,EAAQf,EAASA,EAAOe,MAAQhB,EAAWW,QAC3Ca,EAAQ,CAEVR,QAEAgB,UAAU,EAEVG,WAAW,EAEXJ,SAAU,CAAC,EAEX9B,SAEA1B,OAEAqC,MAAO,KAEPV,OAAQ,CAAC,EAET2B,KAAM,KAENrB,OAAQ,MAGZqC,EAAwBhI,MAAMqD,QAAQK,GAGhCuE,MAAMC,UAAU,CAACvB,GAAQwB,GACzBF,MAAMC,UAAUvB,EAAOyB,GAJtBzC,EAAMqC,EAANrC,OAAQ0C,EAAKL,EAALK,MAUf,OAJA1B,EAAMZ,MAAQsC,EACd1B,EAAMhB,OAASA,EAEfQ,EAAMd,OAAOnF,KAAKmI,GACXA,CACX,CAEA,IAAMD,EAAc,CAChB5F,IAwDJ,SAAamE,EAAOjE,GAChB,GAAIA,IAASQ,EAAa,OAAOyD,EACjC,IAAKtB,EAAUsB,EAAVtB,OAGL,IAAKsB,EAAMQ,UAAYtD,EAAIwB,EAAQ3C,GAC/B,OAAO2C,EAAO3C,GAGlB,IAAMI,EAAQgE,EAAOH,GAAOjE,GAC5B,GAAIiE,EAAMW,YAAclE,EAAYN,GAChC,OAAOA,EAIX,GAAI6D,EAAMQ,SAAU,CAEhB,GAAIrE,IAAU+D,EAAKF,EAAMjD,KAAMhB,GAAO,OAAOI,EAE7CuC,EAASsB,EAAMK,IACnB,CAEA,OAAQ3B,EAAO3C,GAAQ+D,EAAY3D,EAAO6D,EAC9C,EA9EI9C,IAAGA,CAACD,EAAQlB,IACDA,KAAQoE,EAAOlD,GAE1BE,QAAQF,GACGG,QAAQD,QAAQgD,EAAOlD,IAElCqD,IA0EJ,SAAaN,EAAOjE,EAAMI,GACtB,IAAK6D,EAAMQ,SAAU,CACjB,IAAMW,EAAYjB,EAAKF,EAAMjD,KAAMhB,GAOnC,GAHoBI,EACdkC,EAAG8C,EAAWhF,IAAUA,IAAU6D,EAAMtB,OAAO3C,GAC/CsC,EAAG8C,EAAWhF,IAAUJ,KAAQiE,EAAMjD,KAC3B,OAAO,EACxB0D,EAAYT,EAChB,CAGA,OAFAA,EAAMO,SAASxE,IAAQ,EACvBiE,EAAMK,KAAKtE,GAAQI,GACZ,CACX,EAxFIwF,eA0FJ,SAAwB3B,EAAOjE,SAEIhB,IAA3BmF,EAAKF,EAAMjD,KAAMhB,IAAuBA,KAAQiE,EAAMjD,QACtDiD,EAAMO,SAASxE,IAAQ,EACvB0E,EAAYT,IAEZA,EAAMK,aAAaL,EAAMK,KAAKtE,GAClC,OAAO,CACX,EAjGI+B,yBAqGJ,SAAkCkC,EAAOjE,GACrC,IAAM6F,EAAQzB,EAAOH,GACfnC,EAAOT,QAAQU,yBAAyB8D,EAAO7F,GACjD8B,IACAA,EAAKE,UAAW,EAChBF,EAAKG,cAAgB3E,MAAMqD,QAAQkF,IAAmB,WAAT7F,GAEjD,OAAO8B,CACX,EA5GIlC,iBACI,MAAM,IAAI5D,MAAM,2DACpB,EACA6E,eAAeK,GACJvB,OAAOkB,eAAeK,EAAOF,MAExC8E,iBACI,MAAM,IAAI9J,MAAM,2DACpB,GAGEyJ,EAAa,CAAC,EAqBpB,SAASrB,EAAOH,GACZ,OAAOA,EAAMK,MAAQL,EAAMjD,IAC/B,CAGA,SAASmD,EAAKd,EAAOrD,GACjB,IAAMiE,EAAQZ,EAAM7C,GACdsB,EAAOT,QAAQU,yBACjBkC,EAAQG,EAAOH,GAASZ,EACxBrD,GAEJ,OAAO8B,GAAQA,EAAK1B,KACxB,CAkEA,SAASsE,EAAYT,GACZA,EAAMQ,WACPR,EAAMQ,UAAW,EACjBR,EAAMK,KAAOrD,EAAOO,EAAYyC,EAAMjD,MAAOiD,EAAMtB,QACnDsB,EAAMtB,OAAS,KACXsB,EAAMvB,QAAQgC,EAAYT,EAAMvB,QAE5C,CCpLO,SAASqD,EAAgB9B,EAAO+B,EAAUnD,EAASG,GACtD1F,MAAMqD,QAAQsD,EAAMjD,MAKxB,SAA8BiD,EAAO+B,EAAUnD,EAASG,GACpD,IAAKhC,EAAwBiD,EAAxBjD,KAAMsD,EAAkBL,EAAlBK,KAAME,EAAYP,EAAZO,SAGjB,GAAIF,EAAK1H,OAASoE,EAAKpE,OAAQ,CAC1B,IAAA0I,EAAe,CAAChB,EAAMtD,GAArBA,EAAIsE,EAAA,GAAEhB,EAAIgB,EAAA,OAAAW,EACiB,CAACjD,EAAgBH,GAA5CA,EAAOoD,EAAA,GAAEjD,EAAciD,EAAA,EAC7B,CAEA,IAAMC,EAAQ5B,EAAK1H,OAASoE,EAAKpE,OAG7BuJ,EAAQ,EACZ,KAAOnF,EAAKmF,KAAW7B,EAAK6B,IAAUA,EAAQnF,EAAKpE,UAC7CuJ,EAIN,IAAIC,EAAMpF,EAAKpE,OACf,KAAOwJ,EAAMD,GAASnF,EAAKoF,EAAM,KAAO9B,EAAK8B,EAAMF,EAAQ,MACrDE,EAIN,IAAK,IAAI5J,EAAI2J,EAAO3J,EAAI4J,IAAO5J,EAC3B,GAAIgI,EAAShI,IAAM8H,EAAK9H,KAAOwE,EAAKxE,GAAI,CACpC,IAAM6J,EAAOL,EAASnJ,OAAO,CAACL,IAC9BqG,EAAQrF,KAAK,CACT8I,GAAI,UACJD,OACAjG,MAAOkE,EAAK9H,KAEhBwG,EAAexF,KAAK,CAChB8I,GAAI,UACJD,OACAjG,MAAOY,EAAKxE,IAEpB,CAOJ,IAJA,IAAM+J,EAAYH,GAAOpF,EAAKpE,OACxB4J,EAAe3D,EAAQjG,OAGpBJ,EAAI4J,EAAMF,EAAQ,EAAG1J,GAAK4J,IAAO5J,EAAG,CACzC,IAAM6J,EAAOL,EAASnJ,OAAO,CAACL,IAC9BqG,EAAQ2D,EAAehK,EAAI4J,GAAO,CAC9BE,GAAI,MACJD,KAAAA,EACAjG,MAAOkE,EAAK9H,IAEZ+J,GACAvD,EAAexF,KAAK,CAChB8I,GAAI,SACJD,KAAAA,GAGZ,CAGKE,GACDvD,EAAexF,KAAK,CAChB8I,GAAI,UACJD,KAAML,EAASnJ,OAAO,CAAC,WACvBuD,MAAOY,EAAKpE,QAGxB,CAvEU6J,CAAqBxC,EAAO+B,EAAUnD,EAASG,GAyEzD,SAA+BiB,EAAO+B,EAAUnD,EAASG,GACrD,IAAOhC,EAAciD,EAAdjD,KAAMsD,EAAQL,EAARK,KACbpC,EAAK+B,EAAMO,UAAU,CAAC9E,EAAKgH,KACvB,IAAMC,EAAY3F,EAAKtB,GACjBU,EAAQkE,EAAK5E,GACb4G,EAAMI,EAA2BhH,KAAOsB,EAAO,UAAY,MAArC,SAC5B,GAAI2F,IAAcvG,GAAgB,YAAPkG,EAA3B,CACA,IAAMD,EAAOL,EAASnJ,OAAO6C,GAC7BmD,EAAQrF,KAAY,WAAP8I,EAAkB,CAACA,KAAID,QAAQ,CAACC,KAAID,OAAMjG,UACvD4C,EAAexF,KACJ,QAAP8I,EACM,CAACA,GAAI,SAAUD,QACR,WAAPC,EACA,CAACA,GAAI,MAAOD,OAAMjG,MAAOuG,GACzB,CAACL,GAAI,UAAWD,OAAMjG,MAAOuG,GARY,CASlD,GAET,CAzFUC,CAAsB3C,EAAO+B,EAAUnD,EAASG,EAC1D,CA0FO,SAAS6D,EAAaxD,EAAOR,GAChC,IAAK,IAAIrG,EAAI,EAAGA,EAAIqG,EAAQjG,OAAQJ,IAAK,CACrC,IAAMsK,EAAQjE,EAAQrG,GACf6J,EAAQS,EAART,KACP,GAAoB,IAAhBA,EAAKzJ,QAA6B,YAAbkK,EAAMR,GAC3BjD,EAAQyD,EAAM1G,UACX,CAEH,IADA,IAAIY,EAAOqC,EACF7G,EAAI,EAAGA,EAAI6J,EAAKzJ,OAAS,EAAGJ,IAEjC,KADAwE,EAAOA,EAAKqF,EAAK7J,MACY,iBAATwE,EAChB,MAAM,IAAIhF,MAAM,6CAA+CqK,EAAKU,KAAK,MAEjF,IAAMrH,EAAM2G,EAAKA,EAAKzJ,OAAS,GAC/B,OAAQkK,EAAMR,IACV,IAAK,UACDtF,EAAKtB,GAAOoH,EAAM1G,MAClB,MACJ,IAAK,MACG9C,MAAMqD,QAAQK,GAEdA,EAAKgG,OAAOtH,EAAK,EAAGoH,EAAM1G,OAE1BY,EAAKtB,GAAOoH,EAAM1G,MAEtB,MACJ,IAAK,SACG9C,MAAMqD,QAAQK,GACdA,EAAKgG,OAAOtH,EAAK,UAEVsB,EAAKtB,GAEhB,MACJ,QACI,MAAM,IAAI1D,MAAM,gCAAkC8K,EAAMR,IAEpE,CACJ,CACA,OAAOjD,CACX,CD1DAnB,EAAKwD,GAAa,CAAChG,EAAKuH,KACpBxB,EAAW/F,GAAO,WAEd,OADAnC,UAAU,GAAKA,UAAU,GAAG,GACrB0J,EAAGvJ,MAAMrB,KAAMkB,UAC1B,CAAC,IAELkI,EAAWG,eAAiB,SAAS3B,EAAOjE,GACxC,GAAIkH,MAAMC,SAASnH,IACf,MAAM,IAAIhE,MAAM,8CAEpB,OAAO0J,EAAYE,eAAexJ,KAAKC,KAAM4H,EAAM,GAAIjE,EAC3D,EACAyF,EAAWlB,IAAM,SAASN,EAAOjE,EAAMI,GACnC,GAAa,WAATJ,GAAqBkH,MAAMC,SAASnH,IACpC,MAAM,IAAIhE,MAAM,uEAEpB,OAAO0J,EAAYnB,IAAInI,KAAKC,KAAM4H,EAAM,GAAIjE,EAAMI,EACtD,E,aE3EA,IAAMgH,EAAiB,CACnBC,WAA6B,oBAAV9B,OAA4C,oBAAZlE,QACnDiG,gBACuB,IAAZC,GAEuB,mBAPtC,WAA2B,EAOEC,KACzBC,SAAU,KACVC,SAAU,KACVC,OAAQ,MAGL,MAAMC,EACT9G,YAAY+G,GACR5G,EAAO5E,KAAM+K,EAAgBS,GAC7BxL,KAAKyL,cAAczL,KAAKgL,YACxBhL,KAAK0L,QAAU1L,KAAK0L,QAAQC,KAAK3L,KACrC,CACA0L,QAAQ/G,EAAMiH,EAAQlF,GAElB,GAAoB,mBAAT/B,GAAyC,mBAAXiH,EAAuB,CAC5D,IAAMC,EAAcD,EACpBA,EAASjH,EAET,IAAMtF,EAAOW,KACb,OAAO,WAA0C,IAAW,IAA7B2E,EAAIzD,UAAAX,OAAA,QAAAoC,IAAAzB,UAAA,GAAAA,UAAA,GAAG2K,EAAWC,EAAA5K,UAAAX,OAAKwL,EAAI,IAAA9K,MAAA6K,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,EAAA,GAAA9K,UAAA8K,GACtD,OAAO3M,EAAKqM,QAAQ/G,GAAMqC,GAAS4E,EAAO7L,KAAKC,KAAMgH,KAAU+E,IACnE,CACJ,CAII,GAAsB,mBAAXH,EACP,MAAM,IAAIjM,MAAM,gEAEpB,QAAsBgD,IAAlB+D,GAAwD,mBAAlBA,EACtC,MAAM,IAAI/G,MAAM,mEAIxB,IAAI0H,EAGJ,GAAIhD,EAAYM,GAAO,CACnB,IAAMyC,EAAQhB,EAAWa,QACnBqC,EAAQtJ,KAAK0H,YAAY/C,GAC3BsH,GAAW,EACf,IACI5E,EAASuE,EAAOtC,GAChB2C,GAAW,CACf,CAAE,QAEMA,EAAU7E,EAAMR,SACfQ,EAAMN,OACf,CACA,OAAIO,aAAkB6E,QACX7E,EAAO8E,MACV9E,IACID,EAAMX,WAAWC,GACV1G,KAAKoM,cAAc/E,EAAQD,MAEtCiF,IAEI,MADAjF,EAAMR,SACAyF,CAAK,KAIvBjF,EAAMX,WAAWC,GACV1G,KAAKoM,cAAc/E,EAAQD,GACtC,CAEI,YAAezE,KADf0E,EAASuE,EAAOjH,IACiBA,EAC1B0C,IAAWrD,EAAUqD,OAAS1E,CAE7C,CACA2J,YAAY3H,GACR,IAAKN,EAAYM,GACb,MAAM,IAAIhF,MAAM,4FAEpB,IAAMyH,EAAQhB,EAAWa,QACnBqC,EAAQtJ,KAAK0H,YAAY/C,EAAM,MAGrC,OAFA2E,EAAMnF,GAAaoI,UAAW,EAC9BnF,EAAMN,QACCwC,CACX,CACAkD,YAAYxF,EAAON,EAAeG,GAC9B,IAAMe,EAAQZ,GAASA,EAAM7C,GAC7B,IAAKyD,IAAUA,EAAM2E,SACjB,MAAM,IAAI5M,MAAM,6EAEpB,GAAIiI,EAAMW,UACN,MAAM,IAAI5I,MAAM,wCAEpB,IAAOyH,EAASQ,EAATR,MAEP,OADAA,EAAMX,WAAWC,GACV1G,KAAKoM,mBAAczJ,EAAWyE,EAAOP,EAChD,CACA4F,cAAc1I,GACV/D,KAAKiL,WAAalH,CACtB,CACA0H,cAAc1H,GACV/D,KAAKgL,WAAajH,EAClBa,EAAO5E,KAAM+D,EAAQ2I,EAAcC,EACvC,CACAnC,aAAa7F,EAAM6B,GAEf,OAAIpC,EAAQO,GACD6F,EAAa7F,EAAM6B,GAGvBxG,KAAK0L,QAAQ/G,GAAMqC,GAASwD,EAAaxD,EAAOR,IAC3D,CAEA4F,cAAc/E,EAAQD,EAAOP,GACzB,IAAM+F,EAAYxF,EAAMd,OAAO,GACzBgB,OAAwB3E,IAAX0E,GAAwBA,IAAWuF,EAEtD,GADA5M,KAAKmH,aAAaC,EAAOC,EAAQC,GAC7BA,EAAY,CACZ,GAAIsF,EAAUzI,GAAaiE,SAEvB,MADAhB,EAAMR,OAAOC,GACP,IAAIlH,MAAM,qHAEhB0E,EAAYgD,KAEZA,EAASrH,KAAK6M,SAASxF,EAAQ,KAAMD,IAErCA,EAAMZ,UACNY,EAAMZ,QAAQrF,KAAK,CACf8I,GAAI,UACJD,KAAM,GACNjG,MAAOsD,IAEXD,EAAMT,eAAexF,KAAK,CACtB8I,GAAI,UACJD,KAAM,GACNjG,MAAO6I,EAAUzI,GAAaQ,OAG1C,MAEI0C,EAASrH,KAAK6M,SAASD,EAAW,GAAIxF,EAAOP,GAMjD,OAJAO,EAAMR,OAAOC,GACTO,EAAMZ,SACNY,EAAMV,cAAcU,EAAMZ,QAASY,EAAMT,gBAEtCU,IAAWrD,EAAUqD,OAAS1E,CACzC,CAMAkK,SAAS7F,EAAOgD,EAAM5C,EAAOP,GACzB,IAAMe,EAAQZ,EAAM7C,GACpB,IAAKyD,EACD,OAAItE,OAAOwJ,SAAS9F,GAAeA,EAC5BhH,KAAK+M,aAAa/F,EAAO,KAAMI,GAG1C,GAAIQ,EAAMR,QAAUA,EAChB,OAAOJ,EAEX,IAAKY,EAAMQ,SACP,OAAOR,EAAMjD,KAEjB,IAAKiD,EAAMW,UAAW,CAIlB,GAHK1B,IAAWe,EAAMW,WAAY,GAClCvI,KAAK+M,aAAanF,EAAMZ,MAAOgD,EAAM5C,GAEjCpH,KAAKqL,SAEL,GAAIrL,KAAKgL,WAAY,CACjB,IAAO7C,EAAYP,EAAZO,SACP,IAAK,IAAMxE,KAAQwE,EACVA,EAASxE,IAAO3D,KAAKqL,SAASzD,EAAOjE,EAElD,KAAO,CACH,IAAOgB,EAAciD,EAAdjD,KAAMsD,EAAQL,EAARK,KACbpC,EAAKlB,GAAMhB,IACFmB,EAAImD,EAAMtE,IAAO3D,KAAKqL,SAASzD,EAAOjE,EAAK,GAExD,CAEA3D,KAAKsL,QACLtL,KAAKsL,OAAO1D,GAKZ5H,KAAKiL,YAAc7D,EAAMb,eACzBjD,OAAO0J,OAAOpF,EAAMK,MAGpB+B,GAAQ5C,EAAMZ,SACdkD,EACI9B,EACAoC,EACA5C,EAAMZ,QACNY,EAAMT,eAGlB,CACA,OAAOiB,EAAMK,IACjB,CAKA8E,aAAahO,EAAMkO,EAAU7F,GACzB,IAAMQ,EAAQ7I,EAAKoF,GACfyD,IACK5H,KAAKgL,aAENpD,EAAMK,KAAO9C,EAAYyC,EAAMZ,OAAO,IAE1CjI,EAAO6I,EAAMK,MAGjB,IAAMiF,IAAgBD,KAAc7F,EAAMZ,QACpC2G,EAAmBA,CAACxJ,EAAMI,EAAOsC,KACnC,GAAItC,IAAUsC,EACV,MAAM1G,MAAM,qCAIhB,IAAMyN,IAAgBxF,GAASvB,IAAWtH,EAE1C,GAAIqF,EAAQL,GAAQ,CAChB,IAAMiG,EACFoD,GAAeF,IAAgBtF,EAAMO,SAASxE,GACxCsJ,EAASzM,OAAOmD,GAChB,KAkBV,GAZIS,EAHJL,EAAQ/D,KAAK6M,SAAS9I,EAAOiG,EAAM5C,MAI/BA,EAAMb,eAAgB,GAItBtF,MAAMqD,QAAQ+B,IAAWN,EAAaM,EAAQ1C,GAC9C0C,EAAO1C,GAAQI,EAEfT,OAAOC,eAAe8C,EAAQ1C,EAAM,CAACI,UAIrCqJ,GAAerJ,IAAU6D,EAAMjD,KAAKhB,GAAO,MACnD,KAEK,IAAIyJ,GAAenH,EAAGlC,EAAO6D,EAAMjD,KAAKhB,IACzC,OAGKU,EAAYN,KAAWT,OAAOwJ,SAAS/I,IAC5C8B,EAAK9B,EAAOoJ,EAChB,CAEIC,GAAepN,KAAKoL,UACpBpL,KAAKoL,SAASxD,EAAOjE,EAAMI,EAC/B,EAIJ,OADA8B,EAAK9G,EAAMoO,GACJpO,CACX,EC5RJ,IAAMsO,EAAQ,IAAI9B,EAqBLG,EAAU2B,EAAM3B,QAC7B,IAOae,EAAgBY,EAAMZ,cAAcd,KAAK0B,GAQzC5B,EAAgB4B,EAAM5B,cAAcE,KAAK0B,GAOzC7C,EAAe6C,EAAM7C,aAAamB,KAAK0B,GAMvCf,EAAce,EAAMf,YAAYX,KAAK0B,GAUrCb,EAAca,EAAMb,YAAYb,KAAK0B,E","sources":["webpack://VveImmer/webpack/universalModuleDefinition","webpack://VveImmer/../../node_modules/.pnpm/@shein-lego+webpack-bundler@1.2.4/node_modules/@shein-lego/webpack-bundler/compiled/@shein-lego/webpack-plugin-node-polyfill/process/browser.js","webpack://VveImmer/webpack/bootstrap","webpack://VveImmer/webpack/runtime/define property getters","webpack://VveImmer/webpack/runtime/hasOwnProperty shorthand","webpack://VveImmer/webpack/runtime/make namespace object","webpack://VveImmer/./src/common.js","webpack://VveImmer/./src/scope.js","webpack://VveImmer/./src/es5.js","webpack://VveImmer/./src/proxy.js","webpack://VveImmer/./src/patches.js","webpack://VveImmer/./src/immer.js","webpack://VveImmer/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VveImmer\"] = factory();\n\telse\n\t\troot[\"VveImmer\"] = factory();\n})(self, () => {\nreturn ","(function(){var e={952:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(952);module.exports=r})();","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const NOTHING =\n typeof Symbol !== \"undefined\"\n ? Symbol(\"immer-nothing\")\n : {[\"immer-nothing\"]: true}\n\nexport const DRAFTABLE =\n typeof Symbol !== \"undefined\" && Symbol.for\n ? Symbol.for(\"immer-draftable\")\n : \"__$immer_draftable\"\n\nexport const DRAFT_STATE =\n typeof Symbol !== \"undefined\" && Symbol.for\n ? Symbol.for(\"immer-state\")\n : \"__$immer_state\"\n\nexport function isDraft(value) {\n return !!value && !!value[DRAFT_STATE]\n}\n\nexport function isDraftable(value) {\n if (!value || typeof value !== \"object\") return false\n if (Array.isArray(value)) return true\n const proto = Object.getPrototypeOf(value)\n if (!proto || proto === Object.prototype) return true\n return !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE]\n}\n\nexport function original(value) {\n if (value && value[DRAFT_STATE]) {\n return value[DRAFT_STATE].base\n }\n // otherwise return undefined\n}\n\nexport const assign =\n Object.assign ||\n function assign(target, value) {\n for (let key in value) {\n if (has(value, key)) {\n target[key] = value[key]\n }\n }\n return target\n }\n\nexport const ownKeys =\n typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : typeof Object.getOwnPropertySymbols !== \"undefined\"\n ? obj =>\n Object.getOwnPropertyNames(obj).concat(\n Object.getOwnPropertySymbols(obj)\n )\n : Object.getOwnPropertyNames\n\nexport function shallowCopy(base, invokeGetters = false) {\n if (Array.isArray(base)) return base.slice()\n const clone = Object.create(Object.getPrototypeOf(base))\n ownKeys(base).forEach(key => {\n if (key === DRAFT_STATE) {\n return // Never copy over draft state.\n }\n const desc = Object.getOwnPropertyDescriptor(base, key)\n let {value} = desc\n if (desc.get) {\n if (!invokeGetters) {\n throw new Error(\"Immer drafts cannot have computed properties\")\n }\n value = desc.get.call(base)\n }\n if (desc.enumerable) {\n clone[key] = value\n } else {\n Object.defineProperty(clone, key, {\n value,\n writable: true,\n configurable: true\n })\n }\n })\n return clone\n}\n\nexport function each(value, cb) {\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) cb(i, value[i], value)\n } else {\n ownKeys(value).forEach(key => cb(key, value[key], value))\n }\n}\n\nexport function isEnumerable(base, prop) {\n const desc = Object.getOwnPropertyDescriptor(base, prop)\n return !!desc && desc.enumerable\n}\n\nexport function has(thing, prop) {\n return Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\nexport function is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y\n } else {\n return x !== x && y !== y\n }\n}\n","import {DRAFT_STATE} from \"./common\"\n\n/** Each scope represents a `produce` call. */\nexport class ImmerScope {\n constructor(parent) {\n this.drafts = []\n this.parent = parent\n\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n this.canAutoFreeze = true\n\n // To avoid prototype lookups:\n this.patches = null\n }\n usePatches(patchListener) {\n if (patchListener) {\n this.patches = []\n this.inversePatches = []\n this.patchListener = patchListener\n }\n }\n revoke(keepAlive) {\n this.leave()\n keepAlive || this.drafts.forEach(revoke)\n this.drafts = null // Make draft-related methods throw.\n }\n leave() {\n if (this === ImmerScope.current) {\n ImmerScope.current = this.parent\n }\n }\n}\n\nImmerScope.current = null\nImmerScope.enter = function() {\n return (this.current = new ImmerScope(this.current))\n}\n\nfunction revoke(draft) {\n draft[DRAFT_STATE].revoke()\n}\n","\"use strict\"\nimport {\n each,\n has,\n is,\n isDraft,\n isDraftable,\n isEnumerable,\n shallowCopy,\n DRAFT_STATE\n} from \"./common\"\nimport {ImmerScope} from \"./scope\"\n\n// property descriptors are recycled to make sure we don't create a get and set closure per property,\n// but share them all instead\nconst descriptors = {}\nconst noop = () => {}\n\nexport function willFinalize(scope, result, isReplaced) {\n scope.drafts.forEach(draft => {\n draft[DRAFT_STATE].finalizing = true\n })\n if (!isReplaced) {\n if (scope.patches) {\n markChangesRecursively(scope.drafts[0])\n }\n // This is faster when we don't care about which attributes changed.\n markChangesSweep(scope.drafts)\n }\n // When a child draft is returned, look for changes.\n else if (isDraft(result) && result[DRAFT_STATE].scope === scope) {\n markChangesSweep(scope.drafts)\n }\n}\n\nexport function createProxy(base, parent) {\n const isArray = Array.isArray(base)\n const draft = clonePotentialDraft(base)\n each(draft, prop => {\n proxyProperty(draft, prop, isArray || isEnumerable(base, prop))\n })\n\n // See \"proxy.js\" for property documentation.\n const scope = parent ? parent.scope : ImmerScope.current\n const state = {\n scope,\n modified: false,\n finalizing: false, // es5 only\n finalized: false,\n assigned: {},\n parent,\n base,\n draft,\n copy: null,\n revoke,\n revoked: false // es5 only\n }\n\n createHiddenProperty(draft, DRAFT_STATE, state)\n scope.drafts.push(draft)\n return draft\n}\n\nfunction revoke() {\n this.revoked = true\n}\n\nfunction source(state) {\n return state.copy || state.base\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE]\n if (state && !state.finalizing) {\n state.finalizing = true\n const value = draft[prop]\n state.finalizing = false\n return value\n }\n return draft[prop]\n}\n\nfunction get(state, prop) {\n assertUnrevoked(state)\n const value = peek(source(state), prop)\n if (state.finalizing) return value\n // Create a draft if the value is unmodified.\n if (value === peek(state.base, prop) && isDraftable(value)) {\n prepareCopy(state)\n return (state.copy[prop] = createProxy(value, state))\n }\n return value\n}\n\nfunction set(state, prop, value) {\n assertUnrevoked(state)\n state.assigned[prop] = true\n if (!state.modified) {\n if (is(value, peek(source(state), prop))) return\n markChanged(state)\n prepareCopy(state)\n }\n state.copy[prop] = value\n}\n\nfunction markChanged(state) {\n if (!state.modified) {\n state.modified = true\n if (state.parent) markChanged(state.parent)\n }\n}\n\nfunction prepareCopy(state) {\n if (!state.copy) state.copy = clonePotentialDraft(state.base)\n}\n\nfunction clonePotentialDraft(base) {\n const state = base && base[DRAFT_STATE]\n if (state) {\n state.finalizing = true\n const draft = shallowCopy(state.draft, true)\n state.finalizing = false\n return draft\n }\n return shallowCopy(base)\n}\n\nfunction proxyProperty(draft, prop, enumerable) {\n let desc = descriptors[prop]\n if (desc) {\n desc.enumerable = enumerable\n } else {\n descriptors[prop] = desc = {\n configurable: true,\n enumerable,\n get() {\n return get(this[DRAFT_STATE], prop)\n },\n set(value) {\n set(this[DRAFT_STATE], prop, value)\n }\n }\n }\n Object.defineProperty(draft, prop, desc)\n}\n\nfunction assertUnrevoked(state) {\n if (state.revoked === true)\n throw new Error(\n \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n JSON.stringify(source(state))\n )\n}\n\n// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\nfunction markChangesSweep(drafts) {\n // The natural order of drafts in the `scope` array is based on when they\n // were accessed. By processing drafts in reverse natural order, we have a\n // better chance of processing leaf nodes first. When a leaf node is known to\n // have changed, we can avoid any traversal of its ancestor nodes.\n for (let i = drafts.length - 1; i >= 0; i--) {\n const state = drafts[i][DRAFT_STATE]\n if (!state.modified) {\n if (Array.isArray(state.base)) {\n if (hasArrayChanges(state)) markChanged(state)\n } else if (hasObjectChanges(state)) markChanged(state)\n }\n }\n}\n\nfunction markChangesRecursively(object) {\n if (!object || typeof object !== \"object\") return\n const state = object[DRAFT_STATE]\n if (!state) return\n const {base, draft, assigned} = state\n if (!Array.isArray(object)) {\n // Look for added keys.\n Object.keys(draft).forEach(key => {\n // The `undefined` check is a fast path for pre-existing keys.\n if (base[key] === undefined && !has(base, key)) {\n assigned[key] = true\n markChanged(state)\n } else if (!assigned[key]) {\n // Only untouched properties trigger recursion.\n markChangesRecursively(draft[key])\n }\n })\n // Look for removed keys.\n Object.keys(base).forEach(key => {\n // The `undefined` check is a fast path for pre-existing keys.\n if (draft[key] === undefined && !has(draft, key)) {\n assigned[key] = false\n markChanged(state)\n }\n })\n } else if (hasArrayChanges(state)) {\n markChanged(state)\n assigned.length = true\n if (draft.length < base.length) {\n for (let i = draft.length; i < base.length; i++) assigned[i] = false\n } else {\n for (let i = base.length; i < draft.length; i++) assigned[i] = true\n }\n for (let i = 0; i < draft.length; i++) {\n // Only untouched indices trigger recursion.\n if (assigned[i] === undefined) markChangesRecursively(draft[i])\n }\n }\n}\n\nfunction hasObjectChanges(state) {\n const {base, draft} = state\n\n // Search for added keys and changed keys. Start at the back, because\n // non-numeric keys are ordered by time of definition on the object.\n const keys = Object.keys(draft)\n for (let i = keys.length - 1; i >= 0; i--) {\n const key = keys[i]\n const baseValue = base[key]\n // The `undefined` check is a fast path for pre-existing keys.\n if (baseValue === undefined && !has(base, key)) {\n return true\n }\n // Once a base key is deleted, future changes go undetected, because its\n // descriptor is erased. This branch detects any missed changes.\n else {\n const value = draft[key]\n const state = value && value[DRAFT_STATE]\n if (state ? state.base !== baseValue : !is(value, baseValue)) {\n return true\n }\n }\n }\n\n // At this point, no keys were added or changed.\n // Compare key count to determine if keys were deleted.\n return keys.length !== Object.keys(base).length\n}\n\nfunction hasArrayChanges(state) {\n const {draft} = state\n if (draft.length !== state.base.length) return true\n // See #116\n // If we first shorten the length, our array interceptors will be removed.\n // If after that new items are added, result in the same original length,\n // those last items will have no intercepting property.\n // So if there is no own descriptor on the last position, we know that items were removed and added\n // N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n // the last one\n const descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1)\n // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n if (descriptor && !descriptor.get) return true\n // For all other cases, we don't have to compare, as they would have been picked up by the index setters\n return false\n}\n\nfunction createHiddenProperty(target, prop, value) {\n Object.defineProperty(target, prop, {\n value: value,\n enumerable: false,\n writable: true\n })\n}\n","\"use strict\"\nimport {\n assign,\n each,\n has,\n is,\n isDraftable,\n isDraft,\n shallowCopy,\n DRAFT_STATE\n} from \"./common\"\nimport {ImmerScope} from \"./scope\"\n\n// Do nothing before being finalized.\nexport function willFinalize() {}\n\nexport function createProxy(base, parent) {\n const scope = parent ? parent.scope : ImmerScope.current\n const state = {\n // Track which produce call this is associated with.\n scope,\n // True for both shallow and deep changes.\n modified: false,\n // Used during finalization.\n finalized: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned: {},\n // The parent draft state.\n parent,\n // The base state.\n base,\n // The base proxy.\n draft: null,\n // Any property proxies.\n drafts: {},\n // The base copy with any updated values.\n copy: null,\n // Called by the `produce` function.\n revoke: null\n }\n\n const {revoke, proxy} = Array.isArray(base)\n ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants,\n // although state itself is an object\n Proxy.revocable([state], arrayTraps)\n : Proxy.revocable(state, objectTraps)\n\n state.draft = proxy\n state.revoke = revoke\n\n scope.drafts.push(proxy)\n return proxy\n}\n\nconst objectTraps = {\n get,\n has(target, prop) {\n return prop in source(target)\n },\n ownKeys(target) {\n return Reflect.ownKeys(source(target))\n },\n set,\n deleteProperty,\n getOwnPropertyDescriptor,\n defineProperty() {\n throw new Error(\"Object.defineProperty() cannot be used on an Immer draft\") // prettier-ignore\n },\n getPrototypeOf(target) {\n return Object.getPrototypeOf(target.base)\n },\n setPrototypeOf() {\n throw new Error(\"Object.setPrototypeOf() cannot be used on an Immer draft\") // prettier-ignore\n }\n}\n\nconst arrayTraps = {}\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0]\n return fn.apply(this, arguments)\n }\n})\narrayTraps.deleteProperty = function(state, prop) {\n if (isNaN(parseInt(prop))) {\n throw new Error(\"Immer only supports deleting array indices\") // prettier-ignore\n }\n return objectTraps.deleteProperty.call(this, state[0], prop)\n}\narrayTraps.set = function(state, prop, value) {\n if (prop !== \"length\" && isNaN(parseInt(prop))) {\n throw new Error(\"Immer only supports setting array indices and the 'length' property\") // prettier-ignore\n }\n return objectTraps.set.call(this, state[0], prop, value)\n}\n\n// returns the object we should be reading the current value from, which is base, until some change has been made\nfunction source(state) {\n return state.copy || state.base\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE]\n const desc = Reflect.getOwnPropertyDescriptor(\n state ? source(state) : draft,\n prop\n )\n return desc && desc.value\n}\n\nfunction get(state, prop) {\n if (prop === DRAFT_STATE) return state\n let {drafts} = state\n\n // Check for existing draft in unmodified state.\n if (!state.modified && has(drafts, prop)) {\n return drafts[prop]\n }\n\n const value = source(state)[prop]\n if (state.finalized || !isDraftable(value)) {\n return value\n }\n\n // Check for existing draft in modified state.\n if (state.modified) {\n // Assigned values are never drafted. This catches any drafts we created, too.\n if (value !== peek(state.base, prop)) return value\n // Store drafts on the copy (when one exists).\n drafts = state.copy\n }\n\n return (drafts[prop] = createProxy(value, state))\n}\n\nfunction set(state, prop, value) {\n if (!state.modified) {\n const baseValue = peek(state.base, prop)\n // Optimize based on value's truthiness. Truthy values are guaranteed to\n // never be undefined, so we can avoid the `in` operator. Lastly, truthy\n // values may be drafts, but falsy values are never drafts.\n const isUnchanged = value\n ? is(baseValue, value) || value === state.drafts[prop]\n : is(baseValue, value) && prop in state.base\n if (isUnchanged) return true\n markChanged(state)\n }\n state.assigned[prop] = true\n state.copy[prop] = value\n return true\n}\n\nfunction deleteProperty(state, prop) {\n // The `undefined` check is a fast path for pre-existing keys.\n if (peek(state.base, prop) !== undefined || prop in state.base) {\n state.assigned[prop] = false\n markChanged(state)\n }\n if (state.copy) delete state.copy[prop]\n return true\n}\n\n// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n// the same guarantee in ES5 mode.\nfunction getOwnPropertyDescriptor(state, prop) {\n const owner = source(state)\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n if (desc) {\n desc.writable = true\n desc.configurable = !Array.isArray(owner) || prop !== \"length\"\n }\n return desc\n}\n\nfunction markChanged(state) {\n if (!state.modified) {\n state.modified = true\n state.copy = assign(shallowCopy(state.base), state.drafts)\n state.drafts = null\n if (state.parent) markChanged(state.parent)\n }\n}\n","import {each} from \"./common\"\n\nexport function generatePatches(state, basePath, patches, inversePatches) {\n Array.isArray(state.base)\n ? generateArrayPatches(state, basePath, patches, inversePatches)\n : generateObjectPatches(state, basePath, patches, inversePatches)\n}\n\nfunction generateArrayPatches(state, basePath, patches, inversePatches) {\n let {base, copy, assigned} = state\n\n // Reduce complexity by ensuring `base` is never longer.\n if (copy.length < base.length) {\n ;[base, copy] = [copy, base]\n ;[patches, inversePatches] = [inversePatches, patches]\n }\n\n const delta = copy.length - base.length\n\n // Find the first replaced index.\n let start = 0\n while (base[start] === copy[start] && start < base.length) {\n ++start\n }\n\n // Find the last replaced index. Search from the end to optimize splice patches.\n let end = base.length\n while (end > start && base[end - 1] === copy[end + delta - 1]) {\n --end\n }\n\n // Process replaced indices.\n for (let i = start; i < end; ++i) {\n if (assigned[i] && copy[i] !== base[i]) {\n const path = basePath.concat([i])\n patches.push({\n op: \"replace\",\n path,\n value: copy[i]\n })\n inversePatches.push({\n op: \"replace\",\n path,\n value: base[i]\n })\n }\n }\n\n const useRemove = end != base.length\n const replaceCount = patches.length\n\n // Process added indices.\n for (let i = end + delta - 1; i >= end; --i) {\n const path = basePath.concat([i])\n patches[replaceCount + i - end] = {\n op: \"add\",\n path,\n value: copy[i]\n }\n if (useRemove) {\n inversePatches.push({\n op: \"remove\",\n path\n })\n }\n }\n\n // One \"replace\" patch reverses all non-splicing \"add\" patches.\n if (!useRemove) {\n inversePatches.push({\n op: \"replace\",\n path: basePath.concat([\"length\"]),\n value: base.length\n })\n }\n}\n\nfunction generateObjectPatches(state, basePath, patches, inversePatches) {\n const {base, copy} = state\n each(state.assigned, (key, assignedValue) => {\n const origValue = base[key]\n const value = copy[key]\n const op = !assignedValue ? \"remove\" : key in base ? \"replace\" : \"add\"\n if (origValue === value && op === \"replace\") return\n const path = basePath.concat(key)\n patches.push(op === \"remove\" ? {op, path} : {op, path, value})\n inversePatches.push(\n op === \"add\"\n ? {op: \"remove\", path}\n : op === \"remove\"\n ? {op: \"add\", path, value: origValue}\n : {op: \"replace\", path, value: origValue}\n )\n })\n}\n\nexport function applyPatches(draft, patches) {\n for (let i = 0; i < patches.length; i++) {\n const patch = patches[i]\n const {path} = patch\n if (path.length === 0 && patch.op === \"replace\") {\n draft = patch.value\n } else {\n let base = draft\n for (let i = 0; i < path.length - 1; i++) {\n base = base[path[i]]\n if (!base || typeof base !== \"object\")\n throw new Error(\"Cannot apply patch, path doesn't resolve: \" + path.join(\"/\")) // prettier-ignore\n }\n const key = path[path.length - 1]\n switch (patch.op) {\n case \"replace\":\n base[key] = patch.value\n break\n case \"add\":\n if (Array.isArray(base)) {\n // TODO: support \"foo/-\" paths for appending to an array\n base.splice(key, 0, patch.value)\n } else {\n base[key] = patch.value\n }\n break\n case \"remove\":\n if (Array.isArray(base)) {\n base.splice(key, 1)\n } else {\n delete base[key]\n }\n break\n default:\n throw new Error(\"Unsupported patch operation: \" + patch.op)\n }\n }\n }\n return draft\n}\n","import * as legacyProxy from \"./es5\"\nimport * as modernProxy from \"./proxy\"\nimport {applyPatches, generatePatches} from \"./patches\"\nimport {\n assign,\n each,\n has,\n is,\n isDraft,\n isDraftable,\n isEnumerable,\n shallowCopy,\n DRAFT_STATE,\n NOTHING\n} from \"./common\"\nimport {ImmerScope} from \"./scope\"\n\nfunction verifyMinified() {}\n\nconst configDefaults = {\n useProxies: typeof Proxy !== \"undefined\" && typeof Reflect !== \"undefined\",\n autoFreeze:\n typeof process !== \"undefined\"\n ? process.env.NODE_ENV !== \"production\"\n : verifyMinified.name === \"verifyMinified\",\n onAssign: null,\n onDelete: null,\n onCopy: null\n}\n\nexport class Immer {\n constructor(config) {\n assign(this, configDefaults, config)\n this.setUseProxies(this.useProxies)\n this.produce = this.produce.bind(this)\n }\n produce(base, recipe, patchListener) {\n // curried invocation\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe\n recipe = base\n\n const self = this\n return function curriedProduce(base = defaultBase, ...args) {\n return self.produce(base, draft => recipe.call(this, draft, ...args)) // prettier-ignore\n }\n }\n\n // prettier-ignore\n {\n if (typeof recipe !== \"function\") {\n throw new Error(\"The first or second argument to `produce` must be a function\")\n }\n if (patchListener !== undefined && typeof patchListener !== \"function\") {\n throw new Error(\"The third argument to `produce` must be a function or undefined\")\n }\n }\n\n let result\n\n // Only plain objects, arrays, and \"immerable classes\" are drafted.\n if (isDraftable(base)) {\n const scope = ImmerScope.enter()\n const proxy = this.createProxy(base)\n let hasError = true\n try {\n result = recipe(proxy)\n hasError = false\n } finally {\n // finally instead of catch + rethrow better preserves original stack\n if (hasError) scope.revoke()\n else scope.leave()\n }\n if (result instanceof Promise) {\n return result.then(\n result => {\n scope.usePatches(patchListener)\n return this.processResult(result, scope)\n },\n error => {\n scope.revoke()\n throw error\n }\n )\n }\n scope.usePatches(patchListener)\n return this.processResult(result, scope)\n } else {\n result = recipe(base)\n if (result === undefined) return base\n return result !== NOTHING ? result : undefined\n }\n }\n createDraft(base) {\n if (!isDraftable(base)) {\n throw new Error(\"First argument to `createDraft` must be a plain object, an array, or an immerable object\") // prettier-ignore\n }\n const scope = ImmerScope.enter()\n const proxy = this.createProxy(base, null)\n proxy[DRAFT_STATE].isManual = true\n scope.leave()\n return proxy\n }\n finishDraft(draft, patchListener, keepAlive) {\n const state = draft && draft[DRAFT_STATE]\n if (!state || !state.isManual) {\n throw new Error(\"First argument to `finishDraft` must be a draft returned by `createDraft`\") // prettier-ignore\n }\n if (state.finalized) {\n throw new Error(\"The given draft is already finalized\") // prettier-ignore\n }\n const {scope} = state\n scope.usePatches(patchListener)\n return this.processResult(undefined, scope, keepAlive)\n }\n setAutoFreeze(value) {\n this.autoFreeze = value\n }\n setUseProxies(value) {\n this.useProxies = value\n assign(this, value ? modernProxy : legacyProxy)\n }\n applyPatches(base, patches) {\n // Mutate the base state when a draft is passed.\n if (isDraft(base)) {\n return applyPatches(base, patches)\n }\n // Otherwise, produce a copy of the base state.\n return this.produce(base, draft => applyPatches(draft, patches))\n }\n /** @internal */\n processResult(result, scope, keepAlive) {\n const baseDraft = scope.drafts[0]\n const isReplaced = result !== undefined && result !== baseDraft\n this.willFinalize(scope, result, isReplaced)\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified) {\n scope.revoke(keepAlive)\n throw new Error(\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\") // prettier-ignore\n }\n if (isDraftable(result)) {\n // Finalize the result in case it contains (or is) a subset of the draft.\n result = this.finalize(result, null, scope)\n }\n if (scope.patches) {\n scope.patches.push({\n op: \"replace\",\n path: [],\n value: result\n })\n scope.inversePatches.push({\n op: \"replace\",\n path: [],\n value: baseDraft[DRAFT_STATE].base\n })\n }\n } else {\n // Finalize the base draft.\n result = this.finalize(baseDraft, [], scope, keepAlive)\n }\n scope.revoke(keepAlive)\n if (scope.patches) {\n scope.patchListener(scope.patches, scope.inversePatches)\n }\n return result !== NOTHING ? result : undefined\n }\n /**\n * @internal\n * Finalize a draft, returning either the unmodified base state or a modified\n * copy of the base state.\n */\n finalize(draft, path, scope, keepAlive) {\n const state = draft[DRAFT_STATE]\n if (!state) {\n if (Object.isFrozen(draft)) return draft\n return this.finalizeTree(draft, null, scope)\n }\n // Never finalize drafts owned by another scope.\n if (state.scope !== scope) {\n return draft\n }\n if (!state.modified) {\n return state.base\n }\n if (!state.finalized) {\n if (!keepAlive) state.finalized = true\n this.finalizeTree(state.draft, path, scope)\n\n if (this.onDelete) {\n // The `assigned` object is unreliable with ES5 drafts.\n if (this.useProxies) {\n const {assigned} = state\n for (const prop in assigned) {\n if (!assigned[prop]) this.onDelete(state, prop)\n }\n } else {\n const {base, copy} = state\n each(base, prop => {\n if (!has(copy, prop)) this.onDelete(state, prop)\n })\n }\n }\n if (this.onCopy) {\n this.onCopy(state)\n }\n\n // At this point, all descendants of `state.copy` have been finalized,\n // so we can be sure that `scope.canAutoFreeze` is accurate.\n if (this.autoFreeze && scope.canAutoFreeze) {\n Object.freeze(state.copy)\n }\n\n if (path && scope.patches) {\n generatePatches(\n state,\n path,\n scope.patches,\n scope.inversePatches\n )\n }\n }\n return state.copy\n }\n /**\n * @internal\n * Finalize all drafts in the given state tree.\n */\n finalizeTree(root, rootPath, scope) {\n const state = root[DRAFT_STATE]\n if (state) {\n if (!this.useProxies) {\n // Create the final copy, with added keys and without deleted keys.\n state.copy = shallowCopy(state.draft, true)\n }\n root = state.copy\n }\n\n const needPatches = !!rootPath && !!scope.patches\n const finalizeProperty = (prop, value, parent) => {\n if (value === parent) {\n throw Error(\"Immer forbids circular references\")\n }\n\n // In the `finalizeTree` method, only the `root` object may be a draft.\n const isDraftProp = !!state && parent === root\n\n if (isDraft(value)) {\n const path =\n isDraftProp && needPatches && !state.assigned[prop]\n ? rootPath.concat(prop)\n : null\n\n // Drafts owned by `scope` are finalized here.\n value = this.finalize(value, path, scope)\n\n // Drafts from another scope must prevent auto-freezing.\n if (isDraft(value)) {\n scope.canAutoFreeze = false\n }\n\n // Preserve non-enumerable properties.\n if (Array.isArray(parent) || isEnumerable(parent, prop)) {\n parent[prop] = value\n } else {\n Object.defineProperty(parent, prop, {value})\n }\n\n // Unchanged drafts are never passed to the `onAssign` hook.\n if (isDraftProp && value === state.base[prop]) return\n }\n // Unchanged draft properties are ignored.\n else if (isDraftProp && is(value, state.base[prop])) {\n return\n }\n // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n else if (isDraftable(value) && !Object.isFrozen(value)) {\n each(value, finalizeProperty)\n }\n\n if (isDraftProp && this.onAssign) {\n this.onAssign(state, prop, value)\n }\n }\n\n each(root, finalizeProperty)\n return root\n }\n}\n","import {Immer} from \"./immer\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce = immer.produce\nexport default produce\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is disabled in production.\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\nexport {\n original,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n DRAFTABLE as immerable,\n DRAFT_STATE\n} from \"./common\"\n\nexport {Immer}\n"],"names":["root","factory","exports","module","define","amd","self","e","r","n","t","defaultSetTimout","Error","defaultClearTimeout","runTimeout","setTimeout","call","this","clearTimeout","u","i","o","a","cleanUpNextTick","length","concat","drainQueue","run","runClearTimeout","Item","fun","array","noop","nextTick","Array","arguments","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","__nccwpck_require__","undefined","ab","__dirname","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","key","Object","defineProperty","enumerable","get","obj","prop","hasOwnProperty","Symbol","toStringTag","value","NOTHING","DRAFTABLE","for","DRAFT_STATE","isDraft","isDraftable","isArray","proto","getPrototypeOf","constructor","original","base","assign","target","has","ownKeys","Reflect","getOwnPropertySymbols","getOwnPropertyNames","shallowCopy","invokeGetters","slice","clone","create","forEach","desc","getOwnPropertyDescriptor","writable","configurable","each","cb","isEnumerable","thing","is","x","y","ImmerScope","parent","drafts","canAutoFreeze","patches","usePatches","patchListener","inversePatches","revoke","keepAlive","leave","current","draft","enter","descriptors","willFinalize","scope","result","isReplaced","finalizing","markChangesSweep","markChangesRecursively","createProxy","clonePotentialDraft","state","assertUnrevoked","peek","source","prepareCopy","copy","set","assigned","modified","markChanged","proxyProperty","finalized","revoked","JSON","stringify","hasArrayChanges","hasObjectChanges","object","keys","baseValue","descriptor","_ref","Proxy","revocable","arrayTraps","objectTraps","proxy","deleteProperty","owner","setPrototypeOf","generatePatches","basePath","_ref2","delta","start","end","path","op","useRemove","replaceCount","generateArrayPatches","assignedValue","origValue","generateObjectPatches","applyPatches","patch","join","splice","fn","isNaN","parseInt","configDefaults","useProxies","autoFreeze","process","name","onAssign","onDelete","onCopy","Immer","config","setUseProxies","produce","bind","recipe","defaultBase","_len","args","_key","hasError","Promise","then","processResult","error","createDraft","isManual","finishDraft","setAutoFreeze","modernProxy","legacyProxy","baseDraft","finalize","isFrozen","finalizeTree","freeze","rootPath","needPatches","finalizeProperty","isDraftProp","immer"],"sourceRoot":""}
|