@signalk/path-metadata 0.1.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/dist/ais-ship-types.d.ts +2 -0
- package/dist/ais-ship-types.d.ts.map +1 -0
- package/dist/ais-ship-types.js +89 -0
- package/dist/ais-ship-types.js.map +1 -0
- package/dist/aton-types.d.ts +2 -0
- package/dist/aton-types.d.ts.map +1 -0
- package/dist/aton-types.js +42 -0
- package/dist/aton-types.js.map +1 -0
- package/dist/communication.d.ts +3 -0
- package/dist/communication.d.ts.map +1 -0
- package/dist/communication.js +33 -0
- package/dist/communication.js.map +1 -0
- package/dist/design.d.ts +3 -0
- package/dist/design.d.ts.map +1 -0
- package/dist/design.js +113 -0
- package/dist/design.js.map +1 -0
- package/dist/electrical.d.ts +3 -0
- package/dist/electrical.d.ts.map +1 -0
- package/dist/electrical.js +602 -0
- package/dist/electrical.js.map +1 -0
- package/dist/environment.d.ts +3 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +260 -0
- package/dist/environment.js.map +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +223 -0
- package/dist/index.js.map +1 -0
- package/dist/navigation.d.ts +3 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +474 -0
- package/dist/navigation.js.map +1 -0
- package/dist/notifications.d.ts +3 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/notifications.js +75 -0
- package/dist/notifications.js.map +1 -0
- package/dist/performance.d.ts +3 -0
- package/dist/performance.d.ts.map +1 -0
- package/dist/performance.js +105 -0
- package/dist/performance.js.map +1 -0
- package/dist/propulsion.d.ts +3 -0
- package/dist/propulsion.d.ts.map +1 -0
- package/dist/propulsion.js +133 -0
- package/dist/propulsion.js.map +1 -0
- package/dist/registrations.d.ts +3 -0
- package/dist/registrations.d.ts.map +1 -0
- package/dist/registrations.js +51 -0
- package/dist/registrations.js.map +1 -0
- package/dist/root.d.ts +3 -0
- package/dist/root.d.ts.map +1 -0
- package/dist/root.js +284 -0
- package/dist/root.js.map +1 -0
- package/dist/sails.d.ts +3 -0
- package/dist/sails.d.ts.map +1 -0
- package/dist/sails.js +65 -0
- package/dist/sails.js.map +1 -0
- package/dist/sensors.d.ts +3 -0
- package/dist/sensors.d.ts.map +1 -0
- package/dist/sensors.js +32 -0
- package/dist/sensors.js.map +1 -0
- package/dist/steering.d.ts +3 -0
- package/dist/steering.d.ts.map +1 -0
- package/dist/steering.js +72 -0
- package/dist/steering.js.map +1 -0
- package/dist/tanks.d.ts +3 -0
- package/dist/tanks.d.ts.map +1 -0
- package/dist/tanks.js +386 -0
- package/dist/tanks.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/package.json +24 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.environmentMetadata = void 0;
|
|
4
|
+
exports.environmentMetadata = {
|
|
5
|
+
'/vessels/*/environment': {
|
|
6
|
+
description: 'Environmental data measured locally including Depth, Wind, Temp, etc.'
|
|
7
|
+
},
|
|
8
|
+
'/vessels/*/environment/outside': {
|
|
9
|
+
description: "Environmental conditions outside of the vessel's hull"
|
|
10
|
+
},
|
|
11
|
+
'/vessels/*/environment/outside/temperature': {
|
|
12
|
+
description: 'Current outside air temperature',
|
|
13
|
+
units: 'K'
|
|
14
|
+
},
|
|
15
|
+
'/vessels/*/environment/outside/dewPointTemperature': {
|
|
16
|
+
description: 'Current outside dew point temperature',
|
|
17
|
+
units: 'K'
|
|
18
|
+
},
|
|
19
|
+
'/vessels/*/environment/outside/apparentWindChillTemperature': {
|
|
20
|
+
description: 'Current outside apparent wind chill temperature',
|
|
21
|
+
units: 'K'
|
|
22
|
+
},
|
|
23
|
+
'/vessels/*/environment/outside/theoreticalWindChillTemperature': {
|
|
24
|
+
description: 'Current outside theoretical wind chill temperature',
|
|
25
|
+
units: 'K'
|
|
26
|
+
},
|
|
27
|
+
'/vessels/*/environment/outside/heatIndexTemperature': {
|
|
28
|
+
description: 'Current outside heat index temperature',
|
|
29
|
+
units: 'K'
|
|
30
|
+
},
|
|
31
|
+
'/vessels/*/environment/outside/pressure': {
|
|
32
|
+
description: 'Current outside air ambient pressure',
|
|
33
|
+
units: 'Pa'
|
|
34
|
+
},
|
|
35
|
+
'/vessels/*/environment/outside/humidity': {
|
|
36
|
+
description: 'DEPRECATED: use relativeHumidity',
|
|
37
|
+
units: 'ratio'
|
|
38
|
+
},
|
|
39
|
+
'/vessels/*/environment/outside/relativeHumidity': {
|
|
40
|
+
description: 'Current outside air relative humidity',
|
|
41
|
+
units: 'ratio'
|
|
42
|
+
},
|
|
43
|
+
'/vessels/*/environment/outside/airDensity': {
|
|
44
|
+
description: 'Current outside air density',
|
|
45
|
+
units: 'kg/m3'
|
|
46
|
+
},
|
|
47
|
+
'/vessels/*/environment/outside/illuminance': {
|
|
48
|
+
description: 'Current outside ambient light flux.',
|
|
49
|
+
units: 'Lux'
|
|
50
|
+
},
|
|
51
|
+
'/vessels/*/environment/inside': {
|
|
52
|
+
description: "Environmental conditions inside the vessel's hull"
|
|
53
|
+
},
|
|
54
|
+
'/vessels/*/environment/inside/temperature': {
|
|
55
|
+
description: 'Temperature',
|
|
56
|
+
units: 'K'
|
|
57
|
+
},
|
|
58
|
+
'/vessels/*/environment/inside/heatIndexTemperature': {
|
|
59
|
+
description: 'Current heat index temperature in zone',
|
|
60
|
+
units: 'K'
|
|
61
|
+
},
|
|
62
|
+
'/vessels/*/environment/inside/pressure': {
|
|
63
|
+
description: 'Pressure in zone',
|
|
64
|
+
units: 'Pa'
|
|
65
|
+
},
|
|
66
|
+
'/vessels/*/environment/inside/relativeHumidity': {
|
|
67
|
+
description: 'Relative humidity in zone',
|
|
68
|
+
units: 'ratio'
|
|
69
|
+
},
|
|
70
|
+
'/vessels/*/environment/inside/dewPoint': {
|
|
71
|
+
description: 'DEPRECATED: use dewPointTemperature',
|
|
72
|
+
units: 'K'
|
|
73
|
+
},
|
|
74
|
+
'/vessels/*/environment/inside/dewPointTemperature': {
|
|
75
|
+
description: 'Dewpoint in zone',
|
|
76
|
+
units: 'K'
|
|
77
|
+
},
|
|
78
|
+
'/vessels/*/environment/inside/airDensity': {
|
|
79
|
+
description: 'Air density in zone',
|
|
80
|
+
units: 'kg/m3'
|
|
81
|
+
},
|
|
82
|
+
'/vessels/*/environment/inside/illuminance': {
|
|
83
|
+
description: 'Illuminance in zone',
|
|
84
|
+
units: 'Lux'
|
|
85
|
+
},
|
|
86
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+': {
|
|
87
|
+
description: 'This regex pattern is used for validation of the identifier for the environmental zone, eg. engineRoom, mainCabin, refrigerator'
|
|
88
|
+
},
|
|
89
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/temperature': {
|
|
90
|
+
description: 'Temperature',
|
|
91
|
+
units: 'K'
|
|
92
|
+
},
|
|
93
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/heatIndexTemperature': {
|
|
94
|
+
description: 'Current heat index temperature in zone',
|
|
95
|
+
units: 'K'
|
|
96
|
+
},
|
|
97
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/pressure': {
|
|
98
|
+
description: 'Pressure in zone',
|
|
99
|
+
units: 'Pa'
|
|
100
|
+
},
|
|
101
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/relativeHumidity': {
|
|
102
|
+
description: 'Relative humidity in zone',
|
|
103
|
+
units: 'ratio'
|
|
104
|
+
},
|
|
105
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/dewPoint': {
|
|
106
|
+
description: 'DEPRECATED: use dewPointTemperature',
|
|
107
|
+
units: 'K'
|
|
108
|
+
},
|
|
109
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/dewPointTemperature': {
|
|
110
|
+
description: 'Dewpoint in zone',
|
|
111
|
+
units: 'K'
|
|
112
|
+
},
|
|
113
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/airDensity': {
|
|
114
|
+
description: 'Air density in zone',
|
|
115
|
+
units: 'kg/m3'
|
|
116
|
+
},
|
|
117
|
+
'/vessels/*/environment/inside/[A-Za-z0-9]+/illuminance': {
|
|
118
|
+
description: 'Illuminance in zone',
|
|
119
|
+
units: 'Lux'
|
|
120
|
+
},
|
|
121
|
+
'/vessels/*/environment/water': {
|
|
122
|
+
description: 'Environmental conditions of the water that the vessel is sailing in'
|
|
123
|
+
},
|
|
124
|
+
'/vessels/*/environment/water/temperature': {
|
|
125
|
+
description: 'Current water temperature',
|
|
126
|
+
units: 'K'
|
|
127
|
+
},
|
|
128
|
+
'/vessels/*/environment/water/salinity': {
|
|
129
|
+
description: 'Water salinity',
|
|
130
|
+
units: 'ratio'
|
|
131
|
+
},
|
|
132
|
+
'/vessels/*/environment/depth': {
|
|
133
|
+
description: 'Depth related data'
|
|
134
|
+
},
|
|
135
|
+
'/vessels/*/environment/depth/belowKeel': {
|
|
136
|
+
description: 'Depth below keel',
|
|
137
|
+
units: 'm'
|
|
138
|
+
},
|
|
139
|
+
'/vessels/*/environment/depth/belowTransducer': {
|
|
140
|
+
description: 'Depth below Transducer',
|
|
141
|
+
units: 'm'
|
|
142
|
+
},
|
|
143
|
+
'/vessels/*/environment/depth/belowSurface': {
|
|
144
|
+
description: 'Depth from surface',
|
|
145
|
+
units: 'm'
|
|
146
|
+
},
|
|
147
|
+
'/vessels/*/environment/depth/transducerToKeel': {
|
|
148
|
+
description: 'Depth from the transducer to the bottom of the keel',
|
|
149
|
+
units: 'm'
|
|
150
|
+
},
|
|
151
|
+
'/vessels/*/environment/depth/surfaceToTransducer': {
|
|
152
|
+
description: 'Depth transducer is below the water surface',
|
|
153
|
+
units: 'm'
|
|
154
|
+
},
|
|
155
|
+
'/vessels/*/environment/current': {
|
|
156
|
+
description: 'Direction and strength of current affecting the vessel',
|
|
157
|
+
properties: {
|
|
158
|
+
drift: {
|
|
159
|
+
type: 'number',
|
|
160
|
+
description: 'The speed component of the water current vector',
|
|
161
|
+
example: 3.12,
|
|
162
|
+
units: 'm/s'
|
|
163
|
+
},
|
|
164
|
+
setTrue: {
|
|
165
|
+
type: 'number',
|
|
166
|
+
description: 'The direction component of the water current vector referenced to true (geographic) north',
|
|
167
|
+
example: 2.155,
|
|
168
|
+
units: 'rad'
|
|
169
|
+
},
|
|
170
|
+
setMagnetic: {
|
|
171
|
+
type: 'number',
|
|
172
|
+
description: 'The direction component of the water current vector referenced to magnetic north',
|
|
173
|
+
example: 2.29,
|
|
174
|
+
units: 'rad'
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
'/vessels/*/environment/tide': {
|
|
179
|
+
description: 'Tide data'
|
|
180
|
+
},
|
|
181
|
+
'/vessels/*/environment/tide/heightHigh': {
|
|
182
|
+
description: 'Next high tide height relative to lowest astronomical tide (LAT/Chart Datum)',
|
|
183
|
+
units: 'm'
|
|
184
|
+
},
|
|
185
|
+
'/vessels/*/environment/tide/heightNow': {
|
|
186
|
+
description: 'The current tide height relative to lowest astronomical tide (LAT/Chart Datum)',
|
|
187
|
+
units: 'm'
|
|
188
|
+
},
|
|
189
|
+
'/vessels/*/environment/tide/heightLow': {
|
|
190
|
+
description: 'The next low tide height relative to lowest astronomical tide (LAT/Chart Datum)',
|
|
191
|
+
units: 'm'
|
|
192
|
+
},
|
|
193
|
+
'/vessels/*/environment/tide/timeLow': {
|
|
194
|
+
description: 'RFC 3339 (UTC only without local offset) string representing date and time.',
|
|
195
|
+
units: 'RFC 3339 (UTC)'
|
|
196
|
+
},
|
|
197
|
+
'/vessels/*/environment/tide/timeHigh': {
|
|
198
|
+
description: 'RFC 3339 (UTC only without local offset) string representing date and time.',
|
|
199
|
+
units: 'RFC 3339 (UTC)'
|
|
200
|
+
},
|
|
201
|
+
'/vessels/*/environment/heave': {
|
|
202
|
+
description: 'Vertical movement of the vessel due to waves',
|
|
203
|
+
units: 'm'
|
|
204
|
+
},
|
|
205
|
+
'/vessels/*/environment/wind': {
|
|
206
|
+
description: 'Wind data.'
|
|
207
|
+
},
|
|
208
|
+
'/vessels/*/environment/wind/angleApparent': {
|
|
209
|
+
description: 'Apparent wind angle, negative to port',
|
|
210
|
+
units: 'rad'
|
|
211
|
+
},
|
|
212
|
+
'/vessels/*/environment/wind/angleTrueGround': {
|
|
213
|
+
description: 'True wind angle based on speed over ground, negative to port',
|
|
214
|
+
units: 'rad'
|
|
215
|
+
},
|
|
216
|
+
'/vessels/*/environment/wind/angleTrueWater': {
|
|
217
|
+
description: 'True wind angle based on speed through water, negative to port',
|
|
218
|
+
units: 'rad'
|
|
219
|
+
},
|
|
220
|
+
'/vessels/*/environment/wind/directionChangeAlarm': {
|
|
221
|
+
description: 'The angle the wind needs to shift to raise an alarm',
|
|
222
|
+
units: 'rad'
|
|
223
|
+
},
|
|
224
|
+
'/vessels/*/environment/wind/directionTrue': {
|
|
225
|
+
description: 'The wind direction relative to true north',
|
|
226
|
+
units: 'rad'
|
|
227
|
+
},
|
|
228
|
+
'/vessels/*/environment/wind/directionMagnetic': {
|
|
229
|
+
description: 'The wind direction relative to magnetic north',
|
|
230
|
+
units: 'rad'
|
|
231
|
+
},
|
|
232
|
+
'/vessels/*/environment/wind/speedTrue': {
|
|
233
|
+
description: "Wind speed over water (as calculated from speedApparent and vessel's speed through water)",
|
|
234
|
+
units: 'm/s'
|
|
235
|
+
},
|
|
236
|
+
'/vessels/*/environment/wind/speedOverGround': {
|
|
237
|
+
description: "Wind speed over ground (as calculated from speedApparent and vessel's speed over ground)",
|
|
238
|
+
units: 'm/s'
|
|
239
|
+
},
|
|
240
|
+
'/vessels/*/environment/wind/speedApparent': {
|
|
241
|
+
description: 'Apparent wind speed',
|
|
242
|
+
units: 'm/s'
|
|
243
|
+
},
|
|
244
|
+
'/vessels/*/environment/time': {
|
|
245
|
+
description: 'A time reference for the vessel. All clocks on the vessel dispaying local time should use the timezone offset here. If a timezoneRegion is supplied the timezone must also be supplied. If timezoneRegion is supplied that should be displayed by UIs in preference to simply timezone. ie 12:05 (Europe/London) should be displayed in preference to 12:05 (UTC+01:00)'
|
|
246
|
+
},
|
|
247
|
+
'/vessels/*/environment/time/millis': {
|
|
248
|
+
description: 'Milliseconds since the UNIX epoch (1970-01-01 00:00:00)'
|
|
249
|
+
},
|
|
250
|
+
'/vessels/*/environment/time/timezoneOffset': {
|
|
251
|
+
description: 'Onboard timezone offset from UTC in hours and minutes (-)hhmm. +ve means east of Greenwich. For use by UIs'
|
|
252
|
+
},
|
|
253
|
+
'/vessels/*/environment/time/timezoneRegion': {
|
|
254
|
+
description: 'Onboard timezone offset as listed in the IANA timezone database (tz database)'
|
|
255
|
+
},
|
|
256
|
+
'/vessels/*/environment/mode': {
|
|
257
|
+
description: 'Mode of the vessel based on the current conditions. Can be combined with navigation.state to control vessel signals eg switch to night mode for instrumentation and lights, or make sound signals for fog.'
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signal K Path Metadata Registry
|
|
3
|
+
*
|
|
4
|
+
* Provides lookup of well-known path metadata (units, description, enum)
|
|
5
|
+
* via regex-based matching. Supports runtime additions from meta deltas.
|
|
6
|
+
*/
|
|
7
|
+
import type { PathMetadataEntry } from './types';
|
|
8
|
+
export type { PathMetadataEntry } from './types';
|
|
9
|
+
export { getAISShipTypeName } from './ais-ship-types';
|
|
10
|
+
export { getAtonTypeName } from './aton-types';
|
|
11
|
+
export declare class MetadataRegistry {
|
|
12
|
+
private allMetadata;
|
|
13
|
+
private regexEntries;
|
|
14
|
+
private readonly seedEntries;
|
|
15
|
+
constructor(entries: Record<string, PathMetadataEntry>);
|
|
16
|
+
/**
|
|
17
|
+
* Restore the registry to its construction-time state, dropping any
|
|
18
|
+
* runtime additions made via addMetaData / internalGetMetadata. Intended
|
|
19
|
+
* for test isolation; production code should not call this.
|
|
20
|
+
*/
|
|
21
|
+
reset(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Look up metadata for a dot-separated Signal K path.
|
|
24
|
+
* Returns the metadata entry or undefined if no match.
|
|
25
|
+
*/
|
|
26
|
+
getMetadata(path: string): PathMetadataEntry | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Get or create a metadata entry for a specific context+path combination.
|
|
29
|
+
* Used internally by FullSignalK to attach metadata to first-seen values.
|
|
30
|
+
* If an exact entry doesn't exist, clones the matched pattern entry
|
|
31
|
+
* so runtime metadata additions don't pollute the template.
|
|
32
|
+
*/
|
|
33
|
+
internalGetMetadata(path: string): PathMetadataEntry | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Merge runtime metadata into the registry for a specific context+path.
|
|
36
|
+
* Called when meta deltas are received. Mirrors the @signalk/signalk-schema
|
|
37
|
+
* v2.25 semantics:
|
|
38
|
+
* - If the exact per-path key already exists, merge the new fields in.
|
|
39
|
+
* - If it doesn't, seed the new entry from any matching spec (RegExp)
|
|
40
|
+
* template so untouched fields (units, enum, etc.) stay intact, then
|
|
41
|
+
* merge the plugin's fields on top. The per-path regex goes to the
|
|
42
|
+
* FRONT of the lookup array so getMetadata() finds it before the
|
|
43
|
+
* generic spec wildcard.
|
|
44
|
+
*/
|
|
45
|
+
addMetaData(context: string, path: string, meta: Record<string, unknown>): void;
|
|
46
|
+
/** Return all registered metadata entries (for the /paths endpoint). */
|
|
47
|
+
getAllMetadata(): Record<string, PathMetadataEntry>;
|
|
48
|
+
}
|
|
49
|
+
export declare const metadataRegistry: MetadataRegistry;
|
|
50
|
+
/** Look up metadata for a dot-separated Signal K path. */
|
|
51
|
+
export declare function getMetadata(path: string): PathMetadataEntry | undefined;
|
|
52
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAiBhD,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAmF9C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;gBAEnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAMtD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAUxD;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IA0ChE;;;;;;;;;;OAUG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI;IAgCP,wEAAwE;IACxE,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;CAGpD;AAOD,eAAO,MAAM,gBAAgB,kBAAmC,CAAA;AAEhE,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEvE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Signal K Path Metadata Registry
|
|
4
|
+
*
|
|
5
|
+
* Provides lookup of well-known path metadata (units, description, enum)
|
|
6
|
+
* via regex-based matching. Supports runtime additions from meta deltas.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.metadataRegistry = exports.MetadataRegistry = exports.getAtonTypeName = exports.getAISShipTypeName = void 0;
|
|
10
|
+
exports.getMetadata = getMetadata;
|
|
11
|
+
const root_1 = require("./root");
|
|
12
|
+
const navigation_1 = require("./navigation");
|
|
13
|
+
const environment_1 = require("./environment");
|
|
14
|
+
const electrical_1 = require("./electrical");
|
|
15
|
+
const tanks_1 = require("./tanks");
|
|
16
|
+
const propulsion_1 = require("./propulsion");
|
|
17
|
+
const performance_1 = require("./performance");
|
|
18
|
+
const sails_1 = require("./sails");
|
|
19
|
+
const steering_1 = require("./steering");
|
|
20
|
+
const design_1 = require("./design");
|
|
21
|
+
const registrations_1 = require("./registrations");
|
|
22
|
+
const communication_1 = require("./communication");
|
|
23
|
+
const sensors_1 = require("./sensors");
|
|
24
|
+
const notifications_1 = require("./notifications");
|
|
25
|
+
var ais_ship_types_1 = require("./ais-ship-types");
|
|
26
|
+
Object.defineProperty(exports, "getAISShipTypeName", { enumerable: true, get: function () { return ais_ship_types_1.getAISShipTypeName; } });
|
|
27
|
+
var aton_types_1 = require("./aton-types");
|
|
28
|
+
Object.defineProperty(exports, "getAtonTypeName", { enumerable: true, get: function () { return aton_types_1.getAtonTypeName; } });
|
|
29
|
+
const vesselMetadata = {
|
|
30
|
+
...navigation_1.navigationMetadata,
|
|
31
|
+
...environment_1.environmentMetadata,
|
|
32
|
+
...electrical_1.electricalMetadata,
|
|
33
|
+
...tanks_1.tanksMetadata,
|
|
34
|
+
...propulsion_1.propulsionMetadata,
|
|
35
|
+
...performance_1.performanceMetadata,
|
|
36
|
+
...sails_1.sailsMetadata,
|
|
37
|
+
...steering_1.steeringMetadata,
|
|
38
|
+
...design_1.designMetadata,
|
|
39
|
+
...registrations_1.registrationsMetadata,
|
|
40
|
+
...communication_1.communicationMetadata,
|
|
41
|
+
...sensors_1.sensorsMetadata,
|
|
42
|
+
...notifications_1.notificationsMetadata
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Expand /vessels/* paths to also cover /aircraft/*, /aton/*, /sar/*
|
|
46
|
+
* since they share the same data model structure.
|
|
47
|
+
*/
|
|
48
|
+
function expandContextPrefixes(entries) {
|
|
49
|
+
const expanded = {};
|
|
50
|
+
for (const [key, value] of Object.entries(entries)) {
|
|
51
|
+
expanded[key] = value;
|
|
52
|
+
if (key.startsWith('/vessels/*/')) {
|
|
53
|
+
const suffix = key.slice('/vessels/*/'.length);
|
|
54
|
+
expanded[`/aircraft/*/${suffix}`] = value;
|
|
55
|
+
expanded[`/aton/*/${suffix}`] = value;
|
|
56
|
+
expanded[`/sar/*/${suffix}`] = value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return expanded;
|
|
60
|
+
}
|
|
61
|
+
function buildRegexArray(allEntries) {
|
|
62
|
+
const result = [];
|
|
63
|
+
for (const [key, metadata] of Object.entries(allEntries)) {
|
|
64
|
+
// Convert path wildcards to regex: * → [^/]+ and RegExp → [^/]+
|
|
65
|
+
const pattern = key
|
|
66
|
+
.replace(/\*/g, '[^/]+')
|
|
67
|
+
.replace(/RegExp/g, '[^/]+')
|
|
68
|
+
.replace(/\(([^)]+)\)/g, '($1)'); // preserve regex groups like (single)|([A-C])
|
|
69
|
+
// Skip entries whose key ends in a bare wildcard. These are container
|
|
70
|
+
// shapes (e.g. /vessels/*/electrical/ac/RegExp defines "an AC bus",
|
|
71
|
+
// not "any child of electrical.ac"). Letting them match would attach
|
|
72
|
+
// the container description to plugin-invented siblings — matches the
|
|
73
|
+
// old @signalk/signalk-schema behaviour.
|
|
74
|
+
if (key.endsWith('/*') || key.endsWith('/RegExp')) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
result.push({
|
|
79
|
+
pattern: new RegExp(`^${pattern}$`),
|
|
80
|
+
key,
|
|
81
|
+
metadata
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
// A bad metadata key shouldn't take the whole registry down, but
|
|
86
|
+
// it must be visible so the typo or unescaped regex special
|
|
87
|
+
// character can be tracked down. The check runs once at module
|
|
88
|
+
// load over a static set of keys, so warning in production is
|
|
89
|
+
// both cheap and the only way to catch a bug introduced by a
|
|
90
|
+
// future schema sync.
|
|
91
|
+
console.warn(`path-metadata: skipping invalid pattern for key "${key}": ${e.message}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
class MetadataRegistry {
|
|
97
|
+
allMetadata;
|
|
98
|
+
regexEntries;
|
|
99
|
+
seedEntries;
|
|
100
|
+
constructor(entries) {
|
|
101
|
+
this.seedEntries = entries;
|
|
102
|
+
this.allMetadata = { ...entries };
|
|
103
|
+
this.regexEntries = buildRegexArray(this.allMetadata);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Restore the registry to its construction-time state, dropping any
|
|
107
|
+
* runtime additions made via addMetaData / internalGetMetadata. Intended
|
|
108
|
+
* for test isolation; production code should not call this.
|
|
109
|
+
*/
|
|
110
|
+
reset() {
|
|
111
|
+
this.allMetadata = { ...this.seedEntries };
|
|
112
|
+
this.regexEntries = buildRegexArray(this.allMetadata);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Look up metadata for a dot-separated Signal K path.
|
|
116
|
+
* Returns the metadata entry or undefined if no match.
|
|
117
|
+
*/
|
|
118
|
+
getMetadata(path) {
|
|
119
|
+
const slashPath = '/' + path.replace(/\./g, '/');
|
|
120
|
+
const result = this.regexEntries.find((entry) => entry.pattern.test(slashPath));
|
|
121
|
+
return result && result.metadata && Object.keys(result.metadata).length > 0
|
|
122
|
+
? result.metadata
|
|
123
|
+
: undefined;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get or create a metadata entry for a specific context+path combination.
|
|
127
|
+
* Used internally by FullSignalK to attach metadata to first-seen values.
|
|
128
|
+
* If an exact entry doesn't exist, clones the matched pattern entry
|
|
129
|
+
* so runtime metadata additions don't pollute the template.
|
|
130
|
+
*/
|
|
131
|
+
internalGetMetadata(path) {
|
|
132
|
+
const slashPath = '/' + path.replace(/\./g, '/');
|
|
133
|
+
const parts = path.split('.');
|
|
134
|
+
// Need at least context root + identity + one path segment to
|
|
135
|
+
// produce a meaningful per-path key. Anything shorter would yield
|
|
136
|
+
// keys like "/vessels/*/" that match nothing.
|
|
137
|
+
if (parts.length < 3) {
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
// Use wildcard key so all identities share the same cloned entry
|
|
141
|
+
const key = `/${parts[0]}/*/${parts.slice(2).join('/')}`;
|
|
142
|
+
// Check for existing wildcard entry first
|
|
143
|
+
if (this.allMetadata[key]) {
|
|
144
|
+
return this.allMetadata[key];
|
|
145
|
+
}
|
|
146
|
+
// Find via regex against the full path
|
|
147
|
+
const result = this.regexEntries.find((entry) => entry.pattern.test(slashPath));
|
|
148
|
+
if (!result || Object.keys(result.metadata).length === 0) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
// Deep clone the matched entry so runtime additions are per-path.
|
|
152
|
+
// Spec entries can carry nested objects (displayScale, zones, *Method
|
|
153
|
+
// arrays) — a shallow clone would share those nested references with
|
|
154
|
+
// the template, so a plugin tweaking displayScale on one path would
|
|
155
|
+
// silently change every other path that matches the same wildcard.
|
|
156
|
+
const cloned = structuredClone(result.metadata);
|
|
157
|
+
this.allMetadata[key] = cloned;
|
|
158
|
+
// Escape special chars first, then replace wildcard
|
|
159
|
+
const escaped = key.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
|
|
160
|
+
this.regexEntries.push({
|
|
161
|
+
pattern: new RegExp(`^${escaped.replace(/\*/g, '[^/]+')}$`),
|
|
162
|
+
key,
|
|
163
|
+
metadata: cloned
|
|
164
|
+
});
|
|
165
|
+
return cloned;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Merge runtime metadata into the registry for a specific context+path.
|
|
169
|
+
* Called when meta deltas are received. Mirrors the @signalk/signalk-schema
|
|
170
|
+
* v2.25 semantics:
|
|
171
|
+
* - If the exact per-path key already exists, merge the new fields in.
|
|
172
|
+
* - If it doesn't, seed the new entry from any matching spec (RegExp)
|
|
173
|
+
* template so untouched fields (units, enum, etc.) stay intact, then
|
|
174
|
+
* merge the plugin's fields on top. The per-path regex goes to the
|
|
175
|
+
* FRONT of the lookup array so getMetadata() finds it before the
|
|
176
|
+
* generic spec wildcard.
|
|
177
|
+
*/
|
|
178
|
+
addMetaData(context, path, meta) {
|
|
179
|
+
// An empty path would key the entry at "/vessels/*/" (no tail) and
|
|
180
|
+
// mask every per-vessel entry under the same context root.
|
|
181
|
+
if (!path) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
// Use wildcard key pattern so lookups with any identity match
|
|
185
|
+
const root = context.split('.')[0];
|
|
186
|
+
const key = `/${root}/*/${path.replace(/\./g, '/')}`;
|
|
187
|
+
const existing = this.allMetadata[key];
|
|
188
|
+
if (existing) {
|
|
189
|
+
Object.assign(existing, meta);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
// Seed from the matching spec template, if any, so untouched fields
|
|
193
|
+
// like units / enum survive when a plugin only updates description.
|
|
194
|
+
const seed = this.getMetadata(`${context}.${path}`);
|
|
195
|
+
const entry = { description: '' };
|
|
196
|
+
if (seed)
|
|
197
|
+
Object.assign(entry, seed);
|
|
198
|
+
Object.assign(entry, meta);
|
|
199
|
+
this.allMetadata[key] = entry;
|
|
200
|
+
// Escape special chars first, then replace wildcard
|
|
201
|
+
const escaped = key.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
|
|
202
|
+
this.regexEntries.unshift({
|
|
203
|
+
pattern: new RegExp(`^${escaped.replace(/\*/g, '[^/]+')}$`),
|
|
204
|
+
key,
|
|
205
|
+
metadata: entry
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
/** Return all registered metadata entries (for the /paths endpoint). */
|
|
209
|
+
getAllMetadata() {
|
|
210
|
+
return this.allMetadata;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
exports.MetadataRegistry = MetadataRegistry;
|
|
214
|
+
const allEntries = expandContextPrefixes({
|
|
215
|
+
...root_1.rootMetadata,
|
|
216
|
+
...vesselMetadata
|
|
217
|
+
});
|
|
218
|
+
exports.metadataRegistry = new MetadataRegistry(allEntries);
|
|
219
|
+
/** Look up metadata for a dot-separated Signal K path. */
|
|
220
|
+
function getMetadata(path) {
|
|
221
|
+
return exports.metadataRegistry.getMetadata(path);
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA0fhE,CAAA"}
|