typescript-json-schema
runtypes
Our great sponsors
typescript-json-schema | runtypes | |
---|---|---|
9 | 22 | |
3,030 | 2,547 | |
- | 0.9% | |
6.3 | 5.6 | |
22 days ago | 3 months ago | |
TypeScript | TypeScript | |
BSD 3-clause "New" or "Revised" License | MIT 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.
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
runtypes
-
When should I use runtime checks (and which runtime checker should I use)?
In terms of which runtime checker I should use. The first tutorial I saw suggested 'Zod', doing a bit more searchign yielded other options such as 'runtypes'.
-
An almost religious case for Rust
Runtypes would probably be a better example.
-
'The best thing we can do today to JavaScript is to retire it’ Douglas Crockford
this has been solved by several packages, runtypes https://github.com/pelotom/runtypes being my favorite
-
How to force a type when importing a JSON file?
I personally like https://github.com/pelotom/runtypes because it bundles your Schema Info and the corresponding Typescript types
- Why doesn’t TypeScript natively do any type checking
-
Create d.ts for API response
When I have to deal with data from API calls, I usually use a runtime typing library like Runtypes or Zod to check the responses at the boundary. These libraries can automatically give you TS types (using their static or infer utilities) to use throughout the rest of the project.
-
Typing for JSON Payloads
Also runtypes and (as mentioned below) zod.
-
How to check that an 'unknown' object has a specific key and that the key is a specific type?
Seconding the recommendation to use a library for this. runtypes and io-ts are two other alternatives.
-
Check types at the top level or in each function?
I wouldn't reinvent the wheel: https://github.com/pelotom/runtypes
-
Minimal and fast runtime API payload sanitiser and error message handling
What does your library provide that others don't? For example: https://github.com/colinhacks/zodhttps://github.com/hapijs/joihttps://github.com/jquense/yuphttps://github.com/gcanti/io-tshttps://github.com/pelotom/runtypeshttps://github.com/sindresorhus/ow
What are some alternatives?
ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
zod - TypeScript-first schema validation with static type inference
typebox - Json Schema Type Builder with Static Type Resolution for TypeScript
typescript-is
ron - Rusty Object Notation
io-ts - Runtime type system for IO decoding/encoding
SailsJS - Realtime MVC Framework for Node.js
type-fest - A collection of essential TypeScript types
dhall-lang - Maintainable configuration files
typegraphql-prisma - Prisma generator to emit TypeGraphQL types and CRUD resolvers from your Prisma schema
ts-auto-guard - Generate type guard functions from TypeScript interfaces