echogarden 1.8.7 → 2.0.1
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/README.md +23 -18
- package/data/schemas/options.json +52 -47
- package/dist/alignment/DTWSequenceAlignment.d.ts +1 -1
- package/dist/alignment/DTWSequenceAlignment.js +5 -5
- package/dist/alignment/DTWSequenceAlignment.js.map +1 -1
- package/dist/alignment/SpeechAlignment.js +6 -6
- package/dist/alignment/SpeechAlignment.js.map +1 -1
- package/dist/api/Alignment.d.ts +1 -1
- package/dist/api/Alignment.js +49 -11
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/Denoising.d.ts +4 -2
- package/dist/api/Denoising.js +65 -13
- package/dist/api/Denoising.js.map +1 -1
- package/dist/api/SourceSeparation.js +9 -6
- package/dist/api/SourceSeparation.js.map +1 -1
- package/dist/api/SpeechLanguageDetection.js +4 -4
- package/dist/api/SpeechLanguageDetection.js.map +1 -1
- package/dist/api/Synthesis.d.ts +2 -2
- package/dist/api/Synthesis.js +10 -7
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/api/VoiceActivityDetection.js +2 -2
- package/dist/api/VoiceActivityDetection.js.map +1 -1
- package/dist/audio/AudioBufferConversion.d.ts +2 -2
- package/dist/audio/AudioBufferConversion.js +77 -43
- package/dist/audio/AudioBufferConversion.js.map +1 -1
- package/dist/audio/AudioPlayer.d.ts +7 -5
- package/dist/audio/AudioPlayer.js +135 -49
- package/dist/audio/AudioPlayer.js.map +1 -1
- package/dist/audio/AudioUtilities.d.ts +4 -3
- package/dist/audio/AudioUtilities.js +30 -15
- package/dist/audio/AudioUtilities.js.map +1 -1
- package/dist/audio/SoxPath.js +3 -3
- package/dist/audio/SoxPath.js.map +1 -1
- package/dist/build-tools/MakeTarballsForInstalledPackages.js +3 -3
- package/dist/build-tools/MakeTarballsForInstalledPackages.js.map +1 -1
- package/dist/cli/CLI.js +30 -36
- package/dist/cli/CLI.js.map +1 -1
- package/dist/cli/CLIConfigFile.js +2 -2
- package/dist/cli/CLIConfigFile.js.map +1 -1
- package/dist/cli/CLIOptions.d.ts +2 -0
- package/dist/cli/CLIOptions.js +1 -1
- package/dist/cli/CLIOptions.js.map +1 -1
- package/dist/codecs/FFMpegTranscoder.d.ts +3 -3
- package/dist/codecs/FFMpegTranscoder.js +6 -6
- package/dist/codecs/FFMpegTranscoder.js.map +1 -1
- package/dist/codecs/TIMITCodec.d.ts +1 -1
- package/dist/codecs/TIMITCodec.js +4 -3
- package/dist/codecs/TIMITCodec.js.map +1 -1
- package/dist/codecs/WaveCodec.d.ts +3 -3
- package/dist/codecs/WaveCodec.js +37 -34
- package/dist/codecs/WaveCodec.js.map +1 -1
- package/dist/data-structures/DynamicTypedArray.d.ts +17 -0
- package/dist/data-structures/DynamicTypedArray.js +47 -0
- package/dist/data-structures/DynamicTypedArray.js.map +1 -0
- package/dist/data-structures/Queue.js.map +1 -0
- package/dist/data-structures/WindowedList.js.map +1 -0
- package/dist/denoising/NSNet2.d.ts +26 -0
- package/dist/denoising/NSNet2.js +128 -0
- package/dist/denoising/NSNet2.js.map +1 -0
- package/dist/denoising/RNNoise.js +3 -3
- package/dist/denoising/RNNoise.js.map +1 -1
- package/dist/dsp/FFT.d.ts +6 -1
- package/dist/dsp/FFT.js +17 -0
- package/dist/dsp/FFT.js.map +1 -1
- package/dist/encodings/Ascii.d.ts +10 -0
- package/dist/encodings/Ascii.js +41 -0
- package/dist/encodings/Ascii.js.map +1 -0
- package/dist/encodings/Base64.d.ts +5 -0
- package/dist/encodings/Base64.js +114 -0
- package/dist/encodings/Base64.js.map +1 -0
- package/dist/encodings/Hex.d.ts +3 -0
- package/dist/encodings/Hex.js +52 -0
- package/dist/encodings/Hex.js.map +1 -0
- package/dist/encodings/HtmlEscape.d.ts +1 -0
- package/dist/encodings/HtmlEscape.js +30 -0
- package/dist/encodings/HtmlEscape.js.map +1 -0
- package/dist/{utilities → encodings}/LEB128.d.ts +1 -1
- package/dist/{utilities → encodings}/LEB128.js +4 -4
- package/dist/encodings/LEB128.js.map +1 -0
- package/dist/{utilities → encodings}/LPVarInt.d.ts +1 -1
- package/dist/{utilities → encodings}/LPVarInt.js +6 -6
- package/dist/encodings/LPVarInt.js.map +1 -0
- package/dist/encodings/TextEncodingsCommon.d.ts +4 -0
- package/dist/encodings/TextEncodingsCommon.js +2 -0
- package/dist/encodings/TextEncodingsCommon.js.map +1 -0
- package/dist/encodings/Utf16.d.ts +10 -0
- package/dist/encodings/Utf16.js +36 -0
- package/dist/encodings/Utf16.js.map +1 -0
- package/dist/encodings/Utf32.d.ts +4 -0
- package/dist/encodings/Utf32.js +32 -0
- package/dist/encodings/Utf32.js.map +1 -0
- package/dist/encodings/Utf8.d.ts +10 -0
- package/dist/encodings/Utf8.js +97 -0
- package/dist/encodings/Utf8.js.map +1 -0
- package/dist/math/MedianFilter.d.ts +0 -1
- package/dist/math/MedianFilter.js +0 -10
- package/dist/math/MedianFilter.js.map +1 -1
- package/dist/nlp/JapaneseSegmentation.js +2 -2
- package/dist/nlp/JapaneseSegmentation.js.map +1 -1
- package/dist/recognition/GoogleCloudSTT.js +2 -1
- package/dist/recognition/GoogleCloudSTT.js.map +1 -1
- package/dist/recognition/SileroSTT.js +3 -3
- package/dist/recognition/SileroSTT.js.map +1 -1
- package/dist/recognition/VoskSTT.js +3 -3
- package/dist/recognition/VoskSTT.js.map +1 -1
- package/dist/recognition/WhisperCppSTT.js +4 -5
- package/dist/recognition/WhisperCppSTT.js.map +1 -1
- package/dist/recognition/WhisperSTT.js +8 -7
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/server/Client.d.ts +1 -1
- package/dist/server/Client.js +2 -1
- package/dist/server/Client.js.map +1 -1
- package/dist/server/Server.js +5 -4
- package/dist/server/Server.js.map +1 -1
- package/dist/server/Worker.js +1 -1
- package/dist/server/Worker.js.map +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
- package/dist/speech-search/DTWSpeechSearch.d.ts +1 -1
- package/dist/speech-search/DTWSpeechSearch.js +25 -6
- package/dist/speech-search/DTWSpeechSearch.js.map +1 -1
- package/dist/subtitles/Subtitles.js +2 -2
- package/dist/subtitles/Subtitles.js.map +1 -1
- package/dist/synthesis/AzureCognitiveServicesTTS.js +19 -20
- package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -1
- package/dist/synthesis/CoquiServerTTS.js +1 -1
- package/dist/synthesis/CoquiServerTTS.js.map +1 -1
- package/dist/synthesis/ElevenlabsTTS.js +1 -1
- package/dist/synthesis/ElevenlabsTTS.js.map +1 -1
- package/dist/synthesis/EspeakTTS.d.ts +0 -1
- package/dist/synthesis/EspeakTTS.js +2 -11
- package/dist/synthesis/EspeakTTS.js.map +1 -1
- package/dist/synthesis/FliteTTS.js +8 -9
- package/dist/synthesis/FliteTTS.js.map +1 -1
- package/dist/synthesis/GoogleCloudTTS.d.ts +1 -1
- package/dist/synthesis/GoogleCloudTTS.js +2 -1
- package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
- package/dist/synthesis/GoogleTranslateTTS.d.ts +1 -1
- package/dist/synthesis/GoogleTranslateTTS.js +4 -3
- package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js +34 -9
- package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
- package/dist/synthesis/SapiTTS.js +1 -1
- package/dist/synthesis/SapiTTS.js.map +1 -1
- package/dist/synthesis/StreamlabsPollyTTS.d.ts +1 -1
- package/dist/synthesis/StreamlabsPollyTTS.js +1 -1
- package/dist/synthesis/StreamlabsPollyTTS.js.map +1 -1
- package/dist/synthesis/SvoxPicoTTS.js +6 -6
- package/dist/synthesis/SvoxPicoTTS.js.map +1 -1
- package/dist/synthesis/VitsTTS.js +2 -2
- package/dist/synthesis/VitsTTS.js.map +1 -1
- package/dist/tests/Test.js +1 -47
- package/dist/tests/Test.js.map +1 -1
- package/dist/text-language-detection/FastTextLanguageDetection.js +2 -2
- package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -1
- package/dist/text-translation/GoogleTranslateTextTranslation.js +1 -1
- package/dist/text-translation/GoogleTranslateTextTranslation.js.map +1 -1
- package/dist/typings/TypedArray.d.ts +4 -0
- package/dist/typings/TypedArray.js +2 -0
- package/dist/typings/TypedArray.js.map +1 -0
- package/dist/utilities/BinaryArrayConversion.d.ts +12 -22
- package/dist/utilities/BinaryArrayConversion.js +40 -90
- package/dist/utilities/BinaryArrayConversion.js.map +1 -1
- package/dist/utilities/BinaryUtilities.d.ts +13 -0
- package/dist/utilities/BinaryUtilities.js +113 -0
- package/dist/utilities/BinaryUtilities.js.map +1 -0
- package/dist/utilities/Compression.js +7 -6
- package/dist/utilities/Compression.js.map +1 -1
- package/dist/utilities/FileDownloader.js +26 -47
- package/dist/utilities/FileDownloader.js.map +1 -1
- package/dist/utilities/FileReader.d.ts +14 -0
- package/dist/utilities/FileReader.js +71 -0
- package/dist/utilities/FileReader.js.map +1 -0
- package/dist/utilities/FileSystem.d.ts +19 -16
- package/dist/utilities/FileSystem.js +170 -109
- package/dist/utilities/FileSystem.js.map +1 -1
- package/dist/utilities/FileWriter.d.ts +12 -0
- package/dist/utilities/FileWriter.js +60 -0
- package/dist/utilities/FileWriter.js.map +1 -0
- package/dist/utilities/NpmUtilities.d.ts +1 -0
- package/dist/utilities/NpmUtilities.js +14 -0
- package/dist/utilities/NpmUtilities.js.map +1 -0
- package/dist/utilities/PackageManager.js +7 -5
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/PathUtilities.d.ts +8 -0
- package/dist/utilities/PathUtilities.js +28 -7
- package/dist/utilities/PathUtilities.js.map +1 -1
- package/dist/utilities/SignalChannel.d.ts +3 -1
- package/dist/utilities/SignalChannel.js +9 -5
- package/dist/utilities/SignalChannel.js.map +1 -1
- package/dist/utilities/StringBuilder.d.ts +10 -0
- package/dist/utilities/StringBuilder.js +39 -0
- package/dist/utilities/StringBuilder.js.map +1 -0
- package/dist/utilities/StringUtilities.js.map +1 -1
- package/dist/utilities/TarballMaker.js +6 -7
- package/dist/utilities/TarballMaker.js.map +1 -1
- package/dist/utilities/Timer.js +2 -2
- package/dist/utilities/Timer.js.map +1 -1
- package/dist/utilities/Utilities.d.ts +11 -5
- package/dist/utilities/Utilities.js +69 -33
- package/dist/utilities/Utilities.js.map +1 -1
- package/dist/utilities/VirtualFileReadStream.d.ts +3 -3
- package/dist/utilities/VirtualFileReadStream.js.map +1 -1
- package/dist/utilities/WasmMemoryManager.d.ts +5 -2
- package/dist/utilities/WasmMemoryManager.js +15 -4
- package/dist/utilities/WasmMemoryManager.js.map +1 -1
- package/docs/API.md +1 -1
- package/docs/CLI.md +1 -1
- package/docs/Licenses.md +3 -0
- package/docs/Options.md +9 -3
- package/docs/Tasklist.md +0 -1
- package/docs/Technical.md +2 -2
- package/package.json +22 -25
- package/src/alignment/DTWSequenceAlignment.ts +5 -5
- package/src/alignment/SpeechAlignment.ts +6 -6
- package/src/api/Alignment.ts +65 -12
- package/src/api/Denoising.ts +97 -17
- package/src/api/SourceSeparation.ts +11 -8
- package/src/api/SpeechLanguageDetection.ts +4 -4
- package/src/api/Synthesis.ts +15 -11
- package/src/api/VoiceActivityDetection.ts +2 -2
- package/src/audio/AudioBufferConversion.ts +84 -45
- package/src/audio/AudioPlayer.ts +155 -53
- package/src/audio/AudioUtilities.ts +38 -22
- package/src/audio/SoxPath.ts +3 -3
- package/src/build-tools/MakeTarballsForInstalledPackages.ts +3 -3
- package/src/cli/CLI.ts +30 -36
- package/src/cli/CLIConfigFile.ts +2 -2
- package/src/cli/CLIOptions.ts +4 -1
- package/src/codecs/FFMpegTranscoder.ts +11 -11
- package/src/codecs/TIMITCodec.ts +5 -4
- package/src/codecs/WaveCodec.ts +42 -39
- package/src/data-structures/DynamicTypedArray.ts +64 -0
- package/src/denoising/NSNet2.ts +182 -0
- package/src/denoising/RNNoise.ts +3 -3
- package/src/dsp/FFT.ts +21 -1
- package/src/encodings/Ascii.ts +60 -0
- package/src/encodings/Base64.ts +157 -0
- package/src/encodings/Hex.ts +67 -0
- package/src/encodings/HtmlEscape.ts +39 -0
- package/src/{utilities → encodings}/LEB128.ts +4 -4
- package/src/{utilities → encodings}/LPVarInt.ts +6 -6
- package/src/encodings/TextEncodingsCommon.ts +4 -0
- package/src/encodings/Utf16.ts +52 -0
- package/src/encodings/Utf32.ts +44 -0
- package/src/encodings/Utf8.ts +117 -0
- package/src/math/MedianFilter.ts +0 -16
- package/src/nlp/JapaneseSegmentation.ts +2 -2
- package/src/recognition/GoogleCloudSTT.ts +2 -1
- package/src/recognition/SileroSTT.ts +3 -3
- package/src/recognition/VoskSTT.ts +3 -3
- package/src/recognition/WhisperCppSTT.ts +4 -5
- package/src/recognition/WhisperSTT.ts +8 -7
- package/src/server/Client.ts +4 -3
- package/src/server/Server.ts +6 -5
- package/src/server/Worker.ts +1 -1
- package/src/source-separation/MDXNetSourceSeparation.ts +1 -1
- package/src/speech-search/DTWSpeechSearch.ts +36 -7
- package/src/subtitles/Subtitles.ts +3 -3
- package/src/synthesis/AzureCognitiveServicesTTS.ts +20 -18
- package/src/synthesis/CoquiServerTTS.ts +2 -2
- package/src/synthesis/ElevenlabsTTS.ts +1 -1
- package/src/synthesis/EspeakTTS.ts +2 -18
- package/src/synthesis/FliteTTS.ts +8 -10
- package/src/synthesis/GoogleCloudTTS.ts +3 -2
- package/src/synthesis/GoogleTranslateTTS.ts +5 -4
- package/src/synthesis/MicrosoftEdgeTTS.ts +49 -18
- package/src/synthesis/SapiTTS.ts +1 -1
- package/src/synthesis/StreamlabsPollyTTS.ts +1 -1
- package/src/synthesis/SvoxPicoTTS.ts +8 -8
- package/src/synthesis/VitsTTS.ts +2 -2
- package/src/tests/Test.ts +1 -60
- package/src/text-language-detection/FastTextLanguageDetection.ts +2 -2
- package/src/text-translation/GoogleTranslateTextTranslation.ts +1 -1
- package/src/typings/Fillers.d.ts +2 -10
- package/src/typings/TypedArray.ts +5 -0
- package/src/utilities/BinaryArrayConversion.ts +51 -125
- package/src/utilities/BinaryUtilities.ts +138 -0
- package/src/utilities/Compression.ts +7 -6
- package/src/utilities/FileDownloader.ts +27 -52
- package/src/utilities/FileReader.ts +89 -0
- package/src/utilities/FileSystem.ts +213 -120
- package/src/utilities/FileWriter.ts +72 -0
- package/src/utilities/NpmUtilities.ts +23 -0
- package/src/utilities/PackageManager.ts +8 -5
- package/src/utilities/PathUtilities.ts +36 -7
- package/src/utilities/SignalChannel.ts +14 -7
- package/src/utilities/StringBuilder.ts +45 -0
- package/src/utilities/StringUtilities.ts +2 -0
- package/src/utilities/TarballMaker.ts +6 -7
- package/src/utilities/Timer.ts +4 -2
- package/src/utilities/Utilities.ts +80 -45
- package/src/utilities/VirtualFileReadStream.ts +5 -5
- package/src/utilities/WasmMemoryManager.ts +20 -6
- package/tsconfig.json +96 -0
- package/dist/utilities/DynamicUint8Array.d.ts +0 -9
- package/dist/utilities/DynamicUint8Array.js +0 -31
- package/dist/utilities/DynamicUint8Array.js.map +0 -1
- package/dist/utilities/LEB128.js.map +0 -1
- package/dist/utilities/LPVarInt.js.map +0 -1
- package/dist/utilities/Queue.js.map +0 -1
- package/dist/utilities/WindowedList.js.map +0 -1
- package/src/utilities/DynamicUint8Array.ts +0 -39
- /package/dist/{utilities → data-structures}/Queue.d.ts +0 -0
- /package/dist/{utilities → data-structures}/Queue.js +0 -0
- /package/dist/{utilities → data-structures}/WindowedList.d.ts +0 -0
- /package/dist/{utilities → data-structures}/WindowedList.js +0 -0
- /package/src/{utilities → data-structures}/Queue.ts +0 -0
- /package/src/{utilities → data-structures}/WindowedList.ts +0 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
// Unsigned operations
|
|
3
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
4
|
+
export function readUint8(buffer, offset) {
|
|
5
|
+
return buffer[offset];
|
|
6
|
+
}
|
|
7
|
+
export function writeUint8(buffer, value, offset) {
|
|
8
|
+
if (value < 0 || value > 255) {
|
|
9
|
+
throw new Error(`Value ${value} is outside the range of an 8-bit unsigned integer`);
|
|
10
|
+
}
|
|
11
|
+
buffer[offset] = value;
|
|
12
|
+
}
|
|
13
|
+
export function readUint16LE(buffer, offset) {
|
|
14
|
+
return (buffer[offset]) | (buffer[offset + 1] << 8);
|
|
15
|
+
}
|
|
16
|
+
export function writeUint16LE(buffer, value, offset) {
|
|
17
|
+
if (value < 0 || value > 65535) {
|
|
18
|
+
throw new Error(`Value ${value} is outside the range of a 16-bit unsigned integer`);
|
|
19
|
+
}
|
|
20
|
+
buffer[offset] = value & 0xff;
|
|
21
|
+
buffer[offset + 1] = (value >>> 8) & 0xff;
|
|
22
|
+
}
|
|
23
|
+
export function readUint32LE(buffer, offset) {
|
|
24
|
+
return readInt32LE(buffer, offset) >>> 0;
|
|
25
|
+
}
|
|
26
|
+
export function writeUint32LE(buffer, value, offset) {
|
|
27
|
+
if (value < 0 || value > 4294967295) {
|
|
28
|
+
throw new Error(`Value ${value} is outside the range of a 32-bit unsigned integer`);
|
|
29
|
+
}
|
|
30
|
+
buffer[offset] = value & 0xff;
|
|
31
|
+
buffer[offset + 1] = (value >>> 8) & 0xff;
|
|
32
|
+
buffer[offset + 2] = (value >>> 16) & 0xff;
|
|
33
|
+
buffer[offset + 3] = (value >>> 24) & 0xff;
|
|
34
|
+
}
|
|
35
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
36
|
+
// Signed operations
|
|
37
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
38
|
+
export function readInt8(buffer, offset) {
|
|
39
|
+
const unsignedValue = buffer[offset];
|
|
40
|
+
if (unsignedValue < 128) {
|
|
41
|
+
return unsignedValue;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return unsignedValue - 256;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export function writeInt8(buffer, value, offset) {
|
|
48
|
+
if (value < -128 || value > 127) {
|
|
49
|
+
throw new Error(`Value ${value} is outside the range of an 8-bit signed integer`);
|
|
50
|
+
}
|
|
51
|
+
let unsignedValue;
|
|
52
|
+
if (value >= 0) {
|
|
53
|
+
unsignedValue = value;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
unsignedValue = value + 256;
|
|
57
|
+
}
|
|
58
|
+
buffer[offset] = unsignedValue;
|
|
59
|
+
}
|
|
60
|
+
export function readInt16LE(buffer, offset) {
|
|
61
|
+
const unsignedValue = readUint16LE(buffer, offset);
|
|
62
|
+
if (unsignedValue < 32768) {
|
|
63
|
+
return unsignedValue;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return unsignedValue - 65536;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export function writeInt16LE(buffer, value, offset) {
|
|
70
|
+
if (value < -32768 || value > 32767) {
|
|
71
|
+
throw new Error(`Value ${value} is outside the range of a 16-bit signed integer`);
|
|
72
|
+
}
|
|
73
|
+
let unsignedValue;
|
|
74
|
+
if (value >= 0) {
|
|
75
|
+
unsignedValue = value;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
unsignedValue = value + 65536;
|
|
79
|
+
}
|
|
80
|
+
writeUint16LE(buffer, unsignedValue, offset);
|
|
81
|
+
}
|
|
82
|
+
export function readInt32LE(buffer, offset) {
|
|
83
|
+
const value = (buffer[offset]) |
|
|
84
|
+
(buffer[offset + 1] << 8) |
|
|
85
|
+
(buffer[offset + 2] << 16) |
|
|
86
|
+
(buffer[offset + 3] << 24);
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
89
|
+
export function writeInt32LE(buffer, value, offset) {
|
|
90
|
+
if (value < -2147483648 || value > 2147483647) {
|
|
91
|
+
throw new Error(`Value ${value} is outside the range of a 32-bit signed integer`);
|
|
92
|
+
}
|
|
93
|
+
buffer[offset] = value & 0xff;
|
|
94
|
+
buffer[offset + 1] = (value >> 8) & 0xff;
|
|
95
|
+
buffer[offset + 2] = (value >> 16) & 0xff;
|
|
96
|
+
buffer[offset + 3] = (value >> 24) & 0xff;
|
|
97
|
+
}
|
|
98
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
99
|
+
// Misc operations
|
|
100
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
101
|
+
export function writeAscii(buffer, asciiString, writeStartOffset) {
|
|
102
|
+
const writeEndOffset = Math.min(writeStartOffset + asciiString.length, buffer.length);
|
|
103
|
+
let readOffset = 0;
|
|
104
|
+
let writeOffset = writeStartOffset;
|
|
105
|
+
while (writeOffset < writeEndOffset) {
|
|
106
|
+
const charCode = asciiString.charCodeAt(readOffset++);
|
|
107
|
+
if (charCode >= 128) {
|
|
108
|
+
throw new Error(`Character '${asciiString[readOffset]}' (code: ${charCode}) can't be encoded as ASCII`);
|
|
109
|
+
}
|
|
110
|
+
buffer[writeOffset++] = charCode;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=BinaryUtilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BinaryUtilities.js","sourceRoot":"","sources":["../../src/utilities/BinaryUtilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
1
|
import { Logger } from './Logger.js';
|
|
3
2
|
import { readdir, stat } from './FileSystem.js';
|
|
3
|
+
import { encodeUtf8 } from '../encodings/Utf8.js';
|
|
4
|
+
import { getBaseName, getDirName } from './PathUtilities.js';
|
|
4
5
|
export async function createTarball(filePath, outputFile, prefixPath = '') {
|
|
5
6
|
const pathStat = await stat(filePath);
|
|
6
7
|
if (pathStat.isDirectory()) {
|
|
@@ -12,14 +13,14 @@ export async function createTarball(filePath, outputFile, prefixPath = '') {
|
|
|
12
13
|
}
|
|
13
14
|
export async function createTarballForFile(filePath, outputFile, prefixPath = '') {
|
|
14
15
|
const logger = new Logger();
|
|
15
|
-
logger.start(`Creating ${prefixPath ||
|
|
16
|
+
logger.start(`Creating ${prefixPath || getBaseName(outputFile)}`);
|
|
16
17
|
const { create } = await import('tar');
|
|
17
18
|
const inputFileStat = await stat(filePath);
|
|
18
19
|
if (!inputFileStat.isFile()) {
|
|
19
20
|
throw new Error(`${filePath} is not a file`);
|
|
20
21
|
}
|
|
21
|
-
const filename =
|
|
22
|
-
const dirname =
|
|
22
|
+
const filename = getBaseName(filePath);
|
|
23
|
+
const dirname = getDirName(filePath);
|
|
23
24
|
await create({
|
|
24
25
|
gzip: { level: 9 },
|
|
25
26
|
file: outputFile,
|
|
@@ -37,7 +38,7 @@ export async function createTarballForFile(filePath, outputFile, prefixPath = ''
|
|
|
37
38
|
}
|
|
38
39
|
export async function createTarballForDir(inputDir, outputFile, prefixPath = '') {
|
|
39
40
|
const logger = new Logger();
|
|
40
|
-
logger.start(`Creating ${prefixPath ||
|
|
41
|
+
logger.start(`Creating ${prefixPath || getBaseName(outputFile)}`);
|
|
41
42
|
const { create } = await import('tar');
|
|
42
43
|
const inputDirStat = await stat(inputDir);
|
|
43
44
|
if (!inputDirStat.isDirectory()) {
|
|
@@ -71,7 +72,7 @@ export async function extractTarball(filepath, outputDir) {
|
|
|
71
72
|
export async function getDeflateCompressionMetricsForString(str) {
|
|
72
73
|
const zlib = await import('node:zlib');
|
|
73
74
|
const { promisify } = await import('node:util');
|
|
74
|
-
const originalStringBytes =
|
|
75
|
+
const originalStringBytes = encodeUtf8(str);
|
|
75
76
|
const deflateRaw = promisify(zlib.deflateRaw);
|
|
76
77
|
const compressedStringBytes = await deflateRaw(originalStringBytes);
|
|
77
78
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Compression.js","sourceRoot":"","sources":["../../src/utilities/Compression.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Compression.js","sourceRoot":"","sources":["../../src/utilities/Compression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { request } from 'gaxios';
|
|
2
2
|
import { getRandomHexString, writeToStderr } from './Utilities.js';
|
|
3
|
-
import { OpenPromise } from './OpenPromise.js';
|
|
4
3
|
import { Timer } from './Timer.js';
|
|
5
4
|
import { Logger } from './Logger.js';
|
|
6
|
-
import path from 'node:path';
|
|
7
5
|
import { extractTarball } from './Compression.js';
|
|
8
|
-
import {
|
|
6
|
+
import { move, remove, readdir, ensureDir } from './FileSystem.js';
|
|
9
7
|
import chalk from 'chalk';
|
|
10
8
|
import { logLevelGreaterOrEqualTo } from '../api/GlobalOptions.js';
|
|
9
|
+
import { FileWriter } from './FileWriter.js';
|
|
10
|
+
import { joinPath } from './PathUtilities.js';
|
|
11
11
|
export async function downloadAndExtractTarball(options, targetDir, baseTempPath, displayName = 'archive') {
|
|
12
12
|
const logger = new Logger();
|
|
13
13
|
const randomID = getRandomHexString(16).toLowerCase();
|
|
14
|
-
const tempTarballPath =
|
|
15
|
-
const tempDirPath =
|
|
14
|
+
const tempTarballPath = joinPath(baseTempPath, `/${randomID}.tarball`);
|
|
15
|
+
const tempDirPath = joinPath(baseTempPath, `/${randomID}`);
|
|
16
16
|
await ensureDir(tempDirPath);
|
|
17
17
|
logger.end();
|
|
18
18
|
await downloadFile(options, tempTarballPath, `${chalk.cyanBright('Downloading')} ${chalk.greenBright(displayName)}`);
|
|
@@ -21,8 +21,8 @@ export async function downloadAndExtractTarball(options, targetDir, baseTempPath
|
|
|
21
21
|
await extractTarball(tempTarballPath, tempDirPath);
|
|
22
22
|
await remove(tempTarballPath);
|
|
23
23
|
for (const filename of await readdir(tempDirPath)) {
|
|
24
|
-
const sourceFilePath =
|
|
25
|
-
const targetFilePath =
|
|
24
|
+
const sourceFilePath = joinPath(tempDirPath, filename);
|
|
25
|
+
const targetFilePath = joinPath(targetDir, filename);
|
|
26
26
|
await move(sourceFilePath, targetFilePath);
|
|
27
27
|
}
|
|
28
28
|
await remove(tempDirPath);
|
|
@@ -30,7 +30,6 @@ export async function downloadAndExtractTarball(options, targetDir, baseTempPath
|
|
|
30
30
|
}
|
|
31
31
|
export async function downloadFile(options, targetFilePath, prompt = 'Downloading') {
|
|
32
32
|
const write = logLevelGreaterOrEqualTo('info') ? writeToStderr : () => { };
|
|
33
|
-
const downloadPromise = new OpenPromise();
|
|
34
33
|
const timer = new Timer();
|
|
35
34
|
options.responseType = 'stream';
|
|
36
35
|
const response = await request(options);
|
|
@@ -101,51 +100,31 @@ export async function downloadFile(options, targetFilePath, prompt = 'Downloadin
|
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
102
|
}
|
|
103
|
+
const contentLengthString = response.headers['content-length'];
|
|
104
|
+
totalBytes = contentLengthString != undefined ? parseInt(contentLengthString) : undefined;
|
|
104
105
|
const partialFilePath = `${targetFilePath}.${getRandomHexString(16)}.partial`;
|
|
105
|
-
const
|
|
106
|
+
const fileWriter = new FileWriter(partialFilePath);
|
|
106
107
|
let statusInterval = setInterval(() => {
|
|
107
108
|
updateStatus();
|
|
108
109
|
}, statusUpdateInterval);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
totalBytes = contentLengthString != undefined ? parseInt(contentLengthString) : undefined;
|
|
113
|
-
const chunkLength = chunk.length;
|
|
114
|
-
fileWriteStream.write(chunk);
|
|
115
|
-
downloadedBytes += chunkLength;
|
|
116
|
-
if (downloadStarted == false) {
|
|
110
|
+
try {
|
|
111
|
+
for await (const chunk of response.data) {
|
|
112
|
+
if (downloadStarted === false) {
|
|
117
113
|
downloadStarted = true;
|
|
118
114
|
}
|
|
115
|
+
downloadedBytes += chunk.length;
|
|
116
|
+
await fileWriter.write(chunk);
|
|
119
117
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
await move(partialFilePath, targetFilePath);
|
|
132
|
-
downloadPromise.resolve();
|
|
133
|
-
}
|
|
134
|
-
catch (err) {
|
|
135
|
-
clearInterval(statusInterval);
|
|
136
|
-
downloadPromise.reject(err);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
response.data.on('error', async (err) => {
|
|
140
|
-
try {
|
|
141
|
-
clearInterval(statusInterval);
|
|
142
|
-
fileWriteStream.end();
|
|
143
|
-
await remove(partialFilePath);
|
|
144
|
-
}
|
|
145
|
-
finally {
|
|
146
|
-
downloadPromise.reject(err);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
return downloadPromise.promise;
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
clearInterval(statusInterval);
|
|
121
|
+
await fileWriter.dispose();
|
|
122
|
+
throw e;
|
|
123
|
+
}
|
|
124
|
+
clearInterval(statusInterval);
|
|
125
|
+
updateStatus();
|
|
126
|
+
await fileWriter.dispose();
|
|
127
|
+
write('\n');
|
|
128
|
+
await move(partialFilePath, targetFilePath);
|
|
150
129
|
}
|
|
151
130
|
//# sourceMappingURL=FileDownloader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDownloader.js","sourceRoot":"","sources":["../../src/utilities/FileDownloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"FileDownloader.js","sourceRoot":"","sources":["../../src/utilities/FileDownloader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class FileReader {
|
|
2
|
+
readonly filePath: string;
|
|
3
|
+
private fileHandle?;
|
|
4
|
+
private finished;
|
|
5
|
+
private disposed;
|
|
6
|
+
private readOffset;
|
|
7
|
+
constructor(filePath: string);
|
|
8
|
+
readChunk(buffer: Uint8Array): Promise<Uint8Array>;
|
|
9
|
+
private openIfNeeded;
|
|
10
|
+
dispose(): Promise<void>;
|
|
11
|
+
get isOpened(): boolean;
|
|
12
|
+
get isDisposed(): boolean;
|
|
13
|
+
get isFinished(): boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { open, close, read } from "./FileSystem.js";
|
|
2
|
+
export class FileReader {
|
|
3
|
+
filePath;
|
|
4
|
+
fileHandle;
|
|
5
|
+
finished = false;
|
|
6
|
+
disposed = false;
|
|
7
|
+
readOffset = 0;
|
|
8
|
+
constructor(filePath) {
|
|
9
|
+
this.filePath = filePath;
|
|
10
|
+
}
|
|
11
|
+
async readChunk(buffer) {
|
|
12
|
+
if (this.isDisposed) {
|
|
13
|
+
throw new Error(`FileReader has been disposed`);
|
|
14
|
+
}
|
|
15
|
+
await this.openIfNeeded();
|
|
16
|
+
let bufferWriteOffset = 0;
|
|
17
|
+
while (bufferWriteOffset < buffer.length) {
|
|
18
|
+
const remainingSizeInBuffer = buffer.length - bufferWriteOffset;
|
|
19
|
+
let bytesRead;
|
|
20
|
+
try {
|
|
21
|
+
({ bytesRead } = await read(this.fileHandle, buffer, bufferWriteOffset, remainingSizeInBuffer, this.readOffset));
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
await this.dispose();
|
|
25
|
+
throw e;
|
|
26
|
+
}
|
|
27
|
+
if (bytesRead === 0) {
|
|
28
|
+
this.finished = true;
|
|
29
|
+
await this.dispose();
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
bufferWriteOffset += bytesRead;
|
|
33
|
+
this.readOffset += bytesRead;
|
|
34
|
+
}
|
|
35
|
+
return buffer.subarray(0, bufferWriteOffset);
|
|
36
|
+
}
|
|
37
|
+
async openIfNeeded() {
|
|
38
|
+
if (this.isDisposed) {
|
|
39
|
+
throw new Error(`FileWriter has been disposed`);
|
|
40
|
+
}
|
|
41
|
+
if (this.isOpened) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.fileHandle = await open(this.filePath, 'r');
|
|
45
|
+
}
|
|
46
|
+
async dispose() {
|
|
47
|
+
if (this.isDisposed) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (this.isOpened) {
|
|
51
|
+
try {
|
|
52
|
+
await close(this.fileHandle);
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
this.disposed = true;
|
|
58
|
+
this.readOffset = 0;
|
|
59
|
+
this.fileHandle = undefined;
|
|
60
|
+
}
|
|
61
|
+
get isOpened() {
|
|
62
|
+
return this.fileHandle !== undefined;
|
|
63
|
+
}
|
|
64
|
+
get isDisposed() {
|
|
65
|
+
return this.disposed;
|
|
66
|
+
}
|
|
67
|
+
get isFinished() {
|
|
68
|
+
return this.finished;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=FileReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../src/utilities/FileReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,OAAO,UAAU;IAMM;IALpB,UAAU,CAAS;IACnB,QAAQ,GAAG,KAAK,CAAA;IAChB,QAAQ,GAAG,KAAK,CAAA;IAChB,UAAU,GAAG,CAAC,CAAA;IAEtB,YAA4B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAC5C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAkB;QACjC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEzB,IAAI,iBAAiB,GAAG,CAAC,CAAA;QAEzB,OAAO,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAA;YAE/D,IAAI,SAAiB,CAAA;YAErB,IAAI,CAAC;gBACJ,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YAClH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBAEpB,MAAM,CAAC,CAAA;YACR,CAAC;YAED,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;gBAEpB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBAEpB,MAAK;YACN,CAAC;YAED,iBAAiB,IAAI,SAAS,CAAA;YAC9B,IAAI,CAAC,UAAU,IAAI,SAAS,CAAA;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAC7C,CAAC;IAEO,KAAK,CAAC,YAAY;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAM;QACP,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAM;QACP,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBACJ,MAAM,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,CAAA;IACrC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;CACD"}
|
|
@@ -1,28 +1,31 @@
|
|
|
1
1
|
import * as fsExtra from 'fs-extra/esm';
|
|
2
2
|
import gracefulFS from 'graceful-fs';
|
|
3
|
-
export declare const readFile: typeof gracefulFS.readFile.__promisify__;
|
|
4
|
-
export declare const readdir: typeof gracefulFS.readdir.__promisify__;
|
|
5
|
-
export declare const stat: typeof gracefulFS.stat.__promisify__;
|
|
6
3
|
export declare const open: typeof gracefulFS.open.__promisify__;
|
|
7
4
|
export declare const close: typeof gracefulFS.close.__promisify__;
|
|
5
|
+
export declare const read: typeof gracefulFS.read.__promisify__;
|
|
6
|
+
export declare const write: typeof gracefulFS.write.__promisify__;
|
|
7
|
+
export declare const existsSync: typeof gracefulFS.existsSync;
|
|
8
|
+
export declare const stat: typeof gracefulFS.stat.__promisify__;
|
|
8
9
|
export declare const chmod: typeof gracefulFS.chmod.__promisify__;
|
|
9
|
-
export declare const copyFile: typeof gracefulFS.copyFile.__promisify__;
|
|
10
10
|
export declare const access: typeof gracefulFS.access.__promisify__;
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const existsSync: typeof gracefulFS.existsSync;
|
|
11
|
+
export declare const readdir: typeof gracefulFS.readdir.__promisify__;
|
|
12
|
+
export declare const copyFile: typeof gracefulFS.copyFile.__promisify__;
|
|
14
13
|
export declare const remove: typeof fsExtra.remove;
|
|
15
14
|
export declare const copy: typeof fsExtra.copy;
|
|
16
|
-
export declare function
|
|
17
|
-
export declare function
|
|
18
|
-
export declare function computeFileSha256Hex(filePath: string): Promise<string>;
|
|
15
|
+
export declare function readFileAsBinary(filePath: string): Promise<Uint8Array>;
|
|
16
|
+
export declare function readFileAsUtf8(filePath: string): Promise<string>;
|
|
19
17
|
export declare function readAndParseJsonFile(jsonFilePath: string, useJson5?: boolean): Promise<any>;
|
|
20
|
-
export declare function writeFile(filePath: string,
|
|
21
|
-
export declare function
|
|
22
|
-
export declare function
|
|
23
|
-
export declare function
|
|
18
|
+
export declare function writeFile(filePath: string, content: Uint8Array | string): Promise<void>;
|
|
19
|
+
export declare function writeBinaryFile(filePath: string, content: Uint8Array): Promise<void>;
|
|
20
|
+
export declare function writeUtf8File(filePath: string, content: string): Promise<void>;
|
|
21
|
+
export declare function writeJsonFile(filePath: string, content: any, useJson5?: boolean): Promise<void>;
|
|
22
|
+
export declare function writeFileSafe(filePath: string, content: Uint8Array | string): Promise<void>;
|
|
24
23
|
export declare function ensureDir(dirPath: string): Promise<void>;
|
|
24
|
+
export declare function testDirectoryIsWritable(dir: string): Promise<boolean>;
|
|
25
|
+
export declare function readDirRecursive(dir: string, pathFilter?: (filePath: string) => boolean): Promise<string[]>;
|
|
26
|
+
export declare function getAppDataDir(appName: string): string;
|
|
25
27
|
export declare function move(source: string, dest: string): Promise<void>;
|
|
26
28
|
export declare function existsAndIsWritable(targetPath: string): Promise<boolean>;
|
|
27
|
-
export declare function
|
|
28
|
-
export declare function
|
|
29
|
+
export declare function chmodRecursive(rootPath: string, newMode: number): Promise<void>;
|
|
30
|
+
export declare function isFileIsUpToDate(filePath: string, maxTimeDifferenceSeconds: number): Promise<boolean>;
|
|
31
|
+
export declare function computeFileSha256Hex(filePath: string): Promise<string>;
|