# core/factories/pattern.factory.ts

> 7 lines of code and 2 definitions.

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

Listed in [core/factories](https://banes-lab.com/api/source/patterns/core/factories.md), after [core/factories/operation.factory.ts](https://banes-lab.com/source/patterns/core/factories/operation.factory.ts.md) and before [core/factories/record.factory.ts](https://banes-lab.com/source/patterns/core/factories/record.factory.ts.md).

## Definitions

- `createGovlabPatterns` (lexical_declaration, line 5, exported)
- `built` (lexical_declaration, line 6, exported)

## Contained in

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

## Source

```typescript
import type { GovlabPatterns, GovlabPatternsOptions } from "#types/pattern.types";
import { foldFaces, registeredFaces } from "#core/registries/pattern.registry";
import { NOOP_LOGGER } from "#core/reporters/pattern.reporter";

export const createGovlabPatterns = function createGovlabPatterns(options: GovlabPatternsOptions = {}): GovlabPatterns {
    const built = foldFaces(registeredFaces(), { logger: options.logger ?? NOOP_LOGGER });
    return Object.freeze({ faces: Object.freeze([...built.keys()]) });
};
```
