Ectropy 打开标准
JSON Schemas(草案-07),用于建筑项目数据:活塞和活塞组、项目决定、检查和参与者、资源状况和姿势、工地材料、设备、机器人和工时摄入量、后勤单位、废物流、碳报告以及薪给边缘.
- 任职: 每个计划
$id下级https://schemas.ectropy.ai/。 。 。 .index.json列出他们. - 包装 :
npm install @ectropy/schemas安装由它们产生的图案和 TypeScript 类型,由 npm 出处在此寄存器中发布.
此寄存器是两者的唯一来源.
范围
只交换形状:记录的结构如何用于存储和交换. 一种被命名为公开的图案才存在. 此寄存器中没有算法,分数和路由逻辑.
示马斯
证相者. 记录以一个URN形式命名自己和彼此,定义一次在 _definitions/urn.schema.json数字 : urn:luhtech:{issuer}:{type}:{id}。 。 。 .
职场流量摄取. 每个摄入量剖面缩小了GS1 EPCIS 2.0. 每一次摄入事件还必须对照GS1的EPCIS 2.0.1 JSON Schema进行验证;寄存器销售商作为测试固定而不会重用.
使用软件包
import Ajv from 'ajv';
import addFormats from 'ajv-formats';
import { schemas, VoxelVoxelV3 } from '@ectropy/schemas';
const ajv = new Ajv({ strict: false });
addFormats(ajv);
Object.values(schemas).forEach((s) => ajv.addSchema(s));
const validate = ajv.getSchema('https://schemas.ectropy.ai/voxel/voxel-v3.schema.json')!;
const voxel: VoxelVoxelV3.VoxelSchema = JSON.parse(input);
if (!validate(voxel)) throw new Error(ajv.errorsText(validate.errors));
单个 schema 文件也可以导入 : @ectropy/schemas/voxel/voxel-v3.schema.json。 。 。 .
版本
- 每个计程车都装有炸药
version。 。 。 . - 可以拒绝先前有效的实例的更改,或者移动一个计划
$id断了 它撞倒了schema的主要版本(小于1.0以下)和包的主要版本. - 变动情况 记录每一个发布.
更改标准
npm run check 门,运行在CI 每一次拉请求 和每次发布前。 它检查:
- 每个文件都以条状形式存在;
- 每个
$id等于其已服务的 URL; - 没有
$ref叶子schemas.ectropy.ai· ; - 每一个计划汇编;
- 每一个实例
examples/验证; - 公共文本只描述形状和字段.
npm run build 生成类型; npm run site 阶段服务.
释放是标记 v<version> 匹配 package.json。发布工作流程通过可信赖的出版来运行大门、构建和出版 npm 出处.
许可证
阿帕奇 - 2.0。 。 。 .