@ya-modbus/driver-loader 0.5.1 → 0.7.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.
- package/CHANGELOG.md +23 -0
- package/dist/cjs/config-validator.d.ts.map +1 -0
- package/dist/cjs/config-validator.js.map +1 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/{errors.js → cjs/errors.js} +0 -2
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/loader.d.ts.map +1 -0
- package/dist/cjs/loader.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/testing/index.d.ts.map +1 -0
- package/dist/cjs/testing/index.js.map +1 -0
- package/dist/cjs/testing.d.ts.map +1 -0
- package/dist/cjs/testing.js.map +1 -0
- package/dist/esm/config-validator.d.ts +53 -0
- package/dist/esm/config-validator.d.ts.map +1 -0
- package/dist/esm/config-validator.js +308 -0
- package/dist/esm/config-validator.js.map +1 -0
- package/dist/esm/errors.d.ts +69 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +81 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.d.ts +122 -0
- package/dist/esm/loader.d.ts.map +1 -0
- package/dist/esm/loader.js +204 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/testing/index.d.ts +21 -0
- package/dist/esm/testing/index.d.ts.map +1 -0
- package/dist/esm/testing/index.js +20 -0
- package/dist/esm/testing/index.js.map +1 -0
- package/dist/esm/testing.d.ts +64 -0
- package/dist/esm/testing.d.ts.map +1 -0
- package/dist/esm/testing.js +70 -0
- package/dist/esm/testing.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +28 -11
- package/dist/config-validator.d.ts.map +0 -1
- package/dist/config-validator.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js.map +0 -1
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js.map +0 -1
- /package/dist/{config-validator.d.ts → cjs/config-validator.d.ts} +0 -0
- /package/dist/{config-validator.js → cjs/config-validator.js} +0 -0
- /package/dist/{errors.d.ts → cjs/errors.d.ts} +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{index.js → cjs/index.js} +0 -0
- /package/dist/{loader.d.ts → cjs/loader.d.ts} +0 -0
- /package/dist/{loader.js → cjs/loader.js} +0 -0
- /package/dist/{testing → cjs/testing}/index.d.ts +0 -0
- /package/dist/{testing → cjs/testing}/index.js +0 -0
- /package/dist/{testing.d.ts → cjs/testing.d.ts} +0 -0
- /package/dist/{testing.js → cjs/testing.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
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.7.0](https://github.com/groupsky/ya-modbus/compare/@ya-modbus/driver-loader@0.6.0...@ya-modbus/driver-loader@0.7.0) (2026-01-11)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **build:** add dual CommonJS/ESM package support ([#187](https://github.com/groupsky/ya-modbus/issues/187)) ([3d78130](https://github.com/groupsky/ya-modbus/commit/3d781304d42edba335cdc320ba25275f3b4ea6c9))
|
|
11
|
+
|
|
12
|
+
# 0.6.0 (2026-01-04)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- enable linting without build and fix monorepo build order ([#129](https://github.com/groupsky/ya-modbus/issues/129)) ([e4ba4fd](https://github.com/groupsky/ya-modbus/commit/e4ba4fdc61c8695c3ab0b9504ef340d19861c599)), closes [#130](https://github.com/groupsky/ya-modbus/issues/130)
|
|
17
|
+
- **release:** bump versions to 0.2.0 to bypass npm 24h block ([#148](https://github.com/groupsky/ya-modbus/issues/148)) ([aa2be6a](https://github.com/groupsky/ya-modbus/commit/aa2be6ae998f4443774b43507e7991601ec3068a))
|
|
18
|
+
- **release:** revert failed release and add missing publishConfig ([#147](https://github.com/groupsky/ya-modbus/issues/147)) ([60ea209](https://github.com/groupsky/ya-modbus/commit/60ea2091cbb350b0f474dc45d3ab33177b050764))
|
|
19
|
+
- **release:** revert failed release and cleanup tags ([#145](https://github.com/groupsky/ya-modbus/issues/145)) ([228ae2b](https://github.com/groupsky/ya-modbus/commit/228ae2b4da0c433e475825d068202efd3f0d3a5a)), closes [#143](https://github.com/groupsky/ya-modbus/issues/143) [#144](https://github.com/groupsky/ya-modbus/issues/144)
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- **release:** add Lerna-Lite publishing with pre-release support ([#135](https://github.com/groupsky/ya-modbus/issues/135)) ([3db7542](https://github.com/groupsky/ya-modbus/commit/3db7542ddbb7bb150b4deab50d5c96e5d668c852))
|
|
24
|
+
|
|
25
|
+
### Reverts
|
|
26
|
+
|
|
27
|
+
- Revert "chore(release): publish packages" ([a6d080d](https://github.com/groupsky/ya-modbus/commit/a6d080deeacf306f4911b6d78eab05dac8bfa7a7))
|
|
28
|
+
|
|
6
29
|
## [0.5.1](https://github.com/groupsky/ya-modbus/compare/@ya-modbus/driver-loader@0.5.0...@ya-modbus/driver-loader@0.5.1) (2026-01-04)
|
|
7
30
|
|
|
8
31
|
**Note:** Version bump only for package @ya-modbus/driver-loader
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../src/config-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,GAAE,MAAgB,GACvB,IAAI,CAON;AA6BD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAyBpE;AAoED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAuExE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,MAAgB,GAAG,cAAc,CAsG1F;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,GAC/B,MAAM,EAAE,CA2GV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/config-validator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAcH,oDAWC;AAoCD,sDAyBC;AA2ED,0DAuEC;AAUD,0CAsGC;AA2BD,oDA8GC;AA7dD,2CAA6C;AAG7C;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAClC,OAAe,EACf,QAAkB,EAClB,SAAiB,OAAO;IAExB,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,qCAAqC,CAAC,CAAA;IACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC7D,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;AAC3F,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,uBAAuB,CAC9B,KAAQ,EACR,WAAyB,EACzB,SAAiB,EACjB,cAAsB;IAEtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,kFAAkF;QAClF,MAAM,eAAe,GACnB,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,cAAc,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;QACvE,OAAO,GAAG,SAAS,KAAK,cAAc,cAAc,cAAc,MAAM,eAAe,GAAG,CAAA;IAC5F,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,MAAe;IACnD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1E,MAAM,IAAI,2BAAe,CACvB,8CAA8C;YAC5C,4DAA4D,EAC9D,gBAAgB,CACjB,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAiC,CAAA;IAEnD,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;QAC5B,2BAA2B,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC;SAAM,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QACtC,wBAAwB,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,2BAAe,CACvB,wFAAwF;YACtF,4EAA4E;YAC5E,yEAAyE,EAC3E,gBAAgB,CACjB,CAAA;IACH,CAAC;IAED,OAAO,MAAuB,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,MAA+B;IAClE,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,2BAAe,CACvB,0DAA0D,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK;YACtF,kFAAkF,EACpF,UAAU,CACX,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,2BAAe,CACvB,wDAAwD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK;YAClF,gGAAgG,EAClG,QAAQ,CACT,CAAA;IACH,CAAC;IAED,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnE,MAAM,IAAI,2BAAe,CACvB,0DAA0D,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK;YACtF,2EAA2E,EAC7E,UAAU,CACX,CAAA;IACH,CAAC;IAED,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnE,MAAM,IAAI,2BAAe,CACvB,0DAA0D,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK;YACtF,2EAA2E,EAC7E,UAAU,CACX,CAAA;IACH,CAAC;IAED,IAAI,gBAAgB,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/E,MAAM,IAAI,2BAAe,CACvB,gEAAgE,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK;YAClG,gFAAgF,EAClF,gBAAgB,CACjB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,MAA+B;IAC/D,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,2BAAe,CACvB,6DAA6D,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK;YAC5F,wEAAwE,EAC1E,aAAa,CACd,CAAA;IACH,CAAC;IAED,IAAI,gBAAgB,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/E,MAAM,IAAI,2BAAe,CACvB,gEAAgE,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK;YAClG,gFAAgF,EAClF,gBAAgB,CACjB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,MAAe;IACrD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1E,MAAM,IAAI,2BAAe,CACvB,gDAAgD;YAC9C,6EAA6E,EAC/E,kBAAkB,CACnB,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAiC,CAAA;IAEnD,IAAI,gBAAgB,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,2BAAe,CACvB,kEAAkE,OAAO,SAAS,CAAC,gBAAgB,CAAC,KAAK;YACvG,6EAA6E,EAC/E,gBAAgB,CACjB,CAAA;IACH,CAAC;IAED,IAAI,aAAa,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,2BAAe,CACvB,+DAA+D,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK;YACjG,oFAAoF,EACtF,aAAa,CACd,CAAA;IACH,CAAC;IAED,IAAI,eAAe,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,2BAAe,CACvB,iEAAiE,OAAO,SAAS,CAAC,eAAe,CAAC,KAAK;YACrG,qEAAqE,EACvE,eAAe,CAChB,CAAA;IACH,CAAC;IAED,IAAI,eAAe,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,2BAAe,CACvB,iEAAiE,OAAO,SAAS,CAAC,eAAe,CAAC,KAAK;YACrG,qEAAqE,EACvE,eAAe,CAChB,CAAA;IACH,CAAC;IAED,IAAI,mBAAmB,IAAI,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,2BAAe,CACvB,qEAAqE,OAAO,SAAS,CAAC,mBAAmB,CAAC,KAAK;gBAC7G,2EAA2E,EAC7E,mBAAmB,CACpB,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAAc,CAAA;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,2BAAe,CACvB,yFAAyF,KAAK,CAAC,MAAM,cAAc;gBACjH,2EAA2E,EAC7E,mBAAmB,CACpB,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,2BAAe,CACvB,8DAA8D,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK;YAC/F,iEAAiE,EACnE,YAAY,CACb,CAAA;IACH,CAAC;IAED,OAAO,MAAyB,CAAA;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,OAAgB,EAAE,SAAiB,OAAO;IACxE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC7E,MAAM,IAAI,2BAAe,CACvB,uCAAuC;YACrC,qFAAqF,EACvF,SAAS,CACV,CAAA;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,2BAAe,CACvB,qDAAqD;YACnD,qFAAqF,EACvF,SAAS,CACV,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,OAAkC,CAAA;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,2BAAe,CACvB,sDAAsD;YACpD,qFAAqF,EACvF,SAAS,CACV,CAAA;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1E,MAAM,IAAI,2BAAe,CACvB,oBAAoB,GAAG,0BAA0B;gBAC/C,iBAAiB,GAAG,4CAA4C,EAClE,YAAY,GAAG,IAAI,CACpB,CAAA;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAiC,CAAA;QAEnD,IAAI,OAAO,SAAS,CAAC,cAAc,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,2BAAe,CACvB,oBAAoB,GAAG,sCAAsC;gBAC3D,iBAAiB,GAAG,oCAAoC,EAC1D,YAAY,GAAG,iBAAiB,CACjC,CAAA;QACH,CAAC;QAED,IAAI,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,2BAAe,CACvB,oBAAoB,GAAG,+BAA+B;gBACpD,iBAAiB,GAAG,2BAA2B,EACjD,YAAY,GAAG,UAAU,CAC1B,CAAA;QACH,CAAC;QAED,IAAI,aAAa,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/E,MAAM,IAAI,2BAAe,CACvB,oBAAoB,GAAG,qCAAqC;gBAC1D,iBAAiB,GAAG,uCAAuC,EAC7D,YAAY,GAAG,gBAAgB,CAChC,CAAA;QACH,CAAC;QAED,IAAI,sBAAiD,CAAA;QACrD,IAAI,eAAe,IAAI,SAAS,IAAI,SAAS,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7E,IAAI,CAAC;gBACH,sBAAsB,GAAG,qBAAqB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAA;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,2BAAe,EAAE,CAAC;oBACrC,MAAM,IAAI,2BAAe,CACvB,oBAAoB,GAAG,qBAAqB,KAAK,CAAC,OAAO,EAAE,EAC3D,YAAY,GAAG,mBAAmB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,CAAA;gBACH,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,IAAI,wBAAqD,CAAA;QACzD,IAAI,iBAAiB,IAAI,SAAS,IAAI,SAAS,CAAC,iBAAiB,CAAC,KAAK,SAAS,EAAE,CAAC;YACjF,IAAI,CAAC;gBACH,wBAAwB,GAAG,uBAAuB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAClF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,2BAAe,EAAE,CAAC;oBACrC,MAAM,IAAI,2BAAe,CACvB,oBAAoB,GAAG,uBAAuB,KAAK,CAAC,OAAO,EAAE,EAC7D,YAAY,GAAG,qBAAqB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3E,CAAA;gBACH,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,IAAI,sBAAsB,IAAI,wBAAwB,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAA;YACvF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,oBAAoB,CAAC,YAAY,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAyB,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAAa,EACb,KAAgC,EAChC,SAAiB;IAEjB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;IACxB,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/B,OAAO,GAAG,SAAS,KAAK,KAAK,kCAAkC,GAAG,KAAK,GAAG,GAAG,CAAA;IAC/E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,aAA4B,EAC5B,eAAgC;IAEhC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,MAAM,QAAQ,GAAG,UAAU,IAAI,aAAa,CAAA;IAC5C,MAAM,KAAK,GAAG,aAAa,IAAI,aAAa,CAAA;IAE5C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,aAAa,CAAA;QACnC,MAAM,eAAe,GAAG,eAA0C,CAAA;QAElE,IAAI,gBAAgB,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAC5F,MAAM,OAAO,GAAG,uBAAuB,CACrC,aAAa,CAAC,QAAQ,EACtB,eAAe,CAAC,gBAAgB,CAAa,EAC7C,UAAU,EACV,gBAAgB,CACjB,CAAA;YACD,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,IACE,QAAQ,IAAI,aAAa;YACzB,aAAa,IAAI,eAAe;YAChC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EAC7C,CAAC;YACD,MAAM,OAAO,GAAG,uBAAuB,CACrC,aAAa,CAAC,MAAM,EACpB,eAAe,CAAC,aAAa,CAAa,EAC1C,QAAQ,EACR,aAAa,CACd,CAAA;YACD,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,IACE,UAAU,IAAI,aAAa;YAC3B,eAAe,IAAI,eAAe;YAClC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,EAC/C,CAAC;YACD,MAAM,OAAO,GAAG,uBAAuB,CACrC,aAAa,CAAC,QAAQ,EACtB,eAAe,CAAC,eAAe,CAAa,EAC5C,UAAU,EACV,eAAe,CAChB,CAAA;YACD,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,IACE,UAAU,IAAI,aAAa;YAC3B,eAAe,IAAI,eAAe;YAClC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,EAC/C,CAAC;YACD,MAAM,OAAO,GAAG,uBAAuB,CACrC,aAAa,CAAC,QAAQ,EACtB,eAAe,CAAC,eAAe,CAAa,EAC5C,UAAU,EACV,eAAe,CAChB,CAAA;YACD,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,IACE,gBAAgB,IAAI,aAAa;YACjC,mBAAmB,IAAI,eAAe;YACtC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,EACnD,CAAC;YACD,MAAM,OAAO,GAAG,oBAAoB,CAClC,aAAa,CAAC,cAAc,EAC5B,eAAe,CAAC,mBAAmB,CAAqB,EACxD,gBAAgB,CACjB,CAAA;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,aAAa,CAAA;QAChC,MAAM,YAAY,GAAG,eAA0C,CAAA;QAE/D,IAAI,YAAY,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9E,MAAM,OAAO,GAAG,uBAAuB,CACrC,UAAU,CAAC,WAAW,EACtB,YAAY,CAAC,YAAY,CAAa,EACtC,aAAa,EACb,YAAY,CACb,CAAA;YACD,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,IACE,gBAAgB,IAAI,UAAU;YAC9B,mBAAmB,IAAI,YAAY;YACnC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,EAChD,CAAC;YACD,MAAM,OAAO,GAAG,oBAAoB,CAClC,UAAU,CAAC,cAAc,EACzB,YAAY,CAAC,mBAAmB,CAAqB,EACrD,gBAAgB,CACjB,CAAA;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,KAAK,CAAC,EAAE,MAAM;gBAD9B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,MAAM,YAAA;CAMjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,WAAW,EAAE,MAAM;gBADnC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,MAAM;CAMtC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAK5B"}
|
|
@@ -25,7 +25,6 @@ exports.PackageJsonError = exports.DriverNotFoundError = exports.ValidationError
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
class ValidationError extends Error {
|
|
28
|
-
field;
|
|
29
28
|
constructor(message, field) {
|
|
30
29
|
super(message);
|
|
31
30
|
this.field = field;
|
|
@@ -52,7 +51,6 @@ exports.ValidationError = ValidationError;
|
|
|
52
51
|
* ```
|
|
53
52
|
*/
|
|
54
53
|
class DriverNotFoundError extends Error {
|
|
55
|
-
packageName;
|
|
56
54
|
constructor(message, packageName) {
|
|
57
55
|
super(message);
|
|
58
56
|
this.packageName = packageName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,eAAgB,SAAQ,KAAK;IACxC,YACE,OAAe,EACC,KAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAA;QAFE,UAAK,GAAL,KAAK,CAAS;QAG9B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CACF;AATD,0CASC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACE,OAAe,EACC,WAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;QAFE,gBAAW,GAAX,WAAW,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;QACjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;CACF;AATD,kDASC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;IACzD,CAAC;CACF;AAND,4CAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC/E,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,GACP,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAA+E;AAAtE,uGAAA,UAAU,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAQ1D,6DAK8B;AAJ5B,4HAAA,qBAAqB,OAAA;AACrB,8HAAA,uBAAuB,OAAA;AACvB,sHAAA,eAAe,OAAA;AACf,2HAAA,oBAAoB,OAAA;AAEtB,yCAAoF;AAA3E,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAAE,6GAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAWhC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,YAAY,EAAE,oBAAoB,CAAA;IAElC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,cAAc,CAAA;IAExB,mEAAmE;IACnE,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B,kEAAkE;IAClE,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,MAAM;IACrB,2BAA2B;IAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,oCAAoC;IACpC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9D,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACtD,MAAM,EAAE,MAAM,MAAM,CAAA;CACrB;AAeD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAA;CACb;AAeD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAMtD;AAwED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,UAAU,CAC9B,OAAO,GAAE,iBAAsB,EAC/B,IAAI,GAAE,kBAAgC,GACrC,OAAO,CAAC,YAAY,CAAC,CAsHvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAChE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,4CAAgE;AAAvD,8GAAA,gBAAgB,OAAA;AAAE,4GAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,iCAAiC;IACjC,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,mCAAmC;IACnC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,2BAA2B;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CAyB9E;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzC,yCAAyC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAA;IACjD,mCAAmC;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;CACtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,kBAAkB,CAoBtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwCH,4CAyBC;AA6BD,wCAoBC;AAhHD,2CAAoC;AAwBpC;;;;;;;;;;;;;GAaG;AACH,SAAgB,gBAAgB,CAAC,UAA6B,EAAE;IAC9D,MAAM,EACJ,YAAY,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAoC,EAC/E,aAAa,EACb,eAAe,EACf,OAAO,GACR,GAAG,OAAO,CAAA;IAEX,MAAM,MAAM,GAAiB;QAC3B,YAAY;KACb,CAAA;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,aAAa,GAAG,aAAa,CAAA;IACtC,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,eAAe,GAAG,eAAe,CAAA;IAC1C,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAcD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAElD,OAAO;QACL,QAAQ,EACN,QAAQ;YACP,cAAI;iBACF,EAAE,EAAkC;iBACpC,iBAAiB,CAAC,IAAI,CAAoC;QAC/D,YAAY,EACV,YAAY;YACX,cAAI;iBACF,EAAE,EAAsC;iBACxC,iBAAiB,CAAC,gBAAgB,EAAE,CAAwC;QACjF,MAAM,EACJ,MAAM;YACL,cAAI;iBACF,EAAE,EAAgC;iBAClC,eAAe,CAAC,WAAW,CAAkC;KACnE,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime validation for driver configuration exports
|
|
3
|
+
*
|
|
4
|
+
* Validates DEFAULT_CONFIG, SUPPORTED_CONFIG, and DEVICES from third-party drivers
|
|
5
|
+
* to ensure type safety at runtime.
|
|
6
|
+
*/
|
|
7
|
+
import type { DefaultConfig, DeviceRegistry, SupportedConfig } from '@ya-modbus/driver-types';
|
|
8
|
+
import type { Logger } from './loader.js';
|
|
9
|
+
/**
|
|
10
|
+
* Output configuration warnings to logger
|
|
11
|
+
*
|
|
12
|
+
* @param context - Context description (e.g., "Driver DEFAULT_CONFIG")
|
|
13
|
+
* @param warnings - Array of warning messages
|
|
14
|
+
* @param logger - Logger to output warnings to
|
|
15
|
+
*/
|
|
16
|
+
export declare function outputConfigWarnings(context: string, warnings: string[], logger?: Logger): void;
|
|
17
|
+
/**
|
|
18
|
+
* Validate DEFAULT_CONFIG export from a driver module
|
|
19
|
+
*
|
|
20
|
+
* @param config - The DEFAULT_CONFIG value to validate
|
|
21
|
+
* @returns Validated config
|
|
22
|
+
* @throws Error with helpful message if validation fails
|
|
23
|
+
*/
|
|
24
|
+
export declare function validateDefaultConfig(config: unknown): DefaultConfig;
|
|
25
|
+
/**
|
|
26
|
+
* Validate SUPPORTED_CONFIG export from a driver module
|
|
27
|
+
*
|
|
28
|
+
* @param config - The SUPPORTED_CONFIG value to validate
|
|
29
|
+
* @returns Validated config
|
|
30
|
+
* @throws Error with helpful message if validation fails
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateSupportedConfig(config: unknown): SupportedConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Validate DEVICES export from a driver module
|
|
35
|
+
*
|
|
36
|
+
* @param devices - The DEVICES value to validate
|
|
37
|
+
* @param logger - Optional logger for warnings (defaults to console)
|
|
38
|
+
* @returns Validated devices registry
|
|
39
|
+
* @throws Error with helpful message if validation fails
|
|
40
|
+
*/
|
|
41
|
+
export declare function validateDevices(devices: unknown, logger?: Logger): DeviceRegistry;
|
|
42
|
+
/**
|
|
43
|
+
* Cross-validate DEFAULT_CONFIG against SUPPORTED_CONFIG constraints
|
|
44
|
+
*
|
|
45
|
+
* Checks that all DEFAULT_CONFIG values are within SUPPORTED_CONFIG constraints.
|
|
46
|
+
* This helps catch driver authoring errors where defaults don't match declared support.
|
|
47
|
+
*
|
|
48
|
+
* @param defaultConfig - The validated DEFAULT_CONFIG
|
|
49
|
+
* @param supportedConfig - The validated SUPPORTED_CONFIG
|
|
50
|
+
* @returns Array of warning messages for any inconsistencies found (empty if all valid)
|
|
51
|
+
*/
|
|
52
|
+
export declare function crossValidateConfigs(defaultConfig: DefaultConfig, supportedConfig: SupportedConfig): string[];
|
|
53
|
+
//# sourceMappingURL=config-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../src/config-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,GAAE,MAAgB,GACvB,IAAI,CAON;AA6BD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAyBpE;AAoED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAuExE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,MAAgB,GAAG,cAAc,CAsG1F;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,GAC/B,MAAM,EAAE,CA2GV"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime validation for driver configuration exports
|
|
3
|
+
*
|
|
4
|
+
* Validates DEFAULT_CONFIG, SUPPORTED_CONFIG, and DEVICES from third-party drivers
|
|
5
|
+
* to ensure type safety at runtime.
|
|
6
|
+
*/
|
|
7
|
+
import { ValidationError } from './errors.js';
|
|
8
|
+
/**
|
|
9
|
+
* Output configuration warnings to logger
|
|
10
|
+
*
|
|
11
|
+
* @param context - Context description (e.g., "Driver DEFAULT_CONFIG")
|
|
12
|
+
* @param warnings - Array of warning messages
|
|
13
|
+
* @param logger - Logger to output warnings to
|
|
14
|
+
*/
|
|
15
|
+
export function outputConfigWarnings(context, warnings, logger = console) {
|
|
16
|
+
logger.warn(`\nWarning: ${context} has configuration inconsistencies:`);
|
|
17
|
+
for (const warning of warnings) {
|
|
18
|
+
logger.warn(` - ${warning}`);
|
|
19
|
+
}
|
|
20
|
+
logger.warn(' This may indicate a driver authoring error\n');
|
|
21
|
+
logger.warn('Run: ya-modbus show-defaults --driver <package> to inspect configuration\n');
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validate that a value is in an array constraint
|
|
25
|
+
*
|
|
26
|
+
* @param value - Value to validate
|
|
27
|
+
* @param validValues - Array of valid values
|
|
28
|
+
* @param fieldName - Field name for error message
|
|
29
|
+
* @param constraintName - Constraint array name for error message
|
|
30
|
+
* @returns Warning message if validation fails, undefined otherwise
|
|
31
|
+
*/
|
|
32
|
+
function validateArrayConstraint(value, validValues, fieldName, constraintName) {
|
|
33
|
+
if (!validValues.includes(value)) {
|
|
34
|
+
// TypeScript narrows the type in each branch, so no need for String() conversions
|
|
35
|
+
const formattedValues = typeof value === 'string'
|
|
36
|
+
? validValues.map((v) => `"${v}"`).join(', ')
|
|
37
|
+
: validValues.join(', ');
|
|
38
|
+
const formattedValue = typeof value === 'string' ? `"${value}"` : value;
|
|
39
|
+
return `${fieldName}: ${formattedValue} is not in ${constraintName}: [${formattedValues}]`;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Validate DEFAULT_CONFIG export from a driver module
|
|
45
|
+
*
|
|
46
|
+
* @param config - The DEFAULT_CONFIG value to validate
|
|
47
|
+
* @returns Validated config
|
|
48
|
+
* @throws Error with helpful message if validation fails
|
|
49
|
+
*/
|
|
50
|
+
export function validateDefaultConfig(config) {
|
|
51
|
+
if (config === null || config === undefined || typeof config !== 'object') {
|
|
52
|
+
throw new ValidationError('Invalid DEFAULT_CONFIG: must be an object.\n' +
|
|
53
|
+
'Fix: export const DEFAULT_CONFIG = { baudRate: 9600, ... }', 'DEFAULT_CONFIG');
|
|
54
|
+
}
|
|
55
|
+
const configObj = config;
|
|
56
|
+
if ('baudRate' in configObj) {
|
|
57
|
+
validateSerialDefaultConfig(configObj);
|
|
58
|
+
}
|
|
59
|
+
else if ('defaultPort' in configObj) {
|
|
60
|
+
validateTcpDefaultConfig(configObj);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
throw new ValidationError('Invalid DEFAULT_CONFIG: must have either "baudRate" (serial) or "defaultPort" (TCP).\n' +
|
|
64
|
+
'Fix: export const DEFAULT_CONFIG = { baudRate: 9600, ... } // for serial\n' +
|
|
65
|
+
'Or: export const DEFAULT_CONFIG = { defaultPort: 502, ... } // for TCP', 'DEFAULT_CONFIG');
|
|
66
|
+
}
|
|
67
|
+
return config;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Validate serial DEFAULT_CONFIG properties
|
|
71
|
+
*/
|
|
72
|
+
function validateSerialDefaultConfig(config) {
|
|
73
|
+
if (typeof config['baudRate'] !== 'number') {
|
|
74
|
+
throw new ValidationError(`Invalid DEFAULT_CONFIG: baudRate must be a number, got ${typeof config['baudRate']}.\n` +
|
|
75
|
+
'Fix: export const DEFAULT_CONFIG = { baudRate: 9600, ... } // number, not string', 'baudRate');
|
|
76
|
+
}
|
|
77
|
+
if ('parity' in config && typeof config['parity'] !== 'string') {
|
|
78
|
+
throw new ValidationError(`Invalid DEFAULT_CONFIG: parity must be a string, got ${typeof config['parity']}.\n` +
|
|
79
|
+
'Fix: export const DEFAULT_CONFIG = { parity: "even", ... } // string: "none", "even", or "odd"', 'parity');
|
|
80
|
+
}
|
|
81
|
+
if ('dataBits' in config && typeof config['dataBits'] !== 'number') {
|
|
82
|
+
throw new ValidationError(`Invalid DEFAULT_CONFIG: dataBits must be a number, got ${typeof config['dataBits']}.\n` +
|
|
83
|
+
'Fix: export const DEFAULT_CONFIG = { dataBits: 8, ... } // number: 7 or 8', 'dataBits');
|
|
84
|
+
}
|
|
85
|
+
if ('stopBits' in config && typeof config['stopBits'] !== 'number') {
|
|
86
|
+
throw new ValidationError(`Invalid DEFAULT_CONFIG: stopBits must be a number, got ${typeof config['stopBits']}.\n` +
|
|
87
|
+
'Fix: export const DEFAULT_CONFIG = { stopBits: 1, ... } // number: 1 or 2', 'stopBits');
|
|
88
|
+
}
|
|
89
|
+
if ('defaultAddress' in config && typeof config['defaultAddress'] !== 'number') {
|
|
90
|
+
throw new ValidationError(`Invalid DEFAULT_CONFIG: defaultAddress must be a number, got ${typeof config['defaultAddress']}.\n` +
|
|
91
|
+
'Fix: export const DEFAULT_CONFIG = { defaultAddress: 1, ... } // number: 1-247', 'defaultAddress');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Validate TCP DEFAULT_CONFIG properties
|
|
96
|
+
*/
|
|
97
|
+
function validateTcpDefaultConfig(config) {
|
|
98
|
+
if (typeof config['defaultPort'] !== 'number') {
|
|
99
|
+
throw new ValidationError(`Invalid DEFAULT_CONFIG: defaultPort must be a number, got ${typeof config['defaultPort']}.\n` +
|
|
100
|
+
'Fix: export const DEFAULT_CONFIG = { defaultPort: 502, ... } // number', 'defaultPort');
|
|
101
|
+
}
|
|
102
|
+
if ('defaultAddress' in config && typeof config['defaultAddress'] !== 'number') {
|
|
103
|
+
throw new ValidationError(`Invalid DEFAULT_CONFIG: defaultAddress must be a number, got ${typeof config['defaultAddress']}.\n` +
|
|
104
|
+
'Fix: export const DEFAULT_CONFIG = { defaultAddress: 1, ... } // number: 1-247', 'defaultAddress');
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Validate SUPPORTED_CONFIG export from a driver module
|
|
109
|
+
*
|
|
110
|
+
* @param config - The SUPPORTED_CONFIG value to validate
|
|
111
|
+
* @returns Validated config
|
|
112
|
+
* @throws Error with helpful message if validation fails
|
|
113
|
+
*/
|
|
114
|
+
export function validateSupportedConfig(config) {
|
|
115
|
+
if (config === null || config === undefined || typeof config !== 'object') {
|
|
116
|
+
throw new ValidationError('Invalid SUPPORTED_CONFIG: must be an object.\n' +
|
|
117
|
+
'Fix: export const SUPPORTED_CONFIG = { validBaudRates: [9600, 19200], ... }', 'SUPPORTED_CONFIG');
|
|
118
|
+
}
|
|
119
|
+
const configObj = config;
|
|
120
|
+
if ('validBaudRates' in configObj && !Array.isArray(configObj['validBaudRates'])) {
|
|
121
|
+
throw new ValidationError(`Invalid SUPPORTED_CONFIG: validBaudRates must be an array, got ${typeof configObj['validBaudRates']}.\n` +
|
|
122
|
+
'Fix: export const SUPPORTED_CONFIG = { validBaudRates: [9600, 19200], ... }', 'validBaudRates');
|
|
123
|
+
}
|
|
124
|
+
if ('validParity' in configObj && !Array.isArray(configObj['validParity'])) {
|
|
125
|
+
throw new ValidationError(`Invalid SUPPORTED_CONFIG: validParity must be an array, got ${typeof configObj['validParity']}.\n` +
|
|
126
|
+
'Fix: export const SUPPORTED_CONFIG = { validParity: ["none", "even", "odd"], ... }', 'validParity');
|
|
127
|
+
}
|
|
128
|
+
if ('validDataBits' in configObj && !Array.isArray(configObj['validDataBits'])) {
|
|
129
|
+
throw new ValidationError(`Invalid SUPPORTED_CONFIG: validDataBits must be an array, got ${typeof configObj['validDataBits']}.\n` +
|
|
130
|
+
'Fix: export const SUPPORTED_CONFIG = { validDataBits: [7, 8], ... }', 'validDataBits');
|
|
131
|
+
}
|
|
132
|
+
if ('validStopBits' in configObj && !Array.isArray(configObj['validStopBits'])) {
|
|
133
|
+
throw new ValidationError(`Invalid SUPPORTED_CONFIG: validStopBits must be an array, got ${typeof configObj['validStopBits']}.\n` +
|
|
134
|
+
'Fix: export const SUPPORTED_CONFIG = { validStopBits: [1, 2], ... }', 'validStopBits');
|
|
135
|
+
}
|
|
136
|
+
if ('validAddressRange' in configObj) {
|
|
137
|
+
if (!Array.isArray(configObj['validAddressRange'])) {
|
|
138
|
+
throw new ValidationError(`Invalid SUPPORTED_CONFIG: validAddressRange must be an array, got ${typeof configObj['validAddressRange']}.\n` +
|
|
139
|
+
'Fix: export const SUPPORTED_CONFIG = { validAddressRange: [1, 247], ... }', 'validAddressRange');
|
|
140
|
+
}
|
|
141
|
+
const range = configObj['validAddressRange'];
|
|
142
|
+
if (range.length !== 2) {
|
|
143
|
+
throw new ValidationError(`Invalid SUPPORTED_CONFIG: validAddressRange must be a 2-element array [min, max], got ${range.length} elements.\n` +
|
|
144
|
+
'Fix: export const SUPPORTED_CONFIG = { validAddressRange: [1, 247], ... }', 'validAddressRange');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if ('validPorts' in configObj && !Array.isArray(configObj['validPorts'])) {
|
|
148
|
+
throw new ValidationError(`Invalid SUPPORTED_CONFIG: validPorts must be an array, got ${typeof configObj['validPorts']}.\n` +
|
|
149
|
+
'Fix: export const SUPPORTED_CONFIG = { validPorts: [502], ... }', 'validPorts');
|
|
150
|
+
}
|
|
151
|
+
return config;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Validate DEVICES export from a driver module
|
|
155
|
+
*
|
|
156
|
+
* @param devices - The DEVICES value to validate
|
|
157
|
+
* @param logger - Optional logger for warnings (defaults to console)
|
|
158
|
+
* @returns Validated devices registry
|
|
159
|
+
* @throws Error with helpful message if validation fails
|
|
160
|
+
*/
|
|
161
|
+
export function validateDevices(devices, logger = console) {
|
|
162
|
+
if (devices === null || devices === undefined || typeof devices !== 'object') {
|
|
163
|
+
throw new ValidationError('Invalid DEVICES: must be an object.\n' +
|
|
164
|
+
"Fix: export const DEVICES = { 'device-key': { manufacturer: 'Acme', model: 'X1' } }", 'DEVICES');
|
|
165
|
+
}
|
|
166
|
+
if (Array.isArray(devices)) {
|
|
167
|
+
throw new ValidationError('Invalid DEVICES: must be an object, not an array.\n' +
|
|
168
|
+
"Fix: export const DEVICES = { 'device-key': { manufacturer: 'Acme', model: 'X1' } }", 'DEVICES');
|
|
169
|
+
}
|
|
170
|
+
const devicesObj = devices;
|
|
171
|
+
const entries = Object.entries(devicesObj);
|
|
172
|
+
if (entries.length === 0) {
|
|
173
|
+
throw new ValidationError('Invalid DEVICES: must contain at least one device.\n' +
|
|
174
|
+
"Fix: export const DEVICES = { 'device-key': { manufacturer: 'Acme', model: 'X1' } }", 'DEVICES');
|
|
175
|
+
}
|
|
176
|
+
for (const [key, device] of entries) {
|
|
177
|
+
if (device === null || device === undefined || typeof device !== 'object') {
|
|
178
|
+
throw new ValidationError(`Invalid DEVICES["${key}"]: must be an object.\n` +
|
|
179
|
+
`Fix: DEVICES["${key}"] = { manufacturer: 'Acme', model: 'X1' }`, `DEVICES["${key}"]`);
|
|
180
|
+
}
|
|
181
|
+
const deviceObj = device;
|
|
182
|
+
if (typeof deviceObj['manufacturer'] !== 'string') {
|
|
183
|
+
throw new ValidationError(`Invalid DEVICES["${key}"]: manufacturer must be a string.\n` +
|
|
184
|
+
`Fix: DEVICES["${key}"] = { manufacturer: 'Acme', ... }`, `DEVICES["${key}"].manufacturer`);
|
|
185
|
+
}
|
|
186
|
+
if (typeof deviceObj['model'] !== 'string') {
|
|
187
|
+
throw new ValidationError(`Invalid DEVICES["${key}"]: model must be a string.\n` +
|
|
188
|
+
`Fix: DEVICES["${key}"] = { model: 'X1', ... }`, `DEVICES["${key}"].model`);
|
|
189
|
+
}
|
|
190
|
+
if ('description' in deviceObj && typeof deviceObj['description'] !== 'string') {
|
|
191
|
+
throw new ValidationError(`Invalid DEVICES["${key}"]: description must be a string.\n` +
|
|
192
|
+
`Fix: DEVICES["${key}"] = { description: 'A device', ... }`, `DEVICES["${key}"].description`);
|
|
193
|
+
}
|
|
194
|
+
let validatedDefaultConfig;
|
|
195
|
+
if ('defaultConfig' in deviceObj && deviceObj['defaultConfig'] !== undefined) {
|
|
196
|
+
try {
|
|
197
|
+
validatedDefaultConfig = validateDefaultConfig(deviceObj['defaultConfig']);
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
if (error instanceof ValidationError) {
|
|
201
|
+
throw new ValidationError(`Invalid DEVICES["${key}"].defaultConfig: ${error.message}`, `DEVICES["${key}"].defaultConfig${error.field ? `.${error.field}` : ''}`);
|
|
202
|
+
}
|
|
203
|
+
throw error;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
let validatedSupportedConfig;
|
|
207
|
+
if ('supportedConfig' in deviceObj && deviceObj['supportedConfig'] !== undefined) {
|
|
208
|
+
try {
|
|
209
|
+
validatedSupportedConfig = validateSupportedConfig(deviceObj['supportedConfig']);
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
if (error instanceof ValidationError) {
|
|
213
|
+
throw new ValidationError(`Invalid DEVICES["${key}"].supportedConfig: ${error.message}`, `DEVICES["${key}"].supportedConfig${error.field ? `.${error.field}` : ''}`);
|
|
214
|
+
}
|
|
215
|
+
throw error;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if (validatedDefaultConfig && validatedSupportedConfig) {
|
|
219
|
+
const warnings = crossValidateConfigs(validatedDefaultConfig, validatedSupportedConfig);
|
|
220
|
+
if (warnings.length > 0) {
|
|
221
|
+
outputConfigWarnings(`DEVICES["${key}"]`, warnings, logger);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return devices;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Helper function to validate if a value is within a numeric range
|
|
229
|
+
*/
|
|
230
|
+
function validateAddressRange(value, range, fieldName) {
|
|
231
|
+
const [min, max] = range;
|
|
232
|
+
if (value < min || value > max) {
|
|
233
|
+
return `${fieldName}: ${value} is not in validAddressRange: [${min}, ${max}]`;
|
|
234
|
+
}
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Cross-validate DEFAULT_CONFIG against SUPPORTED_CONFIG constraints
|
|
239
|
+
*
|
|
240
|
+
* Checks that all DEFAULT_CONFIG values are within SUPPORTED_CONFIG constraints.
|
|
241
|
+
* This helps catch driver authoring errors where defaults don't match declared support.
|
|
242
|
+
*
|
|
243
|
+
* @param defaultConfig - The validated DEFAULT_CONFIG
|
|
244
|
+
* @param supportedConfig - The validated SUPPORTED_CONFIG
|
|
245
|
+
* @returns Array of warning messages for any inconsistencies found (empty if all valid)
|
|
246
|
+
*/
|
|
247
|
+
export function crossValidateConfigs(defaultConfig, supportedConfig) {
|
|
248
|
+
const warnings = [];
|
|
249
|
+
const isSerial = 'baudRate' in defaultConfig;
|
|
250
|
+
const isTCP = 'defaultPort' in defaultConfig;
|
|
251
|
+
if (isSerial) {
|
|
252
|
+
const serialDefault = defaultConfig;
|
|
253
|
+
const serialSupported = supportedConfig;
|
|
254
|
+
if ('validBaudRates' in serialSupported && Array.isArray(serialSupported['validBaudRates'])) {
|
|
255
|
+
const warning = validateArrayConstraint(serialDefault.baudRate, serialSupported['validBaudRates'], 'baudRate', 'validBaudRates');
|
|
256
|
+
if (warning)
|
|
257
|
+
warnings.push(warning);
|
|
258
|
+
}
|
|
259
|
+
if ('parity' in serialDefault &&
|
|
260
|
+
'validParity' in serialSupported &&
|
|
261
|
+
Array.isArray(serialSupported['validParity'])) {
|
|
262
|
+
const warning = validateArrayConstraint(serialDefault.parity, serialSupported['validParity'], 'parity', 'validParity');
|
|
263
|
+
if (warning)
|
|
264
|
+
warnings.push(warning);
|
|
265
|
+
}
|
|
266
|
+
if ('dataBits' in serialDefault &&
|
|
267
|
+
'validDataBits' in serialSupported &&
|
|
268
|
+
Array.isArray(serialSupported['validDataBits'])) {
|
|
269
|
+
const warning = validateArrayConstraint(serialDefault.dataBits, serialSupported['validDataBits'], 'dataBits', 'validDataBits');
|
|
270
|
+
if (warning)
|
|
271
|
+
warnings.push(warning);
|
|
272
|
+
}
|
|
273
|
+
if ('stopBits' in serialDefault &&
|
|
274
|
+
'validStopBits' in serialSupported &&
|
|
275
|
+
Array.isArray(serialSupported['validStopBits'])) {
|
|
276
|
+
const warning = validateArrayConstraint(serialDefault.stopBits, serialSupported['validStopBits'], 'stopBits', 'validStopBits');
|
|
277
|
+
if (warning)
|
|
278
|
+
warnings.push(warning);
|
|
279
|
+
}
|
|
280
|
+
if ('defaultAddress' in serialDefault &&
|
|
281
|
+
'validAddressRange' in serialSupported &&
|
|
282
|
+
Array.isArray(serialSupported['validAddressRange'])) {
|
|
283
|
+
const warning = validateAddressRange(serialDefault.defaultAddress, serialSupported['validAddressRange'], 'defaultAddress');
|
|
284
|
+
if (warning) {
|
|
285
|
+
warnings.push(warning);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
else if (isTCP) {
|
|
290
|
+
const tcpDefault = defaultConfig;
|
|
291
|
+
const tcpSupported = supportedConfig;
|
|
292
|
+
if ('validPorts' in tcpSupported && Array.isArray(tcpSupported['validPorts'])) {
|
|
293
|
+
const warning = validateArrayConstraint(tcpDefault.defaultPort, tcpSupported['validPorts'], 'defaultPort', 'validPorts');
|
|
294
|
+
if (warning)
|
|
295
|
+
warnings.push(warning);
|
|
296
|
+
}
|
|
297
|
+
if ('defaultAddress' in tcpDefault &&
|
|
298
|
+
'validAddressRange' in tcpSupported &&
|
|
299
|
+
Array.isArray(tcpSupported['validAddressRange'])) {
|
|
300
|
+
const warning = validateAddressRange(tcpDefault.defaultAddress, tcpSupported['validAddressRange'], 'defaultAddress');
|
|
301
|
+
if (warning) {
|
|
302
|
+
warnings.push(warning);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return warnings;
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=config-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/config-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom error classes for driver-loader
|
|
3
|
+
*
|
|
4
|
+
* These error classes provide better error handling and type safety
|
|
5
|
+
* compared to string-based error detection.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown when driver configuration validation fails
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { loadDriver, ValidationError } from '@ya-modbus/driver-loader'
|
|
13
|
+
*
|
|
14
|
+
* try {
|
|
15
|
+
* await loadDriver({ driverPackage: 'my-driver' })
|
|
16
|
+
* } catch (error) {
|
|
17
|
+
* if (error instanceof ValidationError) {
|
|
18
|
+
* console.error(`Validation failed for field: ${error.field}`)
|
|
19
|
+
* console.error(`Message: ${error.message}`)
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class ValidationError extends Error {
|
|
25
|
+
readonly field?: string | undefined;
|
|
26
|
+
constructor(message: string, field?: string | undefined);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Error thrown when a driver package cannot be found or loaded
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import { loadDriver, DriverNotFoundError } from '@ya-modbus/driver-loader'
|
|
34
|
+
*
|
|
35
|
+
* try {
|
|
36
|
+
* await loadDriver({ driverPackage: 'missing-driver' })
|
|
37
|
+
* } catch (error) {
|
|
38
|
+
* if (error instanceof DriverNotFoundError) {
|
|
39
|
+
* console.error(`Package not found: ${error.packageName}`)
|
|
40
|
+
* console.error(`Install with: npm install ${error.packageName}`)
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare class DriverNotFoundError extends Error {
|
|
46
|
+
readonly packageName: string;
|
|
47
|
+
constructor(message: string, packageName: string);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Error thrown when package.json is not found or invalid
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* import { loadDriver, PackageJsonError } from '@ya-modbus/driver-loader'
|
|
55
|
+
*
|
|
56
|
+
* try {
|
|
57
|
+
* await loadDriver({}) // Auto-detect from current directory
|
|
58
|
+
* } catch (error) {
|
|
59
|
+
* if (error instanceof PackageJsonError) {
|
|
60
|
+
* console.error('package.json issue:', error.message)
|
|
61
|
+
* // Examples: missing file, invalid JSON, missing keywords
|
|
62
|
+
* }
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare class PackageJsonError extends Error {
|
|
67
|
+
constructor(message: string);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,KAAK,CAAC,EAAE,MAAM;gBAD9B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,MAAM,YAAA;CAMjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,WAAW,EAAE,MAAM;gBADnC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,MAAM;CAMtC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAK5B"}
|