echogarden 1.4.4 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/data/schemas/options.json +310 -25
  2. package/dist/alignment/DTWMfccSequenceAlignment.d.ts +1 -1
  3. package/dist/alignment/DTWMfccSequenceAlignment.js +5 -5
  4. package/dist/alignment/DTWSequenceAlignmentWindowed.js +1 -3
  5. package/dist/alignment/DTWSequenceAlignmentWindowed.js.map +1 -1
  6. package/dist/alignment/{TextAlignment.d.ts → SemanticTextAlignment.d.ts} +4 -2
  7. package/dist/alignment/SemanticTextAlignment.js +336 -0
  8. package/dist/alignment/SemanticTextAlignment.js.map +1 -0
  9. package/dist/alignment/SpeechAlignment.d.ts +4 -3
  10. package/dist/alignment/SpeechAlignment.js +130 -39
  11. package/dist/alignment/SpeechAlignment.js.map +1 -1
  12. package/dist/api/API.d.ts +7 -3
  13. package/dist/api/API.js +7 -2
  14. package/dist/api/API.js.map +1 -1
  15. package/dist/api/APIOptions.d.ts +4 -1
  16. package/dist/api/Alignment.d.ts +1 -1
  17. package/dist/api/Alignment.js +13 -5
  18. package/dist/api/Alignment.js.map +1 -1
  19. package/dist/api/LanguageDetectionCommon.d.ts +6 -0
  20. package/dist/api/LanguageDetectionCommon.js +2 -0
  21. package/dist/api/LanguageDetectionCommon.js.map +1 -0
  22. package/dist/api/Recognition.js.map +1 -1
  23. package/dist/api/{LanguageDetection.d.ts → SpeechLanguageDetection.d.ts} +1 -25
  24. package/dist/api/{LanguageDetection.js → SpeechLanguageDetection.js} +1 -68
  25. package/dist/api/SpeechLanguageDetection.js.map +1 -0
  26. package/dist/api/{Translation.js → SpeechTranslation.js} +3 -3
  27. package/dist/api/SpeechTranslation.js.map +1 -0
  28. package/dist/api/Synthesis.d.ts +0 -1
  29. package/dist/api/Synthesis.js +4 -4
  30. package/dist/api/TextLanguageDetection.d.ts +21 -0
  31. package/dist/api/TextLanguageDetection.js +67 -0
  32. package/dist/api/TextLanguageDetection.js.map +1 -0
  33. package/dist/api/TextTranslation.d.ts +25 -0
  34. package/dist/api/TextTranslation.js +101 -0
  35. package/dist/api/TextTranslation.js.map +1 -0
  36. package/dist/api/TimelineTranslationAlignment.d.ts +23 -0
  37. package/dist/api/TimelineTranslationAlignment.js +92 -0
  38. package/dist/api/TimelineTranslationAlignment.js.map +1 -0
  39. package/dist/api/TranscriptAndTranslationAlignment.d.ts +35 -0
  40. package/dist/api/TranscriptAndTranslationAlignment.js +78 -0
  41. package/dist/api/TranscriptAndTranslationAlignment.js.map +1 -0
  42. package/dist/api/TranslationAlignment.d.ts +4 -3
  43. package/dist/api/TranslationAlignment.js +9 -8
  44. package/dist/api/TranslationAlignment.js.map +1 -1
  45. package/dist/api/VoiceActivityDetection.js +16 -1
  46. package/dist/api/VoiceActivityDetection.js.map +1 -1
  47. package/dist/audio/AudioBufferConversion.d.ts +0 -1
  48. package/dist/audio/AudioPlayer.d.ts +0 -1
  49. package/dist/audio/AudioPlayer.js +62 -41
  50. package/dist/audio/AudioPlayer.js.map +1 -1
  51. package/dist/audio/AudioUtilities.d.ts +0 -1
  52. package/dist/cli/CLI.d.ts +28 -7
  53. package/dist/cli/CLI.js +265 -37
  54. package/dist/cli/CLI.js.map +1 -1
  55. package/dist/codecs/FFMpegTranscoder.d.ts +0 -1
  56. package/dist/codecs/FFMpegTranscoder.js +7 -0
  57. package/dist/codecs/FFMpegTranscoder.js.map +1 -1
  58. package/dist/codecs/TIMITCodec.d.ts +0 -1
  59. package/dist/codecs/WaveCodec.d.ts +0 -1
  60. package/dist/dsp/FFT.d.ts +1 -1
  61. package/dist/dsp/FFT.js +6 -0
  62. package/dist/dsp/FFT.js.map +1 -1
  63. package/dist/dsp/KWeightingFilter.js +1 -1
  64. package/dist/dsp/KWeightingFilter.js.map +1 -1
  65. package/dist/dsp/MelSpectogram.d.ts +3 -2
  66. package/dist/dsp/MelSpectogram.js +14 -8
  67. package/dist/dsp/MelSpectogram.js.map +1 -1
  68. package/dist/math/VectorMath.d.ts +9 -9
  69. package/dist/math/VectorMath.js +10 -10
  70. package/dist/math/VectorMath.js.map +1 -1
  71. package/dist/nlp/ChineseSegmentation.js +4 -4
  72. package/dist/nlp/ChineseSegmentation.js.map +1 -1
  73. package/dist/nlp/Segmentation.d.ts +2 -2
  74. package/dist/nlp/Segmentation.js +20 -13
  75. package/dist/nlp/Segmentation.js.map +1 -1
  76. package/dist/recognition/OpenAICloudSTT.d.ts +2 -1
  77. package/dist/recognition/OpenAICloudSTT.js +30 -19
  78. package/dist/recognition/OpenAICloudSTT.js.map +1 -1
  79. package/dist/recognition/SileroSTT.d.ts +0 -1
  80. package/dist/recognition/WhisperCppSTT.d.ts +3 -3
  81. package/dist/recognition/WhisperCppSTT.js +21 -9
  82. package/dist/recognition/WhisperCppSTT.js.map +1 -1
  83. package/dist/recognition/WhisperSTT.d.ts +9 -6
  84. package/dist/recognition/WhisperSTT.js +227 -46
  85. package/dist/recognition/WhisperSTT.js.map +1 -1
  86. package/dist/server/Client.d.ts +3 -4
  87. package/dist/server/Client.js.map +1 -1
  88. package/dist/server/Worker.d.ts +3 -3
  89. package/dist/server/Worker.js +3 -2
  90. package/dist/server/Worker.js.map +1 -1
  91. package/dist/source-separation/MDXNetSourceSeparation.d.ts +0 -1
  92. package/dist/source-separation/MDXNetSourceSeparation.js +1 -1
  93. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  94. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts +12 -0
  95. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +68 -0
  96. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -0
  97. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +1 -2
  98. package/dist/speech-language-detection/SileroLanguageDetection.js +1 -1
  99. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  100. package/dist/subtitles/Subtitles.js +2 -2
  101. package/dist/subtitles/Subtitles.js.map +1 -1
  102. package/dist/synthesis/GoogleCloudTTS.d.ts +0 -1
  103. package/dist/synthesis/GoogleTranslateTTS.d.ts +0 -1
  104. package/dist/synthesis/GoogleTranslateTTS.js +6 -21
  105. package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
  106. package/dist/synthesis/StreamlabsPollyTTS.d.ts +0 -1
  107. package/dist/synthesis/VitsTTS.d.ts +0 -1
  108. package/dist/synthesis/VitsTTS.js +30 -0
  109. package/dist/synthesis/VitsTTS.js.map +1 -1
  110. package/dist/tests/Test.js +0 -31
  111. package/dist/tests/Test.js.map +1 -1
  112. package/dist/text-language-detection/FastTextLanguageDetection.d.ts +1 -1
  113. package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -1
  114. package/dist/text-language-detection/TinyLDLanguageDetection.d.ts +1 -1
  115. package/dist/text-language-detection/TinyLDLanguageDetection.js.map +1 -1
  116. package/dist/text-translation/DeepLTextTranslation.d.ts +2 -0
  117. package/dist/text-translation/DeepLTextTranslation.js +67 -0
  118. package/dist/text-translation/DeepLTextTranslation.js.map +1 -0
  119. package/dist/text-translation/GoogleTranslateTextTranslation.d.ts +10 -0
  120. package/dist/text-translation/GoogleTranslateTextTranslation.js +554 -0
  121. package/dist/text-translation/GoogleTranslateTextTranslation.js.map +1 -0
  122. package/dist/text-translation/NLLBTextTranslation.d.ts +2 -1
  123. package/dist/text-translation/NLLBTextTranslation.js +249 -19
  124. package/dist/text-translation/NLLBTextTranslation.js.map +1 -1
  125. package/dist/utilities/BinaryArrayConversion.d.ts +0 -1
  126. package/dist/utilities/BrowserRequestHeaders.d.ts +6 -0
  127. package/dist/utilities/BrowserRequestHeaders.js +52 -0
  128. package/dist/utilities/BrowserRequestHeaders.js.map +1 -0
  129. package/dist/utilities/BufferFileReadStream.d.ts +20 -0
  130. package/dist/utilities/BufferFileReadStream.js +81 -0
  131. package/dist/utilities/BufferFileReadStream.js.map +1 -0
  132. package/dist/utilities/DynamicUint8Array.d.ts +9 -0
  133. package/dist/utilities/DynamicUint8Array.js +31 -0
  134. package/dist/utilities/DynamicUint8Array.js.map +1 -0
  135. package/dist/utilities/FileSystem.d.ts +0 -2
  136. package/dist/utilities/Hashing.d.ts +3 -10
  137. package/dist/utilities/Hashing.js +10 -127
  138. package/dist/utilities/Hashing.js.map +1 -1
  139. package/dist/utilities/LEB128.d.ts +15 -5
  140. package/dist/utilities/LEB128.js +199 -119
  141. package/dist/utilities/LEB128.js.map +1 -1
  142. package/dist/utilities/LPVarInt.d.ts +11 -0
  143. package/dist/utilities/LPVarInt.js +187 -0
  144. package/dist/utilities/LPVarInt.js.map +1 -0
  145. package/dist/utilities/Locale.d.ts +1 -1
  146. package/dist/utilities/Locale.js +1 -1
  147. package/dist/utilities/OnnxUtilities.d.ts +1 -2
  148. package/dist/utilities/PVarInt.d.ts +4 -0
  149. package/dist/utilities/PVarInt.js +166 -0
  150. package/dist/utilities/PVarInt.js.map +1 -0
  151. package/dist/utilities/PackageManager.js +48 -25
  152. package/dist/utilities/PackageManager.js.map +1 -1
  153. package/dist/utilities/RandomGenerator.d.ts +3 -17
  154. package/dist/utilities/RandomGenerator.js +12 -81
  155. package/dist/utilities/RandomGenerator.js.map +1 -1
  156. package/dist/utilities/Timeline.d.ts +2 -0
  157. package/dist/utilities/Timeline.js +129 -20
  158. package/dist/utilities/Timeline.js.map +1 -1
  159. package/dist/utilities/Utilities.d.ts +1 -3
  160. package/dist/utilities/Utilities.js +30 -3
  161. package/dist/utilities/Utilities.js.map +1 -1
  162. package/dist/utilities/VarInt.d.ts +4 -0
  163. package/dist/utilities/VarInt.js +166 -0
  164. package/dist/utilities/VarInt.js.map +1 -0
  165. package/dist/utilities/VirtualFileReadStream.d.ts +20 -0
  166. package/dist/utilities/VirtualFileReadStream.js +79 -0
  167. package/dist/utilities/VirtualFileReadStream.js.map +1 -0
  168. package/dist/utilities/WebReader.js +7 -23
  169. package/dist/utilities/WebReader.js.map +1 -1
  170. package/dist/voice-activity-detection/SileroVAD.d.ts +0 -1
  171. package/docs/API.md +105 -3
  172. package/docs/CLI.md +51 -1
  173. package/docs/Engines.md +32 -3
  174. package/docs/Options.md +53 -12
  175. package/docs/Tasklist.md +1 -13
  176. package/package.json +20 -24
  177. package/src/alignment/DTWMfccSequenceAlignment.ts +5 -5
  178. package/src/alignment/DTWSequenceAlignmentWindowed.ts +1 -3
  179. package/src/alignment/SemanticTextAlignment.ts +467 -0
  180. package/src/alignment/SpeechAlignment.ts +214 -56
  181. package/src/api/API.ts +18 -2
  182. package/src/api/APIOptions.ts +14 -1
  183. package/src/api/Alignment.ts +31 -9
  184. package/src/api/LanguageDetectionCommon.ts +7 -0
  185. package/src/api/Recognition.ts +2 -0
  186. package/src/api/{LanguageDetection.ts → SpeechLanguageDetection.ts} +1 -119
  187. package/src/api/{Translation.ts → SpeechTranslation.ts} +2 -2
  188. package/src/api/Synthesis.ts +4 -4
  189. package/src/api/TextLanguageDetection.ts +116 -0
  190. package/src/api/TextTranslation.ts +177 -0
  191. package/src/api/TimelineTranslationAlignment.ts +162 -0
  192. package/src/api/TranscriptAndTranslationAlignment.ts +164 -0
  193. package/src/api/TranslationAlignment.ts +12 -10
  194. package/src/api/VoiceActivityDetection.ts +24 -3
  195. package/src/audio/AudioPlayer.ts +2 -0
  196. package/src/cli/CLI.ts +376 -40
  197. package/src/codecs/FFMpegTranscoder.ts +6 -0
  198. package/src/dsp/FFT.ts +8 -2
  199. package/src/dsp/KWeightingFilter.ts +1 -1
  200. package/src/dsp/MelSpectogram.ts +17 -8
  201. package/src/math/VectorMath.ts +15 -15
  202. package/src/nlp/ChineseSegmentation.ts +6 -4
  203. package/src/nlp/Segmentation.ts +18 -13
  204. package/src/recognition/OpenAICloudSTT.ts +47 -29
  205. package/src/recognition/WhisperCppSTT.ts +26 -11
  206. package/src/recognition/WhisperSTT.ts +364 -49
  207. package/src/server/Client.ts +3 -2
  208. package/src/server/Worker.ts +3 -2
  209. package/src/source-separation/MDXNetSourceSeparation.ts +1 -1
  210. package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +107 -0
  211. package/src/speech-language-detection/SileroLanguageDetection.ts +2 -1
  212. package/src/subtitles/Subtitles.ts +2 -2
  213. package/src/synthesis/GoogleTranslateTTS.ts +7 -21
  214. package/src/synthesis/VitsTTS.ts +31 -3
  215. package/src/tests/Test.ts +1 -38
  216. package/src/text-language-detection/FastTextLanguageDetection.ts +1 -1
  217. package/src/text-language-detection/TinyLDLanguageDetection.ts +1 -1
  218. package/src/text-translation/DeepLTextTranslation.ts +88 -0
  219. package/src/text-translation/GoogleTranslateTextTranslation.ts +667 -0
  220. package/src/text-translation/NLLBTextTranslation.ts +261 -21
  221. package/src/typings/Fillers.d.ts +25 -2
  222. package/src/utilities/BrowserRequestHeaders.ts +59 -0
  223. package/src/utilities/DynamicUint8Array.ts +39 -0
  224. package/src/utilities/Hashing.ts +14 -167
  225. package/src/utilities/LEB128.ts +273 -148
  226. package/src/utilities/LPVarInt.ts +292 -0
  227. package/src/utilities/Locale.ts +1 -1
  228. package/src/utilities/OnnxUtilities.ts +1 -1
  229. package/src/utilities/PackageManager.ts +51 -30
  230. package/src/utilities/RandomGenerator.ts +12 -113
  231. package/src/utilities/Timeline.ts +162 -23
  232. package/src/utilities/Utilities.ts +40 -3
  233. package/src/utilities/VirtualFileReadStream.ts +109 -0
  234. package/src/utilities/WebReader.ts +9 -23
  235. package/dist/alignment/TextAlignment.js +0 -156
  236. package/dist/alignment/TextAlignment.js.map +0 -1
  237. package/dist/api/LanguageDetection.js.map +0 -1
  238. package/dist/api/Translation.js.map +0 -1
  239. package/src/alignment/TextAlignment.ts +0 -234
  240. /package/dist/api/{Translation.d.ts → SpeechTranslation.d.ts} +0 -0
