@canboat/canboatjs 3.2.3 → 3.3.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.
@@ -16,7 +16,7 @@ jobs:
16
16
 
17
17
  strategy:
18
18
  matrix:
19
- node-version: [20.x, 22.x]
19
+ node-version: [20.x, 22.x, 24.x]
20
20
 
21
21
  steps:
22
22
  - uses: actions/checkout@v3
@@ -86,6 +86,7 @@ jobs:
86
86
  npm install
87
87
  npm link @canboat/canboatjs
88
88
  npm link @canboat/ts-pgns
89
+ npm run build
89
90
  npm test
90
91
  working-directory: ./signalk-to-nmea2000
91
92
 
@@ -9,7 +9,7 @@ const minimist_1 = __importDefault(require("minimist"));
9
9
  const readline_1 = __importDefault(require("readline"));
10
10
  const argv = (0, minimist_1.default)(process.argv.slice(2), {
11
11
  alias: { h: 'help' },
12
- boolean: ['n', 'r', 'camel', 'camel-compat']
12
+ boolean: ['n', 'r', 'camel', 'camel-compat', 'show-non-matches']
13
13
  });
14
14
  if (argv['help']) {
15
15
  console.error(`Usage: ${process.argv[1]} [options]
@@ -20,6 +20,7 @@ Options:
20
20
  -r parse $MXPGN as little endian
21
21
  --camel output field names in camelCase
22
22
  --camel-compat output field names in camelCase and regular
23
+ --show-non-matches show pgn data without any matches
23
24
  -h, --help output usage information`);
24
25
  process.exit(1);
25
26
  }
@@ -28,7 +29,8 @@ const parser = new fromPgn_1.Parser({
28
29
  littleEndianMXPGN: argv['r'] === true,
29
30
  checkForInvalidFields: argv['c'] !== true,
30
31
  useCamel: argv['camel'],
31
- useCamelCompat: argv['camel-compat']
32
+ useCamelCompat: argv['camel-compat'],
33
+ returnNonMatches: argv['show-non-matches']
32
34
  });
