# Variable: recipe

```ts
const recipe: object & Typed<{
  cookMinutes?: number;
  description?: string;
  image?: {
     alt?: string;
     blob: {
        hash: string;
        key?: string;
        mime: string;
        name?: string;
        salt?: string;
        size: number;
     };
  };
  ingredients?: readonly object[];
  prepMinutes?: number;
  servings?: number;
  source?: string;
  steps?: readonly string[];
  title: string;
}>;
```

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

A recipe, after schema.org's.

## Type Declaration

### description

```ts
readonly description: "A recipe: ingredients and steps." = 'A recipe: ingredients and steps.';
```

### name

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

### schema

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

#### schema.properties

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

#### schema.properties.cookMinutes

```ts
readonly cookMinutes: object;
```

#### schema.properties.cookMinutes.maximum?

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

#### schema.properties.cookMinutes.minimum

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

#### schema.properties.cookMinutes.type

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

#### schema.properties.description

```ts
readonly description: object;
```

#### schema.properties.description.maxLength

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

#### schema.properties.description.minLength?

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

#### schema.properties.description.type

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

#### schema.properties.image

```ts
readonly image: object & object;
```

##### Type Declaration

###### properties

```ts
properties: object;
```

###### properties.alt

```ts
alt: object;
```

###### properties.alt.maxLength

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

###### properties.alt.minLength?

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

###### properties.alt.type

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

###### properties.blob

```ts
blob: object & object;
```

###### Type Declaration

###### properties

```ts
properties: object;
```

###### properties.hash

```ts
hash: object;
```

###### properties.hash.maxLength

```ts
maxLength: ... = 64;
```

###### properties.hash.minLength

```ts
minLength: ... = 64;
```

###### properties.hash.type

```ts
type: ...;
```

###### properties.key

```ts
key: object;
```

###### properties.key.maxLength

```ts
maxLength: ... = 22;
```

###### properties.key.minLength

```ts
minLength: ... = 22;
```

###### properties.key.type

```ts
type: ...;
```

###### properties.mime

```ts
mime: object;
```

###### properties.mime.maxLength

```ts
maxLength: ... = max;
```

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

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

###### properties.mime.type

```ts
type: ...;
```

###### properties.name

```ts
name: object;
```

###### properties.name.maxLength

```ts
maxLength: ... = max;
```

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

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

###### properties.name.type

```ts
type: ...;
```

###### properties.salt

```ts
salt: object;
```

###### properties.salt.maxLength

```ts
maxLength: ... = 22;
```

###### properties.salt.minLength

```ts
minLength: ... = 22;
```

###### properties.salt.type

```ts
type: ...;
```

###### properties.size

```ts
size: object;
```

###### properties.size.minimum

```ts
minimum: ... = 0;
```

###### properties.size.type

```ts
type: ...;
```

###### required

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

###### type

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

###### x-kind

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

###### required

```ts
required: readonly ["blob"];
```

###### type

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

###### x-kind

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

#### schema.properties.ingredients

```ts
readonly ingredients: object;
```

#### schema.properties.ingredients.items

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

#### schema.properties.ingredients.items.properties

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

#### schema.properties.ingredients.items.properties.quantity

```ts
readonly quantity: object;
```

#### schema.properties.ingredients.items.properties.quantity.minimum

```ts
readonly minimum: 0 = 0;
```

#### schema.properties.ingredients.items.properties.quantity.type

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

#### schema.properties.ingredients.items.properties.text

```ts
readonly text: object;
```

#### schema.properties.ingredients.items.properties.text.maxLength

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

#### schema.properties.ingredients.items.properties.text.minLength?

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

#### schema.properties.ingredients.items.properties.text.type

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

#### schema.properties.ingredients.items.properties.unit

```ts
readonly unit: object;
```

#### schema.properties.ingredients.items.properties.unit.maxLength

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

#### schema.properties.ingredients.items.properties.unit.minLength?

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

#### schema.properties.ingredients.items.properties.unit.type

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

#### schema.properties.ingredients.items.required

```ts
readonly required: readonly ["text"];
```

#### schema.properties.ingredients.items.type

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

#### schema.properties.ingredients.maxItems

```ts
readonly maxItems: 200 = 200;
```

#### schema.properties.ingredients.type

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

#### schema.properties.prepMinutes

```ts
readonly prepMinutes: object;
```

#### schema.properties.prepMinutes.maximum?

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

#### schema.properties.prepMinutes.minimum

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

#### schema.properties.prepMinutes.type

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

#### schema.properties.servings

```ts
readonly servings: object;
```

#### schema.properties.servings.maximum?

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

#### schema.properties.servings.minimum

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

#### schema.properties.servings.type

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

#### schema.properties.source

```ts
readonly source: object & object;
```

##### Type Declaration

###### maxLength

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

###### minLength?

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

###### type

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

###### x-kind

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

#### schema.properties.steps

```ts
readonly steps: object;
```

#### schema.properties.steps.items

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

#### schema.properties.steps.items.maxLength

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

#### schema.properties.steps.items.minLength?

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

#### schema.properties.steps.items.type

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

#### schema.properties.steps.maxItems

```ts
readonly maxItems: 200 = 200;
```

#### schema.properties.steps.type

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

#### 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.required

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

#### schema.type

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

### title

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