# core/factories/card.factory.ts

> 14 lines of code and 1 definition.

Tree: Bane's Lab Social Share
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/social-share#file-social-share-core-factories-card-factory-ts
Source text: https://banes-lab.com/source/social-share/core/factories/card.factory.ts.txt

Listed in [core/factories](https://banes-lab.com/api/source/social-share/core/factories.md), before [core/factories/field.factory.ts](https://banes-lab.com/source/social-share/core/factories/field.factory.ts.md).

## Definitions

- `createCard` (lexical_declaration, line 4, exported)

## Contained in

- [core/factories](https://banes-lab.com/anatomy/social-share/folder-social-share-core-factories.md)

## Used by

- [core/factories/page.factory.ts](https://banes-lab.com/source/social-share/core/factories/page.factory.ts.md)

## Linked from

- [core/factories](https://banes-lab.com/anatomy/social-share/folder-social-share-core-factories.md)

## Source

```typescript
import type { CardInput, CardSpec } from "#types/card.types";
import { DEFAULT_TIMELINE, PROFILES } from "#configuration/configs/card.config";

export const createCard = function createCard(input: CardInput): CardSpec {
    return {
        alt: input.alt,
        id: input.id,
        layers: input.layers,
        page: input.page,
        profiles: input.profiles ?? PROFILES.map((profile) => profile.id),
        stylesheet: input.stylesheet,
        timeline: { ...DEFAULT_TIMELINE, ...input.timeline },
        tone: input.tone,
    };
};
```
