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,72 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const EncodingCategory_1 = require("../Common/EncodingCategory");
4
- const SemaphoreData_1 = require("./SemaphoreData");
5
- const SemaphoreEncoding_1 = require("./SemaphoreEncoding");
6
- class SemaphoreStream {
7
- constructor(chars) {
8
- this._chars = [];
9
- this._currentStr = '';
10
- this._processPosition = 0;
11
- if (chars) {
12
- this._chars = Array.from(chars);
13
- }
14
- this._state = {
15
- numberMode: false,
16
- };
17
- this.invalidate();
18
- }
19
- get chars() {
20
- return this._chars;
21
- }
22
- set chars(value) {
23
- this.clear();
24
- for (const ch of value) {
25
- this._chars.push(ch);
26
- }
27
- }
28
- append(ch) {
29
- this._chars.push(ch.valueOf());
30
- }
31
- clear() {
32
- this._chars.length = 0;
33
- this.invalidate();
34
- }
35
- space() {
36
- this._chars.push(SemaphoreEncoding_1.SemaphoreEncoding.None);
37
- }
38
- toString() {
39
- this.update();
40
- return this._currentStr;
41
- }
42
- invalidate() {
43
- this._currentStr = '';
44
- this._processPosition = 0;
45
- }
46
- update() {
47
- while (this._processPosition < this._chars.length) {
48
- const ch = this._chars[this._processPosition];
49
- if (ch === SemaphoreEncoding_1.SemaphoreEncoding.None) {
50
- this._state.numberMode = false;
51
- this._currentStr += ' ';
52
- }
53
- else if (ch === SemaphoreEncoding_1.SemaphoreEncoding.FormattingNumber) {
54
- this._state.numberMode = true;
55
- this._currentStr += '#';
56
- }
57
- else {
58
- const category = EncodingCategory_1.EncodingCategory.Punctuation |
59
- (this._state.numberMode
60
- ? EncodingCategory_1.EncodingCategory.Number
61
- : EncodingCategory_1.EncodingCategory.Letter);
62
- const exact = SemaphoreData_1.SemaphoreData.instance.lookup(ch, category).exact;
63
- if (exact.length > 0) {
64
- this._currentStr += exact[0].toString();
65
- }
66
- }
67
- this._processPosition++;
68
- }
69
- }
70
- }
71
- exports.SemaphoreStream = SemaphoreStream;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SemaphoreStream = void 0;
4
+ const EncodingCategory_1 = require("../Common/EncodingCategory");
5
+ const SemaphoreData_1 = require("./SemaphoreData");
6
+ const SemaphoreEncoding_1 = require("./SemaphoreEncoding");
7
+ class SemaphoreStream {
8
+ constructor(chars) {
9
+ this._chars = [];
10
+ this._currentStr = '';
11
+ this._processPosition = 0;
12
+ if (chars) {
13
+ this._chars = Array.from(chars);
14
+ }
15
+ this._state = {
16
+ numberMode: false,
17
+ };
18
+ this.invalidate();
19
+ }
20
+ get chars() {
21
+ return this._chars;
22
+ }
23
+ set chars(value) {
24
+ this.clear();
25
+ for (const ch of value) {
26
+ this._chars.push(ch);
27
+ }
28
+ }
29
+ append(ch) {
30
+ this._chars.push(ch.valueOf());
31
+ }
32
+ clear() {
33
+ this._chars.length = 0;
34
+ this.invalidate();
35
+ }
36
+ space() {
37
+ this._chars.push(SemaphoreEncoding_1.SemaphoreEncoding.None);
38
+ }
39
+ toString() {
40
+ this.update();
41
+ return this._currentStr;
42
+ }
43
+ invalidate() {
44
+ this._currentStr = '';
45
+ this._processPosition = 0;
46
+ }
47
+ update() {
48
+ while (this._processPosition < this._chars.length) {
49
+ const ch = this._chars[this._processPosition];
50
+ if (ch === SemaphoreEncoding_1.SemaphoreEncoding.None) {
51
+ this._state.numberMode = false;
52
+ this._currentStr += ' ';
53
+ }
54
+ else if (ch === SemaphoreEncoding_1.SemaphoreEncoding.FormattingNumber) {
55
+ this._state.numberMode = true;
56
+ this._currentStr += '#';
57
+ }
58
+ else {
59
+ const category = EncodingCategory_1.EncodingCategory.Punctuation |
60
+ (this._state.numberMode
61
+ ? EncodingCategory_1.EncodingCategory.Number
62
+ : EncodingCategory_1.EncodingCategory.Letter);
63
+ const exact = SemaphoreData_1.SemaphoreData.instance.lookup(ch, category).exact;
64
+ if (exact.length > 0) {
65
+ this._currentStr += exact[0].toString();
66
+ }
67
+ }
68
+ this._processPosition++;
69
+ }
70
+ }
71
+ }
72
+ exports.SemaphoreStream = SemaphoreStream;
72
73
  //# sourceMappingURL=SemaphoreStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SemaphoreStream.js","sourceRoot":"","sources":["../../../src/Semaphore/SemaphoreStream.ts"],"names":[],"mappings":";;AAAA,iEAA4D;AAE5D,mDAA8C;AAC9C,2DAAsD;AAMtD,MAAa,eAAe;IAM1B,YAAY,KAA2B;QALtB,WAAM,GAAwB,EAAE,CAAC;QAE1C,gBAAW,GAAG,EAAE,CAAC;QACjB,qBAAgB,GAAG,CAAC,CAAC;QAG3B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,MAAM,GAAG;YACZ,UAAU,EAAE,KAAK;SAClB,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAA0B;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtB;IACH,CAAC;IAED,MAAM,CAAC,EAAsB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEO,MAAM;QACZ,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE9C,IAAI,EAAE,KAAK,qCAAiB,CAAC,IAAI,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;aACzB;iBAAM,IAAI,EAAE,KAAK,qCAAiB,CAAC,gBAAgB,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;aACzB;iBAAM;gBACL,MAAM,QAAQ,GACZ,mCAAgB,CAAC,WAAW;oBAC5B,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;wBACrB,CAAC,CAAC,mCAAgB,CAAC,MAAM;wBACzB,CAAC,CAAC,mCAAgB,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,6BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;gBAEhE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACzC;aACF;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;CACF;AA/ED,0CA+EC"}
