tsafe
ts-ast-viewer
Our great sponsors
tsafe | ts-ast-viewer | |
---|---|---|
11 | 5 | |
384 | 1,099 | |
- | - | |
6.7 | 6.5 | |
3 months ago | 7 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.
tsafe
-
Ensure you never forget a case in a switch
Hello, This is a use case for tsafe, a utility that let you make assertions on types.
- tsafe enables to unit test your types.
-
Ensure a Zod validator actually valid given type.
Zod is a solution for generating validators. I used to be reluctant to use it because I like to declare my types with the TypeScript syntax. I am not satisfied by getting the type inferred from the validator. The solution I found is to use tsafe, a utility that enables to make sure that two types are equals. With this solution you'll have to declare your type twice, once with the TypeScript syntax and once when declaring your zod parser but you are garentied that if you update your type and forget to update the corresponding zod parser your app won't build.
-
GitLanding: A beautiful landing page for your Github project in a matter of minutes.
tsafe.dev
-
How to Troubleshoot Types?
Hi, Checkout tsafe. It enables to test types definition. Checkout this GIF in particular. Let's say for example that we have an objectFromEntries function and we want to test it typewise, we can do: ```typescript import { objectEntries } from "../myObjectFromEntries"; import { assert } from "tsafe";
-
Object.fromEntries() with a return type more precise than just { [k: sting]: any; } 🥳
`Object.fromEntries()`, `Object.entries()` and `Object.keys()` are barely usable when in a TypeScript codebase because their return type are very vague. [tsafe](https://github.com/garronej/tsafe) features three new utilities: [objectFromEntries()](https://docs.tsafe.dev/objectfromentries), [objectEntries()](https://docs.tsafe.dev/objectentries) and [objectKeys()](https://docs.tsafe.dev/objectkeys), functionally equivalent to their built-in counterpart but featuring much better return types.
- tsafe: The missing TypeScript builtins
- tsafe: A powerful TypeScript assertion function
-
tsafe: A new assertion function for TypeScript
Three GIFs to convince you that you need tsafe in your life:
ts-ast-viewer
-
Gentle Introduction To Typescript Compiler API
TypeScript AST Viewer
-
The Technology Behind “Moyuk”: Create, Run and Share Tools with TypeScript on Your Browser
TypeScript AST Viewer - This viewer was useful in guessing the internal concepts and behavior of the Compiler API.
-
Decorator creating with API
For those who are trying to use the typescript API to build file you can use this : https://ts-ast-viewer.com/
-
How to Troubleshoot Types?
You can check ast-viewer Consider this example: typescript type Result = keyof HTMLDivElement Click in ast viewer on Result type, you will see something like that: Type keyof HTMLDivElement ... value:"align" value:"addEventListener" value:"removeEventListener" ... If you want to have more control over AST, you can check ts-ast-viewer repo
-
Runtime Data Validation from TypeScript Interfaces
(As an aside, I used the ts-ast-viewer web app to generate this hierarchy. ts-ast-viewer is a project started by David Sherret that allows you to visualize and explore the AST for any TypeScript program. It was invaluable in helping me figure out the structures for this project.)
What are some alternatives?
type-fest - A collection of essential TypeScript types
ts-to-zod - Generate zod schemas from typescript types/interfaces
tss-react - ✨ Dynamic CSS-in-TS solution, based on Emotion
eslint-plugin-total-functions - An ESLint plugin to enforce the use of total functions (and prevent the use of partial functions) in TypeScript.
ts-patch - Augment the TypeScript compiler to support extended functionality
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
clean-architecture - 📐 A clean architecture framework
zod - TypeScript-first schema validation with static type inference
gitlanding - ✒️ React components for creating landingpages
codesandbox-client - An online IDE for rapid web development