hl7v2 1.4.0 → 1.4.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.
@@ -34,5 +34,31 @@ class HL7MessageNode {
34
34
  }
35
35
  }
36
36
  }
37
+ /**
38
+ * Searches for a node of a given name
39
+ */
40
+ getNode(nodeName, index = 0) {
41
+ let k = 0;
42
+ for (const seg of this.items) {
43
+ if (seg instanceof HL7MessageNode && seg.name === nodeName) {
44
+ if (!index || index === k)
45
+ return seg;
46
+ k++;
47
+ }
48
+ }
49
+ }
50
+ /**
51
+ * Searches for a node of a given name in reverse order
52
+ */
53
+ getNodeFromLast(nodeName, index = 0) {
54
+ for (let k = this.items.length - 1; k >= 0; k--) {
55
+ const seg = this.items[k];
56
+ if (seg instanceof HL7MessageNode && seg.name === nodeName) {
57
+ if (!index || index === k)
58
+ return seg;
59
+ k++;
60
+ }
61
+ }
62
+ }
37
63
  }
38
64
  exports.HL7MessageNode = HL7MessageNode;
@@ -31,4 +31,30 @@ export class HL7MessageNode {
31
31
  }
32
32
  }
33
33
  }
34
+ /**
35
+ * Searches for a node of a given name
36
+ */
37
+ getNode(nodeName, index = 0) {
38
+ let k = 0;
39
+ for (const seg of this.items) {
40
+ if (seg instanceof HL7MessageNode && seg.name === nodeName) {
41
+ if (!index || index === k)
42
+ return seg;
43
+ k++;
44
+ }
45
+ }
46
+ }
47
+ /**
48
+ * Searches for a node of a given name in reverse order
49
+ */
50
+ getNodeFromLast(nodeName, index = 0) {
51
+ for (let k = this.items.length - 1; k >= 0; k--) {
52
+ const seg = this.items[k];
53
+ if (seg instanceof HL7MessageNode && seg.name === nodeName) {
54
+ if (!index || index === k)
55
+ return seg;
56
+ k++;
57
+ }
58
+ }
59
+ }
34
60
  }
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.4.0",
4
+ "version": "1.4.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.4.0"
18
+ "hl7v2-dictionary": "^1.4.2"
19
19
  },
20
20
  "type": "module",
21
21
  "exports": {
@@ -11,4 +11,12 @@ export declare class HL7MessageNode {
11
11
  * Searches for a segment of a given type in reverse order
12
12
  */
13
13
  getSegmentFromLast(segmentType: string, index?: number): HL7Segment | undefined;
14
+ /**
15
+ * Searches for a node of a given name
16
+ */
17
+ getNode(nodeName: string, index?: number): HL7MessageNode | undefined;
18
+ /**
19
+ * Searches for a node of a given name in reverse order
20
+ */
21
+ getNodeFromLast(nodeName: string, index?: number): HL7MessageNode | undefined;
14
22
  }