MicroDiff 微型对象/数组比较库开源项目

我要开发同款
匿名用户2021年11月09日
207阅读

技术信息

开源地址
https://github.com/AsyncBanana/microdiff
授权协议
MIT

作品详情

Microdiff是一个小型(目前<1kb)、快速、零依赖对象和数组比较库。它比大多数其他深度比较库要快得多,并且具有完整的TypeScript支持。

特征速度是其他对象差异库的两倍多极轻,<1kb 支持Deo、Node、Web甚至ServiceWorker,带有内置的Typescript类型容易使用,只有一个diff()功能完全支持ewDate()和 ewRegExp()这样的对象开始

先安装Microdiff

pmimicrodiff

如果你用的是Deo,可以从 https://deo.lad/x/microdiff@VERSION/idex.ts 导入,记得将 @VERSION 改成你想要的版本。

安装完之后,只需导入 Microdiff,并在两个对象上运行它。

importdifffrom"microdiff";costobj1={origialProperty:true,};costobj2={origialProperty:true,ewProperty:"ew",};cosole.log(diff(obj1,obj2));//[{type:"CREATE",path:["ewProperty"],value:"ew"}]

如果你在使用CommoJS,可以像这样导入:

costdiff=require("microdiff").default;

有三种不同类型的更改:CREATE、REMOVE、和CHANGE,path属性给出了新对象(在 REMOVE情况下为旧对象)中的属性路径。数组中的每个元素都是下一层属性的键,直到属性被更改为止。value属性存在于CREATE和CHANGE类型中,包含添加/更改属性的值。

功能介绍

Microdiff 是一个小型(目前<1kb)、快速、零依赖对象和数组比较库。它比大多数其他深度比较库要快得多,并且具有完整的 TypeScript 支持。 特征 速度是其他对象差异库的两倍多 ...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论