avtomon/yaml.js

此软件包最新版本(dev-master)没有提供许可信息。

YAML 解析 & 保存

维护者

详细信息

github.com/avtomon/yaml.js

源代码

安装: 1

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 106

语言:JavaScript

dev-master 2020-06-15 13:16 UTC

This package is auto-updated.

Last update: 2024-09-15 23:21:47 UTC


README

yaml 是一个用于 YAML(一种人性化的数据序列化标准)的 JavaScript 解析器和字符串化工具。它支持使用所有版本的 YAML 以及所有常见的数据模式进行解析和字符串化。作为一个特别突出的特性,yaml 完全支持读取和写入 YAML 文档中的注释和空行。

该库遵循 ISC 开源许可协议发布,代码在 GitHub 上可用。它没有外部依赖,支持 Node.js 6 及以上版本,以及从 IE 11 开始的所有浏览器。

出于版本控制的目的,任何破坏此处记录的任何端点或 API 的更改都将被视为 semver-major 破坏性更改。未记录的库内部可能在不同版本之间发生变化,并且先前 API 可能被弃用(但不会删除)。

有关更多信息,请参阅项目的文档站点: eemeli.org/yaml

安装

npm install yaml

注意:yaml 0.x 和 1.x 的实现相当不同。有关早期 yaml 的信息,请参阅 tj/js-yaml

API 概览

yaml 提供的 API 分为三层,具体取决于您需要深入到何种程度:解析 & 字符串化文档 以及 CST 解析器。第一层具有最简单的 API 并“直接使用”,第二层提供了库支持的所有功能以及合理的 AST,第三层最接近 YAML 源,使其快速、原始且简单。

import YAML from 'yaml'
// or
const YAML = require('yaml')

解析 & 字符串化

YAML 文档

import { Pair, YAMLMap, YAMLSeq } from 'yaml/types'

CST 解析器

import parseCST from 'yaml/parse-cst'

YAML.parse

# file.yml
YAML:
  - A human-readable data serialization language
  - https://en.wikipedia.org/wiki/YAML
yaml:
  - A complete JavaScript implementation
  - https://npmjs.net.cn/package/yaml
import fs from 'fs'
import YAML from 'yaml'

YAML.parse('3.14159')
// 3.14159

YAML.parse('[ true, false, maybe, null ]\n')
// [ true, false, 'maybe', null ]

const file = fs.readFileSync('./file.yml', 'utf8')
YAML.parse(file)
// { YAML:
//   [ 'A human-readable data serialization language',
//     'https://en.wikipedia.org/wiki/YAML' ],
//   yaml:
//   [ 'A complete JavaScript implementation',
//     'https://npmjs.net.cn/package/yaml' ] }

YAML.stringify

import YAML from 'yaml'

YAML.stringify(3.14159)
// '3.14159\n'

YAML.stringify([true, false, 'maybe', null])
// `- true
// - false
// - maybe
// - null
// `

YAML.stringify({ number: 3, plain: 'string', block: 'two\nlines\n' })
// `number: 3
// plain: string
// block: >
//   two
//
//   lines
// `

由提供