@exodus/分析-验证
为什么
这有助于防止我们不意外地收集任何敏感和/或私人信息,因此所有事件都必须经过验证层.
可能出错的例子:
发展
我需要加个新计划吗?
flowchart TD
Title(Adding a new telemetry event) --> A
A{Does your event\nhave properties?}
A -->|Yes| C
A -->|No| B
B(You're done!)
C{Does it only require\n the 'origin' property?}
C -->|Yes| B
C -->|No| E[Generate a new JSON Schema: \npnpm generate analytics-validation]
E --> D[Adjust the schema and tests]
D --> B
JSON 司马发展
添加新计划运行
pnpm generate analytics-validation
在项目根中。 CLI工具会要求您提供所需的所有细节. 计划一旦建立,确保
- 在添加新的 schema 之前,双重检查子目录(主要是事件域,例如.
dapps) 已经存在于./src。如果没有,则必须在下一步提出一个子目录名称; - 将预期属性及其类型填入计划。 财产名称必须在 蛇脚( c) (例如:.
expected_property(三); - 修正生成的单元测试,因为它将故意失败;
- 在合并PR和发布新版本之前, 添加您自己的测试案例, 以确保 schema 工作正常 .
字符串格式列表
Schemasafe 船的默认格式, 您可以在这里找到这些内容的落实情况 !
- 电子邮件
- 主机名
- 乌伊德
- 日期
- 时间
- 日期时间
- 会期
- ipv4 数据
- ipv6 数据
- 乌里
- 微量参考
- 尿温
- 阿尔法
- 数字
- 基础64
- 六进制数字
- 六进制数字前置
- 六字节
- 六字节前缀
- json-指针
- 相对 json 指针