node-red-contrib-tak-registration 0.8.0 → 0.8.3
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 +2 -0
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/child_process.d.ts +5 -0
- package/node_modules/@types/node/dgram.d.ts +5 -0
- package/node_modules/@types/node/events.d.ts +35 -0
- package/node_modules/@types/node/fs/promises.d.ts +5 -0
- package/node_modules/@types/node/fs.d.ts +43 -5
- package/node_modules/@types/node/globals.d.ts +22 -0
- package/node_modules/@types/node/index.d.ts +1 -1
- package/node_modules/@types/node/inspector.d.ts +1 -1
- package/node_modules/@types/node/module.d.ts +103 -0
- package/node_modules/@types/node/net.d.ts +5 -0
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/stream.d.ts +143 -0
- package/node_modules/@types/node/test.d.ts +33 -4
- package/node_modules/@types/node/timers.d.ts +12 -2
- package/node_modules/@types/node/ts4.8/child_process.d.ts +5 -0
- package/node_modules/@types/node/ts4.8/dgram.d.ts +5 -0
- package/node_modules/@types/node/ts4.8/events.d.ts +35 -0
- package/node_modules/@types/node/ts4.8/fs/promises.d.ts +5 -0
- package/node_modules/@types/node/ts4.8/fs.d.ts +43 -5
- package/node_modules/@types/node/ts4.8/globals.d.ts +22 -0
- package/node_modules/@types/node/ts4.8/inspector.d.ts +1 -1
- package/node_modules/@types/node/ts4.8/module.d.ts +103 -0
- package/node_modules/@types/node/ts4.8/net.d.ts +5 -0
- package/node_modules/@types/node/ts4.8/stream.d.ts +762 -728
- package/node_modules/@types/node/ts4.8/test.d.ts +97 -50
- package/node_modules/@types/node/ts4.8/timers.d.ts +12 -2
- package/node_modules/@types/node/ts4.8/vm.d.ts +2 -1
- package/node_modules/@types/node/vm.d.ts +2 -1
- package/node_modules/axios/CHANGELOG.md +23 -0
- package/node_modules/axios/README.md +33 -5
- package/node_modules/axios/dist/axios.js +26 -18
- package/node_modules/axios/dist/axios.js.map +1 -1
- package/node_modules/axios/dist/axios.min.js +1 -1
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +24 -20
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +26 -21
- package/node_modules/axios/dist/esm/axios.js.map +1 -1
- package/node_modules/axios/dist/esm/axios.min.js +1 -1
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +27 -21
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/index.d.cts +1 -0
- package/node_modules/axios/index.d.ts +3 -0
- package/node_modules/axios/index.js +2 -0
- package/node_modules/axios/lib/adapters/http.js +3 -1
- package/node_modules/axios/lib/axios.js +3 -0
- package/node_modules/axios/lib/core/Axios.js +2 -4
- package/node_modules/axios/lib/core/AxiosHeaders.js +11 -1
- package/node_modules/axios/lib/defaults/index.js +4 -11
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/utils.js +3 -2
- package/node_modules/axios/package.json +3 -1
- package/node_modules/protobufjs/dist/light/protobuf.js +24 -13
- package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.js +12 -7
- package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.js +40 -18
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/package.json +1 -1
- package/node_modules/protobufjs/src/converter.js +2 -2
- package/node_modules/protobufjs/src/parse.js +4 -1
- package/node_modules/protobufjs/src/reader.js +8 -3
- package/node_modules/protobufjs/src/tokenize.js +2 -4
- package/package.json +3 -3
- package/tak-ingest.js +1 -1
- package/tak-registration.js +14 -5
|
@@ -62,7 +62,7 @@ function genValuePartial_fromObject(gen, field, fieldIndex, prop) {
|
|
|
62
62
|
break;
|
|
63
63
|
case "uint64":
|
|
64
64
|
isUnsigned = true;
|
|
65
|
-
// eslint-disable-line no-fallthrough
|
|
65
|
+
// eslint-disable-next-line no-fallthrough
|
|
66
66
|
case "int64":
|
|
67
67
|
case "sint64":
|
|
68
68
|
case "fixed64":
|
|
@@ -176,7 +176,7 @@ function genValuePartial_toObject(gen, field, fieldIndex, prop) {
|
|
|
176
176
|
break;
|
|
177
177
|
case "uint64":
|
|
178
178
|
isUnsigned = true;
|
|
179
|
-
// eslint-disable-line no-fallthrough
|
|
179
|
+
// eslint-disable-next-line no-fallthrough
|
|
180
180
|
case "int64":
|
|
181
181
|
case "sint64":
|
|
182
182
|
case "fixed64":
|
|
@@ -227,7 +227,7 @@ function parse(source, root, options) {
|
|
|
227
227
|
break;
|
|
228
228
|
case "public":
|
|
229
229
|
next();
|
|
230
|
-
// eslint-disable-line no-fallthrough
|
|
230
|
+
// eslint-disable-next-line no-fallthrough
|
|
231
231
|
default:
|
|
232
232
|
whichImports = imports || (imports = []);
|
|
233
233
|
break;
|
|
@@ -621,6 +621,9 @@ function parse(source, root, options) {
|
|
|
621
621
|
if (!nameRe.test(token = next())) {
|
|
622
622
|
throw illegal(token, "name");
|
|
623
623
|
}
|
|
624
|
+
if (token === null) {
|
|
625
|
+
throw illegal(token, "end of input");
|
|
626
|
+
}
|
|
624
627
|
|
|
625
628
|
var value;
|
|
626
629
|
var propName = token;
|
|
@@ -312,9 +312,14 @@ Reader.prototype.bytes = function read_bytes() {
|
|
|
312
312
|
this.pos += length;
|
|
313
313
|
if (Array.isArray(this.buf)) // plain array
|
|
314
314
|
return this.buf.slice(start, end);
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
315
|
+
|
|
316
|
+
if (start === end) { // fix for IE 10/Win8 and others' subarray returning array of size 1
|
|
317
|
+
var nativeBuffer = util.Buffer;
|
|
318
|
+
return nativeBuffer
|
|
319
|
+
? nativeBuffer.alloc(0)
|
|
320
|
+
: new this.buf.constructor(0);
|
|
321
|
+
}
|
|
322
|
+
return this._slice.call(this.buf, start, end);
|
|
318
323
|
};
|
|
319
324
|
|
|
320
325
|
/**
|
|
@@ -197,9 +197,7 @@ function tokenize(source, alternateCommentMode) {
|
|
|
197
197
|
|
|
198
198
|
// see if remaining line matches comment pattern
|
|
199
199
|
var lineText = source.substring(startOffset, endOffset);
|
|
200
|
-
|
|
201
|
-
// the first slash that started the comment.
|
|
202
|
-
var isComment = /^\s*\/{1,2}/.test(lineText);
|
|
200
|
+
var isComment = /^\s*\/\//.test(lineText);
|
|
203
201
|
return isComment;
|
|
204
202
|
}
|
|
205
203
|
|
|
@@ -268,7 +266,7 @@ function tokenize(source, alternateCommentMode) {
|
|
|
268
266
|
// check for double-slash comments, consolidating consecutive lines
|
|
269
267
|
start = offset;
|
|
270
268
|
isDoc = false;
|
|
271
|
-
if (isDoubleSlashCommentLine(offset)) {
|
|
269
|
+
if (isDoubleSlashCommentLine(offset - 1)) {
|
|
272
270
|
isDoc = true;
|
|
273
271
|
do {
|
|
274
272
|
offset = findEndOfLine(offset);
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-red-contrib-tak-registration",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"description": "A Node-RED node to register to TAK and to help wrap files as datapackages to send to TAK",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@turf/turf": "6.5.0",
|
|
7
7
|
"adm-zip": "0.5.10",
|
|
8
|
-
"axios": "1.
|
|
8
|
+
"axios": "1.5.0",
|
|
9
9
|
"fast-xml-parser": "4.2.7",
|
|
10
10
|
"form-data": "4.0.0",
|
|
11
11
|
"long": "5.2.3",
|
|
12
|
-
"protobufjs": "7.2.
|
|
12
|
+
"protobufjs": "7.2.5",
|
|
13
13
|
"uuid": "9.0.0"
|
|
14
14
|
},
|
|
15
15
|
"bundledDependencies": [
|
package/tak-ingest.js
CHANGED
package/tak-registration.js
CHANGED
|
@@ -35,6 +35,7 @@ module.exports = function(RED) {
|
|
|
35
35
|
var gr = {};
|
|
36
36
|
gr[node.callsign] = node.uuid;
|
|
37
37
|
globalContext.set("_takgatewaycs",gr);
|
|
38
|
+
globalContext.set("_takdphost",node.host);
|
|
38
39
|
|
|
39
40
|
if (node.role !== "Gateway") { node.ntype = "a-f-G-U-C" }
|
|
40
41
|
|
|
@@ -73,7 +74,7 @@ module.exports = function(RED) {
|
|
|
73
74
|
var sendIt = function() {
|
|
74
75
|
node.emit("input", {
|
|
75
76
|
time: new Date().toISOString(),
|
|
76
|
-
etime: new Date(Date.now() +
|
|
77
|
+
etime: new Date(Date.now() + (2 * node.repeat)).toISOString(),
|
|
77
78
|
lat: node.lat,
|
|
78
79
|
lon: node.lon,
|
|
79
80
|
alt: node.alt,
|
|
@@ -98,8 +99,8 @@ module.exports = function(RED) {
|
|
|
98
99
|
|
|
99
100
|
node.on("input",function(msg) {
|
|
100
101
|
if (msg.heartbeat) { // Register gateway and do the heartbeats
|
|
101
|
-
var template = `<event version="2.0" uid="${node.uuid}" type="${msg.type}" how="h-e" time="${msg.time}" start="${msg.time}" stale="${msg.etime}"><point lat="${msg.lat}" lon="${msg.lon}" hae="${msg.alt}" ce="9999999" le="9999999"/><detail><takv device="${os.hostname()}" os="${os.platform()}" platform="NRedTAK" version="${ver}"/><contact endpoint="*:-1:stcp" callsign="${msg.callsign}"/><uid Droid="${msg.callsign}"/><__group name="${msg.group}" role="${msg.role}"/><status battery="99"/></detail></event>`;
|
|
102
|
-
node.send({payload:template});
|
|
102
|
+
var template = `<event version="2.0" uid="${node.uuid}" type="${msg.type}" how="h-e" time="${msg.time}" start="${msg.time}" stale="${msg.etime}"><point lat="${msg.lat}" lon="${msg.lon}" hae="${msg.alt}" ce="9999999" le="9999999"/><detail><takv device="${os.hostname()}" os="${os.platform()}" platform="NRedTAK" version="${ver}"/><contact endpoint="*:-1:stcp" callsign="${msg.callsign}"/><uid Droid="${msg.callsign}"/><__group name="${msg.group}" role="${msg.role}"/><status battery="99"/><track course="0.00000000" speed="0.00000000"/></detail></event>`;
|
|
103
|
+
node.send({payload:template, topic:msg.type});
|
|
103
104
|
node.status({fill:"green", shape:"dot", text:node.repeat/1000+"s - "+node.callsign});
|
|
104
105
|
return;
|
|
105
106
|
}
|
|
@@ -183,6 +184,7 @@ module.exports = function(RED) {
|
|
|
183
184
|
m += '</detail></event>';
|
|
184
185
|
node.log( "DP: " + node.host + "/Marti/sync/content?hash=" + msg.hash );
|
|
185
186
|
msg.payload = m.replace(/>\s+</g, "><");
|
|
187
|
+
msg.topic = "b-f-t-r";
|
|
186
188
|
node.send(msg);
|
|
187
189
|
}
|
|
188
190
|
})
|
|
@@ -197,6 +199,7 @@ module.exports = function(RED) {
|
|
|
197
199
|
// Otherwise if it's a string maybe it's raw cot xml - or NMEA from GPS - or maybe a simple chat message
|
|
198
200
|
else if (typeof msg.payload === "string" ) {
|
|
199
201
|
if (msg.payload.trim().startsWith('<') && msg.payload.trim().endsWith('>')) { // Assume it's proper XML event so pass straight through
|
|
202
|
+
msg.topic = msg.payload.split('type="')[1].split('"')[0];
|
|
200
203
|
node.send(msg);
|
|
201
204
|
}
|
|
202
205
|
else if (msg.payload.trim().startsWith('$GPGGA')) { // maybe it's an NMEA string
|
|
@@ -244,6 +247,7 @@ module.exports = function(RED) {
|
|
|
244
247
|
</event>`;
|
|
245
248
|
// console.log(xm);
|
|
246
249
|
m.payload = xm.replace(/>\s+</g, "><");
|
|
250
|
+
m.topic = "b-t-f";
|
|
247
251
|
node.send(m);
|
|
248
252
|
}
|
|
249
253
|
}
|
|
@@ -277,8 +281,13 @@ module.exports = function(RED) {
|
|
|
277
281
|
type = s.split('').join('-').replace('s-','a-').replace('-p-','-');
|
|
278
282
|
}
|
|
279
283
|
}
|
|
280
|
-
|
|
284
|
+
if (msg.payload.icon === 'fa-circle fa-fw') {
|
|
285
|
+
type = 'b-m-p-s-m';
|
|
286
|
+
shapeXML = '<color argb="' + convertWMtoCOTColour(msg.payload.iconColor.replace('#', '')) + '"/>';
|
|
287
|
+
shapeXML = shapeXML+'<usericon iconsetpath="COT_MAPPING_SPOTMAP/b-m-p-s-m/-16711681"/>';
|
|
288
|
+
}
|
|
281
289
|
}
|
|
290
|
+
|
|
282
291
|
// Handle Worldmap drawing shapes
|
|
283
292
|
if (msg.payload.hasOwnProperty("action") && msg.payload.action === "draw") {
|
|
284
293
|
ttl = 24*60*60*1000; /// set TTL to 1 day for shapes...
|
|
@@ -342,7 +351,6 @@ module.exports = function(RED) {
|
|
|
342
351
|
msg.payload.lon = polyCent.geometry.coordinates[1];
|
|
343
352
|
}
|
|
344
353
|
// console.log("SHAPE",shape)
|
|
345
|
-
|
|
346
354
|
if (shape.type === 'ellipse') {
|
|
347
355
|
type = "u-d-c-c";
|
|
348
356
|
|
|
@@ -406,6 +414,7 @@ module.exports = function(RED) {
|
|
|
406
414
|
</detail>
|
|
407
415
|
</event>`
|
|
408
416
|
msg.payload = msg.payload.replace(/>\s+</g, "><");
|
|
417
|
+
msg.topic = type;
|
|
409
418
|
node.send(msg);
|
|
410
419
|
}
|
|
411
420
|
|