Erster Commit

This commit is contained in:
zed
2026-03-13 09:53:40 +01:00
commit 5ebcad02ed
3945 changed files with 974582 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
import { EdifactMessageSpecification, UNECEMessageStructureParser } from "./messageStructureParser";
export declare class UNECELegacyMessageStructureParser extends UNECEMessageStructureParser {
parseMetaDataPage(page: string): EdifactMessageSpecification;
parseStructurePage(page: string, spec: EdifactMessageSpecification): string[];
loadTypeSpec(): Promise<EdifactMessageSpecification>;
}
//# sourceMappingURL=legacyMessageStructureParser.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"legacyMessageStructureParser.d.ts","sourceRoot":"./lib/","sources":["edi/legacyMessageStructureParser.ts"],"names":[],"mappings":"AAkBA,OAAO,EACH,2BAA2B,EAE3B,2BAA2B,EAC9B,MAAM,0BAA0B,CAAC;AAIlC,qBAAa,iCAAkC,SAAQ,2BAA2B;IAE9E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B;IAM5D,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,GAAG,MAAM,EAAE;IAM7E,YAAY,IAAI,OAAO,CAAC,2BAA2B,CAAC;CA0BvD"}

View File

@@ -0,0 +1,52 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UNECELegacyMessageStructureParser = void 0;
const messageStructureParser_1 = require("./messageStructureParser");
const uneceMetaDataPageParser_1 = require("./uneceMetaDataPageParser");
const uneceStructurePageParser_1 = require("./uneceStructurePageParser");
class UNECELegacyMessageStructureParser extends messageStructureParser_1.UNECEMessageStructureParser {
parseMetaDataPage(page) {
const parser = new uneceMetaDataPageParser_1.UNECEMetaDataPageParser();
parser.parse(page);
return parser.spec;
}
parseStructurePage(page, spec) {
const parser = new uneceStructurePageParser_1.UNECEStructurePageParser(spec);
parser.parse(page);
return parser.segmentNames;
}
loadTypeSpec() {
const url = "./" + this.type + "_c.htm";
return this.loadPage(url)
.then((metaDataPage) => __awaiter(this, void 0, void 0, function* () {
const spec = this.parseMetaDataPage(metaDataPage);
const structurePage = yield this.loadPage(`./${this.type}_s.htm`);
const segmentNames = this.parseStructurePage(structurePage, spec);
const promises = segmentNames.map((name) => __awaiter(this, void 0, void 0, function* () {
const page = yield this.loadPage(`../trsd/trsd${name.toLowerCase()}.htm`);
return this.parseSegmentDefinitionPage(name, page, spec);
}));
return {
specObj: spec,
promises
};
}))
.then((result) => Promise.all(result.promises)
.then(() => result.specObj)
.catch((error) => {
console.warn(`Error while processing segment definition promises: Reason ${error.message}`);
return result.specObj;
}));
}
}
exports.UNECELegacyMessageStructureParser = UNECELegacyMessageStructureParser;
//# sourceMappingURL=legacyMessageStructureParser.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"legacyMessageStructureParser.js","sourceRoot":"./lib/","sources":["edi/legacyMessageStructureParser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkBA,qEAIkC;AAClC,uEAAoE;AACpE,yEAAsE;AAEtE,MAAa,iCAAkC,SAAQ,oDAA2B;IAE9E,iBAAiB,CAAC,IAAY;QAC1B,MAAM,MAAM,GAA4B,IAAI,iDAAuB,EAAE,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,IAAiC;QAC9D,MAAM,MAAM,GAA6B,IAAI,mDAAwB,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,YAAY;QACR,MAAM,GAAG,GAAW,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;aACpB,IAAI,CAAC,CAAO,YAAoB,EAAE,EAAE;YACjC,MAAM,IAAI,GAAgC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC/E,MAAM,aAAa,GAAW,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAa,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAA2C,YAAY,CAAC,GAAG,CAAC,CAAM,IAAI,EAAC,EAAE;gBACnF,MAAM,IAAI,GAAW,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAClF,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC,CAAA,CAAC,CAAC;YACH,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,QAAQ;aACX,CAAC;QACN,CAAC,CAAA,CAAC;aACD,IAAI,CAAC,CAAC,MAAyB,EAAE,EAAE,CAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;aACvB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;aAC1B,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,8DAA8D,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5F,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,CACT,CAAC;IACV,CAAC;CAEJ;AAxCD,8EAwCC"}

View File

@@ -0,0 +1,45 @@
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

View File

