puzzle-lib 1.3.0 → 1.6.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.
Files changed (180) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +38 -39
  3. package/build/src/Braille/BrailleCharacter.d.ts +15 -15
  4. package/build/src/Braille/BrailleCharacter.js +38 -37
  5. package/build/src/Braille/BrailleCharacter.js.map +1 -1
  6. package/build/src/Braille/BrailleData.d.ts +6 -6
  7. package/build/src/Braille/BrailleData.js +65 -64
  8. package/build/src/Braille/BrailleData.js.map +1 -1
  9. package/build/src/Braille/BrailleDot.d.ts +9 -9
  10. package/build/src/Braille/BrailleDot.js +13 -12
  11. package/build/src/Braille/BrailleDot.js.map +1 -1
  12. package/build/src/Braille/BrailleEncoding.d.ts +54 -54
  13. package/build/src/Braille/BrailleEncoding.js +65 -64
  14. package/build/src/Braille/BrailleEncoding.js.map +1 -1
  15. package/build/src/Braille/BrailleStream.d.ts +18 -18
  16. package/build/src/Braille/BrailleStream.js +75 -74
  17. package/build/src/Braille/BrailleStream.js.map +1 -1
  18. package/build/src/Cipher/AutoKeyString.d.ts +4 -4
  19. package/build/src/Cipher/AutoKeyString.js +34 -33
  20. package/build/src/Cipher/AutoKeyString.js.map +1 -1
  21. package/build/src/Cipher/CaesarString.d.ts +8 -8
  22. package/build/src/Cipher/CaesarString.js +31 -30
  23. package/build/src/Cipher/CaesarString.js.map +1 -1
  24. package/build/src/Cipher/CaesarUtils.d.ts +13 -13
  25. package/build/src/Cipher/CaesarUtils.js +57 -56
  26. package/build/src/Cipher/CaesarUtils.js.map +1 -1
  27. package/build/src/Cipher/KeyedCipherStringBase.d.ts +12 -12
  28. package/build/src/Cipher/KeyedCipherStringBase.js +28 -27
  29. package/build/src/Cipher/KeyedCipherStringBase.js.map +1 -1
  30. package/build/src/Cipher/VigenereString.d.ts +4 -4
  31. package/build/src/Cipher/VigenereString.js +21 -20
  32. package/build/src/Cipher/VigenereString.js.map +1 -1
  33. package/build/src/Common/CharacterImage.d.ts +6 -6
  34. package/build/src/Common/CharacterImage.js +10 -9
  35. package/build/src/Common/CharacterImage.js.map +1 -1
  36. package/build/src/Common/EncodingCategory.d.ts +8 -8
  37. package/build/src/Common/EncodingCategory.js +12 -11
  38. package/build/src/Common/EncodingCategory.js.map +1 -1
  39. package/build/src/Common/EncodingCharacterBase.d.ts +23 -23
  40. package/build/src/Common/EncodingCharacterBase.js +52 -51
  41. package/build/src/Common/EncodingCharacterBase.js.map +1 -1
  42. package/build/src/Common/EncodingDataBase.d.ts +7 -7
  43. package/build/src/Common/EncodingDataBase.js +29 -28
  44. package/build/src/Common/EncodingDataBase.js.map +1 -1
  45. package/build/src/Common/EncodingEntry.d.ts +8 -8
  46. package/build/src/Common/EncodingEntry.js +14 -13
  47. package/build/src/Common/EncodingEntry.js.map +1 -1
  48. package/build/src/Common/EncodingLookupResult.d.ts +6 -6
  49. package/build/src/Common/EncodingLookupResult.js +13 -12
  50. package/build/src/Common/EncodingLookupResult.js.map +1 -1
  51. package/build/src/Common/Helpers.d.ts +4 -4
  52. package/build/src/Common/Helpers.js +16 -15
  53. package/build/src/Common/Helpers.js.map +1 -1
  54. package/build/src/Common/InlineSvg.d.ts +7 -7
  55. package/build/src/Common/InlineSvg.js +14 -13
  56. package/build/src/Common/InlineSvg.js.map +1 -1
  57. package/build/src/Conversion/CharacterAutoConvert.d.ts +10 -7
  58. package/build/src/Conversion/CharacterAutoConvert.js +88 -80
  59. package/build/src/Conversion/CharacterAutoConvert.js.map +1 -1
  60. package/build/src/Conversion/CharacterConversion.d.ts +8 -8
  61. package/build/src/Conversion/CharacterConversion.js +50 -49
  62. package/build/src/Conversion/CharacterConversion.js.map +1 -1
  63. package/build/src/Conversion/CharacterEncoding.d.ts +9 -8
  64. package/build/src/Conversion/CharacterEncoding.js +13 -11
  65. package/build/src/Conversion/CharacterEncoding.js.map +1 -1
  66. package/build/src/Conversion/CharacterTableEntry.d.ts +10 -10
  67. package/build/src/Conversion/CharacterTableEntry.js +19 -18
  68. package/build/src/Conversion/CharacterTableEntry.js.map +1 -1
  69. package/build/src/Conversion/SignificantFigures.d.ts +7 -7
  70. package/build/src/Conversion/SignificantFigures.js +50 -49
  71. package/build/src/Conversion/SignificantFigures.js.map +1 -1
  72. package/build/src/Conversion/StringAutoConvert.d.ts +6 -6
  73. package/build/src/Conversion/StringAutoConvert.js +46 -45
  74. package/build/src/Conversion/StringAutoConvert.js.map +1 -1
  75. package/build/src/Morse/MorseCharacter.d.ts +22 -22
  76. package/build/src/Morse/MorseCharacter.js +96 -95
  77. package/build/src/Morse/MorseCharacter.js.map +1 -1
  78. package/build/src/Morse/MorseData.d.ts +6 -6
  79. package/build/src/Morse/MorseData.js +70 -69
  80. package/build/src/Morse/MorseData.js.map +1 -1
  81. package/build/src/Morse/MorseEncoding.d.ts +59 -59
  82. package/build/src/Morse/MorseEncoding.js +94 -93
  83. package/build/src/Morse/MorseEncoding.js.map +1 -1
  84. package/build/src/Morse/MorseString.d.ts +10 -10
  85. package/build/src/Morse/MorseString.js +66 -65
  86. package/build/src/Morse/MorseString.js.map +1 -1
  87. package/build/src/Nato/NatoCharacter.d.ts +5 -5
  88. package/build/src/Nato/NatoCharacter.js +10 -9
  89. package/build/src/Nato/NatoCharacter.js.map +1 -1
  90. package/build/src/Nato/NatoData.d.ts +7 -7
  91. package/build/src/Nato/NatoData.js +51 -50
  92. package/build/src/Nato/NatoData.js.map +1 -1
  93. package/build/src/NavalFlags/NavalFlags.d.ts +7 -7
  94. package/build/src/NavalFlags/NavalFlags.js +52 -50
  95. package/build/src/NavalFlags/NavalFlags.js.map +1 -1
  96. package/build/src/Resistor/Resistor.d.ts +24 -24
  97. package/build/src/Resistor/Resistor.js +86 -85
  98. package/build/src/Resistor/Resistor.js.map +1 -1
  99. package/build/src/Resistor/ResistorColorEntry.d.ts +12 -12
  100. package/build/src/Resistor/ResistorColorEntry.js +31 -30
  101. package/build/src/Resistor/ResistorColorEntry.js.map +1 -1
  102. package/build/src/Semaphore/SemaphoreCharacter.d.ts +20 -20
  103. package/build/src/Semaphore/SemaphoreCharacter.js +75 -74
  104. package/build/src/Semaphore/SemaphoreCharacter.js.map +1 -1
  105. package/build/src/Semaphore/SemaphoreData.d.ts +6 -6
  106. package/build/src/Semaphore/SemaphoreData.js +53 -52
  107. package/build/src/Semaphore/SemaphoreData.js.map +1 -1
  108. package/build/src/Semaphore/SemaphoreDegrees.d.ts +5 -5
  109. package/build/src/Semaphore/SemaphoreDegrees.js +26 -25
  110. package/build/src/Semaphore/SemaphoreDegrees.js.map +1 -1
  111. package/build/src/Semaphore/SemaphoreDirection.d.ts +11 -11
  112. package/build/src/Semaphore/SemaphoreDirection.js +15 -14
  113. package/build/src/Semaphore/SemaphoreDirection.js.map +1 -1
  114. package/build/src/Semaphore/SemaphoreEncoding.d.ts +40 -40
  115. package/build/src/Semaphore/SemaphoreEncoding.js +47 -46
  116. package/build/src/Semaphore/SemaphoreEncoding.js.map +1 -1
  117. package/build/src/Semaphore/SemaphoreStream.d.ts +17 -17
  118. package/build/src/Semaphore/SemaphoreStream.js +72 -71
  119. package/build/src/Semaphore/SemaphoreStream.js.map +1 -1
  120. package/build/src/WordSearch/Point.d.ts +4 -4
  121. package/build/src/WordSearch/Point.js +2 -2
  122. package/build/src/WordSearch/Result.d.ts +6 -6
  123. package/build/src/WordSearch/Result.js +10 -9
  124. package/build/src/WordSearch/Result.js.map +1 -1
  125. package/build/src/WordSearch/WordSearchDirection.d.ts +6 -6
  126. package/build/src/WordSearch/WordSearchDirection.js +10 -9
  127. package/build/src/WordSearch/WordSearchDirection.js.map +1 -1
  128. package/build/src/WordSearch/WordSearchSolver.d.ts +27 -18
  129. package/build/src/WordSearch/WordSearchSolver.js +222 -171
  130. package/build/src/WordSearch/WordSearchSolver.js.map +1 -1
  131. package/build/src/index.d.ts +35 -35
  132. package/build/src/index.js +72 -70
  133. package/build/src/index.js.map +1 -1
  134. package/package.json +40 -39
  135. package/src/Braille/BrailleCharacter.ts +49 -0
  136. package/src/Braille/BrailleData.ts +131 -0
  137. package/src/Braille/BrailleDot.ts +9 -0
  138. package/src/Braille/BrailleEncoding.ts +144 -0
  139. package/src/Braille/BrailleStream.ts +87 -0
  140. package/src/Cipher/AutoKeyString.ts +35 -0
  141. package/src/Cipher/CaesarString.ts +38 -0
  142. package/src/Cipher/CaesarUtils.ts +69 -0
  143. package/src/Cipher/KeyedCipherStringBase.ts +35 -0
  144. package/src/Cipher/VigenereString.ts +21 -0
  145. package/src/Common/CharacterImage.ts +11 -0
  146. package/src/Common/EncodingCategory.ts +10 -0
  147. package/src/Common/EncodingCharacterBase.ts +72 -0
  148. package/src/Common/EncodingDataBase.ts +31 -0
  149. package/src/Common/EncodingEntry.ts +17 -0
  150. package/src/Common/EncodingLookupResult.ts +10 -0
  151. package/src/Common/Helpers.ts +13 -0
  152. package/src/Common/InlineSvg.ts +15 -0
  153. package/src/Conversion/CharacterAutoConvert.ts +108 -0
  154. package/src/Conversion/CharacterConversion.ts +89 -0
  155. package/src/Conversion/CharacterEncoding.ts +9 -0
  156. package/src/Conversion/CharacterTableEntry.ts +23 -0
  157. package/src/Conversion/SignificantFigures.ts +55 -0
  158. package/src/Conversion/StringAutoConvert.ts +56 -0
  159. package/src/Morse/MorseCharacter.ts +112 -0
  160. package/src/Morse/MorseData.ts +143 -0
  161. package/src/Morse/MorseEncoding.ts +98 -0
  162. package/src/Morse/MorseString.ts +106 -0
  163. package/src/Nato/NatoCharacter.ts +9 -0
  164. package/src/Nato/NatoData.ts +49 -0
  165. package/src/NavalFlags/LICENSE +7 -0
  166. package/src/NavalFlags/NavalFlags.ts +293 -0
  167. package/src/Resistor/Resistor.ts +135 -0
  168. package/src/Resistor/ResistorColorEntry.ts +43 -0
  169. package/src/Semaphore/SemaphoreCharacter.ts +107 -0
  170. package/src/Semaphore/SemaphoreData.ts +58 -0
  171. package/src/Semaphore/SemaphoreDegrees.ts +26 -0
  172. package/src/Semaphore/SemaphoreDirection.ts +11 -0
  173. package/src/Semaphore/SemaphoreEncoding.ts +48 -0
  174. package/src/Semaphore/SemaphoreStream.ts +89 -0
  175. package/src/WordSearch/Point.ts +4 -0
  176. package/src/WordSearch/Result.ts +10 -0
  177. package/src/WordSearch/WordSearchDirection.ts +6 -0
  178. package/src/WordSearch/WordSearchSolver.ts +271 -0
  179. package/src/index.ts +38 -0
  180. package/src/trie-prefix-tree.d.ts +70 -0
