Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@flatfile/plugin-record-hook

Package Overview
Dependencies
Maintainers
25
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@flatfile/plugin-record-hook

A plugin for writing custom record-level hooks in Flatfile.

  • 0.0.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
34K
increased by4.95%
Maintainers
25
Weekly downloads
 
Created
Source

Flatfile Record Hook Plugin

This plugin provides a concise syntax for running custom logic on individual data records in Flatfile.

Install & import

npm i @flatfile/plugin-record-hook @flatfile/hooks
import { recordHook } from '@flatfile/plugin-record-hook'
import type { FlatfileRecord } from '@flatfile/hooks'

Usage

Pass recordHook to a Flatfile data listener and provide a function to run when data is added or updated.

1. Create a listener

Set up a listener to configure Flatfile and respond to data events:

import {
  Client,
  FlatfileVirtualMachine,
  FlatfileEvent,
} from '@flatfile/listener'

const listener = Client.create((client) => {
  // Set up your configuration here
})

const FlatfileVM = new FlatfileVirtualMachine()

listener.mount(FlatfileVM)

export default listener

2. Listen for data changes

Use the this plugin to set up a hook that responds to data changes:

import { recordHook } from '@flatfile/plugin-record-hook'

listener.use(
  recordHook('my-sheet', (record: FlatfileRecord) => {
    // Your logic goes here
  })
)

Replace my-sheet with the slug of the Sheet you want to attach this hook to.

Example usage

Create a record hook that populates a "full name" field based on the values of first name and last name:

listener.use(
  recordHook('my-sheet', (record: FlatfileRecord) => {
    const firstName = record.get('firstName')
    const lastName = record.get('lastName')
    if (firstName && lastName && !record.get('fullName')) {
      record.set('fullName', `${firstName} ${lastName}`)
      record.addComment(
        'fullName',
        'Full name was populated from first and last name.'
      )
    }
    return record
  })
)

Use helper functions from @flatfile/plugin-transform in your record hooks for cleaner syntax.

FAQs

Package last updated on 28 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc