js-yaml-patched
v4.1.0-patched.2
Published
YAML 1.2 parser and serializer with float format preservation patch
Maintainers
Readme
js-yaml-patched
基于 js-yaml 的补丁版本,增加了浮点数格式保留功能。
为什么需要这个补丁?
原始的 js-yaml 在处理浮点数时会丢失原始格式信息。例如:
- 输入
1.0会输出1 - 输入
2.00会输出2
这个补丁版本能够保留原始的浮点数格式,特别适用于需要保持 YAML 文件格式一致性的场景(如 ROS 参数文件、配置文件等)。
安装
npm install js-yaml-patched使用方法
基本使用
const yaml = require('js-yaml-patched');
// 解析 YAML
const data = yaml.load(`
timeout: 1.0
precision: 2.00
scale_factor: -1.0
`);
// 输出 YAML(格式保留)
const output = yaml.dump(data);
console.log(output);
// 输出:
// timeout: 1.0
// precision: 2.00
// scale_factor: -1.0ES6 模块
import yaml from 'js-yaml-patched';
const data = yaml.load('value: 5.0');
const output = yaml.dump(data);补丁说明
本补丁修改了以下文件:
lib/type/float.js- 添加浮点数格式保留逻辑lib/type/int.js- 防止格式保留的浮点数被误判为整数
支持的格式:
1.0→ 保留为1.02.00→ 保留为2.00-1.0→ 保留为-1.0+3.0→ 保留为3.0(+号会被移除)
API
与原始 js-yaml 的 API 完全相同:
yaml.load(str)- 解析 YAML 字符串yaml.dump(obj)- 将对象转换为 YAML 字符串yaml.safeLoad(str)- 安全解析(已废弃,使用load)yaml.safeDump(obj)- 安全输出(已废弃,使用dump)
版本
- 基于
[email protected] - 补丁版本:
4.1.0-patched.1
License
MIT (与原项目相同)
