15 个版本 (7 个重大更新)
0.9.1 | 2023年1月22日 |
---|---|
0.8.2 | 2023年1月11日 |
0.5.1 | 2022年12月19日 |
0.4.0 | 2022年11月29日 |
0.1.0-beta.3 | 2022年7月31日 |
#2397 in 解析器实现
126 每月下载次数
54KB
1.5K SLoC
Envuse 解析器
Envuse 文件的解析器。
标准库
Envuse 定义描述了定义项目配置集的文件的编写规则,通常在名为 .envuse
的文件中。
为了理解格式,有必要了解一些类型的标记。
- 关键字:这是用来描述变量名或引用的表达式。它是一组以字母(
a-z 或
A-Z
)或下划线(_
)开头的字符,然后可以包含数字(0-9
)。 - 注释:这是一个描述任何内容的表达式。其中的内容会被解析器忽略。
- 其他符号:这些将在后面进行描述,因为它们将用来描述行为。
如何编写我的第一个 Envuse 文件
envuse 文件期望两种不同的表达式;块注释用于描述下一个变量表达式,而变量表达式用于描述项目和期望的变量和类型。
变量表达式
这个表达式用于描述变量名和期望的类型。它以一个 关键字 开头,用于描述变量的名称。下面的代码示例展示了包含变量的样本。
ABC
这个表达式还可以有一个定义的类型,以便稍后进行转换。这个类型描述了它如何在运行时转换值,例如当值从应用程序的环境加载时。
“可能”是因为它取决于运行应用程序的引擎,因为您可以添加更多的转换器。
类型直接在变量名之后描述,并使用冒号符号。类型是一个关键字,并为您应用程序预定义。以下是一个带有类型的变量的示例。
ABC: String
支持的类型
String
:读取的文本值。Number
:32位整数(更多信息请参阅 维基百科)的范围从−2,147,483,648
到2,147,483,647
。Boolean
:表示值为true
或false
。
可空值
要将变量定义为可空,请在其类型末尾添加一个问号(?)。如果变量具有默认值,则不能使用此符号。
可空值是可能不会转换的值,因为它们在环境中可能未定义,并且在 envuse 文件中没有默认值。下面你可以看到一个可空变量。
ABC: String?
默认值
有时我们希望为应用程序定义一个默认值,如果它在环境中未定义。我们可以通过遵循变量类型来为任何变量定义默认值,或者如果类型未定义,则在变量名称之后。下面你可以看到两个带有默认值的示例。
ABC = "FOO"
DEF: Number = 3_000
LICENSE MIT
这是一个开源项目,具有 MIT 许可,供您享用 ❤️。
依赖项
~0.4–1MB
~22K SLoC