# Variable: work

```ts
const work: object & Typed<{
  cover?: {
     hash: string;
     key?: string;
     mime: string;
     name?: string;
     salt?: string;
     size: number;
  };
  creators?: readonly string[];
  ids?: {
     imdb?: string;
     isbn?: string;
     mbid?: string;
     wikidata?: string;
  };
  kind: "other" | "album" | "book" | "film" | "show" | "game" | "podcast";
  title: string;
  year?: number;
}>;
```

Defined in: [packages/core/src/schemas/library/life.ts:192](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/life.ts#L192)

A book, film, show, album or game, known by its ids. Progress is `about` it.

## Type Declaration

### description

```ts
readonly description: "A book, film, show, album or game." = 'A book, film, show, album or game.';
```

### name

```ts
readonly name: "std.work" = 'std.work';
```

### schema

```ts
readonly schema: object;
```

#### schema.properties

```ts
readonly properties: object;
```

#### schema.properties.cover

```ts
readonly cover: object & object;
```

##### Type Declaration

###### properties

```ts
properties: object;
```

###### properties.hash

```ts
hash: object;
```

###### properties.hash.maxLength

```ts
maxLength: number = 64;
```

###### properties.hash.minLength

```ts
minLength: number = 64;
```

###### properties.hash.type

```ts
type: "string";
```

###### properties.key

```ts
key: object;
```

###### properties.key.maxLength

```ts
maxLength: number = 22;
```

###### properties.key.minLength

```ts
minLength: number = 22;
```

###### properties.key.type

```ts
type: "string";
```

###### properties.mime

```ts
mime: object;
```

###### properties.mime.maxLength

```ts
maxLength: number = max;
```

###### properties.mime.minLength?

```ts
minLength?: number = min;
```

###### properties.mime.type

```ts
type: "string";
```

###### properties.name

```ts
name: object;
```

###### properties.name.maxLength

```ts
maxLength: number = max;
```

###### properties.name.minLength?

```ts
minLength?: number = min;
```

###### properties.name.type

```ts
type: "string";
```

###### properties.salt

```ts
salt: object;
```

###### properties.salt.maxLength

```ts
maxLength: number = 22;
```

###### properties.salt.minLength

```ts
minLength: number = 22;
```

###### properties.salt.type

```ts
type: "string";
```

###### properties.size

```ts
size: object;
```

###### properties.size.minimum

```ts
minimum: number = 0;
```

###### properties.size.type

```ts
type: "integer";
```

###### required

```ts
required: readonly ["hash", "size", "mime"];
```

###### type

```ts
type: "object";
```

###### x-kind

```ts
readonly "x-kind": "file";
```

#### schema.properties.creators

```ts
readonly creators: object;
```

#### schema.properties.creators.items

```ts
readonly items: object;
```

#### schema.properties.creators.items.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.creators.items.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.creators.items.type

```ts
type: "string";
```

#### schema.properties.creators.maxItems

```ts
readonly maxItems: 20 = 20;
```

#### schema.properties.creators.type

```ts
readonly type: "array" = 'array';
```

#### schema.properties.ids

```ts
readonly ids: object;
```

#### schema.properties.ids.properties

```ts
readonly properties: object;
```

#### schema.properties.ids.properties.imdb

```ts
readonly imdb: object;
```

#### schema.properties.ids.properties.imdb.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.ids.properties.imdb.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.ids.properties.imdb.type

```ts
type: "string";
```

#### schema.properties.ids.properties.isbn

```ts
readonly isbn: object;
```

#### schema.properties.ids.properties.isbn.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.ids.properties.isbn.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.ids.properties.isbn.type

```ts
type: "string";
```

#### schema.properties.ids.properties.mbid

```ts
readonly mbid: object;
```

#### schema.properties.ids.properties.mbid.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.ids.properties.mbid.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.ids.properties.mbid.type

```ts
type: "string";
```

#### schema.properties.ids.properties.wikidata

```ts
readonly wikidata: object;
```

#### schema.properties.ids.properties.wikidata.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.ids.properties.wikidata.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.ids.properties.wikidata.type

```ts
type: "string";
```

#### schema.properties.ids.type

```ts
readonly type: "object" = 'object';
```

#### schema.properties.kind

```ts
readonly kind: object;
```

#### schema.properties.kind.enum

```ts
enum: ("other" | "album" | "book" | "film" | "show" | "game" | "podcast")[];
```

#### schema.properties.title

```ts
readonly title: object;
```

#### schema.properties.title.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.title.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.title.type

```ts
type: "string";
```

#### schema.properties.year

```ts
readonly year: object;
```

#### schema.properties.year.maximum?

```ts
maximum?: number = max;
```

#### schema.properties.year.minimum

```ts
minimum: number = min;
```

#### schema.properties.year.type

```ts
type: "integer";
```

#### schema.required

```ts
readonly required: readonly ["kind", "title"];
```

#### schema.type

```ts
readonly type: "object" = 'object';
```

### title

```ts
readonly title: "Work" = 'Work';
```
