echogarden 1.8.6 → 2.0.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/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 +136 -50
- 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/{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 +9 -0
- package/dist/encodings/Utf32.js +44 -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.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 +17 -18
- 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 +0 -9
- package/dist/synthesis/EspeakTTS.js.map +1 -1
- package/dist/synthesis/FliteTTS.js +7 -8
- 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 +32 -7
- 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 -5
- 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 +0 -25
- 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/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 -17
- package/dist/utilities/FileSystem.js +170 -106
- 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 -4
- package/dist/utilities/Utilities.js +70 -18
- 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 -3
- package/dist/utilities/WasmMemoryManager.js.map +1 -1
- package/docs/API.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 +20 -22
- 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 +156 -54
- 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/{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 +62 -0
- package/src/encodings/Utf8.ts +117 -0
- package/src/math/MedianFilter.ts +0 -2
- 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 +18 -15
- package/src/synthesis/CoquiServerTTS.ts +2 -2
- package/src/synthesis/ElevenlabsTTS.ts +1 -1
- package/src/synthesis/EspeakTTS.ts +0 -15
- package/src/synthesis/FliteTTS.ts +7 -8
- package/src/synthesis/GoogleCloudTTS.ts +3 -2
- package/src/synthesis/GoogleTranslateTTS.ts +5 -4
- package/src/synthesis/MicrosoftEdgeTTS.ts +47 -15
- package/src/synthesis/SapiTTS.ts +1 -1
- package/src/synthesis/StreamlabsPollyTTS.ts +1 -1
- package/src/synthesis/SvoxPicoTTS.ts +8 -7
- package/src/synthesis/VitsTTS.ts +2 -2
- package/src/tests/Test.ts +0 -30
- package/src/text-language-detection/FastTextLanguageDetection.ts +2 -2
- package/src/typings/Fillers.d.ts +2 -4
- 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 +215 -116
- 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 -23
- package/src/utilities/VirtualFileReadStream.ts +5 -5
- package/src/utilities/WasmMemoryManager.ts +21 -5
- 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,60 @@
|
|
|
1
|
+
import { write, open, close } from "./FileSystem.js";
|
|
2
|
+
export class FileWriter {
|
|
3
|
+
filePath;
|
|
4
|
+
fileHandle;
|
|
5
|
+
disposed = false;
|
|
6
|
+
writeOffset = 0;
|
|
7
|
+
constructor(filePath) {
|
|
8
|
+
this.filePath = filePath;
|
|
9
|
+
}
|
|
10
|
+
async write(chunk) {
|
|
11
|
+
if (this.isDisposed) {
|
|
12
|
+
throw new Error(`FileWriter has been disposed`);
|
|
13
|
+
}
|
|
14
|
+
await this.openIfNeeded();
|
|
15
|
+
let chunkReadOffset = 0;
|
|
16
|
+
while (chunkReadOffset < chunk.length) {
|
|
17
|
+
let bytesWritten;
|
|
18
|
+
try {
|
|
19
|
+
({ bytesWritten } = await write(this.fileHandle, chunk, chunkReadOffset, undefined, this.writeOffset));
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
await this.dispose();
|
|
23
|
+
throw e;
|
|
24
|
+
}
|
|
25
|
+
chunkReadOffset += bytesWritten;
|
|
26
|
+
this.writeOffset += bytesWritten;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async openIfNeeded() {
|
|
30
|
+
if (this.isDisposed) {
|
|
31
|
+
throw new Error(`FileWriter has been disposed`);
|
|
32
|
+
}
|
|
33
|
+
if (this.isOpened) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this.fileHandle = await open(this.filePath, 'w');
|
|
37
|
+
}
|
|
38
|
+
async dispose() {
|
|
39
|
+
if (this.isDisposed) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (this.isOpened) {
|
|
43
|
+
try {
|
|
44
|
+
await close(this.fileHandle);
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
this.disposed = true;
|
|
50
|
+
this.writeOffset = 0;
|
|
51
|
+
this.fileHandle = undefined;
|
|
52
|
+
}
|
|
53
|
+
get isOpened() {
|
|
54
|
+
return this.fileHandle !== undefined;
|
|
55
|
+
}
|
|
56
|
+
get isDisposed() {
|
|
57
|
+
return this.disposed;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=FileWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileWriter.js","sourceRoot":"","sources":["../../src/utilities/FileWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,OAAO,UAAU;IAKM;IAJpB,UAAU,CAAS;IACnB,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,GAAG,CAAC,CAAA;IAEvB,YAA4B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC5B,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,eAAe,GAAG,CAAC,CAAA;QAEvB,OAAO,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,YAAoB,CAAA;YAExB,IAAI,CAAC;gBACJ,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAW,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YACxG,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBAEpB,MAAM,CAAC,CAAA;YACR,CAAC;YAED,eAAe,IAAI,YAAY,CAAA;YAC/B,IAAI,CAAC,WAAW,IAAI,YAAY,CAAA;QACjC,CAAC;IACF,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,WAAW,GAAG,CAAC,CAAA;QACpB,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;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getPackageLatestVersion(packageName: string, timeout?: number): Promise<any>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { request } from 'gaxios';
|
|
2
|
+
export async function getPackageLatestVersion(packageName, timeout = 10000) {
|
|
3
|
+
const response = await request({
|
|
4
|
+
method: 'GET',
|
|
5
|
+
url: `https://registry.npmjs.org/${packageName}/latest`,
|
|
6
|
+
params: {},
|
|
7
|
+
headers: {},
|
|
8
|
+
responseType: 'json',
|
|
9
|
+
timeout,
|
|
10
|
+
});
|
|
11
|
+
const result = response.data;
|
|
12
|
+
return result.version;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=NpmUtilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NpmUtilities.js","sourceRoot":"","sources":["../../src/utilities/NpmUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAmB,EAAE,OAAO,GAAG,KAAK;IACjF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAM;QACnC,MAAM,EAAE,KAAK;QAEb,GAAG,EAAE,8BAA8B,WAAW,SAAS;QAEvD,MAAM,EAAE,EACP;QAED,OAAO,EAAE,EACR;QAED,YAAY,EAAE,MAAM;QAEpB,OAAO;KACP,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAA;IAE5B,OAAO,MAAM,CAAC,OAAO,CAAA;AACtB,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
1
|
import { downloadAndExtractTarball } from './FileDownloader.js';
|
|
3
2
|
import { getAppDataDir, ensureDir, existsSync, remove } from './FileSystem.js';
|
|
4
3
|
import { appName } from '../api/Common.js';
|
|
5
|
-
import { getAppTempDir } from './PathUtilities.js';
|
|
4
|
+
import { getAppTempDir, joinPath } from './PathUtilities.js';
|
|
6
5
|
import { getGlobalOption } from '../api/GlobalOptions.js';
|
|
7
6
|
export async function loadPackage(packageName) {
|
|
8
7
|
packageName = resolveToVersionedPackageNameIfNeeded(packageName);
|
|
9
8
|
const packagesPath = await ensureAndGetPackagesDir();
|
|
10
|
-
const packagePath =
|
|
9
|
+
const packagePath = joinPath(packagesPath, packageName);
|
|
11
10
|
if (existsSync(packagePath)) {
|
|
12
11
|
return packagePath;
|
|
13
12
|
}
|
|
@@ -24,12 +23,12 @@ export async function loadPackage(packageName) {
|
|
|
24
23
|
export async function removePackage(packageName) {
|
|
25
24
|
packageName = resolveToVersionedPackageNameIfNeeded(packageName);
|
|
26
25
|
const packagesPath = await ensureAndGetPackagesDir();
|
|
27
|
-
const packagePath =
|
|
26
|
+
const packagePath = joinPath(packagesPath, packageName);
|
|
28
27
|
await remove(packagePath);
|
|
29
28
|
}
|
|
30
29
|
export async function ensureAndGetPackagesDir() {
|
|
31
30
|
const dataPath = getAppDataDir(appName);
|
|
32
|
-
const packagesPath =
|
|
31
|
+
const packagesPath = joinPath(dataPath, 'packages');
|
|
33
32
|
await ensureDir(packagesPath);
|
|
34
33
|
return packagesPath;
|
|
35
34
|
}
|
|
@@ -162,5 +161,8 @@ const packageVersionTagResolutionLookup = {
|
|
|
162
161
|
// W2V-BERT models
|
|
163
162
|
'w2v-bert-2.0-int8': '20240517',
|
|
164
163
|
'w2v-bert-2.0-uint8': '20240517',
|
|
164
|
+
// NSNet2 models
|
|
165
|
+
'nsnet2-20ms-baseline': '20242610',
|
|
166
|
+
'nsnet2-20ms-48k-baseline': '20242610',
|
|
165
167
|
};
|
|
166
168
|
//# sourceMappingURL=PackageManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
import * as NodePath from 'node:path';
|
|
1
2
|
export declare function getModuleRootDir(): string;
|
|
2
3
|
export declare function resolveToModuleRootDir(relativePath: string): string;
|
|
3
4
|
export declare function getLowercaseFileExtension(filename: string): string;
|
|
4
5
|
export declare function getAppTempDir(appName: string): string;
|
|
6
|
+
export declare function joinPath(...paths: string[]): string;
|
|
7
|
+
export declare function resolvePath(...paths: string[]): string;
|
|
8
|
+
export declare function normalizePath(path: string): string;
|
|
9
|
+
export declare function getBaseName(path: string): string;
|
|
10
|
+
export declare function getDirName(path: string): string;
|
|
11
|
+
export declare function getFileNameWithoutExtension(filePath: string): string;
|
|
12
|
+
export declare function parsePath(path: string): NodePath.ParsedPath;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as NodePath from 'node:path';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
import * as os from 'node:os';
|
|
4
4
|
export function getModuleRootDir() {
|
|
5
|
-
const currentScriptDir =
|
|
6
|
-
return
|
|
5
|
+
const currentScriptDir = getDirName(fileURLToPath(import.meta.url));
|
|
6
|
+
return resolvePath(currentScriptDir, '..', '..');
|
|
7
7
|
}
|
|
8
8
|
export function resolveToModuleRootDir(relativePath) {
|
|
9
|
-
return
|
|
9
|
+
return resolvePath(getModuleRootDir(), relativePath);
|
|
10
10
|
}
|
|
11
11
|
export function getLowercaseFileExtension(filename) {
|
|
12
12
|
const fileExtensionIndex = filename.lastIndexOf('.');
|
|
@@ -20,17 +20,38 @@ export function getAppTempDir(appName) {
|
|
|
20
20
|
const platform = process.platform;
|
|
21
21
|
const homeDir = os.homedir();
|
|
22
22
|
if (platform == 'win32') {
|
|
23
|
-
tempDir =
|
|
23
|
+
tempDir = joinPath(homeDir, 'AppData', 'Local', 'Temp', appName);
|
|
24
24
|
}
|
|
25
25
|
else if (platform == 'darwin') {
|
|
26
|
-
tempDir =
|
|
26
|
+
tempDir = joinPath(homeDir, 'Library', 'Caches', appName);
|
|
27
27
|
}
|
|
28
28
|
else if (platform == 'linux') {
|
|
29
|
-
tempDir =
|
|
29
|
+
tempDir = joinPath(homeDir, '.cache', appName);
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
32
|
throw new Error(`Unsupport platform ${platform}`);
|
|
33
33
|
}
|
|
34
34
|
return tempDir;
|
|
35
35
|
}
|
|
36
|
+
export function joinPath(...paths) {
|
|
37
|
+
return NodePath.join(...paths);
|
|
38
|
+
}
|
|
39
|
+
export function resolvePath(...paths) {
|
|
40
|
+
return NodePath.resolve(...paths);
|
|
41
|
+
}
|
|
42
|
+
export function normalizePath(path) {
|
|
43
|
+
return NodePath.normalize(path);
|
|
44
|
+
}
|
|
45
|
+
export function getBaseName(path) {
|
|
46
|
+
return NodePath.basename(path);
|
|
47
|
+
}
|
|
48
|
+
export function getDirName(path) {
|
|
49
|
+
return NodePath.dirname(path);
|
|
50
|
+
}
|
|
51
|
+
export function getFileNameWithoutExtension(filePath) {
|
|
52
|
+
return NodePath.parse(filePath).name;
|
|
53
|
+
}
|
|
54
|
+
export function parsePath(path) {
|
|
55
|
+
return NodePath.parse(path);
|
|
56
|
+
}
|
|
36
57
|
//# sourceMappingURL=PathUtilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathUtilities.js","sourceRoot":"","sources":["../../src/utilities/PathUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PathUtilities.js","sourceRoot":"","sources":["../../src/utilities/PathUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,MAAM,UAAU,gBAAgB;IAC/B,MAAM,gBAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAEnE,OAAO,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IAC1D,OAAO,WAAW,CAAC,gBAAgB,EAAE,EAAE,YAAY,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACzD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAEpD,IAAI,kBAAkB,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAA;IACV,CAAC;IAED,OAAO,QAAQ,CAAC,SAAS,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC5C,IAAI,OAAe,CAAA;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAE5B,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC;SAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;SAAM,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QAChC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAG,KAAe;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAG,KAAe;IAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC3D,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACrC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare class SignalChannel {
|
|
2
2
|
channel: MessageChannel;
|
|
3
|
+
handlers: Map<string, SignalChannelHandler>;
|
|
3
4
|
constructor();
|
|
4
|
-
on(signalName: string, handler:
|
|
5
|
+
on(signalName: string, handler: SignalChannelHandler): void;
|
|
5
6
|
send(signalName: string, data?: any): void;
|
|
6
7
|
}
|
|
8
|
+
export type SignalChannelHandler = (data?: any) => void;
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
export class SignalChannel {
|
|
2
2
|
channel;
|
|
3
|
+
handlers = new Map();
|
|
3
4
|
constructor() {
|
|
4
5
|
this.channel = new MessageChannel();
|
|
5
|
-
}
|
|
6
|
-
on(signalName, handler) {
|
|
7
6
|
this.channel.port2.onmessage = (event) => {
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const signalName = event.data.signalName;
|
|
8
|
+
const signalData = event.data.data;
|
|
9
|
+
const handler = this.handlers.get(signalName);
|
|
10
|
+
if (handler) {
|
|
11
|
+
handler(signalData);
|
|
10
12
|
}
|
|
11
|
-
handler(event.data.data);
|
|
12
13
|
};
|
|
13
14
|
}
|
|
15
|
+
on(signalName, handler) {
|
|
16
|
+
this.handlers.set(signalName, handler);
|
|
17
|
+
}
|
|
14
18
|
send(signalName, data) {
|
|
15
19
|
this.channel.port1.postMessage({ signalName, data });
|
|
16
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignalChannel.js","sourceRoot":"","sources":["../../src/utilities/SignalChannel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IACzB,OAAO,CAAgB;
|
|
1
|
+
{"version":3,"file":"SignalChannel.js","sourceRoot":"","sources":["../../src/utilities/SignalChannel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IACzB,OAAO,CAAgB;IACvB,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAA;IAElD;QACC,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;QAEnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;YACtD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAA;YACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;YAElC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAE7C,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,UAAU,CAAC,CAAA;YACpB,CAAC;QACF,CAAC,CAAA;IACF,CAAC;IAED,EAAE,CAAC,UAAkB,EAAE,OAA6B;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,CAAC,UAAkB,EAAE,IAAU;QAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class StringBuilder {
|
|
2
|
+
private outputBuffer;
|
|
3
|
+
constructor(initialCapacity?: number);
|
|
4
|
+
appendCharCode(charCode: number): void;
|
|
5
|
+
appendCharCodes(...charCodes: number[]): void;
|
|
6
|
+
appendCharCodeArray(charCodes: ArrayLike<number>): void;
|
|
7
|
+
appendString(str: string): void;
|
|
8
|
+
appendCodePoint(codePoint: number): void;
|
|
9
|
+
toString(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createDynamicUint16Array } from '../data-structures/DynamicTypedArray.js';
|
|
2
|
+
import { decodeUtf16 } from '../encodings/Utf16.js';
|
|
3
|
+
export class StringBuilder {
|
|
4
|
+
outputBuffer;
|
|
5
|
+
constructor(initialCapacity = 8) {
|
|
6
|
+
this.outputBuffer = createDynamicUint16Array(initialCapacity);
|
|
7
|
+
}
|
|
8
|
+
appendCharCode(charCode) {
|
|
9
|
+
this.outputBuffer.add(charCode);
|
|
10
|
+
}
|
|
11
|
+
appendCharCodes(...charCodes) {
|
|
12
|
+
this.outputBuffer.addArray(charCodes);
|
|
13
|
+
}
|
|
14
|
+
appendCharCodeArray(charCodes) {
|
|
15
|
+
this.outputBuffer.addArray(charCodes);
|
|
16
|
+
}
|
|
17
|
+
appendString(str) {
|
|
18
|
+
const length = str.length;
|
|
19
|
+
for (let i = 0; i < length; i++) {
|
|
20
|
+
this.appendCharCode(str.charCodeAt(i));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
appendCodePoint(codePoint) {
|
|
24
|
+
if (codePoint <= 0xffff) {
|
|
25
|
+
this.appendCharCode(codePoint);
|
|
26
|
+
}
|
|
27
|
+
else if (codePoint <= 0x10ffff) {
|
|
28
|
+
this.appendCharCode(0xd800 + ((codePoint - 0x10000) >>> 10));
|
|
29
|
+
this.appendCharCode(0xdc00 + ((codePoint - 0x10000) & 1023));
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
throw new Error(`appendCodePoint: A code point of ${codePoint} cannot be encoded in UTF-16`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
toString() {
|
|
36
|
+
return decodeUtf16(this.outputBuffer.toTypedArray());
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=StringBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringBuilder.js","sourceRoot":"","sources":["../../src/utilities/StringBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,OAAO,aAAa;IACjB,YAAY,CAAoB;IAExC,YAAY,eAAe,GAAG,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAA;IAC9D,CAAC;IAED,cAAc,CAAC,QAAgB;QAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAED,eAAe,CAAC,GAAG,SAAmB;QACrC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,mBAAmB,CAAC,SAA4B;QAC/C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,YAAY,CAAC,GAAW;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;IACF,CAAC;IAED,eAAe,CAAC,SAAiB;QAChC,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QAC/B,CAAC;aAAM,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAC7D,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,8BAA8B,CAAC,CAAA;QAC7F,CAAC;IACF,CAAC;IAED,QAAQ;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAA;IACrD,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringUtilities.js","sourceRoot":"","sources":["../../src/utilities/StringUtilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StringUtilities.js","sourceRoot":"","sources":["../../src/utilities/StringUtilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
1
|
import { createTarball } from './Compression.js';
|
|
3
2
|
import { ensureDir, move, readdir, stat } from './FileSystem.js';
|
|
4
3
|
import { appName } from '../api/Common.js';
|
|
5
4
|
import { getRandomHexString } from './Utilities.js';
|
|
6
|
-
import { getAppTempDir } from './PathUtilities.js';
|
|
5
|
+
import { getAppTempDir, getFileNameWithoutExtension, joinPath } from './PathUtilities.js';
|
|
7
6
|
export async function createNamedTarball(inputPath, name, tarballDir) {
|
|
8
7
|
const tempDir = getAppTempDir(appName);
|
|
9
8
|
await ensureDir(tempDir);
|
|
10
|
-
const tempFilename =
|
|
9
|
+
const tempFilename = joinPath(tempDir, getRandomHexString(16));
|
|
11
10
|
await createTarball(inputPath, tempFilename, name);
|
|
12
|
-
const targetFilname =
|
|
11
|
+
const targetFilname = joinPath(tarballDir, `${name}.tar.gz`);
|
|
13
12
|
await move(tempFilename, targetFilname);
|
|
14
13
|
}
|
|
15
14
|
export async function createTarballForEachDirIn(baseDir, namePrefix, tarballDir) {
|
|
16
15
|
for (const dirName of await readdir(baseDir)) {
|
|
17
|
-
const dirPath =
|
|
16
|
+
const dirPath = joinPath(baseDir, dirName);
|
|
18
17
|
const fileStat = await stat(dirPath);
|
|
19
18
|
if (!fileStat.isDirectory()) {
|
|
20
19
|
continue;
|
|
@@ -25,8 +24,8 @@ export async function createTarballForEachDirIn(baseDir, namePrefix, tarballDir)
|
|
|
25
24
|
}
|
|
26
25
|
export async function createTarballForEachFileIn(baseDir, namePrefix, tarballDir) {
|
|
27
26
|
for (const filename of await readdir(baseDir)) {
|
|
28
|
-
const filenameWithoutExtension =
|
|
29
|
-
const filePath =
|
|
27
|
+
const filenameWithoutExtension = getFileNameWithoutExtension(filename);
|
|
28
|
+
const filePath = joinPath(baseDir, filename);
|
|
30
29
|
const fileStat = await stat(filePath);
|
|
31
30
|
if (!fileStat.isFile()) {
|
|
32
31
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TarballMaker.js","sourceRoot":"","sources":["../../src/utilities/TarballMaker.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TarballMaker.js","sourceRoot":"","sources":["../../src/utilities/TarballMaker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAEzF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,IAAY,EAAE,UAAkB;IAC3F,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IACxB,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAA;IAE9D,MAAM,aAAa,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IAElD,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,IAAI,SAAS,CAAC,CAAA;IAE5D,MAAM,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAAe,EAAE,UAAkB,EAAE,UAAkB;IACtG,KAAK,MAAM,OAAO,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAA;QAEpC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,SAAQ;QACT,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,UAAU,IAAI,OAAO,EAAE,CAAA;QAE9C,MAAM,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAAe,EAAE,UAAkB,EAAE,UAAkB;IACvG,KAAK,MAAM,QAAQ,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAA;QAEtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;QAErC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,SAAQ;QACT,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,UAAU,IAAI,wBAAwB,EAAE,CAAA;QAE/D,MAAM,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;IAC5D,CAAC;AACF,CAAC"}
|
package/dist/utilities/Timer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { logToStderr, roundToDigits } from './Utilities.js';
|
|
2
2
|
export class Timer {
|
|
3
3
|
startTime = 0;
|
|
4
4
|
constructor() {
|
|
@@ -24,7 +24,7 @@ export class Timer {
|
|
|
24
24
|
const elapsedTime = this.elapsedTime;
|
|
25
25
|
//
|
|
26
26
|
const message = `${title}: ${roundToDigits(elapsedTime, timePrecision)}ms`;
|
|
27
|
-
|
|
27
|
+
logToStderr(message);
|
|
28
28
|
//
|
|
29
29
|
this.restart();
|
|
30
30
|
return elapsedTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../src/utilities/Timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../src/utilities/Timer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { IncomingMessage } from 'node:http';
|
|
|
2
2
|
import { RandomGenerator } from './RandomGenerator.js';
|
|
3
3
|
import { Logger } from './Logger.js';
|
|
4
4
|
import { ChildProcessWithoutNullStreams } from 'node:child_process';
|
|
5
|
+
export declare function concatUint8Arrays(arrays: Uint8Array[]): Uint8Array;
|
|
5
6
|
export declare function concatFloat32Arrays(arrays: Float32Array[]): Float32Array;
|
|
6
7
|
export declare function shuffleArray<T>(array: T[], randomGen: RandomGenerator): T[];
|
|
7
8
|
export declare function shuffleArrayInPlace<T>(array: T[], randomGen: RandomGenerator): T[];
|
|
@@ -9,14 +10,19 @@ export declare function writeToStderr(message: any): void;
|
|
|
9
10
|
export declare function printToStderr(message: any): void;
|
|
10
11
|
export declare function logToStderr(message: any): void;
|
|
11
12
|
export declare function formatObjectToString(obj: any): string;
|
|
12
|
-
export declare function getRandomHexString(charCount?: number
|
|
13
|
+
export declare function getRandomHexString(charCount?: number): string;
|
|
13
14
|
export declare function getRandomUUID(dashes?: boolean): string;
|
|
14
15
|
export declare function sumArray<T>(arr: Array<T>, valueGetter: (item: T) => number): number;
|
|
15
16
|
export declare function roundToDigits(val: number, digits?: number): number;
|
|
16
17
|
export declare function delay(timeMs: number): Promise<unknown>;
|
|
17
18
|
export declare function yieldToEventLoop(): Promise<unknown>;
|
|
18
19
|
export declare function printMatrix(matrix: Float32Array[]): void;
|
|
19
|
-
export declare function
|
|
20
|
+
export declare function parseJson(jsonText: string, useJson5?: boolean): Promise<any>;
|
|
21
|
+
export declare function stringifyAndFormatJson(obj: any, useJson5?: boolean): Promise<string>;
|
|
22
|
+
export declare function parseJSONAndGetType(str: string, useJson5?: boolean): Promise<{
|
|
23
|
+
parsedValue: any;
|
|
24
|
+
jsonType: "string" | "number" | "boolean" | "object" | "null" | "array" | undefined;
|
|
25
|
+
}>;
|
|
20
26
|
export declare function secondsToHMS(totalSeconds: number): {
|
|
21
27
|
hours: number;
|
|
22
28
|
minutes: number;
|
|
@@ -41,7 +47,7 @@ export declare function waitNextTick(): Promise<void>;
|
|
|
41
47
|
export declare function setupUnhandledExceptionListeners(): void;
|
|
42
48
|
export declare function setupProgramTerminationListeners(cleanupFunc?: () => void): void;
|
|
43
49
|
export declare function clip(num: number, min: number, max: number): number;
|
|
44
|
-
export declare function readBinaryIncomingMessage(incomingMessage: IncomingMessage): Promise<
|
|
50
|
+
export declare function readBinaryIncomingMessage(incomingMessage: IncomingMessage): Promise<Uint8Array>;
|
|
45
51
|
export declare function splitFloat32Array(nums: Float32Array, partSize: number): Float32Array[];
|
|
46
52
|
export declare function sha256AsHex(input: string): Promise<string>;
|
|
47
53
|
export declare function commandExists(command: string): Promise<boolean>;
|
|
@@ -50,5 +56,6 @@ export declare function getWithDefault<T>(value: T | undefined, defaultValue: T)
|
|
|
50
56
|
export declare function splitFilenameOnExtendedExtension(filenameWithExtension: string): string[];
|
|
51
57
|
export declare function resolveModuleScriptPath(moduleName: string): Promise<string>;
|
|
52
58
|
export declare function runOperationWithRetries<R>(operationFunc: () => Promise<R>, logger: Logger, operationName?: string, delayBetweenRetries?: number, maxRetries?: number): Promise<R>;
|
|
53
|
-
export declare function writeToStdinInChunks(process: ChildProcessWithoutNullStreams, buffer:
|
|
59
|
+
export declare function writeToStdinInChunks(process: ChildProcessWithoutNullStreams, buffer: Uint8Array, chunkSize: number): void;
|
|
54
60
|
export declare function getIntegerRange(start: number, end: number): number[];
|
|
61
|
+
export declare function isUint8Array(value: any): value is Uint8Array;
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import * as readline from 'node:readline';
|
|
2
2
|
import { randomUUID, randomBytes } from 'node:crypto';
|
|
3
3
|
import { inspect } from 'node:util';
|
|
4
|
+
import { encodeHex } from '../encodings/Hex.js';
|
|
4
5
|
const log = logToStderr;
|
|
6
|
+
export function concatUint8Arrays(arrays) {
|
|
7
|
+
return concatTypedArrays(Uint8Array, arrays);
|
|
8
|
+
}
|
|
5
9
|
export function concatFloat32Arrays(arrays) {
|
|
6
10
|
return concatTypedArrays(Float32Array, arrays);
|
|
7
11
|
}
|
|
8
|
-
function concatTypedArrays(
|
|
12
|
+
function concatTypedArrays(TypedArrayConstructor, arrays) {
|
|
9
13
|
let totalLength = 0;
|
|
10
|
-
for (const
|
|
11
|
-
totalLength +=
|
|
14
|
+
for (const array of arrays) {
|
|
15
|
+
totalLength += array.length;
|
|
12
16
|
}
|
|
13
|
-
const result = new
|
|
14
|
-
let
|
|
15
|
-
for (const
|
|
16
|
-
result.set(
|
|
17
|
-
|
|
17
|
+
const result = new TypedArrayConstructor(totalLength);
|
|
18
|
+
let writeOffset = 0;
|
|
19
|
+
for (const array of arrays) {
|
|
20
|
+
result.set(array, writeOffset);
|
|
21
|
+
writeOffset += array.length;
|
|
18
22
|
}
|
|
19
23
|
return result;
|
|
20
24
|
}
|
|
@@ -57,15 +61,12 @@ export function formatObjectToString(obj) {
|
|
|
57
61
|
});
|
|
58
62
|
return formattedString;
|
|
59
63
|
}
|
|
60
|
-
export function getRandomHexString(charCount = 32
|
|
64
|
+
export function getRandomHexString(charCount = 32) {
|
|
61
65
|
if (charCount % 2 !== 0) {
|
|
62
66
|
throw new Error(`'charCount' must be an even number`);
|
|
63
67
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
hex = hex.toUpperCase();
|
|
67
|
-
}
|
|
68
|
-
return hex;
|
|
68
|
+
const randomHex = encodeHex(randomBytes(charCount / 2));
|
|
69
|
+
return randomHex;
|
|
69
70
|
}
|
|
70
71
|
export function getRandomUUID(dashes = true) {
|
|
71
72
|
let uuid = randomUUID();
|
|
@@ -101,8 +102,56 @@ export function printMatrix(matrix) {
|
|
|
101
102
|
log(matrix[rowIndex].join(', '));
|
|
102
103
|
}
|
|
103
104
|
}
|
|
104
|
-
export function
|
|
105
|
-
|
|
105
|
+
export async function parseJson(jsonText, useJson5 = false) {
|
|
106
|
+
if (useJson5) {
|
|
107
|
+
const { default: JSON5 } = await import('json5');
|
|
108
|
+
return JSON5.parse(jsonText);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
return JSON.parse(jsonText);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export async function stringifyAndFormatJson(obj, useJson5 = false) {
|
|
115
|
+
let textContent;
|
|
116
|
+
if (useJson5) {
|
|
117
|
+
const { default: JSON5 } = await import('json5');
|
|
118
|
+
textContent = JSON5.stringify(obj, undefined, 4);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
textContent = JSON.stringify(obj, undefined, 4);
|
|
122
|
+
}
|
|
123
|
+
return textContent;
|
|
124
|
+
}
|
|
125
|
+
export async function parseJSONAndGetType(str, useJson5 = false) {
|
|
126
|
+
let parsedValue = undefined;
|
|
127
|
+
try {
|
|
128
|
+
parsedValue = await parseJson(str, useJson5);
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
}
|
|
132
|
+
let jsonType = undefined;
|
|
133
|
+
if (parsedValue === null) {
|
|
134
|
+
jsonType = 'null';
|
|
135
|
+
}
|
|
136
|
+
else if (typeof parsedValue === 'string') {
|
|
137
|
+
jsonType = 'string';
|
|
138
|
+
}
|
|
139
|
+
else if (typeof parsedValue === 'number') {
|
|
140
|
+
jsonType = 'number';
|
|
141
|
+
}
|
|
142
|
+
else if (typeof parsedValue === 'boolean') {
|
|
143
|
+
jsonType = 'boolean';
|
|
144
|
+
}
|
|
145
|
+
else if (Array.isArray(parsedValue)) {
|
|
146
|
+
jsonType = 'array';
|
|
147
|
+
}
|
|
148
|
+
else if (typeof parsedValue === 'object') {
|
|
149
|
+
jsonType = 'object';
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
parsedValue,
|
|
153
|
+
jsonType
|
|
154
|
+
};
|
|
106
155
|
}
|
|
107
156
|
export function secondsToHMS(totalSeconds) {
|
|
108
157
|
let remainingSeconds = totalSeconds;
|
|
@@ -199,10 +248,10 @@ export function readBinaryIncomingMessage(incomingMessage) {
|
|
|
199
248
|
return new Promise((resolve, reject) => {
|
|
200
249
|
const chunks = [];
|
|
201
250
|
incomingMessage.on('data', (chunk) => {
|
|
202
|
-
chunks.push(
|
|
251
|
+
chunks.push(Uint8Array.from(chunk));
|
|
203
252
|
});
|
|
204
253
|
incomingMessage.on('end', () => {
|
|
205
|
-
resolve(
|
|
254
|
+
resolve(concatUint8Arrays(chunks));
|
|
206
255
|
});
|
|
207
256
|
incomingMessage.on('error', (e) => {
|
|
208
257
|
reject(e);
|
|
@@ -315,4 +364,7 @@ export function getIntegerRange(start, end) {
|
|
|
315
364
|
}
|
|
316
365
|
return result;
|
|
317
366
|
}
|
|
367
|
+
export function isUint8Array(value) {
|
|
368
|
+
return value instanceof Uint8Array;
|
|
369
|
+
}
|
|
318
370
|
//# sourceMappingURL=Utilities.js.map
|