loadContainerLogFileList filter type hint to satisfy type
Arvados-DCO-1.1-Signed-off-by: Stephen Smith <stephen@curii.com>
import { ApiActions } from "services/api/api-actions";
import { WebDAV } from "common/webdav";
import { extractFilesData } from "services/collection-service/collection-service-files-response";
-import { CollectionDirectory, CollectionFile } from "models/collection-file";
+import { CollectionFile } from "models/collection-file";
export type LogFragment = {
logType: LogEventType;
}
}
-export const logFileToLogType = (file: CollectionFile | CollectionDirectory) => (file.name.replace(/\.(txt|json)$/, '') as LogEventType);
+export const logFileToLogType = (file: CollectionFile) => (file.name.replace(/\.(txt|json)$/, '') as LogEventType);
const logCollectionContents = await logService.listLogFiles(containerUuid);
// Filter only root directory files matching log event types which have bytes
- return logCollectionContents.filter((file) => (
+ return logCollectionContents.filter((file): file is CollectionFile => (
+ file.type === CollectionFileType.FILE &&
file.path === `/arvados/v1/container_requests/${containerUuid}/log` &&
PROCESS_PANEL_LOG_EVENT_TYPES.indexOf(logFileToLogType(file)) > -1 &&
- file.type === CollectionFileType.FILE &&
file.size > 0
- )) as CollectionFile[];
+ ));
};
/**