@@ -1,8 +1,8 @@
1
- import { EncodingCategory } from './EncodingCategory';
2
- export declare class EncodingEntry<T> {
3
- readonly encoding: T;
4
- readonly category: EncodingCategory;
5
- readonly display: string;
6
- constructor(encoding: T, category: EncodingCategory, display: string);
7
- toString(): string;
8
- }
1
+ import { EncodingCategory } from './EncodingCategory';
2
+ export declare class EncodingEntry<T> {
3
+ readonly encoding: T;
4
+ readonly category: EncodingCategory;
5
+ readonly display: string;
6
+ constructor(encoding: T, category: EncodingCategory, display: string);
7
+ toString(): string;
8
+ }
@@ -1,14 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class EncodingEntry {
4
- constructor(encoding, category, display) {
5
- this.encoding = encoding;
6
- this.category = category;
7
- this.display = display;
8
- }
9
- toString() {
10
- return this.display;
11
- }
12
- }
13
- exports.EncodingEntry = EncodingEntry;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EncodingEntry = void 0;
4
+ class EncodingEntry {
5
+ constructor(encoding, category, display) {
6
+ this.encoding = encoding;
7
+ this.category = category;
8
+ this.display = display;
9
+ }
10
+ toString() {
11
+ return this.display;
12
+ }
13
+ }
14
+ exports.EncodingEntry = EncodingEntry;
14
15
  //# sourceMappingURL=EncodingEntry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncodingEntry.js","sourceRoot":"","sources":["../../../src/Common/EncodingEntry.ts"],"names":[],"mappings":";;AAEA,MAAa,aAAa;IAKxB,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;AAdD,sCAcC"}
