-
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
103 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,53 @@ | ||
<img src="typed.svg" alt="css-in-readme"> | ||
<img src="typed.svg" alt="Typed"> | ||
|
||
Typed is your Effect-native, push-based reactive programming toolkit with an emphasis on front-end web development and its supporting use-cases. | ||
<hr/> | ||
|
||
> This is in a pre-alpha release state for feedback purposes. Do not use in production unless you understand what you're doing. | ||
> Join us on [Discord](https://discord.com/invite/kpPHEvkaAv) | ||
Join us on [Discord](https://discord.com/invite/kpPHEvkaAv) | ||
Typed is your Effect-native toolkit for building full-stack web applications, with an emphasis on front-end use-cases. | ||
|
||
**Runs Everywhere:** | ||
|
||
- Client-side rendering | ||
- Server-side Rendering | ||
- Static Rendering | ||
- Web Workers | ||
- Service Workers | ||
- Everywhere you can find Effect. | ||
|
||
**Type-safety like you've never experienced:** | ||
|
||
Leverage Effect, and the decades of collective knowledge of its maintainers, to streamline the process of creating robust, type-safe web applications. You've never had the TypeScript compiler work this hard for you. | ||
|
||
- Type-safe error tracking | ||
- Type-safe dependency tracking | ||
- Type-safe routing | ||
- Type-safe servers and clients end-to-end, including mocks | ||
|
||
**Model your user's behavior like the browser:** | ||
|
||
`Fx`, shorthand for the plural form of Effect, brings push-based reactive programming to Effect, enabling you to model your user's behavior the same way the browser itself does. Complex user interactions have never been so easy, nor so declarative. | ||
|
||
**Built to be tested:** | ||
|
||
Backed by Effect, everything is testable by default, but in addition | ||
|
||
- Context-Aware Abstractions - `@typed/context` wraps all `effect/*` data structures in context-aware variants and more. | ||
- HTML Template Testing - `@typed/template/Test` contains test tools for testing with HTML | ||
- DOM Template Testing - `@typed/template/Test` also contains test tools for rendering and hydration | ||
- Vitest Integration - `@typed/template/Vitest` wraps `@effect/vitest` to provide resources common to testing `@typed/template` abstractions. | ||
|
||
**Backend-for Frontend:** | ||
|
||
Building the API servers to support your frontend-applications has never been so powerful. | ||
|
||
- Type-safe Open API Specification and Implementation | ||
- Type-safe Client derivation, including mocks powered by `@effect/schema` + `fast-check` | ||
- Type-safe Servier implementation, including mocks powered by `@effect/schema` + `fast-check` | ||
- Deep integration with Typed Template | ||
|
||
**Built to last:** | ||
|
||
Typed places heavy emphasis on long-term-friendly design patterns, and favors this over _extreme_ performance at all times. Backed by Effect, Dependency Inversion has never been more powerful. Type-safe errors make refactoring a breeze. With `@typed/template` even your event handler's errors will be surfaced within the type system and can be handled using the growing collection of functions from `@typed/Fx`. | ||
|
||
Every long-term project reaches a point where the well-worn path doesn't fit your needs. Typed is built with these kinds of custom needs from the start. Typed knows what it knows, and doesn't make assumptions about what exists outside its bounds. Full control is always within reach. |