ts-to-zod
ts-patch
ts-to-zod | ts-patch | |
---|---|---|
4 | 6 | |
1,014 | 657 | |
- | - | |
8.0 | 7.0 | |
4 days ago | 13 days ago | |
TypeScript | TypeScript | |
MIT 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.
ts-to-zod
-
How to parse json into typescript types?
You could use something like this https://github.com/fabien0102/ts-to-zod
-
Ultra-minimal JSON schemas with TypeScript inference
YES! I've introduced ts-to-zod into my codebase only yesterday, and it's served my needs exactly. It doesn't handle generics or mapped types, but that's a fair price to pay.
It also works the other way, you can define a zod schema and you can infer types for your data from it.
https://github.com/fabien0102/ts-to-zod
-
Generating dummy entities with random data for tests based on types
The closest that I know of (and I have not used this) is zod-fast-check. It generates fast-check “arbitraries” (test data generators) for property-based testing based on zod schemas. Of course, this requires that you use zod to define your types, which has some downsides. Fortunately there is another tool, ts-to-zod, (which I also have not used) which will codegen zod schemas based on TS type definitions. If you thread these four libraries together you should end up with the ability to write random tests on generated data with very little overhead. In theory.
-
Runtime Data Validation from TypeScript Interfaces
Okay, that's an improvement! We can use TypeScript's native type syntax to define the interface, and augment it with JSDoc comments for any properties that can't be natively expressed. So, to use this with Zod, we need to convert it from the TypeScript syntax to the Zod syntax. Luckily, Fabien Bernard has spearheaded the excellent ts-to-zod project, which looks through interfaces defined in a file and outputs the equivalent Zod schemata for them.
ts-patch
-
Introducing TypeChat from Microsoft
yup, just found that, super neat, I am 100% interested in using this for other runtime validation...
It's interesting because I've always been under the impression the TS team was against the use of types at runtime (that's why projects like https://github.com/nonara/ts-patch) exist, but now they're doing it themselves with this project...
- Typescript compiler 'plugin' to add JS code generation
-
Functions and algorithms implemented purely with TypeScript's type system
I recently learned about Typescript transformers[0] and wish they were better supported in a first-class manner. Working with ttypescript or ts-patch[1] is easy enough, but it still feels like you're doing something you shouldn't be doing.
My goal was to pass the Typescript types to the JS runtime, maybe there's a better way and GPT-4 just led me astray...
[0] https://github.com/itsdouges/typescript-transformer-handbook
[1] https://github.com/nonara/ts-patch
-
Runtime Data Validation from TypeScript Interfaces
To accomplish this, I wrote a couple of transformer plugins for TypeScript. Now, tsc doesn't support plugins by default. (You may have seen plugins in the tsconfig.json for a project, but they are plugins for the editor's language server, not the compiler.) Luckily for us, again, there exists a fantastic open-source package to solve this problem. Ron S. maintains a package called ts-patch which, aptly, patches the tsc installation for a project to allow the project to specify compiler-plugins.
- Typescript AST manipulation in Deno?
What are some alternatives?
zod - TypeScript-first schema validation with static type inference
ts-morph - TypeScript Compiler API wrapper for static analysis and programmatic code changes.
ts-ast-viewer - TypeScript AST viewer.
ultra - Zero-Legacy Deno/React Suspense SSR Framework
spartan-schema - Ultra-minimal JSON schemas with Typescript inference
LLM-OpenAPI-minifier - Making openapi spec swagger documents friendly for GPT and other LLMs.
intermock - Mocking library to create mock objects with fake data for TypeScript interfaces
typescript-transformer-handbook - 📘 A comprehensive handbook on how to create transformers for TypeScript with code examples
quicktype - Generate types and converters from JSON, Schema, and GraphQL
ts-simple-type - Relationship type checker functions for Typescript types.
zod-gpt - Get structured, fully typed, and validated JSON outputs from OpenAI and Anthropic models.