ronami / HypeScript

🐬 A simplified implementation of TypeScript's type system written in TypeScript's type system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🐬 HypeScript

Introduction

This is a simplified implementation of TypeScript's type system that's written in TypeScript's type annotations. This means that it uses types only β€” with no runtime code whatsoever.

You pass TypeScript code as a string to the TypeCheck generic and get possible type errors back (See the live demo):

showcase-1

☝ Please note that this project is meant to be used for fun and learning purposes and not for practical use.

Try running the code

See a live demo in your browser on the TypeScript Playground.

Alternatively, install @ronami/hypescript in your project with yarn or npm (TypeScript 4.7 or later is required):

yarn add @ronami/hypescript

Code examples

Only a subset of TypeScript's syntax and features are available. Here's a list of examples (with browser demo links) for some code examples:

  • Variables
  • Functions
  • Arrays
  • Objects
  • Methods
  • Function return type
  • Equality
  • Arithmetic operations
  • Globally types

Inspiration

About

🐬 A simplified implementation of TypeScript's type system written in TypeScript's type system

License:MIT License


Languages

Language:TypeScript 100.0%