puzzle-lib 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/Braille/BrailleCharacter.d.ts +15 -15
- package/build/src/Braille/BrailleCharacter.js +39 -38
- package/build/src/Braille/BrailleCharacter.js.map +1 -1
- package/build/src/Braille/BrailleData.d.ts +6 -6
- package/build/src/Braille/BrailleData.js +65 -65
- package/build/src/Braille/BrailleData.js.map +1 -1
- package/build/src/Braille/BrailleDot.d.ts +9 -9
- package/build/src/Braille/BrailleDot.js +13 -13
- package/build/src/Braille/BrailleDot.js.map +1 -1
- package/build/src/Braille/BrailleEncoding.d.ts +54 -54
- package/build/src/Braille/BrailleEncoding.js +66 -65
- package/build/src/Braille/BrailleEncoding.js.map +1 -1
- package/build/src/Braille/BrailleStream.d.ts +18 -18
- package/build/src/Braille/BrailleStream.js +75 -75
- package/build/src/Braille/BrailleStream.js.map +1 -1
- package/build/src/Cipher/AutoKeyString.d.ts +4 -4
- package/build/src/Cipher/AutoKeyString.js +34 -34
- package/build/src/Cipher/CaesarString.d.ts +8 -8
- package/build/src/Cipher/CaesarString.js +32 -31
- package/build/src/Cipher/CaesarString.js.map +1 -1
- package/build/src/Cipher/CaesarUtils.d.ts +13 -13
- package/build/src/Cipher/CaesarUtils.js +57 -57
- package/build/src/Cipher/CaesarUtils.js.map +1 -1
- package/build/src/Cipher/KeyedCipherStringBase.d.ts +12 -12
- package/build/src/Cipher/KeyedCipherStringBase.js +30 -28
- package/build/src/Cipher/KeyedCipherStringBase.js.map +1 -1
- package/build/src/Cipher/VigenereString.d.ts +4 -4
- package/build/src/Cipher/VigenereString.js +21 -21
- package/build/src/Common/CharacterImage.d.ts +6 -6
- package/build/src/Common/CharacterImage.js +12 -10
- package/build/src/Common/CharacterImage.js.map +1 -1
- package/build/src/Common/EncodingCategory.d.ts +8 -8
- package/build/src/Common/EncodingCategory.js +12 -12
- package/build/src/Common/EncodingCategory.js.map +1 -1
- package/build/src/Common/EncodingCharacterBase.d.ts +23 -23
- package/build/src/Common/EncodingCharacterBase.js +54 -52
- package/build/src/Common/EncodingCharacterBase.js.map +1 -1
- package/build/src/Common/EncodingDataBase.d.ts +7 -7
- package/build/src/Common/EncodingDataBase.js +27 -29
- package/build/src/Common/EncodingDataBase.js.map +1 -1
- package/build/src/Common/EncodingEntry.d.ts +8 -8
- package/build/src/Common/EncodingEntry.js +17 -14
- package/build/src/Common/EncodingEntry.js.map +1 -1
- package/build/src/Common/EncodingLookupResult.d.ts +6 -6
- package/build/src/Common/EncodingLookupResult.js +11 -13
- package/build/src/Common/EncodingLookupResult.js.map +1 -1
- package/build/src/Common/Helpers.d.ts +4 -4
- package/build/src/Common/Helpers.js +16 -16
- package/build/src/Common/InlineSvg.d.ts +7 -7
- package/build/src/Common/InlineSvg.js +17 -14
- package/build/src/Common/InlineSvg.js.map +1 -1
- package/build/src/Conversion/CharacterAutoConvert.d.ts +10 -10
- package/build/src/Conversion/CharacterAutoConvert.js +88 -88
- package/build/src/Conversion/CharacterAutoConvert.js.map +1 -1
- package/build/src/Conversion/CharacterConversion.d.ts +8 -8
- package/build/src/Conversion/CharacterConversion.js +50 -50
- package/build/src/Conversion/CharacterEncoding.d.ts +9 -9
- package/build/src/Conversion/CharacterEncoding.js +13 -13
- package/build/src/Conversion/CharacterEncoding.js.map +1 -1
- package/build/src/Conversion/CharacterTableEntry.d.ts +10 -10
- package/build/src/Conversion/CharacterTableEntry.js +25 -19
- package/build/src/Conversion/CharacterTableEntry.js.map +1 -1
- package/build/src/Conversion/SignificantFigures.d.ts +7 -7
- package/build/src/Conversion/SignificantFigures.js +50 -50
- package/build/src/Conversion/StringAutoConvert.d.ts +6 -6
- package/build/src/Conversion/StringAutoConvert.js +46 -46
- package/build/src/Morse/MorseCharacter.d.ts +22 -22
- package/build/src/Morse/MorseCharacter.js +97 -96
- package/build/src/Morse/MorseCharacter.js.map +1 -1
- package/build/src/Morse/MorseData.d.ts +6 -6
- package/build/src/Morse/MorseData.js +70 -70
- package/build/src/Morse/MorseData.js.map +1 -1
- package/build/src/Morse/MorseEncoding.d.ts +59 -59
- package/build/src/Morse/MorseEncoding.js +94 -94
- package/build/src/Morse/MorseEncoding.js.map +1 -1
- package/build/src/Morse/MorseString.d.ts +10 -10
- package/build/src/Morse/MorseString.js +67 -66
- package/build/src/Morse/MorseString.js.map +1 -1
- package/build/src/Nato/NatoCharacter.d.ts +5 -5
- package/build/src/Nato/NatoCharacter.js +12 -10
- package/build/src/Nato/NatoCharacter.js.map +1 -1
- package/build/src/Nato/NatoData.d.ts +7 -7
- package/build/src/Nato/NatoData.js +49 -51
- package/build/src/Nato/NatoData.js.map +1 -1
- package/build/src/NavalFlags/NavalFlags.d.ts +7 -7
- package/build/src/NavalFlags/NavalFlags.js +75 -77
- package/build/src/NavalFlags/NavalFlags.js.map +1 -1
- package/build/src/Resistor/Resistor.d.ts +24 -24
- package/build/src/Resistor/Resistor.js +86 -86
- package/build/src/Resistor/Resistor.js.map +1 -1
- package/build/src/Resistor/ResistorColorEntry.d.ts +12 -12
- package/build/src/Resistor/ResistorColorEntry.js +36 -31
- package/build/src/Resistor/ResistorColorEntry.js.map +1 -1
- package/build/src/Semaphore/SemaphoreCharacter.d.ts +20 -20
- package/build/src/Semaphore/SemaphoreCharacter.js +75 -75
- package/build/src/Semaphore/SemaphoreCharacter.js.map +1 -1
- package/build/src/Semaphore/SemaphoreData.d.ts +6 -6
- package/build/src/Semaphore/SemaphoreData.js +53 -53
- package/build/src/Semaphore/SemaphoreData.js.map +1 -1
- package/build/src/Semaphore/SemaphoreDegrees.d.ts +5 -5
- package/build/src/Semaphore/SemaphoreDegrees.js +26 -26
- package/build/src/Semaphore/SemaphoreDirection.d.ts +11 -11
- package/build/src/Semaphore/SemaphoreDirection.js +15 -15
- package/build/src/Semaphore/SemaphoreDirection.js.map +1 -1
- package/build/src/Semaphore/SemaphoreEncoding.d.ts +40 -40
- package/build/src/Semaphore/SemaphoreEncoding.js +48 -47
- package/build/src/Semaphore/SemaphoreEncoding.js.map +1 -1
- package/build/src/Semaphore/SemaphoreStream.d.ts +17 -17
- package/build/src/Semaphore/SemaphoreStream.js +73 -72
- package/build/src/Semaphore/SemaphoreStream.js.map +1 -1
- package/build/src/WordSearch/Point.d.ts +4 -4
- package/build/src/WordSearch/Point.js +2 -2
- package/build/src/WordSearch/Result.d.ts +6 -6
- package/build/src/WordSearch/Result.js +12 -10
- package/build/src/WordSearch/Result.js.map +1 -1
- package/build/src/WordSearch/WordSearchDirection.d.ts +6 -6
- package/build/src/WordSearch/WordSearchDirection.js +10 -10
- package/build/src/WordSearch/WordSearchDirection.js.map +1 -1
- package/build/src/WordSearch/WordSearchSolver.d.ts +27 -27
- package/build/src/WordSearch/WordSearchSolver.js +232 -222
- package/build/src/WordSearch/WordSearchSolver.js.map +1 -1
- package/build/src/index.d.ts +35 -35
- package/build/src/index.js +72 -72
- package/package.json +5 -5
- package/src/Braille/BrailleCharacter.ts +1 -1
- package/src/Braille/BrailleData.ts +16 -16
- package/src/Cipher/AutoKeyString.ts +1 -1
- package/src/Cipher/CaesarUtils.ts +1 -1
- package/src/Cipher/VigenereString.ts +1 -1
- package/src/Common/EncodingDataBase.ts +1 -1
- package/src/Conversion/CharacterAutoConvert.ts +1 -1
- package/src/Conversion/CharacterConversion.ts +5 -5
- package/src/Conversion/SignificantFigures.ts +1 -1
- package/src/Conversion/StringAutoConvert.ts +2 -2
- package/src/Morse/MorseData.ts +18 -18
- package/src/Morse/MorseString.ts +12 -12
- package/src/Nato/NatoData.ts +1 -1
- package/src/NavalFlags/NavalFlags.ts +52 -52
- package/src/Resistor/Resistor.ts +9 -9
- package/src/Resistor/ResistorColorEntry.ts +1 -1
- package/src/Semaphore/SemaphoreCharacter.ts +5 -5
- package/src/Semaphore/SemaphoreData.ts +1 -1
- package/src/WordSearch/WordSearchSolver.ts +1 -1
|
@@ -1,89 +1,89 @@
|
|
|
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
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
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 BINARY_REGEX = new RegExp('^[01]+$');
|
|
80
|
+
static appearsBinary(str) {
|
|
81
|
+
return this.BINARY_REGEX.test(str);
|
|
82
|
+
}
|
|
83
|
+
static TERNARY_REGEX = new RegExp('^[0-2]{3}$');
|
|
84
|
+
static appearsTernary(str) {
|
|
85
|
+
return this.TERNARY_REGEX.test(str);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.CharacterAutoConvert = CharacterAutoConvert;
|
|
89
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,51 +1,51 @@
|
|
|
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;
|
|
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;
|
|
51
51
|
//# sourceMappingURL=CharacterConversion.js.map
|
|
@@ -1,9 +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
|
-
Ternary = 6
|
|
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
|
+
Ternary = 6
|
|
9
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
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
|
|
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 = CharacterEncoding = {}));
|
|
14
14
|
//# sourceMappingURL=CharacterEncoding.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,iCAAjB,iBAAiB,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
|
+
}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CharacterTableEntry = void 0;
|
|
4
|
-
class CharacterTableEntry {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CharacterTableEntry = void 0;
|
|
4
|
+
class CharacterTableEntry {
|
|
5
|
+
static getValue(value, base, maxValue) {
|
|
6
|
+
return value
|
|
7
|
+
.toString(base)
|
|
8
|
+
.padStart(Math.ceil(Math.log(maxValue) / Math.log(base)), '0');
|
|
9
|
+
}
|
|
10
|
+
character;
|
|
11
|
+
binary;
|
|
12
|
+
ternary;
|
|
13
|
+
octal;
|
|
14
|
+
decimal;
|
|
15
|
+
hexadecimal;
|
|
16
|
+
constructor(character, value, maxValue) {
|
|
17
|
+
this.character = character;
|
|
18
|
+
this.binary = CharacterTableEntry.getValue(value, 2, maxValue);
|
|
19
|
+
this.ternary = CharacterTableEntry.getValue(value, 3, maxValue);
|
|
20
|
+
this.octal = CharacterTableEntry.getValue(value, 8, maxValue);
|
|
21
|
+
this.decimal = CharacterTableEntry.getValue(value, 10, maxValue);
|
|
22
|
+
this.hexadecimal = CharacterTableEntry.getValue(value, 16, maxValue);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.CharacterTableEntry = CharacterTableEntry;
|
|
20
26
|
//# sourceMappingURL=CharacterTableEntry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharacterTableEntry.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterTableEntry.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"CharacterTableEntry.js","sourceRoot":"","sources":["../../../src/Conversion/CharacterTableEntry.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;IACtB,MAAM,CAAC,QAAQ,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;QACnE,OAAO,KAAK;aACT,QAAQ,CAAC,IAAI,CAAC;aACd,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAEQ,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,OAAO,CAAS;IAChB,WAAW,CAAS;IAE7B,YAAY,SAAiB,EAAE,KAAa,EAAE,QAAgB;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;CACF;AAtBD,kDAsBC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare class SignificantFigures {
|
|
2
|
-
static ceil(num: number, sigFigs: number): number;
|
|
3
|
-
static floor(num: number, sigFigs: number): number;
|
|
4
|
-
static round(num: number, sigFigs: number): number;
|
|
5
|
-
private static roundInternal;
|
|
6
|
-
private static getFactor;
|
|
7
|
-
}
|
|
1
|
+
export declare class SignificantFigures {
|
|
2
|
+
static ceil(num: number, sigFigs: number): number;
|
|
3
|
+
static floor(num: number, sigFigs: number): number;
|
|
4
|
+
static round(num: number, sigFigs: number): number;
|
|
5
|
+
private static roundInternal;
|
|
6
|
+
private static getFactor;
|
|
7
|
+
}
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SignificantFigures = void 0;
|
|
4
|
-
class SignificantFigures {
|
|
5
|
-
static ceil(num, sigFigs) {
|
|
6
|
-
return this.roundInternal(Math.ceil, num, sigFigs);
|
|
7
|
-
}
|
|
8
|
-
static floor(num, sigFigs) {
|
|
9
|
-
return this.roundInternal(Math.floor, num, sigFigs);
|
|
10
|
-
}
|
|
11
|
-
static round(num, sigFigs) {
|
|
12
|
-
return this.roundInternal(Math.round, num, sigFigs);
|
|
13
|
-
}
|
|
14
|
-
static roundInternal(func, num, sigFigs) {
|
|
15
|
-
if (num === 0) {
|
|
16
|
-
return num;
|
|
17
|
-
}
|
|
18
|
-
if (sigFigs <= 0) {
|
|
19
|
-
throw new RangeError('sigFigs value must be positive');
|
|
20
|
-
}
|
|
21
|
-
const factor = this.getFactor(num, sigFigs);
|
|
22
|
-
if (factor > 0) {
|
|
23
|
-
return func(num / factor) * factor;
|
|
24
|
-
}
|
|
25
|
-
else if (factor < 0) {
|
|
26
|
-
const absFactor = Math.abs(factor);
|
|
27
|
-
return func(num * absFactor) / absFactor;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
return num;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
static getFactor(num, sigFigs) {
|
|
34
|
-
const absNum = Math.abs(num);
|
|
35
|
-
let digits = 0;
|
|
36
|
-
if (absNum < 1) {
|
|
37
|
-
digits = -sigFigs;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
digits = Math.ceil(Math.log(absNum) / Math.log(10)) - sigFigs;
|
|
41
|
-
}
|
|
42
|
-
if (digits < 0) {
|
|
43
|
-
return -Math.pow(10, Math.abs(digits));
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
return Math.pow(10, digits);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.SignificantFigures = SignificantFigures;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignificantFigures = void 0;
|
|
4
|
+
class SignificantFigures {
|
|
5
|
+
static ceil(num, sigFigs) {
|
|
6
|
+
return this.roundInternal(Math.ceil, num, sigFigs);
|
|
7
|
+
}
|
|
8
|
+
static floor(num, sigFigs) {
|
|
9
|
+
return this.roundInternal(Math.floor, num, sigFigs);
|
|
10
|
+
}
|
|
11
|
+
static round(num, sigFigs) {
|
|
12
|
+
return this.roundInternal(Math.round, num, sigFigs);
|
|
13
|
+
}
|
|
14
|
+
static roundInternal(func, num, sigFigs) {
|
|
15
|
+
if (num === 0) {
|
|
16
|
+
return num;
|
|
17
|
+
}
|
|
18
|
+
if (sigFigs <= 0) {
|
|
19
|
+
throw new RangeError('sigFigs value must be positive');
|
|
20
|
+
}
|
|
21
|
+
const factor = this.getFactor(num, sigFigs);
|
|
22
|
+
if (factor > 0) {
|
|
23
|
+
return func(num / factor) * factor;
|
|
24
|
+
}
|
|
25
|
+
else if (factor < 0) {
|
|
26
|
+
const absFactor = Math.abs(factor);
|
|
27
|
+
return func(num * absFactor) / absFactor;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return num;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static getFactor(num, sigFigs) {
|
|
34
|
+
const absNum = Math.abs(num);
|
|
35
|
+
let digits = 0;
|
|
36
|
+
if (absNum < 1) {
|
|
37
|
+
digits = -sigFigs;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
digits = Math.ceil(Math.log(absNum) / Math.log(10)) - sigFigs;
|
|
41
|
+
}
|
|
42
|
+
if (digits < 0) {
|
|
43
|
+
return -Math.pow(10, Math.abs(digits));
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return Math.pow(10, digits);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.SignificantFigures = SignificantFigures;
|
|
51
51
|
//# sourceMappingURL=SignificantFigures.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CharacterEncoding } from './CharacterEncoding';
|
|
2
|
-
export declare class StringAutoConvert {
|
|
3
|
-
static convertString(input: string, homogeneous: boolean): string;
|
|
4
|
-
static determineStringEncoding(input: string): CharacterEncoding;
|
|
5
|
-
static splitString(input: string): string[];
|
|
6
|
-
}
|
|
1
|
+
import { CharacterEncoding } from './CharacterEncoding';
|
|
2
|
+
export declare class StringAutoConvert {
|
|
3
|
+
static convertString(input: string, homogeneous: boolean): string;
|
|
4
|
+
static determineStringEncoding(input: string): CharacterEncoding;
|
|
5
|
+
static splitString(input: string): string[];
|
|
6
|
+
}
|