puzzle-lib 2.0.0-alpha.2 → 2.0.0-beta.2

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.
Files changed (246) hide show
  1. package/README.md +62 -9
  2. package/build/src/{Braille → braille}/braille.d.ts +4 -4
  3. package/build/src/braille/braille.js +121 -0
  4. package/build/src/braille/braille.js.map +1 -0
  5. package/build/src/{Braille/BrailleDot.js → braille/dot.js} +3 -6
  6. package/build/src/braille/dot.js.map +1 -0
  7. package/build/src/{Braille/BrailleEncoding.js → braille/encoding.js} +4 -7
  8. package/build/src/braille/encoding.js.map +1 -0
  9. package/build/src/braille/index.d.ts +3 -0
  10. package/build/src/braille/index.js +4 -0
  11. package/build/src/braille/index.js.map +1 -0
  12. package/build/src/{Cipher → cipher}/cipher.js +10 -20
  13. package/build/src/cipher/cipher.js.map +1 -0
  14. package/build/src/cipher/index.d.ts +1 -0
  15. package/build/src/cipher/index.js +2 -0
  16. package/build/src/cipher/index.js.map +1 -0
  17. package/build/src/{Common/CharacterImage.d.ts → common/character-image.d.ts} +1 -1
  18. package/build/src/common/character-image.js +9 -0
  19. package/build/src/common/character-image.js.map +1 -0
  20. package/build/src/{Common/EncodingCategory.js → common/encoding-category.js} +3 -6
  21. package/build/src/common/encoding-category.js.map +1 -0
  22. package/build/src/{Common/EncodingEntry.d.ts → common/encoding-entry.d.ts} +1 -1
  23. package/build/src/{Common/EncodingEntry.js → common/encoding-entry.js} +2 -6
  24. package/build/src/common/encoding-entry.js.map +1 -0
  25. package/build/src/{Common/EncodingLookupResult.d.ts → common/encoding-lookup-result.d.ts} +1 -1
  26. package/build/src/common/encoding-lookup-result.js +8 -0
  27. package/build/src/common/encoding-lookup-result.js.map +1 -0
  28. package/build/src/common/index.d.ts +5 -0
  29. package/build/src/common/index.js +6 -0
  30. package/build/src/common/index.js.map +1 -0
  31. package/build/src/{Common/InlineSvg.js → common/inline-svg.js} +2 -6
  32. package/build/src/common/inline-svg.js.map +1 -0
  33. package/build/src/{Conversion/characterConversion.d.ts → conversion/character-conversion.d.ts} +1 -1
  34. package/build/src/{Conversion/characterConversion.js → conversion/character-conversion.js} +7 -13
  35. package/build/src/conversion/character-conversion.js.map +1 -0
  36. package/build/src/{Conversion/CharacterEncoding.d.ts → conversion/character-encoding.d.ts} +2 -1
  37. package/build/src/{Conversion/CharacterEncoding.js → conversion/character-encoding.js} +4 -6
  38. package/build/src/conversion/character-encoding.js.map +1 -0
  39. package/build/src/{Conversion/CharacterTableEntry.js → conversion/character-table-entry.js} +2 -6
  40. package/build/src/conversion/character-table-entry.js.map +1 -0
  41. package/build/src/{Conversion → conversion}/conversion.d.ts +3 -1
  42. package/build/src/conversion/conversion.js +183 -0
  43. package/build/src/conversion/conversion.js.map +1 -0
  44. package/build/src/conversion/index.d.ts +5 -0
  45. package/build/src/conversion/index.js +6 -0
  46. package/build/src/conversion/index.js.map +1 -0
  47. package/build/src/{Conversion/significantFigures.js → conversion/significant-figures.js} +4 -9
  48. package/build/src/conversion/significant-figures.js.map +1 -0
  49. package/build/src/{Morse/MorseEncoding.js → morse/encoding.js} +3 -6
  50. package/build/src/morse/encoding.js.map +1 -0
  51. package/build/src/morse/index.d.ts +2 -0
  52. package/build/src/morse/index.js +3 -0
  53. package/build/src/morse/index.js.map +1 -0
  54. package/build/src/{Morse → morse}/morse.d.ts +5 -5
  55. package/build/src/morse/morse.js +222 -0
  56. package/build/src/morse/morse.js.map +1 -0
  57. package/build/src/nato/character.js +9 -0
  58. package/build/src/nato/character.js.map +1 -0
  59. package/build/src/nato/index.d.ts +2 -0
  60. package/build/src/nato/index.js +3 -0
  61. package/build/src/nato/index.js.map +1 -0
  62. package/build/src/{Nato → nato}/nato.d.ts +1 -1
  63. package/build/src/nato/nato.js +33 -0
  64. package/build/src/nato/nato.js.map +1 -0
  65. package/build/src/naval-flags/index.d.ts +1 -0
  66. package/build/src/naval-flags/index.js +2 -0
  67. package/build/src/naval-flags/index.js.map +1 -0
  68. package/build/src/{NavalFlags/navalFlags.d.ts → naval-flags/naval-flags.d.ts} +1 -1
  69. package/build/src/{NavalFlags/navalFlags.js → naval-flags/naval-flags.js} +32 -36
  70. package/build/src/naval-flags/naval-flags.js.map +1 -0
  71. package/build/src/ngrams/bigrams.d.ts +2 -0
  72. package/build/src/ngrams/bigrams.js +684 -0
  73. package/build/src/ngrams/bigrams.js.map +1 -0
  74. package/build/src/ngrams/index.d.ts +1 -0
  75. package/build/src/ngrams/index.js +2 -0
  76. package/build/src/ngrams/index.js.map +1 -0
  77. package/build/src/ngrams/ngrams.d.ts +13 -0
  78. package/build/src/ngrams/ngrams.js +71 -0
  79. package/build/src/ngrams/ngrams.js.map +1 -0
  80. package/build/src/ngrams/trigrams.d.ts +2 -0
  81. package/build/src/ngrams/trigrams.js +17583 -0
  82. package/build/src/ngrams/trigrams.js.map +1 -0
  83. package/build/src/ngrams/unigrams.d.ts +2 -0
  84. package/build/src/ngrams/unigrams.js +34 -0
  85. package/build/src/ngrams/unigrams.js.map +1 -0
  86. package/build/src/phone/index.d.ts +2 -0
  87. package/build/src/phone/index.js +2 -0
  88. package/build/src/phone/index.js.map +1 -0
  89. package/build/src/phone/phone-mapping.d.ts +10 -0
  90. package/build/src/phone/phone-mapping.js +27 -0
  91. package/build/src/phone/phone-mapping.js.map +1 -0
  92. package/build/src/phone/phone.d.ts +27 -0
  93. package/build/src/phone/phone.js +62 -0
  94. package/build/src/phone/phone.js.map +1 -0
  95. package/build/src/pigpen/encoding.d.ts +29 -0
  96. package/build/src/pigpen/encoding.js +36 -0
  97. package/build/src/pigpen/encoding.js.map +1 -0
  98. package/build/src/pigpen/index.d.ts +3 -0
  99. package/build/src/pigpen/index.js +4 -0
  100. package/build/src/pigpen/index.js.map +1 -0
  101. package/build/src/pigpen/pigpen.d.ts +35 -0
  102. package/build/src/pigpen/pigpen.js +137 -0
  103. package/build/src/pigpen/pigpen.js.map +1 -0
  104. package/build/src/pigpen/segment.d.ts +12 -0
  105. package/build/src/pigpen/segment.js +14 -0
  106. package/build/src/pigpen/segment.js.map +1 -0
  107. package/build/src/resistor/index.d.ts +2 -0
  108. package/build/src/resistor/index.js +2 -0
  109. package/build/src/resistor/index.js.map +1 -0
  110. package/build/src/{Resistor → resistor}/resistor.js +7 -14
  111. package/build/src/resistor/resistor.js.map +1 -0
  112. package/build/src/{Semaphore/SemaphoreDirection.js → semaphore/direction.js} +3 -6
  113. package/build/src/semaphore/direction.js.map +1 -0
  114. package/build/src/{Semaphore/SemaphoreEncoding.js → semaphore/encoding.js} +4 -7
  115. package/build/src/semaphore/encoding.js.map +1 -0
  116. package/build/src/semaphore/index.d.ts +3 -0
  117. package/build/src/semaphore/index.js +4 -0
  118. package/build/src/semaphore/index.js.map +1 -0
  119. package/build/src/{Semaphore → semaphore}/semaphore.d.ts +4 -4
  120. package/build/src/semaphore/semaphore.js +207 -0
  121. package/build/src/semaphore/semaphore.js.map +1 -0
  122. package/build/src/{WordSearch/WordSearchDirection.js → word-search/direction.js} +3 -6
  123. package/build/src/word-search/direction.js.map +1 -0
  124. package/build/src/word-search/index.d.ts +5 -0
  125. package/build/src/word-search/index.js +4 -0
  126. package/build/src/word-search/index.js.map +1 -0
  127. package/build/src/word-search/point.d.ts +4 -0
  128. package/build/src/word-search/point.js +2 -0
  129. package/build/src/word-search/point.js.map +1 -0
  130. package/build/src/word-search/result.d.ts +6 -0
  131. package/build/src/word-search/result.js +9 -0
  132. package/build/src/word-search/result.js.map +1 -0
  133. package/build/src/word-search/word-search.d.ts +10 -0
  134. package/build/src/{WordSearch/wordSearch.js → word-search/word-search.js} +28 -55
  135. package/build/src/word-search/word-search.js.map +1 -0
  136. package/package.json +57 -3
  137. package/src/{Braille → braille}/braille.ts +5 -5
  138. package/src/{Braille/BrailleEncoding.ts → braille/encoding.ts} +1 -1
  139. package/src/braille/index.ts +8 -0
  140. package/src/{Cipher → cipher}/cipher.ts +1 -1
  141. package/src/cipher/index.ts +10 -0
  142. package/src/{Common/CharacterImage.ts → common/character-image.ts} +1 -1
  143. package/src/{Common/EncodingEntry.ts → common/encoding-entry.ts} +1 -1
  144. package/src/{Common/EncodingLookupResult.ts → common/encoding-lookup-result.ts} +1 -1
  145. package/src/common/index.ts +5 -0
  146. package/src/{Conversion/characterConversion.ts → conversion/character-conversion.ts} +1 -1
  147. package/src/{Conversion/CharacterEncoding.ts → conversion/character-encoding.ts} +1 -0
  148. package/src/{Conversion → conversion}/conversion.ts +77 -2
  149. package/src/conversion/index.ts +15 -0
  150. package/src/morse/index.ts +14 -0
  151. package/src/{Morse → morse}/morse.ts +6 -6
  152. package/src/nato/index.ts +2 -0
  153. package/src/{Nato → nato}/nato.ts +1 -1
  154. package/src/naval-flags/index.ts +1 -0
  155. package/src/{NavalFlags/navalFlags.ts → naval-flags/naval-flags.ts} +2 -2
  156. package/src/ngrams/bigrams.ts +684 -0
  157. package/src/ngrams/index.ts +1 -0
  158. package/src/ngrams/ngrams.ts +73 -0
  159. package/src/ngrams/trigrams.ts +17584 -0
  160. package/src/ngrams/unigrams.ts +34 -0
  161. package/src/phone/index.ts +2 -0
  162. package/src/phone/phone-mapping.ts +27 -0
  163. package/src/phone/phone.ts +77 -0
  164. package/src/pigpen/encoding.ts +66 -0
  165. package/src/pigpen/index.ts +11 -0
  166. package/src/pigpen/pigpen.ts +168 -0
  167. package/src/pigpen/segment.ts +12 -0
  168. package/src/resistor/index.ts +9 -0
  169. package/src/{Semaphore/SemaphoreEncoding.ts → semaphore/encoding.ts} +1 -1
  170. package/src/semaphore/index.ts +13 -0
  171. package/src/{Semaphore → semaphore}/semaphore.ts +5 -5
  172. package/src/trie-prefix-tree.d.ts +1 -3
  173. package/src/word-search/index.ts +5 -0
  174. package/src/word-search/point.ts +4 -0
  175. package/src/word-search/result.ts +10 -0
  176. package/src/{WordSearch/wordSearch.ts → word-search/word-search.ts} +44 -70
  177. package/build/src/Braille/BrailleDot.js.map +0 -1
  178. package/build/src/Braille/BrailleEncoding.js.map +0 -1
  179. package/build/src/Braille/braille.js +0 -127
  180. package/build/src/Braille/braille.js.map +0 -1
  181. package/build/src/Cipher/cipher.js.map +0 -1
  182. package/build/src/Common/CharacterImage.js +0 -13
  183. package/build/src/Common/CharacterImage.js.map +0 -1
  184. package/build/src/Common/EncodingCategory.js.map +0 -1
  185. package/build/src/Common/EncodingEntry.js.map +0 -1
  186. package/build/src/Common/EncodingLookupResult.js +0 -12
  187. package/build/src/Common/EncodingLookupResult.js.map +0 -1
  188. package/build/src/Common/InlineSvg.js.map +0 -1
  189. package/build/src/Conversion/CharacterEncoding.js.map +0 -1
  190. package/build/src/Conversion/CharacterTableEntry.js.map +0 -1
  191. package/build/src/Conversion/characterConversion.js.map +0 -1
  192. package/build/src/Conversion/conversion.js +0 -130
  193. package/build/src/Conversion/conversion.js.map +0 -1
  194. package/build/src/Conversion/significantFigures.js.map +0 -1
  195. package/build/src/Morse/MorseEncoding.js.map +0 -1
  196. package/build/src/Morse/morse.js +0 -232
  197. package/build/src/Morse/morse.js.map +0 -1
  198. package/build/src/Nato/NatoCharacter.js +0 -13
  199. package/build/src/Nato/NatoCharacter.js.map +0 -1
  200. package/build/src/Nato/nato.js +0 -37
  201. package/build/src/Nato/nato.js.map +0 -1
  202. package/build/src/NavalFlags/navalFlags.js.map +0 -1
  203. package/build/src/Resistor/resistor.js.map +0 -1
  204. package/build/src/Semaphore/SemaphoreDirection.js.map +0 -1
  205. package/build/src/Semaphore/SemaphoreEncoding.js.map +0 -1
  206. package/build/src/Semaphore/semaphore.js +0 -218
  207. package/build/src/Semaphore/semaphore.js.map +0 -1
  208. package/build/src/WordSearch/Point.d.ts +0 -4
  209. package/build/src/WordSearch/Point.js +0 -3
  210. package/build/src/WordSearch/Point.js.map +0 -1
  211. package/build/src/WordSearch/Result.d.ts +0 -6
  212. package/build/src/WordSearch/Result.js +0 -13
  213. package/build/src/WordSearch/Result.js.map +0 -1
  214. package/build/src/WordSearch/WordSearchDirection.js.map +0 -1
  215. package/build/src/WordSearch/wordSearch.d.ts +0 -16
  216. package/build/src/WordSearch/wordSearch.js.map +0 -1
  217. package/build/src/index.d.ts +0 -29
  218. package/build/src/index.js +0 -102
  219. package/build/src/index.js.map +0 -1
  220. package/src/WordSearch/Point.ts +0 -4
  221. package/src/WordSearch/Result.ts +0 -10
  222. package/src/index.ts +0 -90
  223. /package/build/src/{Braille/BrailleDot.d.ts → braille/dot.d.ts} +0 -0
  224. /package/build/src/{Braille/BrailleEncoding.d.ts → braille/encoding.d.ts} +0 -0
  225. /package/build/src/{Cipher → cipher}/cipher.d.ts +0 -0
  226. /package/build/src/{Common/EncodingCategory.d.ts → common/encoding-category.d.ts} +0 -0
  227. /package/build/src/{Common/InlineSvg.d.ts → common/inline-svg.d.ts} +0 -0
  228. /package/build/src/{Conversion/CharacterTableEntry.d.ts → conversion/character-table-entry.d.ts} +0 -0
  229. /package/build/src/{Conversion/significantFigures.d.ts → conversion/significant-figures.d.ts} +0 -0
  230. /package/build/src/{Morse/MorseEncoding.d.ts → morse/encoding.d.ts} +0 -0
  231. /package/build/src/{Nato/NatoCharacter.d.ts → nato/character.d.ts} +0 -0
  232. /package/build/src/{Resistor → resistor}/resistor.d.ts +0 -0
  233. /package/build/src/{Semaphore/SemaphoreDirection.d.ts → semaphore/direction.d.ts} +0 -0
  234. /package/build/src/{Semaphore/SemaphoreEncoding.d.ts → semaphore/encoding.d.ts} +0 -0
  235. /package/build/src/{WordSearch/WordSearchDirection.d.ts → word-search/direction.d.ts} +0 -0
  236. /package/src/{Braille/BrailleDot.ts → braille/dot.ts} +0 -0
  237. /package/src/{Common/EncodingCategory.ts → common/encoding-category.ts} +0 -0
  238. /package/src/{Common/InlineSvg.ts → common/inline-svg.ts} +0 -0
  239. /package/src/{Conversion/CharacterTableEntry.ts → conversion/character-table-entry.ts} +0 -0
  240. /package/src/{Conversion/significantFigures.ts → conversion/significant-figures.ts} +0 -0
  241. /package/src/{Morse/MorseEncoding.ts → morse/encoding.ts} +0 -0
  242. /package/src/{Nato/NatoCharacter.ts → nato/character.ts} +0 -0
  243. /package/src/{NavalFlags → naval-flags}/LICENSE +0 -0
  244. /package/src/{Resistor → resistor}/resistor.ts +0 -0
  245. /package/src/{Semaphore/SemaphoreDirection.ts → semaphore/direction.ts} +0 -0
  246. /package/src/{WordSearch/WordSearchDirection.ts → word-search/direction.ts} +0 -0
