#json #schema #generate-json #type #npm

json_schema

基于 JSON Schema 为 json_schema 生成类型

8 个稳定版本

使用旧的 Rust 2015

1.7.5 2024年5月7日
1.7.4 2024年4月11日
1.7.0 2022年10月4日
1.6.19 2021年6月24日
1.6.10 2021年5月27日

#12#npm

Download history 7/week @ 2024-04-27 210/week @ 2024-05-04 17/week @ 2024-05-11 18/week @ 2024-05-18 77/week @ 2024-05-25 3/week @ 2024-06-01 5/week @ 2024-06-08 12/week @ 2024-06-15 4/week @ 2024-06-22 12/week @ 2024-06-29 24/week @ 2024-07-06 7/week @ 2024-07-13 1/week @ 2024-07-20 26/week @ 2024-07-27 55/week @ 2024-08-03 22/week @ 2024-08-10

106 每月下载量

Apache-2.0 协议

120KB
593 代码行数(不含注释)

JSON Schema 元数据模式

此仓库包含 json schema 元数据模式和代码,以在 npm 上打包、生成类型定义等。

安装

TypeScript

npm install--save@json-schema-tools/meta-schema

Golang

go get github.com/json-schema-tools/meta-schema

Rust

cargoinstall json_schema

使用

TypeScript

import JSONSchema, { JSONSchemaObject, Properties, Items } from "@json-schema-tools/meta-schema"

Rust

从字符串

let foo = r#"{
    "title": "helloworld",
    "type": "string"
}"#;

let as_json_schema: JSONSchemaObject = serde_json::from_str(foo).unwrap();

使用构建器模式

let schema = JSONSchemaObjectBuilder::default()
    .title("foobar".to_string())
    ._type(Type::SimpleTypes(SimpleTypes::String))
    .build()
    .unwrap();

let as_str = serde_json::to_string(&schema).unwrap();

贡献

如何在 CONTRIBUTING.mdBUILDING.mdRELEASING.md 中分别概述了如何贡献、构建和发布。此存储库中的提交遵循 CONVENTIONAL_COMMITS.md 规范。

依赖项

~2.2–2.9MB
~63K SLoC