milsymbol-sidc 0.2.0 → 0.3.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 +184 -29
- package/dist/src/enums.d.ts +47 -1
- package/dist/src/enums.d.ts.map +1 -1
- package/dist/src/enums.js +45 -1
- 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 +21 -4
- package/dist/src/sidc.d.ts.map +1 -1
- package/dist/src/sidc.js +73 -35
- package/dist/src/sidc.js.map +1 -1
- package/dist/src/validate.d.ts +26 -0
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +94 -8
- package/dist/src/validate.js.map +1 -1
- package/package.json +28 -6
- package/dist/test/sidc.test.d.ts +0 -2
- package/dist/test/sidc.test.d.ts.map +0 -1
- package/dist/test/sidc.test.js +0 -384
- package/dist/test/sidc.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# milsymbol-sidc
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/milsymbol-sidc)
|
|
4
|
+
[](https://www.npmjs.com/package/milsymbol-sidc)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](https://www.typescriptlang.org/)
|
|
7
|
+
|
|
3
8
|
A fluent TypeScript builder for **20-character numeric SIDC strings** — the
|
|
4
9
|
symbol identification code format used by [MIL-STD-2525E](https://en.wikipedia.org/wiki/MIL-STD-2525)
|
|
5
10
|
and [APP-6](https://en.wikipedia.org/wiki/NATO_Joint_Military_Symbology) — made
|
|
@@ -7,6 +12,7 @@ for constructing symbols with the
|
|
|
7
12
|
[milsymbol](https://github.com/spatialillusions/milsymbol) library.
|
|
8
13
|
|
|
9
14
|
```ts
|
|
15
|
+
import ms from "milsymbol";
|
|
10
16
|
import { Sidc, StandardIdentity, SymbolSet } from "milsymbol-sidc";
|
|
11
17
|
|
|
12
18
|
const sidc = new Sidc()
|
|
@@ -23,15 +29,18 @@ new ms.Symbol(sidc).asSVG(); // friendly land unit icon
|
|
|
23
29
|
- **Validated output** — invalid values throw; inconsistent combinations warn
|
|
24
30
|
(or throw in `strict` mode), using the same rules milsymbol applies when it
|
|
25
31
|
parses a SIDC.
|
|
26
|
-
- **milsymbol-ready** —
|
|
27
|
-
|
|
32
|
+
- **milsymbol-ready** — every generated 20-character string is accepted by
|
|
33
|
+
milsymbol's numeric parser. Full rendering depends on the entity and
|
|
34
|
+
modifier codes you supply, exactly as it does for any raw SIDC.
|
|
28
35
|
|
|
29
|
-
> **Coverage:** positions 1–
|
|
30
|
-
>
|
|
31
|
-
>
|
|
36
|
+
> **Coverage:** complete structural encoding for positions 1–20 of the numeric
|
|
37
|
+
> SIDC. Positions 8–10 have named universal codes; positions 11–20 accept
|
|
38
|
+
> validated raw entity and modifier codes. Symbol-set-specific entity and
|
|
39
|
+
> modifier catalogs remain future work.
|
|
32
40
|
|
|
33
41
|
## Installation
|
|
34
42
|
|
|
43
|
+
Published on npm as [`milsymbol-sidc`](https://www.npmjs.com/package/milsymbol-sidc).
|
|
35
44
|
Requires Node.js >= 18.
|
|
36
45
|
|
|
37
46
|
```bash
|
|
@@ -42,6 +51,15 @@ yarn add milsymbol-sidc
|
|
|
42
51
|
pnpm add milsymbol-sidc
|
|
43
52
|
```
|
|
44
53
|
|
|
54
|
+
The rendering examples use [`milsymbol`](https://github.com/spatialillusions/milsymbol)
|
|
55
|
+
to draw the generated SIDC. It is **not** a dependency of this package —
|
|
56
|
+
`milsymbol-sidc` has zero runtime dependencies — so install it alongside when
|
|
57
|
+
you want to render symbols:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm install milsymbol
|
|
61
|
+
```
|
|
62
|
+
|
|
45
63
|
The package ships ESM with bundled TypeScript declarations (`dist/`).
|
|
46
64
|
|
|
47
65
|
## Quick start
|
|
@@ -73,6 +91,8 @@ The builder is **immutable**: each setter returns a new instance, so a base
|
|
|
73
91
|
configuration can be safely reused:
|
|
74
92
|
|
|
75
93
|
```ts
|
|
94
|
+
import { Sidc, Standard, StandardIdentity } from "milsymbol-sidc";
|
|
95
|
+
|
|
76
96
|
const base = new Sidc({ standard: Standard.App6 });
|
|
77
97
|
|
|
78
98
|
const friendly = base.identity(StandardIdentity.Friend).toString();
|
|
@@ -82,24 +102,33 @@ const hostile = base.identity(StandardIdentity.SuspectJoker).toString();
|
|
|
82
102
|
|
|
83
103
|
## Anatomy of the generated SIDC
|
|
84
104
|
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
│
|
|
89
|
-
│
|
|
90
|
-
│
|
|
91
|
-
│
|
|
92
|
-
└
|
|
93
|
-
|
|
105
|
+
```text
|
|
106
|
+
13 0 3 10 0 2 16 123456 78 90
|
|
107
|
+
│ │ │ │ │ │ │ │ │ │
|
|
108
|
+
│ │ │ │ │ │ │ │ │ └ modifier 2 (19–20)
|
|
109
|
+
│ │ │ │ │ │ │ │ └ │ modifier 1 (17–18)
|
|
110
|
+
│ │ │ │ │ │ │ └ │ │ entity code (11–16)
|
|
111
|
+
│ │ │ │ │ │ └ │ │ │ amplifier (9–10)
|
|
112
|
+
│ │ │ │ │ └ │ │ │ │ HQ/task force/feint-dummy (8)
|
|
113
|
+
│ │ │ │ └ │ │ │ │ │ status (7)
|
|
114
|
+
│ │ │ └ │ │ │ │ │ │ symbol set (5–6)
|
|
115
|
+
│ │ └ │ │ │ │ │ │ │ standard identity (4)
|
|
116
|
+
│ └ │ │ │ │ │ │ │ │ context (3)
|
|
117
|
+
└ │ │ │ │ │ │ │ │ │ version / edition (1–2)
|
|
94
118
|
```
|
|
95
119
|
|
|
96
|
-
| Position | Field |
|
|
120
|
+
| Position | Field | API |
|
|
97
121
|
| -------- | ------------------ | ----------------- |
|
|
98
|
-
| 1–2 | Version / edition | `Version` |
|
|
99
|
-
| 3 | Context | `Context` |
|
|
100
|
-
| 4 | Standard identity | `StandardIdentity` |
|
|
101
|
-
| 5–6 | Symbol set | `SymbolSet` |
|
|
102
|
-
| 7 | Status / condition | `Status` |
|
|
122
|
+
| 1–2 | Version / edition | `Version`, `version()` |
|
|
123
|
+
| 3 | Context | `Context`, `context()` |
|
|
124
|
+
| 4 | Standard identity | `StandardIdentity`, `identity()` |
|
|
125
|
+
| 5–6 | Symbol set | `SymbolSet`, `symbolSet()` |
|
|
126
|
+
| 7 | Status / condition | `Status`, `status()` |
|
|
127
|
+
| 8 | HQ/task force/feint-dummy | `HqTaskForceDummy`, `hqTaskForceDummy()` |
|
|
128
|
+
| 9–10 | Amplifier | `Amplifier`, `amplifier()` |
|
|
129
|
+
| 11–16 | Entity code | `entity()` — six raw digits |
|
|
130
|
+
| 17–18 | Modifier 1 | `modifier1()` — two raw digits |
|
|
131
|
+
| 19–20 | Modifier 2 | `modifier2()` — two raw digits |
|
|
103
132
|
|
|
104
133
|
## API
|
|
105
134
|
|
|
@@ -126,6 +155,11 @@ All setters validate their argument and return a new immutable `Sidc`.
|
|
|
126
155
|
| `identity(i)` | Position 4 | A `StandardIdentity` constant |
|
|
127
156
|
| `symbolSet(s)` | Positions 5–6 | A `SymbolSet` constant or any two-digit string |
|
|
128
157
|
| `status(s)` | Position 7 | A `Status` constant |
|
|
158
|
+
| `hqTaskForceDummy(v)` | Position 8 | An `HqTaskForceDummy` constant |
|
|
159
|
+
| `amplifier(v)` | Positions 9–10 | An `Amplifier` constant |
|
|
160
|
+
| `entity(v)` | Positions 11–16 | Any six-digit string; symbol-set-specific catalogs are not included |
|
|
161
|
+
| `modifier1(v)` | Positions 17–18 | Any two-digit string; symbol-set-specific catalogs are not included |
|
|
162
|
+
| `modifier2(v)` | Positions 19–20 | Any two-digit string; symbol-set-specific catalogs are not included |
|
|
129
163
|
| `toString()` | — | Validates combinations and renders the 20-character SIDC |
|
|
130
164
|
|
|
131
165
|
### Enum reference
|
|
@@ -140,6 +174,63 @@ same constant can configure both libraries.
|
|
|
140
174
|
| `MilStd2525` | `"2525"` | US MIL-STD-2525 (**default behavior when omitted**) |
|
|
141
175
|
| `App6` | `"APP6"` | NATO APP-6 |
|
|
142
176
|
|
|
177
|
+
#### `HqTaskForceDummy`
|
|
178
|
+
|
|
179
|
+
Position 8 values identify headquarters, task force, and feint/dummy variants.
|
|
180
|
+
|
|
181
|
+
| Constant | Code | Meaning |
|
|
182
|
+
| -------- | ---- | ------- |
|
|
183
|
+
| `None` | `"0"` | None / not applicable |
|
|
184
|
+
| `FeintDummy` | `"1"` | Feint/dummy |
|
|
185
|
+
| `Headquarters` | `"2"` | Headquarters |
|
|
186
|
+
| `FeintDummyHeadquarters` | `"3"` | Feint/dummy headquarters |
|
|
187
|
+
| `TaskForce` | `"4"` | Task force |
|
|
188
|
+
| `FeintDummyTaskForce` | `"5"` | Feint/dummy task force |
|
|
189
|
+
| `TaskForceHeadquarters` | `"6"` | Task-force headquarters |
|
|
190
|
+
| `FeintDummyTaskForceHeadquarters` | `"7"` | Feint/dummy task-force headquarters |
|
|
191
|
+
|
|
192
|
+
#### `Amplifier`
|
|
193
|
+
|
|
194
|
+
Position 9–10 values identify echelon, mobility, leadership, or auxiliary
|
|
195
|
+
amplifiers. `None` writes the zero/no-amplifier code `"00"`.
|
|
196
|
+
|
|
197
|
+
| Constant | Code | Meaning |
|
|
198
|
+
| -------- | ---- | ------- |
|
|
199
|
+
| `None` | `"00"` | None / not specified |
|
|
200
|
+
| `TeamCrew` | `"11"` | Team/crew |
|
|
201
|
+
| `Squad` | `"12"` | Squad |
|
|
202
|
+
| `Section` | `"13"` | Section |
|
|
203
|
+
| `PlatoonDetachment` | `"14"` | Platoon/detachment |
|
|
204
|
+
| `CompanyBatteryTroop` | `"15"` | Company/battery/troop |
|
|
205
|
+
| `BattalionSquadron` | `"16"` | Battalion/squadron |
|
|
206
|
+
| `RegimentGroup` | `"17"` | Regiment/group |
|
|
207
|
+
| `Brigade` | `"18"` | Brigade |
|
|
208
|
+
| `Division` | `"21"` | Division |
|
|
209
|
+
| `CorpsMef` | `"22"` | Corps/MEF |
|
|
210
|
+
| `Army` | `"23"` | Army |
|
|
211
|
+
| `ArmyGroupFront` | `"24"` | Army group/front |
|
|
212
|
+
| `RegionTheater` | `"25"` | Region/theater |
|
|
213
|
+
| `Command` | `"26"` | Command |
|
|
214
|
+
| `WheeledLimitedCrossCountry` | `"31"` | Wheeled, limited cross-country |
|
|
215
|
+
| `WheeledCrossCountry` | `"32"` | Wheeled, cross-country |
|
|
216
|
+
| `Tracked` | `"33"` | Tracked |
|
|
217
|
+
| `WheeledTrackedCombination` | `"34"` | Wheeled and tracked combination |
|
|
218
|
+
| `Towed` | `"35"` | Towed |
|
|
219
|
+
| `Rail` | `"36"` | Rail |
|
|
220
|
+
| `PackAnimals` | `"37"` | Pack animals |
|
|
221
|
+
| `OverSnowPrimeMover` | `"41"` | Over snow, prime mover |
|
|
222
|
+
| `Sled` | `"42"` | Sled |
|
|
223
|
+
| `Barge` | `"51"` | Barge |
|
|
224
|
+
| `Amphibious` | `"52"` | Amphibious |
|
|
225
|
+
| `ShortTowedArray` | `"61"` | Short towed array |
|
|
226
|
+
| `LongTowedArray` | `"62"` | Long towed array |
|
|
227
|
+
| `LeaderIndividual` | `"71"` | Leader individual |
|
|
228
|
+
| `DeputyIndividual` | `"72"` | Deputy individual |
|
|
229
|
+
|
|
230
|
+
Entity and modifier setters intentionally accept raw digit strings so callers
|
|
231
|
+
can use codes specific to their symbol set and edition. They validate width and
|
|
232
|
+
ASCII digits but do not validate catalog membership.
|
|
233
|
+
|
|
143
234
|
#### `Version`
|
|
144
235
|
|
|
145
236
|
| Constant | Code | Standard |
|
|
@@ -216,8 +307,10 @@ string escape hatch.
|
|
|
216
307
|
Two layers of validation run at different times:
|
|
217
308
|
|
|
218
309
|
1. **Setter-time (`SidcValidationError`)** — thrown immediately for malformed
|
|
219
|
-
input (wrong number of digits) or unknown enum codes.
|
|
220
|
-
|
|
310
|
+
input (wrong number of digits) or unknown enum codes. Values must be
|
|
311
|
+
strings: passing a number or other non-string value throws rather than
|
|
312
|
+
being coerced. This catches bugs at the call site rather than deep inside
|
|
313
|
+
rendering code.
|
|
221
314
|
2. **`toString()`-time combination checks** — cross-field rules mirroring
|
|
222
315
|
milsymbol's parser. By default problems are emitted with `console.warn`;
|
|
223
316
|
with `{ strict: true }` they throw `SidcCombinationError`.
|
|
@@ -235,7 +328,18 @@ Active combination rules:
|
|
|
235
328
|
- Raw version/symbol-set codes outside milsymbol's known tables are reported.
|
|
236
329
|
|
|
237
330
|
```ts
|
|
238
|
-
import {
|
|
331
|
+
import {
|
|
332
|
+
Amplifier,
|
|
333
|
+
Context,
|
|
334
|
+
HqTaskForceDummy,
|
|
335
|
+
Sidc,
|
|
336
|
+
SidcCombinationError,
|
|
337
|
+
SidcValidationError,
|
|
338
|
+
Standard,
|
|
339
|
+
StandardIdentity,
|
|
340
|
+
Status,
|
|
341
|
+
SymbolSet,
|
|
342
|
+
} from "milsymbol-sidc";
|
|
239
343
|
|
|
240
344
|
// Throws immediately: "9" is not a valid identity code.
|
|
241
345
|
new Sidc().identity("9" as never); // SidcValidationError
|
|
@@ -252,6 +356,17 @@ new Sidc({ strict: true })
|
|
|
252
356
|
.symbolSet(SymbolSet.LandUnit)
|
|
253
357
|
.toString(); // "13161000000000000000", no warnings
|
|
254
358
|
|
|
359
|
+
// A complete structural 20-position SIDC using raw entity/modifier codes.
|
|
360
|
+
new Sidc({ standard: Standard.App6, strict: true })
|
|
361
|
+
.identity(StandardIdentity.Friend)
|
|
362
|
+
.symbolSet(SymbolSet.LandUnit)
|
|
363
|
+
.hqTaskForceDummy(HqTaskForceDummy.Headquarters)
|
|
364
|
+
.amplifier(Amplifier.BattalionSquadron)
|
|
365
|
+
.entity("123456")
|
|
366
|
+
.modifier1("01")
|
|
367
|
+
.modifier2("09")
|
|
368
|
+
.toString(); // "14031002161234560109"
|
|
369
|
+
|
|
255
370
|
// A real combination problem: condition status on a control measure.
|
|
256
371
|
new Sidc({ strict: true })
|
|
257
372
|
.symbolSet(SymbolSet.ControlMeasure)
|
|
@@ -304,11 +419,29 @@ const svg = symbol.asSVG();
|
|
|
304
419
|
|
|
305
420
|
### Node.js (CommonJS)
|
|
306
421
|
|
|
422
|
+
`milsymbol-sidc` is ESM-only. From CommonJS, load it with dynamic `import()`.
|
|
423
|
+
`milsymbol` itself can be `require`d directly:
|
|
424
|
+
|
|
307
425
|
```js
|
|
308
426
|
const ms = require("milsymbol");
|
|
309
|
-
|
|
427
|
+
|
|
428
|
+
async function render() {
|
|
429
|
+
const { Sidc, Standard, StandardIdentity, SymbolSet } = await import(
|
|
430
|
+
"milsymbol-sidc"
|
|
431
|
+
);
|
|
432
|
+
|
|
433
|
+
const sidc = new Sidc({ standard: Standard.App6 })
|
|
434
|
+
.identity(StandardIdentity.Friend)
|
|
435
|
+
.symbolSet(SymbolSet.LandUnit)
|
|
436
|
+
.toString();
|
|
437
|
+
|
|
438
|
+
return new ms.Symbol(sidc, { size: 32 }).asSVG();
|
|
439
|
+
}
|
|
310
440
|
```
|
|
311
441
|
|
|
442
|
+
Node.js 20.19+ and 22.12+ can also `require("milsymbol-sidc")` directly via
|
|
443
|
+
`require(esm)`; earlier Node 18/20 releases must use `import()`.
|
|
444
|
+
|
|
312
445
|
### Browser
|
|
313
446
|
|
|
314
447
|
```html
|
|
@@ -330,6 +463,18 @@ const ms = require("milsymbol");
|
|
|
330
463
|
### Recipes
|
|
331
464
|
|
|
332
465
|
```ts
|
|
466
|
+
import {
|
|
467
|
+
Amplifier,
|
|
468
|
+
Context,
|
|
469
|
+
HqTaskForceDummy,
|
|
470
|
+
Sidc,
|
|
471
|
+
Standard,
|
|
472
|
+
StandardIdentity,
|
|
473
|
+
Status,
|
|
474
|
+
SymbolSet,
|
|
475
|
+
Version,
|
|
476
|
+
} from "milsymbol-sidc";
|
|
477
|
+
|
|
333
478
|
// Hostile planned armored unit
|
|
334
479
|
new Sidc()
|
|
335
480
|
.identity(StandardIdentity.SuspectJoker)
|
|
@@ -358,6 +503,15 @@ new Sidc({ standard: Standard.App6, strict: true })
|
|
|
358
503
|
.symbolSet(SymbolSet.SeaSubsurface)
|
|
359
504
|
.toString(); // "14153500000000000000"
|
|
360
505
|
|
|
506
|
+
// APP-6 unit with structural entity and modifier fields
|
|
507
|
+
new Sidc({ standard: Standard.App6, strict: true })
|
|
508
|
+
.identity(StandardIdentity.Friend)
|
|
509
|
+
.symbolSet(SymbolSet.LandUnit)
|
|
510
|
+
.entity("123456")
|
|
511
|
+
.modifier1("01")
|
|
512
|
+
.modifier2("09")
|
|
513
|
+
.toString(); // "14031000001234560109"
|
|
514
|
+
|
|
361
515
|
// APP-6 D configuration retains an explicitly selected compatible edition
|
|
362
516
|
new Sidc({ standard: Standard.App6, strict: true })
|
|
363
517
|
.version(Version.App6D)
|
|
@@ -375,14 +529,15 @@ npm run build
|
|
|
375
529
|
```
|
|
376
530
|
|
|
377
531
|
Test coverage includes per-field offset encoding for every enum member,
|
|
378
|
-
defaults, immutability, setter validation errors,
|
|
379
|
-
both warn and strict modes, raw-code escape hatches,
|
|
380
|
-
hierarchy.
|
|
532
|
+
defaults, immutability, setter validation errors, extended-field offsets,
|
|
533
|
+
all combination rules in both warn and strict modes, raw-code escape hatches,
|
|
534
|
+
and error class hierarchy.
|
|
381
535
|
|
|
382
536
|
## Roadmap
|
|
383
537
|
|
|
384
|
-
-
|
|
385
|
-
|
|
538
|
+
- Symbol-set-specific named entity and modifier catalogs with semantic
|
|
539
|
+
validation.
|
|
540
|
+
- Official positions 21–30 / Set C extension data.
|
|
386
541
|
- Parsing/decoding SIDC strings back into structured fields.
|
|
387
542
|
|
|
388
543
|
## License
|
package/dist/src/enums.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Configuration values and field codes for positions 1-
|
|
2
|
+
* Configuration values and field codes for positions 1-20 of the 20-character
|
|
3
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.
|
|
@@ -16,6 +16,52 @@ export declare const Standard: {
|
|
|
16
16
|
readonly App6: "APP6";
|
|
17
17
|
};
|
|
18
18
|
export type Standard = (typeof Standard)[keyof typeof Standard];
|
|
19
|
+
/** Position 8: headquarters, task force, and feint/dummy indicator. */
|
|
20
|
+
export declare const HqTaskForceDummy: {
|
|
21
|
+
readonly None: "0";
|
|
22
|
+
readonly FeintDummy: "1";
|
|
23
|
+
readonly Headquarters: "2";
|
|
24
|
+
readonly FeintDummyHeadquarters: "3";
|
|
25
|
+
readonly TaskForce: "4";
|
|
26
|
+
readonly FeintDummyTaskForce: "5";
|
|
27
|
+
readonly TaskForceHeadquarters: "6";
|
|
28
|
+
readonly FeintDummyTaskForceHeadquarters: "7";
|
|
29
|
+
};
|
|
30
|
+
export type HqTaskForceDummy = (typeof HqTaskForceDummy)[keyof typeof HqTaskForceDummy];
|
|
31
|
+
/** Positions 9-10: echelon, mobility, leadership, or auxiliary amplifier. */
|
|
32
|
+
export declare const Amplifier: {
|
|
33
|
+
readonly None: "00";
|
|
34
|
+
readonly TeamCrew: "11";
|
|
35
|
+
readonly Squad: "12";
|
|
36
|
+
readonly Section: "13";
|
|
37
|
+
readonly PlatoonDetachment: "14";
|
|
38
|
+
readonly CompanyBatteryTroop: "15";
|
|
39
|
+
readonly BattalionSquadron: "16";
|
|
40
|
+
readonly RegimentGroup: "17";
|
|
41
|
+
readonly Brigade: "18";
|
|
42
|
+
readonly Division: "21";
|
|
43
|
+
readonly CorpsMef: "22";
|
|
44
|
+
readonly Army: "23";
|
|
45
|
+
readonly ArmyGroupFront: "24";
|
|
46
|
+
readonly RegionTheater: "25";
|
|
47
|
+
readonly Command: "26";
|
|
48
|
+
readonly WheeledLimitedCrossCountry: "31";
|
|
49
|
+
readonly WheeledCrossCountry: "32";
|
|
50
|
+
readonly Tracked: "33";
|
|
51
|
+
readonly WheeledTrackedCombination: "34";
|
|
52
|
+
readonly Towed: "35";
|
|
53
|
+
readonly Rail: "36";
|
|
54
|
+
readonly PackAnimals: "37";
|
|
55
|
+
readonly OverSnowPrimeMover: "41";
|
|
56
|
+
readonly Sled: "42";
|
|
57
|
+
readonly Barge: "51";
|
|
58
|
+
readonly Amphibious: "52";
|
|
59
|
+
readonly ShortTowedArray: "61";
|
|
60
|
+
readonly LongTowedArray: "62";
|
|
61
|
+
readonly LeaderIndividual: "71";
|
|
62
|
+
readonly DeputyIndividual: "72";
|
|
63
|
+
};
|
|
64
|
+
export type Amplifier = (typeof Amplifier)[keyof typeof Amplifier];
|
|
19
65
|
/** Positions 1-2: Version / standard edition. */
|
|
20
66
|
export declare const Version: {
|
|
21
67
|
/** MIL-STD-2525D (edition D) */
|
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;;;;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,
|
|
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,uEAAuE;AACvE,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,6EAA6E;AAC7E,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BZ,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEnE,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,GAC1B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,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,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Configuration values and field codes for positions 1-
|
|
2
|
+
* Configuration values and field codes for positions 1-20 of the 20-character
|
|
3
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.
|
|
@@ -15,6 +15,50 @@ export const Standard = {
|
|
|
15
15
|
/** NATO APP-6. */
|
|
16
16
|
App6: "APP6",
|
|
17
17
|
};
|
|
18
|
+
/** Position 8: headquarters, task force, and feint/dummy indicator. */
|
|
19
|
+
export const HqTaskForceDummy = {
|
|
20
|
+
None: "0",
|
|
21
|
+
FeintDummy: "1",
|
|
22
|
+
Headquarters: "2",
|
|
23
|
+
FeintDummyHeadquarters: "3",
|
|
24
|
+
TaskForce: "4",
|
|
25
|
+
FeintDummyTaskForce: "5",
|
|
26
|
+
TaskForceHeadquarters: "6",
|
|
27
|
+
FeintDummyTaskForceHeadquarters: "7",
|
|
28
|
+
};
|
|
29
|
+
/** Positions 9-10: echelon, mobility, leadership, or auxiliary amplifier. */
|
|
30
|
+
export const Amplifier = {
|
|
31
|
+
None: "00",
|
|
32
|
+
TeamCrew: "11",
|
|
33
|
+
Squad: "12",
|
|
34
|
+
Section: "13",
|
|
35
|
+
PlatoonDetachment: "14",
|
|
36
|
+
CompanyBatteryTroop: "15",
|
|
37
|
+
BattalionSquadron: "16",
|
|
38
|
+
RegimentGroup: "17",
|
|
39
|
+
Brigade: "18",
|
|
40
|
+
Division: "21",
|
|
41
|
+
CorpsMef: "22",
|
|
42
|
+
Army: "23",
|
|
43
|
+
ArmyGroupFront: "24",
|
|
44
|
+
RegionTheater: "25",
|
|
45
|
+
Command: "26",
|
|
46
|
+
WheeledLimitedCrossCountry: "31",
|
|
47
|
+
WheeledCrossCountry: "32",
|
|
48
|
+
Tracked: "33",
|
|
49
|
+
WheeledTrackedCombination: "34",
|
|
50
|
+
Towed: "35",
|
|
51
|
+
Rail: "36",
|
|
52
|
+
PackAnimals: "37",
|
|
53
|
+
OverSnowPrimeMover: "41",
|
|
54
|
+
Sled: "42",
|
|
55
|
+
Barge: "51",
|
|
56
|
+
Amphibious: "52",
|
|
57
|
+
ShortTowedArray: "61",
|
|
58
|
+
LongTowedArray: "62",
|
|
59
|
+
LeaderIndividual: "71",
|
|
60
|
+
DeputyIndividual: "72",
|
|
61
|
+
};
|
|
18
62
|
/** Positions 1-2: Version / standard edition. */
|
|
19
63
|
export const Version = {
|
|
20
64
|
/** MIL-STD-2525D (edition D) */
|
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;;;;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;
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Context, Standard, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
1
|
+
export { Amplifier, Context, HqTaskForceDummy, 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,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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,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, Standard, StandardIdentity, Status, SymbolSet, Version, } from "./enums.js";
|
|
1
|
+
export { Amplifier, Context, HqTaskForceDummy, 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,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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,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, Standard, StandardIdentity, Status, SymbolSet, Version } from "./enums.js";
|
|
1
|
+
import { Amplifier, Context, HqTaskForceDummy, Standard, StandardIdentity, Status, SymbolSet, Version } from "./enums.js";
|
|
2
2
|
import { type SidcFields } from "./validate.js";
|
|
3
3
|
export interface SidcOptions {
|
|
4
4
|
/**
|
|
@@ -18,8 +18,8 @@ export interface SidcOptions {
|
|
|
18
18
|
* Fluent builder for 20-character numeric SIDC strings
|
|
19
19
|
* (MIL-STD-2525E / APP-6 coding structure).
|
|
20
20
|
*
|
|
21
|
-
* Covers positions 1-
|
|
22
|
-
*
|
|
21
|
+
* Covers all positions 1-20 of the numeric SIDC so the result can be passed
|
|
22
|
+
* straight to milsymbol's `new ms.Symbol(sidc)`.
|
|
23
23
|
*
|
|
24
24
|
* All setters are immutable: they return a new `Sidc` and leave the original
|
|
25
25
|
* untouched.
|
|
@@ -39,8 +39,11 @@ export declare class Sidc {
|
|
|
39
39
|
/**
|
|
40
40
|
* @param options Builder behaviour flags.
|
|
41
41
|
* @param fields Initial field values. Internal; used for immutable clones.
|
|
42
|
+
* Legacy records may omit the newly supported tail fields; omitted and
|
|
43
|
+
* explicitly-undefined values are normalized to their zero defaults. Every
|
|
44
|
+
* supplied value is validated, so this path cannot produce a malformed SIDC.
|
|
42
45
|
*/
|
|
43
|
-
constructor(options?: SidcOptions, fields?: SidcFields);
|
|
46
|
+
constructor(options?: SidcOptions, fields?: Partial<SidcFields> | null);
|
|
44
47
|
/**
|
|
45
48
|
* Configures the standard family and its validation rules.
|
|
46
49
|
*
|
|
@@ -48,6 +51,20 @@ export declare class Sidc {
|
|
|
48
51
|
* it is reset to that family's latest edition (APP-6 E or MIL-STD-2525E).
|
|
49
52
|
*/
|
|
50
53
|
standard(standard: Standard): Sidc;
|
|
54
|
+
/**
|
|
55
|
+
* Position 8: headquarters, task force, and feint/dummy indicator.
|
|
56
|
+
*/
|
|
57
|
+
hqTaskForceDummy(value: HqTaskForceDummy): Sidc;
|
|
58
|
+
/**
|
|
59
|
+
* Positions 9-10: echelon, mobility, leadership, or auxiliary amplifier.
|
|
60
|
+
*/
|
|
61
|
+
amplifier(value: Amplifier): Sidc;
|
|
62
|
+
/** Positions 11-16: six-digit entity code. */
|
|
63
|
+
entity(value: string): Sidc;
|
|
64
|
+
/** Positions 17-18: two-digit modifier 1 code. */
|
|
65
|
+
modifier1(value: string): Sidc;
|
|
66
|
+
/** Positions 19-20: two-digit modifier 2 code. */
|
|
67
|
+
modifier2(value: string): Sidc;
|
|
51
68
|
/** Positions 1-2: standard edition. Accepts known codes or a raw two-digit code. */
|
|
52
69
|
version(version: Version | (string & {})): Sidc;
|
|
53
70
|
/** 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,QAAQ,EACR,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,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAkBL,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;AAcD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAEjC;;;;;;OAMG;gBACS,OAAO,GAAE,WAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IA8B1E;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAUlC;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAK/C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,8CAA8C;IAC9C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B,kDAAkD;IAClD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,kDAAkD;IAClD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,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;IAK/B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAK1C,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;IAK5B;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM;IA0ClB,OAAO,CAAC,IAAI;CAGb"}
|