Release 0.0.7
This commit is contained in:
@@ -2,24 +2,24 @@ import { buildFindings, createFileRecord } from "./finding-engine.js";
|
||||
import { extractReferencesFromValue } from "./reference-extractor.js";
|
||||
import { createFileLocator } from "./path-utils.js";
|
||||
|
||||
export async function analyzeStorage({ listFiles, listSources, onProgress }={}) {
|
||||
export async function analyzeStorage({ listFiles, listSources, onProgress, i18n }={}) {
|
||||
const files = [];
|
||||
let fileCount = 0;
|
||||
let sourceCount = 0;
|
||||
let referenceCount = 0;
|
||||
|
||||
onProgress?.({ phase: "files", label: "Scanne Dateien", files: 0, sources: 0, references: 0 });
|
||||
onProgress?.({ phase: "files", label: format(i18n, "KSA.Progress.ScanFiles"), files: 0, sources: 0, references: 0 });
|
||||
for await (const entry of listFiles()) {
|
||||
files.push(createFileRecord(createFileLocator(entry.storage, entry.path), entry.size ?? null));
|
||||
fileCount += 1;
|
||||
if ((fileCount % 100) === 0) {
|
||||
onProgress?.({ phase: "files", label: "Scanne Dateien", files: fileCount, sources: sourceCount, references: referenceCount });
|
||||
onProgress?.({ phase: "files", label: format(i18n, "KSA.Progress.ScanFiles"), files: fileCount, sources: sourceCount, references: referenceCount });
|
||||
await yieldToUI();
|
||||
}
|
||||
}
|
||||
|
||||
const references = [];
|
||||
onProgress?.({ phase: "sources", label: "Lese Referenzen", files: fileCount, sources: 0, references: 0 });
|
||||
onProgress?.({ phase: "sources", label: format(i18n, "KSA.Progress.ReadReferences"), files: fileCount, sources: 0, references: 0 });
|
||||
for await (const source of listSources()) {
|
||||
sourceCount += 1;
|
||||
const extracted = extractReferencesFromValue(source.value, {
|
||||
@@ -34,7 +34,7 @@ export async function analyzeStorage({ listFiles, listSources, onProgress }={})
|
||||
if ((sourceCount % 50) === 0) {
|
||||
onProgress?.({
|
||||
phase: "sources",
|
||||
label: "Lese Referenzen",
|
||||
label: format(i18n, "KSA.Progress.ReadReferences"),
|
||||
files: fileCount,
|
||||
sources: sourceCount,
|
||||
references: referenceCount,
|
||||
@@ -44,11 +44,11 @@ export async function analyzeStorage({ listFiles, listSources, onProgress }={})
|
||||
}
|
||||
}
|
||||
|
||||
onProgress?.({ phase: "findings", label: "Klassifiziere Findings", files: fileCount, sources: sourceCount, references: referenceCount });
|
||||
const findings = buildFindings({ files, references });
|
||||
onProgress?.({ phase: "findings", label: format(i18n, "KSA.Progress.ClassifyFindings"), files: fileCount, sources: sourceCount, references: referenceCount });
|
||||
const findings = buildFindings({ files, references, i18n });
|
||||
onProgress?.({
|
||||
phase: "done",
|
||||
label: "Analyse abgeschlossen",
|
||||
label: format(i18n, "KSA.Progress.Completed"),
|
||||
files: fileCount,
|
||||
sources: sourceCount,
|
||||
references: referenceCount,
|
||||
@@ -60,3 +60,7 @@ export async function analyzeStorage({ listFiles, listSources, onProgress }={})
|
||||
async function yieldToUI() {
|
||||
await new Promise(resolve => setTimeout(resolve, 0));
|
||||
}
|
||||
|
||||
function format(i18n, key, data = {}) {
|
||||
return i18n?.format?.(key, data) ?? key;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user