schema-dts
raml-spec
schema-dts | raml-spec | |
---|---|---|
2 | 2 | |
825 | 3,862 | |
2.5% | - | |
0.0 | 10.0 | |
2 months ago | about 2 years ago | |
TypeScript | ||
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
schema-dts
-
Are there any typescript validation libraries for schema.org json-ld metadata?
I'm trying to extract and validate json-ld objects from web pages but after a bunch of searching I cannot find any libraries that validate json-ld schema.org metadata that produces typed typescript objects. I was able to find schema-dts which has the typescript types, but does not appear to have a validator. I also found schemaorg-jsd, which does the validation, but does not seem to add typescript types to the object.
-
Ask HN: Do you use JSON Schema? Help us shape its future stability guarantees
Just last week, I added the ability to export [Umami](https://www.umami.recipes/) recipes as [Recipe JSON Schema](https://schema.org/Recipe). Writing the code for it was quite pleasant thanks to [schema-dts](https://github.com/google/schema-dts).
raml-spec
-
Sharing data types on a multi-language project
Taking this concept further one could model in RAML [0] to define both the types (flat or nested) and api definitions. It's based on YAML 1.2 with enough maturity to provide capabilities such as union types, extensions, includes, user-defined facets, etc.
The AMF project [1] can be used to parse and transform to/from RAML, OpenAPI, GraphQL, and json schema. Code generation to languages of choice can be bolted on from there.
I'm using this approach to define canonical data models. Subsequent code generation scaffolds internal application integration apis, master data management (MDM) entities, and SQL/OLAP artifacts for ETL / BI purposes.
This approach keeps overall end-to-end data architecture consistent, in sync, and versioned under source control. Additionally, flat types as required by relational systems are re-used and composed into nested complex types more appropriate for apis. Metadata is layered on as needed to refine the models for system-specific needs, for example to add user-facing field groups, descriptions, and formats for BI datasets, sensitivity levels and other data security controls, business rule definitions for MDM, etc.
[0] https://github.com/raml-org/raml-spec/blob/master/versions/r...
-
Ask HN: Do you use JSON Schema? Help us shape its future stability guarantees
> Do you use JSON Schema?
At one point I did, but then discovered RAML[0] and it subsumed the value of what JSON Schema provides as well as being easier to work with than OpenAPI[1]. Also, generating JSON Schema from RAML definitions has proven to be a fairly straightforward process.
The usual caveats apply... Your mileage may vary, my experiences do not speak for any others, my opinion does not detract from the value of JSON Schema, etc.
0 - https://github.com/raml-org/raml-spec/blob/master/versions/r...
1 - https://swagger.io/specification/
What are some alternatives?
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
alterschema - Convert between JSON Schema specification versions.
laminar - OpenApi backed REST APIs. Automatic validation of request / response based on the api schema.
alt-schema - Flat JSON Schema specification and basic utility methods
cue - The home of the CUE language! Validate and define text-based and dynamic configuration
OpenMetadata - Open Standard for Metadata. A Single place to Discover, Collaborate and Get your data right.
json-editor - JSON Schema Based Editor
library-recommendations - Evaluating Open Source libraries for particular purposes
open-kun - Open source Al-Kun