@tak-ps/node-cot 12.20.0 → 12.21.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.
@@ -25,22 +25,22 @@ jobs:
25
25
  runs-on: ubuntu-latest
26
26
  steps:
27
27
  - name: Checkout
28
- uses: actions/checkout@v3
28
+ uses: actions/checkout@v4
29
29
  - name: Setup Pages
30
- uses: actions/configure-pages@v3
31
- - uses: actions/setup-node@v3
30
+ uses: actions/configure-pages@v5
31
+ - uses: actions/setup-node@v4
32
32
  with:
33
- node-version: 18
33
+ node-version: 22
34
34
  registry-url: https://registry.npmjs.org/
35
35
  - name: npm install
36
36
  run: npm install
37
37
  - name: npm run doc
38
38
  run: npm run doc
39
39
  - name: Upload artifact
40
- uses: actions/upload-pages-artifact@v1
40
+ uses: actions/upload-pages-artifact@v3
41
41
  with:
42
42
  path: './docs/'
43
43
  - name: Deploy to GitHub Pages
44
44
  id: deployment
45
- uses: actions/deploy-pages@v2
45
+ uses: actions/deploy-pages@v4
46
46
 
package/CHANGELOG.md CHANGED
@@ -12,6 +12,12 @@
12
12
 
13
13
  ### Pending Fixed
14
14
 
15
+ ### v12.21.0 - 2025-02-03
16
+
17
+ - :tada: Add support for identifying DataPackages that are Mission Archive Exports
18
+ - :rocket: Add types present in MissionArchive Exports
19
+ - :rocket: Include unknown properties in `unknown` object of DataPackage
20
+
15
21
  ### v12.20.0 - 2025-01-28
16
22
 
17
23
  - :rocket: Make Callsign Optional
@@ -17,7 +17,7 @@ import AJV from 'ajv';
17
17
  export const Parameter = Type.Object({
18
18
  _attributes: Type.Object({
19
19
  name: Type.String(),
20
- value: Type.String()
20
+ value: Type.String({ default: '' })
21
21
  })
22
22
  });
23
23
  export const ManifestContent = Type.Object({
@@ -27,20 +27,41 @@ export const ManifestContent = Type.Object({
27
27
  }),
28
28
  Parameter: Type.Union([Parameter, Type.Array(Parameter)])
29
29
  });
