@tak-ps/node-cot 6.2.2 → 6.3.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.
@@ -1,32 +1,37 @@
1
1
  name: NPM Release
2
2
 
3
3
  on:
4
- push:
5
- tags:
6
- - '*'
4
+ push:
5
+ tags:
6
+ - '*'
7
7
 
8
8
  jobs:
9
- build:
10
- runs-on: ubuntu-latest
11
- steps:
12
- - uses: actions/checkout@v3
13
-
14
- - name: Get tag
15
- id: tag
16
- uses: dawidd6/action-get-tag@v1
17
-
18
- - uses: actions/setup-node@v3
19
- with:
20
- node-version: 18
21
- registry-url: https://registry.npmjs.org/
22
-
23
- - name: npm install
24
- run: npm install
25
-
26
- - name: npm run build
27
- run: npm run build
28
-
29
- - name: npm publish
30
- run: npm publish
31
- env:
32
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+
14
+ - name: Get tag
15
+ id: tag
16
+ uses: dawidd6/action-get-tag@v1
17
+
18
+ - uses: actions/setup-node@v3
19
+ with:
20
+ node-version: 18
21
+ registry-url: https://registry.npmjs.org/
22
+
23
+ - name: npm install
24
+ run: npm install
25
+
26
+ - name: npm run build
27
+ run: npm run build
28
+
29
+ - name: npm publish
30
+ run: npm publish
31
+ env:
32
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
33
+
34
+ - name: Github Release
35
+ uses: softprops/action-gh-release@v2
36
+
37
+
package/CHANGELOG.md CHANGED
@@ -10,6 +10,22 @@
10
10
 
11
11
  ## Version History
12
12
 
13
+ ### v6.3.3
14
+
15
+ - :white_check_mark: Update GH Release action
16
+
17
+ ### v6.3.2
18
+
19
+ - :white_check_mark: Update GH Release action
20
+
21
+ ### v6.3.1
22
+
23
+ - :white_check_mark: Update iTAK CoT tests
24
+
25
+ ### v6.3.0
26
+
27
+ - :white_check_mark: Add basic unit tests for diff mode
28
+
13
29
  ### v6.2.2
14
30
 
15
31
  - :bug: Explicit array check to keep tsc happy
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/node-cot",
3
3
  "type": "module",
