# core/validators/figure.validator.ts

> 12 lines of code and 2 definitions.

Tree: GovLab Docs
Language: typescript
Layer: processing
Canonical: https://banes-lab.com/anatomy/docs#file-docs-core-validators-figure-validator-ts
Source text: https://banes-lab.com/source/docs/core/validators/figure.validator.ts.txt

Listed in [core/validators](https://banes-lab.com/api/source/docs/core/validators.md), after [core/validators/document.validator.ts](https://banes-lab.com/source/docs/core/validators/document.validator.ts.md) and before [core/validators/filename.validator.ts](https://banes-lab.com/source/docs/core/validators/filename.validator.ts.md).

## Definitions

- `staleChartsMessages` (lexical_declaration, line 7, exported)
- `charts` (lexical_declaration, line 8, exported)

## Contained in

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

## Uses

- [configuration/strings/package.strings.ts](https://banes-lab.com/source/docs/configuration/strings/package.strings.ts.md)

## Used by

- [core/coordinators/document.coordinator.ts](https://banes-lab.com/source/docs/core/coordinators/document.coordinator.ts.md)

## Linked from

- [configuration/strings](https://banes-lab.com/anatomy/docs/folder-docs-configuration-strings.md)
- [core/coordinators](https://banes-lab.com/anatomy/docs/folder-docs-core-coordinators.md)

## Source

```typescript
import type { ManifestModule } from "#types/manifest.types";
import { chartsStale } from "#configuration/strings/package.strings";
import { existsSync } from "node:fs";
import { relativePath } from "@ssot/paths";
import { resolve } from "node:path";

export const staleChartsMessages = function staleChartsMessages(module: ManifestModule, hasCharts: boolean): string[] {
    const charts = relativePath("moduleInfo.charts");
    if (hasCharts || !existsSync(resolve(module.dir, charts))) {
        return [];
    }
    return [chartsStale([module.label, charts].join("/"))];
};
```
