UNPKG

api-ref-bundler

Version:

Bundle all external $ref in Json based API document into single document

28 lines (27 loc) 1.12 kB
import { CloneHook, CloneState, CrawlContext } from "json-crawl"; import { RefResolver, Resolver } from "./resolver"; export interface RefNode { pointer: string; ref: string; sibling?: any; } export interface DereferenceState { refNodes: RefNode[]; baseFile: string; } export type DereferenceContext = CrawlContext<CloneState<DereferenceState>>; export interface DereferenceOptions { ignoreSibling?: boolean; fullCrawl?: boolean; enableCircular?: boolean; parallelCrawl?: boolean; hooks?: { onError?: (message: string, ctx: DereferenceContext) => void; onRef?: (ref: string, ctx: DereferenceContext) => void; onCrawl?: (value: any, ctx: DereferenceContext) => void; onExit?: (value: any, ctx: DereferenceContext) => void; onCycle?: (ref: string, ctx: DereferenceContext) => void; }; } export declare const dereferenceHook: (refResolver: RefResolver, options?: DereferenceOptions) => CloneHook<DereferenceState>; export declare const dereference: (basePath: string, resolver: Resolver, options?: DereferenceOptions) => Promise<any>;