@@ -0,0 +1 @@
{"version":3,"file":"messageStructureParser.d.ts","sourceRoot":"./lib/","sources":["edi/messageStructureParser.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAMnC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAKhD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAIhD,QAAQ,CAAC,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAEnD,IAAI,IAAI,MAAM,CAAC;IACf,WAAW,IAAI,MAAM,CAAC;CACzB;AAED,qBAAa,+BAAgC,YAAW,2BAA2B;IAE/E,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAkC;IACxE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAkC;IACxE,0BAA0B,EAAE,WAAW,EAAE,CAAM;gBAEnC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAOrF,IAAI,IAAI,MAAM;IAId,WAAW,IAAI,MAAM;CAG/B;AAkBD,oBAAY,iBAAiB,GAAG;IAC5B,OAAO,EAAE,2BAA2B,CAAC;IACrC,QAAQ,EAAE,OAAO,CAAC,2BAA2B,CAAC,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IAEnC,YAAY,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACxD;AAED,qBAAa,2BAA4B,YAAW,sBAAsB;IAEtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQzC,OAAO,CAAC,gBAAgB;cAQR,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAKvC,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC;YA8H1I,SAAS;IA0JvB,YAAY,IAAI,OAAO,CAAC,2BAA2B,CAAC;CAavD"}

View File

@@ -0,0 +1,340 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UNECEMessageStructureParser = exports.EdifactMessageSpecificationImpl = void 0;
const validator_1 = require("../validator");
const httpClient_1 = require("../httpClient");
const htmlparser2_1 = require("htmlparser2");
const util_1 = require("../util");
class EdifactMessageSpecificationImpl {
constructor(messageType, version, release, controllingAgency) {
this.segmentTable = new validator_1.Dictionary();
this.elementTable = new validator_1.Dictionary();
this.messageStructureDefinition = [];
this.messageType = messageType;
this.version = version;
this.release = release;
this.controllingAgency = controllingAgency;
}
type() {
return this.version + this.release + "_" + this.messageType;
}
versionAbbr() {
return this.version + this.release;
}
}
exports.EdifactMessageSpecificationImpl = EdifactMessageSpecificationImpl;
var Part;
(function (Part) {
Part[Part["BeforeStructureDef"] = 0] = "BeforeStructureDef";
Part[Part["RefLink"] = 1] = "RefLink";
Part[Part["Pos"] = 2] = "Pos";
Part[Part["Tag"] = 3] = "Tag";
Part[Part["Deprecated"] = 4] = "Deprecated";
Part[Part["Name"] = 5] = "Name";
Part[Part["AfterStructureDef"] = 6] = "AfterStructureDef";
})(Part || (Part = {}));
var SegmentPart;
(function (SegmentPart) {
SegmentPart[SegmentPart["BeforeStructureDef"] = 0] = "BeforeStructureDef";
SegmentPart[SegmentPart["Data"] = 1] = "Data";
SegmentPart[SegmentPart["AfterStructureDef"] = 2] = "AfterStructureDef";
})(SegmentPart || (SegmentPart = {}));
class UNECEMessageStructureParser {
constructor(version, type) {
this.version = version.toLowerCase();
this.type = type.toLowerCase();
const baseUrl = "https://service.unece.org/trade/untdid/" + this.version + "/trmd/" + this.type + "_c.htm";
this.httpClient = new httpClient_1.HttpClient(baseUrl);
}
extractTextValue(text, regex, index = 0) {
const arr = regex.exec(text);
if ((0, util_1.isDefined)(arr)) {
return arr[index];
}
return "";
}
loadPage(page) {
return __awaiter(this, void 0, void 0, function* () {
const data = yield this.httpClient.get(page);
return data;
});
}
parseSegmentDefinitionPage(segment, page, definition) {
return __awaiter(this, void 0, void 0, function* () {
if (definition.segmentTable.contains(segment)) {
return Promise.resolve(definition);
}
const segEntry = { "requires": 0, "elements": [] };
let state = SegmentPart.BeforeStructureDef;
let dataSection = false;
let skipAddingElement = false;
let overflowLine = null;
let complexEleId = null;
let complexEleEntry = null;
for (let line of page.split("\n")) {
line = line.trimRight();
if (overflowLine !== null) {
line = overflowLine.trimRight() + " " + line.trim();
overflowLine = null;
}
if (state === SegmentPart.BeforeStructureDef && line.includes('<HR>')) {
dataSection = true;
}
else if (state === SegmentPart.BeforeStructureDef &&
(line.includes("<H3>") || (dataSection && line.includes('<B>')))) {
state = SegmentPart.Data;
}
else if (state === SegmentPart.Data && !line.includes("<P>")) {
const regexp = /^([\d]*)\s*?([X|\\*]?)\s*<A.*>([a-zA-Z0-9]*)<\/A>([a-zA-Z0-9 ,\-\\/&]{44,})([M|C])\s*([\d]*)\s*([a-zA-Z0-9\\.]*).*$/g;
const arr = regexp.exec(line);
if ((0, util_1.isDefined)(arr)) {
const segGroupId = arr[1] === "" ? undefined : arr[1];
const id = arr[3];
const mandatory = arr[5] === "M" ? true : false;
const elementDef = arr[7] === "" ? undefined : arr[7];
if (segGroupId) {
if (id === "") {
console.warn(`Could not determine element ID based on line ${line}`);
continue;
}
segEntry.elements.push(id);
skipAddingElement = false;
if (mandatory) {
segEntry.requires = segEntry.requires + 1;
}
if (elementDef) {
if (complexEleEntry !== null && complexEleId !== null) {
definition.elementTable.add(complexEleId, complexEleEntry);
}
complexEleId = null;
complexEleEntry = null;
if (definition.elementTable.contains(id)) {
continue;
}
const eleEntry = { "requires": 0, "components": [] };
if (mandatory) {
eleEntry.requires = eleEntry.requires + 1;
}
eleEntry.components.push(elementDef);
definition.elementTable.add(id, eleEntry);
}
else {
if (complexEleEntry !== null && complexEleId !== null) {
definition.elementTable.add(complexEleId, complexEleEntry);
}
if (definition.elementTable.contains(id)) {
skipAddingElement = true;
continue;
}
complexEleId = id;
complexEleEntry = { "requires": 0, "components": [] };
}
}
else {
if (!skipAddingElement) {
if (complexEleEntry !== null && elementDef) {
complexEleEntry.components.push(elementDef);
complexEleEntry.requires = mandatory ? complexEleEntry.requires + 1 : complexEleEntry.requires;
}
else {
if (definition.elementTable.contains(id)) {
continue;
}
const eleEntry = { "requires": 0, "components": [] };
if (mandatory) {
eleEntry.requires = eleEntry.requires + 1;
}
if (elementDef) {
eleEntry.components.push(elementDef);
}
definition.elementTable.add(id, eleEntry);
}
}
}
}
else {
const regexpAlt = /^([\d]*)\s*([X|\\*]?)\s*<A.*>([a-zA-Z0-9]*)<\/A>\s*([a-zA-Z0-9 \\-\\/&]*)/g;
const arrAlt = regexpAlt.exec(line);
if ((0, util_1.isDefined)(arrAlt)) {
overflowLine = line;
}
}
}
else if (state === SegmentPart.Data && line.includes("<P>")) {
state = SegmentPart.AfterStructureDef;
break;
}
}
if (complexEleEntry !== null && complexEleId !== null) {
definition.elementTable.add(complexEleId, complexEleEntry);
}
if (segment !== "") {
definition.segmentTable.add(segment, segEntry);
}
return Promise.resolve(definition);
});
}
parsePage(page) {
return __awaiter(this, void 0, void 0, function* () {
let definition;
const handler = new htmlparser2_1.DomHandler();
let state = Part.BeforeStructureDef;
let section = "header";
const segStack = [];
const lookupSegmentPromises = [];
const nextState = () => {
if (state === Part.RefLink) {
state = Part.Pos;
}
else if (state === Part.Pos) {
state = Part.Deprecated;
}
else if (state === Part.Deprecated) {
state = Part.Tag;
}
else if (state === Part.Tag) {
state = Part.Name;
}
else if (state === Part.Name) {
state = Part.RefLink;
}
};
handler.ontext = (text) => {
if (text.includes("Message Type") && text.includes("Version") && text.includes("Release")) {
const messageType = this.extractTextValue(text, /Message Type\s*: ([A-Z]*)\s/g, 1);
const version = this.extractTextValue(text, /Version\s*: ([A-Z]*)\s/g, 1);
const release = this.extractTextValue(text, /Release\s*: ([0-9A-Z]*)\s/g, 1);
const controllingAgency = this.extractTextValue(text, /Contr. Agency\s*: ([0-9A-Z]*)\s/g, 1);
definition = new EdifactMessageSpecificationImpl(messageType, version, release, controllingAgency);
segStack.push(definition.messageStructureDefinition);
}
else if (text.includes("Message structure")) {
state = Part.RefLink;
}
else if (state !== Part.BeforeStructureDef && state !== Part.AfterStructureDef) {
if (state === Part.RefLink) {
}
else if (state === Part.Pos) {
}
else if (state === Part.Deprecated) {
if (text.includes("- Segment group")) {
const regex = /^[\s*+-]*-* (Segment group \d*)\s*-*\s*([M|C])\s*(\d*)([-|\\+|\\|]*).*/g;
const arr = regex.exec(text);
if ((0, util_1.isDefined)(arr)) {
const groupArray = [];
const group = {
content: groupArray,
mandatory: arr[2] === "M" ? true : false,
repetition: parseInt(arr[3]),
name: arr[1],
section: (0, util_1.isDefined)(section) ? section : undefined
};
section = null;
segStack[segStack.length - 1].push(group);
segStack.push(groupArray);
}
state = Part.RefLink;
}
else {
nextState();
}
}
else if (state === Part.Tag) {
const _section = section !== null ? section : undefined;
let _data;
if (definition) {
_data = text === "UNH" ? [definition.versionAbbr(), definition.messageType] : undefined;
}
const segment = {
content: text,
mandatory: false,
repetition: 0,
data: _data,
section: _section
};
if (definition) {
segStack[segStack.length - 1].push(segment);
}
section = null;
}
else if (state === Part.Name) {
const regex = /^([a-zA-Z /\\-]*)\s*?([M|C])\s*?([0-9]*?)([^0-9]*)$/g;
const arr = regex.exec(text);
if ((0, util_1.isDefined)(arr)) {
const sMandatory = arr[2];
const sRepetition = arr[3];
const remainder = arr[4];
const segArr = segStack[segStack.length - 1];
const segData = segArr[segArr.length - 1];
segData.mandatory = sMandatory === "M" ? true : false;
segData.repetition = parseInt(sRepetition);
if (remainder.includes("-") && remainder.includes("+")) {
for (let i = 0; i < remainder.split("+").length - 1; i++) {
segStack.pop();
}
}
nextState();
}
if (text.includes("DETAIL SECTION")) {
section = "detail";
}
else if (text.includes("SUMMARY SECTION")) {
section = "summary";
}
}
else {
console.warn(`Unknown part: ${text}`);
}
}
};
handler.onopentag = (name, attribs) => {
if (name === "p" && state !== Part.BeforeStructureDef && state !== Part.AfterStructureDef) {
state = Part.AfterStructureDef;
}
if (state === Part.Tag && attribs.href !== undefined) {
if (definition) {
const end = attribs.href.indexOf(".htm");
const curSeg = attribs.href.substring(end - 3, end).toUpperCase();
if (curSeg !== "UNH" && curSeg !== "UNS" && curSeg !== "UNT") {
const def = definition;
lookupSegmentPromises.push(this.loadPage(attribs.href)
.then(result => this.parseSegmentDefinitionPage(curSeg, result, def)));
}
}
}
};
handler.onclosetag = () => {
nextState();
};
const parser = new htmlparser2_1.Parser(handler);
parser.write(page);
parser.end();
if (definition) {
return Promise.resolve({ specObj: definition, promises: lookupSegmentPromises });
}
return Promise.reject(new Error("Could not extract values from read page successfully"));
});
}
loadTypeSpec() {
const url = "./" + this.type + "_c.htm";
return this.loadPage(url)
.then((page) => this.parsePage(page))
.then((result) => Promise.all(result.promises)
.then(() => result.specObj)
.catch((error) => {
console.warn(`Error while processing segment definition promises: Reason ${error.message}`);
return result.specObj;
}));
}
}
exports.UNECEMessageStructureParser = UNECEMessageStructureParser;
//# sourceMappingURL=messageStructureParser.js.map

File diff suppressed because one or more lines are too long

56
node_modules/ts-edifact/lib/edi/separators.d.ts generated vendored Normal file
View File

@@ -0,0 +1,56 @@
interface Builder {
build(): Separators;
}
export declare class Separators {
componentSeparator: string;
elementSeparator: string;
decimalSeparator: string;
releaseIndicator: string | undefined;
blankSpace: string | undefined;
segmentTerminator: string;
segmentTagDelimiter: string | undefined;
repetitionElementSeparator: string | undefined;
constructor(componentSeparator: string, elementSeparator: string, decimalSeparator: string | undefined, segmentTerminator: string, releaseIndicator: string | undefined, blankSapce: string | undefined, segmentTagDelimiter: string | undefined, repetitionElementSeparator: string | undefined);
static escapeIfNeeded(separator: string): string;
}
export declare class EdifactSeparatorsBuilder implements Builder {
private _componentSeparator;
private _elementSeparator;
private _decimalSeparator;
private _releaseIndicator;
private _blankSpace;
private _segmentTerminator;
componentSeparator(componentSeparator: string): EdifactSeparatorsBuilder;
elementSeparator(elementSeparator: string): EdifactSeparatorsBuilder;
decimalSeparator(decimalSeparator: string): EdifactSeparatorsBuilder;
releaseIndicator(releaseIndicator: string): EdifactSeparatorsBuilder;
blankSpace(blankSpace: string): EdifactSeparatorsBuilder;
segmentTerminator(segmentTerminator: string): EdifactSeparatorsBuilder;
build(): Separators;
}
export declare class TradacomsSeparatorsBuilder implements Builder {
private _componentSeparator;
private _elementSeparator;
private _decimalSeparator;
private _segmentTagDelimiter;
private _segmentTerminator;
componentSeparator(componentSeparator: string): TradacomsSeparatorsBuilder;
elementSeparator(elementSeparator: string): TradacomsSeparatorsBuilder;
decimalSeparator(decimalSeparator: string): TradacomsSeparatorsBuilder;
segmentTagDelimiter(segmentTagDelimiter: string): TradacomsSeparatorsBuilder;
segmentTerminator(segmentTerminator: string): TradacomsSeparatorsBuilder;
build(): Separators;
}
export declare class AnsiX12SeparatorsBuilder implements Builder {
private _componentSeparator;
private _elementSeparator;
private _repetitionElementSeparator;
private _segmentTerminator;
componentSeparator(componentSeparator: string): AnsiX12SeparatorsBuilder;
elementSeparator(elementSeparator: string): AnsiX12SeparatorsBuilder;
repetitionElementSeparator(repetitionElementSeparator: string): AnsiX12SeparatorsBuilder;
segmentTerminator(segmentTerminator: string): AnsiX12SeparatorsBuilder;
build(): Separators;
}
export {};
//# sourceMappingURL=separators.d.ts.map

1
node_modules/ts-edifact/lib/edi/separators.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"separators.d.ts","sourceRoot":"./lib/","sources":["edi/separators.ts"],"names":[],"mappings":"AAkBA,UAAU,OAAO;IACb,KAAK,IAAI,UAAU,CAAC;CACvB;AAED,qBAAa,UAAU;IAEnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG3C,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,0BAA0B,EAAE,MAAM,GAAG,SAAS;WAwBpC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAU1D;AAED,qBAAa,wBAAyB,YAAW,OAAO;IAEpD,OAAO,CAAC,mBAAmB,CAAO;IAClC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,kBAAkB,CAAO;IAE1B,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,wBAAwB;IAKxE,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,wBAAwB;IAKpE,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,wBAAwB;IAKpE,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,wBAAwB;IAKpE,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB;IAKxD,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,GAAG,wBAAwB;IAKtE,KAAK,IAAI,UAAU;CAa7B;AAED,qBAAa,0BAA2B,YAAW,OAAO;IACtD,OAAO,CAAC,mBAAmB,CAAO;IAClC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,kBAAkB,CAAO;IAE1B,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,0BAA0B;IAK1E,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,0BAA0B;IAKtE,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,0BAA0B;IAKtE,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,0BAA0B;IAK5E,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,GAAG,0BAA0B;IAKxE,KAAK,IAAI,UAAU;CAa7B;AAED,qBAAa,wBAAyB,YAAW,OAAO;IACpD,OAAO,CAAC,mBAAmB,CAAO;IAClC,OAAO,CAAC,iBAAiB,CAAO;IAChC,OAAO,CAAC,2BAA2B,CAAO;IAC1C,OAAO,CAAC,kBAAkB,CAAO;IAE1B,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,wBAAwB;IAKxE,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,wBAAwB;IAKpE,0BAA0B,CAAC,0BAA0B,EAAE,MAAM,GAAG,wBAAwB;IAKxF,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,GAAG,wBAAwB;IAKtE,KAAK,IAAI,UAAU;CAa7B"}