4
- "version": "6.2.2",
4
+ "version": "6.3.3",
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",
@@ -64,6 +64,7 @@ test('Decode iTAK COT message', (t) => {
64
64
  "phone": "7204258729",
65
65
  "endpoint": "*:-1:stcp"
66
66
  },
67
+ metadata: {},
67
68
  group: {
68
69
  name: 'Yellow',
69
70
  role: 'Team Member'
@@ -1 +1 @@
1
- {"version":3,"file":"cot-itak.test.js","sourceRoot":"","sources":["../../test/cot-itak.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cot-itak.test.js","sourceRoot":"","sources":["../../test/cot-itak.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import test from 'tape';
2
+ import CoT from '../index.js';
3
+ test('CoT.diff - no diff - ignored date & meta', (t) => {
4
+ const a = CoT.from_geojson({
5
+ id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
6
+ type: 'Feature',
7
+ properties: {
8
+ callsign: 'DFPC-iSchmidt',
9
+ time: '2023-07-18T15:23:09.00Z',
10
+ start: '2023-07-18T15:23:09.00Z',
11
+ stale: '2023-07-18T15:25:09.00Z',
12
+ metadata: {
13
+ test: true
14
+ }
15
+ },
16
+ geometry: {
17
+ type: 'Point',
18
+ coordinates: [-107.72376567, 41.52309645, 1681.23725821]
19
+ }
20
+ });
21
+ const b = CoT.from_geojson({
22
+ id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
23
+ type: 'Feature',
24
+ properties: {
25
+ callsign: 'DFPC-iSchmidt',
26
+ time: '2023-08-18T15:23:09.00Z',
27
+ start: '2023-08-18T15:23:09.00Z',
28
+ stale: '2023-08-18T15:25:09.00Z',
29
+ metadata: {
30
+ test: false
31
+ }
32
+ },
33
+ geometry: {
34
+ type: 'Point',
35
+ coordinates: [-107.72376567, 41.52309645, 1681.23725821]
36
+ }
37
+ });
38
+ t.equals(a.isDiff(b), false);
39
+ t.end();
40
+ });
41
+ test('CoT.diff - simple diff', (t) => {
42
+ const a = CoT.from_geojson({
43
+ id: 'D94B9215-9BD4-4DBE-BDE1-83625F09153F',
44
+ type: 'Feature',
45
+ properties: {
46
+ callsign: 'DFPC-iSchmidt',
47
+ time: '2023-07-18T15:23:09.00Z',
48
+ start: '2023-07-18T15:23:09.00Z',
49
+ stale: '2023-07-18T15:25:09.00Z',
50
+ },
51
+ geometry: {
52
+ type: 'Point',
53
+ coordinates: [-107.72376567, 41.52309645, 1681.23725821]
54
+ }
55
+ });
56
+ const b = CoT.from_geojson({
57
+ id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
58
+ type: 'Feature',
59
+ properties: {
60
+ callsign: 'DFPC-iSchmidt',
61
+ time: '2023-07-18T15:23:09.00Z',
62
+ start: '2023-07-18T15:23:09.00Z',
63
+ stale: '2023-07-18T15:25:09.00Z',
64
+ },
65
+ geometry: {
66
+ type: 'Point',
67
+ coordinates: [-107.72376567, 41.52309645, 1681.23725821]
68
+ }
69
+ });
70
+ t.equals(a.isDiff(b), true);
71
+ t.end();
72
+ });
73
+ //# sourceMappingURL=diff.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.test.js","sourceRoot":"","sources":["../../test/diff.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,aAAa,CAAC;AAE9B,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,EAAE,EAAE;IACnD,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;QACvB,EAAE,EAAE,sCAAsC;QAC1C,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE;gBACN,IAAI,EAAE,IAAI;aACb;SACJ;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAE;SAC7D;KACJ,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;QACvB,EAAE,EAAE,sCAAsC;QAC1C,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE;gBACN,IAAI,EAAE,KAAK;aACd;SACJ;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAE;SAC7D;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAE7B,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;QACvB,EAAE,EAAE,sCAAsC;QAC1C,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,yBAAyB;SACnC;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAE;SAC7D;KACJ,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;QACvB,EAAE,EAAE,sCAAsC;QAC1C,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,yBAAyB;SACnC;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAE;SAC7D;KACJ,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAE5B,CAAC,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/node-cot",
3
3
  "type": "module",
4
- "version": "6.2.2",
4
+ "version": "6.3.3",
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",
@@ -68,6 +68,7 @@ test('Decode iTAK COT message', (t) => {
68
68
  "phone": "7204258729",
69
69
  "endpoint": "*:-1:stcp"
70
70
  },
71
+ metadata: {},
71
72
  group: {
72
73
  name: 'Yellow',
73
74
  role: 'Team Member'
@@ -0,0 +1,80 @@
1
+ import test from 'tape';
2
+ import CoT from '../index.js';
3
+
4
+ test('CoT.diff - no diff - ignored date & meta', (t) => {
5
+ const a = CoT.from_geojson({
6
+ id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
7
+ type: 'Feature',
8
+ properties: {
9
+ callsign: 'DFPC-iSchmidt',
10
+ time: '2023-07-18T15:23:09.00Z',
11
+ start: '2023-07-18T15:23:09.00Z',
12
+ stale: '2023-07-18T15:25:09.00Z',
13
+ metadata: {
14
+ test: true
15
+ }
16
+ },
17
+ geometry: {
18
+ type: 'Point',
19
+ coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
20
+ }
21
+ });
22
+
23
+ const b = CoT.from_geojson({
24
+ id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
25
+ type: 'Feature',
26
+ properties: {
27
+ callsign: 'DFPC-iSchmidt',
28
+ time: '2023-08-18T15:23:09.00Z',
29
+ start: '2023-08-18T15:23:09.00Z',
30
+ stale: '2023-08-18T15:25:09.00Z',
31
+ metadata: {
32
+ test: false
33
+ }
34
+ },
35
+ geometry: {
36
+ type: 'Point',
37
+ coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
38
+ }
39
+ });
40
+
41
+ t.equals(a.isDiff(b), false);
42
+
43
+ t.end();
44
+ });
45
+
46
+ test('CoT.diff - simple diff', (t) => {
47
+ const a = CoT.from_geojson({
48
+ id: 'D94B9215-9BD4-4DBE-BDE1-83625F09153F',
49
+ type: 'Feature',
50
+ properties: {
51
+ callsign: 'DFPC-iSchmidt',
52
+ time: '2023-07-18T15:23:09.00Z',
53
+ start: '2023-07-18T15:23:09.00Z',
54
+ stale: '2023-07-18T15:25:09.00Z',
55
+ },
56
+ geometry: {
57
+ type: 'Point',
58
+ coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
59
+ }
60
+ });
61
+
62
+ const b = CoT.from_geojson({
63
+ id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
64
+ type: 'Feature',
65
+ properties: {
66
+ callsign: 'DFPC-iSchmidt',
67
+ time: '2023-07-18T15:23:09.00Z',
68
+ start: '2023-07-18T15:23:09.00Z',
69
+ stale: '2023-07-18T15:25:09.00Z',
70
+ },
71
+ geometry: {
72
+ type: 'Point',
73
+ coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
74
+ }
75
+ });
76
+
77
+ t.equals(a.isDiff(b), true);
78
+
79
+ t.end();
80
+ });