@aglyn/ 共享用户错误
跨Aglyn套件共享出错分类:一个HTTP响应出错,一个上游复仇出错,以及一个用于命名空间,模板化出有稳定代码出错的工厂. 其他Aglyn包的少量依赖性,可以自行使用.
从Aglyn monorepo出版到npm. 随后的版本 语义版本。 。 。 .
安装
npm install @aglyn/shared-util-errors
无对等依存.
里面有什么东西
从包根导出的全部 :
HttpResponseError(code, message)- 一个Error带有 HTTP 状态code(单位:千美元)HttpStatusCode从@aglyn/shared-data-enums) (中文(简体) ).UpstreamServiceError(message, { status, retryable, requestId? })- 对第三方服务的呼吁失败.message是指一种可以安全显示客户的固定句子;销售商自己的措辞不在标的上.retryable说明供应商是否要求晚点回来(费率限制或超载).NsErrorFactory(scope, namespace, templates, nsDelimiter = '/', scopeDelimiter = ':', defaultMessage = 'Error')- 建设NsError从旗帜地图到信件模板.create(flag, payload?)填补{$name}有效载荷的占位符;childFactory(childNamespace, templates?)在一个嵌入式命名空间下产生工厂.NsError- 已经code(单位:千美元)namespace/flag, (中文(简体) ),message财务报告和审定财务报表payload。 。 。 .replaceTemplate(template, payload?, options?)- 那个{$name}占位符替换本身,以及DEFAULT_REPLACER_REGEX。 。 。 .- 类型 :
ErrorPayload, (中文(简体) ),ErrorTagMessages, (中文(简体) ),ErrorTagPayloads, (中文(简体) ),EventFlag。 。 。 .
使用量
import {
NsErrorFactory,
UpstreamServiceError,
} from '@aglyn/shared-util-errors'
const errors = new NsErrorFactory('my-app', 'files', {
'not-found': "Could not find file '{$file}'",
})
try {
throw errors.create('not-found', { file: 'foo.txt' })
} catch (e) {
// e.code === 'files/not-found'; e.payload.file === 'foo.txt'
}
throw new UpstreamServiceError('The provider is busy. Try again shortly.', {
status: 429,
retryable: true,
})
导入时间效应
此软件包导入根 @aglyn/shared-util-tools,该根定义了一组不可假设 $_- 前缀方法 Array.prototype 当它装入。 看那包的README 准确的列表.
怎样才合适
A 类 shared 软件包:通用,对Aglyn的模型一无所知。 共享软件包只能导入其他共享软件包; 此软件包取决于 @aglyn/shared-data-enums 财务报告和审定财务报表 @aglyn/shared-util-tools。 。 。 . @aglyn/shared-util-rest-api 财务报告和审定财务报表 @aglyn/plugins-ai 依赖它.
许可证
阿帕奇2.0 (英语). 资料来源: https://github.com/aglyn/aglyn/tree/main/libs/shared/util/errors 互联网档案馆的存檔,存档日期2013-12-21