ts-edifact
Version:
Edifact parser library
45 lines • 1.87 kB
TypeScript
import { Dictionary, SegmentEntry, ElementEntry } from "../validator";
import { MessageType } from "../tracker";
import { HttpClient } from "../httpClient";
export interface EdifactMessageSpecification {
readonly messageType: string;
readonly version: string;
readonly release: string;
readonly controllingAgency: string;
readonly segmentTable: Dictionary<SegmentEntry>;
readonly elementTable: Dictionary<ElementEntry>;
readonly messageStructureDefinition: MessageType[];
type(): string;
versionAbbr(): string;
}
export declare class EdifactMessageSpecificationImpl implements EdifactMessageSpecification {
messageType: string;
version: string;
release: string;
controllingAgency: string;
segmentTable: Dictionary<SegmentEntry>;
elementTable: Dictionary<ElementEntry>;
messageStructureDefinition: MessageType[];
constructor(messageType: string, version: string, release: string, controllingAgency: string);
type(): string;
versionAbbr(): string;
}
export declare type ParsingResultType = {
specObj: EdifactMessageSpecification;
promises: Promise<EdifactMessageSpecification>[];
};
export interface MessageStructureParser {
loadTypeSpec(): Promise<EdifactMessageSpecification>;
}
export declare class UNECEMessageStructureParser implements MessageStructureParser {
readonly version: string;
readonly type: string;
readonly httpClient: HttpClient;
constructor(version: string, type: string);
private extractTextValue;
protected loadPage(page: string): Promise<string>;
protected parseSegmentDefinitionPage(segment: string, page: string, definition: EdifactMessageSpecification): Promise<EdifactMessageSpecification>;
private parsePage;
loadTypeSpec(): Promise<EdifactMessageSpecification>;
}
//# sourceMappingURL=messageStructureParser.d.ts.map