Fork from @sinclair/typebox 0.34.49 as @alkdev/typebox

- Rename package from @sinclair/typebox to @alkdev/typebox
- Update author, repository, and homepage to alkdev
- Remove GitHub workflows, .vscode config, and branding assets
- Update all source, test, example, changelog, and task imports
- Update tsconfig.json path mappings
- Clean up readme header (remove upstream badges/branding)
This commit is contained in:
2026-04-23 13:22:31 +00:00
parent 11f18ac6e9
commit bd758c2342
981 changed files with 1676 additions and 2054 deletions

0
.github/.keep vendored
View File

View File

@@ -1,23 +0,0 @@
name: Build
on: [push, pull_request]
jobs:
TypeBox:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node: [16.x, 18.x, 20.x]
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Install Packages
run: npm install
- name: Build Library
run: npm run build
- name: Test Library
run: npm run test

View File

@@ -1,30 +0,0 @@
name: Build Nightly
on:
schedule:
- cron: '0 18 * * *' # 6pm Daily
jobs:
TypeBox:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node: [20.x]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Install Packages
run: npm install
- name: Install TypeScript Latest
run: npm install typescript@latest
- name: Build TypeBox
run: npm run build
- name: Install TypeScript Next
run: npm install typescript@next
- name: Build TypeBox
run: npm run build

View File

@@ -1,41 +0,0 @@
name: Publish
on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+*' # Semver-Tag
permissions:
id-token: write # Required for OIDC
contents: read
jobs:
Publish:
runs-on: ubuntu-latest
steps:
# Checkout
- uses: actions/checkout@v4
# Node
- uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
# Update
- name: Update
run: npm install npm -g
# Install
- name: Build
run: npm install
# Build
- name: Build
run: npm run build
# Publish
- name: Publish
run: npm publish sinclair-typebox-*.tgz --provenance --access public
working-directory: target/build

View File

@@ -1,8 +0,0 @@
{
"files.exclude": {
"node_modules": true,
"package-lock.json": true
},
"editor.suggest.showStatusBar": false,
"typescript.tsdk": "node_modules\\typescript\\lib"
}

View File

@@ -1,4 +1,4 @@
## [0.17.1](https://www.npmjs.com/package/@sinclair/typebox/v/0.17.1)
## [0.17.1](https://www.npmjs.com/package/@alkdev/typebox/v/0.17.1)
- Remove default `additionalProperties: false` constraint from all object schemas.

View File

@@ -1,4 +1,4 @@
## [0.17.4](https://www.npmjs.com/package/@sinclair/typebox/v/0.17.4)
## [0.17.4](https://www.npmjs.com/package/@alkdev/typebox/v/0.17.4)
Changes:

View File

@@ -1,4 +1,4 @@
## [0.17.6](https://www.npmjs.com/package/@sinclair/typebox/v/0.17.6)
## [0.17.6](https://www.npmjs.com/package/@alkdev/typebox/v/0.17.6)
Changes:

View File

@@ -1,4 +1,4 @@
## [0.18.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.18.0)
## [0.18.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.18.0)
Changes:
@@ -14,7 +14,7 @@ TypeBox now targets JSON schema draft `2019-09` for expressing `Type.Intersect(.
TypeBox has deprecated `Type.Dict(...)` in favor of the more generic `Type.Record(...)`. Where as `Type.Dict(...)` was previously expressed with `additionalProperties: { ... }`, `Type.Record(...)` is expressed with `patternProperties` and supports both `string` and `number` indexer keys. Additionally, `Type.Record(...)` supports string union arguments. This is analogous to TypeScript's utility record type `Record<'a' | 'b' | 'c', T>`.
## [0.17.7](https://www.npmjs.com/package/@sinclair/typebox/v/0.17.7)
## [0.17.7](https://www.npmjs.com/package/@alkdev/typebox/v/0.17.7)
Changes:

View File

@@ -1,4 +1,4 @@
## [0.18.1](https://www.npmjs.com/package/@sinclair/typebox/v/0.18.1)
## [0.18.1](https://www.npmjs.com/package/@alkdev/typebox/v/0.18.1)
- Function `Type.Enum(...)` now expressed with `anyOf`. This to remove the `allowUnionTypes` configuration required to use `enum` with in AJV strict.
- Function `Type.Rec(...)` now takes a required `$id` as the first parameter.

View File

@@ -1,4 +1,4 @@
## [0.19.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.19.0)
## [0.19.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.19.0)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.20.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.20.0)
## [0.20.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.20.0)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.20.1](https://www.npmjs.com/package/@sinclair/typebox/v/0.20.1)
## [0.20.1](https://www.npmjs.com/package/@alkdev/typebox/v/0.20.1)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.21.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.21.0)
## [0.21.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.21.0)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.21.2](https://www.npmjs.com/package/@sinclair/typebox/v/0.21.2)
## [0.21.2](https://www.npmjs.com/package/@alkdev/typebox/v/0.21.2)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.22.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.22.0)
## [0.22.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.22.0)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.23.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.23.0)
## [0.23.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.23.0)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.23.1](https://www.npmjs.com/package/@sinclair/typebox/v/0.23.1)
## [0.23.1](https://www.npmjs.com/package/@alkdev/typebox/v/0.23.1)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.23.3](https://www.npmjs.com/package/@sinclair/typebox/v/0.23.3)
## [0.23.3](https://www.npmjs.com/package/@alkdev/typebox/v/0.23.3)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.24.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.24.0)
## [0.24.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.24.0)
Changes:

View File

@@ -1,4 +1,4 @@
## [0.24.15](https://www.npmjs.com/package/@sinclair/typebox/v/0.24.15)
## [0.24.15](https://www.npmjs.com/package/@alkdev/typebox/v/0.24.15)
Added:
- `Conditional.Extends(...)` This enables TypeBox to conditionally map types inline with TypeScripts structural equivalence checks. Tested against TypeScript 4.7.4.

View File

@@ -1,4 +1,4 @@
## [0.24.44](https://www.npmjs.com/package/@sinclair/typebox/v/0.24.44)
## [0.24.44](https://www.npmjs.com/package/@alkdev/typebox/v/0.24.44)
Updates:
- [189](https://github.com/sinclairzx81/typebox/pull/189) Both `Value.Error(T, value)` and `TypeCheck.Error(value)` now return an iterator for validation errors.

View File

@@ -1,4 +1,4 @@
## [0.24.49](https://www.npmjs.com/package/@sinclair/typebox/v/0.24.49)
## [0.24.49](https://www.npmjs.com/package/@alkdev/typebox/v/0.24.49)
Updates:

View File

@@ -1,13 +1,13 @@
## [0.24.6](https://www.npmjs.com/package/@sinclair/typebox/v/0.24.6)
## [0.24.6](https://www.npmjs.com/package/@alkdev/typebox/v/0.24.6)
Added:
- TypeBox now offers a `TypeGuard` module for structurally checking TypeBox schematics. This module can be used in runtime type reflection scenarios where it's helpful to test a schema is of a particular form. This module can be imported under the `@sinclair/typebox/guard` import path.
- TypeBox now offers a `TypeGuard` module for structurally checking TypeBox schematics. This module can be used in runtime type reflection scenarios where it's helpful to test a schema is of a particular form. This module can be imported under the `@alkdev/typebox/guard` import path.
Example:
```typescript
import { TypeGuard } from '@sinclair/typebox/guard'
import { TypeGuard } from '@alkdev/typebox/guard'
const T: any = {} // T is any