141
node_modules/ts-edifact/lib/edi/separators.js generated vendored Normal file
View File

@@ -0,0 +1,141 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnsiX12SeparatorsBuilder = exports.TradacomsSeparatorsBuilder = exports.EdifactSeparatorsBuilder = exports.Separators = void 0;
class Separators {
constructor(componentSeparator, elementSeparator, decimalSeparator, segmentTerminator, releaseIndicator, blankSapce, segmentTagDelimiter, repetitionElementSeparator) {
this.componentSeparator = componentSeparator;
this.elementSeparator = elementSeparator;
if (decimalSeparator) {
this.decimalSeparator = decimalSeparator;
}
else {
this.decimalSeparator = ".";
}
this.segmentTerminator = segmentTerminator;
if (releaseIndicator) {
this.releaseIndicator = releaseIndicator;
}
if (blankSapce) {
this.blankSpace = blankSapce;
}
if (segmentTagDelimiter) {
this.segmentTagDelimiter = segmentTagDelimiter;
}
if (repetitionElementSeparator) {
this.repetitionElementSeparator = repetitionElementSeparator;
}
}
static escapeIfNeeded(separator) {
let sep = separator;
if (separator === "+" || separator === "*" || separator === "\\" || separator === "~" || separator === "$"
|| separator === "(" || separator === ")" || separator === "^" || separator === "?" || separator === "."
|| separator === "|" || separator === "{" || separator === "}" || separator === "[" || separator === "]") {
sep = "\\" + sep;
}
return sep;
}
}
exports.Separators = Separators;
class EdifactSeparatorsBuilder {
constructor() {
this._componentSeparator = ":";
this._elementSeparator = "+";
this._decimalSeparator = ".";
this._releaseIndicator = "?";
this._blankSpace = " ";
this._segmentTerminator = "'";
}
componentSeparator(componentSeparator) {
this._componentSeparator = componentSeparator;
return this;
}
elementSeparator(elementSeparator) {
this._elementSeparator = elementSeparator;
return this;
}
decimalSeparator(decimalSeparator) {
this._decimalSeparator = decimalSeparator;
return this;
}
releaseIndicator(releaseIndicator) {
this._releaseIndicator = releaseIndicator;
return this;
}
blankSpace(blankSpace) {
this._blankSpace = blankSpace;
return this;
}
segmentTerminator(segmentTerminator) {
this._segmentTerminator = segmentTerminator;
return this;
}
build() {
const separators = new Separators(this._componentSeparator, this._elementSeparator, this._decimalSeparator, this._segmentTerminator, this._releaseIndicator, this._blankSpace, undefined, undefined);
return separators;
}
}
exports.EdifactSeparatorsBuilder = EdifactSeparatorsBuilder;
class TradacomsSeparatorsBuilder {
constructor() {
this._componentSeparator = ":";
this._elementSeparator = "+";
this._decimalSeparator = ".";
this._segmentTagDelimiter = "=";
this._segmentTerminator = "'";
}
componentSeparator(componentSeparator) {
this._componentSeparator = componentSeparator;
return this;
}
elementSeparator(elementSeparator) {
this._elementSeparator = elementSeparator;
return this;
}
decimalSeparator(decimalSeparator) {
this._decimalSeparator = decimalSeparator;
return this;
}
segmentTagDelimiter(segmentTagDelimiter) {
this._segmentTagDelimiter = segmentTagDelimiter;
return this;
}
segmentTerminator(segmentTerminator) {
this._segmentTerminator = segmentTerminator;
return this;
}
build() {
const separators = new Separators(this._componentSeparator, this._elementSeparator, this._decimalSeparator, this._segmentTerminator, undefined, undefined, this._segmentTagDelimiter, undefined);
return separators;
}
}
exports.TradacomsSeparatorsBuilder = TradacomsSeparatorsBuilder;
class AnsiX12SeparatorsBuilder {
constructor() {
this._componentSeparator = ":";
this._elementSeparator = "*";
this._repetitionElementSeparator = "^";
this._segmentTerminator = "'";
}
componentSeparator(componentSeparator) {
this._componentSeparator = componentSeparator;
return this;
}
elementSeparator(elementSeparator) {
this._elementSeparator = elementSeparator;
return this;
}
repetitionElementSeparator(repetitionElementSeparator) {
this._repetitionElementSeparator = repetitionElementSeparator;
return this;
}
segmentTerminator(segmentTerminator) {
this._segmentTerminator = segmentTerminator;
return this;
}
build() {
const separators = new Separators(this._componentSeparator, this._elementSeparator, undefined, this._segmentTerminator, undefined, undefined, undefined, this._repetitionElementSeparator);
return separators;
}
}
exports.AnsiX12SeparatorsBuilder = AnsiX12SeparatorsBuilder;
//# sourceMappingURL=separators.js.map

