UNPKG

syphonx-core

Version:

SyphonX is a template-driven solution for extracting data from HTML in a highly efficient way. It combines the power of jQuery, Regular Expressions, and Javascript into a declarative template-driven format that extracts and reshapes HTML data into JSON.

50 lines (49 loc) 1.87 kB
import { Template } from "./template.js"; import { DocumentLoadState, ExtractResult, ExtractState, Select, Transform, YieldLocator, YieldNavigate, YieldParams, YieldScreenshot } from "./package/index.js"; export interface NavigateResult { status?: number; } export interface HostOptions { template: Template; url?: string; params?: Record<string, unknown>; unwrap?: boolean; debug?: boolean; extractHtml?: boolean; maxYields?: number; retries?: number; retryDelay?: number[]; onExtract?: (state: ExtractState, script: string) => Promise<ExtractState>; onGoback?: (options: { timeout?: number; waitUntil?: DocumentLoadState; }) => Promise<NavigateResult>; onHtml?: () => Promise<string>; onLocator?: (options: YieldLocator) => Promise<unknown>; onNavigate?: (options: YieldNavigate & { timeout?: number; waitUntil?: DocumentLoadState; }) => Promise<NavigateResult>; onReload?: (options: { timeout?: number; waitUntil?: DocumentLoadState; }) => Promise<NavigateResult>; onScreenshot?: (options: YieldScreenshot) => Promise<void>; onYield?: (params: YieldParams) => Promise<void>; } export declare function host({ maxYields, retries, retryDelay, ...options }: HostOptions): Promise<ExtractResult>; export declare function expandTemplateUrl(url: string, params?: Record<string, unknown>): string; export declare function invokeAsyncMethod(obj: {}, method: string, args?: unknown[]): Promise<unknown>; export interface AttemptOptions { retries: number; } export declare const script = ""; export type EvaluateArg = ExtractState | { select: Select[]; } | { transform: Transform[]; } | { sync: ExtractState; }; export type EvaluateResult = ExtractState; export type EvaluateFunction = (arg: EvaluateArg) => Promise<EvaluateResult>;