View File

@@ -1,4 +1,4 @@
## [0.24.8](https://www.npmjs.com/package/@sinclair/typebox/v/0.24.8)
## [0.24.8](https://www.npmjs.com/package/@alkdev/typebox/v/0.24.8)
Added:
- `Value.Cast(T, value)` structurally casts a value into another form while retaining information within the original value.

View File

@@ -1,4 +1,4 @@
## [0.25.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.0)
## [0.25.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.0)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.25.10](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.10)
## [0.25.10](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.10)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.25.11](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.11)
## [0.25.11](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.11)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.25.18](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.18)
## [0.25.18](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.18)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.25.22](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.22)
## [0.25.22](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.22)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.25.23](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.23)
## [0.25.23](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.23)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.25.24](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.23)
## [0.25.24](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.23)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.25.9](https://www.npmjs.com/package/@sinclair/typebox/v/0.25.9)
## [0.25.9](https://www.npmjs.com/package/@alkdev/typebox/v/0.25.9)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.26.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.26.0)
## [0.26.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.26.0)
## Overview
@@ -36,7 +36,7 @@ Revision 0.26.0 is a milestone release for the TypeBox project and requires a mi
Revision 0.26.0 exports a new type builder called `StandardType`. This builder only allows for the construction JSON Schema compliant types by omitting all Extended types.
```typescript
import { StandardType as Type, Static } from '@sinclair/typebox'
import { StandardType as Type, Static } from '@alkdev/typebox'
const T = Type.Date() // error: no such function
```
@@ -172,7 +172,7 @@ const All = [...Value.Errors(T, 'foo')] // const All = [{ path: '',
Revision 0.26.0 adds a `.Code()` function to the `TypeCompiler` to enable code generation without JIT evaluation.
```typescript
import { TypeCompiler } from '@sinclair/typebox/compiler'
import { TypeCompiler } from '@alkdev/typebox/compiler'
const T = Type.Object({
x: Type.Number(),
@@ -361,12 +361,12 @@ const V = Value.Cast(T, Value.Convert(T, '42')) // const V = 42 - 0.26.0
## Moved TypeGuard Module
The `TypeGuard` is now imported via the `@sinclair/typebox` module. This move is due to the TypeBox compositor internally using the guard when constructing types.
The `TypeGuard` is now imported via the `@alkdev/typebox` module. This move is due to the TypeBox compositor internally using the guard when constructing types.
```typescript
import { TypeGuard } from '@sinclair/typebox/guard' // 0.25.0
import { TypeGuard } from '@alkdev/typebox/guard' // 0.25.0
import { TypeGuard } from '@sinclair/typebox' // 0.26.0
import { TypeGuard } from '@alkdev/typebox' // 0.26.0
```
<a name="Format-Renamed-to-FormatRegistry"></a>
@@ -376,9 +376,9 @@ import { TypeGuard } from '@sinclair/typebox' // 0.26.0
The `Format` module has been renamed to `FormatRegistry` and moved to the `typebox.ts` module.
```typescript
import { Format } from '@sinclair/typebox/format' // 0.25.0
import { Format } from '@alkdev/typebox/format' // 0.25.0
import { FormatRegistry } from '@sinclair/typebox' // 0.26.0
import { FormatRegistry } from '@alkdev/typebox' // 0.26.0
```
<a name="Custom-Renamed-to-TypeRegistry"></a>
@@ -388,7 +388,7 @@ import { FormatRegistry } from '@sinclair/typebox' // 0.26.0
The `Format` module has been renamed to `FormatRegistry` and moved to the `typebox.ts` module.
```typescript
import { Custom } from '@sinclair/typebox/format' // 0.25.0
import { Custom } from '@alkdev/typebox/format' // 0.25.0
import { TypeRegistry } from '@sinclair/typebox' // 0.26.0
import { TypeRegistry } from '@alkdev/typebox' // 0.26.0
```

View File

@@ -1,4 +1,4 @@
## [0.26.2](https://www.npmjs.com/package/@sinclair/typebox/v/0.26.2)
## [0.26.2](https://www.npmjs.com/package/@alkdev/typebox/v/0.26.2)
Updates:

View File

@@ -1,4 +1,4 @@
## [0.27.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.27.0)
## [0.27.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.27.0)
## Overview
@@ -75,7 +75,7 @@ The following generates a 8-bit binary sequence for the given expression.
```typescript
import { TemplateLiteralParser, TemplateLiteralGenerator, TemplateLiteralFinite } from '@sinclair/typebox'
import { TemplateLiteralParser, TemplateLiteralGenerator, TemplateLiteralFinite } from '@alkdev/typebox'
const Bit = `(0|1)` // bit union
const Byte = `${Bit}${Bit}${Bit}${Bit}${Bit}${Bit}${Bit}${Bit}` // byte sequence

View File

@@ -1,4 +1,4 @@
## [0.27.1](https://www.npmjs.com/package/@sinclair/typebox/v/0.27.1)
## [0.27.1](https://www.npmjs.com/package/@alkdev/typebox/v/0.27.1)
## Updates

View File

@@ -1,4 +1,4 @@
## [0.28.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.28.0)
## [0.28.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.28.0)
## Overview

View File

@@ -1,4 +1,4 @@
## [0.28.3](https://www.npmjs.com/package/@sinclair/typebox/v/0.28.3)
## [0.28.3](https://www.npmjs.com/package/@alkdev/typebox/v/0.28.3)
## Overview

View File

@@ -1,4 +1,4 @@
## [0.29.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.29.0)
## [0.29.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.29.0)
## Overview

View File

@@ -1,4 +1,4 @@
## [0.29.2](https://www.npmjs.com/package/@sinclair/typebox/v/0.29.2)
## [0.29.2](https://www.npmjs.com/package/@alkdev/typebox/v/0.29.2)
## Overview

View File