1
node_modules/ts-edifact/lib/edi/separators.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"separators.js","sourceRoot":"./lib/","sources":["edi/separators.ts"],"names":[],"mappings":"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"}

17
node_modules/ts-edifact/lib/edi/uneceDomHandler.d.ts generated vendored Normal file
View File

@@ -0,0 +1,17 @@
import { DomHandler, DomHandlerOptions } from "htmlparser2";
import { Node, Element } from "htmlparser2/node_modules/domhandler";
declare type Callback = (error: Error | null, dom: Node[]) => void;
declare type ElementCallback = (element: Element) => void;
export declare abstract class UNECEDomHandler extends DomHandler {
constructor(callback?: Callback | null, options?: DomHandlerOptions | null, elementCB?: ElementCallback);
ontext(data: string): void;
abstract onText(data: string): void;
onopentag(name: string, attribs: {
[key: string]: string;
}): void;
abstract onOpenTag(name: string, attribs: {
[key: string]: string;
}): void;
}
export {};
//# sourceMappingURL=uneceDomHandler.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"uneceDomHandler.d.ts","sourceRoot":"./lib/","sources":["edi/uneceDomHandler.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEpE,aAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;AAC3D,aAAK,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAkBlD,8BAAsB,eAAgB,SAAQ,UAAU;gBAExC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,EAClC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,EAClC,SAAS,CAAC,EAAE,eAAe;IAYtB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;aAYnB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUjC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI;aAc1D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI;CACpF"}

