@canboat/canboatjs 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -172,9 +172,15 @@ actisense-serialjs /dev/ttyUSB0 | analyzerjs --manufacturer "Garmin"
172
172
  # Combine multiple filters
173
173
  actisense-serialjs /dev/ttyUSB0 | analyzerjs --pgn 129025 --src 15 --dst 255
174
174
 
175
+ # Filter using a JavaScript expression
176
+ actisense-serialjs /dev/ttyUSB0 | analyzerjs --pgn 129025 --filter "pgn.fields.proprietaryId === 'Pilot Configuration'"
177
+
175
178
  # Pretty print JSON output
176
179
  actisense-serialjs /dev/ttyUSB0 | analyzerjs --pgn 129025 --pretty
177
180
 
181
+ # Pretty print using JavaScript output with colors
182
+ actisense-serialjs /dev/ttyUSB0 | analyzerjs --pgn 129025 --js-colors
183
+
178
184
  # Process log files with filtering
179
185
  analyzerjs --file my_log.txt --pgn 129025 --pgn 127245 --src 15
180
186
  ```
@@ -12,7 +12,7 @@ const fs_1 = __importDefault(require("fs"));
12
12
  const util_1 = __importDefault(require("util"));
13
13
  const argv = (0, minimist_1.default)(process.argv.slice(2), {
14
14
  alias: { h: 'help' },
15
- string: ['pgn', 'manufacturer', 'src', 'file', 'dst'],
15
+ string: ['pgn', 'manufacturer', 'src', 'file', 'dst', 'filter'],
16
16
  boolean: [
17
17
  'n',
18
18
  'r',
@@ -49,6 +49,7 @@ Options:
49
49
  --src <number> filter for the given source address
50
50
  --dst <number> filter for the given destination address
51
51
  --manufacturer <str> filter for pgns from the given manufacturer
52
+ --filter <js> filter for the given JavaScript expression
52
53
  -h, --help output usage information`);
53
54
  process.exit(1);
54
55
  }
