Files
typebox/readme.md

109 lines
2.8 KiB
Markdown

<div align='center'>
<h1>TypeBox</h1>
<p>Json Schema Type Builder with Static Type Resolution for TypeScript</p>
<br />
<br />
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
</div>
## Overview
TypeBox is a runtime type builder that creates in-memory Json Schema objects that infer as TypeScript types. The schematics produced by this library are designed to match the static type checking rules of the TypeScript compiler. TypeBox offers a unified type that can be statically checked by TypeScript and runtime asserted using standard Json Schema validation.
See [Overview &rarr;](docs/overview.md)
## Install
```bash
$ npm install @alkdev/typebox # TypeBox 0.x - Long Term Support
$ npm install typebox # TypeBox 1.x - Latest
```
See [Installation &rarr;](docs/installation.md)
## Quick Start
```typescript
import { Type, type Static } from "@alkdev/typebox";
const T = Type.Object({
x: Type.Number(),
y: Type.Number(),
z: Type.Number(),
});
type T = Static<typeof T>;
```
See [Usage &rarr;](docs/usage.md)
## Documentation
### Types
- [Json Types](docs/types/json.md)
- [JavaScript Types](docs/types/javascript.md)
- [Options](docs/types/options.md)
- [Properties](docs/types/properties.md)
- [Generic Types](docs/types/generics.md)
- [Recursive Types](docs/types/recursive.md)
- [Module Types](docs/types/modules.md)
- [Template Literal Types](docs/types/template-literal.md)
- [Indexed Access Types](docs/types/indexed.md)
- [Mapped Types](docs/types/mapped.md)
- [Conditional Types](docs/types/conditional.md)
- [Transform Types](docs/types/transform.md)
- [Unsafe Types](docs/types/unsafe.md)
- [TypeGuard](docs/types/typeguard.md)
### Values
- [Assert](docs/values/assert.md)
- [Create](docs/values/create.md)
- [Clone](docs/values/clone.md)
- [Check](docs/values/check.md)
- [Convert](docs/values/convert.md)
- [Clean](docs/values/clean.md)
- [Default](docs/values/default.md)
- [Cast](docs/values/cast.md)
- [Decode / Encode](docs/values/decode-encode.md)
- [Parse](docs/values/parse.md)
- [Equal](docs/values/equal.md)
- [Hash](docs/values/hash.md)
- [Diff / Patch](docs/values/diff-patch.md)
- [Errors](docs/values/errors.md)
- [Mutate](docs/values/mutate.md)
- [Pointer](docs/values/pointer.md)
### Syntax
- [Create](docs/syntax/create.md)
- [Parameters](docs/syntax/parameters.md)
- [Generics](docs/syntax/generics.md)
- [Options](docs/syntax/options.md)
- [NoInfer](docs/syntax/noinfer.md)
### Type System
- [TypeRegistry](docs/type-registry.md)
- [TypeCheck](docs/type-check.md) &mdash; Ajv, TypeCompiler
- [TypeMap](docs/type-map.md)
- [TypeSystem](docs/type-system.md)
- [Error Function](docs/error-function.md)
### Other
- [Ecosystem](docs/ecosystem.md)
- [Benchmark](docs/benchmark.md)
- [Contributing](docs/contributing.md)
## License
MIT