19
node_modules/ts-edifact/lib/edi/uneceDomHandler.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UNECEDomHandler = void 0;
const htmlparser2_1 = require("htmlparser2");
class UNECEDomHandler extends htmlparser2_1.DomHandler {
constructor(callback, options, elementCB) {
super(callback, options, elementCB);
}
ontext(data) {
super.ontext(data);
this.onText(data);
}
onopentag(name, attribs) {
super.onopentag(name, attribs);
this.onOpenTag(name, attribs);
}
}
exports.UNECEDomHandler = UNECEDomHandler;
//# sourceMappingURL=uneceDomHandler.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"uneceDomHandler.js","sourceRoot":"./lib/","sources":["edi/uneceDomHandler.ts"],"names":[],"mappings":";;;AAkBA,6CAA4D;AAsB5D,MAAsB,eAAgB,SAAQ,wBAAU;IAEpD,YAAY,QAA0B,EAClC,OAAkC,EAClC,SAA2B;QAC3B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAUQ,MAAM,CAAC,IAAY;QACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAmBQ,SAAS,CAAC,IAAY,EAAE,OAAkC;QAC/D,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;CAYJ;AArDD,0CAqDC"}

View File

@@ -0,0 +1,8 @@
import { UNECEDomHandler } from "./uneceDomHandler";
import { UNECEPageParser } from "./unecePageParser";
export declare class UNECEMetaDataPageParser extends UNECEPageParser {
private messageType?;
constructor();
protected setupHandler(): UNECEDomHandler;
}
//# sourceMappingURL=uneceMetaDataPageParser.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"uneceMetaDataPageParser.d.ts","sourceRoot":"./lib/","sources":["edi/uneceMetaDataPageParser.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAoBpD,qBAAa,uBAAwB,SAAQ,eAAe;IAExD,OAAO,CAAC,WAAW,CAAC,CAAS;;IAM7B,SAAS,CAAC,YAAY,IAAI,eAAe;CAyC5C"}

