@ya-modbus/driver-loader 0.11.1 → 0.12.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 +14 -0
- package/README.md +32 -2
- package/dist/cjs/src/driver-defaults.d.ts +63 -0
- package/dist/cjs/src/driver-defaults.d.ts.map +1 -0
- package/dist/cjs/src/driver-defaults.js +117 -0
- package/dist/cjs/src/driver-defaults.js.map +1 -0
- package/dist/cjs/src/errors.d.ts +8 -2
- package/dist/cjs/src/errors.d.ts.map +1 -1
- package/dist/cjs/src/errors.js +8 -2
- package/dist/cjs/src/errors.js.map +1 -1
- package/dist/cjs/src/index.d.ts +3 -0
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +6 -1
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/serial-validation.d.ts +61 -0
- package/dist/cjs/src/serial-validation.d.ts.map +1 -0
- package/dist/cjs/src/serial-validation.js +152 -0
- package/dist/cjs/src/serial-validation.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/driver-defaults.d.ts +63 -0
- package/dist/esm/src/driver-defaults.d.ts.map +1 -0
- package/dist/esm/src/driver-defaults.js +111 -0
- package/dist/esm/src/driver-defaults.js.map +1 -0
- package/dist/esm/src/errors.d.ts +8 -2
- package/dist/esm/src/errors.d.ts.map +1 -1
- package/dist/esm/src/errors.js +8 -2
- package/dist/esm/src/errors.js.map +1 -1
- package/dist/esm/src/index.d.ts +3 -0
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +2 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/serial-validation.d.ts +61 -0
- package/dist/esm/src/serial-validation.d.ts.map +1 -0
- package/dist/esm/src/serial-validation.js +144 -0
- package/dist/esm/src/serial-validation.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Driver defaults for connection options: DEFAULT_CONFIG and SUPPORTED_CONFIG of the driver,
|
|
3
|
+
* or of the selected device in its DEVICES registry
|
|
4
|
+
*/
|
|
5
|
+
import type { DefaultSerialConfig } from '@ya-modbus/driver-types';
|
|
6
|
+
import type { LoadedDriver } from './loader.js';
|
|
7
|
+
/**
|
|
8
|
+
* Connection options that driver defaults apply to
|
|
9
|
+
*
|
|
10
|
+
* `host` marks a TCP connection, which serial defaults do not apply to.
|
|
11
|
+
*/
|
|
12
|
+
export interface SerialOptions {
|
|
13
|
+
host?: string;
|
|
14
|
+
baudRate?: number;
|
|
15
|
+
dataBits?: number;
|
|
16
|
+
parity?: string;
|
|
17
|
+
stopBits?: number;
|
|
18
|
+
slaveId?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the effective default config for a device
|
|
22
|
+
*
|
|
23
|
+
* Returns device-specific config if available, otherwise driver-level config.
|
|
24
|
+
*
|
|
25
|
+
* @param driverMetadata - Loaded driver metadata
|
|
26
|
+
* @param device - Optional device key
|
|
27
|
+
* @returns Effective default config or undefined
|
|
28
|
+
*/
|
|
29
|
+
export declare function getEffectiveDefaultConfig(driverMetadata: LoadedDriver | undefined, device: string | undefined): DefaultSerialConfig | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Get the effective supported config for a device
|
|
32
|
+
*
|
|
33
|
+
* Returns device-specific constraints if available, otherwise driver-level constraints.
|
|
34
|
+
*
|
|
35
|
+
* @param driverMetadata - Loaded driver metadata
|
|
36
|
+
* @param device - Optional device key
|
|
37
|
+
* @returns Effective supported config or undefined
|
|
38
|
+
*/
|
|
39
|
+
export declare function getEffectiveSupportedConfig(driverMetadata: LoadedDriver | undefined, device: string | undefined): LoadedDriver['supportedConfig'] | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Create an effective driver metadata with device-specific configs resolved
|
|
42
|
+
*
|
|
43
|
+
* This creates a view of the driver metadata where defaultConfig and supportedConfig
|
|
44
|
+
* are resolved based on the selected device. This allows validation and other
|
|
45
|
+
* functions to work with device-specific settings transparently.
|
|
46
|
+
*
|
|
47
|
+
* @param driverMetadata - Loaded driver metadata
|
|
48
|
+
* @param device - Optional device key
|
|
49
|
+
* @returns Driver metadata with effective configs for the selected device
|
|
50
|
+
*/
|
|
51
|
+
export declare function getEffectiveDriverMetadata(driverMetadata: LoadedDriver, device?: string): LoadedDriver;
|
|
52
|
+
/**
|
|
53
|
+
* Apply driver defaults to transport options
|
|
54
|
+
*
|
|
55
|
+
* Uses device-specific defaults if a device is selected, otherwise driver-level defaults.
|
|
56
|
+
*
|
|
57
|
+
* @param options - Transport options (may be incomplete)
|
|
58
|
+
* @param driverMetadata - Loaded driver metadata with defaults
|
|
59
|
+
* @param device - Optional device key for multi-device drivers
|
|
60
|
+
* @returns Transport options with defaults applied
|
|
61
|
+
*/
|
|
62
|
+
export declare function applyDriverDefaults<T extends SerialOptions>(options: T, driverMetadata?: LoadedDriver, device?: string): T;
|
|
63
|
+
//# sourceMappingURL=driver-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-defaults.d.ts","sourceRoot":"","sources":["../../../src/driver-defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,YAAY,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,mBAAmB,GAAG,SAAS,CAoBjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,YAAY,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,YAAY,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAY7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,YAAY,EAC5B,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,CAsBd;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,aAAa,EACzD,OAAO,EAAE,CAAC,EACV,cAAc,CAAC,EAAE,YAAY,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,CAsBH"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Driver defaults for connection options: DEFAULT_CONFIG and SUPPORTED_CONFIG of the driver,
|
|
3
|
+
* or of the selected device in its DEVICES registry
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get the effective default config for a device
|
|
7
|
+
*
|
|
8
|
+
* Returns device-specific config if available, otherwise driver-level config.
|
|
9
|
+
*
|
|
10
|
+
* @param driverMetadata - Loaded driver metadata
|
|
11
|
+
* @param device - Optional device key
|
|
12
|
+
* @returns Effective default config or undefined
|
|
13
|
+
*/
|
|
14
|
+
export function getEffectiveDefaultConfig(driverMetadata, device) {
|
|
15
|
+
if (!driverMetadata) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
// Check for device-specific config first
|
|
19
|
+
if (device && driverMetadata.devices?.[device]?.defaultConfig) {
|
|
20
|
+
const deviceConfig = driverMetadata.devices[device].defaultConfig;
|
|
21
|
+
if (deviceConfig && 'baudRate' in deviceConfig) {
|
|
22
|
+
return deviceConfig;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Fall back to driver-level config
|
|
26
|
+
const driverConfig = driverMetadata.defaultConfig;
|
|
27
|
+
if (driverConfig && 'baudRate' in driverConfig) {
|
|
28
|
+
return driverConfig;
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the effective supported config for a device
|
|
34
|
+
*
|
|
35
|
+
* Returns device-specific constraints if available, otherwise driver-level constraints.
|
|
36
|
+
*
|
|
37
|
+
* @param driverMetadata - Loaded driver metadata
|
|
38
|
+
* @param device - Optional device key
|
|
39
|
+
* @returns Effective supported config or undefined
|
|
40
|
+
*/
|
|
41
|
+
export function getEffectiveSupportedConfig(driverMetadata, device) {
|
|
42
|
+
if (!driverMetadata) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
// Check for device-specific config first
|
|
46
|
+
if (device && driverMetadata.devices?.[device]?.supportedConfig) {
|
|
47
|
+
return driverMetadata.devices[device].supportedConfig;
|
|
48
|
+
}
|
|
49
|
+
// Fall back to driver-level config
|
|
50
|
+
return driverMetadata.supportedConfig;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create an effective driver metadata with device-specific configs resolved
|
|
54
|
+
*
|
|
55
|
+
* This creates a view of the driver metadata where defaultConfig and supportedConfig
|
|
56
|
+
* are resolved based on the selected device. This allows validation and other
|
|
57
|
+
* functions to work with device-specific settings transparently.
|
|
58
|
+
*
|
|
59
|
+
* @param driverMetadata - Loaded driver metadata
|
|
60
|
+
* @param device - Optional device key
|
|
61
|
+
* @returns Driver metadata with effective configs for the selected device
|
|
62
|
+
*/
|
|
63
|
+
export function getEffectiveDriverMetadata(driverMetadata, device) {
|
|
64
|
+
const effectiveDefaultConfig = getEffectiveDefaultConfig(driverMetadata, device);
|
|
65
|
+
const effectiveSupportedConfig = getEffectiveSupportedConfig(driverMetadata, device);
|
|
66
|
+
// Build result conditionally to satisfy exactOptionalPropertyTypes
|
|
67
|
+
const result = {
|
|
68
|
+
createDriver: driverMetadata.createDriver,
|
|
69
|
+
};
|
|
70
|
+
if (driverMetadata.devices) {
|
|
71
|
+
result.devices = driverMetadata.devices;
|
|
72
|
+
}
|
|
73
|
+
if (effectiveDefaultConfig) {
|
|
74
|
+
result.defaultConfig = effectiveDefaultConfig;
|
|
75
|
+
}
|
|
76
|
+
if (effectiveSupportedConfig) {
|
|
77
|
+
result.supportedConfig = effectiveSupportedConfig;
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Apply driver defaults to transport options
|
|
83
|
+
*
|
|
84
|
+
* Uses device-specific defaults if a device is selected, otherwise driver-level defaults.
|
|
85
|
+
*
|
|
86
|
+
* @param options - Transport options (may be incomplete)
|
|
87
|
+
* @param driverMetadata - Loaded driver metadata with defaults
|
|
88
|
+
* @param device - Optional device key for multi-device drivers
|
|
89
|
+
* @returns Transport options with defaults applied
|
|
90
|
+
*/
|
|
91
|
+
export function applyDriverDefaults(options, driverMetadata, device) {
|
|
92
|
+
// For TCP connections, no serial defaults apply
|
|
93
|
+
if (options.host) {
|
|
94
|
+
return options;
|
|
95
|
+
}
|
|
96
|
+
// Get effective config (device-specific or driver-level)
|
|
97
|
+
const defaultConfig = getEffectiveDefaultConfig(driverMetadata, device);
|
|
98
|
+
if (!defaultConfig) {
|
|
99
|
+
return options;
|
|
100
|
+
}
|
|
101
|
+
// Apply defaults for unspecified options
|
|
102
|
+
return {
|
|
103
|
+
...options,
|
|
104
|
+
baudRate: options.baudRate ?? defaultConfig.baudRate,
|
|
105
|
+
dataBits: options.dataBits ?? defaultConfig.dataBits,
|
|
106
|
+
stopBits: options.stopBits ?? defaultConfig.stopBits,
|
|
107
|
+
parity: options.parity ?? defaultConfig.parity,
|
|
108
|
+
slaveId: options.slaveId ?? defaultConfig.defaultAddress,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=driver-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-defaults.js","sourceRoot":"","sources":["../../../src/driver-defaults.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/errors.d.ts
CHANGED
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
* compared to string-based error detection.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
* Error thrown when driver configuration validation fails
|
|
8
|
+
* Error thrown when driver configuration validation fails, or when a connection option is not
|
|
9
|
+
* in the driver's SUPPORTED_CONFIG
|
|
10
|
+
*
|
|
11
|
+
* `value` is the rejected value and `validValues` the values that the driver supports, when
|
|
12
|
+
* they are known.
|
|
9
13
|
*
|
|
10
14
|
* @example
|
|
11
15
|
* ```typescript
|
|
@@ -23,7 +27,9 @@
|
|
|
23
27
|
*/
|
|
24
28
|
export declare class ValidationError extends Error {
|
|
25
29
|
readonly field?: string | undefined;
|
|
26
|
-
|
|
30
|
+
readonly value?: unknown | undefined;
|
|
31
|
+
readonly validValues?: readonly unknown[] | undefined;
|
|
32
|
+
constructor(message: string, field?: string | undefined, value?: unknown | undefined, validValues?: readonly unknown[] | undefined);
|
|
27
33
|
}
|
|
28
34
|
/**
|
|
29
35
|
* Error thrown when a driver package cannot be found or loaded
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,KAAK,CAAC,EAAE,MAAM;aACd,KAAK,CAAC,EAAE,OAAO;aACf,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE;gBAHhD,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,KAAK,CAAC,EAAE,OAAO,YAAA,EACf,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,YAAA;CAMnD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,WAAW,EAAE,MAAM;gBADnC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,MAAM,EACnC,OAAO,CAAC,EAAE,YAAY;CAMzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,WAAW,EAAE,MAAM;gBADnC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,MAAM,EACnC,OAAO,CAAC,EAAE,YAAY;CAMzB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAK5B"}
|
package/dist/esm/src/errors.js
CHANGED
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
* compared to string-based error detection.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
* Error thrown when driver configuration validation fails
|
|
8
|
+
* Error thrown when driver configuration validation fails, or when a connection option is not
|
|
9
|
+
* in the driver's SUPPORTED_CONFIG
|
|
10
|
+
*
|
|
11
|
+
* `value` is the rejected value and `validValues` the values that the driver supports, when
|
|
12
|
+
* they are known.
|
|
9
13
|
*
|
|
10
14
|
* @example
|
|
11
15
|
* ```typescript
|
|
@@ -22,9 +26,11 @@
|
|
|
22
26
|
* ```
|
|
23
27
|
*/
|
|
24
28
|
export class ValidationError extends Error {
|
|
25
|
-
constructor(message, field) {
|
|
29
|
+
constructor(message, field, value, validValues) {
|
|
26
30
|
super(message);
|
|
27
31
|
this.field = field;
|
|
32
|
+
this.value = value;
|
|
33
|
+
this.validValues = validValues;
|
|
28
34
|
this.name = 'ValidationError';
|
|
29
35
|
Object.setPrototypeOf(this, ValidationError.prototype);
|
|
30
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YACE,OAAe,EACC,KAAc,EACd,KAAe,EACf,WAAgC;QAEhD,KAAK,CAAC,OAAO,CAAC,CAAA;QAJE,UAAK,GAAL,KAAK,CAAS;QACd,UAAK,GAAL,KAAK,CAAU;QACf,gBAAW,GAAX,WAAW,CAAqB;QAGhD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YACE,OAAe,EACC,WAAmB,EACnC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAHP,gBAAW,GAAX,WAAW,CAAQ;QAInC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;QACjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YACE,OAAe,EACC,WAAmB,EACnC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAHP,gBAAW,GAAX,WAAW,CAAQ;QAInC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;QACjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,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"}
|
package/dist/esm/src/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export { loadDriver, clearDriverCache, getDriverCacheStats } from './loader.js';
|
|
2
2
|
export type { LoadedDriver, LoadDriverOptions, SystemDependencies, DriverCacheStats, Logger, } from './loader.js';
|
|
3
3
|
export { validateDefaultConfig, validateSupportedConfig, validateDevices, crossValidateConfigs, } from './config-validator.js';
|
|
4
|
+
export { applyDriverDefaults, getEffectiveDriverMetadata } from './driver-defaults.js';
|
|
5
|
+
export type { SerialOptions } from './driver-defaults.js';
|
|
6
|
+
export { validateSerialOptions } from './serial-validation.js';
|
|
4
7
|
export { DRIVER_PACKAGE_NAME_RULE, assertValidDriverPackageName, isValidDriverPackageName, } from './driver-package-name.js';
|
|
5
8
|
export { ValidationError, DriverNotFoundError, DriverNotBuiltError, PackageJsonError, } from './errors.js';
|
|
6
9
|
export { getCallerPackageInfo } from './package-info.js';
|
|
@@ -1 +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,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
|
|
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,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACtF,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/esm/src/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { loadDriver, clearDriverCache, getDriverCacheStats } from './loader.js';
|
|
2
2
|
export { validateDefaultConfig, validateSupportedConfig, validateDevices, crossValidateConfigs, } from './config-validator.js';
|
|
3
|
+
export { applyDriverDefaults, getEffectiveDriverMetadata } from './driver-defaults.js';
|
|
4
|
+
export { validateSerialOptions } from './serial-validation.js';
|
|
3
5
|
export { DRIVER_PACKAGE_NAME_RULE, assertValidDriverPackageName, isValidDriverPackageName, } from './driver-package-name.js';
|
|
4
6
|
export { ValidationError, DriverNotFoundError, DriverNotBuiltError, PackageJsonError, } from './errors.js';
|
|
5
7
|
export { getCallerPackageInfo } from './package-info.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAQ/E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAQ/E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation of serial connection options against a driver's SUPPORTED_CONFIG
|
|
3
|
+
*/
|
|
4
|
+
import type { LoadedDriver } from './loader.js';
|
|
5
|
+
/**
|
|
6
|
+
* Validate baud rate against driver constraints
|
|
7
|
+
*
|
|
8
|
+
* @param baudRate - User-specified baud rate
|
|
9
|
+
* @param driverMetadata - Loaded driver metadata
|
|
10
|
+
* @throws ValidationError if invalid
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateBaudRate(baudRate: number | undefined, driverMetadata?: LoadedDriver): void;
|
|
13
|
+
/**
|
|
14
|
+
* Validate parity against driver constraints
|
|
15
|
+
*
|
|
16
|
+
* @param parity - User-specified parity
|
|
17
|
+
* @param driverMetadata - Loaded driver metadata
|
|
18
|
+
* @throws ValidationError if invalid
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateParity(parity: string | undefined, driverMetadata?: LoadedDriver): void;
|
|
21
|
+
/**
|
|
22
|
+
* Validate data bits against driver constraints
|
|
23
|
+
*
|
|
24
|
+
* @param dataBits - User-specified data bits
|
|
25
|
+
* @param driverMetadata - Loaded driver metadata
|
|
26
|
+
* @throws ValidationError if invalid
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateDataBits(dataBits: number | undefined, driverMetadata?: LoadedDriver): void;
|
|
29
|
+
/**
|
|
30
|
+
* Validate stop bits against driver constraints
|
|
31
|
+
*
|
|
32
|
+
* @param stopBits - User-specified stop bits
|
|
33
|
+
* @param driverMetadata - Loaded driver metadata
|
|
34
|
+
* @throws ValidationError if invalid
|
|
35
|
+
*/
|
|
36
|
+
export declare function validateStopBits(stopBits: number | undefined, driverMetadata?: LoadedDriver): void;
|
|
37
|
+
/**
|
|
38
|
+
* Validate slave ID/address against driver constraints
|
|
39
|
+
*
|
|
40
|
+
* @param slaveId - User-specified slave ID
|
|
41
|
+
* @param driverMetadata - Loaded driver metadata
|
|
42
|
+
* @throws ValidationError if invalid
|
|
43
|
+
*/
|
|
44
|
+
export declare function validateSlaveId(slaveId: number | undefined, driverMetadata?: LoadedDriver): void;
|
|
45
|
+
/**
|
|
46
|
+
* Validate all serial connection parameters
|
|
47
|
+
*
|
|
48
|
+
* Validates baudRate, parity, dataBits, stopBits, and slaveId against driver constraints.
|
|
49
|
+
*
|
|
50
|
+
* @param options - Connection options to validate
|
|
51
|
+
* @param driverMetadata - Loaded driver metadata
|
|
52
|
+
* @throws ValidationError if any parameter is invalid
|
|
53
|
+
*/
|
|
54
|
+
export declare function validateSerialOptions(options: {
|
|
55
|
+
baudRate?: number;
|
|
56
|
+
parity?: string;
|
|
57
|
+
dataBits?: number;
|
|
58
|
+
stopBits?: number;
|
|
59
|
+
slaveId?: number;
|
|
60
|
+
}, driverMetadata?: LoadedDriver): void;
|
|
61
|
+
//# sourceMappingURL=serial-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serial-validation.d.ts","sourceRoot":"","sources":["../../../src/serial-validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAc/C;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,cAAc,CAAC,EAAE,YAAY,GAC5B,IAAI,CAwBN;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAwB9F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,cAAc,CAAC,EAAE,YAAY,GAC5B,IAAI,CAwBN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,cAAc,CAAC,EAAE,YAAY,GAC5B,IAAI,CAwBN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAuBhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,EACD,cAAc,CAAC,EAAE,YAAY,GAC5B,IAAI,CAMN"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation of serial connection options against a driver's SUPPORTED_CONFIG
|
|
3
|
+
*/
|
|
4
|
+
import { ValidationError } from './errors.js';
|
|
5
|
+
/**
|
|
6
|
+
* Check if config is a serial config (has validBaudRates)
|
|
7
|
+
*/
|
|
8
|
+
function isSerialConfig(config) {
|
|
9
|
+
return (config !== null &&
|
|
10
|
+
config !== undefined &&
|
|
11
|
+
typeof config === 'object' &&
|
|
12
|
+
'validBaudRates' in config);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Validate baud rate against driver constraints
|
|
16
|
+
*
|
|
17
|
+
* @param baudRate - User-specified baud rate
|
|
18
|
+
* @param driverMetadata - Loaded driver metadata
|
|
19
|
+
* @throws ValidationError if invalid
|
|
20
|
+
*/
|
|
21
|
+
export function validateBaudRate(baudRate, driverMetadata) {
|
|
22
|
+
if (baudRate === undefined) {
|
|
23
|
+
return; // No validation needed if not specified
|
|
24
|
+
}
|
|
25
|
+
const supportedConfig = driverMetadata?.supportedConfig;
|
|
26
|
+
if (!isSerialConfig(supportedConfig) || !supportedConfig.validBaudRates) {
|
|
27
|
+
return; // No driver-specific constraints
|
|
28
|
+
}
|
|
29
|
+
const validRates = supportedConfig.validBaudRates;
|
|
30
|
+
if (!validRates.includes(baudRate)) {
|
|
31
|
+
const rateList = validRates.join(', ');
|
|
32
|
+
const defaultConfig = driverMetadata?.defaultConfig;
|
|
33
|
+
const defaultRate = defaultConfig && 'baudRate' in defaultConfig ? defaultConfig.baudRate : undefined;
|
|
34
|
+
throw new ValidationError(`Invalid baud rate ${baudRate}. This driver supports: ${rateList}${defaultRate ? ` (default: ${defaultRate})` : ''}`, 'baudRate', baudRate, validRates);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Validate parity against driver constraints
|
|
39
|
+
*
|
|
40
|
+
* @param parity - User-specified parity
|
|
41
|
+
* @param driverMetadata - Loaded driver metadata
|
|
42
|
+
* @throws ValidationError if invalid
|
|
43
|
+
*/
|
|
44
|
+
export function validateParity(parity, driverMetadata) {
|
|
45
|
+
if (parity === undefined) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const supportedConfig = driverMetadata?.supportedConfig;
|
|
49
|
+
if (!isSerialConfig(supportedConfig) || !supportedConfig.validParity) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const validParity = supportedConfig.validParity;
|
|
53
|
+
if (!validParity.includes(parity)) {
|
|
54
|
+
const parityList = validParity.join(', ');
|
|
55
|
+
const defaultConfig = driverMetadata?.defaultConfig;
|
|
56
|
+
const defaultParity = defaultConfig && 'parity' in defaultConfig ? defaultConfig.parity : undefined;
|
|
57
|
+
throw new ValidationError(`Invalid parity '${parity}'. This driver supports: ${parityList}${defaultParity ? ` (default: ${defaultParity})` : ''}`, 'parity', parity, validParity);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Validate data bits against driver constraints
|
|
62
|
+
*
|
|
63
|
+
* @param dataBits - User-specified data bits
|
|
64
|
+
* @param driverMetadata - Loaded driver metadata
|
|
65
|
+
* @throws ValidationError if invalid
|
|
66
|
+
*/
|
|
67
|
+
export function validateDataBits(dataBits, driverMetadata) {
|
|
68
|
+
if (dataBits === undefined) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const supportedConfig = driverMetadata?.supportedConfig;
|
|
72
|
+
if (!isSerialConfig(supportedConfig) || !supportedConfig.validDataBits) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const validDataBits = supportedConfig.validDataBits;
|
|
76
|
+
if (!validDataBits.includes(dataBits)) {
|
|
77
|
+
const bitsList = validDataBits.join(', ');
|
|
78
|
+
const defaultConfig = driverMetadata?.defaultConfig;
|
|
79
|
+
const defaultBits = defaultConfig && 'dataBits' in defaultConfig ? defaultConfig.dataBits : undefined;
|
|
80
|
+
throw new ValidationError(`Invalid data bits ${dataBits}. This driver supports: ${bitsList}${defaultBits ? ` (default: ${defaultBits})` : ''}`, 'dataBits', dataBits, validDataBits);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validate stop bits against driver constraints
|
|
85
|
+
*
|
|
86
|
+
* @param stopBits - User-specified stop bits
|
|
87
|
+
* @param driverMetadata - Loaded driver metadata
|
|
88
|
+
* @throws ValidationError if invalid
|
|
89
|
+
*/
|
|
90
|
+
export function validateStopBits(stopBits, driverMetadata) {
|
|
91
|
+
if (stopBits === undefined) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const supportedConfig = driverMetadata?.supportedConfig;
|
|
95
|
+
if (!isSerialConfig(supportedConfig) || !supportedConfig.validStopBits) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const validStopBits = supportedConfig.validStopBits;
|
|
99
|
+
if (!validStopBits.includes(stopBits)) {
|
|
100
|
+
const bitsList = validStopBits.join(', ');
|
|
101
|
+
const defaultConfig = driverMetadata?.defaultConfig;
|
|
102
|
+
const defaultBits = defaultConfig && 'stopBits' in defaultConfig ? defaultConfig.stopBits : undefined;
|
|
103
|
+
throw new ValidationError(`Invalid stop bits ${stopBits}. This driver supports: ${bitsList}${defaultBits ? ` (default: ${defaultBits})` : ''}`, 'stopBits', stopBits, validStopBits);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Validate slave ID/address against driver constraints
|
|
108
|
+
*
|
|
109
|
+
* @param slaveId - User-specified slave ID
|
|
110
|
+
* @param driverMetadata - Loaded driver metadata
|
|
111
|
+
* @throws ValidationError if invalid
|
|
112
|
+
*/
|
|
113
|
+
export function validateSlaveId(slaveId, driverMetadata) {
|
|
114
|
+
if (slaveId === undefined) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const supportedConfig = driverMetadata?.supportedConfig;
|
|
118
|
+
if (!isSerialConfig(supportedConfig) || !supportedConfig.validAddressRange) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const [min, max] = supportedConfig.validAddressRange;
|
|
122
|
+
if (slaveId < min || slaveId > max) {
|
|
123
|
+
const defaultConfig = driverMetadata?.defaultConfig;
|
|
124
|
+
const defaultAddress = defaultConfig && 'defaultAddress' in defaultConfig ? defaultConfig.defaultAddress : undefined;
|
|
125
|
+
throw new ValidationError(`Invalid slave ID ${slaveId}. This driver supports: ${min}-${max}${defaultAddress ? ` (default: ${defaultAddress})` : ''}`, 'slaveId', slaveId, [min, max]);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Validate all serial connection parameters
|
|
130
|
+
*
|
|
131
|
+
* Validates baudRate, parity, dataBits, stopBits, and slaveId against driver constraints.
|
|
132
|
+
*
|
|
133
|
+
* @param options - Connection options to validate
|
|
134
|
+
* @param driverMetadata - Loaded driver metadata
|
|
135
|
+
* @throws ValidationError if any parameter is invalid
|
|
136
|
+
*/
|
|
137
|
+
export function validateSerialOptions(options, driverMetadata) {
|
|
138
|
+
validateBaudRate(options.baudRate, driverMetadata);
|
|
139
|
+
validateParity(options.parity, driverMetadata);
|
|
140
|
+
validateDataBits(options.dataBits, driverMetadata);
|
|
141
|
+
validateStopBits(options.stopBits, driverMetadata);
|
|
142
|
+
validateSlaveId(options.slaveId, driverMetadata);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=serial-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serial-validation.js","sourceRoot":"","sources":["../../../src/serial-validation.ts"],"names":[],"mappings":"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"}
|