@@ -1,32 +1,56 @@
1
+ import chalk from 'chalk';
2
+ import { splitToSentences } from '../nlp/Segmentation.js';
1
3
  import { Logger } from '../utilities/Logger.js';
2
4
  import { loadPackage } from '../utilities/PackageManager.js';
3
5
  export async function translateText(sourceText, sourceLanguage, targetLanguage) {
4
6
  const logger = new Logger();
7
+ //const languageNames = Object.keys(languageNameToNLLBCode)
8
+ //logger.log(languageNames)
9
+ logger.start(`Load transformers.js module`);
5
10
  const { AutoTokenizer, M2M100ForConditionalGeneration } = await import('@echogarden/transformers-nodejs-lite');
6
- const modelPath = await loadPackage(`xenova-nllb-200-distilled-600M-quantized`);
11
+ logger.start(`Load NLLB package`);
12
+ const modelPath = await loadPackage(`xenova-nllb-200-distilled-600M-q8`);
13
+ logger.start(`Load NLLB tokenizer`);
7
14
  const tokenizer = await AutoTokenizer.from_pretrained(modelPath);
15
+ logger.start(`Load NLLB model`);
8
16
  const model = await M2M100ForConditionalGeneration.from_pretrained(modelPath);
17
+ logger.start(`Split to sentences`);
9
18
  const config = {
10
- src_lang: 'eng_Latn',
11
- tgt_lang: 'fra_Latn'
19
+ src_lang: 'spa_Latn',
20
+ tgt_lang: 'eng_Latn'
12
21
  };
13
- const inputs = tokenizer._build_translation_inputs(sourceText, {
14
- padding: true,
15
- truncation: true,
16
- }, config);
17
- const result = await model.generate(inputs.input_ids, config);
18
- logger.log(tokenizer.model.convert_ids_to_tokens(result[0]));
19
- const inputTokens = tokenizer.model.convert_ids_to_tokens(Array.from(inputs.input_ids.data));
20
- const embeddingResult = await model(inputs);
21
- const lastHiddenState = embeddingResult.last_hidden_state;
22
- const tokenCount = lastHiddenState.dims[1];
23
- const embeddingSize = lastHiddenState.dims[2];
24
- for (let i = 0; i < tokenCount; i++) {
25
- const tokenEmbedding = lastHiddenState.data.slice(i * embeddingSize, (i + 1) * embeddingSize);
26
- const tokenId = inputTokens[i];
27
- logger.log(`Token ${i} (${tokenId}):`, tokenEmbedding);
22
+ const sentences = splitToSentences(sourceText, sourceLanguage);
23
+ logger.end();
24
+ const translationPairs = [];
25
+ for (let i = 0; i < sentences.length; i++) {
26
+ const sentence = sentences[i];
27
+ logger.logTitledMessage(`Translate sentence ${i + 1}/${sentences.length}`, `"${sentence.trim()}"`, chalk.magentaBright);
28
+ logger.start(`Tokenize sentence`);
29
+ const inputs = tokenizer._build_translation_inputs(sentence, {
30
+ padding: true,
31
+ truncation: true,
32
+ }, config);
33
+ logger.start(`Translate sentence with NLLB model`);
34
+ const translationTokenIds = await model.generate(inputs.input_ids, config);
35
+ logger.start(`Extract tokens`);
36
+ const translationTokens = tokenizer.model.convert_ids_to_tokens(translationTokenIds[0]);
37
+ const translatedText = translationTokens
38
+ .slice(2, translationTokens.length - 1)
39
+ .map(token => {
40
+ if (token.startsWith('▁')) {
41
+ return token.replaceAll('▁', ' ');
42
+ }
43
+ return token;
44
+ })
45
+ .join('')
46
+ .trim();
47
+ translationPairs.push({
48
+ sourceText: sentence,
49
+ translatedText
50
+ });
51
+ logger.end();
28
52
  }
29
- logger.log(inputTokens);
53
+ return translationPairs;
30
54
  }
31
55
  const languageNameToNLLBCode = {
32
56
  'Acehnese (Arabic script)': 'ace_Arab',
@@ -234,4 +258,210 @@ const languageNameToNLLBCode = {
234
258
  'Yue Chinese': 'yue_Hant',
235
259
  'Zulu': 'zul_Latn',
236
260
  };
261
+ const languageNameToISO931 = {
262
+ 'Acehnese (Arabic script)': 'unknown', // No ISO 639-1 code for Acehnese
263
+ 'Acehnese (Latin script)': 'unknown', // No ISO 639-1 code for Acehnese
264
+ 'Afrikaans': 'af',
265
+ 'Akan': 'ak',
266
+ 'Amharic': 'am',
267
+ 'Armenian': 'hy',
268
+ 'Assamese': 'as',
269
+ 'Asturian': 'ast', // Approximate: ISO 639-3 code
270
+ 'Awadhi': 'awa', // Approximate: ISO 639-3 code
271
+ 'Ayacucho Quechua': 'qu', // Approximate: Quechua has many variants
272
+ 'Balinese': 'ban', // Approximate: ISO 639-3 code
273
+ 'Bambara': 'bm',
274
+ 'Banjar (Arabic script)': 'unknown', // No ISO 639-1 code for Banjar
275
+ 'Banjar (Latin script)': 'unknown', // No ISO 639-1 code for Banjar
276
+ 'Bashkir': 'ba',
277
+ 'Basque': 'eu',
278
+ 'Belarusian': 'be',
279
+ 'Bemba': 'bem', // Approximate: ISO 639-3 code
280
+ 'Bengali': 'bn',
281
+ 'Bhojpuri': 'bho',
282
+ 'Bosnian': 'bs',
283
+ 'Buginese': 'bug',
284
+ 'Bulgarian': 'bg',
285
+ 'Burmese': 'my',
286
+ 'Catalan': 'ca',
287
+ 'Cebuano': 'ceb', // Approximate: ISO 639-2 code
288
+ 'Central Atlas Tamazight': 'tzm',
289
+ 'Central Aymara': 'ay', // Approximate: Aymara has variants
290
+ 'Central Kanuri (Arabic script)': 'kr', // Approximate: Kanuri uses multiple scripts
291
+ 'Central Kanuri (Latin script)': 'kr', // Approximate: Kanuri uses multiple scripts
292
+ 'Central Kurdish': 'ckb', // Approximate: Kurdish has several variants
293
+ 'Chhattisgarhi': 'hne', // Approximate: ISO 639-3 code
294
+ 'Chinese (Simplified)': 'zh', // Approximate: zh covers both Simplified and Traditional
295
+ 'Chinese (Traditional)': 'zh', // Approximate: zh covers both Simplified and Traditional
296
+ 'Chokwe': 'cjk', // Approximate: ISO 639-3 code
297
+ 'Crimean Tatar': 'crh', // Approximate: ISO 639-3 code
298
+ 'Croatian': 'hr',
299
+ 'Czech': 'cs',
300
+ 'Danish': 'da',
301
+ 'Dari': 'prs', // Approximate: Dari is considered a dialect of Persian
302
+ 'Dutch': 'nl',
303
+ 'Dyula': 'dyu',
304
+ 'Dzongkha': 'dz',
305
+ 'Eastern Panjabi': 'pa', // Approximate: Panjabi has multiple writing systems
306
+ 'Eastern Yiddish': 'yid', // Approximate: Yiddish has multiple variants
307
+ 'Egyptian Arabic': 'arz',
308
+ 'English': 'en',
309
+ 'Esperanto': 'eo',
310
+ 'Estonian': 'et',
311
+ 'Ewe': 'ee',
312
+ 'Faroese': 'fo',
313
+ 'Fijian': 'fj',
314
+ 'Finnish': 'fi',
315
+ 'Fon': 'fon',
316
+ 'French': 'fr',
317
+ 'Friulian': 'fur', // Approximate: ISO 639-3 code
318
+ 'Galician': 'gl',
319
+ 'Ganda': 'lg',
320
+ 'Georgian': 'ka',
321
+ 'German': 'de',
322
+ 'Greek': 'el',
323
+ 'Guarani': 'gn',
324
+ 'Gujarati': 'gu',
325
+ 'Haitian Creole': 'ht',
326
+ 'Halh Mongolian': 'mn', // Approximate: Mongolian encompasses several dialects
327
+ 'Hausa': 'ha',
328
+ 'Hebrew': 'he',
329
+ 'Hindi': 'hi',
330
+ 'Hungarian': 'hu',
331
+ 'Icelandic': 'is',
332
+ 'Igbo': 'ig',
333
+ 'Ilocano': 'ilo',
334
+ 'Indonesian': 'id',
335
+ 'Irish': 'ga',
336
+ 'Italian': 'it',
337
+ 'Japanese': 'ja',
338
+ 'Javanese': 'jv',
339
+ 'Jingpho': 'kac', // Approximate: ISO 639-3 code
340
+ 'Kabiyè': 'kbp', // Approximate: ISO 639-3 code
341
+ 'Kabuverdianu': 'kea', // Approximate: ISO 639-3 code
342
+ 'Kabyle': 'kab',
343
+ 'Kamba': 'kam', // Approximate: ISO 639-3 code
344
+ 'Kannada': 'kn',
345
+ 'Kashmiri (Arabic script)': 'ks', // Approximate: Kashmiri uses multiple scripts
346
+ 'Kashmiri (Devanagari script)': 'ks', // Approximate: Kashmiri uses multiple scripts
347
+ 'Kazakh': 'kk',
348
+ 'Khmer': 'km',
349
+ 'Kikongo': 'kg',
350
+ 'Kikuyu': 'ki',
351
+ 'Kimbundu': 'kmb',
352
+ 'Kinyarwanda': 'rw',
353
+ 'Korean': 'ko',
354
+ 'Kyrgyz': 'ky',
355
+ 'Lao': 'lo',
356
+ 'Latgalian': 'ltg', // Approximate: ISO 639-3 code
357
+ 'Ligurian': 'lij', // Approximate: ISO 639-3 code
358
+ 'Limburgish': 'li', // Approximate: ISO 639-1 code for Limburgish-Ripuarian
359
+ 'Lingala': 'ln',
360
+ 'Lithuanian': 'lt',
361
+ 'Lombard': 'lmo', // Approximate: ISO 639-3 code
362
+ 'Luba-Kasai': 'lua',
363
+ 'Luo': 'luo',
364
+ 'Luxembourgish': 'lb',
365
+ 'Macedonian': 'mk',
366
+ 'Magahi': 'mag', // Approximate: ISO 639-3 code
367
+ 'Maithili': 'mai', // Approximate: ISO 639-3 code
368
+ 'Malayalam': 'ml',
369
+ 'Maltese': 'mt',
370
+ 'Maori': 'mi',
371
+ 'Marathi': 'mr',
372
+ 'Meitei (Bengali script)': 'mni', // Approximate: Meitei uses multiple scripts
373
+ 'Mesopotamian Arabic': 'acm', // Approximate: ISO 639-3 code
374
+ 'Minangkabau (Arabic script)': 'min', // Approximate: Minangkabau uses multiple scripts
375
+ 'Minangkabau (Latin script)': 'min', // Approximate: Minangkabau uses multiple scripts
376
+ 'Mizo': 'lus',
377
+ 'Modern Standard Arabic (Romanized)': 'ar', // Approximate: Modern Standard Arabic is a standardized form
378
+ 'Modern Standard Arabic': 'ar', // Approximate: Modern Standard Arabic is a standardized form
379
+ 'Moroccan Arabic': 'ary',
380
+ 'Mossi': 'mos',
381
+ 'Najdi Arabic': 'ars', // Approximate: ISO 639-3 code for Najdi Arabic
382
+ 'Nepali': 'ne',
383
+ 'Nigerian Fulfulde': 'fuv',
384
+ 'North Azerbaijani': 'az', // Approximate: Azerbaijani is a pluricentric language
385
+ 'North Levantine Arabic': 'apc', // Approximate: ISO 639-3 code for North Levantine Arabic
386
+ 'Northern Kurdish': 'kmr', // Approximate: Kurdish has several variants
387
+ 'Northern Sotho': 'nso',
388
+ 'Northern Uzbek': 'uz', // Approximate: Uzbek is a pluricentric language
389
+ 'Norwegian Bokmål': 'nb',
390
+ 'Norwegian Nynorsk': 'nn',
391
+ 'Nuer': 'nus', // Approximate: ISO 639-3 code
392
+ 'Nyanja': 'ny',
393
+ 'Occitan': 'oc',
394
+ 'Odia': 'or',
395
+ 'Pangasinan': 'pag',
396
+ 'Papiamento': 'pap',
397
+ 'Plateau Malagasy': 'plt', // Approximate: ISO 639-3 code for Plateau Malagasy
398
+ 'Polish': 'pl',
399
+ 'Portuguese': 'pt',
400
+ 'Romanian': 'ro',
401
+ 'Rundi': 'rn',
402
+ 'Russian': 'ru',
403
+ 'Samoan': 'sm',
404
+ 'Sango': 'sg',
405
+ 'Sanskrit': 'sa',
406
+ 'Santali': 'sat',
407
+ 'Sardinian': 'sc', // Approximate: Sardinian has several variants
408
+ 'Scottish Gaelic': 'gd',
409
+ 'Serbian': 'sr',
410
+ 'Shan': 'shn', // Approximate: ISO 639-3 code
411
+ 'Shona': 'sn',
412
+ 'Sicilian': 'scn', // Approximate: ISO 639-3 code
413
+ 'Silesian': 'szl', // Approximate: ISO 639-3 code
414
+ 'Sindhi': 'sd',
415
+ 'Sinhala': 'si',
416
+ 'Slovak': 'sk',
417
+ 'Slovenian': 'sl',
418
+ 'Somali': 'so',
419
+ 'South Azerbaijani': 'az', // Approximate: Azerbaijani is a pluricentric language
420
+ 'South Levantine Arabic': 'ajp', // Approximate: ISO 639-3 code for South Levantine Arabic
421
+ 'Southern Pashto': 'pst', // Approximate: Pashto has several variants
422
+ 'Southern Sotho': 'st',
423
+ 'Southwestern Dinka': 'dik', // Approximate: ISO 639-3 code for Southwestern Dinka
424
+ 'Spanish': 'es',
425
+ 'Standard Latvian': 'lv', // Approximate: Standard Latvian is the official form of Latvian
426
+ 'Standard Malay': 'ms', // Approximate: Standard Malay is the basis for both Malaysian and Indonesian
427
+ 'Standard Tibetan': 'bo', // Approximate: Tibetan has several variants
428
+ 'Sundanese': 'su',
429
+ 'Swahili': 'sw',
430
+ 'Swati': 'ss',
431
+ 'Swedish': 'sv',
432
+ 'Tagalog': 'tl',
433
+ 'Tajik': 'tg',
434
+ 'Tamasheq (Latin script)': 'tmh', // Approximate: Tamasheq uses multiple scripts
435
+ 'Tamasheq (Tifinagh script)': 'tmh', // Approximate: Tamasheq uses multiple scripts
436
+ 'Tamil': 'ta',
437
+ 'Tatar': 'tt',
438
+ 'Ta’izzi-Adeni Arabic': 'acq', // Approximate: ISO 639-3 code for Ta'izzi-Adeni Arabic
439
+ 'Telugu': 'te',
440
+ 'Thai': 'th',
441
+ 'Tigrinya': 'ti',
442
+ 'Tok Pisin': 'tpi',
443
+ 'Tosk Albanian': 'sq', // Approximate: Albanian encompasses both Tosk and Gheg dialects
444
+ 'Tsonga': 'ts',
445
+ 'Tswana': 'tn',
446
+ 'Tumbuka': 'tum',
447
+ 'Tunisian Arabic': 'aeb', // Approximate: ISO 639-3 code for Tunisian Arabic
448
+ 'Turkish': 'tr',
449
+ 'Turkmen': 'tk',
450
+ 'Twi': 'tw',
451
+ 'Ukrainian': 'uk',
452
+ 'Umbundu': 'umb',
453
+ 'Urdu': 'ur',
454
+ 'Uyghur': 'ug',
455
+ 'Venetian': 'vec', // Approximate: ISO 639-3 code
456
+ 'Vietnamese': 'vi',
457
+ 'Waray': 'war',
458
+ 'Welsh': 'cy',
459
+ 'West Central Oromo': 'om', // Approximate: Oromo has several variants
460
+ 'Western Persian': 'fa', // Approximate: Western Persian is the most common variety of Persian
461
+ 'Wolof': 'wo',
462
+ 'Xhosa': 'xh',
463
+ 'Yoruba': 'yo',
464
+ 'Yue Chinese': 'yue', // Approximate: ISO 639-3 code
465
+ 'Zulu': 'zu'
466
+ };
237
467
  //# sourceMappingURL=NLLBTextTranslation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NLLBTextTranslation.js","sourceRoot":"","sources":["../../src/text-translation/NLLBTextTranslation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NLLBTextTranslation.js","sourceRoot":"","sources":["../../src/text-translation/NLLBTextTranslation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function int8ToBuffer(int8s: Int8Array): Buffer;
3
2
  export declare function int8ToBuffer_Slow(int8s: Int8Array): Buffer;
4
3
  export declare function bufferToInt8(buffer: Buffer): Int8Array;
@@ -0,0 +1,6 @@
1
+ export declare function getChromeOnWindowsHeaders(options: BrowserRequestHeadersOptions): Record<string, string>;
2
+ export declare function getChromeOnAndroidHeaders(options: BrowserRequestHeadersOptions): Record<string, string>;
3
+ export interface BrowserRequestHeadersOptions {
4
+ origin: string;
5
+ referrer: string;
6
+ }
@@ -0,0 +1,52 @@
1
+ export function getChromeOnWindowsHeaders(options) {
2
+ const headers = {
3
+ 'Sec-Ch-Ua': `"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"`,
4
+ 'X-Same-Domain': '1',
5
+ 'Dnt': '1',
6
+ 'Sec-Ch-Ua-Mobile': '?0',
7
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
8
+ 'Sec-Ch-Ua-Arch': 'x86',
9
+ 'Sec-Ch-Ua-Full-Version': '125.0.6422.114',
10
+ 'Sec-Ch-Ua-Platform-Version': '"15.0.0"',
11
+ 'Sec-Ch-Ua-Full-Version-List': `"Google Chrome";v="125.0.6422.114", "Chromium";v="125.0.6422.114", "Not.A/Brand";v="24.0.0.0"`,
12
+ 'Sec-Ch-Ua-Bitness': '"64"',
13
+ 'Sec-Ch-Ua-Model': '""',
14
+ 'Sec-Ch-Ua-Platform': '"Windows"',
15
+ 'Accept': '*/*',
16
+ 'Origin': options.origin,
17
+ 'Sec-Fetch-Site': 'same-origin',
18
+ 'Sec-Fetch-Mode': 'cors',
19
+ 'Sec-Fetch-Dest': 'empty',
20
+ 'Referer': options.referrer,
21
+ 'Accept-Encoding': 'gzip, deflate, br',
22
+ 'Accept-Language': 'en-US,en;q=0.9',
23
+ };
24
+ return headers;
25
+ }
26
+ export function getChromeOnAndroidHeaders(options) {
27
+ const headers = {
28
+ 'Sec-Ch-Ua': `"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"`,
29
+ 'Sec-Ch-Ua-Mobile': '?1',
30
+ 'Sec-Ch-Ua-Full-Version': '"126.0.6478.122"',
31
+ 'Sec-Ch-Ua-Arch': `""`,
32
+ 'Sec-Ch-Ua-Platform': `"Android"`,
33
+ 'Sec-Ch-Ua-Platform-Version': `"13"`,
34
+ 'Sec-Ch-Ua-Model': `"Pixel 5"`,
35
+ 'Sec-Ch-Ua-Bitness': `"64"`,
36
+ 'Sec-Ch-Ua-Wow64': `?0`,
37
+ 'Dnt': '1',
38
+ 'Upgrade-Insecure-Requests': '1',
39
+ 'User-Agent': `Mozilla/5.0 (Linux; Android 13; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.122 Mobile Safari/537.36`,
40
+ 'Accept': '*/*',
41
+ 'Origin': options.origin,
42
+ 'Sec-Fetch-Site': 'none',
43
+ 'Sec-Fetch-Mode': 'navigate',
44
+ 'Sec-Fetch-User': '?1',
45
+ 'Sec-Fetch-Dest': 'document',
46
+ 'Referer': options.referrer,
47
+ 'Accept-Encoding': 'gzip, deflate, br',
48
+ 'Accept-Language': 'en-US,en;q=0.9',
49
+ };
50
+ return headers;
51
+ }
52
+ //# sourceMappingURL=BrowserRequestHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserRequestHeaders.js","sourceRoot":"","sources":["../../src/utilities/BrowserRequestHeaders.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CAAC,OAAqC;IAC9E,MAAM,OAAO,GAA2B;QACvC,WAAW,EAAE,mEAAmE;QAChF,eAAe,EAAE,GAAG;QACpB,KAAK,EAAE,GAAG;QACV,kBAAkB,EAAE,IAAI;QACxB,YAAY,EAAE,iHAAiH;QAC/H,gBAAgB,EAAE,KAAK;QACvB,wBAAwB,EAAE,gBAAgB;QAC1C,4BAA4B,EAAE,UAAU;QACxC,6BAA6B,EAAE,+FAA+F;QAC9H,mBAAmB,EAAE,MAAM;QAC3B,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,WAAW;QACjC,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,gBAAgB,EAAE,aAAa;QAC/B,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE,OAAO;QACzB,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,iBAAiB,EAAE,mBAAmB;QACtC,iBAAiB,EAAE,gBAAgB;KACnC,CAAA;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAqC;IAC9E,MAAM,OAAO,GAA2B;QACvC,WAAW,EAAE,kEAAkE;QAC/E,kBAAkB,EAAE,IAAI;QACxB,wBAAwB,EAAE,kBAAkB;QAC5C,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,WAAW;QACjC,4BAA4B,EAAE,MAAM;QACpC,iBAAiB,EAAE,WAAW;QAC9B,mBAAmB,EAAE,MAAM;QAC3B,iBAAiB,EAAE,IAAI;QACvB,KAAK,EAAE,GAAG;QACV,2BAA2B,EAAE,GAAG;QAChC,YAAY,EAAE,sHAAsH;QACpI,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE,UAAU;QAC5B,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,UAAU;QAC5B,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,iBAAiB,EAAE,mBAAmB;QACtC,iBAAiB,EAAE,gBAAgB;KACnC,CAAA;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Readable } from 'stream';
2
+ import { EventEmitter } from 'events';
3
+ import { ReadStream as FsReadStream } from 'fs';
4
+ export declare function createVirtualFileReadStreamFromBuffer(buffer: Buffer, path?: string | Buffer): FsReadStream;
5
+ export declare class VirtualFileReadStream extends Readable {
6
+ private buffer;
7
+ position: number;
8
+ bytesRead: number;
9
+ path: string | Buffer;
10
+ pending: boolean;
11
+ emitter: EventEmitter;
12
+ constructor(buffer: Buffer, path?: string | Buffer);
13
+ _read(size: number): void;
14
+ close(callback?: (err?: NodeJS.ErrnoException | null) => void): void;
15
+ addListener(event: string | symbol, listener: (...args: any[]) => void): this;
16
+ on(event: string | symbol, listener: (...args: any[]) => void): this;
17
+ once(event: string | symbol, listener: (...args: any[]) => void): this;
18
+ prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
19
+ prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
20
+ }
@@ -0,0 +1,81 @@
1
+ import { Readable } from 'stream';
2
+ import { EventEmitter } from 'events';
3
+ import { ReadStream as FsReadStream } from 'fs';
4
+ export function createVirtualFileReadStreamFromBuffer(buffer, path) {
5
+ const bufferReadStream = new VirtualFileReadStream(buffer, path);
6
+ const proxyStream = new Proxy(bufferReadStream, {
7
+ get(target, prop) {
8
+ if (prop === Symbol.toStringTag) {
9
+ return 'ReadStream';
10
+ }
11
+ return target[prop];
12
+ },
13
+ getPrototypeOf() {
14
+ return FsReadStream.prototype;
15
+ }
16
+ });
17
+ return proxyStream;
18
+ }
19
+ export class VirtualFileReadStream extends Readable {
20
+ buffer;
21
+ position;
22
+ bytesRead;
23
+ path;
24
+ pending;
25
+ emitter;
26
+ constructor(buffer, path) {
27
+ super({ autoDestroy: false });
28
+ this.buffer = buffer;
29
+ this.position = 0;
30
+ this.bytesRead = 0;
31
+ this.path = path || '';
32
+ this.pending = true;
33
+ this.emitter = new EventEmitter();
34
+ // Emit 'open' event
35
+ this.emitter.emit('open', 0);
36
+ // Emit 'ready' event
37
+ this.pending = false;
38
+ this.emitter.emit('ready');
39
+ }
40
+ _read(size) {
41
+ if (this.position >= this.buffer.length) {
42
+ this.push(null); // No more data
43
+ this.emitter.emit('end');
44
+ this.emitter.emit('finish');
45
+ this.emitter.emit('close');
46
+ return;
47
+ }
48
+ const chunkSize = Math.min(size, this.buffer.length - this.position);
49
+ const chunk = this.buffer.subarray(this.position, this.position + chunkSize);
50
+ this.position += chunkSize;
51
+ this.bytesRead += chunkSize;
52
+ this.push(chunk);
53
+ }
54
+ close(callback) {
55
+ this.emitter.emit('close');
56
+ if (callback) {
57
+ callback(null);
58
+ }
59
+ }
60
+ addListener(event, listener) {
61
+ this.emitter.addListener(event, listener);
62
+ return this;
63
+ }
64
+ on(event, listener) {
65
+ this.emitter.on(event, listener);
66
+ return this;
67
+ }
68
+ once(event, listener) {
69
+ this.emitter.once(event, listener);
70
+ return this;
71
+ }
72
+ prependListener(event, listener) {
73
+ this.emitter.prependListener(event, listener);
74
+ return this;
75
+ }
76
+ prependOnceListener(event, listener) {
77
+ this.emitter.prependOnceListener(event, listener);
78
+ return this;
79
+ }
80
+ }
81
+ //# sourceMappingURL=BufferFileReadStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BufferFileReadStream.js","sourceRoot":"","sources":["../../src/utilities/BufferFileReadStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,IAAI,CAAA;AAE/C,MAAM,UAAU,qCAAqC,CAAC,MAAc,EAAE,IAAsB;IAC3F,MAAM,gBAAgB,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEhE,MAAM,WAAW,GAAG,IAAI,KAAK,CAAe,gBAAgB,EAAE;QAC7D,GAAG,CAAC,MAAM,EAAE,IAAI;YACf,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBACjC,OAAO,YAAY,CAAA;YACpB,CAAC;YAED,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;QAED,cAAc;YACb,OAAO,YAAY,CAAC,SAAS,CAAA;QAC9B,CAAC;KACD,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IAC1C,MAAM,CAAQ;IACtB,QAAQ,CAAQ;IAChB,SAAS,CAAQ;IACjB,IAAI,CAAiB;IACrB,OAAO,CAAS;IAChB,OAAO,CAAc;IAErB,YAAY,MAAc,EAAE,IAAsB;QACjD,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;QAE7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAA;QAEjC,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAE5B,qBAAqB;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,IAAY;QACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,eAAe;YAE/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAE1B,OAAM;QACP,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEpE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;QAE5E,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAA;QAE3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,QAAuD;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE1B,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,CAAA;QACf,CAAC;IACF,CAAC;IAED,WAAW,CAAC,KAAsB,EAAE,QAAkC;QACrE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEzC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,EAAE,CAAC,KAAsB,EAAE,QAAkC;QAC5D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEhC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,IAAI,CAAC,KAAsB,EAAE,QAAkC;QAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAElC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,eAAe,CAAC,KAAsB,EAAE,QAAkC;QACzE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAE7C,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,mBAAmB,CAAC,KAAsB,EAAE,QAAkC;QAC7E,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEjD,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}
@@ -0,0 +1,9 @@
1
+ export declare class DynamicUint8Array {
2
+ data: Uint8Array;
3
+ length: number;
4
+ add(element: number): void;
5
+ addMany(...elements: number[]): void;
6
+ ensureCapacity(requiredCapacity: number): void;
7
+ toUint8Array(): Uint8Array;
8
+ clear(): void;
9
+ }
@@ -0,0 +1,31 @@
1
+ export class DynamicUint8Array {
2
+ data = new Uint8Array(4);
3
+ length = 0;
4
+ add(element) {
5
+ this.ensureCapacity(this.length + 1);
6
+ this.data[this.length] = element;
7
+ this.length += 1;
8
+ }
9
+ addMany(...elements) {
10
+ this.ensureCapacity(this.length + elements.length);
11
+ for (const element of elements) {
12
+ this.data[this.length] = element;
13
+ this.length += 1;
14
+ }
15
+ }
16
+ ensureCapacity(requiredCapacity) {
17
+ if (requiredCapacity > this.data.length) {
18
+ const newCapacity = requiredCapacity * 2;
19
+ const newData = new Uint8Array(newCapacity);
20
+ newData.set(this.toUint8Array());
21
+ this.data = newData;
22
+ }
23
+ }
24
+ toUint8Array() {
25
+ return this.data.subarray(0, this.length);
26
+ }
27
+ clear() {
28
+ this.length = 0;
29
+ }
30
+ }
31
+ //# sourceMappingURL=DynamicUint8Array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicUint8Array.js","sourceRoot":"","sources":["../../src/utilities/DynamicUint8Array.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAC7B,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,GAAG,CAAC,CAAA;IAEV,GAAG,CAAC,OAAe;QAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAEpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;QAChC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,QAAkB;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAElD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;YAChC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QACjB,CAAC;IACF,CAAC;IAED,cAAc,CAAC,gBAAwB;QACtC,IAAI,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,gBAAgB,GAAG,CAAC,CAAA;YAExC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;YAEhC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA;QACpB,CAAC;IACF,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAChB,CAAC;CACD"}
@@ -1,5 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import * as fsExtra from 'fs-extra/esm';
4
2
  import gracefulFS from 'graceful-fs';
5
3
  export declare const readFile: typeof gracefulFS.readFile.__promisify__;
@@ -1,10 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- export declare function knuthMultiplicative(bytes: Buffer): number;
3
- export declare function xorShift32Hash(bytes: Buffer): number;
4
- export declare function jenkinsOneAtATime(bytes: Buffer): number;
5
- export declare function FNV1a(bytes: Buffer): number;
6
- export declare function superFastHash(bytes: Buffer): number;
7
- export declare function cyrb53Hash(bytes: Buffer, seed?: number): number;
8
- export declare function djb2(bytes: Buffer): number;
9
- export declare function murmurHash1(bytes: Buffer, seed?: number): number;
10
- export declare function MurmurHash3(bytes: Buffer, seed?: number): number;
1
+ export declare function murmurHash3(bytes: Uint8Array, seed?: number): number;
2
+ export declare function convertToSingleInt32Hash(hash: (bytes: Uint8Array) => number): (int32Val: number) => number;
3
+ export declare const murmurHash3_int32Input: (int32Val: number) => number;