141 lines
5.1 KiB
JavaScript
141 lines
5.1 KiB
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
|