{"ast":null,"code":"var _jsxFileName = \"/root/.openclaw/workspace/projects/termosa-use-request/example/src/PatchExample.js\",\n  _s = $RefreshSig$();\nimport React from 'react';\nimport useRequest from 'use-request';\nimport api from './api';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst PatchExample = () => {\n  _s();\n  const {\n    value: todos,\n    patchValue,\n    resetPatch,\n    patched,\n    execute\n  } = useRequest(api.getTodos, []);\n  const inputRef = React.useRef(null);\n  const addOptimistic = async () => {\n    var _inputRef$current;\n    const text = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value;\n    if (!text) return;\n    inputRef.current.value = '';\n    patchValue([...(todos || []), text]);\n    try {\n      const updated = await api.addTodo(text);\n      patchValue(updated);\n    } catch {\n      resetPatch();\n    }\n  };\n  const addAndFail = async () => {\n    var _inputRef$current2;\n    const text = ((_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.value) || 'New todo';\n    if (inputRef.current) inputRef.current.value = '';\n    patchValue([...(todos || []), text]);\n    try {\n      await api.addTodoFail(text);\n    } catch {\n      setTimeout(resetPatch, 600);\n    }\n  };\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    children: [/*#__PURE__*/_jsxDEV(\"input\", {\n      className: \"demo-input\",\n      ref: inputRef,\n      placeholder: \"New todo...\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 39,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      style: {\n        display: 'flex',\n        gap: 8,\n        marginTop: 8\n      },\n      children: [/*#__PURE__*/_jsxDEV(\"button\", {\n        className: \"demo-btn demo-btn-sm\",\n        onClick: addOptimistic,\n        children: \"Add\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 41,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n        className: \"demo-btn demo-btn-sm demo-btn-danger\",\n        onClick: addAndFail,\n        children: \"Add (will fail)\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 42,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 40,\n      columnNumber: 7\n    }, this), todos && /*#__PURE__*/_jsxDEV(\"ul\", {\n      className: \"resource-list\",\n      children: todos.map((t, i) => /*#__PURE__*/_jsxDEV(\"li\", {\n        children: t\n      }, i, false, {\n        fileName: _jsxFileName,\n        lineNumber: 48,\n        columnNumber: 32\n      }, this))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 47,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 38,\n    columnNumber: 5\n  }, this);\n};\n_s(PatchExample, \"Ipn3ckzY+XWV5uNradQa+vLoxaA=\", false, function () {\n  return [useRequest];\n});\n_c = PatchExample;\nexport default PatchExample;\nvar _c;\n$RefreshReg$(_c, \"PatchExample\");","map":{"version":3,"names":["React","useRequest","api","jsxDEV","_jsxDEV","PatchExample","_s","value","todos","patchValue","resetPatch","patched","execute","getTodos","inputRef","useRef","addOptimistic","_inputRef$current","text","current","updated","addTodo","addAndFail","_inputRef$current2","addTodoFail","setTimeout","children","className","ref","placeholder","fileName","_jsxFileName","lineNumber","columnNumber","style","display","gap","marginTop","onClick","map","t","i","_c","$RefreshReg$"],"sources":["/root/.openclaw/workspace/projects/termosa-use-request/example/src/PatchExample.js"],"sourcesContent":["import React from 'react'\nimport useRequest from 'use-request'\nimport api from './api'\n\nconst PatchExample = () => {\n  const { value: todos, patchValue, resetPatch, patched, execute } = useRequest(api.getTodos, [])\n  const inputRef = React.useRef(null)\n\n  const addOptimistic = async () => {\n    const text = inputRef.current?.value\n    if (!text) return\n    inputRef.current.value = ''\n\n    patchValue([...(todos || []), text])\n\n    try {\n      const updated = await api.addTodo(text)\n      patchValue(updated)\n    } catch {\n      resetPatch()\n    }\n  }\n\n  const addAndFail = async () => {\n    const text = inputRef.current?.value || 'New todo'\n    if (inputRef.current) inputRef.current.value = ''\n\n    patchValue([...(todos || []), text])\n\n    try {\n      await api.addTodoFail(text)\n    } catch {\n      setTimeout(resetPatch, 600)\n    }\n  }\n\n  return (\n    <div>\n      <input className=\"demo-input\" ref={inputRef} placeholder=\"New todo...\" />\n      <div style={{ display: 'flex', gap: 8, marginTop: 8 }}>\n        <button className=\"demo-btn demo-btn-sm\" onClick={addOptimistic}>Add</button>\n        <button className=\"demo-btn demo-btn-sm demo-btn-danger\" onClick={addAndFail}>\n          Add (will fail)\n        </button>\n      </div>\n      {todos && (\n        <ul className=\"resource-list\">\n          {todos.map((t, i) => <li key={i}>{t}</li>)}\n        </ul>\n      )}\n    </div>\n  )\n}\n\nexport default PatchExample\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}