# types/schema.types.ts

> 9 lines of code and 2 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-types-schema-types-ts
Source text: https://banes-lab.com/source/build-scripts/types/schema.types.ts.txt

Listed in [types](https://banes-lab.com/api/source/build-scripts/types.md), after [types/route.types.ts](https://banes-lab.com/source/build-scripts/types/route.types.ts.md) and before [types/search.types.ts](https://banes-lab.com/source/build-scripts/types/search.types.ts.md).

## Definitions

- `JsonSchema` (interface_declaration, line 3, exported)
- `KindSamples` (type_alias_declaration, line 11, exported)

## Contained in

- [types](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-types.md)

## Source

```typescript
import type { GrammarKind } from "#types/catalog.types";

export interface JsonSchema {
    readonly additionalProperties?: JsonSchema;
    readonly items?: JsonSchema;
    readonly properties?: Readonly<Record<string, JsonSchema>>;
    readonly required?: readonly string[];
    readonly type?: string | readonly string[];
}

export type KindSamples = ReadonlyMap<GrammarKind, readonly unknown[]>;
```
