diff --git a/website/src/routes/api/(types)/BaseSchemaAsync/index.mdx b/website/src/routes/api/(types)/BaseSchemaAsync/index.mdx new file mode 100644 index 000000000..0c937bd2d --- /dev/null +++ b/website/src/routes/api/(types)/BaseSchemaAsync/index.mdx @@ -0,0 +1,21 @@ +--- +title: BaseSchemaAsync +description: Base schema async type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# BaseSchemaAsync + +Base schema async type. + +## Definition + +- `BaseSchemaAsync` + - `async` + - `_parse` {/* prettier-ignore */} + - `_types` {/* prettier-ignore */} diff --git a/website/src/routes/api/(types)/BaseSchemaAsync/properties.ts b/website/src/routes/api/(types)/BaseSchemaAsync/properties.ts new file mode 100644 index 000000000..bb2a96230 --- /dev/null +++ b/website/src/routes/api/(types)/BaseSchemaAsync/properties.ts @@ -0,0 +1,87 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + BaseSchemaAsync: { + type: { + type: 'custom', + name: 'Object', + generics: [ + { + type: 'custom', + name: 'TInput', + default: 'any', + }, + { + type: 'custom', + name: 'TOutput', + default: { + type: 'custom', + name: 'TInput', + }, + }, + ], + }, + }, + async: { + type: { + type: 'boolean', + value: true, + }, + }, + _parse: { + type: { + type: 'function', + params: [ + { + name: 'input', + type: 'unknown', + }, + { + name: 'info', + optional: true, + type: { + type: 'custom', + name: 'ParseInfo', + href: '../ParseInfo/', + }, + }, + ], + return: { + type: 'custom', + name: 'Promise', + generics: [ + { + type: 'custom', + name: 'SchemaResult', + href: '../SchemaResult/', + generics: [{ type: 'custom', name: 'TOutput' }], + }, + ], + }, + }, + }, + _types: { + type: [ + { + type: 'object', + entries: [ + { + key: 'input', + value: { + type: 'custom', + name: 'TInput', + }, + }, + { + key: 'output', + value: { + type: 'custom', + name: 'TOutput', + }, + }, + ], + }, + 'undefined', + ], + }, +}; diff --git a/website/src/routes/api/(types)/EntriesInput/index.mdx b/website/src/routes/api/(types)/EntriesInput/index.mdx new file mode 100644 index 000000000..5effd2718 --- /dev/null +++ b/website/src/routes/api/(types)/EntriesInput/index.mdx @@ -0,0 +1,22 @@ +--- +title: EntriesInput +description: Entries input type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# EntriesInput + +Entries input type. + +## Generics + +- `TEntries` + +## Definition + +- `EntriesInput` diff --git a/website/src/routes/api/(types)/EntriesInput/properties.ts b/website/src/routes/api/(types)/EntriesInput/properties.ts new file mode 100644 index 000000000..8b109786b --- /dev/null +++ b/website/src/routes/api/(types)/EntriesInput/properties.ts @@ -0,0 +1,52 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + TEntries: { + type: [ + { + type: 'custom', + name: 'ObjectEntries', + href: '../ObjectEntries/', + }, + { + type: 'custom', + name: 'ObjectEntriesAsync', + href: '../ObjectEntriesAsync/', + }, + ], + }, + EntriesInput: { + type: { + type: 'object', + entries: [ + { + key: { + name: 'TKey', + type: { + type: 'custom', + modifier: 'keyof', + name: 'TEntries', + }, + }, + value: { + type: 'custom', + name: 'Input', + href: '../Input/', + generics: [ + { + type: 'custom', + name: 'TEntries', + indexes: [ + { + type: 'custom', + name: 'TKey', + }, + ], + }, + ], + }, + }, + ], + }, + }, +}; diff --git a/website/src/routes/api/(types)/EntriesOutput/index.mdx b/website/src/routes/api/(types)/EntriesOutput/index.mdx new file mode 100644 index 000000000..143d12681 --- /dev/null +++ b/website/src/routes/api/(types)/EntriesOutput/index.mdx @@ -0,0 +1,22 @@ +--- +title: EntriesOutput +description: Entries output type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# EntriesOutput + +Entries output type. + +## Generics + +- `TEntries` + +## Definition + +- `EntriesOutput` diff --git a/website/src/routes/api/(types)/EntriesOutput/properties.ts b/website/src/routes/api/(types)/EntriesOutput/properties.ts new file mode 100644 index 000000000..b50d0ba00 --- /dev/null +++ b/website/src/routes/api/(types)/EntriesOutput/properties.ts @@ -0,0 +1,52 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + TEntries: { + type: [ + { + type: 'custom', + name: 'ObjectEntries', + href: '../ObjectEntries/', + }, + { + type: 'custom', + name: 'ObjectEntriesAsync', + href: '../ObjectEntriesAsync/', + }, + ], + }, + EntriesOutput: { + type: { + type: 'object', + entries: [ + { + key: { + name: 'TKey', + type: { + type: 'custom', + modifier: 'keyof', + name: 'TEntries', + }, + }, + value: { + type: 'custom', + name: 'Output', + href: '../Output/', + generics: [ + { + type: 'custom', + name: 'TEntries', + indexes: [ + { + type: 'custom', + name: 'TKey', + }, + ], + }, + ], + }, + }, + ], + }, + }, +}; diff --git a/website/src/routes/api/(types)/ObjectEntries/index.mdx b/website/src/routes/api/(types)/ObjectEntries/index.mdx new file mode 100644 index 000000000..70144b32a --- /dev/null +++ b/website/src/routes/api/(types)/ObjectEntries/index.mdx @@ -0,0 +1,18 @@ +--- +title: ObjectEntries +description: Object entries type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# ObjectEntries + +Object entries type. + +## Definition + +- `ObjectEntries` diff --git a/website/src/routes/api/(types)/ObjectEntries/properties.ts b/website/src/routes/api/(types)/ObjectEntries/properties.ts new file mode 100644 index 000000000..b801d123d --- /dev/null +++ b/website/src/routes/api/(types)/ObjectEntries/properties.ts @@ -0,0 +1,18 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + ObjectEntries: { + type: { + type: 'custom', + name: 'Record', + generics: [ + 'string', + { + type: 'custom', + name: 'BaseSchema', + href: '../BaseSchema/', + }, + ], + }, + }, +}; diff --git a/website/src/routes/api/(types)/ObjectEntriesAsync/index.mdx b/website/src/routes/api/(types)/ObjectEntriesAsync/index.mdx new file mode 100644 index 000000000..d39449bad --- /dev/null +++ b/website/src/routes/api/(types)/ObjectEntriesAsync/index.mdx @@ -0,0 +1,18 @@ +--- +title: ObjectEntriesAsync +description: Object entries async type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# ObjectEntriesAsync + +Object entries async type. + +## Definition + +- `ObjectEntriesAsync` diff --git a/website/src/routes/api/(types)/ObjectEntriesAsync/properties.ts b/website/src/routes/api/(types)/ObjectEntriesAsync/properties.ts new file mode 100644 index 000000000..f191a92cd --- /dev/null +++ b/website/src/routes/api/(types)/ObjectEntriesAsync/properties.ts @@ -0,0 +1,25 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + ObjectEntriesAsync: { + type: { + type: 'custom', + name: 'Record', + generics: [ + 'string', + [ + { + type: 'custom', + name: 'BaseSchema', + href: '../BaseSchema/', + }, + { + type: 'custom', + name: 'BaseSchemaAsync', + href: '../BaseSchemaAsync/', + }, + ], + ], + }, + }, +}; diff --git a/website/src/routes/api/(types)/ObjectOutput/index.mdx b/website/src/routes/api/(types)/ObjectOutput/index.mdx new file mode 100644 index 000000000..99d56d5e1 --- /dev/null +++ b/website/src/routes/api/(types)/ObjectOutput/index.mdx @@ -0,0 +1,23 @@ +--- +title: ObjectOutput +description: Object output type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# ObjectOutput + +Object output type. + +## Generics + +- `TEntries` +- `TRest` + +## Definition + +- `ObjectOutput` diff --git a/website/src/routes/api/(types)/ObjectOutput/properties.ts b/website/src/routes/api/(types)/ObjectOutput/properties.ts new file mode 100644 index 000000000..3126cfb68 --- /dev/null +++ b/website/src/routes/api/(types)/ObjectOutput/properties.ts @@ -0,0 +1,119 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + TEntries: { + type: [ + { + type: 'custom', + name: 'ObjectEntries', + href: '../ObjectEntries/', + }, + { + type: 'custom', + name: 'ObjectEntriesAsync', + href: '../ObjectEntriesAsync/', + }, + ], + }, + TRest: { + type: [ + { + type: 'custom', + name: 'BaseSchema', + href: '../BaseSchema/', + }, + { + type: 'custom', + name: 'BaseSchemaAsync', + href: '../BaseSchemaAsync/', + }, + 'undefined', + ], + }, + ObjectOutput: { + type: [ + { + type: 'custom', + name: 'ResolveObject', + href: '../ResolveObject/', + generics: [ + { + type: 'custom', + name: 'WithQuestionMarks', + href: '../WithQuestionMarks/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + { + type: 'custom', + name: 'EntriesOutput', + href: '../EntriesOutput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + ], + }, + ], + }, + [ + { + type: 'custom', + name: 'ResolveObject', + href: '../ResolveObject/', + generics: [ + { + type: 'custom', + name: 'WithQuestionMarks', + href: '../WithQuestionMarks/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + { + type: 'custom', + name: 'EntriesOutput', + href: '../EntriesOutput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + ], + }, + ], + }, + { + type: 'custom', + name: 'Record', + generics: [ + 'string', + { + type: 'custom', + name: 'Output', + href: '../Output/', + generics: [ + { + type: 'custom', + name: 'TRest', + }, + ], + }, + ], + }, + ], + { + type: 'custom', + name: 'never', + }, + ], + }, +}; diff --git a/website/src/routes/api/(types)/ObjectSchema/index.mdx b/website/src/routes/api/(types)/ObjectSchema/index.mdx new file mode 100644 index 000000000..a2d7684c0 --- /dev/null +++ b/website/src/routes/api/(types)/ObjectSchema/index.mdx @@ -0,0 +1,19 @@ +--- +title: AnySchema +description: Any schema type. +contributors: + - fabian-hiller +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# AnySchema + +Any schema type. + +## Definition + +- `AnySchema` + - `type` + - `pipe` diff --git a/website/src/routes/api/(types)/ObjectSchema/properties.ts b/website/src/routes/api/(types)/ObjectSchema/properties.ts new file mode 100644 index 000000000..311a98f67 --- /dev/null +++ b/website/src/routes/api/(types)/ObjectSchema/properties.ts @@ -0,0 +1,38 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + BaseSchema: { + type: [ + { + type: 'custom', + name: 'BaseSchema', + href: '../BaseSchema/', + generics: [ + 'any', + { + type: 'custom', + name: 'TOutput', + default: 'any', + }, + ], + }, + ], + }, + type: { + type: { + type: 'string', + value: 'any', + }, + }, + pipe: { + type: [ + { + type: 'custom', + name: 'Pipe', + href: '../Pipe/', + generics: ['any'], + }, + 'undefined', + ], + }, +}; diff --git a/website/src/routes/api/(types)/OptionalKeys/index.mdx b/website/src/routes/api/(types)/OptionalKeys/index.mdx new file mode 100644 index 000000000..9c5205cae --- /dev/null +++ b/website/src/routes/api/(types)/OptionalKeys/index.mdx @@ -0,0 +1,24 @@ +--- +title: OptionalKeys +description: Optional keys type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# OptionalKeys + +Optional keys type. + +## Generics + +- `TEntries` +- `TObject` + + +## Definition + +- `OptionalKeys` diff --git a/website/src/routes/api/(types)/OptionalKeys/properties.ts b/website/src/routes/api/(types)/OptionalKeys/properties.ts new file mode 100644 index 000000000..7ee6ac9da --- /dev/null +++ b/website/src/routes/api/(types)/OptionalKeys/properties.ts @@ -0,0 +1,76 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + TEntries: { + type: [ + { + type: 'custom', + name: 'ObjectEntries', + href: '../ObjectEntries/', + }, + { + type: 'custom', + name: 'ObjectEntriesAsync', + href: '../ObjectEntriesAsync/', + }, + ], + }, + TObject: { + type: [ + { + type: 'custom', + name: 'EntriesInput', + href: '../EntriesInput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + { + type: 'custom', + name: 'EntriesOutput', + href: '../EntriesOutput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + ], + }, + OptionalKeys: { + type: { + type: 'object', + index: { + type: 'custom', + modifier: 'keyof', + name: 'TEntries', + }, + entries: [ + { + key: { + name: 'TKey', + type: { + type: 'custom', + modifier: 'keyof', + name: 'TEntries', + }, + }, + value: [ + { + type: 'custom', + name: 'TKey', + }, + { + type: 'custom', + name: 'never', + }, + ], + }, + ], + }, + }, +}; diff --git a/website/src/routes/api/(types)/RequiredKeys/index.mdx b/website/src/routes/api/(types)/RequiredKeys/index.mdx new file mode 100644 index 000000000..799a0c8bc --- /dev/null +++ b/website/src/routes/api/(types)/RequiredKeys/index.mdx @@ -0,0 +1,24 @@ +--- +title: RequiredKeys +description: Required keys type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# RequiredKeys + +Required keys type. + +## Generics + +- `TEntries` +- `TObject` + + +## Definition + +- `RequiredKeys` diff --git a/website/src/routes/api/(types)/RequiredKeys/properties.ts b/website/src/routes/api/(types)/RequiredKeys/properties.ts new file mode 100644 index 000000000..5503c5caf --- /dev/null +++ b/website/src/routes/api/(types)/RequiredKeys/properties.ts @@ -0,0 +1,76 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + TEntries: { + type: [ + { + type: 'custom', + name: 'ObjectEntries', + href: '../ObjectEntries/', + }, + { + type: 'custom', + name: 'ObjectEntriesAsync', + href: '../ObjectEntriesAsync/', + }, + ], + }, + TObject: { + type: [ + { + type: 'custom', + name: 'EntriesInput', + href: '../EntriesInput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + { + type: 'custom', + name: 'EntriesOutput', + href: '../EntriesOutput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + ], + }, + RequiredKeys: { + type: { + type: 'object', + index: { + type: 'custom', + modifier: 'keyof', + name: 'TEntries', + }, + entries: [ + { + key: { + name: 'TKey', + type: { + type: 'custom', + modifier: 'keyof', + name: 'TEntries', + }, + }, + value: [ + { + type: 'custom', + name: 'TKey', + }, + { + type: 'custom', + name: 'never', + }, + ], + }, + ], + }, + }, +}; diff --git a/website/src/routes/api/(types)/ResolveObject/index.mdx b/website/src/routes/api/(types)/ResolveObject/index.mdx new file mode 100644 index 000000000..fc3dd5020 --- /dev/null +++ b/website/src/routes/api/(types)/ResolveObject/index.mdx @@ -0,0 +1,18 @@ +--- +title: ResolveObject +description: Resolve object type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# ResolveObject + +Resolve object type. + +## Definition + +- `ResolveObject` diff --git a/website/src/routes/api/(types)/ResolveObject/properties.ts b/website/src/routes/api/(types)/ResolveObject/properties.ts new file mode 100644 index 000000000..a266a32e2 --- /dev/null +++ b/website/src/routes/api/(types)/ResolveObject/properties.ts @@ -0,0 +1,31 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + ResolveObject: { + type: { + type: 'object', + entries: [ + { + key: { + name: 'k', + type: { + type: 'custom', + name: 'T', + modifier: 'keyof', + }, + }, + value: { + type: 'custom', + name: 'T', + indexes: [ + { + type: 'custom', + name: 'k', + }, + ], + }, + }, + ], + }, + }, +}; diff --git a/website/src/routes/api/(types)/WithQuestionMarks/index.mdx b/website/src/routes/api/(types)/WithQuestionMarks/index.mdx new file mode 100644 index 000000000..9405a3012 --- /dev/null +++ b/website/src/routes/api/(types)/WithQuestionMarks/index.mdx @@ -0,0 +1,18 @@ +--- +title: WithQuestionMarks +description: With Question Marks type. +contributors: + - fabian-hiller + - kazizi55 +--- + +import { Property } from '~/components'; +import { properties } from './properties'; + +# WithQuestionMarks + +With Question Marks type. + +## Definition + +- `WithQuestionMarks` diff --git a/website/src/routes/api/(types)/WithQuestionMarks/properties.ts b/website/src/routes/api/(types)/WithQuestionMarks/properties.ts new file mode 100644 index 000000000..55c2b42ff --- /dev/null +++ b/website/src/routes/api/(types)/WithQuestionMarks/properties.ts @@ -0,0 +1,88 @@ +import type { PropertyProps } from '~/components'; + +export const properties: Record = { + TEntries: { + type: [ + { + type: 'custom', + name: 'ObjectEntries', + href: '../ObjectEntries/', + }, + { + type: 'custom', + name: 'ObjectEntriesAsync', + href: '../ObjectEntriesAsync/', + }, + ], + }, + TObject: { + type: [ + { + type: 'custom', + name: 'EntriesInput', + href: '../EntriesInput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + { + type: 'custom', + name: 'EntriesOutput', + href: '../EntriesOutput/', + generics: [ + { + type: 'custom', + name: 'TEntries', + }, + ], + }, + ], + }, + WithQuestionMarks: { + type: [ + [ + { + type: 'custom', + name: 'Pick', + generics: [ + { type: 'custom', name: 'TObject' }, + { + type: 'custom', + name: 'RequiredKeys', + href: '../RequiredKeys/', + generics: [ + { type: 'custom', name: 'TEntries' }, + { type: 'custom', name: 'TObject' }, + ], + }, + ], + }, + { + type: 'custom', + name: 'Partial', + generics: [ + { + type: 'custom', + name: 'Pick', + generics: [ + { type: 'custom', name: 'TObject' }, + { + type: 'custom', + name: 'OptionalKeys', + href: '../OptionalKeys/', + generics: [ + { type: 'custom', name: 'TEntries' }, + { type: 'custom', name: 'TObject' }, + ], + }, + ], + }, + ], + }, + ], + ], + }, +};