@@ -59,19 +60,7 @@ if (argv['coalesced']) {
59
60
  else if (argv['fast']) {
60
61
  format = 0;
61
62
  }
62
- let pgn_filter = argv['pgn'];
63
- const manufacturer_filter = argv['manufacturer'];
64
- if (pgn_filter !== undefined && Array.isArray(pgn_filter) === false) {
65
- pgn_filter = [pgn_filter];
66
- }
67
- let src_filter = argv['src'];
68
- if (src_filter !== undefined && Array.isArray(src_filter) === false) {
69
- src_filter = [src_filter];
70
- }
71
- let dst_filter = argv['dst'];
72
- if (dst_filter !== undefined && Array.isArray(dst_filter) === false) {
73
- dst_filter = [dst_filter];
74
- }
63
+ const filter = (0, utils_1.setupFilters)(argv);
75
64
  const parser = new fromPgn_1.Parser({
76
65
  returnNulls: argv['n'] === true,
77
66
  littleEndianMXPGN: argv['r'] === true,
@@ -122,20 +111,7 @@ rl.on('line', (line) => {
122
111
  else {
123
112
  pgn = parser.parseString(line.trim());
124
113
  }
125
- if (pgn &&
126
- (pgn_filter === undefined ||
127
- pgn_filter.find((p) => pgn.pgn === Number(p))) &&
128
- (src_filter === undefined ||
129
- src_filter.find((s) => pgn.src === Number(s))) &&
130
- (dst_filter === undefined ||
131
- dst_filter.find((d) => pgn.dst === Number(d)))) {
132
- if (manufacturer_filter !== undefined) {
133
- const manufacturer = pgn.fields.manufacturerCode ||
134
- pgn.fields['Manufacturer Code'];
135
- if (manufacturer !== manufacturer_filter) {
136
- return;
137
- }
138
- }
114
+ if (pgn && (0, utils_1.filterPGN)(pgn, filter)) {
139
115
  if (argv['js'] || argv['js-colors']) {
140
116
  console.log(util_1.default.inspect(pgn, {
141
117
  depth: null,
@@ -1 +1 @@
1
- {"version":3,"file":"analyzerjs.js","sourceRoot":"","sources":["../../lib/bin/analyzerjs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzerjs.js","sourceRoot":"","sources":["../../lib/bin/analyzerjs.ts"],"names":[],"mappings":";;;;;;AAGA,wCAAmC;AACnC,wDAA+B;AAC/B,wDAA+B;AAC/B,mCAA+D;AAC/D,4CAAmB;AACnB,gDAAuB;AAEvB,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC3C,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;IAC/D,OAAO,EAAE;QACP,GAAG;QACH,GAAG;QACH,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,qBAAqB;QACrB,QAAQ;QACR,eAAe;QACf,WAAW;QACX,IAAI;QACJ,WAAW;KACZ;CACF,CAAC,CAAA;AAEF,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAA;AAElB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;iDAqBQ,CAAC,CAAA;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,MAAM,GAAuB,SAAS,CAAA;AAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACtB,MAAM,GAAG,CAAC,CAAA;AACZ,CAAC;KAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,MAAM,GAAG,CAAC,CAAA;AACZ,CAAC;AAED,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAA;AAEjC,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;IAC1C,MAAM;CACP,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,GAAQ,EAAE,KAAU,EAAE,EAAE;IAC5C,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;IACtD,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,EAAE,CAAA;AACN,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;AACzB,IAAI,IAAI,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,YAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC5C,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;QAC5B,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,QAAQ,CAAC,oEAAoE;KACzF,CAAC,CAAA;AACJ,CAAC;KAAM,CAAC;IACN,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAA;AACJ,CAAC;AAED,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,KAAK,CAAC,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IACD,IAAI,GAAoB,CAAA;IACxB,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,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,GAAG,IAAI,IAAA,iBAAS,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACT,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;gBACzB,WAAW,EAAE,CAAC;aACf,CAAC,CACH,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -16,7 +16,7 @@ const argv = (0, minimist_1.default)(process.argv.slice(2), {
16
16
  alias: {
17
17
  h: 'help'
18
18
  },
19
- string: ['format', 'manufacturer', 'src', 'pgn', 'dst'],
19
+ string: ['format', 'manufacturer', 'src', 'pgn', 'dst', 'filter'],
20
20
  boolean: [
21
21
  'n',
22
22
  'r',
@@ -47,6 +47,7 @@ Options:
47
47
  --src <number> filter for the given source address
48
48
  --dst <number> filter for the given destination address
49
49
  --manufacturer <str> filter for pgns from the given manufacturer
50
+ --filter <js> filter for the given JavaScript expression
50
51
  -h, --help output usage information`);
51
52
  process.exit(1);
52
53
  }
@@ -54,19 +55,7 @@ if (argv['_'].length === 0) {
54
55
  console.error('Please specify a device');
55
56
  process.exit(1);
56
57
  }
57
- let pgn_filter = argv['pgn'];
58
- const manufacturer_filter = argv['manufacturer'];
59
- if (pgn_filter !== undefined && Array.isArray(pgn_filter) === false) {
60
- pgn_filter = [pgn_filter];
61
- }
62
- let src_filter = argv['src'];
63
- if (src_filter !== undefined && Array.isArray(src_filter) === false) {
64
- src_filter = [src_filter];
65
- }
66
- let dst_filter = argv['dst'];
67
- if (dst_filter !== undefined && Array.isArray(dst_filter) === false) {
68
- dst_filter = [dst_filter];
69
- }
58
+ const filter = (0, utils_1.setupFilters)(argv);
70
59
  const parser = new index_1.FromPgn({
71
60
  returnNulls: argv['n'] === true,
72
61
  littleEndianMXPGN: argv['r'] === true,
@@ -81,18 +70,7 @@ parser.on('error', (pgn, error) => {
81
70
  console.error(error.stack);
82
71
  });
83
72
  parser.on('pgn', (pgn) => {
84
- if ((pgn_filter === undefined ||
85
- pgn_filter.find((p) => pgn.pgn === Number(p))) &&
86
- (src_filter === undefined ||
87
- src_filter.find((s) => pgn.src === Number(s))) &&
88
- (dst_filter === undefined ||
89
- dst_filter.find((d) => pgn.dst === Number(d)))) {
90
- if (manufacturer_filter !== undefined) {
91
- const manufacturer = pgn.fields.manufacturerCode || pgn.fields['Manufacturer Code'];
92
- if (manufacturer !== manufacturer_filter) {
93
- return;
94
- }
95
- }
73
+ if ((0, utils_1.filterPGN)(pgn, filter)) {
96
74
  if (argv['js'] || argv['js-colors']) {
97
75
  console.log(util_1.default.inspect(pgn, {
98
76
  depth: null,
@@ -1 +1 @@
1
- {"version":3,"file":"candumpjs.js","sourceRoot":"","sources":["../../lib/bin/candumpjs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candumpjs.js","sourceRoot":"","sources":["../../lib/bin/candumpjs.ts"],"names":[],"mappings":";;;;;;AAEA,oCAAkC;AAClC,oCAAqC;AACrC,wDAA+B;AAC/B,4CAA6C;AAC7C,mCAA+D;AAC/D,gDAAuB;AAEvB,iEAAiE;AACjE,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEtC,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC3C,KAAK,EAAE;QACL,CAAC,EAAE,MAAM;KACV;IACD,MAAM,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IACjE,OAAO,EAAE;QACP,GAAG;QACH,GAAG;QACH,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,QAAQ;QACR,IAAI;QACJ,WAAW;KACZ;CACF,CAAC,CAAA;AAEF,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAA;AAElB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;gDAkBO,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,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAA;AAEjC,MAAM,MAAM,GAAG,IAAI,eAAO,CAAC;IACzB,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,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;AAEvC,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,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;IAC5B,IAAI,IAAA,iBAAS,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACT,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;gBACzB,WAAW,EAAE,CAAC;aACf,CAAC,CACH,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;AACH,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,4 +1,15 @@
1
+ import { PGN } from '@canboat/ts-pgns';
1
2
  export declare const printVersion: (argv: {
2
3
  [key: string]: any;
3
4
  }) => void;
5
+ export declare const setupFilters: (argv: {
6
+ [key: string]: any;
7
+ }) => {
8
+ pgn_filter: any;
9
+ manufacturer_filter: any;
10
+ src_filter: any;
11
+ dst_filter: any;
12
+ js_filter: any;
13
+ };
14
+ export declare const filterPGN: (pgn: PGN, filter: any) => boolean;
4
15
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/bin/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAI,MAAM;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,SAKxD,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/bin/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,eAAO,MAAM,YAAY,GAAI,MAAM;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,SAKxD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,MAAM;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;;;;;;CA8BxD,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,GAAG,EAAE,QAAQ,GAAG,KAAG,OA6BjD,CAAA"}
package/dist/bin/utils.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.printVersion = void 0;
6
+ exports.filterPGN = exports.setupFilters = exports.printVersion = void 0;
7
7
  const package_json_1 = __importDefault(require("../../package.json"));
8
8
  const printVersion = (argv) => {
9
9
  if (argv['version']) {
@@ -12,4 +12,59 @@ const printVersion = (argv) => {
12
12
  }
13
13
  };
14
14
  exports.printVersion = printVersion;
15
+ const setupFilters = (argv) => {
16
+ let pgn_filter = argv['pgn'];
17
+ const manufacturer_filter = argv['manufacturer'];
18
+ if (pgn_filter !== undefined && Array.isArray(pgn_filter) === false) {
19
+ pgn_filter = [pgn_filter];
20
+ }
21
+ let src_filter = argv['src'];
22
+ if (src_filter !== undefined && Array.isArray(src_filter) === false) {
23
+ src_filter = [src_filter];
24
+ }
25
+ let dst_filter = argv['dst'];
26
+ if (dst_filter !== undefined && Array.isArray(dst_filter) === false) {
27
+ dst_filter = [dst_filter];
28
+ }
29
+ let js_filter = argv['filter'];
30
+ if (js_filter !== undefined) {
31
+ try {
32
+ js_filter = new Function('pgn', `return ${js_filter}`);
33
+ }
34
+ catch (e) {
35
+ console.error(`Invalid filter expression: ${e.message}`);
36
+ process.exit(1);
37
+ }
38
+ }
39
+ return { pgn_filter, manufacturer_filter, src_filter, dst_filter, js_filter };
40
+ };
41
+ exports.setupFilters = setupFilters;
42
+ const filterPGN = (pgn, filter) => {
43
+ if ((filter.pgn_filter === undefined ||
44
+ filter.pgn_filter.find((p) => pgn.pgn === Number(p))) &&
45
+ (filter.src_filter === undefined ||
46
+ filter.src_filter.find((s) => pgn.src === Number(s))) &&
47
+ (filter.dst_filter === undefined ||
48
+ filter.dst_filter.find((d) => pgn.dst === Number(d)))) {
49
+ if (filter.manufacturer_filter !== undefined) {
50
+ const manufacturer = pgn.fields.manufacturerCode ||
51
+ pgn.fields['Manufacturer Code'];
52
+ if (manufacturer !== filter.manufacturer_filter) {
53
+ return false;
54
+ }
55
+ }
56
+ if (filter.js_filter !== undefined) {
57
+ try {
58
+ return filter.js_filter(pgn);
59
+ }
60
+ catch (e) {
61
+ console.error(`Error evaluating filter on PGN ${pgn.pgn}: ${e.message}`);
62
+ return false;
63
+ }
64
+ }
65
+ return true;
66
+ }
67
+ return false;
68
+ };
69
+ exports.filterPGN = filterPGN;
15
70
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/bin/utils.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAoC;AAE7B,MAAM,YAAY,GAAG,CAAC,IAA4B,EAAE,EAAE;IAC3D,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,IAAI,sBAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/bin/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fromPgn.d.ts","sourceRoot":"","sources":["../lib/fromPgn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,EACL,GAAG,EAUJ,MAAM,kBAAkB,CAAA;AAIzB,QAAA,MAAM,YAAY,KAAoB,CAAA;AAItC,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;IA2C1B,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;IA6W9C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAW3C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAQ/B,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;IA+BtD,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,4BA0DpE"}
1
+ {"version":3,"file":"fromPgn.d.ts","sourceRoot":"","sources":["../lib/fromPgn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,EACL,GAAG,EAUJ,MAAM,kBAAkB,CAAA;AAIzB,QAAA,MAAM,YAAY,KAAoB,CAAA;AAItC,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;IA2C1B,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;IAkX9C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAW3C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAQ/B,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;IA+BtD,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,4BA0DpE"}
package/dist/fromPgn.js CHANGED
@@ -239,6 +239,11 @@ class Parser extends EventEmitter {
239
239
  pgnList = [nonMatch];
240
240
  pgnData = pgnList[0];
241
241
  fields = pgnData.Fields;
242
+ const data = bs.readArrayBuffer(Math.floor(bs.bitsLeft / 8));
243
+ if (data.length > 0) {
244
+ ;
245
+ pgn.fields.data = (0, utilities_1.byteString)(Buffer.from(data), ' ');
246
+ }
242
247
  }
243
248
  else {
244
249
  if (pgn.pgn >= 0xff00 && pgn.pgn <= 0xffff) {
@@ -774,98 +779,105 @@ function readValue(definition, options, pgn, field, bs, fields, bitLength = unde
774
779
  return [null, undefined];
775
780
  }
776
781
  }
777
- if (field.FieldType === ts_pgns_1.FieldType.Binary && definition.Fallback === true) {
778
- bitLength = bs.bitsLeft < bitLength ? bs.bitsLeft : bitLength;
779
- const data = bs.readArrayBuffer(Math.floor(bitLength / 8));
780
- return [(0, utilities_1.byteString)(Buffer.from(data), ' '), undefined];
781
- }
782
- else if (bitLength === 8) {
783
- if (field.Signed) {
784
- value = bs.readInt8();
785
- value = value === 0x7f ? null : value;
786
- }
787
- else {
788
- value = bs.readUint8();
789
- value = value === 0xff ? null : value;
782
+ try {
783
+ if (field.FieldType === ts_pgns_1.FieldType.Binary &&
784
+ definition.Fallback === true) {
785
+ bitLength = bs.bitsLeft < bitLength ? bs.bitsLeft : bitLength;
786
+ const data = bs.readArrayBuffer(Math.floor(bitLength / 8));
787
+ return [(0, utilities_1.byteString)(Buffer.from(data), ' '), undefined];
790
788
  }
791
- }
792
- else if (bitLength == 16) {
793
- if (field.Signed) {
794
- value = bs.readInt16();
795
- value = value === 0x7fff ? null : value;
789
+ else if (bitLength === 8) {
790
+ if (field.Signed) {
791
+ value = bs.readInt8();
792
+ value = value === 0x7f ? null : value;
793
+ }
794
+ else {
795
+ value = bs.readUint8();
796
+ value = value === 0xff ? null : value;
797
+ }
796
798
  }
797
- else {
798
- value = bs.readUint16();
799
- value = value === 0xffff ? null : value;
799
+ else if (bitLength == 16) {
800
+ if (field.Signed) {
801
+ value = bs.readInt16();
802
+ value = value === 0x7fff ? null : value;
803
+ }
804
+ else {
805
+ value = bs.readUint16();
806
+ value = value === 0xffff ? null : value;
807
+ }
800
808
  }
801
- }
802
- else if (bitLength == 24) {
803
- const b1 = bs.readUint8();
804
- const b2 = bs.readUint8();
805
- const b3 = bs.readUint8();
806
- //debug(`24 bit ${b1.toString(16)} ${b2.toString(16)} ${b3.toString(16)}`)
807
- value = (b3 << 16) + (b2 << 8) + b1;
808
- //debug(`value ${value.toString(16)}`)
809
- }
810
- else if (bitLength == 32) {
811
- if (field.Signed) {
812
- value = bs.readInt32();
813
- value = value === 0x7fffffff ? null : value;
809
+ else if (bitLength == 24) {
810
+ const b1 = bs.readUint8();
811
+ const b2 = bs.readUint8();
812
+ const b3 = bs.readUint8();
813
+ //debug(`24 bit ${b1.toString(16)} ${b2.toString(16)} ${b3.toString(16)}`)
814
+ value = (b3 << 16) + (b2 << 8) + b1;
815
+ //debug(`value ${value.toString(16)}`)
814
816
  }
815
- else {
816
- value = bs.readUint32();
817
- value = value === 0xffffffff ? null : value;
817
+ else if (bitLength == 32) {
818
+ if (field.Signed) {
819
+ value = bs.readInt32();
820
+ value = value === 0x7fffffff ? null : value;
821
+ }
822
+ else {
823
+ value = bs.readUint32();
824
+ value = value === 0xffffffff ? null : value;
825
+ }
818
826
  }
819
- }
820
- else if (bitLength == 48) {
821
- const a = bs.readUint32();
822
- const b = bs.readUint16();
823
- if (field.Signed) {
824
- value = a == 0xffffffff && b == 0x7fff ? null : new int64_buffer_1.Int64LE(b, a);
827
+ else if (bitLength == 48) {
828
+ const a = bs.readUint32();
829
+ const b = bs.readUint16();
830
+ if (field.Signed) {
831
+ value = a == 0xffffffff && b == 0x7fff ? null : new int64_buffer_1.Int64LE(b, a);
832
+ }
833
+ else {
834
+ value = a == 0xffffffff && b == 0xffff ? null : new int64_buffer_1.Int64LE(b, a);
835
+ }
825
836
  }
826
- else {
827
- value = a == 0xffffffff && b == 0xffff ? null : new int64_buffer_1.Int64LE(b, a);
837
+ else if (bitLength == 64) {
838
+ const x = bs.readUint32();
839
+ const y = bs.readUint32();
840
+ if (field.Signed) {
841
+ value =
842
+ (x === 0xffffffff || x === 0xfffffffe) && y == 0x7fffffff
843
+ ? null
844
+ : new int64_buffer_1.Int64LE(y, x);
845
+ }
846
+ else {
847
+ value =
848
+ (x === 0xffffffff || x === 0xfffffffe) && y == 0xffffffff
849
+ ? null
850
+ : new int64_buffer_1.Uint64LE(y, x);
851
+ }
828
852
  }
829
- }
830
- else if (bitLength == 64) {
831
- const x = bs.readUint32();
832
- const y = bs.readUint32();
833
- if (field.Signed) {
834
- value =
835
- (x === 0xffffffff || x === 0xfffffffe) && y == 0x7fffffff
836
- ? null
837
- : new int64_buffer_1.Int64LE(y, x);
853
+ else if (bitLength <= 64) {
854
+ value = bs.readBits(bitLength, field.Signed);
855
+ if (bitLength > 1 && isMax(bitLength, value, field.Signed)) {
856
+ value = null;
857
+ }
838
858
  }
839
859
  else {
840
- value =
841
- (x === 0xffffffff || x === 0xfffffffe) && y == 0xffffffff
842
- ? null
843
- : new int64_buffer_1.Uint64LE(y, x);
844
- }
845
- }
846
- else if (bitLength <= 64) {
847
- value = bs.readBits(bitLength, field.Signed);
848
- if (bitLength > 1 && isMax(bitLength, value, field.Signed)) {
849
- value = null;
850
- }
851
- }
852
- else {
853
- if (bs.bitsLeft < bitLength) {
854
- bitLength = bs.bitsLeft;
855
- if (bitLength === undefined) {
856
- return [null, undefined];
860
+ if (bs.bitsLeft < bitLength) {
861
+ bitLength = bs.bitsLeft;
862
+ if (bitLength === undefined) {
863
+ return [null, undefined];
864
+ }
857
865
  }
866
+ value = bs.readArrayBuffer(bitLength / 8); //, field.Signed)
867
+ const arr = [];
868
+ value = new Uint32Array(value)
869
+ .reduce(function (acc, i) {
870
+ acc.push(i.toString(16));
871
+ return acc;
872
+ }, arr)
873
+ .map((x) => (x.length === 1 ? '0' + x : x))
874
+ .join(' ');
875
+ return [value, undefined];
858
876
  }
859
- value = bs.readArrayBuffer(bitLength / 8); //, field.Signed)
860
- const arr = [];
861
- value = new Uint32Array(value)
862
- .reduce(function (acc, i) {
863
- acc.push(i.toString(16));
864
- return acc;
865
- }, arr)
866
- .map((x) => (x.length === 1 ? '0' + x : x))
867
- .join(' ');
868
- return [value, undefined];
877
+ }
878
+ catch (error) {
879
+ debug(`Error reading field ${field.Name} of type ${field.FieldType} with bit length ${bitLength} from PGN ${pgn.pgn}: ${error}`);
880
+ return [null, undefined];
869
881
  }
870
882
  if (value != null &&
871
883
  typeof value !== 'undefined' &&