# types/schema.types.ts

> 10 lines of code and 3 definitions.

Tree: GovLab Patterns
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/patterns#file-patterns-types-schema-types-ts
Source text: https://banes-lab.com/source/patterns/types/schema.types.ts.txt

Listed in [types](https://banes-lab.com/api/source/patterns/types.md), after [types/representation.types.ts](https://banes-lab.com/source/patterns/types/representation.types.ts.md) and before [types/seed.types.ts](https://banes-lab.com/source/patterns/types/seed.types.ts.md).

## Definitions

- `Kind` (type_alias_declaration, line 1, exported)
- `Primitive` (type_alias_declaration, line 3, exported)
- `FieldSchema` (interface_declaration, line 5, exported)

## Contained in

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

## Source

```typescript
export type Kind = "list-of-objects" | "list" | "object" | "scalar";

export type Primitive = "boolean" | "float" | "integer" | "string";

export interface FieldSchema {
    name: string;
    kind: Kind;
    primitive: Primitive | null;
    nullable: boolean;
    elementNumeric: boolean;
    fixedLength: number | null;
}
```
