@signalk/server-api 2.10.1 → 2.20.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radarapi.d.ts","sourceRoot":"","sources":["../src/radarapi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,0BAA0B;AAC1B,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;AAMpE,0BAA0B;AAC1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAA;IACvB,GAAG,CAAC,EAAE,iBAAiB,CAAA;IACvB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,qBAAqB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACnC,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAE/B,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CACjE;AAED,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAA;AAE7E;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAA;IACtB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAA;IACnB,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAA;IACrB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4CAA4C;IAC5C,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAA;IACV,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;IAC7B,yBAAyB;IACzB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;IAEhD,mDAAmD;IACnD,KAAK,CAAC,EAAE;QACN,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IAED,wCAAwC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC,CAAA;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEpC,oCAAoC;IACpC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAA;IAC7B,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAE/B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9D;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAA;IAEjB,6CAA6C;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,eAAe,GAAG,gBAAgB,GAAG,iBAAiB,CAAA;QAC5D,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;QAC/C,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KACjC,CAAA;IAED,oCAAoC;IACpC,MAAM,EAAE;QACN,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,iEAAiE;QACjE,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAA;QAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IACV,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IAEb,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,+BAA+B;IAC/B,eAAe,EAAE,oBAAoB,CAAA;IAErC,4CAA4C;IAC5C,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAE/B,uCAAuC;IACvC,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAEjC;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IACV,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,MAAM,EAAE,WAAW,CAAA;IAEnB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEjC,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;CACH;AAMD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAA;AAEhE;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,MAAM,CAAA;AAErD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAA;IACd,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAA;IACX,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAA;IACV,8BAA8B;IAC9B,MAAM,EAAE,gBAAgB,CAAA;IACxB,2CAA2C;IAC3C,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,uCAAuC;IACvC,MAAM,EAAE,gBAAgB,CAAA;IACxB,mCAAmC;IACnC,MAAM,EAAE,gBAAgB,CAAA;IACxB,mCAAmC;IACnC,WAAW,EAAE,qBAAqB,CAAA;IAClC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe;IACf,OAAO,EAAE,MAAM,CAAA;IACf,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,IAAI,EAAE,eAAe,GAAG,aAAa,GAAG,iBAAiB,CAAA;IACzD,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAA;IACpB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAA;IACrB,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAA;IACzB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,CAAA;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,+BAA+B;IAC/B,QAAQ,EAAE,aAAa,CAAA;IACvB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,uBAAuB;IACvB,OAAO,EAAE,oBAAoB,CAAA;CAC9B;AAED,0BAA0B;AAC1B,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAElC;;;;OAIG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAE5D;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAEpE;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/D;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KACpC,OAAO,CAAC,OAAO,CAAC,CAAA;IAErB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,MAAM,EACf,GAAG,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KACnC,OAAO,CAAC,OAAO,CAAC,CAAA;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KACpC,OAAO,CAAC,OAAO,CAAC,CAAA;IAErB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,KAC7B,OAAO,CAAC,OAAO,CAAC,CAAA;IAErB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,KAAK,IAAI,CAAA;IAMjE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IAEzE;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAE1D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAErE;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,KACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAMlD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IAEpE;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAErE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtE;;;;;OAKG;IACH,4BAA4B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,KAAK,IAAI,CAAA;IAEvE;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IAEnE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,KAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnD;AAMD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAA;IAC7D,yCAAyC;IACzC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,gDAAgD;IAChD,SAAS,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACrC,oCAAoC;IACpC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;CAC7D;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,qBAAqB,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAA;IACxD;;;;OAIG;IACH,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtC,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,EAAE,MAAM,GAAG;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,OAAO,CAAA;KACnB,CAAA;CACF;AAMD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,aAerD,CAAA"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ * Radar API Types
4
+ *
5
+ * Types and interfaces for the Signal K Radar API at
6
+ * /signalk/v2/api/vessels/self/radars
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.isRadarProvider = void 0;
10
+ // ============================================================================
11
+ // Validation
12
+ // ============================================================================
13
+ /**
14
+ * Type guard to validate a RadarProvider object.
15
+ *
16
+ * @category Radar API
17
+ */
18
+ const isRadarProvider = (obj) => {
19
+ if (typeof obj !== 'object' || obj === null) {
20
+ return false;
21
+ }
22
+ const typedObj = obj;
23
+ const methods = typedObj['methods'];
24
+ return (typeof typedObj['name'] === 'string' &&
25
+ typeof methods === 'object' &&
26
+ methods !== null &&
27
+ (typeof methods['pluginId'] === 'undefined' ||
28
+ typeof methods['pluginId'] === 'string') &&
29
+ typeof methods['getRadars'] === 'function' &&
30
+ typeof methods['getRadarInfo'] === 'function');
31
+ };
32
+ exports.isRadarProvider = isRadarProvider;
@@ -40,11 +40,7 @@ export interface ResourcesApi {
40
40
  * > The registered Resource Provider must support the supplied parameters for results to be filtered.
41
41
  * @param providerId - The id of the Resource Provider plugin to use to complete the request.
42
42
  */
43
- listResources(resType: SignalKResourceType, params: {
44
- [key: string]: any;
45
- }, providerId?: string): Promise<{
46
- [id: string]: any;
47
- }>;
43
+ listResources(resType: SignalKResourceType, params: Record<string, unknown>, providerId?: string): Promise<Record<string, unknown>>;
48
44
  /**
49
45
  * Retrieve the resource with the supplied SignalK resource_type and resource_id.
50
46
  *
@@ -105,9 +101,7 @@ export interface ResourcesApi {
105
101
  * @param data - A complete and valid resource record.
106
102
  * @param providerId - The id of the Resource Provider plugin to use to complete the request. Most commonly used for creating a new resource entry when more than one provider is registered for the specified resource type.
107
103
  */
108
- setResource(resType: SignalKResourceType, resId: string, data: {
109
- [key: string]: any;
110
- }, providerId?: string): Promise<void>;
104
+ setResource(resType: SignalKResourceType, resId: string, data: Record<string, unknown>, providerId?: string): Promise<void>;
111
105
  /**
112
106
  * Delete the resource with the supplied SignalK resource_type and resource_id.
113
107
  *
@@ -136,6 +130,10 @@ export interface ResourcesApi {
136
130
  deleteResource(resType: SignalKResourceType, resId: string, providerId?: string): Promise<void>;
137
131
  }
138
132
  /** @category Resources API */
133
+ export interface WithResourcesApi {
134
+ resourcesApi: ResourcesApi;
135
+ }
136
+ /** @category Resources API */
139
137
  export interface ResourceProvider {
140
138
  /**
141
139
  * The resource type provided for by the plugin.These can be either __Standard__ _(Signal K defined)_ types defined in {@link SignalKResourceType}, or __Custom__ _(user defined)_ resource types _(e.g. `'fishingZones'`)_
@@ -206,11 +204,7 @@ export interface ResourceProviderMethods {
206
204
  *
207
205
  * @param query - Object containing `key | value` pairs representing the parameters by which to filter the returned entries. _e.g. {region: 'fishing_zone'}_
208
206
  */
209
- listResources(query: {
210
- [key: string]: any;
211
- }): Promise<{
212
- [id: string]: any;
213
- }>;
207
+ listResources(query: Record<string, unknown>): Promise<Record<string, unknown>>;
214
208
  /**
215
209
  * This method is called when a request is made for a specific resource entry with the supplied `id`. If `property` is supplied then the value of the resource property is returned. If there is no resource associated with the id the call should return Promise.reject.
216
210
  *
@@ -326,9 +320,7 @@ export interface ResourceProviderMethods {
326
320
  * ```
327
321
  *
328
322
  */
329
- setResource(id: string, value: {
330
- [key: string]: any;
331
- }): Promise<void>;
323
+ setResource(id: string, value: Record<string, unknown>): Promise<void>;
332
324
  /**
333
325
  * This method is called when a request is made to remove the specific resource entry with the supplied resource id.
334
326
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resourcesapi.d.ts","sourceRoot":"","sources":["../src/resourcesapi.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,WAAW,GACX,OAAO,GACP,SAAS,GACT,QAAQ,CAAA;AAEZ;;8BAE8B;AAC9B,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAMrD,CAAA;AACD,+BAA+B;AAC/B,eAAO,MAAM,qBAAqB,GAAI,GAAG,MAAM,YACU,CAAA;AAEzD,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,MAAM,CAAA;AAEvD,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC5D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,CACX,OAAO,EAAE,mBAAmB,EAE5B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC9B,UAAU,CAAC,EAAE,MAAM,GAElB,OAAO,CAAC;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;IAEjC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,WAAW,CACT,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAAA;IAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,WAAW,CACT,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,MAAM,EAEb,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,cAAc,CACZ,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,YAAY,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,uBAAuB,CAAA;CACjC;AAED,+BAA+B;AAC/B,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyDG;IACH,aAAa,CAAC,KAAK,EAAE;QAEnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAEnB,GAAG,OAAO,CAAC;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,WAAW,CACT,EAAE,EAAE,MAAM,EAEV,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C;AAED,+BAA+B;AAC/B,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE1D;;;;OAIG;IACH,YAAY,EAAE,YAAY,CAAA;CAC3B"}
1
+ {"version":3,"file":"resourcesapi.d.ts","sourceRoot":"","sources":["../src/resourcesapi.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { SKVersion, AutopilotProviderRegistry, WithFeatures, PropertyValuesEmitter, ResourceProviderRegistry, WeatherProviderRegistry, Delta } from '.';
1
+ import { SKVersion, AutopilotProviderRegistry, WithFeatures, PropertyValuesEmitter, ResourceProviderRegistry, WeatherProviderRegistry, Delta, WithResourcesApi, WithNotificationsApi } from '.';
2
+ import { RadarProviderRegistry, WithRadarApi } from './radarapi';
2
3
  import { CourseApi } from './course';
3
4
  import { HistoryApiRegistry, WithHistoryApi } from './history';
4
5
  import { StreamBundle } from './streambundle';
@@ -18,10 +19,14 @@ import { SubscriptionManager } from './subscriptionmanager';
18
19
  * > Typing is incomplete. If you find a missing or inaccurate type, please [report it](https://github.com/SignalK/signalk-server/issues/1917).
19
20
  * @category Server API
20
21
  */
21
- export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegistry, AutopilotProviderRegistry, WeatherProviderRegistry, WithHistoryApi, HistoryApiRegistry, WithFeatures, CourseApi, SelfIdentity {
22
+ export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegistry, WithResourcesApi, AutopilotProviderRegistry, WeatherProviderRegistry, RadarProviderRegistry, WithRadarApi, WithHistoryApi, HistoryApiRegistry, WithFeatures, CourseApi, WithNotificationsApi, SelfIdentity {
22
23
  /**
23
24
  * Returns the entry for the provided path starting from `vessels.self` in the full data model.
24
25
  *
26
+ * @remarks
27
+ * Returns `unknown` because the Signal K data model is dynamic and path-dependent.
28
+ * Callers should validate the returned type at runtime.
29
+ *
25
30
  * @example
26
31
  * ```ts
27
32
  * let uuid = app.getSelfPath('uuid');
@@ -33,10 +38,14 @@ export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegist
33
38
  *
34
39
  * @category Data Model
35
40
  */
36
- getSelfPath(path: string): any;
41
+ getSelfPath(path: string): unknown;
37
42
  /**
38
43
  * Returns the entry for the provided path starting from the `root` of the full data model.
39
44
  *
45
+ * @remarks
46
+ * Returns `unknown` because the Signal K data model is dynamic and path-dependent.
47
+ * Callers should validate the returned type at runtime.
48
+ *
40
49
  * @example
41
50
  * ```javascript
42
51
  * let baseStations = app.getPath('shore.basestations');
@@ -58,19 +67,28 @@ export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegist
58
67
  *
59
68
  * @category Data Model
60
69
  */
61
- getPath(path: string): any;
70
+ getPath(path: string): unknown;
62
71
  /**
63
72
  * @category Data Model
64
73
  */
65
74
  getMetadata(path: string): Metadata | undefined;
66
75
  /**
76
+ * Call the PUT handler for a path on the vessel's own context.
77
+ * @param aPath - The path for the PUT request
78
+ * @param value - The value to send in the PUT request
79
+ * @param updateCb - Callback invoked when the update completes
67
80
  * @category Data Model
68
81
  */
69
- putSelfPath(aPath: string, value: any, updateCb: () => void): Promise<any>;
82
+ putSelfPath(aPath: string, value: unknown, updateCb: () => void): Promise<unknown>;
70
83
  /**
84
+ * Call the PUT handler for a path with a specified context.
85
+ * @param aPath - The path for the PUT request
86
+ * @param value - The value to send in the PUT request
87
+ * @param updateCb - Callback invoked when the update completes, with error if failed
88
+ * @param source - The source identifier for this update
71
89
  * @category Data Model
72
90
  */
73
- putPath(aPath: string, value: number | string | object | boolean, updateCb: (err?: Error) => void, source: string): Promise<any>;
91
+ putPath(aPath: string, value: number | string | object | boolean, updateCb: (err?: Error) => void, source: string): Promise<unknown>;
74
92
  /**
75
93
  * @category Data Model
76
94
  */
@@ -80,7 +98,12 @@ export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegist
80
98
  * @category Data Model
81
99
  */
82
100
  subscriptionmanager: SubscriptionManager;
83
- queryRequest(requestId: string): Promise<any>;
101
+ /**
102
+ * Query the status of an async request by its ID.
103
+ * @param requestId - The request ID to query
104
+ * @returns Promise resolving to the request status/result
105
+ */
106
+ queryRequest(requestId: string): Promise<unknown>;
84
107
  /**
85
108
  * @category Status and Debugging
86
109
  */
@@ -318,7 +341,9 @@ export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegist
318
341
  registerHistoryProvider(provider: {
319
342
  hasAnydata: (options: object, cb: (hasResults: boolean) => void) => void;
320
343
  getHistory: (date: Date, path: string, cb: (deltas: object[]) => void) => void;
321
- streamHistory: (spark: any, options: object, onDelta: (delta: object) => void) => void;
344
+ streamHistory: (
345
+ /** Primus spark connection - typed as unknown due to dynamic Primus types */
346
+ spark: unknown, options: object, onDelta: (delta: object) => void) => void;
322
347
  }): void;
323
348
  /**
324
349
  * Returns Ports object which contains information about the serial ports available on the machine.
@@ -360,7 +385,8 @@ export interface Ports {
360
385
  byId: string[];
361
386
  byPath: string[];
362
387
  byOpenPlotter: string[];
363
- serialports: any;
388
+ /** Raw serial port info from serialport library - structure varies by platform */
389
+ serialports: unknown;
364
390
  }
365
391
  /** @category Server API */
366
392
  export interface SelfIdentity {
@@ -373,8 +399,15 @@ export interface Metadata {
373
399
  units?: string;
374
400
  description?: string;
375
401
  }
376
- /** @category Server API */
377
- export type ActionHandler = (context: string, path: string, value: any, callback: (result: ActionResult) => void) => ActionResult;
402
+ /**
403
+ * Handler function for PUT/action requests.
404
+ * @param context - The context (e.g., 'vessels.self')
405
+ * @param path - The path specified in the PUT request
406
+ * @param value - The value being set (type depends on the path)
407
+ * @param callback - Callback for async completion
408
+ * @category Server API
409
+ */
410
+ export type ActionHandler = (context: string, path: string, value: unknown, callback: (result: ActionResult) => void) => ActionResult;
378
411
  /** @category Server API */
379
412
  export interface ActionResult {
380
413
  state: 'COMPLETED' | 'PENDING' | 'FAILED';
@@ -1 +1 @@
1
- {"version":3,"file":"serverapi.d.ts","sourceRoot":"","sources":["../src/serverapi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,EACN,MAAM,GAAG,CAAA;AACV,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,SACf,SACE,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY;IACd;;;;;;;;;;;;;OAaG;IAEH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;IAE9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IAEH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;IAE1B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAE/C;;OAEG;IAEH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE1E;;OAEG;IACH,OAAO,CACL,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EACzC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,EAC/B,MAAM,EAAE,MAAM,GAEb,OAAO,CAAC,GAAG,CAAC,CAAA;IAEf;;OAEG;IACH,YAAY,EAAE,YAAY,CAAA;IAE1B;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,CAAA;IAIxC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE7C;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB;;;;;;;;;;;;OAYG;IAEH,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAE3D;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IAE3E;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CACf,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,KAAK,IAAI,GAC9C,IAAI,CAAA;IAEP;;;;;;;;;OASG;IACH,iBAAiB,IAAI,MAAM,CAAA;IAE3B;;;;;;;;OAQG;IACH,cAAc,IAAI,MAAM,CAAA;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuFG;IACH,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAAA;IAEP,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAAA;IAEP,uBAAuB,CAAC,QAAQ,EAAE;QAChC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAA;QACxE,UAAU,EAAE,CACV,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,KAC3B,IAAI,CAAA;QACT,aAAa,EAAE,CAGb,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAC7B,IAAI,CAAA;KACV,GAAG,IAAI,CAAA;IAER;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3C;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAA;AAEvC,2BAA2B;AAC3B,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KACzB,IAAI,CAAA;AAET,2BAA2B;AAC3B,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,EAAE,MAAM,EAAE,CAAA;IAEvB,WAAW,EAAE,GAAG,CAAA;CACjB;AAED,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,2BAA2B;AAC3B,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,2BAA2B;AAC3B,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAEZ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,KACrC,YAAY,CAAA;AAEjB,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
1
+ {"version":3,"file":"serverapi.d.ts","sourceRoot":"","sources":["../src/serverapi.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,13 @@ export interface SubscribeMessage {
24
24
  * An array of paths to subscribe to, with optional criteria
25
25
  */
26
26
  subscribe: SubscriptionOptions[];
27
+ /**
28
+ * When true, the server will send cached values for ALL paths matching the context
29
+ * filter once (for discovery), plus announce any new paths that appear later.
30
+ * This allows clients using granular subscriptions to discover available paths
31
+ * without subscribing to everything continuously.
32
+ */
33
+ announceNewPaths?: boolean;
27
34
  }
28
35
  /** @inline
29
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptionmanager.d.ts","sourceRoot":"","sources":["../src/subscriptionmanager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,GAAG,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/C,4BAA4B;AAC5B,MAAM,WAAW,mBAAmB;IAClC,SAAS,CACP,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EACrC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAAA;IAEP,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;CACvE;AAED,4BAA4B;AAC5B,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;AAEtD,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,mBAAmB,EAAE,CAAA;CACjC;AAED;GACG;AACH,KAAK,kBAAkB,GAAG;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAA;CAClB,CAAA;AAED;GACG;AACH,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAC9B,kBAAkB,GAClB,oBAAoB,CACvB,GAAG;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAA;IAEX;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,OAAO,EAAE,GAAG,CAAA;IAEZ;;;;;OAKG;IACH,WAAW,EAAE;QACX;YACE,IAAI,EAAE,GAAG,CAAA;SACV;KACF,CAAA;CACF"}
1
+ {"version":3,"file":"subscriptionmanager.d.ts","sourceRoot":"","sources":["../src/subscriptionmanager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,GAAG,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/C,4BAA4B;AAC5B,MAAM,WAAW,mBAAmB;IAClC,SAAS,CACP,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EACrC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAAA;IAEP,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;CACvE;AAED,4BAA4B;AAC5B,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;AAEtD,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAEhC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;GACG;AACH,KAAK,kBAAkB,GAAG;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAA;CAClB,CAAA;AAED;GACG;AACH,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAC9B,kBAAkB,GAClB,oBAAoB,CACvB,GAAG;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAA;IAEX;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,OAAO,EAAE,GAAG,CAAA;IAEZ;;;;;OAKG;IACH,WAAW,EAAE;QACX;YACE,IAAI,EAAE,GAAG,CAAA;SACV;KACF,CAAA;CACF"}
@@ -122,8 +122,11 @@ export interface WeatherProviders {
122
122
  isDefault: boolean;
123
123
  };
124
124
  }
125
- /**@category Weather API */
126
- export declare const isWeatherProvider: (obj: any) => boolean;
125
+ /**
126
+ * Type guard to check if an object is a valid WeatherProvider.
127
+ * @category Weather API
128
+ */
129
+ export declare const isWeatherProvider: (obj: unknown) => obj is WeatherProvider;
127
130
  /** @category Weather API */
128
131
  export interface WeatherProvider {
129
132
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"weatherapi.d.ts","sourceRoot":"","sources":["../src/weatherapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weatherapi.d.ts","sourceRoot":"","sources":["../src/weatherapi.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isWeatherProvider = void 0;
4
- /**@category Weather API */
5
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+ /**
5
+ * Type guard to check if an object is a valid WeatherProvider.
6
+ * @category Weather API
7
+ */
6
8
  const isWeatherProvider = (obj) => {
9
+ if (typeof obj !== 'object' || obj === null) {
10
+ return false;
11
+ }
7
12
  const typedObj = obj;
8
- return (((typedObj !== null && typeof typedObj === 'object') ||
9
- typeof typedObj === 'function') &&
10
- typeof typedObj['name'] === 'string' &&
11
- ((typedObj['methods'] !== null &&
12
- typeof typedObj['methods'] === 'object') ||
13
- typeof typedObj['methods'] === 'function') &&
14
- (typeof typedObj['methods']['pluginId'] === 'undefined' ||
15
- typeof typedObj['methods']['pluginId'] === 'string') &&
16
- typeof typedObj['methods']['getObservations'] === 'function' &&
17
- typeof typedObj['methods']['getForecasts'] === 'function' &&
18
- typeof typedObj['methods']['getWarnings'] === 'function');
13
+ const methods = typedObj['methods'];
14
+ return (typeof typedObj['name'] === 'string' &&
15
+ typeof methods === 'object' &&
16
+ methods !== null &&
17
+ (typeof methods['pluginId'] === 'undefined' ||
18
+ typeof methods['pluginId'] === 'string') &&
19
+ typeof methods['getObservations'] ===
20
+ 'function' &&
21
+ typeof methods['getForecasts'] ===
22
+ 'function' &&
23
+ typeof methods['getWarnings'] === 'function');
19
24
  };
20
25
  exports.isWeatherProvider = isWeatherProvider;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalk/server-api",
3
- "version": "2.10.1",
3
+ "version": "2.20.0",
4
4
  "description": "signalk-server Typescript API for plugins etc with relevant implementation classes",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/tsconfig.json CHANGED
@@ -1,4 +1,12 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "strict": true,
5
+ "noImplicitAny": true,
6
+ "strictNullChecks": true,
7
+ "noUncheckedIndexedAccess": true,
8
+ "noUnusedLocals": true,
9
+ "noUnusedParameters": true
10
+ },
3
11
  "include": ["./src/**/*"]
4
12
  }