View File

@@ -0,0 +1,60 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UNECEMetaDataPageParser = void 0;
const messageStructureParser_1 = require("./messageStructureParser");
const unecePageParser_1 = require("./unecePageParser");
var State;
(function (State) {
State["initial"] = "initial";
State["beforeMessageType"] = "beforeMessageType";
State["afterMessageType"] = "afterMessageType";
State["beforeMetaData"] = "beforeMetaData";
State["afterMetaData"] = "afterMetaData";
})(State || (State = {}));
const SM_DEFINITION = {
initial: State.initial,
transitions: [
{ from: State.initial, to: State.beforeMessageType },
{ from: State.beforeMessageType, to: State.afterMessageType },
{ from: State.afterMessageType, to: State.beforeMetaData },
{ from: State.beforeMetaData, to: State.afterMetaData }
]
};
class UNECEMetaDataPageParser extends unecePageParser_1.UNECEPageParser {
constructor() {
super(SM_DEFINITION);
}
setupHandler() {
const handler = super.setupHandler();
handler.onText = (text) => {
switch (this.sm.state) {
case State.initial:
if (text.includes('Message Type')) {
this.sm.transition(State.beforeMessageType);
}
break;
case State.beforeMessageType:
this.messageType = text;
this.sm.transition(State.afterMessageType);
break;
case State.afterMessageType:
if (!this.messageType) {
this.throwCouldNotParsePage();
}
else {
if (text.includes('Version') && text.includes('Release') && text.includes('Contr. Agency')) {
const version = this.extractTextValue(text, /Version\s*: ([A-Z]*)\s/g, 1);
const release = this.extractTextValue(text, /Release\s*: ([0-9A-Z]*)\s/g, 1);
const controllingAgency = this.extractTextValue(text, /Contr. Agency\s*: ([0-9A-Z]*)\s/g, 1);
this._spec = new messageStructureParser_1.EdifactMessageSpecificationImpl(this.messageType, version, release, controllingAgency);
}
}
break;
default: this.throwInvalidParserState(this.sm.state);
}
};
return handler;
}
}
exports.UNECEMetaDataPageParser = UNECEMetaDataPageParser;
//# sourceMappingURL=uneceMetaDataPageParser.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"uneceMetaDataPageParser.js","sourceRoot":"./lib/","sources":["edi/uneceMetaDataPageParser.ts"],"names":[],"mappings":";;;AAqBA,qEAA2E;AAC3E,uDAAoD;AAEpD,IAAK,KAMJ;AAND,WAAK,KAAK;IACN,4BAAmB,CAAA;IACnB,gDAAuC,CAAA;IACvC,8CAAqC,CAAA;IACrC,0CAAiC,CAAA;IACjC,wCAA+B,CAAA;AACnC,CAAC,EANI,KAAK,KAAL,KAAK,QAMT;AAED,MAAM,aAAa,GAA2B;IAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,WAAW,EAAE;QACT,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,iBAAiB,EAAE;QACpD,EAAE,IAAI,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,CAAC,gBAAgB,EAAE;QAC7D,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAAE,EAAE,EAAE,KAAK,CAAC,cAAc,EAAE;QAC1D,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,EAAE;KAC1D;CACJ,CAAC;AAEF,MAAa,uBAAwB,SAAQ,iCAAe;IAIxD;QACI,KAAK,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAES,YAAY;QAClB,MAAM,OAAO,GAAoB,KAAK,CAAC,YAAY,EAAE,CAAC;QAEtD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;gBACnB,KAAK,KAAK,CAAC,OAAO;oBACd,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;wBAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;qBAC/C;oBACD,MAAM;gBAEV,KAAK,KAAK,CAAC,iBAAiB;oBACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAC3C,MAAM;gBAEV,KAAK,KAAK,CAAC,gBAAgB;oBACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;qBACjC;yBAAM;wBACH,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;4BACxF,MAAM,OAAO,GAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;4BAClF,MAAM,OAAO,GAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC;4BACrF,MAAM,iBAAiB,GAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;4BACrG,IAAI,CAAC,KAAK,GAAG,IAAI,wDAA+B,CAC5C,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,OAAO,EACP,iBAAiB,CACpB,CAAC;yBACL;qBACJ;oBACD,MAAM;gBAEV,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;aACxD;QACL,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC;IACnB,CAAC;CAEJ;AAjDD,0DAiDC"}