30
- export const Manifest = Type.Object({
31
- MissionPackageManifest: Type.Object({
30
+ export const Group = Type.Object({
31
+ _attributes: Type.Object({
32
+ name: Type.String(),
33
+ }),
34
+ });
35
+ export const Permission = Type.Object({
36
+ _attributes: Type.Object({
37
+ name: Type.String(),
38
+ }),
39
+ });
40
+ const MissionPackageManifest = Type.Object({
41
+ _attributes: Type.Object({
42
+ version: Type.String()
43
+ }),
44
+ Configuration: Type.Object({
45
+ Parameter: Type.Array(Parameter)
46
+ }),
47
+ Contents: Type.Object({
48
+ Content: Type.Optional(Type.Union([ManifestContent, Type.Array(ManifestContent)]))
49
+ }),
50
+ // Used in MissionArchive Exports
51
+ Groups: Type.Optional(Type.Object({
52
+ group: Type.Optional(Type.Union([Group, Type.Array(Group)]))
53
+ })),
54
+ Role: Type.Optional(Type.Object({
32
55
  _attributes: Type.Object({
33
- version: Type.String()
56
+ name: Type.String()
34
57
  }),
35
- Configuration: Type.Object({
36
- Parameter: Type.Array(Parameter)
37
- }),
38
- Contents: Type.Object({
39
- Content: Type.Union([ManifestContent, Type.Array(ManifestContent)])
40
- })
41
- })
58
+ Permissions: Type.Optional(Type.Union([Permission, Type.Array(Permission)]))
59
+ }))
42
60
  });
61
+ export const Manifest = Type.Object({ MissionPackageManifest });
43
62
  const checkManifest = (new AJV({
63
+ strict: false,
64
+ useDefaults: true,
44
65
  allErrors: true,
45
66
  coerceTypes: true,
46
67
  allowUnionTypes: true
@@ -60,6 +81,7 @@ export class DataPackage {
60
81
  version;
61
82
  contents;
62
83
  settings;
84
+ unknown;
63
85
  /**
64
86
  * @param uid Unique ID of the Data Package
65
87
  * @param name Human Readable name of the DataPackage
@@ -69,6 +91,7 @@ export class DataPackage {
69
91
  this.destroyed = false;
70
92
  fs.mkdirSync(this.path);
71
93
  this.version = '2';
94
+ this.unknown = {};
72
95
  this.settings = {
73
96
  uid: uid ?? randomUUID(),
74
97
  name: name ?? 'New Data Package'
@@ -101,7 +124,8 @@ export class DataPackage {
101
124
  },
102
125
  Contents: {
103
126
  Content: this.contents
104
- }
127
+ },
128
+ ...this.unknown
105
129
  }
106
130
  };
107
131
  for (const key in this.settings) {
@@ -114,6 +138,13 @@ export class DataPackage {
114
138
  const xml = `<?xml version="1.0" encoding="UTF-8"?>\n${xmljs.js2xml(manifest, { compact: true })}`;
115
139
  return xml;
116
140
  }
141
+ /**
142
+ * Mission Sync archived are returned in DataPackage format
143
+ * Return true if the DataPackage is a MissionSync Archive
144
+ */
145
+ isMissionArchive() {
146
+ return !!(this.settings.mission_guid && this.settings.mission_name);
147
+ }
117
148
  /**
118
149
  * When DataPackages are uploaded to TAK Server they generally use an EUD
119
150
  * calculated Hash
@@ -166,7 +197,7 @@ export class DataPackage {
166
197
  if (Array.isArray(manifest.MissionPackageManifest.Contents.Content)) {
167
198
  pkg.contents = manifest.MissionPackageManifest.Contents.Content;
168
199
  }
169
- else {
200
+ else if (manifest.MissionPackageManifest.Contents.Content) {
170
201
  pkg.contents = [manifest.MissionPackageManifest.Contents.Content];
171
202
  }
172
203
  for (const param of manifest.MissionPackageManifest.Configuration.Parameter) {
@@ -177,6 +208,12 @@ export class DataPackage {
177
208
  pkg.settings[param._attributes.name] = param._attributes.value;
178
209
  }
179
210
  }
211
+ for (const [key, value] of Object.entries(manifest.MissionPackageManifest)) {
212
+ // Top level properties that are encoded in the class
213
+ if (['_attributes', 'Contents', 'Configuration'].includes(key))
214
+ continue;
215
+ pkg.unknown[key] = value;
216
+ }
180
217
  }
181
218
  else {
182
219
  pkg.settings.name = path.parse(input).name;
@@ -222,6 +259,8 @@ export class DataPackage {
222
259
  const cotsMap = new Map();
223
260
  const cots = [];
224
261
  for (const content of this.contents) {
262
+ if (!content)
263
+ continue;
225
264
  if (path.parse(content._attributes.zipEntry).ext !== '.cot')
226
265
  continue;
227
266
  if (opts.respectIgnore && content._attributes.ignore)
@@ -262,6 +301,8 @@ export class DataPackage {
262
301
  #attachments(cots, opts = { respectIgnore: true }) {
263
302
  const attachments = new Map();
264
303
  for (const content of this.contents) {
304
+ if (!content)
305
+ continue;
265
306
  if (path.parse(content._attributes.zipEntry).ext === '.cot')
266
307
  continue;
267
308
  if (opts.respectIgnore && content._attributes.ignore)
@@ -296,6 +337,8 @@ export class DataPackage {
296
337
  }
297
338
  }
298
339
  for (const content of this.contents) {
340
+ if (!content)
341
+ continue;
299
342
  if (path.parse(content._attributes.zipEntry).ext === '.cot')
300
343
  continue;
301
344
  if (opts.respectIgnore && content._attributes.ignore)
@@ -1 +1 @@
1
- {"version":3,"file":"data-package.js","sourceRoot":"","sources":["../../lib/data-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,SAAS,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;KACvB,CAAC;CACL,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;QACrB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;QACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;KAC1B,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;CAC5D,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;SACzB,CAAC;QACF,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SACnC,CAAC;QACF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;SACtE,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,CAAC;IAC3B,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;CACxB,CAAC,CAAC;KACE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,OAAO,WAAW;IACpB,IAAI,CAAS;IACb,SAAS,CAAU;IACnB,OAAO,CAAS;IAChB,QAAQ,CAAwC;IAChD,QAAQ,CAOP;IAED;;;MAGE;IACF,YAAY,GAAY,EAAE,IAAa;QACnC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,UAAU,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG;YACZ,GAAG,EAAE,GAAG,IAAI,UAAU,EAAE;YACxB,IAAI,EAAE,IAAI,IAAI,kBAAkB;SACnC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,YAAY;QACR,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,YAAY;QACR,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,MAAM,QAAQ,GAA4B;YACtC,sBAAsB,EAAE;gBACpB,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;gBACtC,aAAa,EAAE;oBACX,SAAS,EAAE,EAAE;iBAChB;gBACD,QAAQ,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,QAAQ;iBACzB;aACJ;SACJ,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAClC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC;gBACzD,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;aAChE,CAAC,CAAA;QACN,CAAC;QAED,MAAM,GAAG,GAAG,2CAA2C,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAEnG,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,KAAa;QACpB,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;IAC/D,CAAC;IAGD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAmB,EAAE,IAEvC;QACG,KAAK,GAAG,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1E,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAElD,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAE9B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC;YAC5B,IAAI,EAAE,KAAK;YACX,uBAAuB,EAAE,IAAI;SAChC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,gDAAgD,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;QAE5C,IAAI,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,4BAA4B,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAEhH,aAAa,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,aAAa,CAAC,MAAM;gBAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;YACnI,MAAM,QAAQ,GAAG,GAA8B,CAAC;YAEhD,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,OAAO,CAAC;YAElE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,QAAQ,GAAG,CAAE,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAE,CAAC;YACxE,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC1E,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACzH,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;gBACnE,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,GAAG,CAAC,YAAY,EAAE,CAAC;YAEnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpD,IAAI,KAAK,CAAC,WAAW;oBAAE,SAAS;gBAChC,GAAG,CAAC,WAAW,CACX,GAAG,EACH,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CACtB,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,GAAW,EAAE,IAAa,EAAE,MAAM,GAAG,KAAK;QACpE,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;QAE3G,6DAA6D;QAC7D,8CAA8C;QAC9C,4CAA4C;QAE5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;YACzC,SAAS,EAAE,CAAC;oBACR,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;iBAC3C,EAAC;oBACE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;iBAC1E,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG;QACd,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;KACzB;QACG,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;QAE3G,MAAM,OAAO,GAAqB,IAAI,GAAG,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAU,EAAE,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,MAAM;gBAAE,SAAS;YACtE,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM;gBAAE,SAAS;YAE/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE5F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YAE5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;aACpC,CAAC,CAAC;YAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBACxB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;gBAC9B,CAAC;gBAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAExB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;wBACxC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG;4BACnC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;yBAChC,CAAC;oBACN,CAAC;oBAED,MAAM,MAAM,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;oBAE5F,4EAA4E;oBAC5E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAE1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACrB,CAAC;oBAED,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAErF,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,IAAsB,EAAE,IAAI,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;QAC/D,MAAM,WAAW,GAAuD,IAAI,GAAG,EAAE,CAAC;QAElF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,MAAM;gBAAE,SAAS;YACtE,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM;gBAAE,SAAS;YAE/D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE1F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,QAAQ,EAAE,CAAC;wBACX,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACJ,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;oBACxD,CAAC;oBACD,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;QACtC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;QAErC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACtD,CAAC;QACL,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,MAAM;gBAAE,SAAS;YACtE,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM;gBAAE,SAAS;YAE/D,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,SAAS;YACb,CAAC;YAED,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;QAC5C,MAAM,IAAI,GAAqB,IAAI,GAAG,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC;YAC9B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,KAAK;SAC1B,CAAC,EAAE,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;QAE3G,IAAI,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACrH,CAAC;QAED,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY;QACtB,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;QAE3G,IAAI,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACrH,CAAC;QAED,OAAO,EAAE,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,IAAgC,EAAE,IAK/C;QACG,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;QAC3G,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAErC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAQ,EAAE,OAEnB;QACA,MAAM,EAAE,KAAK;KAChB;QACG,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;QAE3G,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5I,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/H,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,4DAA4D,CAAC,CAAC;QAE3G,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,4BAA4B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAA;YAC5E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,EAAE,CAAA;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"data-package.js","sourceRoot":"","sources":["../../lib/data-package.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/node-cot",
3
3
  "type": "module",
4
- "version": "12.20.0",
4
+ "version": "12.21.0",
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",
@@ -1 +1 @@
1
- {"root":["../index.ts","../test/basemaps.test.ts","../test/chat.test.ts","../test/cot-fileshare.test.ts","../test/cot-itak.test.ts","../test/cot-mma.test.ts","../test/cot-polyline.test.ts","../test/cot-range-and-bearing.test.ts","../test/cot-routes.test.ts","../test/cot-types.test.ts","../test/cot-uas-tool.test.ts","../test/cot-video.test.ts","../test/cot_is.test.ts","../test/data-package.test.ts","../test/diff.test.ts","../test/flow-tags.test.ts","../test/force-delete.ts","../test/from_geojson.test.ts","../test/newlines.test.ts","../test/reversal-geojson.test.ts","../test/reversal-proto.test.ts","../test/stream.ts","../test/taskings-mission.test.ts","../test/util.test.ts","../test/validation.test.ts","../lib/chat.ts","../lib/cot.ts","../lib/data-package.ts","../lib/fileshare.ts","../lib/force-delete.ts","../lib/sensor.ts","../lib/xml-document.ts","../lib/xml/basemap.ts","../lib/xml/iconset.ts"],"version":"5.7.3"}
1
+ {"root":["../index.ts","../test/basemaps.test.ts","../test/chat.test.ts","../test/cot-fileshare.test.ts","../test/cot-itak.test.ts","../test/cot-mma.test.ts","../test/cot-polyline.test.ts","../test/cot-range-and-bearing.test.ts","../test/cot-routes.test.ts","../test/cot-types.test.ts","../test/cot-uas-tool.test.ts","../test/cot-video.test.ts","../test/cot_is.test.ts","../test/diff.test.ts","../test/flow-tags.test.ts","../test/force-delete.ts","../test/from_geojson.test.ts","../test/newlines.test.ts","../test/package.test.ts","../test/reversal-geojson.test.ts","../test/reversal-proto.test.ts","../test/stream.ts","../test/taskings-mission.test.ts","../test/util.test.ts","../test/validation.test.ts","../lib/chat.ts","../lib/cot.ts","../lib/data-package.ts","../lib/fileshare.ts","../lib/force-delete.ts","../lib/sensor.ts","../lib/xml-document.ts","../lib/xml/basemap.ts","../lib/xml/iconset.ts"],"version":"5.7.3"}
@@ -19,7 +19,7 @@ import AJV from 'ajv';
19
19
  export const Parameter = Type.Object({
20
20
  _attributes: Type.Object({
21
21
  name: Type.String(),
22
- value: Type.String()
22
+ value: Type.String({ default: '' })
23
23
  })
24
24
  })
25
25
 
@@ -31,21 +31,46 @@ export const ManifestContent = Type.Object({
31
31
  Parameter: Type.Union([Parameter, Type.Array(Parameter)])
32
32
  })
33
33
 
34
- export const Manifest = Type.Object({
35
- MissionPackageManifest: Type.Object({
34
+ export const Group = Type.Object({
35
+ _attributes: Type.Object({
36
+ name: Type.String(),
37
+ }),
38
+ })
39
+
40
+ export const Permission = Type.Object({
41
+ _attributes: Type.Object({
42
+ name: Type.String(),
43
+ }),
44
+ })
45
+
46
+ const MissionPackageManifest = Type.Object({
47
+ _attributes: Type.Object({
48
+ version: Type.String()
49
+ }),
50
+ Configuration: Type.Object({
51
+ Parameter: Type.Array(Parameter)
52
+ }),
53
+ Contents: Type.Object({
54
+ Content: Type.Optional(Type.Union([ManifestContent, Type.Array(ManifestContent)]))
55
+ }),
56
+
57
+ // Used in MissionArchive Exports
58
+ Groups: Type.Optional(Type.Object({
59
+ group: Type.Optional(Type.Union([Group, Type.Array(Group)]))
60
+ })),
61
+ Role: Type.Optional(Type.Object({
36
62
  _attributes: Type.Object({
37
- version: Type.String()
63
+ name: Type.String()
38
64
  }),
39
- Configuration: Type.Object({
40
- Parameter: Type.Array(Parameter)
41
- }),
42
- Contents: Type.Object({
43
- Content: Type.Union([ManifestContent, Type.Array(ManifestContent)])
44
- })
45
- })
65
+ Permissions: Type.Optional(Type.Union([Permission, Type.Array(Permission)]))
66
+ }))
46
67
  });
47
68
 
69
+ export const Manifest = Type.Object({ MissionPackageManifest });
70
+
48
71
  const checkManifest = (new AJV({
72
+ strict: false,
73
+ useDefaults: true,
49
74
  allErrors: true,
50
75
  coerceTypes: true,
51
76
  allowUnionTypes: true
@@ -74,6 +99,8 @@ export class DataPackage {
74
99
  [k: string]: boolean | string | undefined;
75
100
  }
76
101
 
102
+ unknown: Record<string, unknown>;
103
+
77
104
  /**
78
105
  * @param uid Unique ID of the Data Package
79
106
  * @param name Human Readable name of the DataPackage
@@ -83,6 +110,7 @@ export class DataPackage {
83
110
  this.destroyed = false;
84
111
  fs.mkdirSync(this.path);
85
112
  this.version = '2';
113
+ this.unknown = {};
86
114
  this.settings = {
87
115
  uid: uid ?? randomUUID(),
88
116
  name: name ?? 'New Data Package'
@@ -118,7 +146,8 @@ export class DataPackage {
118
146
  },
119
147
  Contents: {
120
148
  Content: this.contents
121
- }
149
+ },
150
+ ...this.unknown
122
151
  }
123
152
  };
124
153
 
@@ -134,6 +163,14 @@ export class DataPackage {
134
163
  return xml;
135
164
  }
136
165
 
166
+ /**
167
+ * Mission Sync archived are returned in DataPackage format
168
+ * Return true if the DataPackage is a MissionSync Archive
169
+ */
170
+ isMissionArchive(): boolean {
171
+ return !!(this.settings.mission_guid && this.settings.mission_name);
172
+ }
173
+
137
174
  /**
138
175
  * When DataPackages are uploaded to TAK Server they generally use an EUD
139
176
  * calculated Hash
@@ -197,7 +234,7 @@ export class DataPackage {
197
234
 
198
235
  if (Array.isArray(manifest.MissionPackageManifest.Contents.Content)) {
199
236
  pkg.contents = manifest.MissionPackageManifest.Contents.Content;
200
- } else {
237
+ } else if (manifest.MissionPackageManifest.Contents.Content) {
201
238
  pkg.contents = [ manifest.MissionPackageManifest.Contents.Content ];
202
239
  }
203
240
 
@@ -208,6 +245,12 @@ export class DataPackage {
208
245
  pkg.settings[param._attributes.name] = param._attributes.value;
209
246
  }
210
247
  }
248
+
249
+ for (const [key, value] of Object.entries(manifest.MissionPackageManifest)) {
250
+ // Top level properties that are encoded in the class
251
+ if (['_attributes', 'Contents', 'Configuration'].includes(key)) continue;
252
+ pkg.unknown[key] = value;
253
+ }
211
254
  } else {
212
255
  pkg.settings.name = path.parse(input).name;
213
256
  pkg.settings.uid = await this.hash(input);
@@ -260,6 +303,8 @@ export class DataPackage {
260
303
 
261
304
  const cots: CoT[] = [];
262
305
  for (const content of this.contents) {
306
+ if (!content) continue;
307
+
263
308
  if (path.parse(content._attributes.zipEntry).ext !== '.cot') continue;
264
309
  if (opts.respectIgnore && content._attributes.ignore) continue;
265
310
 
@@ -312,6 +357,8 @@ export class DataPackage {
312
357
  const attachments: Map<string, Array<Static<typeof ManifestContent>>> = new Map();
313
358
 
314
359
  for (const content of this.contents) {
360
+ if (!content) continue;
361
+
315
362
  if (path.parse(content._attributes.zipEntry).ext === '.cot') continue;
316
363
  if (opts.respectIgnore && content._attributes.ignore) continue;
317
364
 
@@ -349,6 +396,7 @@ export class DataPackage {
349
396
  }
350
397
 
351
398
  for (const content of this.contents) {
399
+ if (!content) continue;
352
400
  if (path.parse(content._attributes.zipEntry).ext === '.cot') continue;
353
401
  if (opts.respectIgnore && content._attributes.ignore) continue;
354
402
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/node-cot",
3
3
  "type": "module",
4
- "version": "12.20.0",
4
+ "version": "12.21.0",
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",