arktype

A

arktype

This is a friendly space centered around ArkType, TypeScript's 1:1 validator (https://github.com/arktypeio/arktype)

Join

Context-sensitive validation / validation with parameters

```ts interface Thing { bars: string[]; foo: { baz: { bar: string }[]; }[]; }...

Validate string is URL

What would be the easiest way to validate that the url in here is an actual valid url? ```ts const button = type({ label: "2<=string<=32", url: "2<=string<=512",...

How to validate that a value is an instance of a class

Is there a way (yet) to validate that a value is an instance of a class? I know this doesn't work, but maybe it'll convey the idea: ```typescript class SomeClass {}...

Record type?

Hello! Is there a way to create a Record type?

Array/Object keys to type?

So I got this object: ```ts export const supportedLanguages: { afr: Language; ara: Language;...

Signup form validation

I'm building a sign up form that looks like this: ```ts const schema = type({ email: 'email', password: 'string>1',...

Nesting ArkTypes within a regex

Is there a way to put ArkType types within a regex? As an example
const x = type("0<string<3");
const y = type("0<number<10");
const z = type("/x y/");
const x = type("0<string<3");
const y = type("0<number<10");
const z = type("/x y/");
where for z something like hi 3 would be valid, but not hi 13 or hello 5 -- i.e. to be valid, the value passed into z has to be a string of length 1 or 2, followed by a space, followed by a number 1-9 (inclusive))...

Custom type-making functions

I want to make a chainable that can create types the same way type does How do I implement that? ```ts thing // Thing<never, never> .input('number%1>0') // Thing<number, never>...

Syntax Overview

Someone was asking for an overview of available syntax. I ended up coming this and figured it would be useful to post it here. It doesn't include everything (notably most tuple expressions and scopes), but it's a good place to start: ```ts...
No description

How to access current scope types with `type()` / `morph()` / `narrow()` / `arrayOf()` inside scope?

How to access current scope types with type() / morph() / narrow() / arrayOf() inside scope? ```ts const $ = scope({ blah: "1 < number < 10", blahArray: () => $.type("blah[]")...