UNPKG

ts-edifact

Version:
141 lines 5.24 kB
"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