UNPKG

@llml-browser/types

Version:

TypeScript types and schemas for the @llml-browser API

137 lines (100 loc) 3.63 kB
# @llml-browser/types TypeScript types and schemas for the @llml-browser API. ## Installation ```bash npm install @llml-browser/types # or yarn add @llml-browser/types # or pnpm add @llml-browser/types # or bun add @llml-browser/types ``` ## Usage ### Path-Specific Imports (Recommended) ```typescript // Import specific types from their modules import type { LinksOptions, LinksTree(or Tree) } from "@llml-browser/types/links"; import type { ExtractedLinks } from "@llml-browser/types/services/link"; import type { HTMLCleaningOptions } from "@llml-browser/types/services/html-cleaning"; import type { PageMetadata } from "@llml-browser/types/services/metadata"; import type { ScrapedData } from "@llml-browser/types/services/cheerio"; // This approach enables better tree-shaking and smaller bundles ``` ### Root Imports (All Types) ```typescript // Import all types from the root import type { LinksOptions, LinksTree, ExtractedLinks, HTMLCleaningOptions, PageMetadata, ScrapedData, } from "@llml-browser/types"; // Note: This approach imports all types and may result in larger bundles ``` ### Runtime Validation with Zod Schemas ```typescript import { LinksOptionsSchema } from "@llml-browser/types/links"; import { HTMLCleaningOptionsSchema } from "@llml-browser/types/services/html-cleaning"; // Validate data at runtime const options = { url: "https://example.com", metadata: true, cleanedHtml: true, rawHtml: false, }; const validated = LinksOptionsSchema.parse(options); ``` ## Available Types ### Links Types - `LinksOptions` - Configuration options for link extraction - `LinksTree` - Tree structure of extracted links ### Service Types #### HTML Cleaning - `HTMLCleaningOptions` - Configuration for HTML cleaning process #### Link Extraction - `LinkExtractionOptions` - Options for extracting links from HTML - `ExtractedLinks` - Result of link extraction process #### Metadata - `MetadataOptions` - Options for metadata extraction - `PageMetadata` - Extracted metadata from a page #### Cheerio - `ScrapedData` - Data scraped using Cheerio ## Package Structure ```bash src/ ├── index.ts # Main entry point with all exports ├── links/ # Links-related types │ ├── index.ts # Links exports │ └── types.ts # Links type definitions └── services/ # Service-specific types ├── cheerio/ # Cheerio service types │ ├── index.ts # Cheerio exports │ └── types.ts # Cheerio type definitions ├── html-cleaning/ # HTML cleaning service types │ ├── index.ts # HTML cleaning exports │ └── types.ts # HTML cleaning type definitions ├── link/ # Link service types │ ├── index.ts # Link service exports │ └── types.ts # Link service type definitions └── metadata/ # Metadata service types ├── index.ts # Metadata exports └── types.ts # Metadata type definitions ``` ## Development ```bash # Install dependencies pnpm install # Build package pnpm build # Run development mode with watch pnpm dev # Run type checking pnpm typecheck # Run linting and formatting pnpm fix ``` ## License MIT