hl7v2 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -127,6 +127,7 @@ class HL7Message {
127
127
  this.header.field(hl7v2_dictionary_1.MSHSegment.VersionID).setValue(raw.version);
128
128
  /* c8 ignore next */
129
129
  const e1 = e instanceof hl7_error_js_1.HL7Error ? e : new hl7_error_js_1.HL7Error(e.message);
130
+ e1.stack = e.stack;
130
131
  if (e1.segmentType) {
131
132
  const lastSeg = this.getSegmentFromLast(e.segmentType);
132
133
  if (lastSeg)
@@ -44,10 +44,13 @@ class HL7Segment {
44
44
  return (this._fields[position - 1] = new hl7_field_js_1.HL7Field(this, position, def));
45
45
  }
46
46
  next(segmentType) {
47
- const index = this.index + 1;
48
- const segment = this.message.segments[index];
49
- if (segment && (!segmentType || segment.segmentType === segmentType))
50
- return segment;
47
+ let index = this.index + 1;
48
+ let segment = this.message.segments[index];
49
+ while (segment) {
50
+ if (!segmentType || segment.segmentType === segmentType)
51
+ return segment;
52
+ segment = this.message.segments[++index];
53
+ }
51
54
  }
52
55
  toHL7String(options) {
53
56
  const { fieldSeparator } = this.message;
@@ -54,7 +54,7 @@ class Hl7SubComponent {
54
54
  }
55
55
  catch (e) {
56
56
  if (!options?.strict) {
57
- this.value = unescaped;
57
+ this._value = unescaped;
58
58
  return;
59
59
  }
60
60
  const location = `${this.segment.segmentType}.${this.field.position}.${this.component.position}.${this.position}[${this.component.repetition.index}]`;
@@ -123,6 +123,7 @@ export class HL7Message {
123
123
  this.header.field(MSHSegment.VersionID).setValue(raw.version);
124
124
  /* c8 ignore next */
125
125
  const e1 = e instanceof HL7Error ? e : new HL7Error(e.message);
126
+ e1.stack = e.stack;
126
127
  if (e1.segmentType) {
127
128
  const lastSeg = this.getSegmentFromLast(e.segmentType);
128
129
  if (lastSeg)
@@ -41,10 +41,13 @@ export class HL7Segment {
41
41
  return (this._fields[position - 1] = new HL7Field(this, position, def));
42
42
  }
43
43
  next(segmentType) {
44
- const index = this.index + 1;
45
- const segment = this.message.segments[index];
46
- if (segment && (!segmentType || segment.segmentType === segmentType))
47
- return segment;
44
+ let index = this.index + 1;
45
+ let segment = this.message.segments[index];
46
+ while (segment) {
47
+ if (!segmentType || segment.segmentType === segmentType)
48
+ return segment;
49
+ segment = this.message.segments[++index];
50
+ }
48
51
  }
49
52
  toHL7String(options) {
50
53
  const { fieldSeparator } = this.message;
@@ -51,7 +51,7 @@ export class Hl7SubComponent {
51
51
  }
52
52
  catch (e) {
53
53
  if (!options?.strict) {
54
- this.value = unescaped;
54
+ this._value = unescaped;
55
55
  return;
56
56
  }
57
57
  const location = `${this.segment.segmentType}.${this.field.position}.${this.component.position}.${this.position}[${this.component.repetition.index}]`;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hl7v2",
3
3
  "description": "HL7 v2 parser, serializer, validator for NodeJS",
4
- "version": "1.3.0",
4
+ "version": "1.3.2",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
7
7
  "dependencies": {
@@ -15,7 +15,7 @@
15
15
  "uid": "^2.0.2"
16
16
  },
17
17
  "peerDependencies": {
18
- "hl7v2-dictionary": "^1.3.0"
18
+ "hl7v2-dictionary": "^1.3.2"
19
19
  },
20
20
  "type": "module",
21
21
  "exports": {