From f86aa3465740364484958abaf524e176f45b9290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20De=20Caluw=C3=A9?= Date: Mon, 14 Dec 2015 21:17:43 +0100 Subject: [PATCH] Move definitions to separate directory in a json format. --- README.md | 6 +- definitions/elements.json | 132 ++++++++++++++++++++++++++++++++++++ definitions/segments.json | 44 ++++++++++++ docs/overview.md | 6 +- elements.js | 136 -------------------------------------- examples/definitions.js | 4 +- segments.js | 48 -------------- spec/SegmentSpec.js | 4 +- 8 files changed, 186 insertions(+), 194 deletions(-) create mode 100644 definitions/elements.json create mode 100644 definitions/segments.json delete mode 100644 elements.js delete mode 100644 segments.js diff --git a/README.md b/README.md index 6d64a95..55a6f3e 100644 --- a/README.md +++ b/README.md @@ -104,11 +104,11 @@ The `requires` property indicates the number of elements which are required to o } ``` -An incomplete set of definitions is included with the library in the files `segments.js` and `elements.js` and can be included as follows: +An incomplete set of definitions is included with the library in the `definitions` directory and can be included as follows: ```javascript -var segments = require('edifact/segments.js'); -var elements = require('edifact/elements.js'); +var segments = require('edifact/definitions/segments.json'); +var elements = require('edifact/definitions/elements.json'); ``` A working example using segment and element definitions can be found in the `examples` directory. diff --git a/definitions/elements.json b/definitions/elements.json new file mode 100644 index 0000000..57b0def --- /dev/null +++ b/definitions/elements.json @@ -0,0 +1,132 @@ +{ + "C002": { "requires": 0, "components": ["an..3", "an..17", "an..3", "an..35"] }, + "C040": { "requires": 0, "components": ["an..17", "an..3", "an..3", "an..35"] }, + "C056": { "requires": 0, "components": ["an..17", "an..35"] }, + "C058": { "requires": 1, "components": ["an..35", "an..35", "an..35", "an..35", "an..35"] }, + "C059": { "requires": 1, "components": ["an..35", "an..35", "an..35", "an..35"] }, + "C076": { "requires": 2, "components": ["an..512", "an..3"] }, + "C082": { "requires": 1, "components": ["an..35", "an..17", "an..3"] }, + "C100": { "requires": 0, "components": ["an..3", "an..3", "an..3", "an..70", "an..70"] }, + "C106": { "requires": 0, "components": ["an..35", "an..9", "an..6"] }, + "C107": { "requires": 1, "components": ["an..17", "an..17", "an..3"] }, + "C108": { "requires": 1, "components": ["an..512", "an..512", "an..512", "an..512", "an..512"] }, + "C174": { "requires": 1, "components": ["an..3", "an..18", "n..18", "n..18", "n..2"] }, + "C186": { "requires": 2, "components": ["an..3", "an..35", "an..3"] }, + "C202": { "requires": 0, "components": ["an..17", "an..17", "an..3", "an..35"] }, + "C205": { "requires": 1, "components": ["an..7", "an..7", "an..10"] }, + "C206": { "requires": 1, "components": ["an..35", "an..3", "an..3"] }, + "C208": { "requires": 1, "components": ["an..35", "an..35"] }, + "C210": { "requires": 1, "components": ["an..35", "an..35", "an..35", "an..35", "an..35", "an..35", "an..35", "an..35", "an..35", "an..35"] }, + "C212": { "requires": 0, "components": ["an..35", "an..3", "an..17", "an..3"] }, + "C214": { "requires": 0, "components": ["an..3", "an..17", "an..3", "an..35", "an..35"] }, + "C215": { "requires": 0, "components": ["an..3", "an..3", "an..3", "an..35"] }, + "C218": { "requires": 0, "components": ["an..7", "an..17", "an..3", "an..35"] }, + "C219": { "requires": 0, "components": ["an..3", "an..35"] }, + "C220": { "requires": 0, "components": ["an..3", "an..17"] }, + "C222": { "requires": 0, "components": ["an..9", "an..3", "an..3", "an..35", "an..3"] }, + "C223": { "requires": 0, "components": ["n3", "an..8"] }, + "C224": { "requires": 0, "components": ["an..10", "an..3", "an..3", "an..35"] }, + "C228": { "requires": 0, "components": ["an..8", "an..17"] }, + "C234": { "requires": 0, "components": ["n4", "an..8"] }, + "C235": { "requires": 0, "components": ["an..4", "an4"] }, + "C236": { "requires": 0, "components": ["an..4", "an..4", "an..4", "an..4"] }, + "C237": { "requires": 0, "components": ["an..17", "an..17", "an..3", "an..3"] }, + "C270": { "requires": 2, "components": ["an..3", "an..18", "an..3"] }, + "C272": { "requires": 0, "components": ["an..3", "an..17", "an..3"] }, + "C273": { "requires": 0, "components": ["an..17", "an..17", "an..3", "an..256", "an..256", "an..3"] }, + "C279": { "requires": 1, "components": ["n..15", "an..3"] }, + "C289": { "requires": 0, "components": ["an..6", "an..17", "an..3"] }, + "C401": { "requires": 2, "components": ["an..3", "an..3", "an..17"] }, + "C402": { "requires": 2, "components": ["an..3", "an..35", "an..3", "an..35", "an..3"] }, + "C501": { "requires": 1, "components": ["an..3", "n..10", "an..3", "an..3", "an..3"] }, + "C502": { "requires": 0, "components": ["an..3", "an..3", "an..17", "an..70"] }, + "C504": { "requires": 1, "components": ["an..3", "an..3", "an..3", "n..4"] }, + "C506": { "requires": 1, "components": ["an..3", "an..70", "an..6", "an..35", "an..6"] }, + "C507": { "requires": 1, "components": ["an..3", "an..35", "an..3"] }, + "C509": { "requires": 1, "components": ["an..3", "n..15", "an..3", "an..3", "n..9", "an..3"] }, + "C516": { "requires": 1, "components": ["an..3", "an..35", "an..3", "an..3", "an..3"] }, + "C517": { "requires": 0, "components": ["an..25", "an..3", "an..3", "an..256"] }, + "C519": { "requires": 0, "components": ["an..25", "an..3", "an..3", "an..70"] }, + "C522": { "requires": 0, "components": ["an..3", "an..3", "an..17", "an..3", "an..35"] }, + "C524": { "requires": 0, "components": ["an..3", "an..17", "an..3", "an..512"] }, + "C531": { "requires": 0, "components": ["an..3", "an..3", "an..3"] }, + "C532": { "requires": 0, "components": ["an..3", "an..3"] }, + "C534": { "requires": 0, "components": ["an..3", "an..3", "an..3", "an..17", "an..3", "an..3"] }, + "C552": { "requires": 1, "components": ["an..35", "an..3"] }, + "C553": { "requires": 0, "components": ["an..25", "an..3", "an..3", "an..70"] }, + "C819": { "requires": 0, "components": ["an..9", "an..17", "an..3", "an..70"] }, + "C823": { "requires": 0, "components": ["an..3", "an..17", "an..3", "an..35"] }, + "C824": { "requires": 0, "components": ["an..3", "an..17", "an..3", "an..35"] }, + "C827": { "requires": 1, "components": ["an..3", "an..3", "an..3"] }, + "C829": { "requires": 0, "components": ["an..3", "an..6"] }, + "C960": { "requires": 0, "components": ["an..3", "an..3", "an..3", "an..35"] }, + "0020": { "requires": 1, "components": ["an..14"] }, + "0036": { "requires": 1, "components": ["n..6"] }, + "0062": { "requires": 1, "components": ["an..14"] }, + "0074": { "requires": 1, "components": ["n..10"] }, + "0081": { "requires": 1, "components": ["a1"] }, + "1082": { "requires": 1, "components": ["an..6"] }, + "1222": { "requires": 1, "components": ["n..2"] }, + "1225": { "requires": 1, "components": ["an..3"] }, + "1227": { "requires": 1, "components": ["an..3"] }, + "1229": { "requires": 1, "components": ["an..3"] }, + "1373": { "requires": 1, "components": ["an..3"] }, + "3035": { "requires": 1, "components": ["an..3"] }, + "3139": { "requires": 1, "components": ["an..3"] }, + "3164": { "requires": 1, "components": ["an..35"] }, + "3207": { "requires": 1, "components": ["an..3"] }, + "3227": { "requires": 1, "components": ["an..3"] }, + "3239": { "requires": 1, "components": ["an..3"] }, + "3251": { "requires": 1, "components": ["an..17"] }, + "3453": { "requires": 1, "components": ["an..3"] }, + "4055": { "requires": 1, "components": ["an..3"] }, + "4183": { "requires": 1, "components": ["an..3"] }, + "4215": { "requires": 1, "components": ["an..3"] }, + "4221": { "requires": 1, "components": ["an..3"] }, + "4233": { "requires": 1, "components": ["an..3"] }, + "4343": { "requires": 1, "components": ["an..3"] }, + "4405": { "requires": 1, "components": ["an..3"] }, + "4447": { "requires": 1, "components": ["an..3"] }, + "4451": { "requires": 1, "components": ["an..3"] }, + "4453": { "requires": 1, "components": ["an..3"] }, + "4455": { "requires": 1, "components": ["an..3"] }, + "4457": { "requires": 1, "components": ["an..3"] }, + "4471": { "requires": 1, "components": ["an..3"] }, + "4517": { "requires": 1, "components": ["an..3"] }, + "5213": { "requires": 1, "components": ["an..3"] }, + "5402": { "requires": 1, "components": ["n..12"] }, + "5463": { "requires": 1, "components": ["an..3"] }, + "5479": { "requires": 1, "components": ["an..3"] }, + "6311": { "requires": 1, "components": ["an..3"] }, + "6341": { "requires": 1, "components": ["an..3"] }, + "7077": { "requires": 1, "components": ["an..3"] }, + "7075": { "requires": 1, "components": ["an..3"] }, + "7083": { "requires": 1, "components": ["an..3"] }, + "7164": { "requires": 1, "components": ["an..35"] }, + "7166": { "requires": 1, "components": ["an..35"] }, + "7224": { "requires": 1, "components": ["n..8"] }, + "7297": { "requires": 1, "components": ["an..3"] }, + "7383": { "requires": 1, "components": ["an..3"] }, + "7405": { "requires": 1, "components": ["an..3"] }, + "8028": { "requires": 1, "components": ["an..17"] }, + "8051": { "requires": 1, "components": ["an..3"] }, + "8053": { "requires": 1, "components": ["an..3"] }, + "8077": { "requires": 1, "components": ["an..3"] }, + "8101": { "requires": 1, "components": ["an..3"] }, + "8126": { "requires": 1, "components": ["an..10"] }, + "8169": { "requires": 1, "components": ["an..3"] }, + "8179": { "requires": 1, "components": ["an..8"] }, + "8211": { "requires": 1, "components": ["an..3"] }, + "8249": { "requires": 1, "components": ["an..3"] }, + "8255": { "requires": 1, "components": ["an..3"] }, + "8273": { "requires": 1, "components": ["an..3"] }, + "8275": { "requires": 1, "components": ["an..3"] }, + "8281": { "requires": 1, "components": ["an..3"] }, + "8332": { "requires": 1, "components": ["an..26"] }, + "8339": { "requires": 1, "components": ["an..3"] }, + "8341": { "requires": 1, "components": ["an..3"] }, + "8364": { "requires": 1, "components": ["an..6"] }, + "8410": { "requires": 1, "components": ["an..4"] }, + "9213": { "requires": 1, "components": ["an..3"] }, + "9308": { "requires": 1, "components": ["an..35"] } +} diff --git a/definitions/segments.json b/definitions/segments.json new file mode 100644 index 0000000..8c96816 --- /dev/null +++ b/definitions/segments.json @@ -0,0 +1,44 @@ +{ + "ALI": { "requires": 0, "elements": ["3239", "9213", "4183", "4183", "4183", "4183", "4183"] }, + "BGM": { "requires": 0, "elements": ["C002", "C106", "1225", "4343", "1373", "3453"] }, + "CNT": { "requires": 1, "elements": ["C270"] }, + "COD": { "requires": 0, "elements": ["C823", "C824"] }, + "COM": { "requires": 1, "elements": ["C076"] }, + "CTA": { "requires": 0, "elements": ["3139", "C056"] }, + "CPS": { "requires": 1, "elements": ["7164", "7166", "7075"] }, + "CUX": { "requires": 0, "elements": ["C504", "C504", "5402", "6341"] }, + "DGS": { "requires": 0, "elements": ["8273", "C205", "C234", "C223", "8339", "8364", "8410", "8126", "C235", "C236", "8255", "8179", "8211", "C289"] }, + "DLM": { "requires": 0, "elements": ["4455", "C522", "C214", "4457"] }, + "DTM": { "requires": 1, "elements": ["C507"] }, + "EQA": { "requires": 1, "elements": ["8053", "C237"] }, + "EQD": { "requires": 1, "elements": ["8053", "C237", "C224", "8077", "8249", "8169"] }, + "FTX": { "requires": 1, "elements": ["4451", "4453", "C107", "C108", "3453", "4447"] }, + "GIN": { "requires": 2, "elements": ["7405", "C208", "C208", "C208", "C208", "C208"] }, + "GIR": { "requires": 2, "elements": ["7297", "C206", "C206", "C206", "C206", "C206"] }, + "HAN": { "requires": 0, "elements": ["C524", "C218"] }, + "IMD": { "requires": 0, "elements": ["7077", "C272", "C273", "7383"] }, + "LAC": { "requires": 1, "elements": ["5463", "C552", "4471", "1227", "C214"] }, + "LIN": { "requires": 0, "elements": ["1082", "1229", "C212", "C829", "1222", "7083"] }, + "LOC": { "requires": 1, "elements": ["3227", "C519", "C553", "5479"] }, + "MEA": { "requires": 1, "elements": ["6311", "C502", "C174", "7383"] }, + "MOA": { "requires": 1, "elements": ["C516"] }, + "NAD": { "requires": 1, "elements": ["3035", "C082", "C058", "C080", "C059", "3164", "C819", "3251", "3207"] }, + "PAC": { "requires": 0, "elements": ["7224", "C531", "C202", "C402", "C532"] }, + "PAI": { "requires": 1, "elements": ["C534"] }, + "PCD": { "requires": 1, "elements": ["C501", "4405"] }, + "PCI": { "requires": 0, "elements": ["4233", "C210", "8275", "C827"] }, + "PIA": { "requires": 2, "elements": ["4347", "C212", "C212", "C212", "C212", "C212"] }, + "PRI": { "requires": 0, "elements": ["C509", "5213"] }, + "QTY": { "requires": 1, "elements": ["C186"] }, + "QVR": { "requires": 0, "elements": ["C279", "4221", "C960"] }, + "RFF": { "requires": 1, "elements": ["C506"] }, + "SEL": { "requires": 0, "elements": ["9308", "C215", "4517", "C208"] }, + "SGP": { "requires": 1, "elements": ["C237", "7224"] }, + "TDT": { "requires": 1, "elements": ["8051", "8028", "C220", "C228", "C040", "8101", "C401", "C222", "8281"] }, + "TMD": { "requires": 0, "elements": ["C219", "8332", "8341"] }, + "TOD": { "requires": 0, "elements": ["4055", "4215", "C100"] }, + "UNH": { "requires": 2, "elements": ["0065", "0052", "0054", "0051", "0057", "0110"] }, + "UNS": { "requires": 1, "elements": ["0081"] }, + "UNT": { "requires": 2, "elements": ["0074", "0062"] }, + "UNZ": { "requires": 2, "elements": ["0036", "0020"] } +} diff --git a/docs/overview.md b/docs/overview.md index baad724..faac195 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -104,11 +104,11 @@ The `requires` property indicates the number of elements which are required to o } ``` -An incomplete set of definitions is included with the library in the files `segments.js` and `elements.js` and can be included as follows: +An incomplete set of definitions is included with the library in the `definitions` directory and can be included as follows: ```javascript -var segments = require('edifact/segments.js'); -var elements = require('edifact/elements.js'); +var segments = require('edifact/definitions/segments.json'); +var elements = require('edifact/definitions/elements.json'); ``` A working example using segment and element definitions can be found in the `examples` directory. diff --git a/elements.js b/elements.js deleted file mode 100644 index 28fcc65..0000000 --- a/elements.js +++ /dev/null @@ -1,136 +0,0 @@ -'use strict' - -var elements = { - 'C002': { requires: 0, components: ['an..3', 'an..17', 'an..3', 'an..35'] }, - 'C040': { requires: 0, components: ['an..17', 'an..3', 'an..3', 'an..35'] }, - 'C056': { requires: 0, components: ['an..17', 'an..35'] }, - 'C058': { requires: 1, components: ['an..35', 'an..35', 'an..35', 'an..35', 'an..35'] }, - 'C059': { requires: 1, components: ['an..35', 'an..35', 'an..35', 'an..35'] }, - 'C076': { requires: 2, components: ['an..512', 'an..3'] }, - 'C082': { requires: 1, components: ['an..35', 'an..17', 'an..3'] }, - 'C100': { requires: 0, components: ['an..3', 'an..3', 'an..3', 'an..70', 'an..70'] }, - 'C106': { requires: 0, components: ['an..35', 'an..9', 'an..6'] }, - 'C107': { requires: 1, components: ['an..17', 'an..17', 'an..3'] }, - 'C108': { requires: 1, components: ['an..512', 'an..512', 'an..512', 'an..512', 'an..512'] }, - 'C174': { requires: 1, components: ['an..3', 'an..18', 'n..18', 'n..18', 'n..2'] }, - 'C186': { requires: 2, components: ['an..3', 'an..35', 'an..3'] }, - 'C202': { requires: 0, components: ['an..17', 'an..17', 'an..3', 'an..35'] }, - 'C205': { requires: 1, components: ['an..7', 'an..7', 'an..10'] }, - 'C206': { requires: 1, components: ['an..35', 'an..3', 'an..3'] }, - 'C208': { requires: 1, components: ['an..35', 'an..35'] }, - 'C210': { requires: 1, components: ['an..35', 'an..35', 'an..35', 'an..35', 'an..35', 'an..35', 'an..35', 'an..35', 'an..35', 'an..35'] }, - 'C212': { requires: 0, components: ['an..35', 'an..3', 'an..17', 'an..3'] }, - 'C214': { requires: 0, components: ['an..3', 'an..17', 'an..3', 'an..35', 'an..35'] }, - 'C215': { requires: 0, components: ['an..3', 'an..3', 'an..3', 'an..35'] }, - 'C218': { requires: 0, components: ['an..7', 'an..17', 'an..3', 'an..35'] }, - 'C219': { requires: 0, components: ['an..3', 'an..35'] }, - 'C220': { requires: 0, components: ['an..3', 'an..17'] }, - 'C222': { requires: 0, components: ['an..9', 'an..3', 'an..3', 'an..35', 'an..3'] }, - 'C223': { requires: 0, components: ['n3', 'an..8'] }, - 'C224': { requires: 0, components: ['an..10', 'an..3', 'an..3', 'an..35'] }, - 'C228': { requires: 0, components: ['an..8', 'an..17'] }, - 'C234': { requires: 0, components: ['n4', 'an..8'] }, - 'C235': { requires: 0, components: ['an..4', 'an4'] }, - 'C236': { requires: 0, components: ['an..4', 'an..4', 'an..4', 'an..4'] }, - 'C237': { requires: 0, components: ['an..17', 'an..17', 'an..3', 'an..3'] }, - 'C270': { requires: 2, components: ['an..3', 'an..18', 'an..3'] }, - 'C272': { requires: 0, components: ['an..3', 'an..17', 'an..3'] }, - 'C273': { requires: 0, components: ['an..17', 'an..17', 'an..3', 'an..256', 'an..256', 'an..3'] }, - 'C279': { requires: 1, components: ['n..15', 'an..3'] }, - 'C289': { requires: 0, components: ['an..6', 'an..17', 'an..3'] }, - 'C401': { requires: 2, components: ['an..3', 'an..3', 'an..17'] }, - 'C402': { requires: 2, components: ['an..3', 'an..35', 'an..3', 'an..35', 'an..3'] }, - 'C501': { requires: 1, components: ['an..3', 'n..10', 'an..3', 'an..3', 'an..3'] }, - 'C502': { requires: 0, components: ['an..3', 'an..3', 'an..17', 'an..70'] }, - 'C504': { requires: 1, components: ['an..3', 'an..3', 'an..3', 'n..4'] }, - 'C506': { requires: 1, components: ['an..3', 'an..70', 'an..6', 'an..35', 'an..6'] }, - 'C507': { requires: 1, components: ['an..3', 'an..35', 'an..3'] }, - 'C509': { requires: 1, components: ['an..3', 'n..15', 'an..3', 'an..3', 'n..9', 'an..3'] }, - 'C516': { requires: 1, components: ['an..3', 'an..35', 'an..3', 'an..3', 'an..3'] }, - 'C517': { requires: 0, components: ['an..25', 'an..3', 'an..3', 'an..256'] }, - 'C519': { requires: 0, components: ['an..25', 'an..3', 'an..3', 'an..70'] }, - 'C522': { requires: 0, components: ['an..3', 'an..3', 'an..17', 'an..3', 'an..35'] }, - 'C524': { requires: 0, components: ['an..3', 'an..17', 'an..3', 'an..512'] }, - 'C531': { requires: 0, components: ['an..3', 'an..3', 'an..3'] }, - 'C532': { requires: 0, components: ['an..3', 'an..3'] }, - 'C534': { requires: 0, components: ['an..3', 'an..3', 'an..3', 'an..17', 'an..3', 'an..3'] }, - 'C552': { requires: 1, components: ['an..35', 'an..3'] }, - 'C553': { requires: 0, components: ['an..25', 'an..3', 'an..3', 'an..70'] }, - 'C819': { requires: 0, components: ['an..9', 'an..17', 'an..3', 'an..70'] }, - 'C823': { requires: 0, components: ['an..3', 'an..17', 'an..3', 'an..35'] }, - 'C824': { requires: 0, components: ['an..3', 'an..17', 'an..3', 'an..35'] }, - 'C827': { requires: 1, components: ['an..3', 'an..3', 'an..3'] }, - 'C829': { requires: 0, components: ['an..3', 'an..6'] }, - 'C960': { requires: 0, components: ['an..3', 'an..3', 'an..3', 'an..35'] }, - '0020': { requires: 1, components: ['an..14'] }, - '0036': { requires: 1, components: ['n..6'] }, - '0062': { requires: 1, components: ['an..14'] }, - '0074': { requires: 1, components: ['n..10'] }, - '0081': { requires: 1, components: ['a1'] }, - '1082': { requires: 1, components: ['an..6'] }, - '1222': { requires: 1, components: ['n..2'] }, - '1225': { requires: 1, components: ['an..3'] }, - '1227': { requires: 1, components: ['an..3'] }, - '1229': { requires: 1, components: ['an..3'] }, - '1373': { requires: 1, components: ['an..3'] }, - '3035': { requires: 1, components: ['an..3'] }, - '3139': { requires: 1, components: ['an..3'] }, - '3164': { requires: 1, components: ['an..35'] }, - '3207': { requires: 1, components: ['an..3'] }, - '3227': { requires: 1, components: ['an..3'] }, - '3239': { requires: 1, components: ['an..3'] }, - '3251': { requires: 1, components: ['an..17'] }, - '3453': { requires: 1, components: ['an..3'] }, - '4055': { requires: 1, components: ['an..3'] }, - '4183': { requires: 1, components: ['an..3'] }, - '4215': { requires: 1, components: ['an..3'] }, - '4221': { requires: 1, components: ['an..3'] }, - '4233': { requires: 1, components: ['an..3'] }, - '4343': { requires: 1, components: ['an..3'] }, - '4405': { requires: 1, components: ['an..3'] }, - '4447': { requires: 1, components: ['an..3'] }, - '4451': { requires: 1, components: ['an..3'] }, - '4453': { requires: 1, components: ['an..3'] }, - '4455': { requires: 1, components: ['an..3'] }, - '4457': { requires: 1, components: ['an..3'] }, - '4471': { requires: 1, components: ['an..3'] }, - '4517': { requires: 1, components: ['an..3'] }, - '5213': { requires: 1, components: ['an..3'] }, - '5402': { requires: 1, components: ['n..12'] }, - '5463': { requires: 1, components: ['an..3'] }, - '5479': { requires: 1, components: ['an..3'] }, - '6311': { requires: 1, components: ['an..3'] }, - '6341': { requires: 1, components: ['an..3'] }, - '7077': { requires: 1, components: ['an..3'] }, - '7075': { requires: 1, components: ['an..3'] }, - '7083': { requires: 1, components: ['an..3'] }, - '7164': { requires: 1, components: ['an..35'] }, - '7166': { requires: 1, components: ['an..35'] }, - '7224': { requires: 1, components: ['n..8'] }, - '7297': { requires: 1, components: ['an..3'] }, - '7383': { requires: 1, components: ['an..3'] }, - '7405': { requires: 1, components: ['an..3'] }, - '8028': { requires: 1, components: ['an..17'] }, - '8051': { requires: 1, components: ['an..3'] }, - '8053': { requires: 1, components: ['an..3'] }, - '8077': { requires: 1, components: ['an..3'] }, - '8101': { requires: 1, components: ['an..3'] }, - '8126': { requires: 1, components: ['an..10'] }, - '8169': { requires: 1, components: ['an..3'] }, - '8179': { requires: 1, components: ['an..8'] }, - '8211': { requires: 1, components: ['an..3'] }, - '8249': { requires: 1, components: ['an..3'] }, - '8255': { requires: 1, components: ['an..3'] }, - '8273': { requires: 1, components: ['an..3'] }, - '8275': { requires: 1, components: ['an..3'] }, - '8281': { requires: 1, components: ['an..3'] }, - '8332': { requires: 1, components: ['an..26'] }, - '8339': { requires: 1, components: ['an..3'] }, - '8341': { requires: 1, components: ['an..3'] }, - '8364': { requires: 1, components: ['an..6'] }, - '8410': { requires: 1, components: ['an..4'] }, - '9213': { requires: 1, components: ['an..3'] }, - '9308': { requires: 1, components: ['an..35'] }, -}; - -module.exports = elements; diff --git a/examples/definitions.js b/examples/definitions.js index b62f6ee..91d2d9e 100644 --- a/examples/definitions.js +++ b/examples/definitions.js @@ -5,8 +5,8 @@ let edifact = require('../index.js'); let validator = new edifact.Validator(); let parser = new edifact.Parser(validator); -validator.define(require('../segments.js')); -validator.define(require('../elements.js')); +validator.define(require('../definitions/segments.json')); +validator.define(require('../definitions/elements.json')); let document = ''; diff --git a/segments.js b/segments.js deleted file mode 100644 index 4b0da6c..0000000 --- a/segments.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict' - -let segments = { - 'ALI': { requires: 0, elements: ['3239', '9213', '4183', '4183', '4183', '4183', '4183'] }, - 'BGM': { requires: 0, elements: ['C002', 'C106', '1225', '4343', '1373', '3453'] }, - 'CNT': { requires: 1, elements: ['C270'] }, - 'COD': { requires: 0, elements: ['C823', 'C824'] }, - 'COM': { requires: 1, elements: ['C076'] }, - 'CTA': { requires: 0, elements: ['3139', 'C056'] }, - 'CPS': { requires: 1, elements: ['7164', '7166', '7075'] }, - 'CUX': { requires: 0, elements: ['C504', 'C504', '5402', '6341'] }, - 'DGS': { requires: 0, elements: ['8273', 'C205', 'C234', 'C223', '8339', '8364', '8410', '8126', 'C235', 'C236', '8255', '8179', '8211', 'C289'] }, - 'DLM': { requires: 0, elements: ['4455', 'C522', 'C214', '4457'] }, - 'DTM': { requires: 1, elements: ['C507'] }, - 'EQA': { requires: 1, elements: ['8053', 'C237'] }, - 'EQD': { requires: 1, elements: ['8053', 'C237', 'C224', '8077', '8249', '8169'] }, - 'FTX': { requires: 1, elements: ['4451', '4453', 'C107', 'C108', '3453', '4447'] }, - 'GIN': { requires: 2, elements: ['7405', 'C208', 'C208', 'C208', 'C208', 'C208'] }, - 'GIR': { requires: 2, elements: ['7297', 'C206', 'C206', 'C206', 'C206', 'C206'] }, - 'HAN': { requires: 0, elements: ['C524', 'C218'] }, - 'IMD': { requires: 0, elements: ['7077', 'C272', 'C273', '7383'] }, - 'LAC': { requires: 1, elements: ['5463', 'C552', '4471', '1227', 'C214'] }, - 'LIN': { requires: 0, elements: ['1082', '1229', 'C212', 'C829', '1222', '7083'] }, - 'LOC': { requires: 1, elements: ['3227', 'C519', 'C553', '5479'] }, - 'MEA': { requires: 1, elements: ['6311', 'C502', 'C174', '7383'] }, - 'MOA': { requires: 1, elements: ['C516'] }, - 'NAD': { requires: 1, elements: ['3035', 'C082', 'C058', 'C080', 'C059', '3164', 'C819', '3251', '3207'] }, - 'PAC': { requires: 0, elements: ['7224', 'C531', 'C202', 'C402', 'C532'] }, - 'PAI': { requires: 1, elements: ['C534'] }, - 'PCD': { requires: 1, elements: ['C501', '4405'] }, - 'PCI': { requires: 0, elements: ['4233', 'C210', '8275', 'C827'] }, - 'PIA': { requires: 2, elements: ['4347', 'C212', 'C212', 'C212', 'C212', 'C212'] }, - 'PRI': { requires: 0, elements: ['C509', '5213'] }, - 'QTY': { requires: 1, elements: ['C186'] }, - 'QVR': { requires: 0, elements: ['C279', '4221', 'C960'] }, - 'RFF': { requires: 1, elements: ['C506'] }, - 'SEL': { requires: 0, elements: ['9308', 'C215', '4517', 'C208'] }, - 'SGP': { requires: 1, elements: ['C237', '7224'] }, - 'TDT': { requires: 1, elements: ['8051', '8028', 'C220', 'C228', 'C040', '8101', 'C401', 'C222', '8281'] }, - 'TMD': { requires: 0, elements: ['C219', '8332', '8341'] }, - 'TOD': { requires: 0, elements: ['4055', '4215', 'C100'] }, - 'UNH': { requires: 2, elements: ['0065', '0052', '0054', '0051', '0057', '0110'] }, - 'UNS': { requires: 1, elements: ['0081'] }, - 'UNT': { requires: 2, elements: ['0074', '0062'] }, - 'UNZ': { requires: 2, elements: ['0036', '0020'] }, -}; - -module.exports = segments; diff --git a/spec/SegmentSpec.js b/spec/SegmentSpec.js index 2cb885f..3dfba93 100644 --- a/spec/SegmentSpec.js +++ b/spec/SegmentSpec.js @@ -1,8 +1,8 @@ 'use strict' import {Validator} from "../index.js"; -import * as segments from "../segments.js"; -import * as elements from "../elements.js"; +import * as segments from "../definitions/segments.json"; +import * as elements from "../definitions/elements.json"; describe('Validator', function () { let validator;