UNPKG

ts-edifact

Version:
281 lines 6.9 kB
"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