@ya-modbus/emulator 0.7.0 → 0.8.0

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.
Files changed (162) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +45 -6
  3. package/dist/cjs/bin/ya-modbus-emulator.d.ts +9 -0
  4. package/dist/cjs/bin/ya-modbus-emulator.d.ts.map +1 -0
  5. package/dist/cjs/bin/ya-modbus-emulator.js +16 -0
  6. package/dist/cjs/bin/ya-modbus-emulator.js.map +1 -0
  7. package/dist/cjs/src/behaviors/function-codes.d.ts.map +1 -0
  8. package/dist/cjs/src/behaviors/function-codes.js.map +1 -0
  9. package/dist/cjs/src/behaviors/timing.d.ts.map +1 -0
  10. package/dist/cjs/src/behaviors/timing.js.map +1 -0
  11. package/dist/cjs/src/cli.d.ts.map +1 -0
  12. package/dist/cjs/src/cli.js.map +1 -0
  13. package/dist/cjs/src/device.d.ts.map +1 -0
  14. package/dist/cjs/src/device.js.map +1 -0
  15. package/dist/cjs/src/emulator.d.ts.map +1 -0
  16. package/dist/cjs/src/emulator.js.map +1 -0
  17. package/dist/cjs/src/index.d.ts.map +1 -0
  18. package/dist/cjs/src/index.js.map +1 -0
  19. package/dist/cjs/src/transports/base.d.ts.map +1 -0
  20. package/dist/cjs/src/transports/base.js.map +1 -0
  21. package/dist/cjs/src/transports/memory.d.ts.map +1 -0
  22. package/dist/cjs/src/transports/memory.js.map +1 -0
  23. package/dist/cjs/{transports → src/transports}/rtu.d.ts +12 -15
  24. package/dist/cjs/src/transports/rtu.d.ts.map +1 -0
  25. package/dist/cjs/src/transports/rtu.js +218 -0
  26. package/dist/cjs/src/transports/rtu.js.map +1 -0
  27. package/dist/cjs/src/types/config.d.ts.map +1 -0
  28. package/dist/cjs/src/types/config.js.map +1 -0
  29. package/dist/cjs/src/types/device.d.ts.map +1 -0
  30. package/dist/cjs/src/types/device.js.map +1 -0
  31. package/dist/cjs/src/utils/config-loader.d.ts.map +1 -0
  32. package/dist/cjs/src/utils/config-loader.js.map +1 -0
  33. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  34. package/dist/esm/bin/ya-modbus-emulator.d.ts +9 -0
  35. package/dist/esm/bin/ya-modbus-emulator.d.ts.map +1 -0
  36. package/dist/esm/bin/ya-modbus-emulator.js +14 -0
  37. package/dist/esm/bin/ya-modbus-emulator.js.map +1 -0
  38. package/dist/esm/src/behaviors/function-codes.d.ts.map +1 -0
  39. package/dist/esm/src/behaviors/function-codes.js.map +1 -0
  40. package/dist/esm/src/behaviors/timing.d.ts.map +1 -0
  41. package/dist/esm/src/behaviors/timing.js.map +1 -0
  42. package/dist/esm/src/cli.d.ts.map +1 -0
  43. package/dist/esm/src/cli.js.map +1 -0
  44. package/dist/esm/src/device.d.ts.map +1 -0
  45. package/dist/esm/src/device.js.map +1 -0
  46. package/dist/esm/src/emulator.d.ts.map +1 -0
  47. package/dist/esm/src/emulator.js.map +1 -0
  48. package/dist/esm/src/index.d.ts.map +1 -0
  49. package/dist/esm/src/index.js.map +1 -0
  50. package/dist/esm/src/transports/base.d.ts.map +1 -0
  51. package/dist/esm/src/transports/base.js.map +1 -0
  52. package/dist/esm/src/transports/memory.d.ts.map +1 -0
  53. package/dist/esm/src/transports/memory.js.map +1 -0
  54. package/dist/esm/{transports → src/transports}/rtu.d.ts +12 -15
  55. package/dist/esm/src/transports/rtu.d.ts.map +1 -0
  56. package/dist/esm/src/transports/rtu.js +214 -0
  57. package/dist/esm/src/transports/rtu.js.map +1 -0
  58. package/dist/esm/src/types/config.d.ts.map +1 -0
  59. package/dist/esm/src/types/config.js.map +1 -0
  60. package/dist/esm/src/types/device.d.ts.map +1 -0
  61. package/dist/esm/src/types/device.js.map +1 -0
  62. package/dist/esm/src/utils/config-loader.d.ts.map +1 -0
  63. package/dist/esm/src/utils/config-loader.js.map +1 -0
  64. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  65. package/package.json +10 -11
  66. package/bin/ya-modbus-emulator.js +0 -10
  67. package/dist/cjs/behaviors/function-codes.d.ts.map +0 -1
  68. package/dist/cjs/behaviors/function-codes.js.map +0 -1
  69. package/dist/cjs/behaviors/timing.d.ts.map +0 -1
  70. package/dist/cjs/behaviors/timing.js.map +0 -1
  71. package/dist/cjs/cli.d.ts.map +0 -1
  72. package/dist/cjs/cli.js.map +0 -1
  73. package/dist/cjs/device.d.ts.map +0 -1
  74. package/dist/cjs/device.js.map +0 -1
  75. package/dist/cjs/emulator.d.ts.map +0 -1
  76. package/dist/cjs/emulator.js.map +0 -1
  77. package/dist/cjs/index.d.ts.map +0 -1
  78. package/dist/cjs/index.js.map +0 -1
  79. package/dist/cjs/transports/base.d.ts.map +0 -1
  80. package/dist/cjs/transports/base.js.map +0 -1
  81. package/dist/cjs/transports/memory.d.ts.map +0 -1
  82. package/dist/cjs/transports/memory.js.map +0 -1
  83. package/dist/cjs/transports/rtu.d.ts.map +0 -1
  84. package/dist/cjs/transports/rtu.js +0 -124
  85. package/dist/cjs/transports/rtu.js.map +0 -1
  86. package/dist/cjs/types/config.d.ts.map +0 -1
  87. package/dist/cjs/types/config.js.map +0 -1
  88. package/dist/cjs/types/device.d.ts.map +0 -1
  89. package/dist/cjs/types/device.js.map +0 -1
  90. package/dist/cjs/utils/config-loader.d.ts.map +0 -1
  91. package/dist/cjs/utils/config-loader.js.map +0 -1
  92. package/dist/esm/behaviors/function-codes.d.ts.map +0 -1
  93. package/dist/esm/behaviors/function-codes.js.map +0 -1
  94. package/dist/esm/behaviors/timing.d.ts.map +0 -1
  95. package/dist/esm/behaviors/timing.js.map +0 -1
  96. package/dist/esm/cli.d.ts.map +0 -1
  97. package/dist/esm/cli.js.map +0 -1
  98. package/dist/esm/device.d.ts.map +0 -1
  99. package/dist/esm/device.js.map +0 -1
  100. package/dist/esm/emulator.d.ts.map +0 -1
  101. package/dist/esm/emulator.js.map +0 -1
  102. package/dist/esm/index.d.ts.map +0 -1
  103. package/dist/esm/index.js.map +0 -1
  104. package/dist/esm/transports/base.d.ts.map +0 -1
  105. package/dist/esm/transports/base.js.map +0 -1
  106. package/dist/esm/transports/memory.d.ts.map +0 -1
  107. package/dist/esm/transports/memory.js.map +0 -1
  108. package/dist/esm/transports/rtu.d.ts.map +0 -1
  109. package/dist/esm/transports/rtu.js +0 -120
  110. package/dist/esm/transports/rtu.js.map +0 -1
  111. package/dist/esm/types/config.d.ts.map +0 -1
  112. package/dist/esm/types/config.js.map +0 -1
  113. package/dist/esm/types/device.d.ts.map +0 -1
  114. package/dist/esm/types/device.js.map +0 -1
  115. package/dist/esm/utils/config-loader.d.ts.map +0 -1
  116. package/dist/esm/utils/config-loader.js.map +0 -1
  117. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  118. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  119. /package/dist/cjs/{behaviors → src/behaviors}/function-codes.d.ts +0 -0
  120. /package/dist/cjs/{behaviors → src/behaviors}/function-codes.js +0 -0
  121. /package/dist/cjs/{behaviors → src/behaviors}/timing.d.ts +0 -0
  122. /package/dist/cjs/{behaviors → src/behaviors}/timing.js +0 -0
  123. /package/dist/cjs/{cli.d.ts → src/cli.d.ts} +0 -0
  124. /package/dist/cjs/{cli.js → src/cli.js} +0 -0
  125. /package/dist/cjs/{device.d.ts → src/device.d.ts} +0 -0
  126. /package/dist/cjs/{device.js → src/device.js} +0 -0
  127. /package/dist/cjs/{emulator.d.ts → src/emulator.d.ts} +0 -0
  128. /package/dist/cjs/{emulator.js → src/emulator.js} +0 -0
  129. /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
  130. /package/dist/cjs/{index.js → src/index.js} +0 -0
  131. /package/dist/cjs/{transports → src/transports}/base.d.ts +0 -0
  132. /package/dist/cjs/{transports → src/transports}/base.js +0 -0
  133. /package/dist/cjs/{transports → src/transports}/memory.d.ts +0 -0
  134. /package/dist/cjs/{transports → src/transports}/memory.js +0 -0
  135. /package/dist/cjs/{types → src/types}/config.d.ts +0 -0
  136. /package/dist/cjs/{types → src/types}/config.js +0 -0
  137. /package/dist/cjs/{types → src/types}/device.d.ts +0 -0
  138. /package/dist/cjs/{types → src/types}/device.js +0 -0
  139. /package/dist/cjs/{utils → src/utils}/config-loader.d.ts +0 -0
  140. /package/dist/cjs/{utils → src/utils}/config-loader.js +0 -0
  141. /package/dist/esm/{behaviors → src/behaviors}/function-codes.d.ts +0 -0
  142. /package/dist/esm/{behaviors → src/behaviors}/function-codes.js +0 -0
  143. /package/dist/esm/{behaviors → src/behaviors}/timing.d.ts +0 -0
  144. /package/dist/esm/{behaviors → src/behaviors}/timing.js +0 -0
  145. /package/dist/esm/{cli.d.ts → src/cli.d.ts} +0 -0
  146. /package/dist/esm/{cli.js → src/cli.js} +0 -0
  147. /package/dist/esm/{device.d.ts → src/device.d.ts} +0 -0
  148. /package/dist/esm/{device.js → src/device.js} +0 -0
  149. /package/dist/esm/{emulator.d.ts → src/emulator.d.ts} +0 -0
  150. /package/dist/esm/{emulator.js → src/emulator.js} +0 -0
  151. /package/dist/esm/{index.d.ts → src/index.d.ts} +0 -0
  152. /package/dist/esm/{index.js → src/index.js} +0 -0
  153. /package/dist/esm/{transports → src/transports}/base.d.ts +0 -0
  154. /package/dist/esm/{transports → src/transports}/base.js +0 -0
  155. /package/dist/esm/{transports → src/transports}/memory.d.ts +0 -0
  156. /package/dist/esm/{transports → src/transports}/memory.js +0 -0
  157. /package/dist/esm/{types → src/types}/config.d.ts +0 -0
  158. /package/dist/esm/{types → src/types}/config.js +0 -0
  159. /package/dist/esm/{types → src/types}/device.d.ts +0 -0
  160. /package/dist/esm/{types → src/types}/device.js +0 -0
  161. /package/dist/esm/{utils → src/utils}/config-loader.d.ts +0 -0
  162. /package/dist/esm/{utils → src/utils}/config-loader.js +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.8.0](https://github.com/groupsky/ya-modbus/compare/@ya-modbus/emulator@0.7.1...@ya-modbus/emulator@0.8.0) (2026-02-07)
7
+
8
+ ### Features
9
+
10
+ - **emulator:** implement RTU transport using modbus-serial ([#243](https://github.com/groupsky/ya-modbus/issues/243)) ([71d0757](https://github.com/groupsky/ya-modbus/commit/71d0757bbbab9ae4e611c7e58baea85f2ca09501)), closes [#244](https://github.com/groupsky/ya-modbus/issues/244) [#245](https://github.com/groupsky/ya-modbus/issues/245) [#246](https://github.com/groupsky/ya-modbus/issues/246) [#247](https://github.com/groupsky/ya-modbus/issues/247) [#248](https://github.com/groupsky/ya-modbus/issues/248) [#249](https://github.com/groupsky/ya-modbus/issues/249) [#250](https://github.com/groupsky/ya-modbus/issues/250)
11
+
12
+ ## [0.7.1](https://github.com/groupsky/ya-modbus/compare/@ya-modbus/emulator@0.7.0...@ya-modbus/emulator@0.7.1) (2026-02-06)
13
+
14
+ **Note:** Version bump only for package @ya-modbus/emulator
15
+
6
16
  # [0.7.0](https://github.com/groupsky/ya-modbus/compare/@ya-modbus/emulator@0.6.0...@ya-modbus/emulator@0.7.0) (2026-01-11)
7
17
 
8
18
  ### Features
package/README.md CHANGED
@@ -7,7 +7,7 @@ Software Modbus device emulator for testing device drivers without physical hard
7
7
  - **Realistic device simulation**: Mimic actual device constraints and timing characteristics
8
8
  - **Test acceleration**: Enable fast, deterministic testing without hardware
9
9
  - **Edge case coverage**: Simulate error conditions and edge cases
10
- - **Multiple transports**: TCP, RTU (virtual/real serial ports), and in-memory
10
+ - **Multiple transports**: RTU (virtual/real serial ports) and in-memory
11
11
  - **Custom function codes**: Support vendor-specific Modbus extensions
12
12
 
13
13
  ## Installation
@@ -18,13 +18,14 @@ npm install @ya-modbus/emulator
18
18
 
19
19
  ## Quick Start
20
20
 
21
+ ### Memory Transport (fastest for unit tests)
22
+
21
23
  ```typescript
22
24
  import { ModbusEmulator } from '@ya-modbus/emulator'
23
25
 
24
- // Create emulator with TCP transport
26
+ // Create emulator with in-memory transport
25
27
  const emulator = new ModbusEmulator({
26
- transport: 'tcp',
27
- port: 5502,
28
+ transport: 'memory',
28
29
  })
29
30
 
30
31
  // Add a device
@@ -48,6 +49,46 @@ await emulator.start()
48
49
  await emulator.stop()
49
50
  ```
50
51
 
52
+ ### RTU Transport (serial port)
53
+
54
+ ```typescript
55
+ import { ModbusEmulator } from '@ya-modbus/emulator'
56
+
57
+ // Create emulator with RTU transport
58
+ const emulator = new ModbusEmulator({
59
+ transport: 'rtu',
60
+ port: '/dev/ttyUSB0', // or 'COM3' on Windows
61
+ baudRate: 9600,
62
+ parity: 'none',
63
+ dataBits: 8,
64
+ stopBits: 1,
65
+ })
66
+
67
+ // Add devices
68
+ emulator.addDevice({
69
+ slaveId: 1,
70
+ registers: {
71
+ holding: { 0: 230, 1: 52 },
72
+ },
73
+ })
74
+
75
+ emulator.addDevice({
76
+ slaveId: 2,
77
+ registers: {
78
+ holding: { 0: 500, 1: 100 },
79
+ },
80
+ })
81
+
82
+ // Start emulator
83
+ await emulator.start()
84
+
85
+ // Use with your driver tests
86
+ // ...
87
+
88
+ // Stop emulator
89
+ await emulator.stop()
90
+ ```
91
+
51
92
  ## CLI Usage
52
93
 
53
94
  The emulator can be used from the command line for quick testing:
@@ -145,8 +186,6 @@ See `examples/config-files/` for more examples.
145
186
 
146
187
  ### Testing with Virtual Serial Ports
147
188
 
148
- > **⚠️ Note**: RTU transport is currently a placeholder for v0.1.0. Serial port communication will be implemented in v0.2.0. Use the memory transport for testing in this version.
149
-
150
189
  For testing without physical hardware, create virtual serial port pairs:
151
190
 
152
191
  **Linux/macOS** (using socat):
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI entry point for Modbus emulator
4
+ *
5
+ * This file is the executable entry point for the emulator CLI.
6
+ * The actual CLI implementation is in src/cli.ts
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=ya-modbus-emulator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ya-modbus-emulator.d.ts","sourceRoot":"","sources":["../../../bin/ya-modbus-emulator.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * CLI entry point for Modbus emulator
5
+ *
6
+ * This file is the executable entry point for the emulator CLI.
7
+ * The actual CLI implementation is in src/cli.ts
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const cli_js_1 = require("../src/cli.js");
11
+ // Run the CLI
12
+ (0, cli_js_1.main)().catch((error) => {
13
+ console.error('[ERROR]', error instanceof Error ? error.message : String(error));
14
+ process.exit(1);
15
+ });
16
+ //# sourceMappingURL=ya-modbus-emulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ya-modbus-emulator.js","sourceRoot":"","sources":["../../../bin/ya-modbus-emulator.ts"],"names":[],"mappings":";;AAEA;;;;;GAKG;;AAEH,0CAAoC;AAEpC,cAAc;AACd,IAAA,aAAI,GAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-codes.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/function-codes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGlD,eAAO,MAAM,gBAAgB,IAAO,CAAA;AACpC,eAAO,MAAM,oBAAoB,IAAO,CAAA;AACxC,eAAO,MAAM,kBAAkB,IAAO,CAAA;AAEtC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CA4BnF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-codes.js","sourceRoot":"","sources":["../../../../src/behaviors/function-codes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/timing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CAYnF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMvF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,aAK1B,CAAA;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAe;gBAElB,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,aAA4B;IAKzE;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IA8BnE;;;;;OAKG;IACG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAInE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../../../src/behaviors/timing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;AA8CH;;GAEG;AACH,iBAAe,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmGnC;AAOD,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/device.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAoB1E,qBAAa,cAAe,YAAW,eAAe;IACpD,SAAgB,OAAO,EAAE,MAAM,CAAA;IAC/B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAE7B,MAAM,EAAE,YAAY;IAwChC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMxD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIzC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMtD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIjC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIvD,kBAAkB,IAAI,eAAe,GAAG,SAAS;CAGlD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/device.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qDAAuD;AAIvD,2CAA2C;AAC3C,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAC9B,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAC5B,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC,SAAS,uBAAuB,CAAC,OAAe;IAC9C,IAAI,OAAO,GAAG,oBAAoB,IAAI,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,yBAAyB,CAAC,CAAA;IACvE,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,OAAe;IAC3D,IAAI,KAAK,GAAG,kBAAkB,IAAI,KAAK,GAAG,kBAAkB,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,eAAe,OAAO,yBAAyB,CAAC,CAAA;IACzF,CAAC;AACH,CAAC;AAED,MAAa,cAAc;IAQzB,YAAY,MAAoB;QANxB,qBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAA;QACjD,mBAAc,GAAwB,IAAI,GAAG,EAAE,CAAA;QAC/C,UAAK,GAAyB,IAAI,GAAG,EAAE,CAAA;QACvC,mBAAc,GAAyB,IAAI,GAAG,EAAE,CAAA;QAItD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE7B,6BAA6B;QAC7B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,GAAG,IAAI,2BAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3D,CAAC;QAED,mCAAmC;QACnC,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC5B,uBAAuB,CAAC,IAAI,CAAC,CAAA;gBAC7B,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC5B,uBAAuB,CAAC,IAAI,CAAC,CAAA;gBAC7B,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,KAAa;QAC/C,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAChC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3C,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,KAAa;QAC7C,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAChC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAA;IACzC,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,KAAc;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAA;IAClD,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,KAAc;QAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;CACF;AAvFD,wCAuFC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emulator.d.ts","sourceRoot":"","sources":["../../../src/emulator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErE,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,cAAc;IA+B5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAQb,aAAa;IA2B3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B,YAAY,IAAI,aAAa;IAI7B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc;IAU/C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOnC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CAGvD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../../src/emulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACtF,YAAY,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6CAA8C;AAArC,6GAAA,cAAc,OAAA;AACvB,yCAA4C;AAAnC,2GAAA,cAAc,OAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/transports/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8BAAsB,aAAa;IACjC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/D,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;CACzF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/transports/base.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAsB,aAAa;CAKlC;AALD,sCAKC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/transports/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,cAAc,CAAC,CAAuD;IAExE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAI/E;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAMrE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../src/transports/memory.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAAyC;AAEzC,MAAa,eAAgB,SAAQ,uBAAa;IAGhD,KAAK,CAAC,KAAK;QACT,qCAAqC;IACvC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,qCAAqC;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,SAAiB;QAC5C,iDAAiD;QACjD,0CAA0C;IAC5C,CAAC;IAED,SAAS,CAAC,OAA8D;QACtE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,OAAe;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;CACF;AA7BD,0CA6BC"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * RTU (serial) transport for Modbus emulator
3
3
  *
4
- * This implementation uses modbus-serial for protocol handling.
5
- * Serial port communication will be added in future iterations.
4
+ * This implementation uses modbus-serial ServerSerial for protocol handling.
6
5
  */
7
6
  import { BaseTransport } from './base.js';
8
7
  export interface RtuTransportConfig {
@@ -13,32 +12,30 @@ export interface RtuTransportConfig {
13
12
  stopBits?: 1 | 2;
14
13
  }
15
14
  export declare class RtuTransport extends BaseTransport {
15
+ private config;
16
16
  private requestHandler?;
17
+ private server?;
17
18
  private started;
18
- constructor(_config: RtuTransportConfig);
19
+ constructor(config: RtuTransportConfig);
19
20
  start(): Promise<void>;
20
21
  stop(): Promise<void>;
21
22
  send(_slaveId: number, _response: Buffer): Promise<void>;
22
23
  onRequest(handler: (slaveId: number, request: Buffer) => Promise<Buffer>): void;
23
24
  /**
24
- * Handle complete RTU frame (for future serial port implementation)
25
- * @internal
25
+ * Handle register read operations
26
26
  */
27
- handleFrame(frame: Buffer): Promise<void>;
27
+ private handleRegisterRead;
28
28
  /**
29
- * Calculate Modbus RTU CRC-16 (Modbus variant)
30
- *
31
- * Returns CRC as a 16-bit value that can be written with writeUInt16LE
29
+ * Handle register write operations
32
30
  */
33
- private calculateCRC;
31
+ private handleRegisterWrite;
34
32
  /**
35
- * Verify CRC of RTU frame
33
+ * Handle coil read operations
36
34
  */
37
- private verifyCRC;
35
+ private handleCoilRead;
38
36
  /**
39
- * Add CRC to buffer
40
- * @internal
37
+ * Handle coil write operations
41
38
  */
42
- addCRC(buffer: Buffer): Buffer;
39
+ private handleCoilWrite;
43
40
  }
44
41
  //# sourceMappingURL=rtu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtu.d.ts","sourceRoot":"","sources":["../../../../src/transports/rtu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAChB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CACjB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,cAAc,CAAC,CAAuD;IAC9E,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,kBAAkB;IAKhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuEtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAI/E;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;YACW,mBAAmB;IAqCjC;;OAEG;YACW,cAAc;IAiC5B;;OAEG;YACW,eAAe;CAoB9B"}
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ /**
3
+ * RTU (serial) transport for Modbus emulator
4
+ *
5
+ * This implementation uses modbus-serial ServerSerial for protocol handling.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RtuTransport = void 0;
9
+ const modbus_serial_1 = require("modbus-serial");
10
+ const base_js_1 = require("./base.js");
11
+ class RtuTransport extends base_js_1.BaseTransport {
12
+ constructor(config) {
13
+ super();
14
+ this.started = false;
15
+ this.config = config;
16
+ }
17
+ async start() {
18
+ if (this.started) {
19
+ throw new Error('Transport already started');
20
+ }
21
+ // Create service vector that bridges modbus-serial callbacks to our request handler
22
+ const serviceVector = {
23
+ getHoldingRegister: async (addr, unitID) => {
24
+ return this.handleRegisterRead(unitID, 0x03, addr, 1);
25
+ },
26
+ getInputRegister: async (addr, unitID) => {
27
+ return this.handleRegisterRead(unitID, 0x04, addr, 1);
28
+ },
29
+ getMultipleHoldingRegisters: async (addr, length, unitID) => {
30
+ return this.handleRegisterRead(unitID, 0x03, addr, length);
31
+ },
32
+ getMultipleInputRegisters: async (addr, length, unitID) => {
33
+ return this.handleRegisterRead(unitID, 0x04, addr, length);
34
+ },
35
+ setRegister: async (addr, value, unitID) => {
36
+ return this.handleRegisterWrite(unitID, 0x06, addr, [value]);
37
+ },
38
+ setRegisterArray: async (addr, values, unitID) => {
39
+ return this.handleRegisterWrite(unitID, 0x10, addr, values);
40
+ },
41
+ getCoil: async (addr, unitID) => {
42
+ return this.handleCoilRead(unitID, 0x01, addr, 1);
43
+ },
44
+ getDiscreteInput: async (addr, unitID) => {
45
+ return this.handleCoilRead(unitID, 0x02, addr, 1);
46
+ },
47
+ setCoil: async (addr, value, unitID) => {
48
+ return this.handleCoilWrite(unitID, 0x05, addr, value);
49
+ },
50
+ };
51
+ // Build options with only defined serial port parameters
52
+ // Filter out undefined values to satisfy exactOptionalPropertyTypes
53
+ const options = Object.fromEntries(Object.entries({
54
+ path: this.config.port,
55
+ unitID: 255, // Listen to all unit IDs
56
+ baudRate: this.config.baudRate,
57
+ parity: this.config.parity,
58
+ dataBits: this.config.dataBits,
59
+ stopBits: this.config.stopBits,
60
+ }).filter(([, value]) => value !== undefined));
61
+ // Create and start server
62
+ return new Promise((resolve, reject) => {
63
+ this.server = new modbus_serial_1.ServerSerial(serviceVector, {
64
+ ...options,
65
+ openCallback: (err) => {
66
+ if (err) {
67
+ reject(err);
68
+ }
69
+ else {
70
+ this.started = true;
71
+ resolve();
72
+ }
73
+ },
74
+ });
75
+ // Handle errors
76
+ this.server.on('error', (err) => {
77
+ // Log error but don't stop server
78
+ console.error('RTU transport error:', err);
79
+ });
80
+ });
81
+ }
82
+ async stop() {
83
+ if (!this.started || !this.server) {
84
+ return;
85
+ }
86
+ return new Promise((resolve, reject) => {
87
+ if (!this.server) {
88
+ resolve();
89
+ return;
90
+ }
91
+ this.server.close((err) => {
92
+ if (err) {
93
+ reject(err);
94
+ }
95
+ else {
96
+ this.started = false;
97
+ delete this.server;
98
+ resolve();
99
+ }
100
+ });
101
+ });
102
+ }
103
+ send(_slaveId, _response) {
104
+ if (!this.started) {
105
+ return Promise.reject(new Error('Transport not started'));
106
+ }
107
+ // Responses are sent automatically by modbus-serial server
108
+ // This method is kept for interface compatibility
109
+ return Promise.resolve();
110
+ }
111
+ onRequest(handler) {
112
+ this.requestHandler = handler;
113
+ }
114
+ /**
115
+ * Handle register read operations
116
+ */
117
+ async handleRegisterRead(unitID, functionCode, addr, length) {
118
+ if (!this.requestHandler) {
119
+ throw new Error('No request handler set');
120
+ }
121
+ // Build Modbus request buffer
122
+ const request = Buffer.alloc(6);
123
+ request[0] = unitID;
124
+ request[1] = functionCode;
125
+ request.writeUInt16BE(addr, 2);
126
+ request.writeUInt16BE(length, 4);
127
+ // Call handler
128
+ const response = await this.requestHandler(unitID, request);
129
+ // Parse response
130
+ const byteCount = response[2];
131
+ if (byteCount === undefined || response.length < 3 + byteCount) {
132
+ throw new Error('Invalid response');
133
+ }
134
+ // Extract register values
135
+ const values = [];
136
+ for (let i = 0; i < byteCount / 2; i++) {
137
+ values.push(response.readUInt16BE(3 + i * 2));
138
+ }
139
+ return values;
140
+ }
141
+ /**
142
+ * Handle register write operations
143
+ */
144
+ async handleRegisterWrite(unitID, functionCode, addr, values) {
145
+ if (!this.requestHandler) {
146
+ throw new Error('No request handler set');
147
+ }
148
+ // Build Modbus request buffer
149
+ let request;
150
+ if (functionCode === 0x06) {
151
+ // Write single register
152
+ request = Buffer.alloc(6);
153
+ request[0] = unitID;
154
+ request[1] = functionCode;
155
+ request.writeUInt16BE(addr, 2);
156
+ request.writeUInt16BE(values[0] ?? 0, 4);
157
+ }
158
+ else {
159
+ // Write multiple registers
160
+ const byteCount = values.length * 2;
161
+ request = Buffer.alloc(7 + byteCount);
162
+ request[0] = unitID;
163
+ request[1] = functionCode;
164
+ request.writeUInt16BE(addr, 2);
165
+ request.writeUInt16BE(values.length, 4);
166
+ request[6] = byteCount;
167
+ for (let i = 0; i < values.length; i++) {
168
+ request.writeUInt16BE(values[i] ?? 0, 7 + i * 2);
169
+ }
170
+ }
171
+ // Call handler and ignore response
172
+ await this.requestHandler(unitID, request);
173
+ }
174
+ /**
175
+ * Handle coil read operations
176
+ */
177
+ async handleCoilRead(unitID, functionCode, addr, length) {
178
+ if (!this.requestHandler) {
179
+ throw new Error('No request handler set');
180
+ }
181
+ // Build Modbus request buffer
182
+ const request = Buffer.alloc(6);
183
+ request[0] = unitID;
184
+ request[1] = functionCode;
185
+ request.writeUInt16BE(addr, 2);
186
+ request.writeUInt16BE(length, 4);
187
+ // Call handler
188
+ const response = await this.requestHandler(unitID, request);
189
+ // Parse response - get first bit from first byte of coil data
190
+ const byteCount = response[2];
191
+ if (byteCount === undefined || response.length < 4) {
192
+ throw new Error('Invalid response');
193
+ }
194
+ const coilByte = response[3];
195
+ if (coilByte === undefined) {
196
+ throw new Error('Invalid response');
197
+ }
198
+ return (coilByte & 0x01) === 1;
199
+ }
200
+ /**
201
+ * Handle coil write operations
202
+ */
203
+ async handleCoilWrite(unitID, functionCode, addr, value) {
204
+ if (!this.requestHandler) {
205
+ throw new Error('No request handler set');
206
+ }
207
+ // Build Modbus request buffer
208
+ const request = Buffer.alloc(6);
209
+ request[0] = unitID;
210
+ request[1] = functionCode;
211
+ request.writeUInt16BE(addr, 2);
212
+ request.writeUInt16BE(value ? 0xff00 : 0x0000, 4);
213
+ // Call handler and ignore response
214
+ await this.requestHandler(unitID, request);
215
+ }
216
+ }
217
+ exports.RtuTransport = RtuTransport;
218
+ //# sourceMappingURL=rtu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtu.js","sourceRoot":"","sources":["../../../../src/transports/rtu.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAA4C;AAG5C,uCAAyC;AAUzC,MAAa,YAAa,SAAQ,uBAAa;IAM7C,YAAY,MAA0B;QACpC,KAAK,EAAE,CAAA;QAHD,YAAO,GAAG,KAAK,CAAA;QAIrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QAED,oFAAoF;QACpF,MAAM,aAAa,GAAmB;YACpC,kBAAkB,EAAE,KAAK,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;gBACzD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACvD,CAAC;YACD,gBAAgB,EAAE,KAAK,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;gBACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACvD,CAAC;YACD,2BAA2B,EAAE,KAAK,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;gBAClF,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAC5D,CAAC;YACD,yBAAyB,EAAE,KAAK,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;gBAChF,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAC5D,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,IAAY,EAAE,KAAa,EAAE,MAAc,EAAE,EAAE;gBACjE,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YAC9D,CAAC;YACD,gBAAgB,EAAE,KAAK,EAAE,IAAY,EAAE,MAAgB,EAAE,MAAc,EAAE,EAAE;gBACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAC7D,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;gBAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACnD,CAAC;YACD,gBAAgB,EAAE,KAAK,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;gBACvD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACnD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,KAAc,EAAE,MAAc,EAAE,EAAE;gBAC9D,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACxD,CAAC;SACF,CAAA;QAED,yDAAyD;QACzD,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,GAAG,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACc,CAAA;QAE7D,0BAA0B;QAC1B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAY,CAAC,aAAa,EAAE;gBAC5C,GAAG,OAAO;gBACV,YAAY,EAAE,CAAC,GAAiB,EAAE,EAAE;oBAClC,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAA;oBACb,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;wBACnB,OAAO,EAAE,CAAA;oBACX,CAAC;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,gBAAgB;YAChB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9B,kCAAkC;gBAClC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,OAAM;QACR,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAA;gBACT,OAAM;YACR,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAA;gBACb,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;oBACpB,OAAO,IAAI,CAAC,MAAM,CAAA;oBAClB,OAAO,EAAE,CAAA;gBACX,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,SAAiB;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,2DAA2D;QAC3D,kDAAkD;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,SAAS,CAAC,OAA8D;QACtE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAA;IAC/B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,MAAc,EACd,YAAoB,EACpB,IAAY,EACZ,MAAc;QAEd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QACnB,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;QACzB,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC9B,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEhC,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE3D,iBAAiB;QACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,0BAA0B;QAC1B,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC/C,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,MAAc,EACd,YAAoB,EACpB,IAAY,EACZ,MAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAe,CAAA;QACnB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,wBAAwB;YACxB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACzB,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;YACnB,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;YACzB,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAC9B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YACnC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;YACrC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;YACnB,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;YACzB,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAC9B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACvC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,YAAoB,EACpB,IAAY,EACZ,MAAc;QAEd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QACnB,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;QACzB,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC9B,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEhC,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE3D,8DAA8D;QAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,MAAc,EACd,YAAoB,EACpB,IAAY,EACZ,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QACnB,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;QACzB,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC9B,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEjD,mCAAmC;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;CACF;AA/PD,oCA+PC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;IACnC,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IAChC,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAC3D,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACrD,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,8BAA8B,CAAC,EAAE,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,oCAAoC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/types/config.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/types/device.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,WAAW,cAAc;IAC7B,eAAe;IACf,OAAO,EAAE,MAAM,CAAA;IACf,iCAAiC;IACjC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3C,iCAAiC;IACjC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACxD,+BAA+B;IAC/B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACzC,+BAA+B;IAC/B,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACtD,qBAAqB;IACrB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IACjC,qBAAqB;IACrB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9C,+BAA+B;IAC/B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1C,+BAA+B;IAC/B,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IACvD,2BAA2B;IAC3B,kBAAkB,IAAI,eAAe,GAAG,SAAS,CAAA;CAClD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../../src/types/device.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACtB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;QAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;QAChB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;KACjB,CAAA;IACD,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAmBtE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../src/utils/config-loader.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAwBH,gCAmBC;;AAzCD,0CAAsC;AAEtC,8DAA0B;AAiB1B;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,oBAAoB;IACpB,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAEjD,gCAAgC;IAChC,IAAI,MAAe,CAAA;IAEnB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,iBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IAED,yBAAyB;IACzB,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtB,OAAO,MAAoB,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAA;IAE7C,qBAAqB;IACrB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC"}