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