Skip to content

@codesoul-co/hypha-core / modules/artifact/manager-error

模块用法

用于规范化、分类或暴露错误契约。Manager error 模块公开 1 类、5 函数。

从包入口导入

ts
import {
  ArtifactManagerError,
  artifactManagerError,
  normalizedArtifactErrorCode,
  validateArtifactManagerInput,
  validateArtifactRepositoryOutput,
  validateArtifactStoreOutput,
} from '@codesoul-co/hypha-core';

使用要点

  • 1 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。
  • 5 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
ArtifactManagerErrornew ArtifactManagerError(normalizedError: NormalizedArtifactError): ArtifactManagerErrorArtifact Manager Error 类,共公开 9 个构造函数或成员;精确签名见本条目的声明与成员表。
artifactManagerError函数artifactManagerError(code: NormalizedArtifactError["code"], message: string, retryable?: boolean, details?: Record<string, unknown>): ArtifactManagerErrorArtifact Manager Error 函数,提供 1 个公开调用签名;参数与返回类型见下表。
normalizedArtifactErrorCode函数normalizedArtifactErrorCode(error: unknown): NormalizedArtifactError["code"] | undefinedNormalized Artifact Error Code 函数,提供 1 个公开调用签名;参数与返回类型见下表。
validateArtifactManagerInput函数validateArtifactManagerInput<T>(validate: () => T): TValidate Artifact Manager Input 函数,提供 1 个公开调用签名;参数与返回类型见下表。
validateArtifactRepositoryOutput函数validateArtifactRepositoryOutput<T>(validate: () => T): TValidate Artifact Repository Output 函数,提供 1 个公开调用签名;参数与返回类型见下表。
validateArtifactStoreOutput函数validateArtifactStoreOutput<T>(validate: () => T): TValidate Artifact Store Output 函数,提供 1 个公开调用签名;参数与返回类型见下表。

ArtifactManagerError

Artifact Manager Error 类,共公开 9 个构造函数或成员;精确签名见本条目的声明与成员表。

声明

text
export declare class ArtifactManagerError extends Error {
    readonly normalizedError: NormalizedArtifactError;
    constructor(normalizedError: NormalizedArtifactError);
}

公开成员

成员种类签名说明
cause属性cause?: unknown公开属性;类型、只读和可选状态以签名列为准。
constructor构造函数(normalizedError: NormalizedArtifactError): ArtifactManagerError创建该类的实例。
message属性message: string公开属性;类型、只读和可选状态以签名列为准。
name属性name: string公开属性;类型、只读和可选状态以签名列为准。
normalizedError属性readonly normalizedError: NormalizedArtifactError公开属性;类型、只读和可选状态以签名列为准。
stack属性stack?: string公开属性;类型、只读和可选状态以签名列为准。
static captureStackTrace方法static captureStackTrace(targetObject: object, constructorOpt?: Function): voidCreates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called. js const myObject = {}; Error.captureStackTrace(myObject); myObject.stack; // Similar to `new Error().stack` The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}. The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace. The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance: js function a() { b(); } function b() { c(); } function c() { // Create an error without stack trace to avoid calculating the stack trace twice. const { stackTraceLimit } = Error; Error.stackTraceLimit = 0; const error = new Error(); Error.stackTraceLimit = stackTraceLimit; // Capture the stack trace above function b Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace throw error; } a();
static prepareStackTrace方法static prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any公开方法;参数与返回类型以签名列为准。
static stackTraceLimit属性static stackTraceLimit: numberThe Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)). The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

artifactManagerError

Artifact Manager Error 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function artifactManagerError(code: NormalizedArtifactError['code'], message: string, retryable?: boolean, details?: Record<string, unknown>): ArtifactManagerError;

调用签名

text
artifactManagerError(code: NormalizedArtifactError["code"], message: string, retryable?: boolean, details?: Record<string, unknown>): ArtifactManagerError

参数

参数类型必需说明
code"ARTIFACT_INVALID_INPUT" | "ARTIFACT_NOT_FOUND" | "ARTIFACT_PERMISSION_DENIED" | "ARTIFACT_TOO_LARGE" | "ARTIFACT_TYPE_DENIED" | "ARTIFACT_HASH_MISMATCH" | "ARTIFACT_VERSION_CONFLICT" | "ARTIFACT_STORE_UNAVAILABLE" | "ARTIFACT_UPLOAD_FAILED" | "ARTIFACT_DOWNLOAD_FAILED" | "ARTIFACT_DELETE_BLOCKED" | "ARTIFACT_DELETE_PARTIAL" | "ARTIFACT_VALIDATION_FAILED" | "ARTIFACT_INTERNAL_ERROR"必需参数;接受的值由类型列定义。
messagestring必需参数;接受的值由类型列定义。
retryableboolean可选参数;接受的值由类型列定义。
detailsRecord<string, unknown>可选参数;接受的值由类型列定义。

返回值

  • 类型: ArtifactManagerError
  • 说明: 返回值契约由上述类型定义。

normalizedArtifactErrorCode

Normalized Artifact Error Code 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function normalizedArtifactErrorCode(error: unknown): NormalizedArtifactError['code'] | undefined;

调用签名

text
normalizedArtifactErrorCode(error: unknown): NormalizedArtifactError["code"] | undefined

参数

参数类型必需说明
errorunknown必需参数;接受的值由类型列定义。

返回值

  • 类型: "ARTIFACT_INVALID_INPUT" | "ARTIFACT_NOT_FOUND" | "ARTIFACT_PERMISSION_DENIED" | "ARTIFACT_TOO_LARGE" | "ARTIFACT_TYPE_DENIED" | "ARTIFACT_HASH_MISMATCH" | "ARTIFACT_VERSION_CONFLICT" | "ARTIFACT_STORE_UNAVAILABLE" | "ARTIFACT_UPLOAD_FAILED" | "ARTIFACT_DOWNLOAD_FAILED" | "ARTIFACT_DELETE_BLOCKED" | "ARTIFACT_DELETE_PARTIAL" | "ARTIFACT_VALIDATION_FAILED" | "ARTIFACT_INTERNAL_ERROR"
  • 说明: 返回值契约由上述类型定义。

validateArtifactManagerInput

Validate Artifact Manager Input 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function validateArtifactManagerInput<T>(validate: () => T): T;

调用签名

text
validateArtifactManagerInput<T>(validate: () => T): T

参数

参数类型必需说明
validate() => T必需参数;接受的值由类型列定义。

返回值

  • 类型: T
  • 说明: 返回值契约由上述类型定义。

validateArtifactRepositoryOutput

Validate Artifact Repository Output 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function validateArtifactRepositoryOutput<T>(validate: () => T): T;

调用签名

text
validateArtifactRepositoryOutput<T>(validate: () => T): T

参数

参数类型必需说明
validate() => T必需参数;接受的值由类型列定义。

返回值

  • 类型: T
  • 说明: 返回值契约由上述类型定义。

validateArtifactStoreOutput

Validate Artifact Store Output 函数,提供 1 个公开调用签名;参数与返回类型见下表。

声明

text
export declare function validateArtifactStoreOutput<T>(validate: () => T): T;

调用签名

text
validateArtifactStoreOutput<T>(validate: () => T): T

参数

参数类型必需说明
validate() => T必需参数;接受的值由类型列定义。

返回值

  • 类型: T
  • 说明: 返回值契约由上述类型定义。