@ably/vcdiff-decoder

中文文档
1.0.6发布于 2023/11/27Apache-2.0TypeScriptESM + CJS零依赖近 30 天下载 3.9万

纯 JavaScript Vcdiff 从 Google 的 open-vcdiff 用 二进制解码器工作

中文使用文档
文档目录10 节
  1. 从 npm 为 Node.js 安装
  2. 网页浏览器的脚本包含
  3. 使用量
  4. 导出函数
  5. decode(delta, source)
  6. 捐款
  7. 所需资源
  8. 大楼
  9. 测试
  10. 释放程序

Vcdiff 解码器

Build Status npm version

一个用纯JavaScript写的Vcdiff解码器. 支持 Vcdiff 格式,如在 RFC 3284 (法语)。 。 。 .

通过 Vcdiff 补丁/ delta 文件进行测试和证明 谷歌是因为 打开 vcdiff 财务报告和审定财务报表 约书亚·麦克唐纳是因为 ưμ㼯a。 。 。 .

从 npm 为 Node.js 安装

npm install @ably/vcdiff-decoder

并要求:

const vcdiffPlugin = require('@ably/vcdiff-decoder');

网页浏览器的脚本包含

从 CDN 中将库包含在您的 HTML 中 :

<script src="https://cdn.ably.io/lib/vcdiff-decoder.min-1.js"></script>

我们跟着 语义版本。要锁定客户端库的主要或次要版本,您可以指定一个特定的版本编号——例如:

  • https://cdn.ably.io/lib/vcdiff-decoder.min-1.js 用于最新的 1.* 版本
  • https://cdn.ably.io/lib/vcdiff-decoder.min-1.0.js 用于最新的 v1.0.* 版本
  • https://cdn.ably.io/lib/vcdiff-decoder.min-1.0.3.js 对于版本 1.0.3 明确

您可以通过省略来加载非最小版本 min- 例如从 URL 中 https://cdn.ably.io/lib/vcdiff-decoder-1.js。 。 。 .

见 标记的释放 用于现有版本.

使用量

以下代码样本显示如何与 Ably 一起使用 Vcdiff :

const Ably = require('ably');
const vcdiffPlugin = require('@ably/vcdiff-decoder');

const realtime = new Ably.Realtime({
    key: 'YOUR_ABLY_KEY',
    plugins: {
        vcdiff: vcdiffPlugin
    },
    log: { level: 4 } // optional
});

const channel = realtime.channels.get('your-ably-channel', {
    params: {
        delta: 'vcdiff'
    }
});

channel.subscribe(msg => console.log("Received message: ", msg));

导出函数

decode(delta, source)

同步解码 。 参数:

  • delta数字 : Uint8Array - 转换所需的补丁/diff信息的二进制 Vcdiff 格式编码 source 到返回的目标
  • source数字 : Uint8Array - 通过应用转换为返回目标的字节组 delta

回返a Uint8Array,“目标”,是应用“目标”的结果 delta 改为 source。 。 。 .

捐款

所需资源

节点.js

这个 vcdiff 用于测试的该项目的 dev 依赖性无法构建 节点.js 9 更新鲜. 为此,直到 3号 测试必须针对环境进行 节点.js 8 已安装.

在编写本报告时,这意味着:

vcdiff-decoder % node --version
v8.17.0
vcdiff-decoder % npm --version
6.13.4

对于使用 亚投行 或兼容的工具来管理他们的节点.js运行时版本,我们已包含一个 .tool-versions 文档.

蟒

该版本 node-gyp 与上述国家防范机制版本捆绑在一起,使用了Python 3.9中去掉的API,导致 npm install 失败。 所以,你必须使用 Python 3.8 或更早.

对于使用 亚投行 或兼容工具来管理他们的 Python 运行时版本,我们包含了一个 .tool-versions 文档.

大楼

您可以使用 Webpack 触发构建 :

npm run grunt -- build

创建 vcdiff-decoder.js 财务报告和审定财务报表 vcdiff-decoder.min.js 输入 dist 文件夹,和 vcdiff-decoder.js 输入 build/cjs 文件夹.

测试

要运行所有测试用途 :

npm test

支持浏览器测试

您需要为此配置环境变量 BROWSERSTACK_USERNAME 财务报告和审定财务报表 BROWSERSTACK_ACCESSKEY。 。 。 .

释放程序

打开 main 分支 :

  1. 增加版本,从源头重生(a.k.a.建立/捆绑),并作出标记的承诺,其中包括从源头重生的已建输出 /dist 财务报告和审定财务报表 /build 通过运行文件夹 npm run grunt -- release:patch (或 "major", "minor" 或 "prepach" 酌情 - 见 grunt- bump 用法实例(中文(简体) )
  2. 使用 git push origin main --follow-tags
  3. 向国家预防机制释放 npm publish . --access public (单位:千美元)此软件包 配置为要求 2个FA 由出版商使用)
  4. 使用 npm run grunt -- publish-cdn (仅由阿布利工作人员操作)
  5. 访问 标记 并起草新建标签的新版本

版本与发布记录

@ably/vcdiff-decoder 共发布 7 个版本,首次发布于 2019/07/30;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.6latest2023/11/272 年前
1.0.52022/02/114 年前
1.0.42020/04/296 年前
1.0.32020/04/296 年前
1.0.22020/04/176 年前
1.0.12019/07/307 年前

关于 @ably/vcdiff-decoder 的常见问题

@ably/vcdiff-decoder 是什么?

纯 JavaScript Vcdiff 从 Google 的 open-vcdiff 用 二进制解码器工作

如何安装 @ably/vcdiff-decoder?

在项目目录运行 npm install @ably/vcdiff-decoder,或使用 pnpm add / yarn add / bun add。

@ably/vcdiff-decoder 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ably/vcdiff-decoder 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ably/vcdiff-decoder 可以商用吗?

@ably/vcdiff-decoder 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@ably/vcdiff-decoder 的下载量有多少?

根据 npm 官方下载统计,@ably/vcdiff-decoder 在 2026/10/05 – 2026/11/03 这 30 天内被下载 39,292 次,日均约 1,310 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ably/vcdiff-decoder 还在维护吗?

最新版本 1.0.6 发布于 2023/11/27(2 年前);至今共发布 7 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/07/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。