1
+ {"version":3,"file":"SemaphoreStream.js","sourceRoot":"","sources":["../../../src/Semaphore/SemaphoreStream.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAE5D,mDAA8C;AAC9C,2DAAsD;AAMtD,MAAa,eAAe;IAM1B,YAAY,KAA2B;QALtB,WAAM,GAAwB,EAAE,CAAC;QAE1C,gBAAW,GAAG,EAAE,CAAC;QACjB,qBAAgB,GAAG,CAAC,CAAC;QAG3B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,MAAM,GAAG;YACZ,UAAU,EAAE,KAAK;SAClB,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAA0B;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtB;IACH,CAAC;IAED,MAAM,CAAC,EAAsB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEO,MAAM;QACZ,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE9C,IAAI,EAAE,KAAK,qCAAiB,CAAC,IAAI,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;aACzB;iBAAM,IAAI,EAAE,KAAK,qCAAiB,CAAC,gBAAgB,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;aACzB;iBAAM;gBACL,MAAM,QAAQ,GACZ,mCAAgB,CAAC,WAAW;oBAC5B,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;wBACrB,CAAC,CAAC,mCAAgB,CAAC,MAAM;wBACzB,CAAC,CAAC,mCAAgB,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,6BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;gBAEhE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACzC;aACF;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;CACF;AA/ED,0CA+EC"}
@@ -1,4 +1,4 @@
1
- export interface Point {
2
- x: number;
3
- y: number;
4
- }
1
+ export interface Point {
2
+ x: number;
3
+ y: number;
4
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=Point.js.map
@@ -1,6 +1,6 @@
1
- import { Point } from './Point';
2
- export declare class Result {
3
- word: string;
4
- points: Point[];
5
- constructor(word: string, wordPoints: Point[]);
6
- }
1
+ import { Point } from './Point';
2
+ export declare class Result {
3
+ word: string;
4
+ points: Point[];
5
+ constructor(word: string, wordPoints: Point[]);
6
+ }
@@ -1,10 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class Result {
4
- constructor(word, wordPoints) {
5
- this.word = word;
6
- this.points = Array.from(wordPoints);
7
- }
8
- }
9
- exports.Result = Result;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Result = void 0;
4
+ class Result {
5
+ constructor(word, wordPoints) {
6
+ this.word = word;
7
+ this.points = Array.from(wordPoints);
8
+ }
9
+ }
10
+ exports.Result = Result;
10
11
  //# sourceMappingURL=Result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Result.js","sourceRoot":"","sources":["../../../src/WordSearch/Result.ts"],"names":[],"mappings":";;AAEA,MAAa,MAAM;IAGjB,YAAY,IAAY,EAAE,UAAmB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACF;AAPD,wBAOC"}
1
+ {"version":3,"file":"Result.js","sourceRoot":"","sources":["../../../src/WordSearch/Result.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IAGjB,YAAY,IAAY,EAAE,UAAmB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACF;AAPD,wBAOC"}
@@ -1,6 +1,6 @@
1
- export declare enum WordSearchDirection {
2
- None = 0,
3
- Cardinal = 1,
4
- Diagonal = 2,
5
- CardinalAndDiagonal = 3
6
- }
1
+ export declare enum WordSearchDirection {
2
+ None = 0,
3
+ Cardinal = 1,
4
+ Diagonal = 2,
5
+ CardinalAndDiagonal = 3
6
+ }
@@ -1,10 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var WordSearchDirection;
4
- (function (WordSearchDirection) {
5
- WordSearchDirection[WordSearchDirection["None"] = 0] = "None";
6
- WordSearchDirection[WordSearchDirection["Cardinal"] = 1] = "Cardinal";
7
- WordSearchDirection[WordSearchDirection["Diagonal"] = 2] = "Diagonal";
8
- WordSearchDirection[WordSearchDirection["CardinalAndDiagonal"] = 3] = "CardinalAndDiagonal";
9
- })(WordSearchDirection = exports.WordSearchDirection || (exports.WordSearchDirection = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WordSearchDirection = void 0;
4
+ var WordSearchDirection;
5
+ (function (WordSearchDirection) {
6
+ WordSearchDirection[WordSearchDirection["None"] = 0] = "None";
7
+ WordSearchDirection[WordSearchDirection["Cardinal"] = 1] = "Cardinal";
8
+ WordSearchDirection[WordSearchDirection["Diagonal"] = 2] = "Diagonal";
9
+ WordSearchDirection[WordSearchDirection["CardinalAndDiagonal"] = 3] = "CardinalAndDiagonal";
10
+ })(WordSearchDirection = exports.WordSearchDirection || (exports.WordSearchDirection = {}));
10
11
  //# sourceMappingURL=WordSearchDirection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WordSearchDirection.js","sourceRoot":"","sources":["../../../src/WordSearch/WordSearchDirection.ts"],"names":[],"mappings":";;AAAA,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,6DAAQ,CAAA;IACR,qEAAY,CAAA;IACZ,qEAAY,CAAA;IACZ,2FAAuB,CAAA;AACzB,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B"}
1
+ {"version":3,"file":"WordSearchDirection.js","sourceRoot":"","sources":["../../../src/WordSearch/WordSearchDirection.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,6DAAQ,CAAA;IACR,qEAAY,CAAA;IACZ,qEAAY,CAAA;IACZ,2FAAuB,CAAA;AACzB,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B"}
@@ -1,18 +1,27 @@
1
- import { Result } from './Result';
2
- import { WordSearchDirection } from './WordSearchDirection';
3
- export declare class WordSearchSolver {
4
- private _matrix;
5
- private _directions;
6
- private _targets;
7
- private _canBend;
8
- constructor();
9
- setWords(words: string[]): void;
10
- setGrid(matrix: string[][]): void;
11
- setDirections(direction: WordSearchDirection): void;
12
- setCanBend(canBend: boolean): void;
13
- findWords(): Result[];
14
- private search;
15
- private dfsCheck;
16
- private lineCheck;
17
- private isInBounds;
18
- }
1
+ import { Result } from './Result';
2
+ import { WordSearchDirection } from './WordSearchDirection';
3
+ export declare enum WordSearchSpaceTreatment {
4
+ None = 0,
5
+ RemoveWithinPuzzle = 1,
6
+ RemoveAll = 2
7
+ }
8
+ export declare class WordSearchSolver {
9
+ private _matrix;
10
+ private _directions;
11
+ private _targets;
12
+ private _canBend;
13
+ private _spaceTreatment;
14
+ constructor();
15
+ setWords(words: string[]): void;
16
+ parseGrid(gridInputText: string): void;
17
+ setGrid(matrix: string[][]): void;
18
+ setDirections(direction: WordSearchDirection): void;
19
+ setSpaceTreatment(treatment: WordSearchSpaceTreatment): void;
20
+ setCanBend(canBend: boolean): void;
21
+ findWords(): Result[];
22
+ private search;
23
+ private dfsCheck;
24
+ private lineCheck;
25
+ private isInBounds;
26
+ private checkSpaces;
27
+ }