mirror of
https://github.com/morluto/rea
synced 2026-10-28 06:46:47 -04:00
fix(artifacts): preserve owned file failure and cancellation facts
This commit is contained in:
@@ -11,6 +11,7 @@ import { ArtifactResourceScope } from "../artifacts/ArtifactResourceScope.js";
|
||||
import { ArtifactReaderFailure } from "../artifacts/ArtifactReader.js";
|
||||
import {
|
||||
ArtifactFileCleanupFailure,
|
||||
artifactFilePrimaryFailure,
|
||||
ArtifactFileCancelled,
|
||||
bindArtifactFileCleanup,
|
||||
artifactFileCancellationCause,
|
||||
@@ -67,7 +68,6 @@ const OUTPUT_BYTES = 64 * 1024 * 1024;
|
||||
const failureForPrimary = (
|
||||
cause: unknown,
|
||||
path: string,
|
||||
signal?: AbortSignal,
|
||||
field: "path" | "binary_path" = "path",
|
||||
maximum = INPUT_BYTES,
|
||||
): AnalysisError => {
|
||||
@@ -164,23 +164,15 @@ const failureForPrimary = (
|
||||
const failureFor = (
|
||||
cause: unknown,
|
||||
path: string,
|
||||
signal?: AbortSignal,
|
||||
field: "path" | "binary_path" = "path",
|
||||
maximum = INPUT_BYTES,
|
||||
): AnalysisError => {
|
||||
const primary =
|
||||
cause instanceof ArtifactFileCleanupFailure &&
|
||||
cause.fileCleanupFailure.outcome.kind === "failed"
|
||||
? failureForPrimary(
|
||||
cause.fileCleanupFailure.outcome.cause,
|
||||
path,
|
||||
signal,
|
||||
field,
|
||||
maximum,
|
||||
)
|
||||
: cause instanceof ArtifactFileCleanupFailure && signal?.aborted
|
||||
? new AnalysisCancelledError(OPERATION, { cause: signal.reason })
|
||||
: failureForPrimary(cause, path, signal, field, maximum);
|
||||
const primary = failureForPrimary(
|
||||
artifactFilePrimaryFailure(cause),
|
||||
path,
|
||||
field,
|
||||
maximum,
|
||||
);
|
||||
if (
|
||||
cause instanceof ArtifactReaderFailure &&
|
||||
cause.partialObservation !== undefined &&
|
||||
@@ -511,7 +503,6 @@ export class Il2cppMetadataProvider implements Il2cppMetadataPort {
|
||||
const failure = failureFor(
|
||||
cause,
|
||||
binaryPath,
|
||||
options?.signal,
|
||||
"binary_path",
|
||||
BINARY_BYTES,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user