@@ -1,7 +1,8 @@
1
- import {CharacterEncoding} from './CharacterEncoding';
1
+ import {CharacterEncoding} from './character-encoding.js';
2
2
 
3
3
  const BINARY_REGEX = /^[01]+$/;
4
4
  const TERNARY_REGEX = /^[0-2]{3}$/;
5
+ const HEX_REGEX = /^[0-9a-f]{2}$/i;
5
6
 
6
7
  function appearsBinary(str: string): boolean {
7
8
  return BINARY_REGEX.test(str);
@@ -18,10 +19,26 @@ function asciiPrintable(index: number): string {
18
19
  return String.fromCharCode(index);
19
20
  }
20
21
 
22
+ /**
23
+ * Checks if a token could be valid printable hex.
24
+ */
25
+ function appearsHexPrintable(input: string): boolean {
26
+ if (!HEX_REGEX.test(input)) {
27
+ return false;
28
+ }
29
+ const hex = Number.parseInt(input, 16);
30
+ return hex >= 32 && hex <= 126;
31
+ }
32
+
21
33
  /**
22
34
  * Determines the character encoding of a single input token.
23
35
  */
24
36
  export function determineCharacterEncoding(input: string): CharacterEncoding {
37
+ // Unambiguous hex: 2 hex chars with at least one a-f letter and at least one digit
38
+ if (HEX_REGEX.test(input) && /[a-f]/i.test(input) && /[0-9]/.test(input)) {
39
+ return CharacterEncoding.Hexadecimal;
40
+ }
41
+
25
42
  if (input.match(/[a-z]/i)) {
26
43
  return CharacterEncoding.Latin;
27
44
  }
@@ -51,6 +68,11 @@ export function determineCharacterEncoding(input: string): CharacterEncoding {
51
68
  return CharacterEncoding.Ascii;
52
69
  }
53
70
 
71
+ // All-digit 2-char tokens that aren't decimal but are valid printable hex
72
+ if (appearsHexPrintable(input)) {
73
+ return CharacterEncoding.Hexadecimal;
74
+ }
75
+
54
76
  return CharacterEncoding.None;
55
77
  }
56
78
 
@@ -77,6 +99,14 @@ export function convertCharacter(
77
99
  return asciiPrintable(baseTen);
78
100
  }
79
101
 
102
+ if (encoding === CharacterEncoding.Hexadecimal) {
103
+ const hex = Number.parseInt(input, 16);
104
+ if (Number.isNaN(hex)) {
105
+ return '';
106
+ }
107
+ return asciiPrintable(hex);
108
+ }
109
+
80
110
  const asciiOffset = 64;
81
111
  if (encoding === CharacterEncoding.Ordinal) {
82
112
  return asciiPrintable(baseTen + asciiOffset);
@@ -98,12 +128,33 @@ export function convertCharacter(
98
128
  return '';
99
129
  }
100
130
 
131
+ // Auto-chunk a continuous binary string into 8-bit, 7-bit, or 5-bit groups.
132
+ function chunkBinary(token: string): string[] {
133
+ if (!appearsBinary(token) || token.length <= 8) {
134
+ return [token];
135
+ }
136
+ const chunkSize =
137
+ token.length % 8 === 0
138
+ ? 8
139
+ : token.length % 7 === 0
140
+ ? 7
141
+ : token.length % 5 === 0
142
+ ? 5
143
+ : 8;
144
+ return token.match(new RegExp(`.{1,${chunkSize}}`, 'g'))!;
145
+ }
146
+
101
147
  function splitString(input: string): string[] {
102
- return input.split(' ').filter(item => item !== '');
148
+ return input
149
+ .split(' ')
150
+ .filter(item => item !== '')
151
+ .flatMap(chunkBinary);
103
152
  }
104
153
 
105
154
  /**
106
155
  * Determines the most common encoding across all tokens in a string.
156
+ * When hex and decimal encodings are mixed, tries hex for all tokens
157
+ * and picks whichever produces more printable results.
107
158
  */
108
159
  export function determineStringEncoding(input: string): CharacterEncoding {
109
160
  const encodingCount: {[index: number]: number} = {};
@@ -130,6 +181,30 @@ export function determineStringEncoding(input: string): CharacterEncoding {
130
181
  maxEncoding = encoding;
131
182
  }
132
183
  }
184
+
185
+ // Tiebreaker: if we have a mix of hex and decimal (Ascii/Ordinal) and the
186
+ // most common encoding is a decimal type, check if interpreting everything
187
+ // as hex produces more printable results.
188
+ const hasHex = encodingCount[CharacterEncoding.Hexadecimal] > 0;
189
+ const maxIsDecimal =
190
+ maxEncoding === CharacterEncoding.Ascii ||
191
+ maxEncoding === CharacterEncoding.Ordinal;
192
+
193
+ if (hasHex && maxIsDecimal) {
194
+ const hexPrintable = parsed.filter(
195
+ t =>
196
+ appearsHexPrintable(t) &&
197
+ convertCharacter(t, CharacterEncoding.Hexadecimal) !== '',
198
+ ).length;
199
+ const decPrintable = parsed.filter(
200
+ t => convertCharacter(t, maxEncoding) !== '',
201
+ ).length;
202
+
203
+ if (hexPrintable > decPrintable) {
204
+ return CharacterEncoding.Hexadecimal;
205
+ }
206
+ }
207
+
133
208
  return maxEncoding;
134
209
  }
135
210
 
@@ -0,0 +1,15 @@
1
+ export {
2
+ convertCharacter,
3
+ convertString,
4
+ determineCharacterEncoding,
5
+ determineStringEncoding,
6
+ } from './conversion.js';
7
+ export {
8
+ getAsciiTable,
9
+ getOrdinalTable,
10
+ toAscii,
11
+ toOrdinal,
12
+ } from './character-conversion.js';
13
+ export {CharacterEncoding} from './character-encoding.js';
14
+ export {CharacterTableEntry} from './character-table-entry.js';
15
+ export {sigFigCeil, sigFigFloor, sigFigRound} from './significant-figures.js';
@@ -0,0 +1,14 @@
1
+ export {
2
+ decodeMorse,
3
+ invertAndReverseMorse,
4
+ invertMorse,
5
+ lookupMorseEncoding,
6
+ morseEncodingToString,
7
+ MORSE_CHARACTER_DIVIDER,
8
+ MORSE_DASH,
9
+ MORSE_DOT,
10
+ MORSE_WORD_DIVIDER,
11
+ parseMorseString,
12
+ reverseMorse,
13
+ } from './morse.js';
14
+ export {MorseEncoding} from './encoding.js';
@@ -1,12 +1,12 @@
1
- import {EncodingCategory} from '../Common/EncodingCategory';
2
- import {EncodingEntry} from '../Common/EncodingEntry';
3
- import {EncodingLookupResult} from '../Common/EncodingLookupResult';
4
- import {MorseEncoding} from './MorseEncoding';
1
+ import {EncodingCategory} from '../common/encoding-category.js';
2
+ import {EncodingEntry} from '../common/encoding-entry.js';
3
+ import {EncodingLookupResult} from '../common/encoding-lookup-result.js';
4
+ import {MorseEncoding} from './encoding.js';
5
5
 
6
6
  export const MORSE_DOT = '.';
7
7
  export const MORSE_DASH = '-';
8
- export const MORSE_CHARACTER_DIVIDER = '/';
9
- export const MORSE_WORD_DIVIDER = ' ';
8
+ export const MORSE_CHARACTER_DIVIDER = ' ';
9
+ export const MORSE_WORD_DIVIDER = '/';
10
10
 
11
11
  // Reserved character used internally for dot/dash swap
12
12
  const RESERVED_DIVIDER = 'A';
@@ -0,0 +1,2 @@
1
+ export {lookupNatoPhonetic, NATO_ALPHABET} from './nato.js';
2
+ export {NatoCharacter} from './character.js';
@@ -1,4 +1,4 @@
1
- import {NatoCharacter} from './NatoCharacter';
1
+ import {NatoCharacter} from './character.js';
2
2
 
3
3
  export const NATO_ALPHABET: readonly NatoCharacter[] = [
4
4
  new NatoCharacter('A', 'Alfa'),
@@ -0,0 +1 @@
1
+ export {getNavalFlag, NAVAL_FLAGS} from './naval-flags.js';
@@ -1,5 +1,5 @@
1
- import {CharacterImage} from '../Common/CharacterImage';
2
- import {InlineSvg} from '../Common/InlineSvg';
1
+ import {CharacterImage} from '../common/character-image.js';
2
+ import {InlineSvg} from '../common/inline-svg.js';
3
3
 
4
4
  export const NAVAL_FLAGS: readonly CharacterImage[] = [
5
5
  new CharacterImage(