@tak-ps/node-cot 5.0.3 → 5.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"flow-tags.test.js","sourceRoot":"","sources":["../../test/flow-tags.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7F,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC;QACvB,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;QACjD,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;QACnD,OAAO,EAAE,qBAAqB;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,CAAC,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"flow-tags.test.js","sourceRoot":"","sources":["../../test/flow-tags.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7F,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC;QACvB,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;QACjD,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE;QACnD,OAAO,EAAE,qBAAqB;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -19,12 +19,17 @@ test('CoT.from_geojson - Point', (t) => {
19
19
  t.deepEquals(geo.raw.event.point, {
20
20
  _attributes: { lat: '2.2', lon: '1.1', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
21
21
  });
22
- t.ok(geo.raw.event.detail['_flow-tags_']);
23
- delete geo.raw.event.detail['_flow-tags_'];
24
- t.deepEquals(geo.raw.event.detail, {
25
- contact: { _attributes: { callsign: 'UNKNOWN' } },
26
- remarks: { _attributes: {}, _text: '' }
27
- });
22
+ if (!geo.raw.event.detail || !geo.raw.event.detail.remarks) {
23
+ t.fail('No Detail Section');
24
+ }
25
+ else {
26
+ t.ok(geo.raw.event.detail['_flow-tags_']);
27
+ delete geo.raw.event.detail['_flow-tags_'];
28
+ t.deepEquals(geo.raw.event.detail, {
29
+ contact: { _attributes: { callsign: 'UNKNOWN' } },
30
+ remarks: { _attributes: {}, _text: '' }
31
+ });
32
+ }
28
33
  t.end();
29
34
  });
30
35
  test('CoT.from_geojson - Polygon', (t) => {
@@ -52,25 +57,30 @@ test('CoT.from_geojson - Polygon', (t) => {
52
57
  t.deepEquals(geo.raw.event.point, {
53
58
  _attributes: { lat: '39.065', lon: '-108.54599999999999', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
54
59
  });
55
- t.ok(geo.raw.event.detail['_flow-tags_']);
56
- delete geo.raw.event.detail['_flow-tags_'];
57
- t.deepEquals(geo.raw.event.detail, {
58
- contact: { _attributes: { callsign: 'UNKNOWN' } },
59
- link: [
60
- { _attributes: { point: '39.098,-108.587' } },
61
- { _attributes: { point: '39.032,-108.587' } },
62
- { _attributes: { point: '39.032,-108.505' } },
63
- { _attributes: { point: '39.098,-108.505' } },
64
- { _attributes: { point: '39.098,-108.587' } },
65
- ],
66
- labels_on: { _attributes: { value: 'false' } },
67
- tog: { _attributes: { enabled: '0' } },
68
- strokeColor: { _attributes: { value: '-2130706688' } },
69
- strokeWeight: { _attributes: { value: '3' } },
70
- strokeStyle: { _attributes: { value: 'solid' } },
71
- fillColor: { _attributes: { value: '-2130706688' } },
72
- remarks: { _attributes: {}, _text: '' }
73
- });
60
+ if (!geo.raw.event.detail || !geo.raw.event.detail.remarks) {
61
+ t.fail('No Detail Section');
62
+ }
63
+ else {
64
+ t.ok(geo.raw.event.detail['_flow-tags_']);
65
+ delete geo.raw.event.detail['_flow-tags_'];
66
+ t.deepEquals(geo.raw.event.detail, {
67
+ contact: { _attributes: { callsign: 'UNKNOWN' } },
68
+ link: [
69
+ { _attributes: { point: '39.098,-108.587' } },
70
+ { _attributes: { point: '39.032,-108.587' } },
71
+ { _attributes: { point: '39.032,-108.505' } },
72
+ { _attributes: { point: '39.098,-108.505' } },
73
+ { _attributes: { point: '39.098,-108.587' } },
74
+ ],
75
+ labels_on: { _attributes: { value: 'false' } },
76
+ tog: { _attributes: { enabled: '0' } },
77
+ strokeColor: { _attributes: { value: '-2130706688' } },
78
+ strokeWeight: { _attributes: { value: '3' } },
79
+ strokeStyle: { _attributes: { value: 'solid' } },
80
+ fillColor: { _attributes: { value: '-2130706688' } },
81
+ remarks: { _attributes: {}, _text: '' }
82
+ });
83
+ }
74
84
  t.end();
75
85
  });
76
86
  test('CoT.from_geojson - LineString', (t) => {
@@ -98,24 +108,29 @@ test('CoT.from_geojson - LineString', (t) => {
98
108
  t.deepEquals(geo.raw.event.point, {
99
109
  _attributes: { lat: '39.098', lon: '-108.505', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
100
110
  });
101
- t.ok(geo.raw.event.detail['_flow-tags_']);
102
- delete geo.raw.event.detail['_flow-tags_'];
103
- t.deepEquals(geo.raw.event.detail, {
104
- contact: { _attributes: { callsign: 'UNKNOWN' } },
105
- link: [
106
- { _attributes: { point: '39.098,-108.587' } },
107
- { _attributes: { point: '39.032,-108.587' } },
108
- { _attributes: { point: '39.032,-108.505' } },
109
- { _attributes: { point: '39.098,-108.505' } },
110
- { _attributes: { point: '39.098,-108.587' } }
111
- ],
112
- labels_on: { _attributes: { value: 'false' } },
113
- tog: { _attributes: { enabled: '0' } },
114
- strokeColor: { _attributes: { value: '-2130706688' } },
115
- strokeWeight: { _attributes: { value: '3' } },
116
- strokeStyle: { _attributes: { value: 'solid' } },
117
- remarks: { _attributes: {}, _text: '' }
118
- });
111
+ if (!geo.raw.event.detail || !geo.raw.event.detail.remarks) {
112
+ t.fail('No Detail Section');
113
+ }
114
+ else {
115
+ t.ok(geo.raw.event.detail['_flow-tags_']);
116
+ delete geo.raw.event.detail['_flow-tags_'];
117
+ t.deepEquals(geo.raw.event.detail, {
118
+ contact: { _attributes: { callsign: 'UNKNOWN' } },
119
+ link: [
120
+ { _attributes: { point: '39.098,-108.587' } },
121
+ { _attributes: { point: '39.032,-108.587' } },
122
+ { _attributes: { point: '39.032,-108.505' } },
123
+ { _attributes: { point: '39.098,-108.505' } },
124
+ { _attributes: { point: '39.098,-108.587' } }
125
+ ],
126
+ labels_on: { _attributes: { value: 'false' } },
127
+ tog: { _attributes: { enabled: '0' } },
128
+ strokeColor: { _attributes: { value: '-2130706688' } },
129
+ strokeWeight: { _attributes: { value: '3' } },
130
+ strokeStyle: { _attributes: { value: 'solid' } },
131
+ remarks: { _attributes: {}, _text: '' }
132
+ });
133
+ }
119
134
  t.end();
120
135
  });
121
136
  test('CoT.from_geojson - Start', (t) => {
@@ -176,12 +191,17 @@ test('CoT.from_geojson - Icon', (t) => {
176
191
  coordinates: [1.1, 2.2]
177
192
  }
178
193
  });
179
- t.ok(geo.raw.event.detail['_flow-tags_']);
180
- delete geo.raw.event.detail['_flow-tags_'];
181
- t.deepEquals(geo.raw.event.detail, {
182
- contact: { _attributes: { callsign: 'UNKNOWN' } },
183
- usericon: { _attributes: { iconsetpath: '66f14976-4b62-4023-8edb-d8d2ebeaa336/Public Safety Air/EMS_ROTOR.png' } }, remarks: { _attributes: {}, _text: '' }
184
- });
194
+ if (!geo.raw.event.detail || !geo.raw.event.detail.remarks) {
195
+ t.fail('No Detail Section');
196
+ }
197
+ else {
198
+ t.ok(geo.raw.event.detail['_flow-tags_']);
199
+ delete geo.raw.event.detail['_flow-tags_'];
200
+ t.deepEquals(geo.raw.event.detail, {
201
+ contact: { _attributes: { callsign: 'UNKNOWN' } },
202
+ usericon: { _attributes: { iconsetpath: '66f14976-4b62-4023-8edb-d8d2ebeaa336/Public Safety Air/EMS_ROTOR.png' } }, remarks: { _attributes: {}, _text: '' }
203
+ });
204
+ }
185
205
  t.end();
186
206
  });
187
207
  test('CoT.from_geojson - Height Above Earth', (t) => {
@@ -216,7 +236,7 @@ test('CoT.from_geojson - Height Above Earth', (t) => {
216
236
  t.end();
217
237
  });
218
238
  test('CoT.from_geojson - Course & Speed', (t) => {
219
- t.deepEquals(CoT.from_geojson({
239
+ const cot = CoT.from_geojson({
220
240
  type: 'Feature',
221
241
  properties: {
222
242
  course: 260,
@@ -226,16 +246,22 @@ test('CoT.from_geojson - Course & Speed', (t) => {
226
246
  type: 'Point',
227
247
  coordinates: [1.1, 2.2]
228
248
  }
229
- }).raw.event.detail.track, {
230
- _attributes: {
231
- 'course': '260',
232
- 'speed': '120'
233
- }
234
- }, 'track');
249
+ });
250
+ if (!cot.raw.event.detail || !cot.raw.event.detail.remarks) {
251
+ t.fail('No Detail Section');
252
+ }
253
+ else {
254
+ t.deepEquals(cot.raw.event.detail.track, {
255
+ _attributes: {
256
+ 'course': '260',
257
+ 'speed': '120'
258
+ }
259
+ }, 'track');
260
+ }
235
261
  t.end();
236
262
  });
237
263
  test('CoT.from_geojson - Remarks', (t) => {
238
- t.deepEquals(CoT.from_geojson({
264
+ const cot = CoT.from_geojson({
239
265
  type: 'Feature',
240
266
  properties: {
241
267
  course: 260,
@@ -246,10 +272,16 @@ test('CoT.from_geojson - Remarks', (t) => {
246
272
  type: 'Point',
247
273
  coordinates: [1.1, 2.2]
248
274
  }
249
- }).raw.event.detail.remarks, {
250
- _attributes: {},
251
- _text: 'Test'
252
- }, 'track');
275
+ });
276
+ if (!cot.raw.event.detail || !cot.raw.event.detail.remarks) {
277
+ t.fail('No Detail Section');
278
+ }
279
+ else {
280
+ t.deepEquals(cot.raw.event.detail.remarks, {
281
+ _attributes: {},
282
+ _text: 'Test'
283
+ }, 'track');
284
+ }
253
285
  t.end();
254
286
  });
255
287
  //# sourceMappingURL=from_geojson.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"from_geojson.test.js","sourceRoot":"","sources":["../../test/from_geojson.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"from_geojson.test.js","sourceRoot":"","sources":["../../test/from_geojson.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;KACxF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,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,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;YACjD,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SAC1C,CAAC,CAAC;IACP,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE;IACrC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,CAAC;oBACV,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;iBACrB,CAAC;SACL;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;KAC3G,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,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,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;YACjD,IAAI,EAAE;gBACF,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;aAChD;YACD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9C,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YACtC,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACtD,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7C,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACpD,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SAC1C,CAAC,CAAC;IACP,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE;gBACT,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;aACrB;SACJ;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9B,WAAW,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;KAChG,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,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,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;YACjD,IAAI,EAAE;gBACF,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC7C,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE;aAChD;YACD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9C,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YACtC,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACtD,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7C,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SAC1C,CAAC,CAAC;IACP,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,oBAAoB;YACpB,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;SAChD;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,sCAAsC;IACtC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IACtF,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAEtF,gCAAgC;IAChC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IAEpE,wCAAwC;IACxC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChH,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEhH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,oBAAoB;YACpB,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC7C,KAAK,EAAE,EAAE,GAAG,IAAI;SACnB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,sCAAsC;IACtC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IACtF,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAEtF,gCAAgC;IAChC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;IAEpE,wCAAwC;IACxC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChH,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEhH,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,IAAI,EAAE,sEAAsE;SAC/E;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,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,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;YACjD,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,sEAAsE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SAC9J,CAAC,CAAC;IACP,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE,EAAE;IAChD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;QAC1B,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EACX;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,WAAW;KAClB,EAAE,aAAa,CAAC,CAAC;IAElB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;QAC1B,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EACX;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;SAC/B;KACJ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,WAAW;KAClB,EAAE,qBAAqB,CAAC,CAAC;IAE1B,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;SACb;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YACrC,WAAW,EAAE;gBACT,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;aACjB;SACJ,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE;IACrC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,MAAM;SAClB;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACJ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACvC,WAAW,EAAE,EAAE;YACf,KAAK,EAAE,MAAM;SAChB,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;IAED,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
package/lib/chat.ts CHANGED
@@ -51,6 +51,8 @@ export class DirectChat extends CoT {
51
51
 
52
52
  cot.event._attributes.uid = `GeoChat.${chat.from.uid}.${chat.to.uid}.${randomUUID()}`;
53
53
 
54
+ if (!cot.event.detail) cot.event.detail = {};
55
+
54
56
  cot.event.detail.link = {
55
57
  _attributes: {
56
58
  uid: chat.from.uid,
package/lib/cot.ts CHANGED
@@ -43,6 +43,7 @@ export default class CoT {
43
43
  ajv(this.raw);
44
44
  if (ajv.errors) throw new Error(`${ajv.errors[0].message} (${ajv.errors[0].instancePath})`);
45
45
 
46
+ if (!this.raw.event.detail) this.raw.event.detail = {};
46
47
  if (!this.raw.event.detail['_flow-tags_']) this.raw.event.detail['_flow-tags_'] = {};
47
48
  this.raw.event.detail['_flow-tags_'][`NodeCoT-${pkg.version}`] = new Date().toISOString()
48
49
  }
@@ -74,6 +75,7 @@ export default class CoT {
74
75
 
75
76
  if (feature.id) cot.event._attributes.uid = String(feature.id);
76
77
  if (feature.properties.callsign && !feature.id) cot.event._attributes.uid = feature.properties.callsign;
78
+ if (!cot.event.detail) cot.event.detail = {};
77
79
 
78
80
  if (feature.properties.droid) {
79
81
  cot.event.detail.uid = { _attributes: { Droid: feature.properties.droid } };
@@ -82,6 +84,7 @@ export default class CoT {
82
84
  if (feature.properties.takv) {
83
85
  cot.event.detail.takv = { _attributes: { ...feature.properties.takv } };
84
86
  }
87
+
85
88
  if (feature.properties.contact) {
86
89
  cot.event.detail.contact = { _attributes: { ...feature.properties.contact } };
87
90
  }
@@ -188,10 +191,10 @@ export default class CoT {
188
191
  * Return a GeoJSON Feature from an XML CoT message
189
192
  */
190
193
  to_geojson(): Feature {
191
- const raw = JSON.parse(JSON.stringify(this.raw));
194
+ const raw: JSONCoT = JSON.parse(JSON.stringify(this.raw));
192
195
  if (!raw.event.detail) raw.event.detail = {};
193
- if (!raw.event.detail.contact) raw.event.detail.contact = {};
194
- if (!raw.event.detail.contact._attributes) raw.event.detail.contact._attributes = {};
196
+ if (!raw.event.detail.contact) raw.event.detail.contact = { _attributes: { callsign: 'UNKNOWN' } };
197
+ if (!raw.event.detail.contact._attributes) raw.event.detail.contact._attributes = { callsign: 'UNKNOWN' };
195
198
 
196
199
  const feat: Feature = {
197
200
  id: raw.event._attributes.uid,
@@ -213,9 +216,10 @@ export default class CoT {
213
216
 
214
217
  if (!feat.properties) feat.properties = {};
215
218
 
216
- delete raw.event.detail.contact._attributes.callsign;
217
- if (Object.keys(raw.event.detail.contact._attributes).length) {
218
- feat.properties.contact = raw.event.detail.contact._attributes;
219
+ const contact = JSON.parse(JSON.stringify(raw.event.detail.contact._attributes));
220
+ delete contact.callsign;
221
+ if (Object.keys(contact).length) {
222
+ feat.properties.contact = contact;
219
223
  }
220
224
 
221
225
  if (raw.event.detail.remarks && raw.event.detail.remarks._text) {
@@ -240,8 +244,8 @@ export default class CoT {
240
244
  feat.properties.takv = raw.event.detail.takv._attributes;
241
245
  }
242
246
 
243
- if (raw.event.detail.group && raw.event.detail.group._attributes) {
244
- feat.properties.group = raw.event.detail.group._attributes;
247
+ if (raw.event.detail.__group && raw.event.detail.__group._attributes) {
248
+ feat.properties.group = raw.event.detail.__group._attributes;
245
249
  }
246
250
 
247
251
  if (raw.event.detail['_flow-tags_'] && raw.event.detail['_flow-tags_']._attributes) {
@@ -260,29 +264,29 @@ export default class CoT {
260
264
  feat.properties.group = raw.event.detail.__group._attributes;
261
265
  }
262
266
 
263
- if (['u-d-f', 'u-d-r'].includes(this.raw.event._attributes.type) && Array.isArray(this.raw.event.detail.link)) {
267
+ if (['u-d-f', 'u-d-r'].includes(raw.event._attributes.type) && Array.isArray(raw.event.detail.link)) {
264
268
  const coordinates = [];
265
269
 
266
- for (const l of this.raw.event.detail.link) {
270
+ for (const l of raw.event.detail.link) {
267
271
  coordinates.push(l._attributes.point.split(',').map((p: string) => { return Number(p.trim()) }).splice(0, 2).reverse());
268
272
  }
269
273
 
270
- if (this.raw.event.detail.strokeColor && this.raw.event.detail.strokeColor._attributes && this.raw.event.detail.strokeColor._attributes.value) {
271
- const stroke = new Color(Number(this.raw.event.detail.strokeColor._attributes.value));
274
+ if (raw.event.detail.strokeColor && raw.event.detail.strokeColor._attributes && raw.event.detail.strokeColor._attributes.value) {
275
+ const stroke = new Color(Number(raw.event.detail.strokeColor._attributes.value));
272
276
  feat.properties.stroke = stroke.as_hex();
273
277
  feat.properties['stroke-opacity'] = stroke.as_opacity();
274
278
  }
275
279
 
276
- if (this.raw.event.detail.strokeWeight && this.raw.event.detail.strokeWeight._attributes && this.raw.event.detail.strokeWeight._attributes.value) {
277
- feat.properties['stroke-width'] = Number(this.raw.event.detail.strokeWeight._attributes.value);
280
+ if (raw.event.detail.strokeWeight && raw.event.detail.strokeWeight._attributes && raw.event.detail.strokeWeight._attributes.value) {
281
+ feat.properties['stroke-width'] = Number(raw.event.detail.strokeWeight._attributes.value);
278
282
  }
279
283
 
280
- if (this.raw.event.detail.strokeStyle && this.raw.event.detail.strokeStyle._attributes && this.raw.event.detail.strokeStyle._attributes.value) {
281
- feat.properties['stroke-style'] = this.raw.event.detail.strokeStyle._attributes.value;
284
+ if (raw.event.detail.strokeStyle && raw.event.detail.strokeStyle._attributes && raw.event.detail.strokeStyle._attributes.value) {
285
+ feat.properties['stroke-style'] = raw.event.detail.strokeStyle._attributes.value;
282
286
  }
283
287
 
284
- if (this.raw.event._attributes.type === 'u-d-r' || (coordinates[0][0] === coordinates[coordinates.length -1][0] && coordinates[0][1] === coordinates[coordinates.length -1][1])) {
285
- if (this.raw.event._attributes.type === 'u-d-r') {
288
+ if (raw.event._attributes.type === 'u-d-r' || (coordinates[0][0] === coordinates[coordinates.length -1][0] && coordinates[0][1] === coordinates[coordinates.length -1][1])) {
289
+ if (raw.event._attributes.type === 'u-d-r') {
286
290
  // CoT rectangles are only 4 points - GeoJSON needs to be closed
287
291
  coordinates.push(coordinates[0])
288
292
  }
@@ -292,8 +296,8 @@ export default class CoT {
292
296
  coordinates: [coordinates]
293
297
  }
294
298
 
295
- if (this.raw.event.detail.fillColor && this.raw.event.detail.fillColor._attributes && this.raw.event.detail.fillColor._attributes.value) {
296
- const fill = new Color(Number(this.raw.event.detail.fillColor._attributes.value));
299
+ if (raw.event.detail.fillColor && raw.event.detail.fillColor._attributes && raw.event.detail.fillColor._attributes.value) {
300
+ const fill = new Color(Number(raw.event.detail.fillColor._attributes.value));
297
301
  feat.properties['fill-opacity'] = fill.as_opacity();
298
302
  feat.properties['fill'] = fill.as_hex();
299
303
  }
package/lib/schema.json CHANGED
@@ -182,7 +182,24 @@
182
182
  },
183
183
  "FlowTags": {
184
184
  "additionalProperties": {
185
- "type": "string"
185
+ "anyOf": [
186
+ {
187
+ "additionalProperties": true,
188
+ "properties": {},
189
+ "type": "object"
190
+ },
191
+ {
192
+ "type": "string"
193
+ }
194
+ ]
195
+ },
196
+ "properties": {
197
+ "_attributes": {
198
+ "additionalProperties": {
199
+ "type": "string"
200
+ },
201
+ "type": "object"
202
+ }
186
203
  },
187
204
  "type": "object"
188
205
  },
@@ -477,7 +494,6 @@
477
494
  },
478
495
  "required": [
479
496
  "_attributes",
480
- "detail",
481
497
  "point"
482
498
  ],
483
499
  "type": "object"
package/lib/types.ts CHANGED
@@ -51,7 +51,10 @@ export interface TakVersion {
51
51
  }
52
52
 
53
53
  export interface FlowTags {
54
- [k: string]: string;
54
+ _attributes?: {
55
+ [k: string]: string
56
+ }
57
+ [k: string]: string | undefined | object;
55
58
  }
56
59
 
57
60
  export interface Group {
@@ -149,7 +152,7 @@ export interface Point {
149
152
  export default interface JSONCoT {
150
153
  event: {
151
154
  _attributes: EventAttributes,
152
- detail: Detail,
155
+ detail?: Detail,
153
156
  point: Point,
154
157
  [k: string]: unknown
155
158
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/node-cot",
3
3
  "type": "module",
4
- "version": "5.0.3",
4
+ "version": "5.0.6",
5
5
  "description": "Lightweight JavaScript library for parsing and manipulating TAK messages",
6
6
  "author": "Nick Ingalls <nick@ingalls.ca>",
7
7
  "main": "dist/index.js",
package/test/chat.test.ts CHANGED
@@ -19,76 +19,79 @@ test('DirectChat - Basic', (t) => {
19
19
  t.ok(cot.raw.event._attributes.uid);
20
20
  cot.raw.event._attributes.uid = '123';
21
21
 
22
- t.ok(cot.raw.event.detail['_flow-tags_']);
23
- delete cot.raw.event.detail['_flow-tags_'];
22
+ if (!cot.raw.event.detail) {
23
+ t.fail('No Detail Section')
24
+ } else {
25
+ t.ok(cot.raw.event.detail['_flow-tags_']);
26
+ delete cot.raw.event.detail['_flow-tags_'];
24
27
 
25
- for (const i of ['time', 'start', 'stale']) {
26
- t.equals(typeof cot.raw.event._attributes[i], 'string');
27
- delete cot.raw.event._attributes[i];
28
- }
28
+ for (const i of ['time', 'start', 'stale']) {
29
+ t.equals(typeof cot.raw.event._attributes[i], 'string');
30
+ delete cot.raw.event._attributes[i];
31
+ }
29
32
 
30
- if (!cot.raw.event.detail.__chat) {
31
- t.fail()
32
- } else {
33
- t.equals(typeof cot.raw.event.detail.__chat._attributes.messageId, 'string');
34
- cot.raw.event.detail.__chat._attributes.messageId = '123';
35
- }
33
+ if (!cot.raw.event.detail.__chat) {
34
+ t.fail('No Detail Section')
35
+ } else {
36
+ t.equals(typeof cot.raw.event.detail.__chat._attributes.messageId, 'string');
37
+ cot.raw.event.detail.__chat._attributes.messageId = '123';
38
+ }
36
39
 
37
- if (!cot.raw.event.detail.remarks || !cot.raw.event.detail.remarks._attributes) {
38
- t.fail()
39
- } else {
40
- t.equals(typeof cot.raw.event.detail.remarks._attributes.time, 'string');
41
- cot.raw.event.detail.remarks._attributes.time = '123';
42
- }
40
+ if (!cot.raw.event.detail.remarks || !cot.raw.event.detail.remarks._attributes) {
41
+ t.fail('No Detail Section')
42
+ } else {
43
+ t.equals(typeof cot.raw.event.detail.remarks._attributes.time, 'string');
44
+ cot.raw.event.detail.remarks._attributes.time = '123';
45
+ }
43
46
 
44
- console.error(JSON.stringify(cot.raw));
45
- t.deepEquals(cot.raw, {
46
- event: {
47
- _attributes: {
48
- uid: '123',
49
- version: '2.0',
50
- type: 'b-t-f',
51
- how: 'h-g-i-g-o',
52
- },
53
- point: {
54
- _attributes: { lat: '0.000000', lon: '0.000000', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
55
- },
56
- detail: {
57
- __chat: {
58
- _attributes: {
59
- parent: 'RootContactGroup',
60
- groupOwner: 'false',
61
- messageId: '123',
62
- chatroom: 'Alpha Operator',
63
- id: '123456',
64
- senderCallsign: 'Bravo Operator'
47
+ t.deepEquals(cot.raw, {
48
+ event: {
49
+ _attributes: {
50
+ uid: '123',
51
+ version: '2.0',
52
+ type: 'b-t-f',
53
+ how: 'h-g-i-g-o',
54
+ },
55
+ point: {
56
+ _attributes: { lat: '0.000000', lon: '0.000000', hae: '0.0', ce: '9999999.0', le: '9999999.0' }
57
+ },
58
+ detail: {
59
+ __chat: {
60
+ _attributes: {
61
+ parent: 'RootContactGroup',
62
+ groupOwner: 'false',
63
+ messageId: '123',
64
+ chatroom: 'Alpha Operator',
65
+ id: '123456',
66
+ senderCallsign: 'Bravo Operator'
67
+ },
68
+ chatgrp: {
69
+ _attributes: {
70
+ uid0: "654321",
71
+ uid1:"123456",
72
+ id:"123456"
73
+ }
74
+ }
65
75
  },
66
- chatgrp: {
76
+ link: {
67
77
  _attributes: {
68
- uid0: "654321",
69
- uid1:"123456",
70
- id:"123456"
78
+ uid: '654321',
79
+ type: 'a-f-G',
80
+ relation: 'p-p'
71
81
  }
72
- }
73
- },
74
- link: {
75
- _attributes: {
76
- uid: '654321',
77
- type: 'a-f-G',
78
- relation: 'p-p'
79
- }
80
- },
81
- remarks: {
82
- _attributes: {
83
- source: '654321',
84
- to: '123456',
85
- time: '123'
86
82
  },
87
- _text: 'Direct Message Test'
83
+ remarks: {
84
+ _attributes: {
85
+ source: '654321',
86
+ to: '123456',
87
+ time: '123'
88
+ },
89
+ _text: 'Direct Message Test'
90
+ }
88
91
  }
89
92
  }
90
- }
91
- });
93
+ });
94
+ }
92
95
 
93
96
  t.end();
94
97
  });