15
node_modules/ts-edifact/lib/edi/unecePageParser.d.ts generated vendored Normal file
View File

@@ -0,0 +1,15 @@
import { UNECEDomHandler } from "./uneceDomHandler";
import { StateMachine, StateMachineDefinition } from "@initics/tsm";
import { EdifactMessageSpecification } from "./messageStructureParser";
export declare abstract class UNECEPageParser {
protected sm: StateMachine;
protected _spec?: EdifactMessageSpecification;
constructor(smdef: StateMachineDefinition);
get spec(): EdifactMessageSpecification;
parse(page: string): void;
protected setupHandler(): UNECEDomHandler;
protected extractTextValue(text: string, regex: RegExp, index?: number): string;
protected throwInvalidParserState(state: string): void;
protected throwCouldNotParsePage(): void;
}
//# sourceMappingURL=unecePageParser.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"unecePageParser.d.ts","sourceRoot":"./lib/","sources":["edi/unecePageParser.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,8BAAsB,eAAe;IAEjC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC;gBAElC,KAAK,EAAE,sBAAsB;IAIzC,IAAI,IAAI,IAAI,2BAA2B,CAKtC;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,SAAS,CAAC,YAAY,IAAI,eAAe;IAYzC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM;IAQlF,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItD,SAAS,CAAC,sBAAsB,IAAI,IAAI;CAI3C"}

46
node_modules/ts-edifact/lib/edi/unecePageParser.js generated vendored Normal file
View File

@@ -0,0 +1,46 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UNECEPageParser = void 0;
const htmlparser2_1 = require("htmlparser2");
const uneceDomHandler_1 = require("./uneceDomHandler");
const tsm_1 = require("@initics/tsm");
const util_1 = require("../util");
class UNECEPageParser {
constructor(smdef) {
this.sm = new tsm_1.StateMachine(smdef);
}
get spec() {
if (!this._spec) {
throw new Error(`EdifactMessageSpecification not defined`);
}
return this._spec;
}
parse(page) {
const parser = new htmlparser2_1.Parser(this.setupHandler());
parser.write(page);
parser.end();
}
setupHandler() {
return new class extends uneceDomHandler_1.UNECEDomHandler {
onOpenTag() {
}
onText() {
}
}();
}
extractTextValue(text, regex, index = 0) {
const arr = regex.exec(text);
if ((0, util_1.isDefined)(arr)) {
return arr[index];
}
return "";
}
throwInvalidParserState(state) {
throw new Error(`Invalid parser state: ${state}`);
}
throwCouldNotParsePage() {
throw new Error('Could not parse page');
}
}
exports.UNECEPageParser = UNECEPageParser;
//# sourceMappingURL=unecePageParser.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"unecePageParser.js","sourceRoot":"./lib/","sources":["edi/unecePageParser.ts"],"names":[],"mappings":";;;AAkBA,6CAAqC;AACrC,uDAAoD;AACpD,sCAAoE;AAEpE,kCAAoC;AAGpC,MAAsB,eAAe;IAKjC,YAAY,KAA6B;QACrC,IAAI,CAAC,EAAE,GAAG,IAAI,kBAAY,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,IAAI;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAY;QACd,MAAM,MAAM,GAAW,IAAI,oBAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;IAES,YAAY;QAClB,OAAO,IAAI,KAAM,SAAQ,iCAAe;YACpB,SAAS;YAEzB,CAAC;YAEe,MAAM;YAEtB,CAAC;SACJ,EAAE,CAAC;IACR,CAAC;IAES,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,QAAgB,CAAC;QACrE,MAAM,GAAG,GAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,IAAA,gBAAS,EAAC,GAAG,CAAC,EAAE;YAChB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;SACrB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,uBAAuB,CAAC,KAAa;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAES,sBAAsB;QAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;CAEJ;AAlDD,0CAkDC"}

View File

@@ -0,0 +1,14 @@
import { UNECEDomHandler } from "./uneceDomHandler";
import { EdifactMessageSpecification } from "./messageStructureParser";
import { UNECEPageParser } from "./unecePageParser";
export declare class UNECEStructurePageParser extends UNECEPageParser {
readonly segmentNames: string[];
constructor(spec: EdifactMessageSpecification);
protected setupHandler(): UNECEDomHandler;
private addSegmentName;
private parseSegmentGroup;
private parseSegment;
private parseSegmentGroupLevel;
private isSegmentGroupEnd;
}
//# sourceMappingURL=uneceStructurePageParser.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"uneceStructurePageParser.d.ts","sourceRoot":"./lib/","sources":["edi/uneceStructurePageParser.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAwCpD,qBAAa,wBAAyB,SAAQ,eAAe;IAEzD,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAEpB,IAAI,EAAE,2BAA2B;IAM7C,SAAS,CAAC,YAAY,IAAI,eAAe;IAoHzC,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,iBAAiB;CAK5B"}

View File