33
35
  parser.on('error', (pgn, error) => {
34
36
  console.error(`Error parsing ${pgn.pgn} ${error}`);
@@ -1 +1 @@
1
- {"version":3,"file":"analyzerjs.js","sourceRoot":"","sources":["../../lib/bin/analyzerjs.ts"],"names":[],"mappings":";;;;;;AAGA,wCAAmC;AACnC,wDAA+B;AAC/B,wDAA+B;AAE/B,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC3C,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC;CAC7C,CAAC,CAAA;AAEF,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;;;;+CAQM,CAAC,CAAA;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;IACxB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;IAC/B,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;IACrC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;IACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;IACvB,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;CACrC,CAAC,CAAA;AAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,MAAW,EAAE,EAAE;IAC9C,sDAAsD;AACxD,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAClC,CAAC,CAAC,CAAA;AAEF,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;AAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;IAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"analyzerjs.js","sourceRoot":"","sources":["../../lib/bin/analyzerjs.ts"],"names":[],"mappings":";;;;;;AAGA,wCAAmC;AACnC,wDAA+B;AAC/B,wDAA+B;AAE/B,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC3C,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC;CACjE,CAAC,CAAA;AAEF,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;;;;;+CASM,CAAC,CAAA;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;IACxB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;IAC/B,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;IACrC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;IACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;IACvB,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;IACpC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;CAC3C,CAAC,CAAA;AAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,MAAW,EAAE,EAAE;IAC9C,sDAAsD;AACxD,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAClC,CAAC,CAAC,CAAA;AAEF,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;AAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;IAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -10,22 +10,38 @@ const minimist_1 = __importDefault(require("minimist"));
10
10
  const utilities_1 = require("../utilities");
11
11
  // eslint-disable-next-line @typescript-eslint/no-require-imports
12
12
  const socketcan = require('socketcan');
13
- const parser = new index_1.FromPgn();
14
13
  const argv = (0, minimist_1.default)(process.argv.slice(2), {
15
- alias: { h: 'help' }
14
+ alias: {
15
+ h: 'help',
16
+ boolean: ['n', 'r', 'camel', 'camel-compat', 'show-non-matches']
17
+ }
16
18
  });
17
19
  if (argv['help']) {
18
20
  console.error(`Usage: ${process.argv[0]} [options] candevice
19
21
 
20
22
  Options:
21
- --format <format> json, actisense
22
- -h, --help output usage information`);
23
+ --format <format> json, actisense
24
+ -c don't check for invalid values
25
+ -n output null values
26
+ -r parse $MXPGN as little endian
27
+ --camel output field names in camelCase
28
+ --camel-compat output field names in camelCase and regular
29
+ --show-non-matches show pgn data without any matches
30
+ -h, --help output usage information`);
23
31
  process.exit(1);
24
32
  }
25
33
  if (argv['_'].length === 0) {
26
34
  console.error('Please specify a device');
27
35
  process.exit(1);
28
36
  }
37
+ const parser = new index_1.FromPgn({
38
+ returnNulls: argv['n'] === true,
39
+ littleEndianMXPGN: argv['r'] === true,
40
+ checkForInvalidFields: argv['c'] !== true,
41
+ useCamel: argv['camel'],
42
+ useCamelCompat: argv['camel-compat'],
43
+ returnNonMatches: argv['show-non-matches']
44
+ });
29
45
  const format = argv['format'] || 'json';
30
46
  /*
31
47
 
@@ -1 +1 @@
1
- {"version":3,"file":"candumpjs.js","sourceRoot":"","sources":["../../lib/bin/candumpjs.ts"],"names":[],"mappings":";;;;;;AAEA,oCAAkC;AAClC,oCAAqC;AACrC,wDAA+B;AAC/B,4CAA6C;AAE7C,iEAAiE;AACjE,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEtC,MAAM,MAAM,GAAG,IAAI,eAAO,EAAE,CAAA;AAE5B,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC3C,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE;CACrB,CAAC,CAAA;AAEF,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;;;gDAIO,CAAC,CAAA;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;AAEvC;;;;;;;;;;;;;;;;;;EAkBE;AAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IAChC,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAClC,CAAC,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAE9B,MAAM,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;AAErD,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC5C,OAAO,CAAC,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAE9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAE1C,MAAM,YAAY,GAAG,IAAA,0BAAc,EAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE9E,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"candumpjs.js","sourceRoot":"","sources":["../../lib/bin/candumpjs.ts"],"names":[],"mappings":"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"}
package/dist/fromPgn.d.ts CHANGED
@@ -32,20 +32,20 @@ export declare class Parser extends EventEmitter {
32
32
  };
33
33
  mixedFormat: boolean;
34
34
  constructor(opts?: any);
35
- _parse(pgn: PGN, bs: BitStream, len: number, coalesced: boolean, cb: FromPgnCallback | undefined, sourceString?: string | undefined): PGN | undefined;
35
+ _parse(pgn: PGN, bs: BitStream, len: number, coalesced: boolean, cb: FromPgnCallback | undefined, sourceString?: string | undefined): any;
36
36
  setField(res: any, field: Field, value: any): void;
37
37
  findNonMatchPgn(pgnList: Definition[]): Definition | undefined;
38
38
  findMatchPgn(pgnList: Definition[]): Definition | undefined;
39
- parse(data: any, cb?: FromPgnCallback | undefined): PGN | undefined;
40
- parsePgnData(pgn: PGN, length: number, data: string[] | Buffer, coalesced: boolean, cb: FromPgnCallback | undefined, sourceString: string): PGN | undefined;
39
+ parse(data: any, cb?: FromPgnCallback | undefined): any;
40
+ parsePgnData(pgn: PGN, length: number, data: string[] | Buffer, coalesced: boolean, cb: FromPgnCallback | undefined, sourceString: string): any;
41
41
  isN2KOver0183(sentence: string): boolean;
42
- parseN2KOver0183(sentence: string, cb: FromPgnCallback): PGN | undefined;
43
- parseVenusMQTT(pgn_data: any, cb: FromPgnCallback): PGN | undefined;
44
- parseYDGW02(pgn_data: any, cb: FromPgnCallback): PGN | undefined;
45
- parseActisenceN2KAscii(pgn_data: any, cb: FromPgnCallback): PGN | undefined;
46
- parsePDGY(pgn_data: any, cb: FromPgnCallback): PGN | undefined;
47
- parseString(pgn_data: string, cb?: FromPgnCallback | undefined): PGN | undefined;
48
- parseBuffer(pgn_data: any, cb: FromPgnCallback | undefined): PGN | undefined;
42
+ parseN2KOver0183(sentence: string, cb: FromPgnCallback): any;
43
+ parseVenusMQTT(pgn_data: any, cb: FromPgnCallback): any;
44
+ parseYDGW02(pgn_data: any, cb: FromPgnCallback): any;
45
+ parseActisenceN2KAscii(pgn_data: any, cb: FromPgnCallback): any;
46
+ parsePDGY(pgn_data: any, cb: FromPgnCallback): any;
47
+ parseString(pgn_data: string, cb?: FromPgnCallback | undefined): any;
48
+ parseBuffer(pgn_data: any, cb: FromPgnCallback | undefined): any;
49
49
  }
50
50
  export declare function getField(pgn_number: number, index: number, data: any): Field | null | undefined;
51
51
  //# sourceMappingURL=fromPgn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fromPgn.d.ts","sourceRoot":"","sources":["../lib/fromPgn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAa,MAAM,kBAAkB,CAAA;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAa1C,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAA;AAc/C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,SAAS,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AAuB7D,qBAAa,MAAO,SAAQ,YAAY;IACtC,OAAO,EAAE,GAAG,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,CAAA;IAClD,WAAW,EAAE,OAAO,CAAA;gBAER,IAAI,GAAE,GAAQ;IAmC1B,MAAM,CACJ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,OAAO,EAClB,EAAE,EAAE,eAAe,GAAG,SAAS,EAC/B,YAAY,GAAE,MAAM,GAAG,SAAqB;IAkS9C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAW3C,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS;IAM9D,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS;IAM3D,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAE,eAAe,GAAG,SAAqB;IAiB5D,YAAY,CACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EACvB,SAAS,EAAE,OAAO,EAClB,EAAE,EAAE,eAAe,GAAG,SAAS,EAC/B,YAAY,EAAE,MAAM;IA0BtB,aAAa,CAAC,QAAQ,EAAE,MAAM;IAI9B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe;IAKtD,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAwBjD,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAuB9C,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAsBzD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAkC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAE,eAAe,GAAG,SAAqB;IAkCzE,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,GAAG,SAAS;CAgC3D;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,4BA4CpE"}
1
+ {"version":3,"file":"fromPgn.d.ts","sourceRoot":"","sources":["../lib/fromPgn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,UAAU,EACV,KAAK,EACL,GAAG,EAGJ,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAa1C,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAA;AAc/C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,SAAS,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AAuB7D,qBAAa,MAAO,SAAQ,YAAY;IACtC,OAAO,EAAE,GAAG,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,CAAA;IAClD,WAAW,EAAE,OAAO,CAAA;gBAER,IAAI,GAAE,GAAQ;IAuC1B,MAAM,CACJ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,OAAO,EAClB,EAAE,EAAE,eAAe,GAAG,SAAS,EAC/B,YAAY,GAAE,MAAM,GAAG,SAAqB;IAiS9C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAW3C,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS;IAM9D,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS;IAM3D,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAE,eAAe,GAAG,SAAqB;IAiB5D,YAAY,CACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EACvB,SAAS,EAAE,OAAO,EAClB,EAAE,EAAE,eAAe,GAAG,SAAS,EAC/B,YAAY,EAAE,MAAM;IA0BtB,aAAa,CAAC,QAAQ,EAAE,MAAM;IAI9B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe;IAKtD,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAwBjD,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAuB9C,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAsBzD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe;IAkC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAE,eAAe,GAAG,SAAqB;IAkCzE,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,GAAG,SAAS;CAgC3D;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,4BAmDpE"}
package/dist/fromPgn.js CHANGED
@@ -65,6 +65,9 @@ class Parser extends node_events_1.EventEmitter {
65
65
  if (this.options.useCamelCompat === undefined) {
66
66
  this.options.useCamelCompat = false;
67
67
  }
68
+ if (this.options.returnNonMatches === undefined) {
69
+ this.options.returnNonMatches = false;
70
+ }
68
71
  this.name = package_json_1.default.name;
69
72
  this.version = package_json_1.default.version;
70
73
  this.author = package_json_1.default.author;
@@ -103,7 +106,6 @@ class Parser extends node_events_1.EventEmitter {
103
106
  return;
104
107
  }
105
108
  let pgnData;
106
- const origPGNList = pgnList;
107
109
  if (pgnList.length > 1) {
108
110
  pgnData = this.findMatchPgn(pgnList);
109
111
  if (pgnData === null) {
@@ -209,6 +211,7 @@ class Parser extends node_events_1.EventEmitter {
209
211
  pgn.fields = {};
210
212
  try {
211
213
  let fields = pgnData.Fields;
214
+ let continueReading = true;
212
215
  for (let i = 0; i < fields.length - RepeatingFields; i++) {
213
216
  const field = fields[i];
214
217
  const hasMatch = field.Match !== undefined;
@@ -218,28 +221,14 @@ class Parser extends node_events_1.EventEmitter {
218
221
  //console.log(JSON.stringify(pgnList, null, 2))
219
222
  pgnList = pgnList.filter((f) => f.Fields[i].Match == value);
220
223
  if (pgnList.length == 0) {
221
- //this.emit('warning', pgn, `no conversion found for pgn`)
222
- trace('warning no conversion found for pgn %j', pgn);
223
- const nonMatch = this.findNonMatchPgn(origPGNList);
224
- if (nonMatch) {
225
- pgnList = [nonMatch];
226
- pgnData = pgnList[0];
227
- fields = pgnData.Fields;
228
- const postProcessor = fieldTypePostProcessors[field.FieldType];
229
- if (postProcessor) {
230
- value = postProcessor(pgnData.Fields[i], value);
231
- }
224
+ if (this.options.returnNonMatches) {
225
+ //this.emit('warning', pgn, `no conversion found for pgn`)
226
+ trace('warning no conversion found for pgn %j', pgn);
227
+ continueReading = false;
228
+ break;
232
229
  }
233
230
  else {
234
- const ts = lodash_1.default.get(pgn, 'timestamp', new Date());
235
- pgn.timestamp = lodash_1.default.isDate(ts) ? ts.toISOString() : ts;
236
- if (value === undefined &&
237
- (value != null || this.options.returnNulls)) {
238
- this.setField(pgn.fields, field, value);
239
- }
240
- this.emit('pgn', pgn);
241
- cb && cb(undefined, pgn);
242
- return pgn;
231
+ return undefined;
243
232
  }
244
233
  }
245
234
  else {
@@ -260,7 +249,7 @@ class Parser extends node_events_1.EventEmitter {
260
249
  this.setField(pgn.fields, field, value);
261
250
  }
262
251
  }
263
- if (RepeatingFields > 0) {
252
+ if (RepeatingFields > 0 && continueReading) {
264
253
  const repeating = fields.slice(fields.length - RepeatingFields);
265
254
  const fany = pgn.fields;
266
255
  fany.list = [];
@@ -289,19 +278,32 @@ class Parser extends node_events_1.EventEmitter {
289
278
  }
290
279
  }
291
280
  }
292
- pgn.description = pgnData.Description;
293
- //console.log(`pgn: ${JSON.stringify(pgn)}`)
294
- // Stringify timestamp because SK Server needs it that way.
295
- const ts = lodash_1.default.get(pgn, 'timestamp', new Date());
296
- pgn.timestamp = lodash_1.default.isDate(ts) ? ts.toISOString() : ts;
297
- this.emit('pgn', pgn);
298
- cb && cb(undefined, pgn);
299
281
  /*
300
282
  if ( pgnData.callback ) {
301
283
  pgnData.callback(pgn)
302
284
  }
303
285
  */
304
- return pgn;
286
+ const cf = (0, ts_pgns_1.getPGNClass)(pgnData.Id);
287
+ if (cf === undefined) {
288
+ this.emit('error', pgn, 'no class');
289
+ cb && cb('no class', undefined);
290
+ return;
291
+ }
292
+ const res = cf(pgn.fields);
293
+ res.description = pgnData.Description;
294
+ res.src = pgn.src;
295
+ res.dst = pgn.dst;
296
+ res.prio = pgn.prio;
297
+ res.canId = pgn.canId;
298
+ res.time = pgn.time;
299
+ res.timer = pgn.timer;
300
+ res.direction = pgn.direction;
301
+ // Stringify timestamp because SK Server needs it that way.
302
+ const ts = lodash_1.default.get(pgn, 'timestamp', new Date());
303
+ res.timestamp = lodash_1.default.isDate(ts) ? ts.toISOString() : ts;
304
+ this.emit('pgn', res);
305
+ cb && cb(undefined, res);
306
+ return res;
305
307
  }
306
308
  catch (error) {
307
309
  this.emit('error', pgn, error);
@@ -534,9 +536,15 @@ function getField(pgn_number, index, data) {
534
536
  const field = pgn.Fields[idx];
535
537
  const hasMatch = !lodash_1.default.isUndefined(field.Match);
536
538
  if (hasMatch && dataList.length > 0) {
537
- const param = dataList.find((f) => f.Parameter === idx + 1);
539
+ const param = dataList.find((f) => {
540
+ const param = f.parameter !== undefined ? f.parameter : f.Parameter;
541
+ return param === idx + 1;
542
+ });
538
543
  if (param) {
539
- pgnList = pgnList.filter((f) => f.Fields[idx].Match == param.Value);
544
+ pgnList = pgnList.filter((f) => {
545
+ const value = param.value !== undefined ? param.value : param.Value;
546
+ return f.Fields[idx].Match == value;
547
+ });
540
548
  if (pgnList.length == 0) {
541
549
  throw new Error('unable to read: ' + JSON.stringify(data));
542
550
  return;
@@ -801,7 +809,7 @@ function readVariableLengthField(options, pgn, field, bs) {
801
809
  * length and thus that the field number is exactly one byte earlier.
802
810
  */
803
811
  try {
804
- const refField = getField(pgn.fields.PGN, bs.view.buffer[bs.byteIndex - 1] - 1, pgn);
812
+ const refField = getField(pgn.fields.pgn || pgn.fields.PGN, bs.view.buffer[bs.byteIndex - 1] - 1, pgn);
805
813
  if (refField) {
806
814
  const res = readField(options, false, pgn, refField, bs);
807
815
  if (refField.BitLength !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"fromPgn.js","sourceRoot":"","sources":["../lib/fromPgn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fromPgn.js","sourceRoot":"","sources":["../lib/fromPgn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"n2kDevice.d.ts","sourceRoot":"","sources":["../lib/n2kDevice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,GAAG,EAoBJ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW1C,qBAAa,SAAU,SAAQ,YAAY;IACzC,YAAY,EAAE,GAAG,CAAA;IACjB,WAAW,EAAE,GAAG,CAAA;IAChB,iBAAiB,EAAE,GAAG,CAAA;IACtB,OAAO,EAAE,GAAG,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,OAAO,CAAA;IACtB,yBAAyB,EAAE,MAAM,CAAA;IACjC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAA;IACvB,KAAK,EAAE,GAAG,CAAA;gBAEE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;IAwG3C,KAAK;IAOL,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAY5B,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IASzC,SAAS,CAAC,GAAG,EAAE,MAAM;IAMrB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAMpB,UAAU,CAAC,GAAG,EAAE,GAAG;IA4BnB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,MAAM,GAAG,SAAqB;CACxD"}
1
+ {"version":3,"file":"n2kDevice.d.ts","sourceRoot":"","sources":["../lib/n2kDevice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,GAAG,EAeJ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW1C,qBAAa,SAAU,SAAQ,YAAY;IACzC,YAAY,EAAE,GAAG,CAAA;IACjB,WAAW,EAAE,GAAG,CAAA;IAChB,iBAAiB,EAAE,GAAG,CAAA;IACtB,OAAO,EAAE,GAAG,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,OAAO,CAAA;IACtB,yBAAyB,EAAE,MAAM,CAAA;IACjC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAA;IACvB,KAAK,EAAE,GAAG,CAAA;gBAEE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;IAwG3C,KAAK;IAOL,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAY5B,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IASzC,SAAS,CAAC,GAAG,EAAE,MAAM;IAMrB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAMpB,UAAU,CAAC,GAAG,EAAE,GAAG;IA4BnB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,MAAM,GAAG,SAAqB;CACxD"}
package/dist/n2kDevice.js CHANGED
@@ -259,18 +259,13 @@ function handleGroupFunction(device, n2kMsg) {
259
259
  // We really don't support group function requests for any PGNs yet -> always respond with pgnErrorCode 1 = "PGN not supported"
260
260
  const PGN = n2kMsg.fields.pgn;
261
261
  device.debug("Sending 'PGN Not Supported' Group Function response for requested PGN", PGN);
262
- const acknowledgement = {
263
- ...ts_pgns_1.PGN_126208_AcknowledgeDefaults,
264
- dst: n2kMsg.src,
265
- fields: {
266
- functionCode: ts_pgns_1.GroupFunction.Acknowledge,
267
- pgn: PGN,
268
- pgnErrorCode: ts_pgns_1.PgnErrorCode.NotSupported,
269
- transmissionIntervalPriorityErrorCode: ts_pgns_1.TransmissionInterval.Acknowledge,
270
- numberOfParameters: 0,
271
- list: []
272
- }
273
- };
262
+ const acknowledgement = new ts_pgns_1.PGN_126208_NmeaAcknowledgeGroupFunction({
263
+ pgn: PGN,
264
+ pgnErrorCode: ts_pgns_1.PgnErrorCode.NotSupported,
265
+ transmissionIntervalPriorityErrorCode: ts_pgns_1.TransmissionInterval.Acknowledge,
266
+ numberOfParameters: 0,
267
+ list: []
268
+ }, n2kMsg.src);
274
269
  device.sendPGN(acknowledgement);
275
270
  }
276
271
  }
@@ -279,18 +274,13 @@ function handleGroupFunction(device, n2kMsg) {
279
274
  // We really don't support group function commands for any PGNs yet -> always respond with pgnErrorCode 1 = "PGN not supported"
280
275
  const PGN = n2kMsg.fields.pgn;
281
276
  device.debug("Sending 'PGN Not Supported' Group Function response for commanded PGN", PGN);
282
- const acknowledgement = {
283
- ...ts_pgns_1.PGN_126208_AcknowledgeDefaults,
284
- dst: n2kMsg.src,
285
- fields: {
286
- functionCode: ts_pgns_1.GroupFunction.Acknowledge,
287
- pgn: PGN,
288
- pgnErrorCode: ts_pgns_1.PgnErrorCode.NotSupported,
289
- transmissionIntervalPriorityErrorCode: ts_pgns_1.TransmissionInterval.Acknowledge,
290
- numberOfParameters: 0,
291
- list: []
292
- }
293
- };
277
+ const acknowledgement = new ts_pgns_1.PGN_126208_NmeaAcknowledgeGroupFunction({
278
+ pgn: PGN,
279
+ pgnErrorCode: ts_pgns_1.PgnErrorCode.NotSupported,
280
+ transmissionIntervalPriorityErrorCode: ts_pgns_1.TransmissionInterval.Acknowledge,
281
+ numberOfParameters: 0,
282
+ list: []
283
+ }, n2kMsg.src);
294
284
  device.sendPGN(acknowledgement);
295
285
  }
296
286
  }
@@ -338,16 +328,11 @@ function sendHeartbeat(device) {
338
328
  if (device.heartbeatCounter > 252) {
339
329
  device.heartbeatCounter = 0;
340
330
  }
341
- const hb = {
342
- pgn: 126993,
343
- dst: 255,
344
- prio: 7,
345
- fields: {
346
- dataTransmitOffset: 60,
347
- sequenceCounter: device.heartbeatCounter,
348
- controller1State: ts_pgns_1.ControllerState.ErrorActive
349
- }
350
- };
331
+ const hb = new ts_pgns_1.PGN_126993({
332
+ dataTransmitOffset: 60,
333
+ sequenceCounter: device.heartbeatCounter,
334
+ controller1State: ts_pgns_1.ControllerState.ErrorActive
335
+ });
351
336
  device.sendPGN(hb);
352
337
  }
353
338
  function sendAddressClaim(device) {
@@ -386,14 +371,7 @@ function sendAddressClaim(device) {
386
371
  }
387
372
  function sendISORequest(device, pgn, src = undefined, dst = 255) {
388
373
  device.debug(`Sending iso request for ${pgn} to ${dst}`);
389
- const isoRequest = {
390
- ...ts_pgns_1.PGN_59904Defaults,
391
- pgn: 59904,
392
- dst: dst,
393
- fields: {
394
- pgn
395
- }
396
- };
374
+ const isoRequest = new ts_pgns_1.PGN_59904({ pgn });
397
375
  device.sendPGN(isoRequest, src);
398
376
  }
399
377
  function sendProductInformation(device) {
@@ -407,30 +385,22 @@ function sendConfigInformation(device) {
407
385
  }
408
386
  }
409
387
  function sendNAKAcknowledgement(device, src, requestedPGN) {
410
- const acknowledgement = {
411
- ...ts_pgns_1.PGN_59392Defaults,
412
- dst: src,
413
- fields: {
414
- control: ts_pgns_1.IsoControl.Ack,
415
- groupFunction: 255,
416
- pgn: requestedPGN
417
- }
418
- };
388
+ const acknowledgement = new ts_pgns_1.PGN_59392({
389
+ control: ts_pgns_1.IsoControl.Ack,
390
+ groupFunction: 255,
391
+ pgn: requestedPGN
392
+ }, src);
419
393
  device.sendPGN(acknowledgement);
420
394
  }
421
395
  function sendPGNList(device, dst) {
422
396
  //FIXME: for now, adding everything that signalk-to-nmea2000 supports
423
397
  //need a way for plugins, etc. to register the pgns they provide
424
- const pgnList = {
425
- ...ts_pgns_1.PGN_126464Defaults,
426
- dst,
427
- fields: {
428
- functionCode: ts_pgns_1.PgnListFunction.TransmitPgnList,
429
- list: device.transmitPGNs.map((num) => {
430
- return { pgn: num };
431
- })
432
- }
433
- };
398
+ const pgnList = new ts_pgns_1.PGN_126464({
399
+ functionCode: ts_pgns_1.PgnListFunction.TransmitPgnList,
400
+ list: device.transmitPGNs.map((num) => {
401
+ return { pgn: num };
402
+ })
403
+ }, dst);
434
404
  device.sendPGN(pgnList);
435
405
  }
436
406
  function getISOAddressClaimAsUint64(pgn) {