ts-edifact
Version:
Edifact parser library
141 lines • 5.24 kB
JavaScript
"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