go-helpers
typescript-json-schema
go-helpers | typescript-json-schema | |
---|---|---|
1 | 9 | |
5 | 3,035 | |
- | - | |
5.6 | 6.3 | |
8 months ago | 5 days ago | |
Go | TypeScript | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
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.
go-helpers
-
JSON Schema bundling finally formalised
```
The "IsInteger" validator can of course be interpreted as a type, the important thing is though that it can be customized using type parameters and that we can add any number of additional validators that do advanced things (e.g. we could define an "IsPrime" validator that checks for primality of the number).
I find this more elegant than having both a "type" field and various extensions for validations that you need to remember. The validator list mechanism also makes it easy to chain validations and perform sub-validations for lists or maps. I have an open-source implementation of this written in Golang [1] that I use in all my projects. It enables me to write a form specification and a Go struct and validate as well as coerce unstructured data into the struct. It makes it very easy to validate complex, hierarchical documents like configuration files as well, is easy to extend and provides nice errors.
1: https://github.com/kiprotect/go-helpers/tree/master/forms
typescript-json-schema
-
6 Reasons why JSON Schema is worth your time
Typescript to JSON Schema
-
Parse, Don't Validate (2019)
For anyone using both TypeScript and JSON schemas, but wanting to use TypeScript as the source of truth, I highly recommend the following library: [ts-json-schema-generator](https://github.com/YousefED/typescript-json-schema).
It does exactly what it says in the box: turns your TypeScript `types` / `interface` into machine-readable JSON schemas.
The library has a few open issues (does not deal well with some edge cases of composing Omit<> on sum types, and does not support dynamic (const) keys), but compared to manually writing JSON schemas, it's been amazing!
-
Is it possible to validate a json only according to a type? [node with typescript]
There are a bunch of tools to generate JSON-schema from a TS codebase, ie https://github.com/YousefED/typescript-json-schema
-
Input validation in Express from TypeScript
Now that cool thing we wanted to do? This library does exactly that!
-
YAML: It's Time to Move On
> For more complex cases I find myself wishing I could just turn Typescript into some kind of schema validation for JSON.
Not sure if this is what you're looking for, and whether it's powerful and expressive enough for your use case, but you can use typescript-json-schema¹ for this, and validate with eg ajv.
¹https://github.com/YousefED/typescript-json-schema
-
ts-rs - generate typescript type declarations from rust types
Use https://github.com/YousefED/typescript-json-schema to go from TS -> json schema
-
What can I *use* Rust for?
For what it's worth, thanks to TypeScript transformers (a feature baked into the compiler), one can create a transformer library that verifies an object is valid for any TypeScript type and conveys that information to the typechecker. And indeed, it's already been made. It allows to parse unknown into a given T. This is nice, because one can generate a JSON schema out of a TS type, for other languages/codebases to integrate safely.
-
JSON Schema bundling finally formalised
This is why I originally started a project to convert ts to json schema; https://github.com/YousefED/typescript-json-schema (and also check out a good alternative https://github.com/vega/ts-json-schema-generator)
-
How to use typescript & sails js for your REST API (Safer seas)
Typescript JSON schema
What are some alternatives?
myzod
ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
typebox - Json Schema Type Builder with Static Type Resolution for TypeScript
schema-org-json-schemas - Generate JSON Schemas from Schema.org classes
ron - Rusty Object Notation
zod - TypeScript-first schema validation with static type inference
SailsJS - Realtime MVC Framework for Node.js
io-ts - Runtime type system for IO decoding/encoding
dhall-lang - Maintainable configuration files
runtypes - Runtime validation for static types