milsymbol-sidc 0.1.1 → 0.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/README.md +56 -26
- package/dist/src/enums.d.ts +18 -6
- package/dist/src/enums.d.ts.map +1 -1
- package/dist/src/enums.js +17 -6
- package/dist/src/enums.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/sidc.d.ts +14 -1
- package/dist/src/sidc.d.ts.map +1 -1
- package/dist/src/sidc.js +27 -3
- package/dist/src/sidc.js.map +1 -1
- package/dist/src/validate.d.ts +7 -0
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +46 -12
- package/dist/src/validate.js.map +1 -1
- package/dist/test/sidc.test.js +103 -18
- package/dist/test/sidc.test.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,6 +50,7 @@ The package ships ESM with bundled TypeScript declarations (`dist/`).
|
|
|
50
50
|
import {
|
|
51
51
|
Sidc,
|
|
52
52
|
Context,
|
|
53
|
+
Standard,
|
|
53
54
|
StandardIdentity,
|
|
54
55
|
SymbolSet,
|
|
55
56
|
Status,
|
|
@@ -72,11 +73,11 @@ The builder is **immutable**: each setter returns a new instance, so a base
|
|
|
72
73
|
configuration can be safely reused:
|
|
73
74
|
|
|
74
75
|
```ts
|
|
75
|
-
const base = new Sidc(
|
|
76
|
+
const base = new Sidc({ standard: Standard.App6 });
|
|
76
77
|
|
|
77
78
|
const friendly = base.identity(StandardIdentity.Friend).toString();
|
|
78
79
|
const hostile = base.identity(StandardIdentity.SuspectJoker).toString();
|
|
79
|
-
// base itself is unchanged
|
|
80
|
+
// base itself is unchanged; both derived SIDCs use APP-6 E (version "14")
|
|
80
81
|
```
|
|
81
82
|
|
|
82
83
|
## Anatomy of the generated SIDC
|
|
@@ -105,11 +106,13 @@ const hostile = base.identity(StandardIdentity.SuspectJoker).toString();
|
|
|
105
106
|
### `new Sidc(options?)`
|
|
106
107
|
|
|
107
108
|
Creates a builder preconfigured to 2525E / Reality / Unknown / Unknown set /
|
|
108
|
-
Present.
|
|
109
|
+
Present. This remains the default for backward compatibility; configure
|
|
110
|
+
`Standard.App6` to default to APP-6 E instead.
|
|
109
111
|
|
|
110
112
|
| Option | Type | Default | Description |
|
|
111
113
|
| ------ | ---- | ------- | ----------- |
|
|
112
114
|
| `strict` | `boolean` | `false` | Throw on invalid field combinations during `toString()` instead of warning. Invalid values always throw immediately regardless of this flag. |
|
|
115
|
+
| `standard` | `Standard` | Not configured (2525E behavior) | Select a standard family. `App6` defaults the version to APP-6 E (`"14"`); `MilStd2525` defaults it to MIL-STD-2525E (`"13"`). Explicit configuration also checks that later version choices belong to the selected family. |
|
|
113
116
|
|
|
114
117
|
### Methods
|
|
115
118
|
|
|
@@ -117,6 +120,7 @@ All setters validate their argument and return a new immutable `Sidc`.
|
|
|
117
120
|
|
|
118
121
|
| Method | Field | Accepts |
|
|
119
122
|
| ------ | ----- | ------- |
|
|
123
|
+
| `standard(s)` | Version default + validation rules | A `Standard` constant. It retains a compatible current version; otherwise it selects that family's latest edition. |
|
|
120
124
|
| `version(v)` | Positions 1–2 | A `Version` constant or any two-digit string (escape hatch for future editions) |
|
|
121
125
|
| `context(c)` | Position 3 | A `Context` constant |
|
|
122
126
|
| `identity(i)` | Position 4 | A `StandardIdentity` constant |
|
|
@@ -126,6 +130,16 @@ All setters validate their argument and return a new immutable `Sidc`.
|
|
|
126
130
|
|
|
127
131
|
### Enum reference
|
|
128
132
|
|
|
133
|
+
#### `Standard`
|
|
134
|
+
|
|
135
|
+
Values match milsymbol's `standard` option and `ms.setStandard()` API, so the
|
|
136
|
+
same constant can configure both libraries.
|
|
137
|
+
|
|
138
|
+
| Constant | Value | Standard family |
|
|
139
|
+
| -------- | ----- | --------------- |
|
|
140
|
+
| `MilStd2525` | `"2525"` | US MIL-STD-2525 (**default behavior when omitted**) |
|
|
141
|
+
| `App6` | `"APP6"` | NATO APP-6 |
|
|
142
|
+
|
|
129
143
|
#### `Version`
|
|
130
144
|
|
|
131
145
|
| Constant | Code | Standard |
|
|
@@ -152,8 +166,8 @@ All setters validate their argument and return a new immutable `Sidc`.
|
|
|
152
166
|
| `AssumedFriend` | `"2"` | Blue frame, dashed |
|
|
153
167
|
| `Friend` | `"3"` | Blue frame |
|
|
154
168
|
| `Neutral` | `"4"` | Green frame |
|
|
155
|
-
| `SuspectJoker` | `"5"` | Red frame, dashed
|
|
156
|
-
| `
|
|
169
|
+
| `SuspectJoker` | `"5"` | Red frame, dashed — **Suspect** in reality, **Joker** in exercises |
|
|
170
|
+
| `HostileFaker` | `"6"` | Red frame — **Hostile** in reality, **Faker** in exercises |
|
|
157
171
|
|
|
158
172
|
#### `SymbolSet`
|
|
159
173
|
|
|
@@ -210,42 +224,49 @@ Two layers of validation run at different times:
|
|
|
210
224
|
|
|
211
225
|
Active combination rules:
|
|
212
226
|
|
|
213
|
-
- Faker identities require exercise context (`SuspectJoker` is a valid
|
|
214
|
-
real-world identity — it renders the dashed suspect-hostile frame).
|
|
215
227
|
- Condition statuses (fully capable … full to capacity) do not apply to
|
|
216
228
|
control measures.
|
|
217
229
|
- Exercise symbols on the unknown symbol set lose their affiliation unless the
|
|
218
230
|
identity is pending/unknown.
|
|
219
231
|
- Symbol set 27 is unsupported in MIL-STD-2525D; symbol set 60 is unsupported
|
|
220
232
|
in APP-6 D.
|
|
233
|
+
- When a `Standard` is explicitly configured, official version codes from the
|
|
234
|
+
other standard family are reported.
|
|
221
235
|
- Raw version/symbol-set codes outside milsymbol's known tables are reported.
|
|
222
236
|
|
|
223
237
|
```ts
|
|
224
|
-
import { Sidc, SidcValidationError, SidcCombinationError, Context, StandardIdentity } from "milsymbol-sidc";
|
|
238
|
+
import { Sidc, SidcValidationError, SidcCombinationError, Context, StandardIdentity, SymbolSet, Status } from "milsymbol-sidc";
|
|
225
239
|
|
|
226
240
|
// Throws immediately: "9" is not a valid identity code.
|
|
227
241
|
new Sidc().identity("9" as never); // SidcValidationError
|
|
228
242
|
|
|
229
|
-
//
|
|
230
|
-
new Sidc()
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
strict.toString(); // SidcCombinationError
|
|
243
|
+
// Suspect/Joker and Hostile/Faker are dual-use: valid in reality AND exercise.
|
|
244
|
+
new Sidc({ strict: true })
|
|
245
|
+
.identity(StandardIdentity.SuspectJoker) // Suspect in reality, Joker in exercises
|
|
246
|
+
.symbolSet(SymbolSet.LandUnit)
|
|
247
|
+
.toString(); // "13051000000000000000", no warnings
|
|
235
248
|
|
|
236
|
-
// Correct usage: faker inside an exercise.
|
|
237
249
|
new Sidc({ strict: true })
|
|
238
250
|
.context(Context.Exercise)
|
|
239
|
-
.identity(StandardIdentity.Faker
|
|
251
|
+
.identity(StandardIdentity.HostileFaker) // Faker in exercises
|
|
240
252
|
.symbolSet(SymbolSet.LandUnit)
|
|
241
253
|
.toString(); // "13161000000000000000", no warnings
|
|
242
254
|
|
|
255
|
+
// A real combination problem: condition status on a control measure.
|
|
256
|
+
new Sidc({ strict: true })
|
|
257
|
+
.symbolSet(SymbolSet.ControlMeasure)
|
|
258
|
+
.status(Status.Destroyed)
|
|
259
|
+
.toString(); // SidcCombinationError
|
|
260
|
+
|
|
243
261
|
// Capturing warnings programmatically (e.g. in tests):
|
|
244
262
|
const warnings: string[] = [];
|
|
245
263
|
const originalWarn = console.warn;
|
|
246
264
|
console.warn = (message: string) => warnings.push(message);
|
|
247
265
|
try {
|
|
248
|
-
new Sidc()
|
|
266
|
+
new Sidc()
|
|
267
|
+
.symbolSet(SymbolSet.ControlMeasure)
|
|
268
|
+
.status(Status.Destroyed)
|
|
269
|
+
.toString();
|
|
249
270
|
} finally {
|
|
250
271
|
console.warn = originalWarn;
|
|
251
272
|
}
|
|
@@ -263,12 +284,13 @@ parser, so codes from this package work without any configuration. The
|
|
|
263
284
|
### Node.js (ESM)
|
|
264
285
|
|
|
265
286
|
```js
|
|
266
|
-
import ms from "milsymbol"; // bundles all standards
|
|
267
|
-
import { Sidc, StandardIdentity, SymbolSet } from "milsymbol-sidc";
|
|
287
|
+
import ms from "milsymbol"; // bundles all numeric standards
|
|
288
|
+
import { Sidc, Standard, StandardIdentity, SymbolSet } from "milsymbol-sidc";
|
|
268
289
|
|
|
269
|
-
|
|
290
|
+
const standard = Standard.App6;
|
|
291
|
+
ms.setStandard(standard); // "APP6": use NATO styling
|
|
270
292
|
|
|
271
|
-
const sidc = new Sidc()
|
|
293
|
+
const sidc = new Sidc({ standard }) // defaults to APP-6 E (version "14")
|
|
272
294
|
.identity(StandardIdentity.Friend)
|
|
273
295
|
.symbolSet(SymbolSet.LandUnit)
|
|
274
296
|
.toString();
|
|
@@ -292,14 +314,16 @@ const ms = require("milsymbol");
|
|
|
292
314
|
```html
|
|
293
315
|
<script src="https://unpkg.com/milsymbol@3/dist/milsymbol.js"></script>
|
|
294
316
|
<script type="module">
|
|
295
|
-
import { Sidc, StandardIdentity, SymbolSet } from "https://unpkg.com/milsymbol-sidc/dist/src/index.js";
|
|
317
|
+
import { Sidc, Standard, StandardIdentity, SymbolSet } from "https://unpkg.com/milsymbol-sidc/dist/src/index.js";
|
|
296
318
|
|
|
297
|
-
const sidc = new Sidc()
|
|
319
|
+
const sidc = new Sidc({ standard: Standard.App6 })
|
|
298
320
|
.identity(StandardIdentity.Neutral)
|
|
299
321
|
.symbolSet(SymbolSet.SeaSurface)
|
|
300
322
|
.toString();
|
|
301
323
|
|
|
302
|
-
document.body.innerHTML = new ms.Symbol(sidc
|
|
324
|
+
document.body.innerHTML = new ms.Symbol(sidc, {
|
|
325
|
+
standard: Standard.App6,
|
|
326
|
+
}).asSVG();
|
|
303
327
|
</script>
|
|
304
328
|
```
|
|
305
329
|
|
|
@@ -328,12 +352,18 @@ new Sidc()
|
|
|
328
352
|
.toString(); // "13033640000000000000"
|
|
329
353
|
|
|
330
354
|
// Exercise joker submarine under APP-6E
|
|
331
|
-
new Sidc({ strict: true })
|
|
332
|
-
.version("14")
|
|
355
|
+
new Sidc({ standard: Standard.App6, strict: true })
|
|
333
356
|
.context(Context.Exercise)
|
|
334
357
|
.identity(StandardIdentity.SuspectJoker)
|
|
335
358
|
.symbolSet(SymbolSet.SeaSubsurface)
|
|
336
359
|
.toString(); // "14153500000000000000"
|
|
360
|
+
|
|
361
|
+
// APP-6 D configuration retains an explicitly selected compatible edition
|
|
362
|
+
new Sidc({ standard: Standard.App6, strict: true })
|
|
363
|
+
.version(Version.App6D)
|
|
364
|
+
.identity(StandardIdentity.Friend)
|
|
365
|
+
.symbolSet(SymbolSet.LandDismountedIndividual)
|
|
366
|
+
.toString(); // "11032700000000000000"
|
|
337
367
|
```
|
|
338
368
|
|
|
339
369
|
## Development
|
package/dist/src/enums.d.ts
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* (MIL-STD-2525D/E and APP-6 D/E coding structure).
|
|
2
|
+
* Configuration values and field codes for positions 1-7 of the 20-character
|
|
3
|
+
* numeric SIDC (MIL-STD-2525D/E and APP-6 D/E coding structure).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* SIDC field values are the literal digit codes that appear in the string.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Symbol standard family.
|
|
9
|
+
*
|
|
10
|
+
* Values match milsymbol's `standard` option and `ms.setStandard()` API.
|
|
11
|
+
*/
|
|
12
|
+
export declare const Standard: {
|
|
13
|
+
/** US MIL-STD-2525 (the default standard family). */
|
|
14
|
+
readonly MilStd2525: "2525";
|
|
15
|
+
/** NATO APP-6. */
|
|
16
|
+
readonly App6: "APP6";
|
|
17
|
+
};
|
|
18
|
+
export type Standard = (typeof Standard)[keyof typeof Standard];
|
|
7
19
|
/** Positions 1-2: Version / standard edition. */
|
|
8
20
|
export declare const Version: {
|
|
9
21
|
/** MIL-STD-2525D (edition D) */
|
|
@@ -30,10 +42,10 @@ export declare const StandardIdentity: {
|
|
|
30
42
|
readonly AssumedFriend: "2";
|
|
31
43
|
readonly Friend: "3";
|
|
32
44
|
readonly Neutral: "4";
|
|
33
|
-
/**
|
|
45
|
+
/** Dual-use: Suspect (reality) / Joker (exercise). */
|
|
34
46
|
readonly SuspectJoker: "5";
|
|
35
|
-
/** Hostile
|
|
36
|
-
readonly
|
|
47
|
+
/** Dual-use: Hostile (reality) / Faker (exercise). */
|
|
48
|
+
readonly HostileFaker: "6";
|
|
37
49
|
};
|
|
38
50
|
export type StandardIdentity = (typeof StandardIdentity)[keyof typeof StandardIdentity];
|
|
39
51
|
/** Positions 5-6: Symbol set. Only sets supported by milsymbol are listed. */
|
package/dist/src/enums.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,eAAO,MAAM,OAAO;IAClB,gCAAgC;;IAEhC,sBAAsB;;IAEtB,8CAA8C;;IAE9C,sBAAsB;;CAEd,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE7D,2BAA2B;AAC3B,eAAO,MAAM,OAAO;;;;CAIV,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE7D,mDAAmD;AACnD,eAAO,MAAM,gBAAgB;;;;;;IAM3B,
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,QAAQ;IACnB,qDAAqD;;IAErD,kBAAkB;;CAEV,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,iDAAiD;AACjD,eAAO,MAAM,OAAO;IAClB,gCAAgC;;IAEhC,sBAAsB;;IAEtB,8CAA8C;;IAE9C,sBAAsB;;CAEd,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE7D,2BAA2B;AAC3B,eAAO,MAAM,OAAO;;;;CAIV,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE7D,mDAAmD;AACnD,eAAO,MAAM,gBAAgB;;;;;;IAM3B,sDAAsD;;IAEtD,sDAAsD;;CAE9C,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAExF,8EAA8E;AAC9E,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;CAsBZ,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEnE,sCAAsC;AACtC,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}
|
package/dist/src/enums.js
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* (MIL-STD-2525D/E and APP-6 D/E coding structure).
|
|
2
|
+
* Configuration values and field codes for positions 1-7 of the 20-character
|
|
3
|
+
* numeric SIDC (MIL-STD-2525D/E and APP-6 D/E coding structure).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* SIDC field values are the literal digit codes that appear in the string.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Symbol standard family.
|
|
9
|
+
*
|
|
10
|
+
* Values match milsymbol's `standard` option and `ms.setStandard()` API.
|
|
11
|
+
*/
|
|
12
|
+
export const Standard = {
|
|
13
|
+
/** US MIL-STD-2525 (the default standard family). */
|
|
14
|
+
MilStd2525: "2525",
|
|
15
|
+
/** NATO APP-6. */
|
|
16
|
+
App6: "APP6",
|
|
17
|
+
};
|
|
7
18
|
/** Positions 1-2: Version / standard edition. */
|
|
8
19
|
export const Version = {
|
|
9
20
|
/** MIL-STD-2525D (edition D) */
|
|
@@ -28,10 +39,10 @@ export const StandardIdentity = {
|
|
|
28
39
|
AssumedFriend: "2",
|
|
29
40
|
Friend: "3",
|
|
30
41
|
Neutral: "4",
|
|
31
|
-
/**
|
|
42
|
+
/** Dual-use: Suspect (reality) / Joker (exercise). */
|
|
32
43
|
SuspectJoker: "5",
|
|
33
|
-
/** Hostile
|
|
34
|
-
|
|
44
|
+
/** Dual-use: Hostile (reality) / Faker (exercise). */
|
|
45
|
+
HostileFaker: "6",
|
|
35
46
|
};
|
|
36
47
|
/** Positions 5-6: Symbol set. Only sets supported by milsymbol are listed. */
|
|
37
48
|
export const SymbolSet = {
|
package/dist/src/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,gCAAgC;IAChC,WAAW,EAAE,IAAI;IACjB,sBAAsB;IACtB,KAAK,EAAE,IAAI;IACX,8CAA8C;IAC9C,WAAW,EAAE,IAAI;IACjB,sBAAsB;IACtB,KAAK,EAAE,IAAI;CACH,CAAC;AAGX,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;CACP,CAAC;AAGX,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,qDAAqD;IACrD,UAAU,EAAE,MAAM;IAClB,kBAAkB;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,iDAAiD;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,gCAAgC;IAChC,WAAW,EAAE,IAAI;IACjB,sBAAsB;IACtB,KAAK,EAAE,IAAI;IACX,8CAA8C;IAC9C,WAAW,EAAE,IAAI;IACjB,sBAAsB;IACtB,KAAK,EAAE,IAAI;CACH,CAAC;AAGX,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;CACP,CAAC;AAGX,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,sDAAsD;IACtD,YAAY,EAAE,GAAG;IACjB,sDAAsD;IACtD,YAAY,EAAE,GAAG;CACT,CAAC;AAGX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,wBAAwB,EAAE,IAAI;IAC9B,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;IACd,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;IAC7B,6BAA6B,EAAE,IAAI;IACnC,6BAA6B,EAAE,IAAI;IACnC,UAAU,EAAE,IAAI;CACR,CAAC;AAGX,sCAAsC;AACtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,cAAc,EAAE,GAAG;CACX,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Context, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
1
|
+
export { Context, Standard, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
2
2
|
export { Sidc, type SidcOptions } from "./sidc.js";
|
|
3
3
|
export { SidcCombinationError, SidcError, SidcValidationError, } from "./validate.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Context, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
1
|
+
export { Context, Standard, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
2
2
|
export { Sidc } from "./sidc.js";
|
|
3
3
|
export { SidcCombinationError, SidcError, SidcValidationError, } from "./validate.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,IAAI,EAAoB,MAAM,WAAW,CAAC;AAEnD,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,IAAI,EAAoB,MAAM,WAAW,CAAC;AAEnD,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
package/dist/src/sidc.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context, StandardIdentity, Status, SymbolSet, Version } from "./enums.js";
|
|
1
|
+
import { Context, Standard, StandardIdentity, Status, SymbolSet, Version } from "./enums.js";
|
|
2
2
|
import { type SidcFields } from "./validate.js";
|
|
3
3
|
export interface SidcOptions {
|
|
4
4
|
/**
|
|
@@ -7,6 +7,12 @@ export interface SidcOptions {
|
|
|
7
7
|
* Invalid individual values always throw immediately.
|
|
8
8
|
*/
|
|
9
9
|
strict?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Configure a standard family. This selects its latest edition by default
|
|
12
|
+
* (APP-6 E or MIL-STD-2525E) and enables standard/version consistency checks.
|
|
13
|
+
* Omit this option to preserve the original MIL-STD-2525E behavior.
|
|
14
|
+
*/
|
|
15
|
+
standard?: Standard;
|
|
10
16
|
}
|
|
11
17
|
/**
|
|
12
18
|
* Fluent builder for 20-character numeric SIDC strings
|
|
@@ -35,6 +41,13 @@ export declare class Sidc {
|
|
|
35
41
|
* @param fields Initial field values. Internal; used for immutable clones.
|
|
36
42
|
*/
|
|
37
43
|
constructor(options?: SidcOptions, fields?: SidcFields);
|
|
44
|
+
/**
|
|
45
|
+
* Configures the standard family and its validation rules.
|
|
46
|
+
*
|
|
47
|
+
* A version already belonging to the selected family is retained. Otherwise
|
|
48
|
+
* it is reset to that family's latest edition (APP-6 E or MIL-STD-2525E).
|
|
49
|
+
*/
|
|
50
|
+
standard(standard: Standard): Sidc;
|
|
38
51
|
/** Positions 1-2: standard edition. Accepts known codes or a raw two-digit code. */
|
|
39
52
|
version(version: Version | (string & {})): Sidc;
|
|
40
53
|
/** Position 3: context. */
|
package/dist/src/sidc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidc.d.ts","sourceRoot":"","sources":["../../src/sidc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"sidc.d.ts","sourceRoot":"","sources":["../../src/sidc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAWL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AASD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAEjC;;;OAGG;gBACS,OAAO,GAAE,WAAgB,EAAE,MAAM,CAAC,EAAE,UAAU;IAuB1D;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAYlC,oFAAoF;IACpF,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI;IAK/C,2BAA2B;IAC3B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ/B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAU1C,8EAA8E;IAC9E,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI;IAKrD,sCAAsC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM;IA8BlB,OAAO,CAAC,IAAI;CAGb"}
|
package/dist/src/sidc.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Context, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
2
|
-
import { checkOneDigitField, checkTwoDigitField, findCombinationProblems, knownSymbolSets, knownVersions, SidcCombinationError, SidcValidationError, unrecognizedCodeWarning, } from "./validate.js";
|
|
1
|
+
import { Context, Standard, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
2
|
+
import { checkOneDigitField, checkTwoDigitField, defaultVersionForStandard, findCombinationProblems, knownSymbolSets, knownVersions, SidcCombinationError, SidcValidationError, standardForVersion, unrecognizedCodeWarning, } from "./validate.js";
|
|
3
3
|
const SIDC_LENGTH = 20;
|
|
4
4
|
const CONTEXTS = new Set(Object.values(Context));
|
|
5
5
|
const IDENTITIES = new Set(Object.values(StandardIdentity));
|
|
6
|
+
const STANDARDS = new Set(Object.values(Standard));
|
|
6
7
|
const STATUSES = new Set(Object.values(Status));
|
|
7
8
|
/**
|
|
8
9
|
* Fluent builder for 20-character numeric SIDC strings
|
|
@@ -31,15 +32,38 @@ export class Sidc {
|
|
|
31
32
|
* @param fields Initial field values. Internal; used for immutable clones.
|
|
32
33
|
*/
|
|
33
34
|
constructor(options = {}, fields) {
|
|
35
|
+
if (fields === undefined &&
|
|
36
|
+
options.standard !== undefined &&
|
|
37
|
+
!STANDARDS.has(options.standard)) {
|
|
38
|
+
throw new SidcValidationError(`Unknown standard "${options.standard}".`);
|
|
39
|
+
}
|
|
34
40
|
this.fields = fields ?? {
|
|
35
|
-
version:
|
|
41
|
+
version: options.standard === undefined
|
|
42
|
+
? Version.MilStd2525E
|
|
43
|
+
: defaultVersionForStandard(options.standard),
|
|
36
44
|
context: Context.Reality,
|
|
37
45
|
identity: StandardIdentity.Unknown,
|
|
38
46
|
symbolSet: SymbolSet.Unknown,
|
|
39
47
|
status: Status.Present,
|
|
48
|
+
standard: options.standard,
|
|
40
49
|
};
|
|
41
50
|
this.strict = options.strict ?? false;
|
|
42
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Configures the standard family and its validation rules.
|
|
54
|
+
*
|
|
55
|
+
* A version already belonging to the selected family is retained. Otherwise
|
|
56
|
+
* it is reset to that family's latest edition (APP-6 E or MIL-STD-2525E).
|
|
57
|
+
*/
|
|
58
|
+
standard(standard) {
|
|
59
|
+
if (!STANDARDS.has(standard)) {
|
|
60
|
+
throw new SidcValidationError(`Unknown standard "${standard}".`);
|
|
61
|
+
}
|
|
62
|
+
const version = standardForVersion(this.fields.version) === standard
|
|
63
|
+
? this.fields.version
|
|
64
|
+
: defaultVersionForStandard(standard);
|
|
65
|
+
return this.with({ standard, version });
|
|
66
|
+
}
|
|
43
67
|
/** Positions 1-2: standard edition. Accepts known codes or a raw two-digit code. */
|
|
44
68
|
version(version) {
|
|
45
69
|
checkTwoDigitField("Version", version);
|
package/dist/src/sidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidc.js","sourceRoot":"","sources":["../../src/sidc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sidc.js","sourceRoot":"","sources":["../../src/sidc.ts"],"names":[],"mappings":"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"}
|
package/dist/src/validate.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Standard, Version } from "./enums.js";
|
|
1
2
|
/** Fields encoded by the builder, keyed by SIDC position. */
|
|
2
3
|
export interface SidcFields {
|
|
3
4
|
version: string;
|
|
@@ -5,6 +6,8 @@ export interface SidcFields {
|
|
|
5
6
|
identity: string;
|
|
6
7
|
symbolSet: string;
|
|
7
8
|
status: string;
|
|
9
|
+
/** Optional standard-family configuration used for defaults and validation. */
|
|
10
|
+
standard?: Standard;
|
|
8
11
|
}
|
|
9
12
|
export declare class SidcError extends Error {
|
|
10
13
|
constructor(message: string);
|
|
@@ -17,6 +20,10 @@ export declare class SidcValidationError extends SidcError {
|
|
|
17
20
|
export declare class SidcCombinationError extends SidcError {
|
|
18
21
|
constructor(message: string);
|
|
19
22
|
}
|
|
23
|
+
/** Returns the latest supported version for a configured standard family. */
|
|
24
|
+
export declare function defaultVersionForStandard(standard: Standard): Version;
|
|
25
|
+
/** Returns the standard family for a known official version code. */
|
|
26
|
+
export declare function standardForVersion(version: string): Standard | undefined;
|
|
20
27
|
/** @internal Validates and stores a two-digit field (version or symbol set). */
|
|
21
28
|
export declare function checkTwoDigitField(name: string, value: string): void;
|
|
22
29
|
/** @internal Validates a single-digit field (context, identity, status). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAIR,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B;AAED,qDAAqD;AACrD,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,wEAAwE;AACxE,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAmDD,6EAA6E;AAC7E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAErE;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAExE;AAUD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CA8CpE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAKjH;AAED,eAAO,MAAM,aAAa,mBAAiB,CAAC;AAC5C,eAAO,MAAM,eAAe,mBAAoB,CAAC"}
|
package/dist/src/validate.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context, StandardIdentity, Status, SymbolSet, Version } from "./enums.js";
|
|
1
|
+
import { Context, Standard, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
2
2
|
export class SidcError extends Error {
|
|
3
3
|
constructor(message) {
|
|
4
4
|
super(message);
|
|
@@ -29,6 +29,43 @@ const KNOWN_SYMBOL_SETS = [
|
|
|
29
29
|
"12",
|
|
30
30
|
"39",
|
|
31
31
|
];
|
|
32
|
+
const STANDARD_DEFAULT_VERSIONS = {
|
|
33
|
+
[Standard.MilStd2525]: Version.MilStd2525E,
|
|
34
|
+
[Standard.App6]: Version.App6E,
|
|
35
|
+
};
|
|
36
|
+
const VERSION_STANDARDS = {
|
|
37
|
+
[Version.MilStd2525D]: Standard.MilStd2525,
|
|
38
|
+
[Version.App6D]: Standard.App6,
|
|
39
|
+
[Version.MilStd2525E]: Standard.MilStd2525,
|
|
40
|
+
[Version.App6E]: Standard.App6,
|
|
41
|
+
};
|
|
42
|
+
const STANDARD_NAMES = {
|
|
43
|
+
[Standard.MilStd2525]: "MIL-STD-2525",
|
|
44
|
+
[Standard.App6]: "APP-6",
|
|
45
|
+
};
|
|
46
|
+
const EDITION_NAMES = {
|
|
47
|
+
[Version.MilStd2525D]: "MIL-STD-2525D",
|
|
48
|
+
[Version.App6D]: "APP-6 D",
|
|
49
|
+
[Version.MilStd2525E]: "MIL-STD-2525E",
|
|
50
|
+
[Version.App6E]: "APP-6 E",
|
|
51
|
+
};
|
|
52
|
+
// Symbol sets omitted from milsymbol's handler bundle for each legacy edition.
|
|
53
|
+
const UNSUPPORTED_SYMBOL_SETS = {
|
|
54
|
+
[Version.MilStd2525D]: [SymbolSet.LandDismountedIndividual],
|
|
55
|
+
[Version.App6D]: [SymbolSet.Cyberspace],
|
|
56
|
+
};
|
|
57
|
+
const SYMBOL_SET_NAMES = {
|
|
58
|
+
[SymbolSet.LandDismountedIndividual]: "dismounted individual",
|
|
59
|
+
[SymbolSet.Cyberspace]: "cyberspace",
|
|
60
|
+
};
|
|
61
|
+
/** Returns the latest supported version for a configured standard family. */
|
|
62
|
+
export function defaultVersionForStandard(standard) {
|
|
63
|
+
return STANDARD_DEFAULT_VERSIONS[standard];
|
|
64
|
+
}
|
|
65
|
+
/** Returns the standard family for a known official version code. */
|
|
66
|
+
export function standardForVersion(version) {
|
|
67
|
+
return VERSION_STANDARDS[version];
|
|
68
|
+
}
|
|
32
69
|
function assertDigits(name, value, pattern, length) {
|
|
33
70
|
if (!pattern.test(value)) {
|
|
34
71
|
throw new SidcValidationError(`${name} must be ${length} digit(s), got "${value}".`);
|
|
@@ -49,12 +86,12 @@ export function checkOneDigitField(name, value) {
|
|
|
49
86
|
*/
|
|
50
87
|
export function findCombinationProblems(fields) {
|
|
51
88
|
const problems = [];
|
|
52
|
-
const { version, context, identity, symbolSet, status } = fields;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
problems.push(`
|
|
89
|
+
const { version, context, identity, symbolSet, status, standard } = fields;
|
|
90
|
+
const versionStandard = standardForVersion(version);
|
|
91
|
+
if (standard !== undefined &&
|
|
92
|
+
versionStandard !== undefined &&
|
|
93
|
+
versionStandard !== standard) {
|
|
94
|
+
problems.push(`Version "${version}" (${EDITION_NAMES[version]}) belongs to ${STANDARD_NAMES[versionStandard]}, not the configured ${STANDARD_NAMES[standard]} standard.`);
|
|
58
95
|
}
|
|
59
96
|
// Condition statuses do not apply to control measures (tactical graphics).
|
|
60
97
|
if (Object.values(Status).includes(status) &&
|
|
@@ -70,11 +107,8 @@ export function findCombinationProblems(fields) {
|
|
|
70
107
|
problems.push("Exercise symbols on the unknown symbol set render without affiliation unless identity is pending/unknown.");
|
|
71
108
|
}
|
|
72
109
|
// Symbol sets missing from specific standards' handler lists.
|
|
73
|
-
if (version
|
|
74
|
-
problems.push(
|
|
75
|
-
}
|
|
76
|
-
if (version === Version.App6D && symbolSet === SymbolSet.Cyberspace) {
|
|
77
|
-
problems.push("Symbol set 60 (cyberspace) is not supported by APP-6 D.");
|
|
110
|
+
if (UNSUPPORTED_SYMBOL_SETS[version]?.includes(symbolSet)) {
|
|
111
|
+
problems.push(`Symbol set ${symbolSet} (${SYMBOL_SET_NAMES[symbolSet]}) is not supported by ${EDITION_NAMES[version]}.`);
|
|
78
112
|
}
|
|
79
113
|
return problems;
|
|
80
114
|
}
|
package/dist/src/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/test/sidc.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import { describe, it } from "node:test";
|
|
3
|
-
import { Context, Sidc, SidcCombinationError, SidcValidationError, StandardIdentity, Status, SymbolSet, Version, } from "../src/index.js";
|
|
3
|
+
import { Context, Sidc, SidcCombinationError, SidcValidationError, Standard, StandardIdentity, Status, SymbolSet, Version, } from "../src/index.js";
|
|
4
4
|
/** Runs fn with console.warn captured; returns the captured messages. */
|
|
5
5
|
function captureWarnings(fn) {
|
|
6
6
|
const original = console.warn;
|
|
@@ -24,13 +24,78 @@ describe("Sidc defaults", () => {
|
|
|
24
24
|
const sidc = new Sidc()
|
|
25
25
|
.version(Version.App6E)
|
|
26
26
|
.context(Context.Simulation)
|
|
27
|
-
.identity(StandardIdentity.
|
|
27
|
+
.identity(StandardIdentity.HostileFaker)
|
|
28
28
|
.symbolSet(SymbolSet.SeaSubsurface)
|
|
29
29
|
.status(Status.Destroyed)
|
|
30
30
|
.toString();
|
|
31
31
|
assert.equal(sidc.length, 20);
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
|
+
describe("standard configuration", () => {
|
|
35
|
+
it("defaults APP-6 and MIL-STD-2525 to their latest editions", () => {
|
|
36
|
+
assert.equal(new Sidc({ standard: Standard.App6 }).toString(), "14010000000000000000");
|
|
37
|
+
assert.equal(new Sidc({ standard: Standard.MilStd2525 }).toString(), "13010000000000000000");
|
|
38
|
+
});
|
|
39
|
+
it("configures APP-6 through the immutable setter", () => {
|
|
40
|
+
const base = new Sidc();
|
|
41
|
+
const app6 = base.standard(Standard.App6);
|
|
42
|
+
assert.notEqual(base, app6);
|
|
43
|
+
assert.equal(base.toString().slice(0, 2), Version.MilStd2525E);
|
|
44
|
+
assert.equal(app6.toString().slice(0, 2), Version.App6E);
|
|
45
|
+
});
|
|
46
|
+
it("retains a version that already belongs to the selected family", () => {
|
|
47
|
+
const app6d = new Sidc()
|
|
48
|
+
.version(Version.App6D)
|
|
49
|
+
.standard(Standard.App6);
|
|
50
|
+
assert.equal(app6d.toString().slice(0, 2), Version.App6D);
|
|
51
|
+
});
|
|
52
|
+
it("resets an incompatible version to the selected family's default", () => {
|
|
53
|
+
const sidc = new Sidc()
|
|
54
|
+
.version(Version.App6D)
|
|
55
|
+
.standard(Standard.MilStd2525);
|
|
56
|
+
assert.equal(sidc.toString().slice(0, 2), Version.MilStd2525E);
|
|
57
|
+
});
|
|
58
|
+
it("flags a version from another configured standard family", () => {
|
|
59
|
+
const warnings = captureWarnings(() => {
|
|
60
|
+
new Sidc({ standard: Standard.App6 })
|
|
61
|
+
.version(Version.MilStd2525E)
|
|
62
|
+
.toString();
|
|
63
|
+
});
|
|
64
|
+
assert.equal(warnings.length, 1);
|
|
65
|
+
assert.match(warnings[0], /configured APP-6 standard/);
|
|
66
|
+
assert.throws(() => new Sidc({ strict: true, standard: Standard.App6 })
|
|
67
|
+
.version(Version.MilStd2525E)
|
|
68
|
+
.toString(), SidcCombinationError);
|
|
69
|
+
});
|
|
70
|
+
it("keeps the recognized raw-version escape hatch backward compatible", () => {
|
|
71
|
+
const warnings = captureWarnings(() => {
|
|
72
|
+
const rendered = new Sidc({ standard: Standard.App6 })
|
|
73
|
+
.version("12")
|
|
74
|
+
.toString();
|
|
75
|
+
assert.equal(rendered.slice(0, 2), "12");
|
|
76
|
+
});
|
|
77
|
+
assert.deepEqual(warnings, []);
|
|
78
|
+
});
|
|
79
|
+
it("applies edition-specific APP-6 validation", () => {
|
|
80
|
+
const warnings = captureWarnings(() => {
|
|
81
|
+
new Sidc({ standard: Standard.App6 })
|
|
82
|
+
.version(Version.App6D)
|
|
83
|
+
.symbolSet(SymbolSet.Cyberspace)
|
|
84
|
+
.toString();
|
|
85
|
+
});
|
|
86
|
+
assert.equal(warnings.length, 1);
|
|
87
|
+
assert.match(warnings[0], /APP-6 D/);
|
|
88
|
+
});
|
|
89
|
+
it("rejects unknown standard configuration values", () => {
|
|
90
|
+
assert.throws(() => new Sidc({ standard: "NATO" }), SidcValidationError);
|
|
91
|
+
assert.throws(() => new Sidc().standard("NATO"), SidcValidationError);
|
|
92
|
+
});
|
|
93
|
+
it("accepts every Standard member through the setter", () => {
|
|
94
|
+
for (const standard of Object.values(Standard)) {
|
|
95
|
+
assert.doesNotThrow(() => new Sidc().standard(standard));
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
34
99
|
describe("field encoding (positions 1-7)", () => {
|
|
35
100
|
it("encodes version at positions 1-2", () => {
|
|
36
101
|
assert.equal(new Sidc().version(Version.MilStd2525E).toString().slice(0, 2), "13");
|
|
@@ -50,7 +115,7 @@ describe("field encoding (positions 1-7)", () => {
|
|
|
50
115
|
assert.equal(new Sidc().identity(StandardIdentity.Friend).toString().charAt(3), "3");
|
|
51
116
|
assert.equal(new Sidc().identity(StandardIdentity.Neutral).toString().charAt(3), "4");
|
|
52
117
|
assert.equal(new Sidc().identity(StandardIdentity.SuspectJoker).toString().charAt(3), "5");
|
|
53
|
-
assert.equal(new Sidc().identity(StandardIdentity.
|
|
118
|
+
assert.equal(new Sidc().identity(StandardIdentity.HostileFaker).toString().charAt(3), "6");
|
|
54
119
|
});
|
|
55
120
|
it("encodes symbol set at positions 5-6", () => {
|
|
56
121
|
for (const code of Object.values(SymbolSet)) {
|
|
@@ -96,7 +161,9 @@ describe("immutability", () => {
|
|
|
96
161
|
assert.equal(derived.toString(), "13030030000000000000");
|
|
97
162
|
});
|
|
98
163
|
it("carries strict mode through clones", () => {
|
|
99
|
-
const strict = new Sidc({ strict: true })
|
|
164
|
+
const strict = new Sidc({ strict: true })
|
|
165
|
+
.symbolSet(SymbolSet.ControlMeasure)
|
|
166
|
+
.status(Status.Destroyed);
|
|
100
167
|
assert.throws(() => strict.toString(), SidcCombinationError);
|
|
101
168
|
});
|
|
102
169
|
});
|
|
@@ -128,7 +195,7 @@ describe("value validation", () => {
|
|
|
128
195
|
});
|
|
129
196
|
});
|
|
130
197
|
describe("combination validation", () => {
|
|
131
|
-
it("suspect identity is valid in reality context", () => {
|
|
198
|
+
it("suspect/joker identity is valid in reality context", () => {
|
|
132
199
|
const warnings = captureWarnings(() => {
|
|
133
200
|
new Sidc({ strict: true })
|
|
134
201
|
.identity(StandardIdentity.SuspectJoker)
|
|
@@ -137,22 +204,33 @@ describe("combination validation", () => {
|
|
|
137
204
|
});
|
|
138
205
|
assert.deepEqual(warnings, []);
|
|
139
206
|
});
|
|
140
|
-
it("faker
|
|
207
|
+
it("hostile/faker identity is valid in reality context", () => {
|
|
141
208
|
const warnings = captureWarnings(() => {
|
|
142
|
-
new Sidc()
|
|
209
|
+
new Sidc({ strict: true })
|
|
210
|
+
.identity(StandardIdentity.HostileFaker)
|
|
211
|
+
.symbolSet(SymbolSet.LandUnit)
|
|
212
|
+
.toString();
|
|
143
213
|
});
|
|
144
|
-
assert.
|
|
145
|
-
assert.match(warnings[0], /exercise context/);
|
|
214
|
+
assert.deepEqual(warnings, []);
|
|
146
215
|
});
|
|
147
|
-
it("suspect identity inside exercise context is clean", () => {
|
|
216
|
+
it("suspect/joker identity inside exercise context is clean", () => {
|
|
148
217
|
const sidc = new Sidc({ strict: true })
|
|
149
218
|
.context(Context.Exercise)
|
|
150
219
|
.identity(StandardIdentity.SuspectJoker)
|
|
151
220
|
.symbolSet(SymbolSet.LandUnit);
|
|
152
221
|
assert.doesNotThrow(() => sidc.toString());
|
|
153
222
|
});
|
|
223
|
+
it("hostile/faker identity inside exercise context is clean", () => {
|
|
224
|
+
const sidc = new Sidc({ strict: true })
|
|
225
|
+
.context(Context.Exercise)
|
|
226
|
+
.identity(StandardIdentity.HostileFaker)
|
|
227
|
+
.symbolSet(SymbolSet.LandUnit);
|
|
228
|
+
assert.doesNotThrow(() => sidc.toString());
|
|
229
|
+
});
|
|
154
230
|
it("strict mode throws instead of warning", () => {
|
|
155
|
-
const sidc = new Sidc({ strict: true })
|
|
231
|
+
const sidc = new Sidc({ strict: true })
|
|
232
|
+
.symbolSet(SymbolSet.ControlMeasure)
|
|
233
|
+
.status(Status.Destroyed);
|
|
156
234
|
assert.throws(() => sidc.toString(), SidcCombinationError);
|
|
157
235
|
});
|
|
158
236
|
it("condition status on control measures warns", () => {
|
|
@@ -183,9 +261,10 @@ describe("combination validation", () => {
|
|
|
183
261
|
.toString();
|
|
184
262
|
new Sidc().version(Version.App6D).symbolSet(SymbolSet.Cyberspace).toString();
|
|
185
263
|
});
|
|
186
|
-
assert.
|
|
187
|
-
|
|
188
|
-
|
|
264
|
+
assert.deepEqual(warnings, [
|
|
265
|
+
"[milsymbol-sidc] Symbol set 27 (dismounted individual) is not supported by MIL-STD-2525D.",
|
|
266
|
+
"[milsymbol-sidc] Symbol set 60 (cyberspace) is not supported by APP-6 D.",
|
|
267
|
+
]);
|
|
189
268
|
});
|
|
190
269
|
it("valid combinations produce no warnings", () => {
|
|
191
270
|
const warnings = captureWarnings(() => {
|
|
@@ -198,10 +277,10 @@ describe("combination validation", () => {
|
|
|
198
277
|
});
|
|
199
278
|
assert.deepEqual(warnings, []);
|
|
200
279
|
});
|
|
201
|
-
it("stacks multiple
|
|
280
|
+
it("stacks multiple problems", () => {
|
|
202
281
|
const warnings = captureWarnings(() => {
|
|
203
282
|
new Sidc()
|
|
204
|
-
.
|
|
283
|
+
.version("99")
|
|
205
284
|
.symbolSet(SymbolSet.ControlMeasure)
|
|
206
285
|
.status(Status.Damaged)
|
|
207
286
|
.toString();
|
|
@@ -215,7 +294,10 @@ describe("builder ergonomics", () => {
|
|
|
215
294
|
});
|
|
216
295
|
it("accepts an empty options object as non-strict", () => {
|
|
217
296
|
const warnings = captureWarnings(() => {
|
|
218
|
-
new Sidc({})
|
|
297
|
+
new Sidc({})
|
|
298
|
+
.symbolSet(SymbolSet.ControlMeasure)
|
|
299
|
+
.status(Status.Damaged)
|
|
300
|
+
.toString();
|
|
219
301
|
});
|
|
220
302
|
assert.equal(warnings.length, 1);
|
|
221
303
|
});
|
|
@@ -284,7 +366,10 @@ describe("error types", () => {
|
|
|
284
366
|
assert.throws(() => new Sidc().identity("9"), (error) => error instanceof SidcValidationError && error instanceof Error);
|
|
285
367
|
});
|
|
286
368
|
it("combination errors extend SidcError", () => {
|
|
287
|
-
assert.throws(() => new Sidc({ strict: true })
|
|
369
|
+
assert.throws(() => new Sidc({ strict: true })
|
|
370
|
+
.symbolSet(SymbolSet.ControlMeasure)
|
|
371
|
+
.status(Status.Destroyed)
|
|
372
|
+
.toString(), (error) => error instanceof SidcCombinationError && error instanceof Error);
|
|
288
373
|
});
|
|
289
374
|
it("names its errors", () => {
|
|
290
375
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidc.test.js","sourceRoot":"","sources":["../../test/sidc.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidc.test.js","sourceRoot":"","sources":["../../test/sidc.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED