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
package/README.md CHANGED
@@ -3,27 +3,79 @@
3
3
  ![puzzle-lib CI](https://github.com/puzztool/puzzle-lib/workflows/puzzle-lib%20CI/badge.svg)
4
4
  [![npm](https://img.shields.io/npm/v/puzzle-lib.svg)](https://www.npmjs.com/package/puzzle-lib)
5
5
 
6
- Library of puzzle-solving algorithms
6
+ A TypeScript library of puzzle-solving algorithms. Includes tools for ciphers,
7
+ encodings, conversions, and more.
7
8
 
8
- ## Usage
9
+ ## Installation
9
10
 
10
11
  ```console
11
- $ npm install --save puzzle-lib
12
+ $ npm install puzzle-lib
12
13
  ```
13
14
 
15
+ ## Usage
16
+
17
+ > **Breaking change in v2:** There is no longer a root `puzzle-lib` import.
18
+ > Use the subpath imports shown below.
19
+
20
+ puzzle-lib uses [subpath exports](https://nodejs.org/api/packages.html#subpath-exports)
21
+ so you import from the specific module you need:
22
+
14
23
  ```ts
15
- import { decodeMorse, caesarRotations, vigenereEncrypt } from 'puzzle-lib';
24
+ import {caesarRotations, vigenereEncrypt} from 'puzzle-lib/cipher';
25
+ import {decodeMorse} from 'puzzle-lib/morse';
26
+ import {convertString} from 'puzzle-lib/conversion';
27
+ ```
16
28
 
17
- // Decode morse code
18
- decodeMorse('.----/..---/...--'); // '123'
29
+ This enables tree-shaking — your bundler only includes the modules you
30
+ actually use.
31
+
32
+ ### Quick examples
19
33
 
20
- // Get all Caesar cipher rotations
34
+ ```ts
35
+ import {caesarRotations, vigenereEncrypt} from 'puzzle-lib/cipher';
36
+
37
+ // Get all 26 Caesar cipher rotations
21
38
  caesarRotations('hello');
22
39
 
23
40
  // Vigenère encrypt
24
- vigenereEncrypt('hello', 'key');
41
+ vigenereEncrypt('hello', 'key'); // 'rijvs'
42
+ ```
43
+
44
+ ```ts
45
+ import {decodeMorse} from 'puzzle-lib/morse';
46
+
47
+ // Decode morse code
48
+ decodeMorse('.---- ..--- ...--'); // '123'
49
+ decodeMorse('.... . .-.. .-.. --- / .-- --- .-. .-.. -..'); // 'HELLO WORLD'
25
50
  ```
26
51
 
52
+ ```ts
53
+ import {lookupBrailleEncoding} from 'puzzle-lib/braille';
54
+
55
+ // Look up a braille encoding
56
+ const result = lookupBrailleEncoding(0b101010);
57
+ ```
58
+
59
+ ## Modules
60
+
61
+ | Module | Import path | Description |
62
+ | ----------- | ------------------------ | --------------------------------------------------------- |
63
+ | Braille | `puzzle-lib/braille` | Braille encoding/decoding |
64
+ | Cipher | `puzzle-lib/cipher` | Caesar, Vigenère, and Autokey ciphers |
65
+ | Common | `puzzle-lib/common` | Shared types (`EncodingCategory`, `CharacterImage`, etc.) |
66
+ | Conversion | `puzzle-lib/conversion` | Character encoding conversion and ASCII/ordinal tables |
67
+ | Morse | `puzzle-lib/morse` | Morse code encoding/decoding |
68
+ | NATO | `puzzle-lib/nato` | NATO phonetic alphabet lookup |
69
+ | Naval Flags | `puzzle-lib/naval-flags` | International naval signal flags |
70
+ | Ngrams | `puzzle-lib/ngrams` | English letter n-gram scoring functions |
71
+ | Phone | `puzzle-lib/phone` | Phone keypad to text conversion with n-gram ranking |
72
+ | Pigpen | `puzzle-lib/pigpen` | Pigpen cipher encoding/decoding |
73
+ | Resistor | `puzzle-lib/resistor` | Resistor color code calculator |
74
+ | Semaphore | `puzzle-lib/semaphore` | Flag semaphore encoding/decoding |
75
+ | Word Search | `puzzle-lib/word-search` | Word search grid solver |
76
+
77
+ See [docs/API.md](docs/API.md) for the full API reference.
78
+
27
79
  ## Contributing
28
80
 
29
81
  The library and tests are written in TypeScript. Tests use
@@ -45,6 +97,7 @@ $ npm run lint
45
97
  To use local changes in another project:
46
98
 
47
99
  ```console
100
+ $ npm pack
48
101
  $ cd <path to other project>
49
- $ npm link <path to puzzle-lib>
102
+ $ npm install <path to puzzle-lib tarball>
50
103
  ```
@@ -1,7 +1,7 @@
1
- import { EncodingCategory } from '../Common/EncodingCategory';
2
- import { EncodingLookupResult } from '../Common/EncodingLookupResult';
3
- import { BrailleDot } from './BrailleDot';
4
- import { BrailleEncoding } from './BrailleEncoding';
1
+ import { EncodingCategory } from '../common/encoding-category.js';
2
+ import { EncodingLookupResult } from '../common/encoding-lookup-result.js';
3
+ import { BrailleDot } from './dot.js';
4
+ import { BrailleEncoding } from './encoding.js';
5
5
  /**
6
6
  * Looks up a braille encoding in the data table.
7
7
  */
@@ -0,0 +1,121 @@
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 { BrailleEncoding } from './encoding.js';
5
+ // Build the lookup table once
6
+ const BRAILLE_ENTRIES = [];
7
+ function addEntry(encoding, category, display) {
8
+ BRAILLE_ENTRIES.push(new EncodingEntry(encoding, category, display));
9
+ }
10
+ // Letters
11
+ addEntry(BrailleEncoding.LetterA, EncodingCategory.Letter, 'A');
12
+ addEntry(BrailleEncoding.LetterB, EncodingCategory.Letter, 'B');
13
+ addEntry(BrailleEncoding.LetterC, EncodingCategory.Letter, 'C');
14
+ addEntry(BrailleEncoding.LetterD, EncodingCategory.Letter, 'D');
15
+ addEntry(BrailleEncoding.LetterE, EncodingCategory.Letter, 'E');
16
+ addEntry(BrailleEncoding.LetterF, EncodingCategory.Letter, 'F');
17
+ addEntry(BrailleEncoding.LetterG, EncodingCategory.Letter, 'G');
18
+ addEntry(BrailleEncoding.LetterH, EncodingCategory.Letter, 'H');
19
+ addEntry(BrailleEncoding.LetterI, EncodingCategory.Letter, 'I');
20
+ addEntry(BrailleEncoding.LetterJ, EncodingCategory.Letter, 'J');
21
+ addEntry(BrailleEncoding.LetterK, EncodingCategory.Letter, 'K');
22
+ addEntry(BrailleEncoding.LetterL, EncodingCategory.Letter, 'L');
23
+ addEntry(BrailleEncoding.LetterM, EncodingCategory.Letter, 'M');
24
+ addEntry(BrailleEncoding.LetterN, EncodingCategory.Letter, 'N');
25
+ addEntry(BrailleEncoding.LetterO, EncodingCategory.Letter, 'O');
26
+ addEntry(BrailleEncoding.LetterP, EncodingCategory.Letter, 'P');
27
+ addEntry(BrailleEncoding.LetterQ, EncodingCategory.Letter, 'Q');
28
+ addEntry(BrailleEncoding.LetterR, EncodingCategory.Letter, 'R');
29
+ addEntry(BrailleEncoding.LetterS, EncodingCategory.Letter, 'S');
30
+ addEntry(BrailleEncoding.LetterT, EncodingCategory.Letter, 'T');
31
+ addEntry(BrailleEncoding.LetterU, EncodingCategory.Letter, 'U');
32
+ addEntry(BrailleEncoding.LetterV, EncodingCategory.Letter, 'V');
33
+ addEntry(BrailleEncoding.LetterW, EncodingCategory.Letter, 'W');
34
+ addEntry(BrailleEncoding.LetterX, EncodingCategory.Letter, 'X');
35
+ addEntry(BrailleEncoding.LetterY, EncodingCategory.Letter, 'Y');
36
+ addEntry(BrailleEncoding.LetterZ, EncodingCategory.Letter, 'Z');
37
+ // Numbers
38
+ addEntry(BrailleEncoding.Number0, EncodingCategory.Number, '0');
39
+ addEntry(BrailleEncoding.Number1, EncodingCategory.Number, '1');
40
+ addEntry(BrailleEncoding.Number2, EncodingCategory.Number, '2');
41
+ addEntry(BrailleEncoding.Number3, EncodingCategory.Number, '3');
42
+ addEntry(BrailleEncoding.Number4, EncodingCategory.Number, '4');
43
+ addEntry(BrailleEncoding.Number5, EncodingCategory.Number, '5');
44
+ addEntry(BrailleEncoding.Number6, EncodingCategory.Number, '6');
45
+ addEntry(BrailleEncoding.Number7, EncodingCategory.Number, '7');
46
+ addEntry(BrailleEncoding.Number8, EncodingCategory.Number, '8');
47
+ addEntry(BrailleEncoding.Number9, EncodingCategory.Number, '9');
48
+ // Formatting
49
+ addEntry(BrailleEncoding.FormattingNumber, EncodingCategory.Formatting, '#');
50
+ addEntry(BrailleEncoding.FormattingCapital, EncodingCategory.Formatting, '^');
51
+ // Punctuation
52
+ addEntry(BrailleEncoding.PunctuationComma, EncodingCategory.Punctuation, ',');
53
+ addEntry(BrailleEncoding.PunctuationSemicolon, EncodingCategory.Punctuation, ';');
54
+ addEntry(BrailleEncoding.PunctuationApostrophe, EncodingCategory.Punctuation, "'");
55
+ addEntry(BrailleEncoding.PunctuationColon, EncodingCategory.Punctuation, ':');
56
+ addEntry(BrailleEncoding.PunctuationHyphen, EncodingCategory.Punctuation, '-');
57
+ addEntry(BrailleEncoding.PunctuationDecimalPoint, EncodingCategory.Punctuation, '.');
58
+ addEntry(BrailleEncoding.PunctuationFullStop, EncodingCategory.Punctuation, '.');
59
+ addEntry(BrailleEncoding.PunctuationExclamationPoint, EncodingCategory.Punctuation, '!');
60
+ addEntry(BrailleEncoding.PunctuationOpenQuote, EncodingCategory.Punctuation, '"');
61
+ addEntry(BrailleEncoding.PunctuationQuestionMark, EncodingCategory.Punctuation, '?');
62
+ addEntry(BrailleEncoding.PunctuationCloseQuote, EncodingCategory.Punctuation, '"');
63
+ addEntry(BrailleEncoding.PunctuationBracket, EncodingCategory.Punctuation, '(');
64
+ addEntry(BrailleEncoding.PunctuationBracket, EncodingCategory.Punctuation, ')');
65
+ addEntry(BrailleEncoding.PunctuationSlash, EncodingCategory.Punctuation, '/');
66
+ /**
67
+ * Looks up a braille encoding in the data table.
68
+ */
69
+ export function lookupBrailleEncoding(encoding, category = EncodingCategory.All) {
70
+ const result = new EncodingLookupResult();
71
+ for (const entry of BRAILLE_ENTRIES) {
72
+ if ((entry.category & category) !== 0) {
73
+ if (entry.encoding === encoding) {
74
+ result.exact.push(entry);
75
+ }
76
+ else if ((entry.encoding & encoding) === encoding) {
77
+ result.partial.push(entry);
78
+ }
79
+ }
80
+ }
81
+ return result;
82
+ }
83
+ /**
84
+ * Toggles a dot (or encoding bitmask) on/off, returns the new encoding.
85
+ */
86
+ export function toggleBrailleDot(encoding, dot) {
87
+ return encoding ^ dot;
88
+ }
89
+ /**
90
+ * Checks if a dot (or encoding bitmask) is set.
91
+ */
92
+ export function getBrailleDot(encoding, dot) {
93
+ return (encoding & dot) === dot;
94
+ }
95
+ /**
96
+ * Decodes an array of braille encodings to a string, handling number mode.
97
+ */
98
+ export function decodeBrailleStream(encodings) {
99
+ let result = '';
100
+ let numberMode = false;
101
+ for (const ch of encodings) {
102
+ if (ch === BrailleEncoding.None) {
103
+ numberMode = false;
104
+ result += ' ';
105
+ }
106
+ else if (ch === BrailleEncoding.FormattingNumber) {
107
+ numberMode = true;
108
+ result += '#';
109
+ }
110
+ else {
111
+ const category = EncodingCategory.Punctuation |
112
+ (numberMode ? EncodingCategory.Number : EncodingCategory.Letter);
113
+ const lookup = lookupBrailleEncoding(ch, category);
114
+ if (lookup.exact.length > 0) {
115
+ result += lookup.exact[0].toString();
116
+ }
117
+ }
118
+ }
119
+ return result;
120
+ }
121
+ //# sourceMappingURL=braille.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"braille.js","sourceRoot":"","sources":["../../../src/braille/braille.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BrailleDot = void 0;
4
- var BrailleDot;
1
+ export var BrailleDot;
5
2
  (function (BrailleDot) {
6
3
  BrailleDot[BrailleDot["None"] = 0] = "None";
7
4
  BrailleDot[BrailleDot["UpperLeft"] = 1] = "UpperLeft";
@@ -10,5 +7,5 @@ var BrailleDot;
10
7
  BrailleDot[BrailleDot["UpperRight"] = 8] = "UpperRight";
11
8
  BrailleDot[BrailleDot["MiddleRight"] = 16] = "MiddleRight";
12
9
  BrailleDot[BrailleDot["LowerRight"] = 32] = "LowerRight";
13
- })(BrailleDot || (exports.BrailleDot = BrailleDot = {}));
14
- //# sourceMappingURL=BrailleDot.js.map
10
+ })(BrailleDot || (BrailleDot = {}));
11
+ //# sourceMappingURL=dot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dot.js","sourceRoot":"","sources":["../../../src/braille/dot.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,2CAAQ,CAAA;IACR,qDAAkB,CAAA;IAClB,uDAAmB,CAAA;IACnB,qDAAkB,CAAA;IAClB,uDAAmB,CAAA;IACnB,0DAAoB,CAAA;IACpB,wDAAmB,CAAA;AACrB,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BrailleEncoding = void 0;
4
- const BrailleDot_1 = require("./BrailleDot");
5
- var BrailleEncoding;
1
+ import { BrailleDot } from './dot.js';
2
+ export var BrailleEncoding;
6
3
  (function (BrailleEncoding) {
7
4
  BrailleEncoding[BrailleEncoding["None"] = 0] = "None";
8
5
  // Letters (first decade)
@@ -63,5 +60,5 @@ var BrailleEncoding;
63
60
  BrailleEncoding[BrailleEncoding["PunctuationCloseQuote"] = 52] = "PunctuationCloseQuote";
64
61
  BrailleEncoding[BrailleEncoding["PunctuationBracket"] = 54] = "PunctuationBracket";
65
62
  BrailleEncoding[BrailleEncoding["PunctuationSlash"] = 12] = "PunctuationSlash";
66
- })(BrailleEncoding || (exports.BrailleEncoding = BrailleEncoding = {}));
67
- //# sourceMappingURL=BrailleEncoding.js.map
63
+ })(BrailleEncoding || (BrailleEncoding = {}));
64
+ //# sourceMappingURL=encoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/braille/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAN,IAAY,eA6IX;AA7ID,WAAY,eAAe;IACzB,qDAAI,CAAA;IAEJ,yBAAyB;IACzB,2DAA8B,CAAA;IAC9B,2DAAsD,CAAA;IACtD,2DAAsD,CAAA;IACtD,4DAEwB,CAAA;IACxB,4DAAuD,CAAA;IACvD,4DAEuB,CAAA;IACvB,4DAGwB,CAAA;IACxB,4DAEwB,CAAA;IACxB,4DAAuD,CAAA;IACvD,4DAEwB,CAAA;IAExB,0BAA0B;IAC1B,2DAAqD,CAAA;IACrD,2DAA6E,CAAA;IAC7E,4DAA6E,CAAA;IAC7E,4DAGwB,CAAA;IACxB,4DAEwB,CAAA;IACxB,4DAGuB,CAAA;IACvB,4DAIwB,CAAA;IACxB,4DAGwB,CAAA;IACxB,4DAEuB,CAAA;IACvB,4DAGwB,CAAA;IAExB,yBAAyB;IACzB,4DAA6E,CAAA;IAC7E,4DAGuB,CAAA;IACvB,4DAGuB,CAAA;IACvB,4DAIwB,CAAA;IACxB,4DAGwB,CAAA;IAExB,0BAA0B;IAC1B,4DAGwB,CAAA;IAExB,UAAU;IACV,2DAA8B,CAAA;IAC9B,2DAAsD,CAAA;IACtD,2DAAsD,CAAA;IACtD,4DAEwB,CAAA;IACxB,4DAAuD,CAAA;IACvD,4DAEuB,CAAA;IACvB,4DAGwB,CAAA;IACxB,4DAEwB,CAAA;IACxB,4DAAuD,CAAA;IACvD,4DAEwB,CAAA;IAExB,aAAa;IACb,8EAGuB,CAAA;IACvB,gFAAyC,CAAA;IAEzC,cAAc;IACd,6EAAwC,CAAA;IACxC,qFAAmE,CAAA;IACnE,uFAA4C,CAAA;IAC5C,8EAAiE,CAAA;IACjE,gFAAgE,CAAA;IAChE,4FAAuE,CAAA;IACvE,oFAEuB,CAAA;IACvB,oGAEwB,CAAA;IACxB,sFAEuB,CAAA;IACvB,4FAEuB,CAAA;IACvB,wFAEuB,CAAA;IACvB,kFAGuB,CAAA;IACvB,8EAA+D,CAAA;AACjE,CAAC,EA7IW,eAAe,KAAf,eAAe,QA6I1B"}
@@ -0,0 +1,3 @@
1
+ export { decodeBrailleStream, getBrailleDot, lookupBrailleEncoding, toggleBrailleDot, } from './braille.js';
2
+ export { BrailleDot } from './dot.js';
3
+ export { BrailleEncoding } from './encoding.js';
@@ -0,0 +1,4 @@
1
+ export { decodeBrailleStream, getBrailleDot, lookupBrailleEncoding, toggleBrailleDot, } from './braille.js';
2
+ export { BrailleDot } from './dot.js';
3
+ export { BrailleEncoding } from './encoding.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/braille/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC"}
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAlpha = isAlpha;
4
- exports.rotateLetter = rotateLetter;
5
- exports.caesarRotate = caesarRotate;
6
- exports.caesarRotations = caesarRotations;
7
- exports.vigenereEncrypt = vigenereEncrypt;
8
- exports.vigenereDecrypt = vigenereDecrypt;
9
- exports.autokeyEncrypt = autokeyEncrypt;
10
- exports.autokeyDecrypt = autokeyDecrypt;
11
- const characterConversion_1 = require("../Conversion/characterConversion");
1
+ import { toOrdinal } from '../conversion/character-conversion.js';
12
2
  const UPPER_A = 'A'.charCodeAt(0);
13
3
  const UPPER_Z = 'Z'.charCodeAt(0);
14
4
  const LOWER_A = 'a'.charCodeAt(0);
@@ -23,7 +13,7 @@ function isLowerAlpha(code) {
23
13
  /**
24
14
  * Returns true if the character is an ASCII letter (A-Z or a-z).
25
15
  */
26
- function isAlpha(ch) {
16
+ export function isAlpha(ch) {
27
17
  const code = ch.charCodeAt(0);
28
18
  return isUpperAlpha(code) || isLowerAlpha(code);
29
19
  }
@@ -31,7 +21,7 @@ function isAlpha(ch) {
31
21
  * Rotates a single letter by the given amount, preserving case.
32
22
  * Non-alpha characters are returned unchanged.
33
23
  */
34
- function rotateLetter(ch, rot) {
24
+ export function rotateLetter(ch, rot) {
35
25
  if (ch.length !== 1) {
36
26
  throw new Error('Expected a single character');
37
27
  }
@@ -57,7 +47,7 @@ function rotateLetterWithKey(ch, key, keyIndex, decrypt) {
57
47
  return ch;
58
48
  }
59
49
  const keyCh = key.charAt(keyIndex % key.length);
60
- let rot = (0, characterConversion_1.toOrdinal)(keyCh) - 1;
50
+ let rot = toOrdinal(keyCh) - 1;
61
51
  if (decrypt) {
62
52
  rot = -rot;
63
53
  }
@@ -66,7 +56,7 @@ function rotateLetterWithKey(ch, key, keyIndex, decrypt) {
66
56
  /**
67
57
  * Applies a Caesar rotation to every character in the text.
68
58
  */
69
- function caesarRotate(text, rotation) {
59
+ export function caesarRotate(text, rotation) {
70
60
  const result = [];
71
61
  for (const ch of text) {
72
62
  result.push(rotateLetter(ch, rotation));
@@ -76,7 +66,7 @@ function caesarRotate(text, rotation) {
76
66
  /**
77
67
  * Returns all 26 Caesar rotations of the text.
78
68
  */
79
- function caesarRotations(text) {
69
+ export function caesarRotations(text) {
80
70
  const rotations = [];
81
71
  for (let i = 0; i < ALPHA_LENGTH; i++) {
82
72
  rotations.push(caesarRotate(text, i));
@@ -86,7 +76,7 @@ function caesarRotations(text) {
86
76
  /**
87
77
  * Encrypts text using the Vigenère cipher with the given key.
88
78
  */
89
- function vigenereEncrypt(text, key) {
79
+ export function vigenereEncrypt(text, key) {
90
80
  const result = [];
91
81
  let keyIndex = 0;
92
82
  for (const ch of text) {
@@ -102,7 +92,7 @@ function vigenereEncrypt(text, key) {
102
92
  /**
103
93
  * Decrypts text using the Vigenère cipher with the given key.
104
94
  */
105
- function vigenereDecrypt(text, key) {
95
+ export function vigenereDecrypt(text, key) {
106
96
  const result = [];
107
97
  let keyIndex = 0;
108
98
  for (const ch of text) {
@@ -118,7 +108,7 @@ function vigenereDecrypt(text, key) {
118
108
  /**
119
109
  * Encrypts text using the Autokey cipher with the given key.
120
110
  */
121
- function autokeyEncrypt(text, key) {
111
+ export function autokeyEncrypt(text, key) {
122
112
  if (key.length < 1) {
123
113
  return text;
124
114
  }
@@ -139,7 +129,7 @@ function autokeyEncrypt(text, key) {
139
129
  /**
140
130
  * Decrypts text using the Autokey cipher with the given key.
141
131
  */
142
- function autokeyDecrypt(text, key) {
132
+ export function autokeyDecrypt(text, key) {
143
133
  if (key.length < 1) {
144
134
  return text;
145
135
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cipher.js","sourceRoot":"","sources":["../../../src/cipher/cipher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { autokeyDecrypt, autokeyEncrypt, caesarRotate, caesarRotations, isAlpha, rotateLetter, vigenereDecrypt, vigenereEncrypt, } from './cipher.js';
@@ -0,0 +1,2 @@
1
+ export { autokeyDecrypt, autokeyEncrypt, caesarRotate, caesarRotations, isAlpha, rotateLetter, vigenereDecrypt, vigenereEncrypt, } from './cipher.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cipher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,OAAO,EACP,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- import { InlineSvg } from './InlineSvg';
1
+ import { InlineSvg } from './inline-svg.js';
2
2
  export declare class CharacterImage {
3
3
  readonly character: string;
4
4
  readonly image: InlineSvg;
@@ -0,0 +1,9 @@
1
+ export class CharacterImage {
2
+ character;
3
+ image;
4
+ constructor(character, image) {
5
+ this.character = character;
6
+ this.image = image;
7
+ }
8
+ }
9
+ //# sourceMappingURL=character-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-image.js","sourceRoot":"","sources":["../../../src/common/character-image.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAChB,SAAS,CAAS;IAClB,KAAK,CAAY;IAE1B,YAAY,SAAiB,EAAE,KAAgB;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EncodingCategory = void 0;
4
- var EncodingCategory;
1
+ export var EncodingCategory;
5
2
  (function (EncodingCategory) {
6
3
  EncodingCategory[EncodingCategory["None"] = 0] = "None";
7
4
  EncodingCategory[EncodingCategory["Letter"] = 2] = "Letter";
@@ -9,5 +6,5 @@ var EncodingCategory;
9
6
  EncodingCategory[EncodingCategory["Formatting"] = 8] = "Formatting";
10
7
  EncodingCategory[EncodingCategory["Punctuation"] = 16] = "Punctuation";
11
8
  EncodingCategory[EncodingCategory["All"] = 255] = "All";
12
- })(EncodingCategory || (exports.EncodingCategory = EncodingCategory = {}));
13
- //# sourceMappingURL=EncodingCategory.js.map
9
+ })(EncodingCategory || (EncodingCategory = {}));
10
+ //# sourceMappingURL=encoding-category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding-category.js","sourceRoot":"","sources":["../../../src/common/encoding-category.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,uDAAI,CAAA;IAEJ,2DAAe,CAAA;IACf,2DAAe,CAAA;IACf,mEAAmB,CAAA;IACnB,sEAAoB,CAAA;IAEpB,uDAAU,CAAA;AACZ,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B"}
@@ -1,4 +1,4 @@
1
- import { EncodingCategory } from './EncodingCategory';
1
+ import { EncodingCategory } from './encoding-category.js';
2
2
  export declare class EncodingEntry<T> {
3
3
  readonly encoding: T;
4
4
  readonly category: EncodingCategory;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EncodingEntry = void 0;
4
- class EncodingEntry {
1
+ export class EncodingEntry {
5
2
  encoding;
6
3
  category;
7
4
  display;
@@ -14,5 +11,4 @@ class EncodingEntry {
14
11
  return this.display;
15
12
  }
16
13
  }
17
- exports.EncodingEntry = EncodingEntry;
18
- //# sourceMappingURL=EncodingEntry.js.map
14
+ //# sourceMappingURL=encoding-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding-entry.js","sourceRoot":"","sources":["../../../src/common/encoding-entry.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACf,QAAQ,CAAI;IACZ,QAAQ,CAAmB;IAC3B,OAAO,CAAS;IAEzB,YAAY,QAAW,EAAE,QAA0B,EAAE,OAAe;QAClE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { EncodingEntry } from './EncodingEntry';
1
+ import { EncodingEntry } from './encoding-entry.js';
2
2
  export declare class EncodingLookupResult<T> {
3
3
  readonly exact: Array<EncodingEntry<T>>;
4
4
  readonly partial: Array<EncodingEntry<T>>;
@@ -0,0 +1,8 @@
1
+ export class EncodingLookupResult {
2
+ exact = [];
3
+ partial = [];
4
+ get exactString() {
5
+ return this.exact.map(value => value.toString()).join('/');
6
+ }
7
+ }
8
+ //# sourceMappingURL=encoding-lookup-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding-lookup-result.js","sourceRoot":"","sources":["../../../src/common/encoding-lookup-result.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,oBAAoB;IACtB,KAAK,GAA4B,EAAE,CAAC;IACpC,OAAO,GAA4B,EAAE,CAAC;IAE/C,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export { CharacterImage } from './character-image.js';
2
+ export { EncodingCategory } from './encoding-category.js';
3
+ export { EncodingEntry } from './encoding-entry.js';
4
+ export { EncodingLookupResult } from './encoding-lookup-result.js';
5
+ export { InlineSvg } from './inline-svg.js';
@@ -0,0 +1,6 @@
1
+ export { CharacterImage } from './character-image.js';
2
+ export { EncodingCategory } from './encoding-category.js';
3
+ export { EncodingEntry } from './encoding-entry.js';
4
+ export { EncodingLookupResult } from './encoding-lookup-result.js';
5
+ export { InlineSvg } from './inline-svg.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC"}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InlineSvg = void 0;
4
- class InlineSvg {
1
+ export class InlineSvg {
5
2
  inlineSvg;
6
3
  viewBoxWidth;
7
4
  viewBoxHeight;
@@ -14,5 +11,4 @@ class InlineSvg {
14
11
  return `<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 ${this.viewBoxWidth} ${this.viewBoxHeight}">${this.inlineSvg}</svg>`;
15
12
  }
16
13
  }
17
- exports.InlineSvg = InlineSvg;
18
- //# sourceMappingURL=InlineSvg.js.map
14
+ //# sourceMappingURL=inline-svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-svg.js","sourceRoot":"","sources":["../../../src/common/inline-svg.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IACH,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,aAAa,CAAS;IAEvC,YAAY,SAAiB,EAAE,YAAoB,EAAE,aAAqB;QACxE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,MAAM;QACJ,OAAO,iGAAiG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,SAAS,QAAQ,CAAC;IAC7K,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { CharacterTableEntry } from './CharacterTableEntry';
1
+ import { CharacterTableEntry } from './character-table-entry.js';
2
2
  /**
3
3
  * Returns the ASCII code for a single character (0-127), or -1 if out of range.
4
4
  */
@@ -1,20 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toAscii = toAscii;
4
- exports.toOrdinal = toOrdinal;
5
- exports.getAsciiTable = getAsciiTable;
6
- exports.getOrdinalTable = getOrdinalTable;
7
- const CharacterTableEntry_1 = require("./CharacterTableEntry");
1
+ import { CharacterTableEntry } from './character-table-entry.js';
8
2
  function addAsciiRange(array, start, end, conversion, maxValue) {
9
3
  for (let i = start; i <= end; i++) {
10
4
  const letter = String.fromCharCode(i);
11
- array.push(new CharacterTableEntry_1.CharacterTableEntry(letter, conversion(letter), maxValue));
5
+ array.push(new CharacterTableEntry(letter, conversion(letter), maxValue));
12
6
  }
13
7
  }
14
8
  /**
15
9
  * Returns the ASCII code for a single character (0-127), or -1 if out of range.
16
10
  */
17
- function toAscii(ch) {
11
+ export function toAscii(ch) {
18
12
  if (typeof ch !== 'string' || ch.length !== 1) {
19
13
  throw new Error('A single character is required');
20
14
  }
@@ -27,7 +21,7 @@ function toAscii(ch) {
27
21
  /**
28
22
  * Returns the ordinal value of a letter (A=1, Z=26), or -1 if not a letter.
29
23
  */
30
- function toOrdinal(ch) {
24
+ export function toOrdinal(ch) {
31
25
  if (typeof ch !== 'string' || ch.length !== 1) {
32
26
  throw new Error('A single character is required');
33
27
  }
@@ -45,7 +39,7 @@ function toOrdinal(ch) {
45
39
  /**
46
40
  * Returns a table of ASCII characters with their representations in various bases.
47
41
  */
48
- function getAsciiTable() {
42
+ export function getAsciiTable() {
49
43
  const retVal = [];
50
44
  addAsciiRange(retVal, 48, 57, toAscii, 127);
51
45
  addAsciiRange(retVal, 65, 90, toAscii, 127);
@@ -55,9 +49,9 @@ function getAsciiTable() {
55
49
  /**
56
50
  * Returns a table of letters with their ordinal representations in various bases.
57
51
  */
58
- function getOrdinalTable() {
52
+ export function getOrdinalTable() {
59
53
  const retVal = [];
60
54
  addAsciiRange(retVal, 65, 90, toOrdinal, 26);
61
55
  return retVal;
62
56
  }
63
- //# sourceMappingURL=characterConversion.js.map
57
+ //# sourceMappingURL=character-conversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-conversion.js","sourceRoot":"","sources":["../../../src/conversion/character-conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAE/D,SAAS,aAAa,CACpB,KAA4B,EAC5B,KAAa,EACb,GAAW,EACX,UAAqC,EACrC,QAAgB;IAEhB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QACzC,OAAO,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QACzC,OAAO,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -5,5 +5,6 @@ export declare enum CharacterEncoding {
5
5
  FiveBitBinary = 3,// 00001 = A, 00010 = B
6
6
  EightBitBinary = 4,// 01100001 = A, 01100010 = B
7
7
  Ascii = 5,// 65 = A, 66 = B
8
- Ternary = 6
8
+ Ternary = 6,// 001 = A, 010 = C, 200 = R
9
+ Hexadecimal = 7
9
10
  }