bs-json
genType
Our great sponsors
bs-json | genType | |
---|---|---|
1 | 5 | |
274 | 759 | |
- | - | |
0.0 | 0.0 | |
4 months ago | 5 months ago | |
OCaml | OCaml | |
GNU Lesser General Public License v3.0 only | 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.
bs-json
-
ReScript JSON Typed Strongly
As I told already, you might use other tools to create the codecs layer. Take bs-json if it feels better. Or even force Js.Json.t to DTO conversion with Obj.magic if you know what you do.
genType
-
ts-belt - Fast, modern, and practical utility library for FP in TypeScript / Flow / JavaScript. (Faster than ramda, rambda, remeda and lodash/fp.)
I don't really use ts-belt to be certain, but by looking at the source, it seems that it's using genType, which can generate TS types from ReScript values, and that makes interop work really well.
-
ReScript 10.0
They discuss this in their docs.
https://rescript-lang.org/docs/manual/latest/introduction#di...
Seems like a type system for Javascript, built with a differing set of opinions than Typescript.
Looks like they also offer some form of TS interop:
- From TypeScript to ReScript
-
TS Belt - fast, modern, and practical utility library for FP in TypeScript
TS Belt has been built with ReScript (and its Belt stdlib). ReScript generates highly performant JavaScript code, and with genType it also automatically generates TypeScript types. Moreover, I've added a few codemods to the building process to provide even more code optimizations and cleaner TypeScript signatures.
-
How I Switched from TypeScript to ReScript
To interoperate with TypeScript with proper type information you’ll use third-party genType. Add it as a devDependency and annotate the module export you want to generate with @genType (in previous versions you’d surround annotations with square brackets).
What are some alternatives?
yojson - Low-level JSON parsing and pretty-printing library for OCaml
zod - TypeScript-first schema validation with static type inference
bs-mocha
melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason
rescript-apollo-client - ReScript bindings for the Apollo Client ecosystem
Idris2 - A purely functional programming language with first class types
coq-serapi - Coq Protocol Playground with Se(xp)rialization of Internal Structures.
lwt - OCaml promises and concurrent I/O
bolt - Bolt is a language with in-built data-race freedom!
rescript-sublime - Official Sublime Text plugin for ReScript.
from-typescript-to-rescript - Frontend of https://Inhyped.com written in TypeScript and rewritten in ReScript
ts-belt - 🔧 Fast, modern, and practical utility library for FP in TypeScript.