@canboat/canboatjs 3.9.1 → 3.10.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/bin/analyzerjs.js +29 -23
- package/dist/bin/analyzerjs.js.map +1 -1
- package/dist/bin/candumpjs.js +26 -20
- package/dist/bin/candumpjs.js.map +1 -1
- package/dist/browser.d.ts +2 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +4 -1
- package/dist/browser.js.map +1 -1
- package/dist/fromPgn.d.ts +11 -0
- package/dist/fromPgn.d.ts.map +1 -1
- package/dist/fromPgn.js +77 -17
- package/dist/fromPgn.js.map +1 -1
- package/dist/ikonvert.js +3 -0
- package/dist/ikonvert.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/n2kDevice.js +1 -1
- package/dist/n2kDevice.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/dist/bin/analyzerjs.js
CHANGED
|
@@ -26,7 +26,9 @@ const argv = (0, minimist_1.default)(process.argv.slice(2), {
|
|
|
26
26
|
'coalesced',
|
|
27
27
|
'js',
|
|
28
28
|
'js-colors',
|
|
29
|
-
'no-enums'
|
|
29
|
+
'no-enums',
|
|
30
|
+
'include-raw-data',
|
|
31
|
+
'include-byte-mapping'
|
|
30
32
|
]
|
|
31
33
|
});
|
|
32
34
|
(0, utils_1.printVersion)(argv);
|
|
@@ -34,27 +36,29 @@ if (argv['help']) {
|
|
|
34
36
|
console.error(`Usage: ${process.argv[1]} [options]
|
|
35
37
|
|
|
36
38
|
Options:
|
|
37
|
-
-c
|
|
38
|
-
-n
|
|
39
|
-
-r
|
|
40
|
-
--no-enums
|
|
41
|
-
--
|
|
42
|
-
--
|
|
43
|
-
--
|
|
44
|
-
--
|
|
45
|
-
--
|
|
46
|
-
--
|
|
47
|
-
--
|
|
48
|
-
--
|
|
49
|
-
--
|
|
50
|
-
--
|
|
51
|
-
--
|
|
52
|
-
--
|
|
53
|
-
--
|
|
54
|
-
--
|
|
55
|
-
--
|
|
56
|
-
--
|
|
57
|
-
|
|
39
|
+
-c don't check for invalid values
|
|
40
|
+
-n output null values
|
|
41
|
+
-r parse $MXPGN as little endian
|
|
42
|
+
--no-enums don't output enum values
|
|
43
|
+
--include-raw-data include raw data in output
|
|
44
|
+
--include-byte-mapping include byte mapping in output
|
|
45
|
+
--file <path> read from the given file
|
|
46
|
+
--pretty output pretty json
|
|
47
|
+
--js output in JavaScript format
|
|
48
|
+
--js-colors output in JavaScript format with colors
|
|
49
|
+
--camel output field names in camelCase
|
|
50
|
+
--camel-compat output field names in camelCase and regular
|
|
51
|
+
--show-non-matches show pgn data without any matches
|
|
52
|
+
--show-warnings show warning messages
|
|
53
|
+
--coalesced force coalesced format
|
|
54
|
+
--fast force fast format
|
|
55
|
+
--pgn <number> filter for the given pgn number
|
|
56
|
+
--id <camelCaseId> filter for the given pgn id
|
|
57
|
+
--src <number> filter for the given source address
|
|
58
|
+
--dst <number> filter for the given destination address
|
|
59
|
+
--manufacturer <str> filter for pgns from the given manufacturer
|
|
60
|
+
--filter <js> filter for the given JavaScript expression
|
|
61
|
+
-h, --help output usage information`);
|
|
58
62
|
process.exit(1);
|
|
59
63
|
}
|
|
60
64
|
let format = undefined;
|
|
@@ -75,7 +79,9 @@ const parser = new fromPgn_1.Parser({
|
|
|
75
79
|
includeInputData: true,
|
|
76
80
|
createPGNObjects: true,
|
|
77
81
|
format,
|
|
78
|
-
resolveEnums: argv['enums'] === undefined || argv['enums'] === true
|
|
82
|
+
resolveEnums: argv['enums'] === undefined || argv['enums'] === true,
|
|
83
|
+
includeRawData: argv['include-raw-data'],
|
|
84
|
+
includeByteMapping: argv['include-byte-mapping']
|
|
79
85
|
});
|
|
80
86
|
parser.on('error', (pgn, error) => {
|
|
81
87
|
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;AAC/B,mCAAsC;AACtC,4CAAqE;AACrE,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,EAAE,IAAI,CAAC;IACrE,OAAO,EAAE;QACP,GAAG;QACH,GAAG;QACH,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,qBAAqB;QACrB,QAAQ;QACR,eAAe;QACf,WAAW;QACX,IAAI;QACJ,WAAW;QACX,UAAU;
|
|
1
|
+
{"version":3,"file":"analyzerjs.js","sourceRoot":"","sources":["../../lib/bin/analyzerjs.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/candumpjs.js
CHANGED
|
@@ -26,7 +26,9 @@ const argv = (0, minimist_1.default)(process.argv.slice(2), {
|
|
|
26
26
|
'pretty',
|
|
27
27
|
'js',
|
|
28
28
|
'js-colors',
|
|
29
|
-
'no-enums'
|
|
29
|
+
'no-enums',
|
|
30
|
+
'include-raw-data',
|
|
31
|
+
'include-byte-mapping'
|
|
30
32
|
]
|
|
31
33
|
});
|
|
32
34
|
(0, utils_1.printVersion)(argv);
|
|
@@ -34,24 +36,26 @@ if (argv['help']) {
|
|
|
34
36
|
console.error(`Usage: ${process.argv[0]} [options] candevice
|
|
35
37
|
|
|
36
38
|
Options:
|
|
37
|
-
--format <format>
|
|
38
|
-
-c
|
|
39
|
-
-n
|
|
40
|
-
-r
|
|
41
|
-
--no-enums
|
|
42
|
-
--
|
|
43
|
-
--
|
|
44
|
-
--
|
|
45
|
-
--
|
|
46
|
-
--
|
|
47
|
-
--
|
|
48
|
-
--
|
|
49
|
-
--
|
|
50
|
-
--
|
|
51
|
-
--
|
|
52
|
-
--
|
|
53
|
-
--
|
|
54
|
-
|
|
39
|
+
--format <format> json, actisense
|
|
40
|
+
-c don't check for invalid values
|
|
41
|
+
-n output null values
|
|
42
|
+
-r parse $MXPGN as little endian
|
|
43
|
+
--no-enums don't output enum values
|
|
44
|
+
--include-raw-data include raw data in output
|
|
45
|
+
--include-byte-mapping include byte mapping in output
|
|
46
|
+
--pretty pretty json
|
|
47
|
+
--js output in JavaScript format
|
|
48
|
+
--js-colors output in JavaScript format with colors
|
|
49
|
+
--camel output field names in camelCase
|
|
50
|
+
--camel-compat output field names in camelCase and regular
|
|
51
|
+
--show-non-matches show pgn data without any matches
|
|
52
|
+
--pgn <number> filter for the given pgn number
|
|
53
|
+
--id <camelCaseId> filter for the given pgn id
|
|
54
|
+
--src <number> filter for the given source address
|
|
55
|
+
--dst <number> filter for the given destination address
|
|
56
|
+
--manufacturer <str> filter for pgns from the given manufacturer
|
|
57
|
+
--filter <js> filter for the given JavaScript expression
|
|
58
|
+
-h, --help output usage information`);
|
|
55
59
|
process.exit(1);
|
|
56
60
|
}
|
|
57
61
|
if (argv['_'].length === 0) {
|
|
@@ -68,7 +72,9 @@ const parser = new index_1.FromPgn({
|
|
|
68
72
|
returnNonMatches: argv['show-non-matches'],
|
|
69
73
|
includeInputData: true,
|
|
70
74
|
createPGNObjects: true,
|
|
71
|
-
resolveEnums: argv['enums'] === undefined || argv['enums'] === true
|
|
75
|
+
resolveEnums: argv['enums'] === undefined || argv['enums'] === true,
|
|
76
|
+
includeRawData: argv['include-raw-data'],
|
|
77
|
+
includeByteMapping: argv['include-byte-mapping']
|
|
72
78
|
});
|
|
73
79
|
const format = argv['format'] || 'json';
|
|
74
80
|
parser.on('error', (pgn, error) => {
|
|
@@ -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,4CAKqB;AACrB,mCAAsC;AACtC,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,EAAE,IAAI,CAAC;IACvE,OAAO,EAAE;QACP,GAAG;QACH,GAAG;QACH,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,UAAU;
|
|
1
|
+
{"version":3,"file":"candumpjs.js","sourceRoot":"","sources":["../../lib/bin/candumpjs.ts"],"names":[],"mappings":";;;;;;AAEA,oCAAkC;AAClC,oCAAqC;AACrC,wDAA+B;AAC/B,4CAKqB;AACrB,mCAAsC;AACtC,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,EAAE,IAAI,CAAC;IACvE,OAAO,EAAE;QACP,GAAG;QACH,GAAG;QACH,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,UAAU;QACV,kBAAkB;QAClB,sBAAsB;KACvB;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;;;;;;;;;;;;;;;;;;;;;;qDAsBY,CAAC,CAAA;IACpD,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,wBAAY,EAAC,IAAgC,CAAC,CAAA;AAE7D,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;IAC1C,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI;IACnE,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACxC,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC;CACjD,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,qBAAS,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"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export { Parser as FromPgn } from './fromPgn';
|
|
17
|
+
export type { ByteMapping, ByteMap, RepeatingByteMapping } from './fromPgn';
|
|
17
18
|
export { addCustomPgns } from './pgns';
|
|
18
19
|
export { parseN2kString, isN2KString, toActisenseSerialFormat } from './stringMsg';
|
|
19
|
-
export { toPgn, pgnToActisenseSerialFormat, pgnToActisenseN2KAsciiFormat, pgnToiKonvertSerialFormat, pgnToYdgwRawFormat, pgnToYdgwFullRawFormat, pgnToPCDIN, pgnToMXPGN } from './toPgn';
|
|
20
|
+
export { toPgn, pgnToActisenseSerialFormat, pgnToActisenseN2KAsciiFormat, pgnToiKonvertSerialFormat, pgnToYdgwRawFormat, pgnToYdgwFullRawFormat, pgnToPCDIN, pgnToMXPGN, pgnToCandump1, pgnToCandump2, pgnToCandump3 } from './toPgn';
|
|
20
21
|
export { setupFilters, filterPGN } from './utilities';
|
|
21
22
|
export type { FilterConfig, FilterOptions } from './utilities';
|
|
22
23
|
export declare const lookupEnumerationValue: (enumName: string, value: string) => number | undefined;
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../lib/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,cAAc,EACd,WAAW,EACX,uBAAuB,EACxB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,UAAU,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../lib/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EACL,cAAc,EACd,WAAW,EACX,uBAAuB,EACxB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI9D,eAAO,MAAM,sBAAsB,yDAAsB,CAAA;AACzD,eAAO,MAAM,qBAAqB,yDAAqB,CAAA"}
|
package/dist/browser.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.lookupEnumerationName = exports.lookupEnumerationValue = exports.filterPGN = exports.setupFilters = exports.pgnToMXPGN = exports.pgnToPCDIN = exports.pgnToYdgwFullRawFormat = exports.pgnToYdgwRawFormat = exports.pgnToiKonvertSerialFormat = exports.pgnToActisenseN2KAsciiFormat = exports.pgnToActisenseSerialFormat = exports.toPgn = exports.toActisenseSerialFormat = exports.isN2KString = exports.parseN2kString = exports.addCustomPgns = exports.FromPgn = void 0;
|
|
18
|
+
exports.lookupEnumerationName = exports.lookupEnumerationValue = exports.filterPGN = exports.setupFilters = exports.pgnToCandump3 = exports.pgnToCandump2 = exports.pgnToCandump1 = exports.pgnToMXPGN = exports.pgnToPCDIN = exports.pgnToYdgwFullRawFormat = exports.pgnToYdgwRawFormat = exports.pgnToiKonvertSerialFormat = exports.pgnToActisenseN2KAsciiFormat = exports.pgnToActisenseSerialFormat = exports.toPgn = exports.toActisenseSerialFormat = exports.isN2KString = exports.parseN2kString = exports.addCustomPgns = exports.FromPgn = void 0;
|
|
19
19
|
// Browser-safe exports only - no Node.js dependencies
|
|
20
20
|
var fromPgn_1 = require("./fromPgn");
|
|
21
21
|
Object.defineProperty(exports, "FromPgn", { enumerable: true, get: function () { return fromPgn_1.Parser; } });
|
|
@@ -34,6 +34,9 @@ Object.defineProperty(exports, "pgnToYdgwRawFormat", { enumerable: true, get: fu
|
|
|
34
34
|
Object.defineProperty(exports, "pgnToYdgwFullRawFormat", { enumerable: true, get: function () { return toPgn_1.pgnToYdgwFullRawFormat; } });
|
|
35
35
|
Object.defineProperty(exports, "pgnToPCDIN", { enumerable: true, get: function () { return toPgn_1.pgnToPCDIN; } });
|
|
36
36
|
Object.defineProperty(exports, "pgnToMXPGN", { enumerable: true, get: function () { return toPgn_1.pgnToMXPGN; } });
|
|
37
|
+
Object.defineProperty(exports, "pgnToCandump1", { enumerable: true, get: function () { return toPgn_1.pgnToCandump1; } });
|
|
38
|
+
Object.defineProperty(exports, "pgnToCandump2", { enumerable: true, get: function () { return toPgn_1.pgnToCandump2; } });
|
|
39
|
+
Object.defineProperty(exports, "pgnToCandump3", { enumerable: true, get: function () { return toPgn_1.pgnToCandump3; } });
|
|
37
40
|
var utilities_1 = require("./utilities");
|
|
38
41
|
Object.defineProperty(exports, "setupFilters", { enumerable: true, get: function () { return utilities_1.setupFilters; } });
|
|
39
42
|
Object.defineProperty(exports, "filterPGN", { enumerable: true, get: function () { return utilities_1.filterPGN; } });
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../lib/browser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,sDAAsD;AACtD,qCAA6C;AAApC,kGAAA,MAAM,OAAW;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../lib/browser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,sDAAsD;AACtD,qCAA6C;AAApC,kGAAA,MAAM,OAAW;AAE1B,+BAAsC;AAA7B,qGAAA,aAAa,OAAA;AACtB,yCAIoB;AAHlB,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,oHAAA,uBAAuB,OAAA;AAEzB,iCAYgB;AAXd,8FAAA,KAAK,OAAA;AACL,mHAAA,0BAA0B,OAAA;AAC1B,qHAAA,4BAA4B,OAAA;AAC5B,kHAAA,yBAAyB,OAAA;AACzB,2GAAA,kBAAkB,OAAA;AAClB,+GAAA,sBAAsB,OAAA;AACtB,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AAEf,yCAAqD;AAA5C,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAGhC,8CAA0E;AAE7D,QAAA,sBAAsB,GAAG,6BAAmB,CAAA;AAC5C,QAAA,qBAAqB,GAAG,4BAAkB,CAAA"}
|
package/dist/fromPgn.d.ts
CHANGED
|
@@ -18,6 +18,17 @@ import { EventEmitter } from 'events';
|
|
|
18
18
|
import { BitStream } from 'bit-buffer';
|
|
19
19
|
export type FromPgnCallback = (msg: any, pgn: any | undefined) => void;
|
|
20
20
|
export type PostProcessor = (field: Field, value: any) => any;
|
|
21
|
+
export type ByteMapping = {
|
|
22
|
+
bytes: number[];
|
|
23
|
+
value?: number | string | null;
|
|
24
|
+
bits?: string;
|
|
25
|
+
};
|
|
26
|
+
export type RepeatingByteMapping = {
|
|
27
|
+
[key: string]: ByteMapping;
|
|
28
|
+
};
|
|
29
|
+
export type ByteMap = {
|
|
30
|
+
[key: string]: ByteMapping | RepeatingByteMapping[];
|
|
31
|
+
};
|
|
21
32
|
export declare class Parser extends EventEmitter {
|
|
22
33
|
options: any;
|
|
23
34
|
name: string;
|
package/dist/fromPgn.d.ts.map
CHANGED
|
@@ -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;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAIrC,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAA;AAe/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;
|
|
1
|
+
{"version":3,"file":"fromPgn.d.ts","sourceRoot":"","sources":["../lib/fromPgn.ts"],"names":[],"mappings":"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"}
|
package/dist/fromPgn.js
CHANGED
|
@@ -74,6 +74,12 @@ class Parser extends events_1.EventEmitter {
|
|
|
74
74
|
if (this.options.includeInputData === undefined) {
|
|
75
75
|
this.options.includeInputData = false;
|
|
76
76
|
}
|
|
77
|
+
if (this.options.includeRawData === undefined) {
|
|
78
|
+
this.options.includeRawData = false;
|
|
79
|
+
}
|
|
80
|
+
if (this.options.includeByteMapping === undefined) {
|
|
81
|
+
this.options.includeByteMapping = false;
|
|
82
|
+
}
|
|
77
83
|
this.name = package_json_1.default.name;
|
|
78
84
|
this.version = package_json_1.default.version;
|
|
79
85
|
this.author = package_json_1.default.author;
|
|
@@ -221,6 +227,10 @@ class Parser extends events_1.EventEmitter {
|
|
|
221
227
|
? pgnData.RepeatingFieldSet1Size
|
|
222
228
|
: 0;
|
|
223
229
|
pgn.fields = {};
|
|
230
|
+
if (this.options.includeByteMapping) {
|
|
231
|
+
;
|
|
232
|
+
pgn.byteMapping = {};
|
|
233
|
+
}
|
|
224
234
|
try {
|
|
225
235
|
let fields = pgnData.Fields;
|
|
226
236
|
const continueReading = true;
|
|
@@ -228,7 +238,12 @@ class Parser extends events_1.EventEmitter {
|
|
|
228
238
|
for (let i = 0; i < fields.length - RepeatingFields && continueReading; i++) {
|
|
229
239
|
const field = fields[i];
|
|
230
240
|
const hasMatch = field.Match !== undefined;
|
|
231
|
-
|
|
241
|
+
const [valueRes, _refField, byteMapping] = readField(pgnData, this.options, !hasMatch, pgn, field, bs, fields);
|
|
242
|
+
let value = valueRes;
|
|
243
|
+
if (this.options.includeByteMapping) {
|
|
244
|
+
;
|
|
245
|
+
pgn.byteMapping[field.Id] = byteMapping;
|
|
246
|
+
}
|
|
232
247
|
if (hasMatch) {
|
|
233
248
|
//console.log(`looking for ${field.Name} == ${value}`)
|
|
234
249
|
//console.log(JSON.stringify(pgnList, null, 2))
|
|
@@ -239,14 +254,23 @@ class Parser extends events_1.EventEmitter {
|
|
|
239
254
|
trace('warning no conversion found for pgn %j', pgn);
|
|
240
255
|
//continueReading = false
|
|
241
256
|
const nonMatch = this.findNonMatchPgn(origPGNList);
|
|
257
|
+
const setByteMapping = (data) => {
|
|
258
|
+
if (this.options.includeByteMapping) {
|
|
259
|
+
const mapping = {
|
|
260
|
+
bytes: Array.from(data)
|
|
261
|
+
};
|
|
262
|
+
pgn.byteMapping.data = mapping;
|
|
263
|
+
}
|
|
264
|
+
};
|
|
242
265
|
if (nonMatch) {
|
|
243
266
|
pgnList = [nonMatch];
|
|
244
267
|
pgnData = pgnList[0];
|
|
245
268
|
fields = pgnData.Fields;
|
|
246
269
|
const data = bs.readArrayBuffer(Math.floor(bs.bitsLeft / 8));
|
|
247
270
|
if (data.length > 0) {
|
|
248
|
-
;
|
|
249
|
-
pgn.fields.data = (0, utilities_1.byteString)(
|
|
271
|
+
const buf = Buffer.from(data);
|
|
272
|
+
pgn.fields.data = (0, utilities_1.byteString)(buf, ' ');
|
|
273
|
+
setByteMapping(buf);
|
|
250
274
|
}
|
|
251
275
|
}
|
|
252
276
|
else {
|
|
@@ -263,8 +287,9 @@ class Parser extends events_1.EventEmitter {
|
|
|
263
287
|
fields = [];
|
|
264
288
|
const data = bs.readArrayBuffer(Math.floor(bs.bitsLeft / 8));
|
|
265
289
|
if (data.length > 0) {
|
|
266
|
-
;
|
|
267
|
-
pgn.fields.data = (0, utilities_1.byteString)(
|
|
290
|
+
const buf = Buffer.from(data);
|
|
291
|
+
pgn.fields.data = (0, utilities_1.byteString)(buf, ' ');
|
|
292
|
+
setByteMapping(buf);
|
|
268
293
|
}
|
|
269
294
|
}
|
|
270
295
|
}
|
|
@@ -304,6 +329,10 @@ class Parser extends events_1.EventEmitter {
|
|
|
304
329
|
const repeating = fields.slice(fields.length - RepeatingFields);
|
|
305
330
|
const fany = pgn.fields;
|
|
306
331
|
fany.list = [];
|
|
332
|
+
if (this.options.includeByteMapping) {
|
|
333
|
+
;
|
|
334
|
+
pgn.byteMapping['list'] = [];
|
|
335
|
+
}
|
|
307
336
|
let count;
|
|
308
337
|
if (pgnData.RepeatingFieldSet1CountField !== undefined) {
|
|
309
338
|
const rfield = pgnData.Fields[pgnData.RepeatingFieldSet1CountField - 1];
|
|
@@ -315,9 +344,14 @@ class Parser extends events_1.EventEmitter {
|
|
|
315
344
|
}
|
|
316
345
|
while (bs.bitsLeft > 0 && --count >= 0) {
|
|
317
346
|
const group = {};
|
|
347
|
+
let repeatingMap;
|
|
348
|
+
if (this.options.includeByteMapping) {
|
|
349
|
+
repeatingMap = {};
|
|
350
|
+
pgn.byteMapping['list'].push(repeatingMap);
|
|
351
|
+
}
|
|
318
352
|
repeating.forEach((field) => {
|
|
319
353
|
if (bs.bitsLeft > 0) {
|
|
320
|
-
const [value, refField] = readField(pgnData, this.options, true, pgn, field, bs, fields);
|
|
354
|
+
const [value, refField, byteMapping] = readField(pgnData, this.options, true, pgn, field, bs, fields);
|
|
321
355
|
if (refField) {
|
|
322
356
|
group.parameterId = refField.Id;
|
|
323
357
|
}
|
|
@@ -325,6 +359,9 @@ class Parser extends events_1.EventEmitter {
|
|
|
325
359
|
(value != null || this.options.returnNulls)) {
|
|
326
360
|
this.setField(group, field, value);
|
|
327
361
|
}
|
|
362
|
+
if (this.options.includeByteMapping && byteMapping) {
|
|
363
|
+
repeatingMap[field.Id] = byteMapping;
|
|
364
|
+
}
|
|
328
365
|
}
|
|
329
366
|
});
|
|
330
367
|
if (lodash_1.default.keys(group).length > 0) {
|
|
@@ -360,26 +397,32 @@ class Parser extends events_1.EventEmitter {
|
|
|
360
397
|
res.dst = pgn.dst;
|
|
361
398
|
res.prio = pgn.prio;
|
|
362
399
|
const apgn = pgn;
|
|
400
|
+
/*
|
|
363
401
|
if (apgn.canId !== undefined) {
|
|
364
|
-
|
|
365
|
-
res.canId = apgn.canId;
|
|
402
|
+
;(res as any).canId = apgn.canId
|
|
366
403
|
}
|
|
367
404
|
if (apgn.time !== undefined) {
|
|
368
|
-
|
|
369
|
-
res.time = apgn.time;
|
|
405
|
+
;(res as any).time = apgn.time
|
|
370
406
|
}
|
|
371
407
|
if (apgn.timer !== undefined) {
|
|
372
|
-
|
|
373
|
-
res.timer = apgn.timer;
|
|
408
|
+
;(res as any).timer = apgn.timer
|
|
374
409
|
}
|
|
375
410
|
if (apgn.direction !== undefined) {
|
|
376
|
-
|
|
377
|
-
res.direction = apgn.direction;
|
|
411
|
+
;(res as any).direction = apgn.direction
|
|
378
412
|
}
|
|
413
|
+
*/
|
|
379
414
|
if (apgn.input !== undefined) {
|
|
380
415
|
;
|
|
381
416
|
res.input = apgn.input;
|
|
382
417
|
}
|
|
418
|
+
if (this.options.includeRawData) {
|
|
419
|
+
;
|
|
420
|
+
res.rawData = Array.from(bs.view.buffer.subarray(0, bs.byteIndex));
|
|
421
|
+
}
|
|
422
|
+
if (this.options.includeByteMapping) {
|
|
423
|
+
;
|
|
424
|
+
res.byteMapping = pgn.byteMapping;
|
|
425
|
+
}
|
|
383
426
|
// Stringify timestamp because SK Server needs it that way.
|
|
384
427
|
const ts = lodash_1.default.get(pgn, 'timestamp', new Date());
|
|
385
428
|
res.timestamp = lodash_1.default.isDate(ts) ? ts.toISOString() : ts;
|
|
@@ -695,6 +738,8 @@ function lookup(field, value) {
|
|
|
695
738
|
function readField(definition, options, runPostProcessor, pgn, field, bs, fields = undefined) {
|
|
696
739
|
let value;
|
|
697
740
|
let refField = undefined;
|
|
741
|
+
let bm = undefined;
|
|
742
|
+
const start = bs.index;
|
|
698
743
|
const reader = fieldTypeReaders[field.FieldType];
|
|
699
744
|
if (reader) {
|
|
700
745
|
value = reader(pgn, field, bs);
|
|
@@ -705,16 +750,31 @@ function readField(definition, options, runPostProcessor, pgn, field, bs, fields
|
|
|
705
750
|
bs.bitsLeft < field.BitLength) {
|
|
706
751
|
//no more data
|
|
707
752
|
bs.readBits(bs.bitsLeft, false);
|
|
708
|
-
|
|
753
|
+
if (options.includeByteMapping) {
|
|
754
|
+
bm = {
|
|
755
|
+
bytes: Array.from(bs.view.buffer.subarray(start / 8, Math.ceil(bs.index / 8)))
|
|
756
|
+
};
|
|
757
|
+
}
|
|
758
|
+
return [null, undefined, bm];
|
|
709
759
|
}
|
|
710
760
|
;
|
|
711
761
|
[value, refField] = readValue(definition, options, pgn, field, bs, fields);
|
|
712
762
|
}
|
|
763
|
+
if (options.includeByteMapping) {
|
|
764
|
+
bm = {
|
|
765
|
+
bytes: Array.from(bs.view.buffer.subarray(start / 8, Math.ceil(bs.index / 8))),
|
|
766
|
+
value: value
|
|
767
|
+
};
|
|
768
|
+
}
|
|
713
769
|
if (refField === undefined) {
|
|
714
|
-
return [
|
|
770
|
+
return [
|
|
771
|
+
convertField(field, value, runPostProcessor, options),
|
|
772
|
+
undefined,
|
|
773
|
+
bm
|
|
774
|
+
];
|
|
715
775
|
}
|
|
716
776
|
else {
|
|
717
|
-
return [value, refField];
|
|
777
|
+
return [value, refField, bm];
|
|
718
778
|
}
|
|
719
779
|
}
|
|
720
780
|
function convertField(field, value, runPostProcessor, options) {
|