# @flatfile/hooks

> ### FlatfileRecord

Latest version **1.6.0** (published 2024-12-06) · ISC license · 0 weekly downloads

## Install

```sh
npm install @flatfile/hooks
pnpm add @flatfile/hooks
yarn add @flatfile/hooks
bun add @flatfile/hooks
```

## Health

**Score 40/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.6.0 |
| Published | 2024-12-06 |
| First published | 2021-12-13 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 25.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | sarocu, dboskovic, nate.ferrero, jmmander, madmandrit, bangarang, carlbrugger, flatfileinfra, flatderek, bigcountrycrane, flatfilecolin, alnoor, rjhyde, sambarrowclough, meritmalling, mmccooyyy |

## Links

- npm: https://www.npmjs.com/package/@flatfile/hooks
- Repository: https://github.com/FlatFilers/platform-sdk-mono
- Homepage: https://github.com/FlatFilers/platform-sdk-mono#readme
- Issues: https://github.com/FlatFilers/platform-sdk-mono/issues
- npm.io page: https://npm.io/package/@flatfile/hooks

## Recent versions

- 1.6.0 (latest) — 2024-12-06
- 1.5.1 — 2024-11-17
- 1.5.0 — 2024-05-22
- 1.4.0 — 2024-04-13
- 1.3.2 — 2023-08-01
- 1.3.1 — 2023-06-15
- 1.3.0 — 2023-05-01
- 1.2.4 — 2023-04-04
- 1.2.3 — 2023-01-24
- 1.2.2 — 2023-01-19
- 1.2.1 — 2022-12-09
- 1.2.0 — 2022-07-19
- 1.1.0 — 2022-07-07
- 1.0.1 — 2022-01-20
- 1.0.0 — 2021-12-13

## README

# @flatfile/hooks

### FlatfileRecord

The `FlatfileRecord` class represents a record with methods for manipulating and retrieving field values, metadata, and handling record information such as errors, warnings, and comments. Overall, it provides a convenient way to work with individual records of data and perform operations on them.

- FlatfileRecord has various getter and setter methods for accessing and modifying the record's data.
- It also provides methods for adding information, comments, errors, and warnings to the record.
- The compute, computeIfPresent, and validate methods perform computations and validations on specific fields of the record.
- The toJSON method returns a JSON representation of the record with associated information.

### FlatfileRecords

The `FlatfileRecords` class represents a collection of `FlatfileRecord` instances. It takes an array of raw records (IRawRecord) as input and creates an array of `FlatfileRecord` objects by mapping each raw record to a `FlatfileRecord` instance. The `FlatfileRecords` class provides a records property to access the array of records and a toJSON method that converts the collection of records to JSON format by calling the toJSON method on each individual `FlatfileRecord`.

### FlatfileSession

The `FlatfileSession` class encapsulates an instance of the IPayload interface. It has various getter methods that allow accessing different properties of the payload.

- workspaceId: Retrieves the workspace ID from the payload.
- workbookId: Retrieves the workbook ID from the payload.
- schemaId: Retrieves the schema ID from the payload.
- schemaSlug: Retrieves the schema slug from the payload.
- uploads: Retrieves the uploads array from the payload.
- endUser: Retrieves the endUser object from the payload.
- rows: Retrieves the rows array from the payload.
- env: Retrieves the env object from the payload.
- envSignature: Retrieves the envSignature value from the payload.

By creating an instance of the `FlatfileSession` class with a payload, you can conveniently access the payload properties using the provided getter methods.

### Get started

`FlatfileRecord` is now folded into the [@flatfile/plugin-record-hook](https://flatfile.com/docs/plugins/transform/record-hook) and most commonly used there.

---
_Source: https://npm.io/package/@flatfile/hooks · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
