281 lines
6.7 KiB
JavaScript
281 lines
6.7 KiB
JavaScript
"use strict";
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
}) : function(o, v) {
|
|
o["default"] = v;
|
|
});
|
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
__setModuleDefault(result, mod);
|
|
return result;
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.storeAllDefaultSpecs = exports.persist = exports.isDefined = void 0;
|
|
const fs = __importStar(require("fs"));
|
|
const tableBuilder_1 = require("./tableBuilder");
|
|
const messageStructureParser_1 = require("./edi/messageStructureParser");
|
|
function isDefined(value) {
|
|
return value !== undefined && value !== null;
|
|
}
|
|
exports.isDefined = isDefined;
|
|
function toString(data, pretty) {
|
|
if (pretty) {
|
|
return JSON.stringify(data, null, 2);
|
|
}
|
|
else {
|
|
return JSON.stringify(data);
|
|
}
|
|
}
|
|
function persist(data, path, pretty) {
|
|
const messageStructDef = toString(data.messageStructureDefinition, pretty);
|
|
const messageStructDefFileName = data.version + data.release + "_" + data.messageType + ".struct.json";
|
|
const segments = toString(data.segmentTable.entries);
|
|
const segmentsFileName = data.version + data.release + "_" + data.messageType + "." + tableBuilder_1.Suffix.Segments + ".json";
|
|
const elements = toString(data.elementTable.entries);
|
|
const elementsFileName = data.version + data.release + "_" + data.messageType + "." + tableBuilder_1.Suffix.Elements + ".json";
|
|
let p = path;
|
|
if (!p.endsWith("/")) {
|
|
p += "/";
|
|
}
|
|
fs.writeFileSync(p + messageStructDefFileName, messageStructDef);
|
|
fs.writeFileSync(p + segmentsFileName, segments);
|
|
fs.writeFileSync(p + elementsFileName, elements);
|
|
}
|
|
exports.persist = persist;
|
|
function storeAllDefaultSpecs(version, location) {
|
|
const types = [
|
|
"APERAK",
|
|
"AUTHOR",
|
|
"AVLREQ",
|
|
"AVLRSP",
|
|
"BALANC",
|
|
"BANSTA",
|
|
"BAPLIE",
|
|
"BAPLTE",
|
|
"BERMAN",
|
|
"BMISRM",
|
|
"BOPBNK",
|
|
"BOPCUS",
|
|
"BOPDIR",
|
|
"BOPINF",
|
|
"BUSCRD",
|
|
"CALINF",
|
|
"CASINT",
|
|
"CASRES",
|
|
"CHACCO",
|
|
"CLASET",
|
|
"CNTCND",
|
|
"COACSU",
|
|
"COARRI",
|
|
"CODECO",
|
|
"CODENO",
|
|
"COEDOR",
|
|
"COHAOR",
|
|
"COLREQ",
|
|
"COMDIS",
|
|
"CONAPW",
|
|
"CONDPV",
|
|
"CONDRA",
|
|
"CONDRO",
|
|
"CONEST",
|
|
"CONITT",
|
|
"CONPVA",
|
|
"CONQVA",
|
|
"CONRPW",
|
|
"CONTEN",
|
|
"CONWQD",
|
|
"COPARN",
|
|
"COPAYM",
|
|
"COPINO",
|
|
"COPRAR",
|
|
"COREOR",
|
|
"COSTCO",
|
|
"COSTOR",
|
|
"CREADV",
|
|
"CREEXT",
|
|
"CREMUL",
|
|
"CUSCAR",
|
|
"CUSDEC",
|
|
"CUSEXP",
|
|
"CUSPED",
|
|
"CUSREP",
|
|
"CUSRES",
|
|
"DEBADV",
|
|
"DEBMUL",
|
|
"DEBREC",
|
|
"DELFOR",
|
|
"DELJIT",
|
|
"DESADV",
|
|
"DESTIM",
|
|
"DGRECA",
|
|
"DIRDEB",
|
|
"DIRDEF",
|
|
"DMRDEF",
|
|
"DMSTAT",
|
|
"DOCADV",
|
|
"DOCAMA",
|
|
"DOCAMI",
|
|
"DOCAMR",
|
|
"DOCAPP",
|
|
"DOCARE",
|
|
"DOCINF",
|
|
"ENTREC",
|
|
"FINCAN",
|
|
"FINPAY",
|
|
"FINSTA",
|
|
"GENRAL",
|
|
"GESMES",
|
|
"HANMOV",
|
|
"ICASRP",
|
|
"ICSOLI",
|
|
"IFCSUM",
|
|
"IFTCCA",
|
|
"IFTDGN",
|
|
"IFTFCC",
|
|
"IFTIAG",
|
|
"IFTICL",
|
|
"IFTMAN",
|
|
"IFTMBC",
|
|
"IFTMBF",
|
|
"IFTMBP",
|
|
"IFTMCA",
|
|
"IFTMCS",
|
|
"IFTMFR",
|
|
"IFTMIN",
|
|
"IFTRIN",
|
|
"IFTSAI",
|
|
"IFTSTA",
|
|
"IFTSTQ",
|
|
"IHCEBI",
|
|
"IHCLME",
|
|
"IMPDEF",
|
|
"INFCON",
|
|
"INFENT",
|
|
"INSDES",
|
|
"INSPRE",
|
|
"INSREQ",
|
|
"INSRPT",
|
|
"INTCHG",
|
|
"INVOIC",
|
|
"INVRPT",
|
|
"IPPOAD",
|
|
"IPPOMO",
|
|
"ISENDS",
|
|
"ITRRPT",
|
|
"JAPRES",
|
|
"JINFDE",
|
|
"JOBAPP",
|
|
"JOBCON",
|
|
"JOBMOD",
|
|
"JOBOFF",
|
|
"JUPREQ",
|
|
"LEDGER",
|
|
"LREACT",
|
|
"LRECLM",
|
|
"MEDPID",
|
|
"MEDPRE",
|
|
"MEDREQ",
|
|
"MEDRPT",
|
|
"MEDRUC",
|
|
"MEQPOS",
|
|
"MOVINS",
|
|
"MSCONS",
|
|
"ORDCHG",
|
|
"ORDERS",
|
|
"ORDRSP",
|
|
"OSTENQ",
|
|
"OSTRPT",
|
|
"PARTIN",
|
|
"PASREQ",
|
|
"PASRSP",
|
|
"PAXLST",
|
|
"PAYDUC",
|
|
"PAYEXT",
|
|
"PAYMUL",
|
|
"PAYORD",
|
|
"PRICAT",
|
|
"PRIHIS",
|
|
"PROCST",
|
|
"PRODAT",
|
|
"PRODEX",
|
|
"PROINQ",
|
|
"PROSRV",
|
|
"PROTAP",
|
|
"PRPAID",
|
|
"QALITY",
|
|
"QUOTES",
|
|
"RDRMES",
|
|
"REBORD",
|
|
"RECADV",
|
|
"RECALC",
|
|
"RECECO",
|
|
"RECLAM",
|
|
"RECORD",
|
|
"REGENT",
|
|
"RELIST",
|
|
"REMADV",
|
|
"REPREM",
|
|
"REQDOC",
|
|
"REQOTE",
|
|
"RESETT",
|
|
"RESMSG",
|
|
"RESREQ",
|
|
"RESRSP",
|
|
"RETACC",
|
|
"RETANN",
|
|
"RETINS",
|
|
"RPCALL",
|
|
"SAFHAZ",
|
|
"SANCRT",
|
|
"SKDREQ",
|
|
"SKDUPD",
|
|
"SLSFCT",
|
|
"SLSRPT",
|
|
"SOCADE",
|
|
"SSIMOD",
|
|
"SSRECH",
|
|
"SSREGW",
|
|
"STATAC",
|
|
"STLRPT",
|
|
"SUPCOT",
|
|
"SUPMAN",
|
|
"SUPRES",
|
|
"TANSTA",
|
|
"TAXCON",
|
|
"TIQREQ",
|
|
"TIQRSP",
|
|
"TPFREP",
|
|
"TSDUPD",
|
|
"TUPREQ",
|
|
"TUPRSP",
|
|
"UTILMD",
|
|
"UTILTS",
|
|
"VATDEC",
|
|
"VESDEP",
|
|
"WASDIS",
|
|
"WKGRDC",
|
|
"WKGRRE"
|
|
];
|
|
for (const typeName of types) {
|
|
const structParser = new messageStructureParser_1.UNECEMessageStructureParser(version, typeName);
|
|
structParser.loadTypeSpec()
|
|
.then((result) => {
|
|
persist(result, location);
|
|
}).then(() => {
|
|
console.log(`Stored definition for type ${typeName} of version ${version} at location ${location}`);
|
|
}).catch((error) => {
|
|
console.warn(`Could not load Message structure and segment/element definitions for message type ${typeName} of version ${version}. Reason: ${error.message}`);
|
|
});
|
|
}
|
|
}
|
|
exports.storeAllDefaultSpecs = storeAllDefaultSpecs;
|
|
//# sourceMappingURL=util.js.map
|