@@ -0,0 +1,202 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UNECEStructurePageParser = void 0;
const unecePageParser_1 = require("./unecePageParser");
var State;
(function (State) {
State["initial"] = "initial";
State["messageStructureStart"] = "messageStructureStart";
State["messageStructureEnd"] = "messageStructureEnd";
State["headerSection"] = "headerSection";
State["detailSection"] = "detailSection";
State["summarySection"] = "summarySection";
State["beforeDetailSection"] = "beforeDetailSection";
State["segmentPosition"] = "segmentPosition";
State["segmentGroup"] = "segmentGroup";
State["segmentName"] = "segmentName";
State["segmentDescription"] = "segmentDescription";
})(State || (State = {}));
const SM_DEFINITION = {
initial: State.initial,
transitions: [
{ from: State.initial, to: State.messageStructureStart },
{ from: State.messageStructureStart, to: State.headerSection },
{ from: State.messageStructureStart, to: State.segmentPosition },
{ from: State.headerSection, to: State.segmentPosition },
{ from: State.detailSection, to: State.segmentPosition },
{ from: State.summarySection, to: State.segmentPosition },
{ from: State.segmentPosition, to: State.segmentGroup },
{ from: State.segmentPosition, to: State.messageStructureEnd },
{ from: State.segmentGroup, to: State.segmentName },
{ from: State.segmentGroup, to: State.segmentPosition },
{ from: State.segmentName, to: State.segmentDescription },
{ from: State.segmentDescription, to: State.segmentPosition },
{ from: State.segmentDescription, to: State.detailSection },
{ from: State.segmentDescription, to: State.summarySection }
]
};
class UNECEStructurePageParser extends unecePageParser_1.UNECEPageParser {
constructor(spec) {
super(SM_DEFINITION);
this._spec = spec;
this.segmentNames = [];
}
setupHandler() {
const helper = super.setupHandler();
let index = 0;
const stack = [];
const resetStack = () => {
for (; index > 0; index--) {
stack.pop();
}
};
let isSegmentGroupEnd = false;
let section;
let name;
stack.push(this.spec.messageStructureDefinition);
helper.onText = (text) => {
switch (this.sm.state) {
case State.initial:
if (text.includes('Message structure')) {
this.sm.transition(State.messageStructureStart);
}
break;
case State.messageStructureStart:
if (text.includes('HEADER SECTION')) {
this.sm.transition(State.headerSection);
section = 'header';
this.sm.transition(State.segmentPosition);
}
break;
case State.segmentPosition:
if (text.match(/[0-9]{4}/g)) {
this.sm.transition(State.segmentGroup);
}
else {
this.sm.transition(State.messageStructureEnd);
}
break;
case State.segmentGroup:
if (text.includes('Segment group')) {
isSegmentGroupEnd = false;
const group = this.parseSegmentGroup(section, text);
const level = this.parseSegmentGroupLevel(text);
const delta = level - index;
if (delta <= 0) {
for (let i = 0; i < (delta * -1 + 1); i++) {
stack.pop();
index--;
}
}
stack[index].push(group);
stack.push(group.content);
index++;
section = undefined;
this.sm.transition(State.segmentPosition);
}
else {
if (isSegmentGroupEnd) {
resetStack();
}
this.sm.transition(State.segmentName);
}
break;
case State.segmentName:
name = text;
this.addSegmentName(name);
this.sm.transition(State.segmentDescription);
break;
case State.segmentDescription: {
const item = this.parseSegment(name, section, text);
stack[index].push(item);
isSegmentGroupEnd = this.isSegmentGroupEnd(text);
const detailSection = text.includes('DETAIL SECTION');
const summarySection = text.includes('SUMMARY SECTION');
if (detailSection || summarySection) {
resetStack();
if (detailSection) {
section = 'detial';
this.sm.transition(State.detailSection);
}
else {
section = 'summary';
this.sm.transition(State.summarySection);
}
}
this.sm.transition(State.segmentPosition);
break;
}
case State.messageStructureEnd: break;
default: this.throwInvalidParserState(this.sm.state);
}
};
helper.onOpenTag = name => {
if (this.sm.state === State.messageStructureStart && name === 'a') {
this.sm.transition(State.segmentPosition);
}
};
return helper;
}
addSegmentName(name) {
const excludeSegmentNames = ['UNH', 'UNS', 'UNT'];
if (!excludeSegmentNames.includes(name) && !this.segmentNames.includes(name)) {
this.segmentNames.push(name);
}
}
parseSegmentGroup(section, descriptionString) {
const regex = /^.* (Segment group \d*).*\s*([M|C])\s*(\d*).*/g;
const matches = regex.exec(descriptionString);
if (!matches) {
throw new Error('Invalid segment description string');
}
const name = matches[1];
const mandatoryString = matches[2];
const repetitionString = matches[3];
return {
name,
content: [],
mandatory: mandatoryString === 'M',
repetition: Number.parseInt(repetitionString),
data: undefined,
section: section || undefined
};
}
parseSegment(name, section, descriptionString) {
const regex = /^([a-zA-Z /\\-]*)\s*?([M|C])\s*?([0-9]*?)([^0-9]*)$/g;
const matches = regex.exec(descriptionString);
if (!matches) {
throw new Error(`${name}: Invalid segment description string: ${descriptionString}`);
}
const mandatoryString = matches[2];
const repetitionString = matches[3];
return {
content: name,
mandatory: mandatoryString === 'M',
repetition: Number.parseInt(repetitionString),
data: undefined,
section: section || undefined
};
}
parseSegmentGroupLevel(descriptionString) {
const regex = /^.*[0-9]+([^0-9]*)$/g;
const matches = regex.exec(descriptionString);
if (!matches) {
throw new Error('Invalid segment description string');
}
const levelString = Array.from(matches[1]).reverse().join('');
let normalization = 0;
if (levelString.charCodeAt(0) !== 10) {
console.warn(`Unrecognized character in level string: ${levelString[0]} (${levelString.charCodeAt(0)})`);
}
else if (levelString.charCodeAt(1) === 13) {
normalization = 1;
}
return levelString.indexOf('Ŀ') - normalization;
}
isSegmentGroupEnd(descriptionString) {
const regex = /\d+<2B>+/g;
return !!regex.exec(descriptionString);
}
}
exports.UNECEStructurePageParser = UNECEStructurePageParser;
//# sourceMappingURL=uneceStructurePageParser.js.map

File diff suppressed because one or more lines are too long