Working with Inline Data tables in TypeScript
Updated May 9, 2026
Inline data handling for tables embedded directly in resource definitions.
Installation
npm install fairspecGetting Started
The Inline plugin provides:
loadInlineTable- Load tables from inline dataInlinePlugin- Plugin for framework integration
For example:
import { loadInlineTable } from "fairspec"
const table = await loadInlineTable({
data: [
{ id: 1, name: "Alice" },
{ id: 2, name: "Bob" },
],
})Basic Usage
Object Format Data
The most common format is an array of objects:
import { loadInlineTable } from "fairspec"
const table = await loadInlineTable({
data: [
{ id: 1, name: "english", native: "English" },
{ id: 2, name: "chinese", native: "中文" },
{ id: 3, name: "spanish", native: "Español" },
],
})Array Format Data
You can also use array-of-arrays format with the first row as headers:
import { loadInlineTable } from "fairspec"
const table = await loadInlineTable({
data: [
["id", "name", "native"],
[1, "english", "English"],
[2, "chinese", "中文"],
[3, "spanish", "Español"],
],
})Advanced Features
With Table Schema
Provide a Table Schema for type validation and conversion:
import { loadInlineTable } from "fairspec"
const table = await loadInlineTable({
data: [
{ id: 1, name: "english", active: true },
{ id: 2, name: "chinese", active: false },
],
tableSchema: {
properties: {
id: { type: "integer" },
name: { type: "string" },
active: { type: "boolean" },
},
},
})Mixed with File Data
Inline data can be used alongside file-based resources in datasets:
import { loadInlineTable, loadCsvTable } from "fairspec"
// Load inline reference data
const languages = await loadInlineTable({
name: "languages",
data: [
{ id: 1, name: "english" },
{ id: 2, name: "chinese" },
],
})
// Load main data from file
const users = await loadCsvTable({
name: "users",
data: "users.csv",
})Resource Metadata
You can include metadata with inline data resources:
import { loadInlineTable } from "fairspec"
const table = await loadInlineTable({
name: "countries",
title: "Country Reference Data",
description: "ISO country codes and names",
data: [
{ code: "US", name: "United States" },
{ code: "CN", name: "China" },
{ code: "ES", name: "Spain" },
],
tableSchema: {
properties: {
code: { type: "string" },
name: { type: "string" },
},
},
})Created with ❤ and Livemark