@tak-ps/node-cot 8.0.1 → 8.2.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/CHANGELOG.md +8 -0
- package/README.md +21 -17
- package/dist/lib/data-package.js +14 -0
- package/dist/lib/data-package.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/test/newlines.test.js +78 -0
- package/dist/test/newlines.test.js.map +1 -0
- package/lib/data-package.ts +16 -2
- package/package.json +1 -1
- package/test/newlines.test.ts +82 -0
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
## Version History
|
|
12
12
|
|
|
13
|
+
### v8.2.0
|
|
14
|
+
|
|
15
|
+
- :white_check_mark: Add tests for ensuring newlines are retained in remarks
|
|
16
|
+
|
|
17
|
+
### v8.1.0
|
|
18
|
+
|
|
19
|
+
- :rocket: Add ability to set Ephemeral or Permanent package type
|
|
20
|
+
|
|
13
21
|
### v8.0.1
|
|
14
22
|
|
|
15
23
|
- :bug: Include `@openaddresses/batch-error`
|
package/README.md
CHANGED
|
@@ -19,6 +19,27 @@ To install `node-cot` with npm run
|
|
|
19
19
|
npm install @tak-ps/node-cot
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
## Usage Examples
|
|
23
|
+
|
|
24
|
+
### Cursor-On-Target
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
import CoT from '@tak-ps/node-cot';
|
|
28
|
+
|
|
29
|
+
const cot = new CoT(`
|
|
30
|
+
<event version="2.0" uid="ANDROID-deadbeef" type="a-f-G-U-C" how="m-g" time="2021-02-27T20:32:24.771Z" start="2021-02-27T20:32:24.771Z" stale="2021-02-27T20:38:39.771Z">
|
|
31
|
+
<point lat="1.234567" lon="-3.141592" hae="-25.7" ce="9.9" le="9999999.0"/>
|
|
32
|
+
</event>
|
|
33
|
+
`);
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// Export Formats
|
|
37
|
+
cot.to_geojson(); // Output GeoJSON Representation
|
|
38
|
+
cot.to_xml(); // Output String XML Representation
|
|
39
|
+
|
|
40
|
+
cot.raw; // JSON XML Representation
|
|
41
|
+
```
|
|
42
|
+
|
|
22
43
|
## CoT Spec
|
|
23
44
|
|
|
24
45
|
The CoT Spec is very informally developed by rough internal concensus
|
|
@@ -92,23 +113,6 @@ These are less common properties that can be used:
|
|
|
92
113
|
| `.properties.dest` | Marti API Instructions for sending CoTs to a specific location |
|
|
93
114
|
| `.properties.fileshare` | Push Data Packages via CoT |
|
|
94
115
|
|
|
95
|
-
## Usage Examples
|
|
96
|
-
|
|
97
|
-
### Basic Usage
|
|
98
|
-
|
|
99
|
-
```
|
|
100
|
-
import CoT from '@tak-ps/node-cot';
|
|
101
|
-
|
|
102
|
-
const message = '<event version="2.0" uid="ANDROID-deadbeef" type="a-f-G-U-C" how="m-g" time="2021-02-27T20:32:24.771Z" start="2021-02-27T20:32:24.771Z" stale="2021-02-27T20:38:39.771Z"><point lat="1.234567" lon="-3.141592" hae="-25.7" ce="9.9" le="9999999.0"/><detail><takv os="29" version="4.0.0.0 (deadbeef).1234567890-CIV" device="Some Android Device" platform="ATAK-CIV"/><contact xmppUsername="xmpp@host.com" endpoint="*:-1:stcp" callsign="JENNY"/><uid Droid="JENNY"/><precisionlocation altsrc="GPS" geopointsrc="GPS"/><__group role="Team Member" name="Cyan"/><status battery="78"/><track course="80.24833892285461" speed="0.0"/></detail></event>'
|
|
103
|
-
|
|
104
|
-
const cot = new CoT(message);
|
|
105
|
-
|
|
106
|
-
// Export Formats
|
|
107
|
-
cot.to_geojson(); // Output GeoJSON Representation
|
|
108
|
-
cot.to_xml(); // Output String XML Representation
|
|
109
|
-
|
|
110
|
-
cot.raw; // JSON XML Representation
|
|
111
|
-
```
|
|
112
116
|
|
|
113
117
|
## Known Special CoT Types
|
|
114
118
|
|
package/dist/lib/data-package.js
CHANGED
|
@@ -63,6 +63,20 @@ export class DataPackage {
|
|
|
63
63
|
};
|
|
64
64
|
this.contents = [];
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* The Package should be imported and then removed
|
|
68
|
+
*/
|
|
69
|
+
setEphemeral() {
|
|
70
|
+
this.settings.onReceiveImport = true;
|
|
71
|
+
this.settings.onReceiveDelete = true;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The Package should be imported and the package retained
|
|
75
|
+
*/
|
|
76
|
+
setPermanent() {
|
|
77
|
+
this.settings.onReceiveImport = true;
|
|
78
|
+
this.settings.onReceiveDelete = false;
|
|
79
|
+
}
|
|
66
80
|
/**
|
|
67
81
|
* Return a string version of the Manifest document
|
|
68
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-package.js","sourceRoot":"","sources":["../../lib/data-package.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-package.js","sourceRoot":"","sources":["../../lib/data-package.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import test from 'tape';
|
|
2
|
+
import CoT from '../index.js';
|
|
3
|
+
test('Decode iTAK COT message', (t) => {
|
|
4
|
+
const packet = `<event version="2.0" uid="layer-35-4707" type="a-f-G" how="m-g" time="2024-06-07T15:28:48Z" start="2024-06-07T15:28:48.669Z" stale="2024-06-07T15:33:48.669Z"><point lat="39.1" lon="-105.1" hae="0.0" ce="9999999.0" le="9999999.0"/><detail><contact callsign="9T20"/><usericon iconsetpath="f7f71666-8b28-4b57-9fbb-e38e61d33b79/Google/police.png"/><remarks>Incident ID: 6841390
|
|
5
|
+
Master Incident Number: 05242024-0253042
|
|
6
|
+
Unit Name: 9F20
|
|
7
|
+
Unit ID: 3412
|
|
8
|
+
Status: Dispatched
|
|
9
|
+
Jurisdiction: Golden PD
|
|
10
|
+
Speed: 1</remarks><_flow-tags_ TAK-Server-e87a0e02420b44a08f6032bcf1877745="2024-06-07T15:28:48Z"><NodeCoT-8.1.0>2024-06-07T15:28:48.669Z</NodeCoT-8.1.0></_flow-tags_></detail></event>`;
|
|
11
|
+
const cot = new CoT(packet);
|
|
12
|
+
if (!cot.raw.event.detail) {
|
|
13
|
+
t.fail('No Detail Section');
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
t.ok(cot.raw.event.detail['_flow-tags_']);
|
|
17
|
+
delete cot.raw.event.detail['_flow-tags_'];
|
|
18
|
+
t.deepEquals({
|
|
19
|
+
'event': {
|
|
20
|
+
'_attributes': {
|
|
21
|
+
'version': '2.0',
|
|
22
|
+
'uid': 'layer-35-4707',
|
|
23
|
+
'type': 'a-f-G',
|
|
24
|
+
'time': '2024-06-07T15:28:48Z',
|
|
25
|
+
'start': '2024-06-07T15:28:48.669Z',
|
|
26
|
+
'stale': '2024-06-07T15:33:48.669Z',
|
|
27
|
+
'how': 'm-g',
|
|
28
|
+
},
|
|
29
|
+
'point': {
|
|
30
|
+
'_attributes': {
|
|
31
|
+
'lat': '39.1',
|
|
32
|
+
'lon': '-105.1',
|
|
33
|
+
'hae': '0.0',
|
|
34
|
+
'ce': '9999999.0',
|
|
35
|
+
'le': '9999999.0'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
detail: {
|
|
39
|
+
usericon: {
|
|
40
|
+
_attributes: {
|
|
41
|
+
"iconsetpath": "f7f71666-8b28-4b57-9fbb-e38e61d33b79/Google/police.png"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
contact: {
|
|
45
|
+
_attributes: {
|
|
46
|
+
callsign: '9T20',
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
remarks: {
|
|
50
|
+
"_text": "Incident ID: 6841390\nMaster Incident Number: 05242024-0253042\nUnit Name: 9F20\nUnit ID: 3412\nStatus: Dispatched\nJurisdiction: Golden PD\nSpeed: 1"
|
|
51
|
+
},
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}, cot.raw);
|
|
55
|
+
t.deepEquals(cot.to_geojson(), {
|
|
56
|
+
id: 'layer-35-4707',
|
|
57
|
+
type: 'Feature',
|
|
58
|
+
properties: {
|
|
59
|
+
callsign: '9T20',
|
|
60
|
+
type: 'a-f-G',
|
|
61
|
+
how: 'm-g',
|
|
62
|
+
center: [-105.1, 39.1, 0],
|
|
63
|
+
remarks: "Incident ID: 6841390\nMaster Incident Number: 05242024-0253042\nUnit Name: 9F20\nUnit ID: 3412\nStatus: Dispatched\nJurisdiction: Golden PD\nSpeed: 1",
|
|
64
|
+
time: '2024-06-07T15:28:48Z',
|
|
65
|
+
start: '2024-06-07T15:28:48.669Z',
|
|
66
|
+
stale: '2024-06-07T15:33:48.669Z',
|
|
67
|
+
icon: "f7f71666-8b28-4b57-9fbb-e38e61d33b79/Google/police.png",
|
|
68
|
+
metadata: {},
|
|
69
|
+
},
|
|
70
|
+
geometry: {
|
|
71
|
+
type: 'Point',
|
|
72
|
+
coordinates: [-105.1, 39.1, 0]
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
t.end();
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=newlines.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newlines.test.js","sourceRoot":"","sources":["../../test/newlines.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG;;;;;;yLAMsK,CAAA;IAErL,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE3C,CAAC,CAAC,UAAU,CAAC;YACT,OAAO,EAAE;gBACL,aAAa,EAAE;oBACX,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,eAAe;oBACtB,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,sBAAsB;oBAC9B,OAAO,EAAE,0BAA0B;oBACnC,OAAO,EAAE,0BAA0B;oBACnC,KAAK,EAAE,KAAK;iBACf;gBACD,OAAO,EAAE;oBACL,aAAa,EAAE;wBACX,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,KAAK;wBACZ,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,WAAW;qBACpB;iBACJ;gBACD,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,WAAW,EAAE;4BACT,aAAa,EAAE,wDAAwD;yBAC1E;qBACJ;oBACD,OAAO,EAAE;wBACL,WAAW,EAAE;4BACT,QAAQ,EAAE,MAAM;yBACnB;qBACJ;oBACD,OAAO,EAAE;wBACL,OAAO,EAAE,uJAAuJ;qBACnK;iBACJ;aACJ;SACJ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAEZ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE;YAC3B,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,CAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1B,OAAO,EAAE,uJAAuJ;gBAChK,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,wDAAwD;gBAC9D,QAAQ,EAAE,EAAE;aACf;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,CAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAE;aACnC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
|
package/lib/data-package.ts
CHANGED
|
@@ -77,6 +77,22 @@ export class DataPackage {
|
|
|
77
77
|
this.contents = [];
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
/**
|
|
81
|
+
* The Package should be imported and then removed
|
|
82
|
+
*/
|
|
83
|
+
setEphemeral() {
|
|
84
|
+
this.settings.onReceiveImport = true;
|
|
85
|
+
this.settings.onReceiveDelete = true;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* The Package should be imported and the package retained
|
|
90
|
+
*/
|
|
91
|
+
setPermanent() {
|
|
92
|
+
this.settings.onReceiveImport = true;
|
|
93
|
+
this.settings.onReceiveDelete = false;
|
|
94
|
+
}
|
|
95
|
+
|
|
80
96
|
/**
|
|
81
97
|
* Return a string version of the Manifest document
|
|
82
98
|
*/
|
|
@@ -189,9 +205,7 @@ export class DataPackage {
|
|
|
189
205
|
}
|
|
190
206
|
|
|
191
207
|
this.#addContent(`${cot.raw.event._attributes.uid}/${cot.raw.event._attributes.uid}.cot`, cot.raw.event._attributes.uid, name, opts.ignore);
|
|
192
|
-
|
|
193
208
|
await fsp.mkdir(`${this.path}/raw/${cot.raw.event._attributes.uid}/`, { recursive: true });
|
|
194
|
-
|
|
195
209
|
await fsp.writeFile(`${this.path}/raw/${cot.raw.event._attributes.uid}/${cot.raw.event._attributes.uid}.cot`, cot.to_xml())
|
|
196
210
|
}
|
|
197
211
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import test from 'tape';
|
|
2
|
+
import CoT from '../index.js';
|
|
3
|
+
|
|
4
|
+
test('Decode iTAK COT message', (t) => {
|
|
5
|
+
const packet = `<event version="2.0" uid="layer-35-4707" type="a-f-G" how="m-g" time="2024-06-07T15:28:48Z" start="2024-06-07T15:28:48.669Z" stale="2024-06-07T15:33:48.669Z"><point lat="39.1" lon="-105.1" hae="0.0" ce="9999999.0" le="9999999.0"/><detail><contact callsign="9T20"/><usericon iconsetpath="f7f71666-8b28-4b57-9fbb-e38e61d33b79/Google/police.png"/><remarks>Incident ID: 6841390
|
|
6
|
+
Master Incident Number: 05242024-0253042
|
|
7
|
+
Unit Name: 9F20
|
|
8
|
+
Unit ID: 3412
|
|
9
|
+
Status: Dispatched
|
|
10
|
+
Jurisdiction: Golden PD
|
|
11
|
+
Speed: 1</remarks><_flow-tags_ TAK-Server-e87a0e02420b44a08f6032bcf1877745="2024-06-07T15:28:48Z"><NodeCoT-8.1.0>2024-06-07T15:28:48.669Z</NodeCoT-8.1.0></_flow-tags_></detail></event>`
|
|
12
|
+
|
|
13
|
+
const cot = new CoT(packet);
|
|
14
|
+
|
|
15
|
+
if (!cot.raw.event.detail) {
|
|
16
|
+
t.fail('No Detail Section')
|
|
17
|
+
} else {
|
|
18
|
+
t.ok(cot.raw.event.detail['_flow-tags_']);
|
|
19
|
+
delete cot.raw.event.detail['_flow-tags_'];
|
|
20
|
+
|
|
21
|
+
t.deepEquals({
|
|
22
|
+
'event': {
|
|
23
|
+
'_attributes': {
|
|
24
|
+
'version': '2.0',
|
|
25
|
+
'uid': 'layer-35-4707',
|
|
26
|
+
'type': 'a-f-G',
|
|
27
|
+
'time': '2024-06-07T15:28:48Z',
|
|
28
|
+
'start': '2024-06-07T15:28:48.669Z',
|
|
29
|
+
'stale': '2024-06-07T15:33:48.669Z',
|
|
30
|
+
'how': 'm-g',
|
|
31
|
+
},
|
|
32
|
+
'point': {
|
|
33
|
+
'_attributes': {
|
|
34
|
+
'lat': '39.1',
|
|
35
|
+
'lon': '-105.1',
|
|
36
|
+
'hae': '0.0',
|
|
37
|
+
'ce': '9999999.0',
|
|
38
|
+
'le': '9999999.0'
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
detail: {
|
|
42
|
+
usericon: {
|
|
43
|
+
_attributes: {
|
|
44
|
+
"iconsetpath": "f7f71666-8b28-4b57-9fbb-e38e61d33b79/Google/police.png"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
contact: {
|
|
48
|
+
_attributes: {
|
|
49
|
+
callsign: '9T20',
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
remarks: {
|
|
53
|
+
"_text": "Incident ID: 6841390\nMaster Incident Number: 05242024-0253042\nUnit Name: 9F20\nUnit ID: 3412\nStatus: Dispatched\nJurisdiction: Golden PD\nSpeed: 1"
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, cot.raw);
|
|
58
|
+
|
|
59
|
+
t.deepEquals(cot.to_geojson(), {
|
|
60
|
+
id: 'layer-35-4707',
|
|
61
|
+
type: 'Feature',
|
|
62
|
+
properties: {
|
|
63
|
+
callsign: '9T20',
|
|
64
|
+
type: 'a-f-G',
|
|
65
|
+
how: 'm-g',
|
|
66
|
+
center: [ -105.1, 39.1, 0],
|
|
67
|
+
remarks: "Incident ID: 6841390\nMaster Incident Number: 05242024-0253042\nUnit Name: 9F20\nUnit ID: 3412\nStatus: Dispatched\nJurisdiction: Golden PD\nSpeed: 1",
|
|
68
|
+
time: '2024-06-07T15:28:48Z',
|
|
69
|
+
start: '2024-06-07T15:28:48.669Z',
|
|
70
|
+
stale: '2024-06-07T15:33:48.669Z',
|
|
71
|
+
icon: "f7f71666-8b28-4b57-9fbb-e38e61d33b79/Google/police.png",
|
|
72
|
+
metadata: {},
|
|
73
|
+
},
|
|
74
|
+
geometry: {
|
|
75
|
+
type: 'Point',
|
|
76
|
+
coordinates: [ -105.1, 39.1, 0 ]
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
t.end();
|
|
82
|
+
});
|