@@ -1,4 +1,4 @@
## [0.30.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.30.0)
## [0.30.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.30.0)
## Overview
@@ -151,13 +151,13 @@ The top level `Value.*` namespace will remain on all subsequent versions of Type
```typescript
// Revision 0.29.0
//
import { Value } from '@sinclair/typebox/value' // Value.* namespace
import { Value } from '@alkdev/typebox/value' // Value.* namespace
const A = Value.Create(Type.String())
// Revision 0.30.0
//
import { Create } from '@sinclair/typebox/value/create' // Only Create()
import { Create } from '@alkdev/typebox/value/create' // Only Create()
const A = Create(Type.String())
```
@@ -246,7 +246,7 @@ Revision 0.30.0 offers an external code generation API tool which can be used to
[TypeBox-Code Project](https://github.com/sinclairzx81/typebox-codegen)
```typescript
import * as Codegen from '@sinclair/typebox-codegen'
import * as Codegen from '@alkdev/typebox-codegen'
const Code = Codegen.TypeScriptToTypeBox.Generate(`
type T = { x: number, y: number, z: number }
@@ -256,7 +256,7 @@ console.log(Code)
// Output:
//
// import { Type, Static } from '@sinclair/typebox'
// import { Type, Static } from '@alkdev/typebox'
//
// type T = Static<typeof T>
// const T = Type.Object({
@@ -272,7 +272,7 @@ console.log(Code)
Revision 0.30.0 includes a reference implementation for JSON Type Definition (RFC 8927). This specification is currently under consideration for inclusion in the TypeBox library as an alternative schema representation for nominal type systems. The implementation currently contains all types expressed in the JSON Type Definition spec, but omits constraints such and `minimum` and `maximum` values (which are not formally represented in the specification).
The implementation is offered as a single file which can be copied in to projects with TypeBox installed. This implementation may be enhanced over the next few revisions (with some potential to implement mapping types such as partial, required, omit, pick, keyof). This specification will be considered for inclusion under `@sinclair/typebox/typedef` if there is enough interest.
The implementation is offered as a single file which can be copied in to projects with TypeBox installed. This implementation may be enhanced over the next few revisions (with some potential to implement mapping types such as partial, required, omit, pick, keyof). This specification will be considered for inclusion under `@alkdev/typebox/typedef` if there is enough interest.
```typescript
import { Type } from './typedef' // from: examples/typedef/typedef.ts
@@ -408,7 +408,7 @@ const T = Type.String({ pattern: /abc/.source }) // Standard Type
For Unicode (UTF-16) support on 0.30.0, the recommendation is to continue using user defined formats.
```typescript
import { Type, FormatRegistry } from '@sinclair/typebox'
import { Type, FormatRegistry } from '@alkdev/typebox'
FormatRegistry.Set('emoji', value => /<a?:.+?:\d{18}>|\p{Extended_Pictographic}/gu.test(value))

View File

@@ -1,4 +1,4 @@
## [0.31.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.31.0)
## [0.31.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.31.0)
## Overview
@@ -30,7 +30,7 @@ Revision 0.31.0 includes a new codec system referred to as Transform types. A Tr
The following shows a Transform type which increments and decrements a number.
```typescript
import { Value } from '@sinclair/typebox/value'
import { Value } from '@alkdev/typebox/value'
const T = Type.Transform(Type.Number()) // const T = {
.Decode(value => value + 1) // type: 'number',
@@ -191,14 +191,14 @@ Revision 0.31.0 updates the inference strategy for Record types and generalizes
```typescript
// 0.30.0
//
import { RecordKey, TSchema } from '@sinclair/typebox'
import { RecordKey, TSchema } from '@alkdev/typebox'
function StrictRecord<K extends RecordKey, T extends TSchema>(K: K, T: T) {
return Type.Record(K, T, { additionalProperties: false }) // Error: RecordKey unresolvable to overload
}
// 0.31.0
//
import { TSchema } from '@sinclair/typebox'
import { TSchema } from '@alkdev/typebox'
function StrictRecord<K extends TSchema, T extends TSchema>(K: K, T: T) {
return Type.Record(K, T, { additionalProperties: false }) // Ok: dynamically mapped
@@ -218,8 +218,8 @@ const C = StrictRecord(Type.BigInt(), Type.Null()) // const C: TNeve
Revision 0.31.0 updates all errors thrown by TypeBox to extend the sub type `TypeBoxError`. This can be used to help narrow down the source of errors in `try/catch` blocks.
```typescript
import { Type, TypeBoxError } from '@sinclair/typebox'
import { Value } from '@sinclair/typebox/value'
import { Type, TypeBoxError } from '@alkdev/typebox'
import { Value } from '@alkdev/typebox/value'
try {
const A = Value.Decode(Type.Number(), 'hello')
@@ -237,7 +237,7 @@ try {
Revision 0.31.0 adds functionality to remap error messages with the TypeSystemErrorFunction. This function is invoked whenever a validation error is generated in TypeBox. The following is an example of a custom TypeSystemErrorFunction using some of the messages TypeBox generates by default. TypeBox also provides the DefaultErrorFunction which can be used for fallthrough cases.
```typescript
import { TypeSystemErrorFunction, DefaultErrorFunction } from '@sinclair/typebox/system'
import { TypeSystemErrorFunction, DefaultErrorFunction } from '@alkdev/typebox/system'
// Example CustomErrorFunction
export function CustomErrorFunction(schema: Types.TSchema, errorType: ValueErrorType) {
@@ -317,13 +317,13 @@ Revision 0.31.0 moves the `TypeSystem.Policy` configurations into a new type nam
```typescript
// Revision 0.30.0
//
import { TypeSystem } from '@sinclair/typebox/system'
import { TypeSystem } from '@alkdev/typebox/system'
TypeSystem.AllowNaN = true
// Revision 0.31.0
//
import { TypeSystemPolicy } from '@sinclair/typebox/system'
import { TypeSystemPolicy } from '@alkdev/typebox/system'
TypeSystemPolicy.AllowNaN = true

View File

@@ -39,7 +39,7 @@
- [Revision 0.32.1](https://github.com/sinclairzx81/typebox/pull/701) Specify default exports for Web Pack
## [0.32.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.32.0)
## [0.32.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.32.0)
## Overview
@@ -79,9 +79,9 @@ This revision is a milestone revision for the TypeBox project. It has several br
Revision 0.32.0 adds the ability to import types individually.
```typescript
import { Type, type Static } from '@sinclair/typebox' // classic - 37.0 kb minified
import { Type, type Static } from '@alkdev/typebox' // classic - 37.0 kb minified
import { Object, String, Number, type Static } from '@sinclair/typebox' // selective - 6.5 kb minified
import { Object, String, Number, type Static } from '@alkdev/typebox' // selective - 6.5 kb minified
```
<a name="Value-Function-Imports"></a>
@@ -91,9 +91,9 @@ import { Object, String, Number, type Static } from '@sinclair/typebox' // selec
Revision 0.32.0 adds the ability to import value functions from the `/value` module path.
```typescript
import { Value } from '@sinclair/typebox/value' // classic - 61.5 kb minified
import { Value } from '@alkdev/typebox/value' // classic - 61.5 kb minified
import { Check } from '@sinclair/typebox/value' // selective - 18.2 kb minified
import { Check } from '@alkdev/typebox/value' // selective - 18.2 kb minified
```
### CommonJS and ESM
@@ -383,7 +383,7 @@ The following shows the changes from 0.31.0 to 0.32.0.
```typescript
// Revision 0.31.0
import { TypeSystemErrorFunction } from '@sinclair/typebox/system'
import { TypeSystemErrorFunction } from '@alkdev/typebox/system'
TypeSystemErrorFunction.Set((schema, errorType) => {
@@ -392,7 +392,7 @@ TypeSystemErrorFunction.Set((schema, errorType) => {
// Revision 0.32.0
import { SetErrorFunction } from '@sinclair/typebox/errors'
import { SetErrorFunction } from '@alkdev/typebox/errors'
SetErrorFunction(({ schema, errorType, path, value }) => { // as destructured object
@@ -416,13 +416,13 @@ Revision 0.32.0 renames the `Optional`, `Required` and `Transform` symbols to `O
```typescript
// Revision 0.31.0
import { Kind, Hint, Optional, Required, Transform } from '@sinclair/typebox' // these are symbols
import { Kind, Hint, Optional, Required, Transform } from '@alkdev/typebox' // these are symbols
// Revision 0.32.0
import {
Kind, Hint, OptionalKind, RequiredKind, TransformKind, // these are symbols
Optional, Required, Transform // these are type imports
} from '@sinclair/typebox'
} from '@alkdev/typebox'
```
<a name="Breaking-TypeGuard-Interface-Change"></a>
@@ -434,13 +434,13 @@ Revision 0.32.0 has a breaking interface change on the TypeGuard utility where t
```typescript
// Revision 0.31.0
import { TypeGuard, Kind } from '@sinclair/typebox'
import { TypeGuard, Kind } from '@alkdev/typebox'
const R = TypeGuard.TString({ ... })
// Revision 0.32.0
import { TypeGuard } from '@sinclair/typebox'
import { TypeGuard } from '@alkdev/typebox'
const R = TypeGuard.IsString({ ... })
```
@@ -454,11 +454,11 @@ The value submodule function import paths are unfortunately no longer supported.
```typescript
// Revision 0.31.0
import { Check } from '@sinclair/typebox/value/check'
import { Check } from '@alkdev/typebox/value/check'
// Revision 0.32.0
import { Check } from '@sinclair/typebox/value'
import { Check } from '@alkdev/typebox/value'
```
<a name="Breaking-Error-Function"></a>
@@ -470,7 +470,7 @@ The TypeSystemErrorFunction has been replaced with SetErrorFunction which can be
```typescript
// Revision 0.31.0
import { TypeSystemErrorFunction, ValueErrorType, DefaultErrorFunction } from '@sinclair/typebox/system'
import { TypeSystemErrorFunction, ValueErrorType, DefaultErrorFunction } from '@alkdev/typebox/system'
TypeSystemErrorFunction.Set((schema, errorType) => { // i18n override
switch(errorType) {
@@ -483,7 +483,7 @@ TypeSystemErrorFunction.Set((schema, errorType) => { // i18n override
// Revision 0.32.0
import { SetErrorFunction, ValueErrorType, DefaultErrorFunction } from '@sinclair/typebox/errors'
import { SetErrorFunction, ValueErrorType, DefaultErrorFunction } from '@alkdev/typebox/errors'
SetErrorFunction((error) => { // i18n override
switch(error.errorType) {

View File

@@ -3,19 +3,21 @@
---
### Revision Updates
- [Revision 0.34.48](https://github.com/sinclairzx81/typebox-legacy/pull/6)
- [Revision 0.34.49](https://github.com/sinclairzx81/sinclair-typebox/pull/11)
- Documentation Update - Link to 1.x. Updates in support of non-legacy 1.x compiler backport.
- [Revision 0.34.48](https://github.com/sinclairzx81/sinclair-typebox/pull/6)
- Support Sparse Array Validation
- [Revision 0.34.47](https://github.com/sinclairzx81/typebox-legacy/pull/5)
- [Revision 0.34.47](https://github.com/sinclairzx81/sinclair-typebox/pull/5)
- Annual License Update
- [Revision 0.34.46](https://github.com/sinclairzx81/typebox-legacy/pull/4)
- [Revision 0.34.46](https://github.com/sinclairzx81/sinclair-typebox/pull/4)
- Ensure TObject Instances remain Covariant with TObject Types.
- [Revision 0.34.45](https://github.com/sinclairzx81/typebox-legacy/pull/2)
- Documentation Update - Resolve Readme Assets to TypeBox Legacy Repository.
- [Revision 0.34.44](https://github.com/sinclairzx81/typebox-legacy/pull/2)
- [Revision 0.34.45](https://github.com/sinclairzx81/sinclair-typebox/pull/2)
- Documentation Update - Resolve Readme Assets to Sinclair TypeBox Repository.
- [Revision 0.34.44](https://github.com/sinclairzx81/sinclair-typebox/pull/2)
- Documentation Update - Rename Project to TypeBox 0.34.x
- [Revision 0.34.43](https://github.com/sinclairzx81/typebox-legacy/pull/1)
- Configure Package Homepage to refer to TypeBox Legacy Repository.
- [Revision 0.34.42](https://github.com/sinclairzx81/typebox-legacy)
- [Revision 0.34.43](https://github.com/sinclairzx81/sinclair-typebox/pull/1)
- Configure Package Homepage to refer to Sinclair TypeBox Repository.
- [Revision 0.34.42](https://github.com/sinclairzx81/sinclair-typebox)
- Enable Forward Type Inference Compatibility with TypeBox V1
- [Revision 0.34.41](https://github.com/sinclairzx81/typebox/pull/1310)
- Disable Node10 Module Resolution | TS7 Deprecation Warning.
@@ -105,7 +107,7 @@
- [Revision 0.34.1](https://github.com/sinclairzx81/typebox/pull/1080)
- Implement Computed Type Deref in Modules
## [0.34.0](https://www.npmjs.com/package/@sinclair/typebox/v/0.34.0)
## [0.34.0](https://www.npmjs.com/package/@alkdev/typebox/v/0.34.0)
## Overview
@@ -175,10 +177,10 @@ Revision 0.34.0 introduces a new submodule for parsing TypeScript syntax directl
As of 0.34.0, Syntax Types are available as an opt-in feature, with the parsing infrastructure adding approximately 10kb (minified) to the existing type builder. With further optimizations, this feature may be elevated to a top-level import in future updates to minimize bundling size.
To use Syntax Types, import them from the `@sinclair/typebox/syntax` path.
To use Syntax Types, import them from the `@alkdev/typebox/syntax` path.
```typescript
import { Parse } from '@sinclair/typebox/syntax'
import { Parse } from '@alkdev/typebox/syntax'
// All primitive types are supported

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox
@alkdev/typebox
The MIT License (MIT)
@@ -26,7 +26,7 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import * as Types from '@sinclair/typebox'
import * as Types from '@alkdev/typebox'
// -------------------------------------------------------------------
// Annotation

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/collections
@alkdev/typebox/collections
The MIT License (MIT)
@@ -26,9 +26,9 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { TypeCheck, TypeCompiler, ValueError } from '@sinclair/typebox/compiler'
import { TSchema, Static, TypeBoxError } from '@sinclair/typebox'
import { Value } from '@sinclair/typebox/value'
import { TypeCheck, TypeCompiler, ValueError } from '@alkdev/typebox/compiler'
import { TSchema, Static, TypeBoxError } from '@alkdev/typebox'
import { Value } from '@alkdev/typebox/value'
// ----------------------------------------------------------------
// TypeArrayError

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/collections
@alkdev/typebox/collections
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/collections
@alkdev/typebox/collections
The MIT License (MIT)
@@ -26,9 +26,9 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { TypeCheck, TypeCompiler, ValueError } from '@sinclair/typebox/compiler'
import { TSchema, Static, TypeBoxError } from '@sinclair/typebox'
import { Value } from '@sinclair/typebox/value'
import { TypeCheck, TypeCompiler, ValueError } from '@alkdev/typebox/compiler'
import { TSchema, Static, TypeBoxError } from '@alkdev/typebox'
import { Value } from '@alkdev/typebox/value'
// ----------------------------------------------------------------
// TypeMapKeyError

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/collections
@alkdev/typebox/collections
The MIT License (MIT)
@@ -26,9 +26,9 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { TypeCheck, TypeCompiler, ValueError } from '@sinclair/typebox/compiler'
import { TSchema, Static, TypeBoxError } from '@sinclair/typebox'
import { Value } from '@sinclair/typebox/value'
import { TypeCheck, TypeCompiler, ValueError } from '@alkdev/typebox/compiler'
import { TSchema, Static, TypeBoxError } from '@alkdev/typebox'
import { Value } from '@alkdev/typebox/value'
// ----------------------------------------------------------------
// Errors

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/format
@alkdev/typebox/format
The MIT License (MIT)

View File

@@ -1,8 +1,8 @@
import { TypeSystem } from '@sinclair/typebox/system'
import { TypeCompiler } from '@sinclair/typebox/compiler'
import { Value, ValuePointer } from '@sinclair/typebox/value'
import { Type, TypeGuard, Kind, Static, TSchema } from '@sinclair/typebox'
import { Syntax } from '@sinclair/typebox/syntax'
import { TypeSystem } from '@alkdev/typebox/system'
import { TypeCompiler } from '@alkdev/typebox/compiler'
import { Value, ValuePointer } from '@alkdev/typebox/value'
import { Type, TypeGuard, Kind, Static, TSchema } from '@alkdev/typebox'
import { Syntax } from '@alkdev/typebox/syntax'
// -----------------------------------------------------------
// Create: Type

View File

@@ -1,7 +1,7 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)
@@ -27,9 +27,9 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { Static, Kind, TSchema, TObject, SchemaOptions, CreateType, TLiteral, TypeRegistry, ValueGuard, KindGuard, TUnion } from '@sinclair/typebox'
import { Static, Kind, TSchema, TObject, SchemaOptions, CreateType, TLiteral, TypeRegistry, ValueGuard, KindGuard, TUnion } from '@alkdev/typebox'
import { GetErrorFunction, SetErrorFunction } from 'src/errors/function'
import { Value } from '@sinclair/typebox/value'
import { Value } from '@alkdev/typebox/value'
// ------------------------------------------------------------------
// DiscriminatedUnionError

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)
@@ -26,7 +26,7 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import * as Type from '@sinclair/typebox'
import * as Type from '@alkdev/typebox'
// ------------------------------------------------------------------
// Schematics

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)
@@ -26,7 +26,7 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { TSchema, CloneType } from '@sinclair/typebox'
import { TSchema, CloneType } from '@alkdev/typebox'
// prettier-ignore
export type TOptions<Type extends TSchema, Options extends Record<PropertyKey, unknown>> = (

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)
@@ -26,7 +26,7 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { TypeGuard, Type, TSchema, TIntersect, TUnion, TObject, TPartial, TProperties, Evaluate } from '@sinclair/typebox'
import { TypeGuard, Type, TSchema, TIntersect, TUnion, TObject, TPartial, TProperties, Evaluate } from '@alkdev/typebox'
// -------------------------------------------------------------------------------------
// TPartialDeepProperties

View File

@@ -86,7 +86,7 @@ type A = typeof A extends { foo: number } ? true : false // true: foo property i
## Recursive Map
The Recursive Map type enables deep structural remapping of a type and it's internal constituents. This type accepts a TSchema type and a mapping type function (expressed via HKT). The HKT is applied when traversing the type and it's interior. The mapping HKT can apply conditional tests to each visited type to remap into a new form. The following augments a schematic via Options, and conditionally remaps any schema with an default annotation to make it optional.
```typescript
import { Type, TOptional, Static, TSchema } from '@sinclair/typebox'
import { Type, TOptional, Static, TSchema } from '@alkdev/typebox'
import { TRecursiveMap, TMappingType, Options } from './prototypes'

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)
@@ -26,7 +26,7 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import * as Types from '@sinclair/typebox'
import * as Types from '@alkdev/typebox'
// ------------------------------------------------------------------
// Mapping: Functions and Type

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)
@@ -26,7 +26,7 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { TypeRegistry, Kind, TSchema, SchemaOptions } from '@sinclair/typebox'
import { TypeRegistry, Kind, TSchema, SchemaOptions } from '@alkdev/typebox'
// -------------------------------------------------------------------------------------
// TUnionEnum

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/prototypes
@alkdev/typebox/prototypes
The MIT License (MIT)
@@ -26,8 +26,8 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { TypeRegistry, Kind, Static, TSchema, SchemaOptions } from '@sinclair/typebox'
import { Value } from '@sinclair/typebox/value'
import { TypeRegistry, Kind, Static, TSchema, SchemaOptions } from '@alkdev/typebox'
import { Value } from '@alkdev/typebox/value'
// -------------------------------------------------------------------------------------
// TUnionOneOf

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/standard-schema
@alkdev/typebox/standard-schema
The MIT License (MIT)

View File

@@ -8,7 +8,7 @@ The following example augments a TypeBox schema with the required `~standard` in
```typescript
import { StandardSchema } from './standard'
import { Type } from '@sinclair/typebox'
import { Type } from '@alkdev/typebox'
const T = StandardSchema(Type.Object({ // const A = {
x: Type.Number(), // (non-enumerable) '~standard': {

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/standard-schema
@alkdev/typebox/standard-schema
The MIT License (MIT)
@@ -26,8 +26,8 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { AssertError, Value, ValueError, ValueErrorType } from '@sinclair/typebox/value'
import { TSchema, StaticDecode, CloneType } from '@sinclair/typebox'
import { AssertError, Value, ValueError, ValueErrorType } from '@alkdev/typebox/value'
import { TSchema, StaticDecode, CloneType } from '@alkdev/typebox'
// ------------------------------------------------------------------
// StandardSchema

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/typedef
@alkdev/typebox/typedef
The MIT License (MIT)

View File

@@ -12,7 +12,7 @@ License MIT
## Usage
TypeBox currently doesn't publish TypeDef as part of the mainline package. However the TypeDef functionality is written to be a standalone module you can copy into your project. You will also need `@sinclair/typebox` installed. You can obtain the `typedef` module from `example/typedef/typedef.ts` contained within this repository.
TypeBox currently doesn't publish TypeDef as part of the mainline package. However the TypeDef functionality is written to be a standalone module you can copy into your project. You will also need `@alkdev/typebox` installed. You can obtain the `typedef` module from `example/typedef/typedef.ts` contained within this repository.
```typescript
import { Type, Static } from './typedef'
@@ -245,8 +245,8 @@ TypeDef types are partially supported with the `TypeCompiler` and `Value` checki
The following is TypeDef used with TypeBox's type checking infrastructure.
```typescript
import { TypeCompiler } from '@sinclair/typebox/compiler'
import { Value } from '@sinclair/typebox/value'
import { TypeCompiler } from '@alkdev/typebox/compiler'
import { Value } from '@alkdev/typebox/value'
const T = Type.Struct({
x: Type.Float32(),

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/typedef
@alkdev/typebox/typedef
The MIT License (MIT)
@@ -26,8 +26,8 @@ THE SOFTWARE.
---------------------------------------------------------------------------*/
import { SetErrorFunction, DefaultErrorFunction } from '@sinclair/typebox/errors'
import * as Types from '@sinclair/typebox/type'
import { SetErrorFunction, DefaultErrorFunction } from '@alkdev/typebox/errors'
import * as Types from '@alkdev/typebox/type'
// --------------------------------------------------------------------------
// Metadata

563
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@sinclair/typebox",
"version": "0.34.48",
"name": "@alkdev/typebox",
"version": "0.34.49",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@sinclair/typebox",
"version": "0.34.48",
"name": "@alkdev/typebox",
"version": "0.34.49",
"license": "MIT",
"devDependencies": {
"@arethetypeswrong/cli": "^0.13.2",
@@ -15,9 +15,9 @@
"@types/node": "^22.13.5",
"ajv": "^8.12.0",
"ajv-formats": "^2.1.1",
"mocha": "^11.1.0",
"mocha": "^11.3.0",
"prettier": "^2.7.1",
"typescript": "^5.9.3"
"typescript": "^6.0.2"
}
},
"node_modules/@andrewbranch/untar.js": {
@@ -219,15 +219,16 @@
}
},
"node_modules/ajv": {
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"dev": true,
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
"require-from-string": "^2.0.2"
},
"funding": {
"type": "github",
@@ -251,15 +252,6 @@
}
}
},
"node_modules/ansi-colors": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/ansi-escapes": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz",
@@ -305,19 +297,6 @@
"integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==",
"dev": true
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -330,37 +309,16 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/brace-expansion": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz",
"integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"dependencies": {
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/browser-stdout": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
@@ -439,30 +397,19 @@
}
},
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
],
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
"readdirp": "^4.0.1"
},
"engines": {
"node": ">= 8.10.0"
"node": ">= 14.16.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
"funding": {
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/cli-table3": {
@@ -582,10 +529,11 @@
}
},
"node_modules/diff": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
"integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz",
"integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
}
@@ -1004,24 +952,29 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
"node_modules/fast-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
],
"license": "BSD-3-Clause"
},
"node_modules/fflate": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz",
"integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==",
"dev": true
},
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -1063,20 +1016,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -1107,33 +1046,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/glob/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -1152,27 +1064,6 @@
"he": "bin/he"
}
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -1182,27 +1073,6 @@
"node": ">=8"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
@@ -1352,15 +1222,19 @@
}
},
"node_modules/minimatch": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"version": "9.0.9",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
"brace-expansion": "^2.0.2"
},
"engines": {
"node": ">=10"
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/minipass": {
@@ -1373,14 +1247,14 @@
}
},
"node_modules/mocha": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-11.1.0.tgz",
"integrity": "sha512-8uJR5RTC2NgpY3GrYcgpZrsEd9zKbPDpob1RezyR2upGHRQtHWofmzTMzTMSV6dru3tj5Ukt0+Vnq1qhFEEwAg==",
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-11.3.0.tgz",
"integrity": "sha512-J0RLIM89xi8y6l77bgbX+03PeBRDQCOVQpnwOcCN7b8hCmbh6JvGI2ZDJ5WMoHz+IaPU+S4lvTd0j51GmBAdgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-colors": "^4.1.3",
"browser-stdout": "^1.3.1",
"chokidar": "^3.5.3",
"chokidar": "^4.0.1",
"debug": "^4.3.5",
"diff": "^5.2.0",
"escape-string-regexp": "^4.0.0",
@@ -1391,6 +1265,7 @@
"log-symbols": "^4.1.0",
"minimatch": "^5.1.6",
"ms": "^2.1.3",
"picocolors": "^1.1.1",
"serialize-javascript": "^6.0.2",
"strip-json-comments": "^3.1.1",
"supports-color": "^8.1.1",
@@ -1407,6 +1282,19 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/mocha/node_modules/minimatch": {
"version": "5.1.9",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
"integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -1428,15 +1316,6 @@
"node": ">=18"
}
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -1513,17 +1392,12 @@
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"dev": true
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"dev": true,
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
"license": "ISC"
},
"node_modules/prettier": {
"version": "2.8.8",
@@ -1540,15 +1414,6 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -1559,15 +1424,17 @@
}
},
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
"dependencies": {
"picomatch": "^2.2.1"
},
"license": "MIT",
"engines": {
"node": ">=8.10.0"
"node": ">= 14.18.0"
},
"funding": {
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/redeyed": {
@@ -1792,18 +1659,6 @@
"node": ">=8"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/type-fest": {
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
@@ -1817,9 +1672,9 @@
}
},
"node_modules/typescript": {
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz",
"integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -1845,15 +1700,6 @@
"node": ">=4"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/validate-npm-package-name": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
@@ -1885,7 +1731,8 @@
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz",
"integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==",
"dev": true
"dev": true,
"license": "Apache-2.0"
},
"node_modules/wrap-ansi": {
"version": "8.1.0",
@@ -2197,15 +2044,15 @@
}
},
"ajv": {
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
"require-from-string": "^2.0.2"
}
},
"ajv-formats": {
@@ -2217,12 +2064,6 @@
"ajv": "^8.0.0"
}
},
"ansi-colors": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
"dev": true
},
"ansi-escapes": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz",
@@ -2253,16 +2094,6 @@
"integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==",
"dev": true
},
"anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
}
},
"argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -2275,30 +2106,15 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true
},
"brace-expansion": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz",
"integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0"
}
},
"braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"requires": {
"fill-range": "^7.1.1"
}
},
"browser-stdout": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
@@ -2358,19 +2174,12 @@
"dev": true
},
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"fsevents": "~2.3.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
"readdirp": "^4.0.1"
}
},
"cli-table3": {
@@ -2455,9 +2264,9 @@
"dev": true
},
"diff": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
"integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz",
"integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==",
"dev": true
},
"eastasianwidth": {
@@ -2671,21 +2480,18 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
"fast-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
"dev": true
},
"fflate": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz",
"integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==",
"dev": true
},
"fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -2712,13 +2518,6 @@
"signal-exit": "^4.0.1"
}
},
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"optional": true
},
"get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -2737,26 +2536,6 @@
"minipass": "^7.1.2",
"package-json-from-dist": "^1.0.0",
"path-scurry": "^1.11.1"
},
"dependencies": {
"minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
}
}
},
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
}
},
"has-flag": {
@@ -2771,42 +2550,12 @@
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"requires": {
"binary-extensions": "^2.0.0"
}
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true
},
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
@@ -2907,12 +2656,12 @@
}
},
"minimatch": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"version": "9.0.9",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
"brace-expansion": "^2.0.2"
}
},
"minipass": {
@@ -2922,14 +2671,13 @@
"dev": true
},
"mocha": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-11.1.0.tgz",
"integrity": "sha512-8uJR5RTC2NgpY3GrYcgpZrsEd9zKbPDpob1RezyR2upGHRQtHWofmzTMzTMSV6dru3tj5Ukt0+Vnq1qhFEEwAg==",
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-11.3.0.tgz",
"integrity": "sha512-J0RLIM89xi8y6l77bgbX+03PeBRDQCOVQpnwOcCN7b8hCmbh6JvGI2ZDJ5WMoHz+IaPU+S4lvTd0j51GmBAdgQ==",
"dev": true,
"requires": {
"ansi-colors": "^4.1.3",
"browser-stdout": "^1.3.1",
"chokidar": "^3.5.3",
"chokidar": "^4.0.1",
"debug": "^4.3.5",
"diff": "^5.2.0",
"escape-string-regexp": "^4.0.0",
@@ -2940,6 +2688,7 @@
"log-symbols": "^4.1.0",
"minimatch": "^5.1.6",
"ms": "^2.1.3",
"picocolors": "^1.1.1",
"serialize-javascript": "^6.0.2",
"strip-json-comments": "^3.1.1",
"supports-color": "^8.1.1",
@@ -2947,6 +2696,17 @@
"yargs": "^17.7.2",
"yargs-parser": "^21.1.1",
"yargs-unparser": "^2.0.0"
},
"dependencies": {
"minimatch": {
"version": "5.1.9",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
"integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
}
}
},
"ms": {
@@ -2967,12 +2727,6 @@
"skin-tone": "^2.0.0"
}
},
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
"p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -3027,10 +2781,10 @@
}
}
},
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"dev": true
},
"prettier": {
@@ -3039,12 +2793,6 @@
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
"dev": true
},
"punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"dev": true
},
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -3055,13 +2803,10 @@
}
},
"readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"requires": {
"picomatch": "^2.2.1"
}
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true
},
"redeyed": {
"version": "2.1.1",
@@ -3214,15 +2959,6 @@
}
}
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
"is-number": "^7.0.0"
}
},
"type-fest": {
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
@@ -3230,9 +2966,9 @@
"dev": true
},
"typescript": {
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz",
"integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
"dev": true
},
"undici-types": {
@@ -3247,15 +2983,6 @@
"integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
"dev": true
},
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
}
},
"validate-npm-package-name": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",

View File

@@ -1,6 +1,6 @@
{
"name": "@sinclair/typebox",
"version": "0.34.48",
"name": "@alkdev/typebox",
"version": "0.34.49",
"description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
"keywords": [
"typescript",
@@ -8,12 +8,12 @@
"validate",
"typecheck"
],
"author": "sinclairzx81",
"author": "alkdev",
"license": "MIT",
"homepage": "https://github.com/sinclairzx81/typebox-legacy",
"homepage": "https://git.alk.dev/alkdev/typebox",
"repository": {
"type": "git",
"url": "https://github.com/sinclairzx81/typebox-legacy"
"url": "https://git.alk.dev/alkdev/typebox"
},
"scripts": {
"test:typescript": "hammer task test_typescript",
@@ -37,8 +37,8 @@
"@types/node": "^22.13.5",
"ajv": "^8.12.0",
"ajv-formats": "^2.1.1",
"mocha": "^11.1.0",
"mocha": "^11.3.0",
"prettier": "^2.7.1",
"typescript": "^5.9.3"
"typescript": "^6.0.2"
}
}

View File

@@ -1,35 +1,33 @@
<div align='center'>
<h1>TypeBox 0.34.x</h1>
<h1>TypeBox</h1>
<p>Json Schema Type Builder with Static Type Resolution for TypeScript</p>
<img src="https://raw.githubusercontent.com/sinclairzx81/typebox-legacy/refs/heads/main/typebox.png" />
<br />
<br />
[![npm version](https://badge.fury.io/js/%40sinclair%2Ftypebox.svg)](https://badge.fury.io/js/%40sinclair%2Ftypebox)
[![Downloads](https://img.shields.io/npm/dm/%40sinclair%2Ftypebox.svg)](https://www.npmjs.com/package/%40sinclair%2Ftypebox)
[![Build](https://github.com/sinclairzx81/typebox/actions/workflows/build.yml/badge.svg)](https://github.com/sinclairzx81/typebox/actions/workflows/build.yml)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
</div>
<a name="Install"></a>
## Install
```bash
$ npm install @sinclair/typebox # TypeBox-Legacy | 0.34.x
For the latest version use [TypeBox 1.x](https://git.alk.dev/alkdev/typebox)
$ npm install typebox # TypeBox | 1.0.x
```bash
$ npm install @alkdev/typebox # TypeBox 0.x - Long Term Support
$ npm install typebox # TypeBox 1.x - Latest
```
## Example
```typescript
import { Type, type Static } from '@sinclair/typebox'
import { Type, type Static } from '@alkdev/typebox'
const T = Type.Object({ // const T = {
x: Type.Number(), // type: 'object',
@@ -48,13 +46,10 @@ type T = Static<typeof T> // type T = {
// }
```
<a name="Overview"></a>
## Overview
> ⚠️ TypeBox versions (pre-1.0) will continue active maintenance through 2026 and beyond. This repository services as the OIDC publishing environment for the `@sinclair/typebox` package scope on NPM. For TypeBox versions 1.0 and above, refer to https://github.com/sinclairzx81/typebox
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.
This library is designed to allow Json Schema to compose similar to how types compose within TypeScript's type system. It can be used as a simple tool to build up complex schematics or integrated into REST and RPC services to help validate data received over the wire.
@@ -132,7 +127,7 @@ License MIT
The following shows general usage.
```typescript
import { Type, type Static } from '@sinclair/typebox'
import { Type, type Static } from '@alkdev/typebox'
//--------------------------------------------------------------------------------------------
//
@@ -190,7 +185,7 @@ type T = Static<typeof T> // type T = {
//
//--------------------------------------------------------------------------------------------
import { Value } from '@sinclair/typebox/value'
import { Value } from '@alkdev/typebox/value'
const R = Value.Parse(T, value) // const R: {
// id: string,
@@ -942,7 +937,7 @@ const C = Type.Exclude( // type C = Exclude<1 | 2 |
TypeBox supports value decoding and encoding with Transform types. These types work in tandem with the Encode and Decode functions available on the Value and TypeCompiler submodules. Transform types can be used to convert Json encoded values into constructs more natural to JavaScript. The following creates a Transform type to decode numbers into Dates using the Value submodule.
```typescript
import { Value } from '@sinclair/typebox/value'
import { Value } from '@alkdev/typebox/value'
const T = Type.Transform(Type.Number())
.Decode(value => new Date(value)) // decode: number to Date
@@ -953,7 +948,7 @@ const E = Value.Encode(T, D) // const E = 0
```
Use the StaticEncode or StaticDecode types to infer a Transform type.
```typescript
import { Static, StaticDecode, StaticEncode } from '@sinclair/typebox'
import { Static, StaticDecode, StaticEncode } from '@alkdev/typebox'
const T = Type.Transform(Type.Array(Type.Number(), { uniqueItems: true }))
.Decode(value => new Set(value))
@@ -1005,7 +1000,7 @@ type S = Static<typeof T> // type S = 'A' | 'B' | 'C'
TypeBox can check its own types with the TypeGuard module. This module is written for type introspection and provides structural tests for every built-in TypeBox type. Functions of this module return `is` guards which can be used with control flow assertions to obtain schema inference for unknown values. The following guards that the value `T` is TString.
```typescript
import { TypeGuard, Kind } from '@sinclair/typebox'
import { TypeGuard, Kind } from '@alkdev/typebox'
const T = { [Kind]: 'String', type: 'string' }
@@ -1022,7 +1017,7 @@ if(TypeGuard.IsString(T)) {
TypeBox provides an optional Value submodule that can be used to perform structural operations on JavaScript values. This submodule includes functionality to create, check and cast values from types as well as check equality, clone, diff and patch JavaScript values. This submodule is provided via optional import.
```typescript
import { Value } from '@sinclair/typebox/value'
import { Value } from '@alkdev/typebox/value'
```
<a name='values-assert'></a>
@@ -1296,7 +1291,7 @@ const R2 = A.x === X // const R2 = true
Use ValuePointer to perform mutable updates on existing values using [RFC6901](https://www.rfc-editor.org/rfc/rfc6901) Json Pointers.
```typescript
import { ValuePointer } from '@sinclair/typebox/value'
import { ValuePointer } from '@alkdev/typebox/value'
const A = { x: 0, y: 0, z: 0 }
@@ -1316,7 +1311,7 @@ TypeBox provides experimental support for parsing TypeScript annotation syntax i
This feature is provided via optional import.
```typescript
import { Syntax } from '@sinclair/typebox/syntax'
import { Syntax } from '@alkdev/typebox/syntax'
```
<a name='syntax-create'></a>
@@ -1403,7 +1398,7 @@ const T = Syntax(`number`, { minimum: 42 }) // const T = {
Syntax parsing is an expensive type level operation and can impact on language service performance. Use the NoInfer function parse syntax at runtime only.
```typescript
import { NoInfer } from '@sinclair/typebox/syntax'
import { NoInfer } from '@alkdev/typebox/syntax'
const T = NoInfer(`number | string`) // const T: TSchema = {
// anyOf: [
@@ -1426,7 +1421,7 @@ The TypeBox type system can be extended with additional types and formats using
Use the TypeRegistry to register a type. The Kind must match the registered type name.
```typescript
import { TSchema, Kind, TypeRegistry } from '@sinclair/typebox'
import { TSchema, Kind, TypeRegistry } from '@alkdev/typebox'
TypeRegistry.Set('Foo', (schema, value) => value === 'foo')
@@ -1444,7 +1439,7 @@ const B = Value.Check(Foo, 'bar') // const B = false
Use the FormatRegistry to register a string format.
```typescript
import { FormatRegistry } from '@sinclair/typebox'
import { FormatRegistry } from '@alkdev/typebox'
FormatRegistry.Set('foo', (value) => value === 'foo')
@@ -1474,7 +1469,7 @@ $ npm install ajv ajv-formats --save
```
```typescript
import { Type } from '@sinclair/typebox'
import { Type } from '@alkdev/typebox'
import addFormats from 'ajv-formats'
import Ajv from 'ajv'
@@ -1513,7 +1508,7 @@ The TypeBox TypeCompiler is a high performance JIT validation compiler that tran
The TypeCompiler is provided as an optional import.
```typescript
import { TypeCompiler } from '@sinclair/typebox/compiler'
import { TypeCompiler } from '@alkdev/typebox/compiler'
```
Use the Compile function to JIT compile a type. Note that compilation is generally an expensive operation and should only be performed once per type during application start up. TypeBox does not cache previously compiled types, and applications are expected to hold references to each compiled type for the lifetime of the application.
@@ -1580,7 +1575,7 @@ const C = TypeCompiler.Code(Type.String()) // const C = `return functi
TypeBox offers an external package for bidirectional mapping between TypeBox, Valibot, and Zod type libraries. It also includes syntax parsing support for Valibot and Zod and supports the Standard Schema specification. For more details on TypeMap, refer to the project repository.
[TypeMap Repository](https://github.com/sinclairzx81/typemap)
[TypeMap Repository](https://git.alk.dev/alkdev/typebox)
<a name='typemap-usage'></a>
@@ -1627,7 +1622,7 @@ TypeBox validates using standard Json Schema assertion policies by default. The
The following overrides are available.
```typescript
import { TypeSystemPolicy } from '@sinclair/typebox/system'
import { TypeSystemPolicy } from '@alkdev/typebox/system'
// Disallow undefined values for optional properties (default is false)
//
@@ -1664,7 +1659,7 @@ The following example shows an inline error function that intercepts errors for
```typescript
import { SetErrorFunction, DefaultErrorFunction, ValueErrorType } from '@sinclair/typebox/errors'
import { SetErrorFunction, DefaultErrorFunction, ValueErrorType } from '@alkdev/typebox/errors'
SetErrorFunction((error) => { // i18n override
switch(error.errorType) {
@@ -1707,7 +1702,7 @@ const E = [...Value.Errors(T, { // const E = [{
TypeBox offers a web based code generation tool that can convert TypeScript types into TypeBox types as well as several other ecosystem libraries.
[TypeBox Workbench Link Here](https://sinclairzx81.github.io/typebox-workbench/)
[TypeBox Workbench Link Here](https://git.alk.dev/alkdev/typebox/)
<a name='codegen'></a>
@@ -1715,7 +1710,7 @@ TypeBox offers a web based code generation tool that can convert TypeScript type
TypeBox provides a code generation library that can be integrated into toolchains to automate type translation between TypeScript and TypeBox. This library also includes functionality to transform TypeScript types to other ecosystem libraries.
[TypeBox Codegen Link Here](https://github.com/sinclairzx81/typebox-codegen)
[TypeBox Codegen Link Here](https://git.alk.dev/alkdev/typebox-codegen)
<a name='ecosystem'></a>

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/compiler
@alkdev/typebox/compiler
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/compiler
@alkdev/typebox/compiler
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/errors
@alkdev/typebox/errors
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/system
@alkdev/typebox/system
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/errors
@alkdev/typebox/errors
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox
@alkdev/typebox
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/syntax
@alkdev/typebox/syntax
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/syntax
@alkdev/typebox/syntax
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/syntax
@alkdev/typebox/syntax
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/syntax
@alkdev/typebox/syntax
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/system
@alkdev/typebox/system
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/system
@alkdev/typebox/system
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/system
@alkdev/typebox/system
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

View File

@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------
@sinclair/typebox/type
@alkdev/typebox/type
The MIT License (MIT)

Some files were not shown because too many files have changed in this diff Show More