首页
/ JSON-Joy v17.48.0版本发布:CRDT扩展与文本编辑功能增强

JSON-Joy v17.48.0版本发布:CRDT扩展与文本编辑功能增强

2025-07-09 09:25:16作者:翟萌耘Ralph

JSON-Joy是一个专注于JSON数据处理的开源工具库,提供了丰富的JSON操作、差异比对、CRDT(冲突自由的复制数据类型)实现等功能。本次发布的v17.48.0版本主要增强了CRDT扩展功能,特别是在文本编辑和标记处理方面的能力。

CRDT扩展功能改进

在本次更新中,JSON-CRDT扩展模块得到了显著增强。新增了Slice Tag类的实现,这是一个用于处理文本片段标记的重要功能。开发者现在可以通过.tagDataAsObj()方法获取标记数据对象,这为处理富文本编辑中的格式标记提供了更便捷的API。

PersistedSlice类新增了tagDataNode()方法,使得开发者可以直接访问标记数据的底层节点。同时,类型处理工具也得到了完善,包括改进的.typeStepNode()实现和嵌套类型设置,这些改进使得处理复杂文档结构更加灵活和高效。

文本编辑功能增强

JSON-CRDT-Peritext-UI模块针对文本编辑器场景做了多项优化。现在支持字符串类型的标签名称,这为自定义标记类型提供了更大的灵活性。更重要的是,该模块现在能够正确处理"marker"事件中的标签更新和类型更新,这对于实现实时协作编辑功能至关重要。

新增的嵌套块数据支持使得编辑器能够更好地处理复杂文档结构,如嵌套列表、表格等。这些改进使得JSON-Joy在构建富文本编辑器方面更加强大和实用。

底层CRDT功能优化

在底层CRDT实现方面,本次更新为节点添加了.op API,提供了更底层的操作接口。MarkerSlice类新增了.del()方法,完善了文本片段删除功能。在数组节点操作中,现在使用.upd() API来实现.replace()调用,这提高了操作的效率和一致性。

JSON-Patch-Diff模块也更新了差异比对API,为JSON数据的变更检测提供了更强大的工具。

总结

JSON-Joy v17.48.0版本通过增强CRDT扩展功能和文本编辑支持,进一步巩固了其在处理复杂JSON数据和构建协作应用方面的优势。这些改进使得开发者能够更轻松地实现实时协作编辑、复杂文档处理等高级功能,为构建现代化的Web应用提供了强有力的支持。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
819
487
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
120
175
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
163
252
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
322
1.07 K
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
172
259
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
79
2
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.05 K
0
WxJavaWxJava
微信开发 Java SDK,支持微信支付、开放平台、公众号、视频号、企业微信、小程序等的后端开发,记得关注公众号及时接受版本更新信息,以及加入微信群进行深入讨论
Java
818
22
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
719
102
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
568
51