FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

NeaByteLab/Typebox: Stop writing schemas twice. Define logic as functions, let Typebox infer the types and activate them into a callable facade. · GitHub

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Typebox

Contract language for TypeScript where programs are typed contracts

Installation

Note

Prerequisites: Install Deno from deno.com.

Deno (via JSR):

deno add jsr:@neabyte/typebox

Or import directly from JSR:

import { Define, Loader } from 'jsr:@neabyte/typebox'

Quick Start

import { Define, Loader } from '@neabyte/typebox'

const app = Loader({
  add: Define((props: { a: number; b: number }) => props.a + props.b),
  counter: Define.state(0, (count, amount: number) => count + amount)
})

app.add({ a: 2, b: 3 }) // 5
app.counter(5) // 5
app.counter.get() // 5

Read docs/README.md for full documentation.

Testing

Type check - format, lint, and type-check:

deno task check

Unit tests - format/lint tests and run all tests:

deno task test
  • Tests live under tests/ (globals, utils, helpers, and index tests).
  • The test task uses --allow-read, --allow-write, and --allow-env.

License

This project is licensed under the MIT license. See the LICENSE file for details.


Back | FazBrowse Home | New Git URL