UCD.js Docs
Client

Client

OpenAPI-based API client for the UCD API

Client

The @ucdjs/client package provides a type-safe API client for interacting with the UCD.js API. It offers a clean, resource-based interface for accessing Unicode Character Database files, version information, and configuration data.

Getting Started

Installation

Install the client using your preferred package manager.

npm install @ucdjs/client

Initialization

Create a client instance using createUCDClient(). The client is built on top of the OpenAPI specification, ensuring full type safety and accurate TypeScript inference.

client.ts
import { createUCDClient } from "@ucdjs/client";

// Initialize the client
const client = await createUCDClient("https://api.ucdjs.dev");

Usage

The client uses a safe error handling pattern that never throws exceptions. You always receive an object containing either data or error.

client.ts
// Fetch available Unicode versions
const { data: versions, error } = await client.versions.list();

if (error) {
  console.error("Failed to fetch versions:", error.message);
} else {
  console.log("Available versions:", versions);
}

Resources

The client provides four primary resource namespaces. You access them as properties on the instantiated client object.

Prop

Type

Examples

const { data: fileContent, error } = await client.files.get("16.0.0/ucd/UnicodeData.txt");

if (error) {
  console.error("Failed to fetch file:", error.message);
  return;
}

console.log("File content:", fileContent);
// List all versions
const { data: versions, error } = await client.versions.list();

if (error) {
  console.error("Failed to fetch versions:", error.message);
  return;
}

// Get file tree for a specific Unicode version
const { data: fileTree } = await client.versions.getFileTree("16.0.0");
console.log("File tree:", fileTree);
const { data: config, error } = await client.config.get();

if (error) {
  console.error("Failed to fetch config:", error.message);
  return;
}

console.log("API Config:", config);
const { data: manifest, error } = await client.manifest.get("16.0.0");

if (error) {
  console.error("Failed to fetch manifest:", error.message);
  return;
}

console.log("Expected files for 16.0.0:", manifest.files);

On this page