1
+ {"version":3,"file":"EncodingEntry.js","sourceRoot":"","sources":["../../../src/Common/EncodingEntry.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAKxB,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;AAdD,sCAcC"}
@@ -1,6 +1,6 @@
1
- import { EncodingEntry } from './EncodingEntry';
2
- export declare class EncodingLookupResult<T> {
3
- readonly exact: Array<EncodingEntry<T>>;
4
- readonly partial: Array<EncodingEntry<T>>;
5
- get exactString(): string;
6
- }
1
+ import { EncodingEntry } from './EncodingEntry';
2
+ export declare class EncodingLookupResult<T> {
3
+ readonly exact: Array<EncodingEntry<T>>;
4
+ readonly partial: Array<EncodingEntry<T>>;
5
+ get exactString(): string;
6
+ }
@@ -1,13 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class EncodingLookupResult {
4
- constructor() {
5
- this.exact = [];
6
- this.partial = [];
7
- }
8
- get exactString() {
9
- return this.exact.map(value => value.toString()).join('/');
10
- }
11
- }
12
- exports.EncodingLookupResult = EncodingLookupResult;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EncodingLookupResult = void 0;
4
+ class EncodingLookupResult {
5
+ constructor() {
6
+ this.exact = [];
7
+ this.partial = [];
8
+ }
9
+ get exactString() {
10
+ return this.exact.map(value => value.toString()).join('/');
11
+ }
12
+ }
13
+ exports.EncodingLookupResult = EncodingLookupResult;
13
14
  //# sourceMappingURL=EncodingLookupResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncodingLookupResult.js","sourceRoot":"","sources":["../../../src/Common/EncodingLookupResult.ts"],"names":[],"mappings":";;AAEA,MAAa,oBAAoB;IAAjC;QACW,UAAK,GAA4B,EAAE,CAAC;QACpC,YAAO,GAA4B,EAAE,CAAC;IAKjD,CAAC;IAHC,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;AAPD,oDAOC"}
1
+ {"version":3,"file":"EncodingLookupResult.js","sourceRoot":"","sources":["../../../src/Common/EncodingLookupResult.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAAjC;QACW,UAAK,GAA4B,EAAE,CAAC;QACpC,YAAO,GAA4B,EAAE,CAAC;IAKjD,CAAC;IAHC,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;AAPD,oDAOC"}
@@ -1,4 +1,4 @@
1
- export declare class Helpers {
2
- static assert(condition: boolean): void;
3
- static assertMsg(condition: boolean, message: string): void;
4
- }
1
+ export declare class Helpers {
2
+ static assert(condition: boolean): void;
3
+ static assertMsg(condition: boolean, message: string): void;
4
+ }
@@ -1,16 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class Helpers {
4
- static assert(condition) {
5
- if (!condition) {
6
- throw new Error();
7
- }
8
- }
9
- static assertMsg(condition, message) {
10
- if (!condition) {
11
- throw new Error(message);
12
- }
13
- }
14
- }
15
- exports.Helpers = Helpers;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Helpers = void 0;
4
+ class Helpers {
5
+ static assert(condition) {
6
+ if (!condition) {
7
+ throw new Error();
8
+ }
9
+ }
10
+ static assertMsg(condition, message) {
11
+ if (!condition) {
12
+ throw new Error(message);
13
+ }
14
+ }
15
+ }
16
+ exports.Helpers = Helpers;
16
17
  //# sourceMappingURL=Helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Helpers.js","sourceRoot":"","sources":["../../../src/Common/Helpers.ts"],"names":[],"mappings":";;AAAA,MAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CAAC,SAAkB;QAC9B,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,EAAE,CAAC;SACnB;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,SAAkB,EAAE,OAAe;QAClD,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B;IACH,CAAC;CACF;AAZD,0BAYC"}
1
+ {"version":3,"file":"Helpers.js","sourceRoot":"","sources":["../../../src/Common/Helpers.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CAAC,SAAkB;QAC9B,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,EAAE,CAAC;SACnB;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,SAAkB,EAAE,OAAe;QAClD,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B;IACH,CAAC;CACF;AAZD,0BAYC"}
@@ -1,7 +1,7 @@
1
- export declare class InlineSvg {
2
- private readonly inlineSvg;
3
- private readonly viewBoxWidth;
4
- private readonly viewBoxHeight;
5
- constructor(inlineSvg: string, viewBoxWidth: number, viewBoxHeight: number);
6
- render(): string;
7
- }
1
+ export declare class InlineSvg {
2
+ private readonly inlineSvg;
3
+ private readonly viewBoxWidth;
4
+ private readonly viewBoxHeight;
5
+ constructor(inlineSvg: string, viewBoxWidth: number, viewBoxHeight: number);
6
+ render(): string;
7
+ }
@@ -1,14 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class InlineSvg {
4
- constructor(inlineSvg, viewBoxWidth, viewBoxHeight) {
5
- this.inlineSvg = inlineSvg;
6
- this.viewBoxWidth = viewBoxWidth;
7
- this.viewBoxHeight = viewBoxHeight;
8
- }
9
- render() {
10
- 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>`;
11
- }
12
- }
13
- exports.InlineSvg = InlineSvg;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InlineSvg = void 0;
4
+ class InlineSvg {
5
+ constructor(inlineSvg, viewBoxWidth, viewBoxHeight) {
6
+ this.inlineSvg = inlineSvg;
7
+ this.viewBoxWidth = viewBoxWidth;
8
+ this.viewBoxHeight = viewBoxHeight;
9
+ }
10
+ render() {
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>`;
12
+ }
13
+ }
14
+ exports.InlineSvg = InlineSvg;
14
15
  //# sourceMappingURL=InlineSvg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineSvg.js","sourceRoot":"","sources":["../../../src/Common/InlineSvg.ts"],"names":[],"mappings":";;AAAA,MAAa,SAAS;IAKpB,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;AAdD,8BAcC"}
1
+ {"version":3,"file":"InlineSvg.js","sourceRoot":"","sources":["../../../src/Common/InlineSvg.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IAKpB,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;AAdD,8BAcC"}
@@ -1,7 +1,10 @@
1
- import { CharacterEncoding } from './CharacterEncoding';
2
- export declare class CharacterAutoConvert {
3
- static convertCharacter(input: string, forcedCharacterEncoding?: CharacterEncoding): string;
4
- static asciiPrintable(index: number): string;
5
- static determineCharacterEncoding(input: string): CharacterEncoding;
6
- private static appearsBinary;
7
- }
1
+ import { CharacterEncoding } from './CharacterEncoding';
2
+ export declare class CharacterAutoConvert {
3
+ static convertCharacter(input: string, forcedCharacterEncoding?: CharacterEncoding): string;
4
+ static asciiPrintable(index: number): string;
5
+ static determineCharacterEncoding(input: string): CharacterEncoding;
6
+ private static readonly BINARY_REGEX;
7
+ private static appearsBinary;
8
+ private static readonly TERNARY_REGEX;
9
+ private static appearsTernary;
10
+ }
@@ -1,81 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const CharacterEncoding_1 = require("./CharacterEncoding");
4
- class CharacterAutoConvert {
5
- // Forced encoding can be useful when converting an entire string
6
- // or simply dealing with binary which has no leading zeros
7
- static convertCharacter(input, forcedCharacterEncoding) {
8
- let encoding = null;
9
- if (!forcedCharacterEncoding) {
10
- encoding = this.determineCharacterEncoding(input);
11
- }
12
- else {
13
- encoding = forcedCharacterEncoding;
14
- }
15
- if (encoding === CharacterEncoding_1.CharacterEncoding.None) {
16
- return '';
17
- }
18
- // Assume that Latin characters should remain
19
- if (encoding === CharacterEncoding_1.CharacterEncoding.Latin) {
20
- return input;
21
- }
22
- const baseTen = Number.parseInt(input, 10);
23
- if (encoding === CharacterEncoding_1.CharacterEncoding.Ascii) {
24
- return CharacterAutoConvert.asciiPrintable(baseTen);
25
- }
26
- const asciiOffset = 64;
27
- if (encoding === CharacterEncoding_1.CharacterEncoding.Ordinal) {
28
- return CharacterAutoConvert.asciiPrintable(baseTen + asciiOffset);
29
- }
30
- const binary = Number.parseInt(input, 2);
31
- if (encoding === CharacterEncoding_1.CharacterEncoding.FiveBitBinary &&
32
- this.appearsBinary(input)) {
33
- return CharacterAutoConvert.asciiPrintable(binary + asciiOffset);
34
- }
35
- if (encoding === CharacterEncoding_1.CharacterEncoding.EightBitBinary &&
36
- this.appearsBinary(input)) {
37
- return CharacterAutoConvert.asciiPrintable(binary);
38
- }
39
- return '';
40
- }
41
- static asciiPrintable(index) {
42
- if (index < 32 || index > 126) {
43
- return '';
44
- }
45
- return String.fromCharCode(index);
46
- }
47
- static determineCharacterEncoding(input) {
48
- if (input.match(/[a-z]/i)) {
49
- return CharacterEncoding_1.CharacterEncoding.Latin;
50
- }
51
- const numeric = Number.parseInt(input, 10);
52
- if (this.appearsBinary(input)) {
53
- if (input.length === 5) {
54
- return CharacterEncoding_1.CharacterEncoding.FiveBitBinary;
55
- }
56
- else if (input.length === 8 || input.length === 7) {
57
- return CharacterEncoding_1.CharacterEncoding.EightBitBinary;
58
- }
59
- }
60
- if (input.length < 3 && numeric > 0 && numeric < 27) {
61
- return CharacterEncoding_1.CharacterEncoding.Ordinal;
62
- }
63
- if (numeric > 64 && numeric < 91) {
64
- return CharacterEncoding_1.CharacterEncoding.Ascii;
65
- }
66
- if (numeric > 97 && numeric < 123) {
67
- return CharacterEncoding_1.CharacterEncoding.Ascii;
68
- }
69
- return CharacterEncoding_1.CharacterEncoding.None;
70
- }
71
- static appearsBinary(character) {
72
- for (const letter of character) {
73
- if (letter !== '0' && letter !== '1') {
74
- return false;
75
- }
76
- }
77
- return true;
78
- }
79
- }
80
- exports.CharacterAutoConvert = CharacterAutoConvert;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CharacterAutoConvert = void 0;
4
+ const CharacterEncoding_1 = require("./CharacterEncoding");
5
+ class CharacterAutoConvert {
6
+ // Forced encoding can be useful when converting an entire string
7
+ // or simply dealing with binary which has no leading zeros
8
+ static convertCharacter(input, forcedCharacterEncoding) {
9
+ let encoding = null;
10
+ if (!forcedCharacterEncoding) {
11
+ encoding = this.determineCharacterEncoding(input);
12
+ }
13
+ else {
14
+ encoding = forcedCharacterEncoding;
15
+ }
16
+ if (encoding === CharacterEncoding_1.CharacterEncoding.None) {
17
+ return '';
18
+ }
19
+ // Assume that Latin characters should remain
20
+ if (encoding === CharacterEncoding_1.CharacterEncoding.Latin) {
21
+ return input;
22
+ }
23
+ const baseTen = Number.parseInt(input, 10);
24
+ if (encoding === CharacterEncoding_1.CharacterEncoding.Ascii) {
25
+ return CharacterAutoConvert.asciiPrintable(baseTen);
26
+ }
27
+ const asciiOffset = 64;
28
+ if (encoding === CharacterEncoding_1.CharacterEncoding.Ordinal) {
29
+ return CharacterAutoConvert.asciiPrintable(baseTen + asciiOffset);
30
+ }
31
+ const binary = Number.parseInt(input, 2);
32
+ if (encoding === CharacterEncoding_1.CharacterEncoding.FiveBitBinary &&
33
+ this.appearsBinary(input)) {
34
+ return CharacterAutoConvert.asciiPrintable(binary + asciiOffset);
35
+ }
36
+ if (encoding === CharacterEncoding_1.CharacterEncoding.EightBitBinary &&
37
+ this.appearsBinary(input)) {
38
+ return CharacterAutoConvert.asciiPrintable(binary);
39
+ }
40
+ if (encoding === CharacterEncoding_1.CharacterEncoding.Ternary) {
41
+ const ternary = Number.parseInt(input, 3);
42
+ return CharacterAutoConvert.asciiPrintable(ternary + asciiOffset);
43
+ }
44
+ return '';
45
+ }
46
+ static asciiPrintable(index) {
47
+ if (index < 32 || index > 126) {
48
+ return '';
49
+ }
50
+ return String.fromCharCode(index);
51
+ }
52
+ static determineCharacterEncoding(input) {
53
+ if (input.match(/[a-z]/i)) {
54
+ return CharacterEncoding_1.CharacterEncoding.Latin;
55
+ }
56
+ const numeric = Number.parseInt(input, 10);
57
+ if (this.appearsBinary(input)) {
58
+ if (input.length === 5) {
59
+ return CharacterEncoding_1.CharacterEncoding.FiveBitBinary;
60
+ }
61
+ else if (input.length === 8 || input.length === 7) {
62
+ return CharacterEncoding_1.CharacterEncoding.EightBitBinary;
63
+ }
64
+ }
65
+ if (this.appearsTernary(input)) {
66
+ return CharacterEncoding_1.CharacterEncoding.Ternary;
67
+ }
68
+ if (input.length < 3 && numeric > 0 && numeric < 27) {
69
+ return CharacterEncoding_1.CharacterEncoding.Ordinal;
70
+ }
71
+ if (numeric > 64 && numeric < 91) {
72
+ return CharacterEncoding_1.CharacterEncoding.Ascii;
73
+ }
74
+ if (numeric > 97 && numeric < 123) {
75
+ return CharacterEncoding_1.CharacterEncoding.Ascii;
76
+ }
77
+ return CharacterEncoding_1.CharacterEncoding.None;
78
+ }
79
+ static appearsBinary(str) {
80
+ return this.BINARY_REGEX.test(str);
81
+ }
82
+ static appearsTernary(str) {
83
+ return this.TERNARY_REGEX.test(str);
84
+ }
85
+ }
86
+ exports.CharacterAutoConvert = CharacterAutoConvert;
87
+ CharacterAutoConvert.BINARY_REGEX = new RegExp('^[01]+$');
88
+ CharacterAutoConvert.TERNARY_REGEX = new RegExp('^[0-2]{3}$');
81
89
  //# sourceMappingURL=CharacterAutoConvert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterAutoConvert.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterAutoConvert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CharacterAutoConvert.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterAutoConvert.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { CharacterTableEntry } from './CharacterTableEntry';
2
- export declare class CharacterConversion {
3
- static getAsciiTable(): CharacterTableEntry[];
4
- static getOrdinalTable(): CharacterTableEntry[];
5
- static toAscii(ch: string): number;
6
- static toOrdinal(ch: string): number;
7
- private static addAsciiRange;
8
- }
1
+ import { CharacterTableEntry } from './CharacterTableEntry';
2
+ export declare class CharacterConversion {
3
+ static getAsciiTable(): CharacterTableEntry[];
4
+ static getOrdinalTable(): CharacterTableEntry[];
5
+ static toAscii(ch: string): number;
6
+ static toOrdinal(ch: string): number;
7
+ private static addAsciiRange;
8
+ }
@@ -1,50 +1,51 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const CharacterTableEntry_1 = require("./CharacterTableEntry");
4
- class CharacterConversion {
5
- static getAsciiTable() {
6
- const retVal = [];
7
- CharacterConversion.addAsciiRange(retVal, 48, 57, CharacterConversion.toAscii, 127);
8
- CharacterConversion.addAsciiRange(retVal, 65, 90, CharacterConversion.toAscii, 127);
9
- CharacterConversion.addAsciiRange(retVal, 97, 122, CharacterConversion.toAscii, 127);
10
- return retVal;
11
- }
12
- static getOrdinalTable() {
13
- const retVal = [];
14
- CharacterConversion.addAsciiRange(retVal, 65, 90, CharacterConversion.toOrdinal, 26);
15
- return retVal;
16
- }
17
- static toAscii(ch) {
18
- if (typeof ch !== 'string' || ch.length !== 1) {
19
- throw new Error('A single character is required');
20
- }
21
- const ascii = ch.charCodeAt(0);
22
- if (ascii >= 0 && ascii <= 127) {
23
- return ascii;
24
- }
25
- return -1;
26
- }
27
- static toOrdinal(ch) {
28
- if (typeof ch !== 'string' || ch.length !== 1) {
29
- throw new Error('A single character is required');
30
- }
31
- const chCode = ch.charCodeAt(0);
32
- let ordinalCode = chCode - 'a'.charCodeAt(0);
33
- if (ordinalCode >= 0 && ordinalCode < 26) {
34
- return ordinalCode + 1;
35
- }
36
- ordinalCode = chCode - 'A'.charCodeAt(0);
37
- if (ordinalCode >= 0 && ordinalCode < 26) {
38
- return ordinalCode + 1;
39
- }
40
- return -1;
41
- }
42
- static addAsciiRange(array, start, end, conversion, maxValue) {
43
- for (let i = start; i <= end; i++) {
44
- const letter = String.fromCharCode(i);
45
- array.push(new CharacterTableEntry_1.CharacterTableEntry(letter, conversion(letter), maxValue));
46
- }
47
- }
48
- }
49
- exports.CharacterConversion = CharacterConversion;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CharacterConversion = void 0;
4
+ const CharacterTableEntry_1 = require("./CharacterTableEntry");
5
+ class CharacterConversion {
6
+ static getAsciiTable() {
7
+ const retVal = [];
8
+ CharacterConversion.addAsciiRange(retVal, 48, 57, CharacterConversion.toAscii, 127);
9
+ CharacterConversion.addAsciiRange(retVal, 65, 90, CharacterConversion.toAscii, 127);
10
+ CharacterConversion.addAsciiRange(retVal, 97, 122, CharacterConversion.toAscii, 127);
11
+ return retVal;
12
+ }
13
+ static getOrdinalTable() {
14
+ const retVal = [];
15
+ CharacterConversion.addAsciiRange(retVal, 65, 90, CharacterConversion.toOrdinal, 26);
16
+ return retVal;
17
+ }
18
+ static toAscii(ch) {
19
+ if (typeof ch !== 'string' || ch.length !== 1) {
20
+ throw new Error('A single character is required');
21
+ }
22
+ const ascii = ch.charCodeAt(0);
23
+ if (ascii >= 0 && ascii <= 127) {
24
+ return ascii;
25
+ }
26
+ return -1;
27
+ }
28
+ static toOrdinal(ch) {
29
+ if (typeof ch !== 'string' || ch.length !== 1) {
30
+ throw new Error('A single character is required');
31
+ }
32
+ const chCode = ch.charCodeAt(0);
33
+ let ordinalCode = chCode - 'a'.charCodeAt(0);
34
+ if (ordinalCode >= 0 && ordinalCode < 26) {
35
+ return ordinalCode + 1;
36
+ }
37
+ ordinalCode = chCode - 'A'.charCodeAt(0);
38
+ if (ordinalCode >= 0 && ordinalCode < 26) {
39
+ return ordinalCode + 1;
40
+ }
41
+ return -1;
42
+ }
43
+ static addAsciiRange(array, start, end, conversion, maxValue) {
44
+ for (let i = start; i <= end; i++) {
45
+ const letter = String.fromCharCode(i);
46
+ array.push(new CharacterTableEntry_1.CharacterTableEntry(letter, conversion(letter), maxValue));
47
+ }
48
+ }
49
+ }
50
+ exports.CharacterConversion = CharacterConversion;
50
51
  //# sourceMappingURL=CharacterConversion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterConversion.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterConversion.ts"],"names":[],"mappings":";;AAAA,+DAA0D;AAE1D,MAAa,mBAAmB;IAC9B,MAAM,CAAC,aAAa;QAClB,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,EAAE,EACF,mBAAmB,CAAC,OAAO,EAC3B,GAAG,CACJ,CAAC;QACF,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,EAAE,EACF,mBAAmB,CAAC,OAAO,EAC3B,GAAG,CACJ,CAAC;QACF,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,GAAG,EACH,mBAAmB,CAAC,OAAO,EAC3B,GAAG,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,EAAE,EACF,mBAAmB,CAAC,SAAS,EAC7B,EAAE,CACH,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,EAAU;QACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,EAAU;QACzB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE;YACxC,OAAO,WAAW,GAAG,CAAC,CAAC;SACxB;QAED,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE;YACxC,OAAO,WAAW,GAAG,CAAC,CAAC;SACxB;QAED,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,KAA4B,EAC5B,KAAa,EACb,GAAW,EACX,UAAqC,EACrC,QAAgB;QAEhB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,IAAI,yCAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC3E;IACH,CAAC;CACF;AAtFD,kDAsFC"}
1
+ {"version":3,"file":"CharacterConversion.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterConversion.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAE1D,MAAa,mBAAmB;IAC9B,MAAM,CAAC,aAAa;QAClB,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,EAAE,EACF,mBAAmB,CAAC,OAAO,EAC3B,GAAG,CACJ,CAAC;QACF,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,EAAE,EACF,mBAAmB,CAAC,OAAO,EAC3B,GAAG,CACJ,CAAC;QACF,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,GAAG,EACH,mBAAmB,CAAC,OAAO,EAC3B,GAAG,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,mBAAmB,CAAC,aAAa,CAC/B,MAAM,EACN,EAAE,EACF,EAAE,EACF,mBAAmB,CAAC,SAAS,EAC7B,EAAE,CACH,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,EAAU;QACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,EAAU;QACzB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE;YACxC,OAAO,WAAW,GAAG,CAAC,CAAC;SACxB;QAED,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE;YACxC,OAAO,WAAW,GAAG,CAAC,CAAC;SACxB;QAED,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,KAA4B,EAC5B,KAAa,EACb,GAAW,EACX,UAAqC,EACrC,QAAgB;QAEhB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,IAAI,yCAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC3E;IACH,CAAC;CACF;AAtFD,kDAsFC"}
@@ -1,8 +1,9 @@
1
- export declare enum CharacterEncoding {
2
- None = 0,
3
- Latin = 1,
4
- Ordinal = 2,
5
- FiveBitBinary = 3,
6
- EightBitBinary = 4,
7
- Ascii = 5
8
- }
1
+ export declare enum CharacterEncoding {
2
+ None = 0,
3
+ Latin = 1,
4
+ Ordinal = 2,
5
+ FiveBitBinary = 3,
6
+ EightBitBinary = 4,
7
+ Ascii = 5,
8
+ Ternary = 6
9
+ }
@@ -1,12 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var CharacterEncoding;
4
- (function (CharacterEncoding) {
5
- CharacterEncoding[CharacterEncoding["None"] = 0] = "None";
6
- CharacterEncoding[CharacterEncoding["Latin"] = 1] = "Latin";
7
- CharacterEncoding[CharacterEncoding["Ordinal"] = 2] = "Ordinal";
8
- CharacterEncoding[CharacterEncoding["FiveBitBinary"] = 3] = "FiveBitBinary";
9
- CharacterEncoding[CharacterEncoding["EightBitBinary"] = 4] = "EightBitBinary";
10
- CharacterEncoding[CharacterEncoding["Ascii"] = 5] = "Ascii";
11
- })(CharacterEncoding = exports.CharacterEncoding || (exports.CharacterEncoding = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CharacterEncoding = void 0;
4
+ var CharacterEncoding;
5
+ (function (CharacterEncoding) {
6
+ CharacterEncoding[CharacterEncoding["None"] = 0] = "None";
7
+ CharacterEncoding[CharacterEncoding["Latin"] = 1] = "Latin";
8
+ CharacterEncoding[CharacterEncoding["Ordinal"] = 2] = "Ordinal";
9
+ CharacterEncoding[CharacterEncoding["FiveBitBinary"] = 3] = "FiveBitBinary";
10
+ CharacterEncoding[CharacterEncoding["EightBitBinary"] = 4] = "EightBitBinary";
11
+ CharacterEncoding[CharacterEncoding["Ascii"] = 5] = "Ascii";
12
+ CharacterEncoding[CharacterEncoding["Ternary"] = 6] = "Ternary";
13
+ })(CharacterEncoding = exports.CharacterEncoding || (exports.CharacterEncoding = {}));
12
14
  //# sourceMappingURL=CharacterEncoding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterEncoding.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterEncoding.ts"],"names":[],"mappings":";;AAAA,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,yDAAI,CAAA;IACJ,2DAAK,CAAA;IACL,+DAAO,CAAA;IACP,2EAAa,CAAA;IACb,6EAAc,CAAA;IACd,2DAAK,CAAA;AACP,CAAC,EAPW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAO5B"}
1
+ {"version":3,"file":"CharacterEncoding.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterEncoding.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,yDAAI,CAAA;IACJ,2DAAK,CAAA;IACL,+DAAO,CAAA;IACP,2EAAa,CAAA;IACb,6EAAc,CAAA;IACd,2DAAK,CAAA;IACL,+DAAO,CAAA;AACT,CAAC,EARW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAQ5B"}
@@ -1,10 +1,10 @@
1
- export declare class CharacterTableEntry {
2
- private static getValue;
3
- readonly character: string;
4
- readonly binary: string;
5
- readonly ternary: string;
6
- readonly octal: string;
7
- readonly decimal: string;
8
- readonly hexadecimal: string;
9
- constructor(character: string, value: number, maxValue: number);
10
- }
1
+ export declare class CharacterTableEntry {
2
+ private static getValue;
3
+ readonly character: string;
4
+ readonly binary: string;
5
+ readonly ternary: string;
6
+ readonly octal: string;
7
+ readonly decimal: string;
8
+ readonly hexadecimal: string;
9
+ constructor(character: string, value: number, maxValue: number);
10
+ }