sec-edgar-api
Version:
Fetch and parse SEC earnings reports and other filings. Useful for financial analysis.
35 lines (34 loc) • 1.13 kB
TypeScript
import type { XbrlInstance, XbrlLinkbase, XbrlSchema } from '../../../types';
import { XbrlFormHeader } from './HeaderParser';
export interface XbrlParseResult {
header: XbrlFormHeader;
schema: XbrlDocument<XbrlSchema> | null;
instance: XbrlDocument<XbrlInstance> | null;
linkbasePresentation: XbrlDocument<XbrlLinkbase> | null;
linkbaseCalculation: XbrlDocument<XbrlLinkbase> | null;
linkbaseDefinition: XbrlDocument<XbrlLinkbase> | null;
linkbaseLabel: XbrlDocument<XbrlLinkbase> | null;
}
interface XbrlDocument<T> {
description: string;
fileName: string;
sequence: number;
type: string;
xbrl: T;
}
interface ParseXbrlOptions {
includeInstance?: boolean;
includeLinkbases?: boolean;
includeSchema?: boolean;
}
export default class XBRLParser {
private readonly splitter;
private readonly headerParser;
private readonly linkbaseParser;
private readonly instanceParser;
private readonly schemaParser;
private filterDocuments;
private createXbrlDocument;
parse(xml: string, options?: ParseXbrlOptions): XbrlParseResult;
}
export {};