{"version":3,"sources":["jsdelivr-header.js","/npm/@pluv/crdt-loro@3.2.2/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAAI,UAAY,OAAO,eACnB,WAAa,OAAO,iBACpB,iBAAmB,OAAO,yBAC1B,kBAAoB,OAAO,0BAC3B,kBAAoB,OAAO,oBAC3B,oBAAsB,OAAO,sBAC7B,aAAe,OAAO,UAAU,eAChC,aAAe,OAAO,UAAU,qBAChC,YAAe,IACjB,MAAM,UAAU,EAAI,EAElB,gBAAkB,CAAC,EAAK,EAAK,IAAU,KAAO,EAAM,UAAU,EAAK,EAAK,CAAE,YAAY,EAAM,cAAc,EAAM,UAAU,EAAM,UAAW,EAAI,GAAO,EACtJ,eAAiB,CAAC,EAAG,KACvB,IAAK,IAAI,KAAQ,IAAM,EAAI,CAAC,GACtB,aAAa,KAAK,EAAG,IACvB,gBAAgB,EAAG,EAAM,EAAE,IAC/B,GAAI,oBACF,IAAK,IAAI,KAAQ,oBAAoB,GAC/B,aAAa,KAAK,EAAG,IACvB,gBAAgB,EAAG,EAAM,EAAE,IAEjC,OAAO,CAAC,EAEN,cAAgB,CAAC,EAAG,IAAM,WAAW,EAAG,kBAAkB,IAC1D,SAAW,CAAC,EAAQ,KACtB,IAAK,IAAI,KAAQ,EACf,UAAU,EAAQ,EAAM,CAAE,IAAK,EAAI,GAAO,YAAY,GAAO,EAE7D,YAAc,CAAC,EAAI,EAAM,EAAQ,KACnC,GAAI,GAAwB,iBAAT,GAAqC,mBAAT,EAC7C,IAAK,IAAI,KAAO,kBAAkB,GAC3B,aAAa,KAAK,EAAI,IAAQ,IAAQ,GACzC,UAAU,EAAI,EAAK,CAAE,IAAK,IAAM,EAAK,GAAM,aAAc,EAAO,iBAAiB,EAAM,KAAS,EAAK,aAE3G,OAAO,CAAE,EAEP,aAAgB,GAAQ,YAAY,UAAU,CAAC,EAAG,aAAc,CAAE,OAAO,IAAS,GAClF,cAAgB,CAAC,EAAK,EAAQ,IAAQ,EAAO,IAAI,IAAQ,YAAY,UAAY,GACjF,aAAe,CAAC,EAAK,EAAQ,KAAY,cAAc,EAAK,EAAQ,2BAA4B,EAAS,EAAO,KAAK,GAAO,EAAO,IAAI,IACvI,aAAe,CAAC,EAAK,EAAQ,IAAU,EAAO,IAAI,GAAO,YAAY,qDAAuD,aAAkB,QAAU,EAAO,IAAI,GAAO,EAAO,IAAI,EAAK,GAC1L,aAAe,CAAC,EAAK,EAAQ,EAAO,KAAY,cAAc,EAAK,EAAQ,0BAA2B,EAAS,EAAO,KAAK,EAAK,GAAS,EAAO,IAAI,EAAK,GAAQ,GACjK,gBAAkB,CAAC,EAAK,EAAQ,KAAY,cAAc,EAAK,EAAQ,yBAA0B,GAGjG,cAAgB,CAAC,EACrB,SAAS,cAAe,CACtB,KAAM,IAAM,eAEd,OAAO,QAAU,aAAa,eAG9B,IAAI,aAAe,CAAC,EACpB,SAAS,aAAc,CACrB,YAAa,IAAM,YACnB,QAAS,IAAM,QACf,IAAK,IAAM,IACX,KAAM,IAAM,KACZ,KAAM,IAAM,KACZ,IAAK,IAAM,IACX,YAAa,IAAM,YACnB,OAAQ,IAAM,OACd,KAAM,IAAM,KACZ,KAAM,IAAM,OAId,IAwDI,UAAW,cAAe,uBAAwB,cAxDlD,iBAAmB,QAAQ,aAC3B,QAAU,IACK,IAAI,iBAAiB,YAKpC,iBAAmB,QAAQ,aAC3B,kBAAoB,QAAQ,aAG5B,kBAAoB,QAAQ,aAC5B,QAAW,IACN,CACL,QAAQ,GACC,EAAK,WAAW,GAEzB,IAAA,CAAK,EAAM,EAAQ,IACjB,MAAM,EAAQ,EAAK,QAAQ,GAK3B,OAJA,EAAM,SAAQ,CAAC,EAAM,MACf,EAAI,kBAAkB,aAAa,GAAO,EAAM,gBAAgB,EAAG,GAClE,EAAM,OAAO,EAAG,EAAK,IAErB,CACT,EACA,GAAA,CAAI,EAAM,EAAQ,CAAC,GACjB,MAAM,EAAY,EAAK,OAAO,GAK9B,OAJA,OAAO,QAAQ,GAAO,SAAQ,EAAE,EAAK,OAC/B,EAAI,kBAAkB,aAAa,GAAO,EAAU,aAAa,EAAK,GACrE,EAAU,IAAI,EAAK,EAAK,IAExB,CACT,EACA,YAAA,CAAa,EAAM,EAAQ,IACzB,MAAM,EAAQ,EAAK,eAAe,GAKlC,OAJA,EAAM,SAAQ,CAAC,EAAM,MACf,EAAI,kBAAkB,aAAa,GAAO,EAAM,gBAAgB,EAAG,GAClE,EAAM,OAAO,EAAG,EAAK,IAErB,CACT,EACA,IAAA,CAAK,EAAM,EAAQ,IACjB,MAAM,EAAQ,EAAK,QAAQ,GAE3B,OADA,EAAM,OAAO,EAAG,GACT,CACT,EACA,KAAK,GACI,EAAK,QAAQ,KAMtB,eAAiB,IACjB,kBAAoB,IACpB,cAAgB,UAEhB,YAAc,MAChB,WAAA,CAAY,EAAS,KAAM,CAAG,IAC5B,aAAa,KAAM,wBACnB,KAAK,MAAQ,IAAI,kBAAkB,QACnC,aAAa,KAAM,WACnB,aAAa,KAAM,cAAe,MAClC,MAAM,EAAU,EAAO,QAAQ,KAAK,QAC9B,EAAO,OAAO,KAAK,KAAK,MAAM,UAAU,QAC5C,CAAC,EAAK,IAAQ,EAAI,IAAI,IACN,IAAI,KAEtB,aAAa,KAAM,UAAW,OAAO,QAAQ,GAAS,QACpD,CAAC,GAAM,EAAK,KAAU,EAAK,IAAI,GAAO,cAAc,eAAe,CAAC,EAAG,GAAM,CAAE,CAAC,GAAM,IAAU,GAChG,CAAC,IAEG,OAAO,KAAK,GAAS,QAAQ,gBAAgB,KAAM,uBAAwB,eAAe,KAAK,MACrG,KAAK,MAAM,QACb,CACA,iBAAA,CAAkB,GAChB,MAAM,EAAkC,iBAAlB,EAAO,QAAsB,EAAI,iBAAiB,cAAc,EAAO,QAAU,EAAO,OAC9G,OAAK,GACL,KAAK,MAAM,OAAO,GACX,MAFa,IAGtB,CACA,sBAAA,CAAuB,GACrB,IAAI,EAAI,EACR,MACM,GADmC,OAAxB,EAAK,EAAO,SAAmB,EAAK,IAC5B,QAAO,CAAC,EAAK,IAC/B,EACiB,iBAAX,GACT,EAAI,MAAK,EAAI,iBAAiB,cAAc,IACrC,GAEa,iBAAX,GACT,EAAI,KAAK,GACF,GAEF,EATa,GAUnB,IACH,IAAK,EAAS,OAAQ,OAAO,KAC7B,GAAwB,IAApB,EAAS,OAAc,CACzB,MAAM,EAA+B,OAArB,EAAK,EAAS,IAAc,EAAK,KAEjD,OADM,GAAQ,KAAK,MAAM,OAAO,GACzB,IACT,CAEA,OADA,KAAK,MAAM,YAAY,GAChB,IACT,CACA,OAAA,GACE,QAAK,aAAa,KAAM,gBACjB,aAAa,KAAM,eAAe,SAC3C,CACA,OAAA,GACE,QAAK,aAAa,KAAM,gBACjB,aAAa,KAAM,eAAe,SAC3C,CACA,OAAA,GAEA,CACA,GAAA,CAAI,GACF,YAAmB,IAAR,EAA4B,aAAa,KAAM,WACnD,aAAa,KAAM,WAAW,EACvC,CACA,eAAA,GACE,OAAO,EAAI,iBAAiB,gBAAgB,KAAK,MAAM,OAAO,CAAE,KAAM,aACxE,CACA,MAAA,CAAO,GACL,GAAoB,iBAAT,EAAmB,CAC5B,MAAM,EAAY,aAAa,KAAM,WAAW,GAChD,OAAO,aAAqB,kBAAkB,SAAW,EAAU,WAAa,aAAqB,kBAAkB,YAAc,EAAU,MAAQ,EAAU,QACnK,CACA,OAAO,OAAO,QAAQ,aAAa,KAAM,YAAY,QACnD,CAAC,GAAM,EAAK,KAAW,cAAc,eAAe,CAAC,EAAG,GAAM,CAC5D,CAAC,GAAM,aAAiB,kBAAkB,SAAW,EAAM,WAAa,EAAM,YAEhF,CAAC,EAEL,CACA,OAAA,GACE,MAAM,EAAa,KAAK,MAAM,SAC9B,OAAQ,IAAe,OAAO,KAAK,GAAY,MACjD,CACA,cAAA,CAAe,GAEb,OADkB,OAAO,KAAK,aAAa,KAAM,YAAY,QAE3D,QAAQ,KAAK,+CACN,OAET,aAAa,KAAM,UAAW,OAAO,QAAQ,GAAW,QAAO,CAAC,GAAM,EAAK,KACrE,aAAgB,kBAAkB,YAAoB,cAAc,eAAe,CAAC,EAAG,GAAM,CAAE,CAAC,GAAM,KAAK,MAAM,WAAW,KAC5H,aAAgB,kBAAkB,SAAiB,cAAc,eAAe,CAAC,EAAG,GAAM,CAAE,CAAC,GAAM,KAAK,MAAM,QAAQ,KACtH,aAAgB,kBAAkB,QAAgB,cAAc,eAAe,CAAC,EAAG,GAAM,CAAE,CAAC,GAAM,KAAK,MAAM,OAAO,KACpH,aAAgB,kBAAkB,gBAC7B,cAAc,eAAe,CAAC,EAAG,GAAM,CAAE,CAAC,GAAM,KAAK,MAAM,eAAe,KAE/E,aAAgB,kBAAkB,SAAiB,cAAc,eAAe,CAAC,EAAG,GAAM,CAAE,CAAC,GAAM,KAAK,MAAM,QAAQ,KACtH,aAAgB,kBAAkB,SAAiB,cAAc,eAAe,CAAC,EAAG,GAAM,CAAE,CAAC,GAAM,KAAK,MAAM,QAAQ,KACnH,GACN,CAAC,IACG,KAAK,QACd,CACA,IAAA,GACE,IAAI,EAEJ,OAD4C,OAA3C,EAAK,aAAa,KAAM,iBAAmC,EAAG,OACxD,IACT,CACA,SAAA,CAAU,GACR,MAAM,EAAM,IACV,MAAM,GAAS,EAAI,iBAAiB,gBAAgB,KAAK,MAAM,OAAO,CAAE,KAAM,YAC9E,EAAS,CACP,IAAK,KACL,MAAoB,UAAb,EAAM,GACb,OAAQ,EAAM,OAAS,OAAO,EAAM,QAAU,KAC9C,UACA,EAaJ,OAXsB,OAAO,OAAO,aAAa,KAAM,YAAY,QACjE,CAAC,EAAK,KACJ,MACM,EADY,EACY,UAAU,GACxC,MAAO,KACL,IACA,GAAa,CACd,IAEH,KACF,GAEF,CACA,KAAA,GAUE,OATI,aAAa,KAAM,iBACrB,aAAa,KAAM,eAAe,QAClC,aAAa,KAAM,eAAe,OAClC,aAAa,KAAM,cAAe,OAEpC,aAAa,KAAM,cAAe,IAAI,kBAAkB,YAAY,KAAK,MAAO,CAC9E,aAAc,eACd,cAAe,qBAEV,IACT,CAKA,QAAA,CAAS,GAGP,OAFA,IACA,KAAK,MAAM,SACJ,IACT,CACA,IAAA,GACE,IAAI,EAEJ,OAD4C,OAA3C,EAAK,aAAa,KAAM,iBAAmC,EAAG,OACxD,IACT,GAEF,UAAY,IAAI,QAChB,cAAgB,IAAI,QACpB,uBAAyB,IAAI,QAC7B,cAAgB,WACd,MAAM,EAAQ,KAAK,MAAM,QAAQ,eAC3B,EAAuB,oBAAX,OAAyB,OAAO,aAAe,KAAK,SAAS,WAC/E,EAAM,OAAO,EAAG,EAClB,EAGA,IAAI,YAAc,QAAQ,cACtB,mBAAqB,MAAM,UAA4B,YAAY,uBACrE,WAAA,CAAY,EAAiB,KAAM,CAAG,IACpC,MAAM,GACN,KAAK,gBAAkB,CACzB,CACA,QAAA,GACE,OAAO,IAAI,WACb,CACA,UAAA,CAAW,GACT,OAAO,IAAI,EAAsC,MAAlB,EAAyB,EAAiB,KAAK,gBAChF,CACA,cAAA,CAAe,GACb,OAAO,IAAI,YAA8B,MAAlB,EAAyB,EAAiB,KAAK,gBACxE,GAIE,IAAM,CAAC,EAAQ,KAAM,CAAG,KACnB,IAAI,mBAAmB,GAI5B,kBAAoB,QAAQ,aAC5B,KAAO,CAAC,EAAQ,MAClB,MAAM,EAAY,IAAI,kBAAkB,SAKxC,OAJA,EAAM,SAAQ,CAAC,EAAM,MACf,EAAI,kBAAkB,aAAa,GAAO,EAAU,gBAAgB,EAAG,GACtE,EAAU,OAAO,EAAG,EAAK,IAEzB,CAAS,EAId,kBAAoB,QAAQ,aAC5B,IAAM,CAAC,EAAQ,MACjB,MAAM,EAAY,IAAI,kBAAkB,QAKxC,OAJA,EAAM,SAAQ,EAAE,EAAK,OACf,EAAI,kBAAkB,aAAa,GAAO,EAAU,aAAa,EAAK,GACrE,EAAU,IAAI,EAAK,EAAK,IAExB,CAAS,EAId,kBAAoB,QAAQ,aAC5B,YAAc,CAAC,EAAQ,MACzB,MAAM,EAAY,IAAI,kBAAkB,gBAKxC,OAJA,EAAM,SAAQ,CAAC,EAAM,MACf,EAAI,kBAAkB,aAAa,GAAO,EAAU,gBAAgB,EAAG,GACtE,EAAU,OAAO,EAAG,EAAK,IAEzB,CAAS,EAId,kBAAoB,QAAQ,aAC5B,OAAU,IACZ,MAAM,EAAY,IAAI,kBAAkB,QAKxC,OAJA,OAAO,QAAQ,GAAO,SAAQ,EAAE,EAAK,OAC/B,EAAI,kBAAkB,aAAa,GAAO,EAAU,aAAa,EAAK,GACrE,EAAU,IAAI,EAAK,EAAK,IAExB,CAAS,EAId,kBAAoB,QAAQ,aAC5B,KAAO,CAAC,EAAQ,MAClB,MAAM,EAAY,IAAI,kBAAkB,SAExC,OADA,EAAU,OAAO,EAAG,GACb,CAAS,EAId,kBAAoB,QAAQ,aAC5B,KAAO,IACS,IAAI,kBAAkB,SAKtC,KAAO","file":"/npm/@pluv/crdt-loro@3.2.2/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@pluv/crdt-loro@3.2.2/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __typeError = (msg) => {\n  throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from))\n      if (!__hasOwnProp.call(to, key) && key !== except)\n        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n  }\n  return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar __privateMethod = (obj, member, method) => (__accessCheck(obj, member, \"access private method\"), method);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n  loro: () => loro_exports\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/loro.ts\nvar loro_exports = {};\n__export(loro_exports, {\n  CrdtLoroDoc: () => CrdtLoroDoc,\n  counter: () => counter,\n  doc: () => doc,\n  kind: () => kind,\n  list: () => list,\n  map: () => map,\n  movableList: () => movableList,\n  object: () => object,\n  text: () => text,\n  tree: () => tree\n});\n\n// src/counter.ts\nvar import_loro_crdt = require(\"loro-crdt\");\nvar counter = () => {\n  const counter2 = new import_loro_crdt.LoroCounter();\n  return counter2;\n};\n\n// src/doc/CrdtLoroDoc.ts\nvar import_js_base64 = require(\"js-base64\");\nvar import_loro_crdt3 = require(\"loro-crdt\");\n\n// src/doc/builder.ts\nvar import_loro_crdt2 = require(\"loro-crdt\");\nvar builder = (doc2) => {\n  return {\n    counter(name) {\n      return doc2.getCounter(name);\n    },\n    list(name, value = []) {\n      const list2 = doc2.getList(name);\n      value.forEach((item, i) => {\n        if ((0, import_loro_crdt2.isContainer)(item)) list2.insertContainer(i, item);\n        else list2.insert(i, item);\n      });\n      return list2;\n    },\n    map(name, value = {}) {\n      const container = doc2.getMap(name);\n      Object.entries(value).forEach(([key, item]) => {\n        if ((0, import_loro_crdt2.isContainer)(item)) container.setContainer(key, item);\n        else container.set(key, item);\n      });\n      return container;\n    },\n    moveableList(name, value = []) {\n      const list2 = doc2.getMovableList(name);\n      value.forEach((item, i) => {\n        if ((0, import_loro_crdt2.isContainer)(item)) list2.insertContainer(i, item);\n        else list2.insert(i, item);\n      });\n      return list2;\n    },\n    text(name, value = \"\") {\n      const text2 = doc2.getText(name);\n      text2.insert(0, value);\n      return text2;\n    },\n    tree(name) {\n      return doc2.getTree(name);\n    }\n  };\n};\n\n// src/doc/CrdtLoroDoc.ts\nvar MAX_UNDO_STEPS = 100;\nvar MERGE_INTERVAL_MS = 1e3;\nvar PLUV_ID_FIELD = \"__$pluv\";\nvar __storage, __undoManager, _CrdtLoroDoc_instances, _setPluvId_fn;\nvar CrdtLoroDoc = class {\n  constructor(params = () => ({})) {\n    __privateAdd(this, _CrdtLoroDoc_instances);\n    this.value = new import_loro_crdt3.LoroDoc();\n    __privateAdd(this, __storage);\n    __privateAdd(this, __undoManager, null);\n    const storage = params(builder(this.value));\n    const keys = Object.keys(this.value.toJSON()).reduce(\n      (set, key) => set.add(key),\n      /* @__PURE__ */ new Set()\n    );\n    __privateSet(this, __storage, Object.entries(storage).reduce(\n      (acc, [key, node]) => keys.has(key) ? __spreadProps(__spreadValues({}, acc), { [key]: node }) : acc,\n      {}\n    ));\n    if (!!Object.keys(storage).length) __privateMethod(this, _CrdtLoroDoc_instances, _setPluvId_fn).call(this);\n    this.value.commit();\n  }\n  applyEncodedState(params) {\n    const update = typeof params.update === \"string\" ? (0, import_js_base64.toUint8Array)(params.update) : params.update;\n    if (!update) return this;\n    this.value.import(update);\n    return this;\n  }\n  batchApplyEncodedState(params) {\n    var _a, _b;\n    const updates = (_a = params.updates) != null ? _a : [];\n    const filtered = updates.reduce((acc, update) => {\n      if (!update) return acc;\n      if (typeof update === \"string\") {\n        acc.push((0, import_js_base64.toUint8Array)(update));\n        return acc;\n      }\n      if (typeof update === \"object\") {\n        acc.push(update);\n        return acc;\n      }\n      return acc;\n    }, []);\n    if (!filtered.length) return this;\n    if (filtered.length === 1) {\n      const update = (_b = filtered[0]) != null ? _b : null;\n      if (!!update) this.value.import(update);\n      return this;\n    }\n    this.value.importBatch(filtered);\n    return this;\n  }\n  canRedo() {\n    if (!__privateGet(this, __undoManager)) return false;\n    return __privateGet(this, __undoManager).canRedo();\n  }\n  canUndo() {\n    if (!__privateGet(this, __undoManager)) return false;\n    return __privateGet(this, __undoManager).canUndo();\n  }\n  destroy() {\n    return;\n  }\n  get(key) {\n    if (typeof key === \"undefined\") return __privateGet(this, __storage);\n    return __privateGet(this, __storage)[key];\n  }\n  getEncodedState() {\n    return (0, import_js_base64.fromUint8Array)(this.value.export({ mode: \"snapshot\" }));\n  }\n  toJson(type) {\n    if (typeof type === \"string\") {\n      const container = __privateGet(this, __storage)[type];\n      return container instanceof import_loro_crdt3.LoroText ? container.toString() : container instanceof import_loro_crdt3.LoroCounter ? container.value : container.toJSON();\n    }\n    return Object.entries(__privateGet(this, __storage)).reduce(\n      (acc, [key, value]) => __spreadProps(__spreadValues({}, acc), {\n        [key]: value instanceof import_loro_crdt3.LoroText ? value.toString() : value.toJSON()\n      }),\n      {}\n    );\n  }\n  isEmpty() {\n    const serialized = this.value.toJSON();\n    return !serialized || !Object.keys(serialized).length;\n  }\n  rebuildStorage(reference) {\n    const isBuilt = !!Object.keys(__privateGet(this, __storage)).length;\n    if (isBuilt) {\n      console.warn(\"Attempted to rebuild storage multiple times\");\n      return this;\n    }\n    __privateSet(this, __storage, Object.entries(reference).reduce((acc, [key, node]) => {\n      if (node instanceof import_loro_crdt3.LoroCounter) return __spreadProps(__spreadValues({}, acc), { [key]: this.value.getCounter(key) });\n      if (node instanceof import_loro_crdt3.LoroList) return __spreadProps(__spreadValues({}, acc), { [key]: this.value.getList(key) });\n      if (node instanceof import_loro_crdt3.LoroMap) return __spreadProps(__spreadValues({}, acc), { [key]: this.value.getMap(key) });\n      if (node instanceof import_loro_crdt3.LoroMovableList) {\n        return __spreadProps(__spreadValues({}, acc), { [key]: this.value.getMovableList(key) });\n      }\n      if (node instanceof import_loro_crdt3.LoroText) return __spreadProps(__spreadValues({}, acc), { [key]: this.value.getText(key) });\n      if (node instanceof import_loro_crdt3.LoroTree) return __spreadProps(__spreadValues({}, acc), { [key]: this.value.getTree(key) });\n      return acc;\n    }, {}));\n    return this.track();\n  }\n  redo() {\n    var _a;\n    (_a = __privateGet(this, __undoManager)) == null ? void 0 : _a.redo();\n    return this;\n  }\n  subscribe(listener) {\n    const fn = (event) => {\n      const update = (0, import_js_base64.fromUint8Array)(this.value.export({ mode: \"update\" }));\n      listener({\n        doc: this,\n        local: event.by === \"local\",\n        origin: event.origin ? String(event.origin) : null,\n        update\n      });\n    };\n    const unsubcribeAll = Object.values(__privateGet(this, __storage)).reduce(\n      (acc, crdtType) => {\n        const container = crdtType;\n        const unsubscribe = container.subscribe(fn);\n        return () => {\n          acc();\n          unsubscribe();\n        };\n      },\n      () => void 0\n    );\n    return unsubcribeAll;\n  }\n  track() {\n    if (__privateGet(this, __undoManager)) {\n      __privateGet(this, __undoManager).clear();\n      __privateGet(this, __undoManager).free();\n      __privateSet(this, __undoManager, null);\n    }\n    __privateSet(this, __undoManager, new import_loro_crdt3.UndoManager(this.value, {\n      maxUndoSteps: MAX_UNDO_STEPS,\n      mergeInterval: MERGE_INTERVAL_MS\n    }));\n    return this;\n  }\n  /**\n   * @description Unlike Yjs, this method is required to be called after each loro operation.\n   * @date January 12, 2025\n   */\n  transact(fn) {\n    fn();\n    this.value.commit();\n    return this;\n  }\n  undo() {\n    var _a;\n    (_a = __privateGet(this, __undoManager)) == null ? void 0 : _a.undo();\n    return this;\n  }\n};\n__storage = new WeakMap();\n__undoManager = new WeakMap();\n_CrdtLoroDoc_instances = new WeakSet();\n_setPluvId_fn = function() {\n  const text2 = this.value.getText(PLUV_ID_FIELD);\n  const id = typeof crypto !== \"undefined\" ? crypto.randomUUID() : Math.random().toString();\n  text2.insert(0, id);\n};\n\n// src/doc/CrdtLoroDocFactory.ts\nvar import_crdt = require(\"@pluv/crdt\");\nvar CrdtLoroDocFactory = class _CrdtLoroDocFactory extends import_crdt.AbstractCrdtDocFactory {\n  constructor(initialStorage = () => ({})) {\n    super(initialStorage);\n    this._initialStorage = initialStorage;\n  }\n  getEmpty() {\n    return new CrdtLoroDoc();\n  }\n  getFactory(initialStorage) {\n    return new _CrdtLoroDocFactory(initialStorage != null ? initialStorage : this._initialStorage);\n  }\n  getInitialized(initialStorage) {\n    return new CrdtLoroDoc(initialStorage != null ? initialStorage : this._initialStorage);\n  }\n};\n\n// src/doc/doc.ts\nvar doc = (value = () => ({})) => {\n  return new CrdtLoroDocFactory(value);\n};\n\n// src/list.ts\nvar import_loro_crdt4 = require(\"loro-crdt\");\nvar list = (value = []) => {\n  const container = new import_loro_crdt4.LoroList();\n  value.forEach((item, i) => {\n    if ((0, import_loro_crdt4.isContainer)(item)) container.insertContainer(i, item);\n    else container.insert(i, item);\n  });\n  return container;\n};\n\n// src/map.ts\nvar import_loro_crdt5 = require(\"loro-crdt\");\nvar map = (value = []) => {\n  const container = new import_loro_crdt5.LoroMap();\n  value.forEach(([key, item]) => {\n    if ((0, import_loro_crdt5.isContainer)(item)) container.setContainer(key, item);\n    else container.set(key, item);\n  });\n  return container;\n};\n\n// src/movableList.ts\nvar import_loro_crdt6 = require(\"loro-crdt\");\nvar movableList = (value = []) => {\n  const container = new import_loro_crdt6.LoroMovableList();\n  value.forEach((item, i) => {\n    if ((0, import_loro_crdt6.isContainer)(item)) container.insertContainer(i, item);\n    else container.insert(i, item);\n  });\n  return container;\n};\n\n// src/object.ts\nvar import_loro_crdt7 = require(\"loro-crdt\");\nvar object = (value) => {\n  const container = new import_loro_crdt7.LoroMap();\n  Object.entries(value).forEach(([key, item]) => {\n    if ((0, import_loro_crdt7.isContainer)(item)) container.setContainer(key, item);\n    else container.set(key, item);\n  });\n  return container;\n};\n\n// src/text.ts\nvar import_loro_crdt8 = require(\"loro-crdt\");\nvar text = (value = \"\") => {\n  const container = new import_loro_crdt8.LoroText();\n  container.insert(0, value);\n  return container;\n};\n\n// src/tree.ts\nvar import_loro_crdt9 = require(\"loro-crdt\");\nvar tree = () => {\n  const container = new import_loro_crdt9.LoroTree();\n  return container;\n};\n\n// src/loro.ts\nvar kind = \"loro\";\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n  loro\n});\n"]}