@devp0nt/error0 1.0.0-next.4 → 1.0.0-next.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +379 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +177 -415
- package/dist/esm/index.d.ts +177 -415
- package/dist/esm/index.js +301 -347
- package/dist/esm/index.js.map +1 -1
- package/package.json +45 -22
- package/src/index.test.ts +315 -478
- package/src/index.ts +637 -506
- package/dist/cjs/index.js +0 -435
- package/dist/cjs/index.js.map +0 -1
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { Meta0 } from '@devp0nt/meta0'\nimport { type AxiosError, HttpStatusCode, isAxiosError } from 'axios'\nimport get from 'lodash/get.js'\nimport { ZodError } from 'zod'\n\n// TODO: В эррор0 добавить ориджинал\n// TODO: store tags as array from all causes\n// TODO: not use self stack if toError0\n// TODO: fix default message in extended error0, should be used in constuctor of Error0\n// TODO: remove defaults prop from getPropsFromUnknown\n// TODO: code has enum type, fn to check if code exists\n\nexport interface Error0Input {\n message?: string\n tag?: string\n code?: string\n httpStatus?: HttpStatusCode | HttpStatusCodeString\n expected?: boolean | ExpectedFn\n clientMessage?: string\n cause?: Error0Cause\n stack?: string\n meta?: Meta0.Meta0OrValueTypeNullish\n zodError?: ZodError\n axiosError?: AxiosError\n}\n\ninterface Error0GeneralProps {\n message: Error0Input['message']\n tag: Error0Input['tag']\n code: Error0Input['code']\n httpStatus: number | undefined\n expected: boolean | undefined\n clientMessage: Error0Input['clientMessage']\n anyMessage: string | undefined\n cause: Error0Input['cause']\n stack: Error['stack']\n meta: Meta0.ValueType\n zodError?: ZodError\n axiosError?: AxiosError\n}\n\ntype HttpStatusCodeString = keyof typeof HttpStatusCode\ntype Error0Cause = Error | Error0 | unknown\ntype ExpectedFn = (error: Error0GeneralProps) => boolean | undefined\n\nconst isFilled = <T>(value: T): value is NonNullable<T> => value !== null && value !== undefined && value !== ''\n\nexport class Error0 extends Error {\n public readonly __I_AM_ERROR_0: true = true\n\n public readonly tag?: Error0GeneralProps['tag']\n public readonly code?: Error0GeneralProps['code']\n public readonly httpStatus?: Error0GeneralProps['httpStatus']\n public readonly expected?: Error0GeneralProps['expected']\n public readonly clientMessage?: Error0GeneralProps['clientMessage']\n public readonly anyMessage?: Error0GeneralProps['anyMessage']\n public override readonly cause?: Error0GeneralProps['cause']\n public readonly meta?: Meta0.Meta0OrValueTypeNullish\n public readonly zodError?: Error0GeneralProps['zodError']\n public readonly axiosError?: Error0GeneralProps['axiosError']\n\n static defaultMessage = 'Unknown error'\n static defaultCode?: Error0GeneralProps['code']\n static defaultHttpStatus?: Error0GeneralProps['httpStatus']\n static defaultExpected?: Error0GeneralProps['expected']\n static defaultClientMessage?: Error0GeneralProps['clientMessage']\n static defaultMeta?: Meta0.Meta0OrValueTypeNullish\n\n public readonly propsOriginal: Error0GeneralProps\n\n constructor(message: string)\n constructor(input: Error0Input)\n constructor(message: string, input: Error0Input)\n constructor(error: Error)\n constructor(error: Error, input: Error0Input)\n constructor(value: unknown)\n constructor(value: unknown, input: Error0Input)\n constructor(...args: unknown[]) {\n const input: Partial<Error0Input> = {}\n if (args[0] instanceof Error) {\n input.cause = args[0]\n } else if (typeof args[0] === 'object' && args[0] !== null) {\n Object.assign(input, args[0])\n } else if (typeof args[0] === 'string') {\n input.message = args[0]\n }\n if (typeof args[1] === 'object' && args[1] !== null) {\n Object.assign(input, args[1])\n }\n const safeInput = Error0._safeParseInput(input)\n\n const message = safeInput.message || Error0.defaultMessage\n super(message)\n Object.setPrototypeOf(this, (this.constructor as typeof Error0).prototype)\n this.name = 'Error0'\n\n this.propsOriginal = (this.constructor as typeof Error0)._getSelfGeneralProps({\n error0Input: safeInput,\n message,\n stack: safeInput.stack || this.stack,\n })\n const causesProps = (this.constructor as typeof Error0)._getCausesPropsFromError0Props(\n this.propsOriginal,\n (this.constructor as typeof Error0).defaultMaxLevel,\n )\n const propsFloated = (this.constructor as typeof Error0)._getSelfPropsFloated(causesProps)\n this.tag = propsFloated.tag\n this.code = propsFloated.code\n this.httpStatus = propsFloated.httpStatus\n this.expected = propsFloated.expected\n this.clientMessage = propsFloated.clientMessage\n this.cause = propsFloated.cause\n this.stack = propsFloated.stack\n this.meta = propsFloated.meta\n this.zodError = propsFloated.zodError\n this.axiosError = propsFloated.axiosError\n }\n\n // settings\n\n static defaultMaxLevel = 10\n\n // props\n\n public static _safeParseInput(error0Input: Record<string, unknown>): Error0Input {\n const result: Error0Input = {}\n result.message = typeof error0Input.message === 'string' ? error0Input.message : undefined\n result.tag = typeof error0Input.tag === 'string' ? error0Input.tag : undefined\n result.code = typeof error0Input.code === 'string' ? error0Input.code : undefined\n result.httpStatus =\n typeof error0Input.httpStatus === 'number' || typeof error0Input.httpStatus === 'string'\n ? (error0Input.httpStatus as never)\n : undefined\n result.expected =\n typeof error0Input.expected === 'function' || typeof error0Input.expected === 'boolean'\n ? (error0Input.expected as never)\n : undefined\n result.clientMessage = typeof error0Input.clientMessage === 'string' ? error0Input.clientMessage : undefined\n result.cause = error0Input.cause\n result.stack = typeof error0Input.stack === 'string' ? error0Input.stack : undefined\n // result.meta0 =\n // error0Input.meta0 instanceof Meta0 ? error0Input.meta0 : undefined\n // result.meta =\n // typeof error0Input.meta === \"object\" && error0Input.meta !== null\n // ? error0Input.meta\n // : undefined\n result.meta =\n error0Input.meta instanceof Meta0\n ? error0Input.meta\n : typeof error0Input.meta === 'object' && error0Input.meta !== null\n ? (error0Input.meta as Meta0.ValueType)\n : undefined\n result.zodError = error0Input.zodError instanceof ZodError ? error0Input.zodError : undefined\n result.axiosError = isAxiosError(error0Input.axiosError) ? error0Input.axiosError : undefined\n return result\n }\n\n public static _getSelfGeneralProps({\n error0Input,\n message,\n stack,\n }: {\n error0Input: Error0Input\n message: string\n stack: Error0GeneralProps['stack']\n }): Error0GeneralProps {\n // const meta = Meta0.merge(error0Input.meta0, error0Input.meta).value\n const meta0 = Meta0.extend(error0Input.meta, this.defaultMeta)\n const meta = meta0.getValue()\n const finalTag = meta0.getFinalTag(error0Input.tag)\n const clientMessage = error0Input.clientMessage || this.defaultClientMessage\n const result: Error0GeneralProps = {\n message: error0Input.message || this.defaultMessage,\n tag: finalTag,\n code: error0Input.code || meta.code || this.defaultCode,\n httpStatus:\n typeof error0Input.httpStatus === 'number'\n ? error0Input.httpStatus\n : error0Input.httpStatus &&\n typeof error0Input.httpStatus === 'string' &&\n error0Input.httpStatus in HttpStatusCode\n ? HttpStatusCode[error0Input.httpStatus]\n : meta.httpStatus || this.defaultHttpStatus,\n expected: undefined,\n clientMessage,\n anyMessage: clientMessage || message,\n cause: error0Input.cause,\n stack: undefined,\n meta,\n zodError: error0Input.zodError,\n axiosError: error0Input.axiosError,\n }\n result.expected = this._normalizeSelfExpected(\n result,\n typeof error0Input.expected === 'boolean' || typeof error0Input.expected === 'function'\n ? error0Input.expected\n : meta.expected || this.defaultExpected,\n )\n result.stack = this._removeConstructorStackPart(stack)\n return result\n }\n\n public static _getSelfPropsFloated(causesProps: Error0GeneralProps[]): Error0GeneralProps {\n const cause = this._getClosestPropValue(causesProps, 'cause')\n const stack = this._mergeStack(causesProps[1]?.stack, causesProps[0]?.stack)\n const closestTag = this._getClosestPropValue(causesProps, 'tag')\n const meta = this._getMergedMetaValue(causesProps)\n const tag = Meta0.getFinalTag(meta, closestTag)\n const propsFloated: Error0GeneralProps = {\n message: this._getClosestPropValue(causesProps, 'message'),\n tag,\n code: this._getClosestPropValue(causesProps, 'code'),\n httpStatus: this._getClosestPropValue(causesProps, 'httpStatus'),\n expected: this._isExpected(causesProps),\n clientMessage: this._getClosestPropValue(causesProps, 'clientMessage'),\n cause,\n stack,\n anyMessage: causesProps[0].anyMessage,\n meta,\n zodError: this._getClosestPropValue(causesProps, 'zodError'),\n axiosError: this._getClosestPropValue(causesProps, 'axiosError'),\n }\n return propsFloated\n }\n\n // sepcial\n\n public static _getExtraError0PropsByZodError(zodError: ZodError): Partial<Error0GeneralProps> {\n return {\n message: `Zod Validation Error: ${zodError.message}`,\n }\n }\n\n public static _getExtraError0PropsByAxiosError(axiosError: AxiosError): Partial<Error0GeneralProps> {\n return {\n message: 'Axios Error',\n meta: {\n axiosData: (() => {\n try {\n return JSON.stringify(axiosError.response?.data)\n } catch {\n return undefined\n }\n })(),\n axiosStatus: axiosError.response?.status,\n },\n }\n }\n\n public static _assignError0Props(\n error0Props: Error0GeneralProps,\n extraError0Props: Partial<Error0GeneralProps>,\n ): void {\n const metaValue = Meta0.mergeValues(error0Props.meta, extraError0Props.meta)\n Object.assign(error0Props, extraError0Props, { meta: metaValue })\n }\n\n // expected\n\n public static _normalizeSelfExpected(\n error0Props: Error0GeneralProps,\n expectedProvided: Error0Input['expected'],\n ): boolean | undefined {\n if (typeof expectedProvided === 'function') {\n return expectedProvided(error0Props)\n }\n return expectedProvided\n }\n\n public static _isExpected(causesProps: Error0GeneralProps[]): boolean {\n let hasExpectedTrue = false\n for (const causeProps of causesProps) {\n if (causeProps.expected === false) {\n return false\n }\n if (causeProps.expected === true) {\n hasExpectedTrue = true\n }\n }\n return hasExpectedTrue\n }\n\n // getters\n\n public static _getPropsFromUnknown(error: unknown, defaults?: Error0Input): Error0GeneralProps {\n if (typeof error !== 'object' || error === null) {\n return {\n message: undefined,\n tag: undefined,\n code: undefined,\n httpStatus: undefined,\n expected: undefined,\n clientMessage: undefined,\n anyMessage: this.defaultMessage,\n cause: undefined,\n stack: undefined,\n zodError: undefined,\n axiosError: undefined,\n meta: {},\n }\n }\n const message = 'message' in error && typeof error.message === 'string' ? error.message : undefined\n const clientMessage =\n 'clientMessage' in error && typeof error.clientMessage === 'string'\n ? error.clientMessage\n : defaults?.clientMessage || undefined\n const result: Error0GeneralProps = {\n message,\n code: 'code' in error && typeof error.code === 'string' ? error.code : defaults?.code || undefined,\n clientMessage,\n anyMessage: clientMessage || message || this.defaultMessage,\n expected: undefined,\n stack: 'stack' in error && typeof error.stack === 'string' ? error.stack : undefined,\n tag: 'tag' in error && typeof error.tag === 'string' ? error.tag : defaults?.tag || undefined,\n cause: 'cause' in error ? error.cause : defaults?.cause || undefined,\n meta:\n 'meta' in error && typeof error.meta === 'object' && error.meta !== null\n ? Meta0.getValue(error.meta as Meta0.ValueType)\n : Meta0.getValue(defaults?.meta) || {},\n httpStatus:\n 'httpStatus' in error && typeof error.httpStatus === 'number' && error.httpStatus in HttpStatusCode\n ? error.httpStatus\n : typeof defaults?.httpStatus === 'string'\n ? HttpStatusCode[defaults.httpStatus]\n : defaults?.httpStatus,\n zodError:\n 'zodError' in error && error.zodError instanceof ZodError\n ? error.zodError\n : error instanceof ZodError\n ? error\n : defaults?.zodError,\n axiosError:\n 'axiosError' in error && isAxiosError(error.axiosError)\n ? error.axiosError\n : isAxiosError(error)\n ? error\n : defaults?.axiosError,\n }\n result.expected = this._normalizeSelfExpected(\n result,\n 'expected' in error && (typeof error.expected === 'boolean' || typeof error.expected === 'function')\n ? (error.expected as ExpectedFn)\n : defaults?.expected || undefined,\n )\n if (result.zodError) {\n this._assignError0Props(result, this._getExtraError0PropsByZodError(result.zodError))\n }\n if (result.axiosError) {\n this._assignError0Props(result, this._getExtraError0PropsByAxiosError(result.axiosError))\n }\n return result\n }\n\n public static _getCausesPropsFromUnknown(error: unknown, maxLevel: number): Error0GeneralProps[] {\n if (!error) {\n return []\n }\n const causeProps = this._getPropsFromUnknown(error)\n const causesProps: Error0GeneralProps[] = [causeProps]\n if (!causeProps.cause) {\n return causesProps\n }\n if (maxLevel > 0) {\n causesProps.push(...this._getCausesPropsFromUnknown(this._getPropsFromUnknown(causeProps.cause), maxLevel - 1))\n }\n return causesProps\n }\n\n public static _getCausesPropsFromError0Props(\n error0Props: Error0GeneralProps,\n maxLevel: number,\n ): Error0GeneralProps[] {\n return [error0Props, ...this._getCausesPropsFromUnknown(error0Props.cause, maxLevel - 1)]\n }\n\n public static _getClosestPropValue<TPropKey extends keyof Error0GeneralProps>(\n causesProps: Error0GeneralProps[],\n propKey: TPropKey,\n ): NonNullable<Error0GeneralProps[TPropKey]> | undefined {\n for (const causeProps of causesProps) {\n const propValue = causeProps[propKey]\n if (isFilled(propValue)) {\n return propValue as NonNullable<Error0GeneralProps[TPropKey]>\n }\n }\n return undefined\n }\n\n // private static getClosestByGetter<TResult>(\n // causesProps: Error0GeneralProps[],\n // getter: (props: Error0GeneralProps) => TResult,\n // ): NonNullable<TResult> | undefined {\n // for (const causeProps of causesProps) {\n // const result = getter(causeProps)\n // if (isFilled(result)) {\n // return result\n // }\n // }\n // return undefined\n // }\n\n public static _getFilledPropValues<TPropKey extends keyof Error0Input>(\n causesProps: Error0GeneralProps[],\n propKey: TPropKey,\n ): NonNullable<Error0GeneralProps[TPropKey]>[] {\n const values: NonNullable<Error0GeneralProps[TPropKey]>[] = []\n for (const causeProps of causesProps) {\n const propValue = causeProps[propKey]\n if (isFilled(propValue)) {\n values.push(propValue as NonNullable<Error0GeneralProps[TPropKey]>)\n }\n }\n return values\n }\n\n public static _getMergedMetaValue(causesProps: Error0GeneralProps[]): Meta0.ValueType {\n const metas = this._getFilledPropValues(causesProps, 'meta')\n if (metas.length === 0) {\n return {}\n } else if (metas.length === 1) {\n return metas[0]\n } else {\n return Meta0.mergeValues(metas[0], ...metas.slice(1))\n }\n }\n\n // stack\n\n public static _removeConstructorStackPart(stack: Error0GeneralProps['stack']): Error0GeneralProps['stack'] {\n if (!stack) {\n return stack\n }\n let lines = stack.split('\\n')\n const removeAllLinesContains = (search: string) => {\n lines = lines.filter((line) => !line.includes(search))\n }\n removeAllLinesContains('at new Error0')\n removeAllLinesContains('at _toError0')\n removeAllLinesContains('at Error0.from')\n removeAllLinesContains('at Error0._toError0')\n return lines.join('\\n')\n }\n\n public static _mergeStack(\n prevStack: Error0GeneralProps['stack'],\n nextStack: Error0GeneralProps['stack'],\n ): Error0GeneralProps['stack'] {\n return [nextStack, prevStack].filter(Boolean).join('\\n\\n') || undefined\n }\n\n // transformations\n\n static isError0(error: unknown): error is Error0 {\n return error instanceof Error0\n }\n\n static isLikelyError0(error: unknown): error is Error0 {\n if (error instanceof Error0) {\n return true\n }\n\n if (typeof error === 'object' && error !== null) {\n if ('__I_AM_ERROR_0' in error && error.__I_AM_ERROR_0 === true) {\n return true\n }\n }\n\n return false\n }\n\n public static _toError0(error: unknown, inputOverride: Error0Input = {}): Error0 {\n if (error instanceof Error0) {\n return error\n }\n\n if (typeof error === 'string') {\n return new Error0(error, inputOverride)\n }\n\n if (typeof error !== 'object' || error === null) {\n return new Error0({\n message: this.defaultMessage,\n ...inputOverride,\n })\n }\n\n const inputFromData = get(error, 'data')\n if (inputFromData) {\n if (Error0.isLikelyError0(inputFromData)) {\n return this._toError0(inputFromData, inputOverride)\n }\n }\n\n const inputFromDataError0 = get(error, 'data.error0')\n if (inputFromDataError0) {\n if (Error0.isLikelyError0(inputFromDataError0)) {\n return this._toError0(inputFromDataError0, inputOverride)\n }\n }\n\n return new Error0(this._getPropsFromUnknown(error, inputOverride))\n }\n\n static from(error: unknown, inputOverride?: Error0Input): Error0 {\n return this._toError0(error, inputOverride)\n }\n\n static extend(props: {\n defaultMessage?: Error0GeneralProps['message']\n defaultCode?: Error0GeneralProps['code']\n defaultHttpStatus?: Error0GeneralProps['httpStatus']\n defaultExpected?: Error0GeneralProps['expected']\n defaultClientMessage?: Error0GeneralProps['clientMessage']\n defaultMeta?: Meta0.Meta0OrValueTypeNullish\n }) {\n const parent = this\n return class Error0 extends parent {\n static override defaultMessage = props.defaultMessage ?? parent.defaultMessage\n static override defaultCode = props.defaultCode ?? parent.defaultCode\n static override defaultHttpStatus = props.defaultHttpStatus ?? parent.defaultHttpStatus\n static override defaultExpected = props.defaultExpected ?? parent.defaultExpected\n static override defaultClientMessage = props.defaultClientMessage ?? parent.defaultClientMessage\n static override defaultMeta = Meta0.extend(props.defaultMeta, parent.defaultMeta)\n }\n }\n\n static extendCollection<T extends Record<string, typeof Error0>>(\n classes: T,\n props: {\n defaultMessage?: Error0GeneralProps['message']\n defaultCode?: Error0GeneralProps['code']\n defaultHttpStatus?: Error0GeneralProps['httpStatus']\n defaultExpected?: Error0GeneralProps['expected']\n defaultClientMessage?: Error0GeneralProps['clientMessage']\n defaultMeta?: Meta0.Meta0OrValueTypeNullish\n },\n ): T {\n return Object.fromEntries(Object.entries(classes).map(([name, Class]) => [name, Class.extend(props)])) as T\n }\n\n toJSON() {\n return {\n message: this.message,\n tag: this.tag,\n code: this.code,\n httpStatus: this.httpStatus,\n expected: this.expected,\n clientMessage: this.clientMessage,\n anyMessage: this.anyMessage,\n cause: this.cause,\n meta: Meta0.getValue(this.meta),\n stack: this.stack,\n __I_AM_ERROR_0: this.__I_AM_ERROR_0,\n }\n }\n static toJSON(error: unknown, inputOverride?: Error0Input) {\n const error0 = this.from(error, inputOverride)\n return error0.toJSON()\n }\n\n toResponse(data?: Record<string, unknown>) {\n return Response.json(\n {\n ...this.toJSON(),\n ...data,\n },\n {\n status: this.httpStatus,\n statusText: this.message,\n },\n )\n }\n}\n\nexport namespace Error0 {\n export type JSON = ReturnType<Error0['toJSON']>\n export type Collection = Record<string, typeof Error0>\n}\n\nexport const e0s = {\n Default: Error0,\n Expected: Error0.extend({\n defaultExpected: true,\n }) as typeof Error0,\n} satisfies Error0.Collection\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export type ErrorExtensionPropOptions<TInputValue, TOutputValue, TError extends Error0 = Error0> = {\n input: (value: TInputValue) => TOutputValue\n output: (error: TError) => TOutputValue\n serialize: (value: TOutputValue, error: TError, isPublic: boolean) => unknown\n}\nexport type ErrorExtensionCopmputedFn<TOutputValue, TError extends Error0 = Error0> = (error: TError) => TOutputValue\nexport type ErrorExtensionMethodFn<\n TOutputValue,\n TArgs extends unknown[] = unknown[],\n TError extends Error0 = Error0,\n> = (error: TError, ...args: TArgs) => TOutputValue\nexport type ErrorExtensionRefineResult<TOutputProps extends Record<string, unknown>> = Partial<TOutputProps> | undefined\nexport type ErrorExtensionRefineFn<\n TError extends Error0 = Error0,\n TOutputProps extends Record<string, unknown> = Record<never, never>,\n> = ((error: TError) => void) | ((error: TError) => ErrorExtensionRefineResult<TOutputProps>)\ntype ErrorMethodRecord = {\n args: unknown[]\n output: unknown\n}\n\nexport type ErrorExtensionProps = { [key: string]: ErrorExtensionPropOptions<any, any> }\nexport type ErrorExtensionComputed = { [key: string]: ErrorExtensionCopmputedFn<any> }\nexport type ErrorExtensionMethods = { [key: string]: ErrorExtensionMethodFn<any, any[]> }\n\nexport type ErrorExtension<\n TProps extends ErrorExtensionProps = Record<never, never>,\n TComputed extends ErrorExtensionComputed = Record<never, never>,\n TMethods extends ErrorExtensionMethods = Record<never, never>,\n> = {\n props?: TProps\n computed?: TComputed\n methods?: TMethods\n refine?: Array<ErrorExtensionRefineFn<Error0, ExtensionOutputProps<TProps>>>\n}\ntype AddPropToExtensionProps<\n TProps extends ErrorExtensionProps,\n TKey extends string,\n TInputValue,\n TOutputValue,\n> = TProps & Record<TKey, ErrorExtensionPropOptions<TInputValue, TOutputValue>>\ntype AddComputedToExtensionComputed<\n TComputed extends ErrorExtensionComputed,\n TKey extends string,\n TOutputValue,\n> = TComputed & Record<TKey, ErrorExtensionCopmputedFn<TOutputValue>>\ntype AddMethodToExtensionMethods<\n TMethods extends ErrorExtensionMethods,\n TKey extends string,\n TArgs extends unknown[],\n TOutputValue,\n> = TMethods & Record<TKey, ErrorExtensionMethodFn<TOutputValue, TArgs>>\ntype ExtensionOutputProps<TProps extends ErrorExtensionProps> = {\n [TKey in keyof TProps]: TProps[TKey] extends ErrorExtensionPropOptions<any, infer TOutputValue> ? TOutputValue : never\n}\nexport type ErrorExtensionsMap = {\n props: Record<string, { input: unknown; output: unknown }>\n computed: Record<string, unknown>\n methods: Record<string, ErrorMethodRecord>\n}\nexport type IsEmptyObject<T> = keyof T extends never ? true : false\nexport type ErrorInputBase = {\n cause?: unknown\n}\nexport type ErrorInput<TExtensionsMap extends ErrorExtensionsMap> =\n IsEmptyObject<TExtensionsMap['props']> extends true\n ? ErrorInputBase\n : ErrorInputBase &\n Partial<{\n [TKey in keyof TExtensionsMap['props']]: TExtensionsMap['props'][TKey]['input']\n }>\n\ntype ErrorOutputProps<TExtensionsMap extends ErrorExtensionsMap> = {\n [TKey in keyof TExtensionsMap['props']]: TExtensionsMap['props'][TKey]['output']\n}\ntype ErrorOutputComputed<TExtensionsMap extends ErrorExtensionsMap> = {\n [TKey in keyof TExtensionsMap['computed']]: TExtensionsMap['computed'][TKey]\n}\ntype ErrorOutputMethods<TExtensionsMap extends ErrorExtensionsMap> = {\n [TKey in keyof TExtensionsMap['methods']]: TExtensionsMap['methods'][TKey] extends {\n args: infer TArgs extends unknown[]\n output: infer TOutput\n }\n ? (...args: TArgs) => TOutput\n : never\n}\nexport type ErrorOutput<TExtensionsMap extends ErrorExtensionsMap> = ErrorOutputProps<TExtensionsMap> &\n ErrorOutputComputed<TExtensionsMap> &\n ErrorOutputMethods<TExtensionsMap>\n\ntype ErrorStaticMethods<TExtensionsMap extends ErrorExtensionsMap> = {\n [TKey in keyof TExtensionsMap['methods']]: TExtensionsMap['methods'][TKey] extends {\n args: infer TArgs extends unknown[]\n output: infer TOutput\n }\n ? (error: unknown, ...args: TArgs) => TOutput\n : never\n}\n\ntype EmptyExtensionsMap = {\n props: Record<never, { input: never; output: never }>\n computed: Record<never, never>\n methods: Record<never, ErrorMethodRecord>\n}\n\ntype ErrorExtensionResolved = {\n props: Record<string, ErrorExtensionPropOptions<unknown, unknown>>\n computed: Record<string, ErrorExtensionCopmputedFn<unknown>>\n methods: Record<string, ErrorExtensionMethodFn<unknown>>\n refine: Array<ErrorExtensionRefineFn<Error0, Record<string, unknown>>>\n}\n\ntype ExtensionPropsMapOf<TExtension extends ErrorExtension> = {\n [TKey in keyof NonNullable<TExtension['props']>]: NonNullable<\n TExtension['props']\n >[TKey] extends ErrorExtensionPropOptions<infer TInputValue, infer TOutputValue>\n ? { input: TInputValue; output: TOutputValue }\n : never\n}\ntype ExtensionComputedMapOf<TExtension extends ErrorExtension> = {\n [TKey in keyof NonNullable<TExtension['computed']>]: NonNullable<\n TExtension['computed']\n >[TKey] extends ErrorExtensionCopmputedFn<infer TOutputValue>\n ? TOutputValue\n : never\n}\ntype ExtensionMethodsMapOf<TExtension extends ErrorExtension> = {\n [TKey in keyof NonNullable<TExtension['methods']>]: NonNullable<TExtension['methods']>[TKey] extends (\n error: Error0,\n ...args: infer TArgs extends unknown[]\n ) => infer TOutput\n ? { args: TArgs; output: TOutput }\n : never\n}\ntype ErrorExtensionsMapOfExtension<TExtension extends ErrorExtension> = {\n props: ExtensionPropsMapOf<TExtension>\n computed: ExtensionComputedMapOf<TExtension>\n methods: ExtensionMethodsMapOf<TExtension>\n}\ntype ExtendErrorExtensionsMap<TMap extends ErrorExtensionsMap, TExtension extends ErrorExtension> = {\n props: TMap['props'] & ErrorExtensionsMapOfExtension<TExtension>['props']\n computed: TMap['computed'] & ErrorExtensionsMapOfExtension<TExtension>['computed']\n methods: TMap['methods'] & ErrorExtensionsMapOfExtension<TExtension>['methods']\n}\ntype ExtendErrorExtensionsMapWithProp<\n TMap extends ErrorExtensionsMap,\n TKey extends string,\n TInputValue,\n TOutputValue,\n> = ExtendErrorExtensionsMap<TMap, ErrorExtension<Record<TKey, ErrorExtensionPropOptions<TInputValue, TOutputValue>>>>\ntype ExtendErrorExtensionsMapWithComputed<\n TMap extends ErrorExtensionsMap,\n TKey extends string,\n TOutputValue,\n> = ExtendErrorExtensionsMap<\n TMap,\n ErrorExtension<Record<never, never>, Record<TKey, ErrorExtensionCopmputedFn<TOutputValue>>>\n>\ntype ExtendErrorExtensionsMapWithMethod<\n TMap extends ErrorExtensionsMap,\n TKey extends string,\n TArgs extends unknown[],\n TOutputValue,\n> = ExtendErrorExtensionsMap<\n TMap,\n ErrorExtension<Record<never, never>, Record<never, never>, Record<TKey, ErrorExtensionMethodFn<TOutputValue, TArgs>>>\n>\n\ntype ExtensionsMapOf<TClass> = TClass extends { __extensionsMap?: infer TExtensionsMap }\n ? TExtensionsMap extends ErrorExtensionsMap\n ? TExtensionsMap\n : EmptyExtensionsMap\n : EmptyExtensionsMap\n\ntype ExtensionsMapFromParts<\n TProps extends ErrorExtensionProps,\n TComputed extends ErrorExtensionComputed,\n TMethods extends ErrorExtensionMethods,\n> = ErrorExtensionsMapOfExtension<ErrorExtension<TProps, TComputed, TMethods>>\ntype ErrorInstanceOfMap<TMap extends ErrorExtensionsMap> = Error0 & ErrorOutput<TMap>\ntype BuilderError0<\n TProps extends ErrorExtensionProps,\n TComputed extends ErrorExtensionComputed,\n TMethods extends ErrorExtensionMethods,\n> = Error0 & ErrorOutput<ExtensionsMapFromParts<TProps, TComputed, TMethods>>\n\ntype ExtensionOfBuilder<TBuilder> =\n TBuilder extends ExtensionError0<infer TProps, infer TComputed, infer TMethods>\n ? ErrorExtension<TProps, TComputed, TMethods>\n : never\n\nexport type ErrorFlowPolicy = 'instance' | 'error0' | 'likeError0' | 'all'\n\nexport class ExtensionError0<\n TProps extends ErrorExtensionProps = Record<never, never>,\n TComputed extends ErrorExtensionComputed = Record<never, never>,\n TMethods extends ErrorExtensionMethods = Record<never, never>,\n> {\n private readonly _extension: ErrorExtension<ErrorExtensionProps, ErrorExtensionComputed, ErrorExtensionMethods>\n\n readonly Infer = undefined as unknown as {\n props: TProps\n computed: TComputed\n methods: TMethods\n }\n\n constructor(extension?: ErrorExtension<ErrorExtensionProps, ErrorExtensionComputed, ErrorExtensionMethods>) {\n this._extension = {\n props: { ...(extension?.props ?? {}) },\n computed: { ...(extension?.computed ?? {}) },\n methods: { ...(extension?.methods ?? {}) },\n refine: [...(extension?.refine ?? [])],\n }\n }\n\n prop<TKey extends string, TInputValue, TOutputValue>(\n key: TKey,\n value: ErrorExtensionPropOptions<TInputValue, TOutputValue, BuilderError0<TProps, TComputed, TMethods>>,\n ): ExtensionError0<AddPropToExtensionProps<TProps, TKey, TInputValue, TOutputValue>, TComputed, TMethods> {\n return this.extend('prop', key, value)\n }\n\n computed<TKey extends string, TOutputValue>(\n key: TKey,\n value: ErrorExtensionCopmputedFn<TOutputValue, BuilderError0<TProps, TComputed, TMethods>>,\n ): ExtensionError0<TProps, AddComputedToExtensionComputed<TComputed, TKey, TOutputValue>, TMethods> {\n return this.extend('computed', key, value)\n }\n\n method<TKey extends string, TArgs extends unknown[], TOutputValue>(\n key: TKey,\n value: ErrorExtensionMethodFn<TOutputValue, TArgs, BuilderError0<TProps, TComputed, TMethods>>,\n ): ExtensionError0<TProps, TComputed, AddMethodToExtensionMethods<TMethods, TKey, TArgs, TOutputValue>> {\n return this.extend('method', key, value)\n }\n\n refine(\n value: ErrorExtensionRefineFn<BuilderError0<TProps, TComputed, TMethods>, ExtensionOutputProps<TProps>>,\n ): ExtensionError0<TProps, TComputed, TMethods> {\n return this.extend('refine', value)\n }\n\n extend<TKey extends string, TInputValue, TOutputValue>(\n kind: 'prop',\n key: TKey,\n value: ErrorExtensionPropOptions<TInputValue, TOutputValue, BuilderError0<TProps, TComputed, TMethods>>,\n ): ExtensionError0<AddPropToExtensionProps<TProps, TKey, TInputValue, TOutputValue>, TComputed, TMethods>\n extend<TKey extends string, TOutputValue>(\n kind: 'computed',\n key: TKey,\n value: ErrorExtensionCopmputedFn<TOutputValue, BuilderError0<TProps, TComputed, TMethods>>,\n ): ExtensionError0<TProps, AddComputedToExtensionComputed<TComputed, TKey, TOutputValue>, TMethods>\n extend<TKey extends string, TArgs extends unknown[], TOutputValue>(\n kind: 'method',\n key: TKey,\n value: ErrorExtensionMethodFn<TOutputValue, TArgs, BuilderError0<TProps, TComputed, TMethods>>,\n ): ExtensionError0<TProps, TComputed, AddMethodToExtensionMethods<TMethods, TKey, TArgs, TOutputValue>>\n extend(\n kind: 'refine',\n value: ErrorExtensionRefineFn<BuilderError0<TProps, TComputed, TMethods>, ExtensionOutputProps<TProps>>,\n ): ExtensionError0<TProps, TComputed, TMethods>\n extend(\n kind: 'prop' | 'computed' | 'method' | 'refine',\n keyOrValue: string | ErrorExtensionRefineFn<any, any>,\n value?:\n | ErrorExtensionPropOptions<unknown, unknown, any>\n | ErrorExtensionCopmputedFn<unknown, any>\n | ErrorExtensionMethodFn<unknown, unknown[], any>,\n ): ExtensionError0<any, any, any> {\n const nextProps: ErrorExtensionProps = { ...(this._extension.props ?? {}) }\n const nextComputed: ErrorExtensionComputed = { ...(this._extension.computed ?? {}) }\n const nextMethods: ErrorExtensionMethods = { ...(this._extension.methods ?? {}) }\n const nextRefine: Array<ErrorExtensionRefineFn<Error0, Record<string, unknown>>> = [\n ...(this._extension.refine ?? []),\n ]\n if (kind === 'prop') {\n const key = keyOrValue as string\n if (value === undefined) {\n throw new Error('ExtensionError0.extend(\"prop\", key, value) requires value')\n }\n nextProps[key] = value as ErrorExtensionPropOptions<any, any>\n } else if (kind === 'computed') {\n const key = keyOrValue as string\n if (value === undefined) {\n throw new Error('ExtensionError0.extend(\"computed\", key, value) requires value')\n }\n nextComputed[key] = value as ErrorExtensionCopmputedFn<any>\n } else if (kind === 'method') {\n const key = keyOrValue as string\n if (value === undefined) {\n throw new Error('ExtensionError0.extend(\"method\", key, value) requires value')\n }\n nextMethods[key] = value as ErrorExtensionMethodFn<any, any[]>\n } else {\n nextRefine.push(keyOrValue as ErrorExtensionRefineFn<Error0, Record<string, unknown>>)\n }\n return new ExtensionError0({\n props: nextProps,\n computed: nextComputed,\n methods: nextMethods,\n refine: nextRefine,\n })\n }\n}\n\nexport type ClassError0<TExtensionsMap extends ErrorExtensionsMap = EmptyExtensionsMap> = {\n new (message: string, input?: ErrorInput<TExtensionsMap>): Error0 & ErrorOutput<TExtensionsMap>\n new (input: { message: string } & ErrorInput<TExtensionsMap>): Error0 & ErrorOutput<TExtensionsMap>\n readonly __extensionsMap?: TExtensionsMap\n from: (error: unknown) => Error0 & ErrorOutput<TExtensionsMap>\n serialize: (error: unknown, isPublic?: boolean) => object\n extend: {\n <TBuilder extends ExtensionError0>(\n extension: TBuilder,\n ): ClassError0<ExtendErrorExtensionsMap<TExtensionsMap, ExtensionOfBuilder<TBuilder>>>\n <TKey extends string, TInputValue, TOutputValue>(\n kind: 'prop',\n key: TKey,\n value: ErrorExtensionPropOptions<TInputValue, TOutputValue, ErrorInstanceOfMap<TExtensionsMap>>,\n ): ClassError0<ExtendErrorExtensionsMapWithProp<TExtensionsMap, TKey, TInputValue, TOutputValue>>\n <TKey extends string, TOutputValue>(\n kind: 'computed',\n key: TKey,\n value: ErrorExtensionCopmputedFn<TOutputValue, ErrorInstanceOfMap<TExtensionsMap>>,\n ): ClassError0<ExtendErrorExtensionsMapWithComputed<TExtensionsMap, TKey, TOutputValue>>\n <TKey extends string, TArgs extends unknown[], TOutputValue>(\n kind: 'method',\n key: TKey,\n value: ErrorExtensionMethodFn<TOutputValue, TArgs, ErrorInstanceOfMap<TExtensionsMap>>,\n ): ClassError0<ExtendErrorExtensionsMapWithMethod<TExtensionsMap, TKey, TArgs, TOutputValue>>\n (\n kind: 'refine',\n value: ErrorExtensionRefineFn<ErrorInstanceOfMap<TExtensionsMap>, ErrorOutputProps<TExtensionsMap>>,\n ): ClassError0<TExtensionsMap>\n }\n extension: () => ExtensionError0\n} & ErrorStaticMethods<TExtensionsMap>\n\nexport class Error0 extends Error {\n static readonly __extensionsMap?: EmptyExtensionsMap\n protected static _extensions: ErrorExtension[] = []\n\n private static readonly _emptyExtension: ErrorExtensionResolved = {\n props: {},\n computed: {},\n methods: {},\n refine: [],\n }\n\n private static _getResolvedExtension(this: typeof Error0): ErrorExtensionResolved {\n const resolved: ErrorExtensionResolved = {\n props: {},\n computed: {},\n methods: {},\n refine: [],\n }\n for (const extension of this._extensions) {\n Object.assign(resolved.props, extension.props ?? this._emptyExtension.props)\n Object.assign(resolved.computed, extension.computed ?? this._emptyExtension.computed)\n Object.assign(resolved.methods, extension.methods ?? this._emptyExtension.methods)\n resolved.refine.push(...(extension.refine ?? this._emptyExtension.refine))\n }\n return resolved\n }\n\n constructor(message: string, input?: ErrorInput<EmptyExtensionsMap>)\n constructor(input: { message: string } & ErrorInput<EmptyExtensionsMap>)\n constructor(\n ...args:\n | [message: string, input?: ErrorInput<EmptyExtensionsMap>]\n | [{ message: string } & ErrorInput<EmptyExtensionsMap>]\n ) {\n const [first, second] = args\n const input = typeof first === 'string' ? { message: first, ...(second ?? {}) } : first\n\n super(input.message, { cause: input.cause })\n this.name = 'Error0'\n\n const ctor = this.constructor as typeof Error0\n const extension = ctor._getResolvedExtension()\n\n for (const [key, prop] of Object.entries(extension.props)) {\n if (key in input) {\n const ownValue = (input as Record<string, unknown>)[key]\n ;(this as Record<string, unknown>)[key] = prop.input(ownValue)\n } else {\n Object.defineProperty(this, key, {\n get: () => prop.output(this),\n set: (value) => {\n Object.defineProperty(this, key, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n })\n },\n enumerable: true,\n configurable: true,\n })\n }\n }\n\n for (const [key, computed] of Object.entries(extension.computed)) {\n Object.defineProperty(this, key, {\n get: () => computed(this),\n set: (value) => {\n Object.defineProperty(this, key, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n })\n },\n enumerable: true,\n configurable: true,\n })\n }\n }\n\n private static readonly isSelfProperty = (object: object, key: string): boolean => {\n const d = Object.getOwnPropertyDescriptor(object, key)\n if (!d) return false\n if (typeof d.get === 'function' || typeof d.set === 'function') {\n if ('name' in object && object.name === 'Error0') {\n return false\n } else {\n return true\n }\n }\n return true\n }\n\n static own(error: object, key: string): unknown {\n if (this.isSelfProperty(error, key)) {\n return (error as Record<string, unknown>)[key]\n }\n return undefined\n }\n own(key: string): unknown {\n const ctor = this.constructor as typeof Error0\n return ctor.own(this, key)\n }\n\n static flow(error: object, key: string, policy: ErrorFlowPolicy = 'likeError0'): unknown[] {\n return this.causes(error, policy).map((cause) => {\n const causeRecord = cause as Record<string, unknown>\n if (this.isSelfProperty(causeRecord, key)) {\n return causeRecord[key]\n }\n return undefined\n })\n }\n flow(key: string, policy: ErrorFlowPolicy = 'likeError0'): unknown[] {\n const ctor = this.constructor as typeof Error0\n return ctor.flow(this, key, policy)\n }\n\n static causes(error: object, policy: ErrorFlowPolicy = 'all'): object[] {\n const causes: object[] = []\n let current: unknown = error\n const maxDepth = 99\n const seen = new Set<unknown>()\n\n for (let depth = 0; depth < maxDepth; depth += 1) {\n if (!current || typeof current !== 'object') {\n break\n }\n if (seen.has(current)) {\n break\n }\n if (policy === 'instance') {\n if (!this.is(current)) {\n break\n }\n } else if (policy === 'error0') {\n if (!this.isError0(current)) {\n break\n }\n } else if (policy === 'likeError0') {\n if (!this.isLikeError0(current)) {\n break\n }\n }\n seen.add(current)\n causes.push(current)\n current = (current as { cause?: unknown }).cause\n }\n\n return causes\n }\n causes(policy: ErrorFlowPolicy = 'all'): object[] {\n const ctor = this.constructor as typeof Error0\n return ctor.causes(this, policy)\n }\n\n static is(error: unknown): error is Error0 {\n return error instanceof this\n }\n\n static isError0(error: unknown): error is Error0 {\n return error instanceof Error0\n }\n\n static isLikeError0(error: unknown): error is Error0 | object {\n return (\n error instanceof Error0 ||\n (typeof error === 'object' && error !== null && 'name' in error && error.name === 'Error0')\n )\n }\n\n static from(error: unknown): Error0 {\n if (this.is(error)) {\n return error\n }\n if (this.isLikeError0(error)) {\n return this._fromLikeError0(error)\n }\n return this._fromNonError0(error)\n }\n\n private static _applyRefine(error: Error0): Error0 {\n const extension = this._getResolvedExtension()\n for (const refine of extension.refine) {\n const refined = refine(error as any)\n if (refined && typeof refined === 'object') {\n Object.assign(error as unknown as Record<string, unknown>, refined)\n }\n }\n return error\n }\n\n private static _fromLikeError0(error: unknown): Error0 {\n const message = this._extractMessage(error)\n if (typeof error !== 'object' || error === null) {\n return this._applyRefine(new this(message, { cause: error }))\n }\n\n const errorRecord = error as Record<string, unknown>\n const recreated = new this(message)\n const temp = new this(message, { cause: errorRecord })\n const extension = this._getResolvedExtension()\n for (const [key, prop] of Object.entries(extension.props)) {\n const value = prop.output(temp)\n if (value !== undefined) {\n ;(recreated as unknown as Record<string, unknown>)[key] = value\n }\n }\n ;(recreated as unknown as { cause?: unknown }).cause = errorRecord.cause\n if (typeof errorRecord.stack === 'string') {\n recreated.stack = errorRecord.stack\n }\n return this._applyRefine(recreated)\n }\n\n private static _fromNonError0(error: unknown): Error0 {\n const message = this._extractMessage(error)\n return this._applyRefine(new this(message, { cause: error }))\n }\n\n private static _extractMessage(error: unknown): string {\n return (\n (typeof error === 'string'\n ? error\n : typeof error === 'object' && error !== null && 'message' in error && typeof error.message === 'string'\n ? error.message\n : undefined) || 'Unknown error'\n )\n }\n\n private static _extendWithExtension(\n this: typeof Error0,\n extension: ErrorExtension<ErrorExtensionProps, ErrorExtensionComputed, ErrorExtensionMethods>,\n ): ClassError0 {\n const Base = this as unknown as typeof Error0\n const Error0Extended = class Error0 extends Base {}\n ;(Error0Extended as typeof Error0)._extensions = [...Base._extensions, extension]\n\n const resolved = (Error0Extended as typeof Error0)._getResolvedExtension()\n for (const [key, method] of Object.entries(resolved.methods)) {\n Object.defineProperty((Error0Extended as typeof Error0).prototype, key, {\n value: function (...args: unknown[]) {\n return method(this as Error0, ...args)\n },\n writable: true,\n enumerable: true,\n configurable: true,\n })\n Object.defineProperty(Error0Extended, key, {\n value: function (error: unknown, ...args: unknown[]) {\n return method(this.from(error), ...args)\n },\n writable: true,\n enumerable: true,\n configurable: true,\n })\n }\n\n return Error0Extended as unknown as ClassError0\n }\n\n private static _extensionFromBuilder(\n extension: ExtensionError0,\n ): ErrorExtension<ErrorExtensionProps, ErrorExtensionComputed, ErrorExtensionMethods> {\n const extensionRecord = extension as unknown as {\n _extension: ErrorExtension<ErrorExtensionProps, ErrorExtensionComputed, ErrorExtensionMethods>\n }\n return {\n props: { ...(extensionRecord._extension.props ?? {}) },\n computed: { ...(extensionRecord._extension.computed ?? {}) },\n methods: { ...(extensionRecord._extension.methods ?? {}) },\n refine: [...(extensionRecord._extension.refine ?? [])],\n }\n }\n\n static extend<TThis extends typeof Error0, TBuilder extends ExtensionError0>(\n this: TThis,\n extension: TBuilder,\n ): ClassError0<ExtendErrorExtensionsMap<ExtensionsMapOf<TThis>, ExtensionOfBuilder<TBuilder>>>\n static extend<TThis extends typeof Error0, TKey extends string, TInputValue, TOutputValue>(\n this: TThis,\n kind: 'prop',\n key: TKey,\n value: ErrorExtensionPropOptions<TInputValue, TOutputValue, ErrorInstanceOfMap<ExtensionsMapOf<TThis>>>,\n ): ClassError0<ExtendErrorExtensionsMapWithProp<ExtensionsMapOf<TThis>, TKey, TInputValue, TOutputValue>>\n static extend<TThis extends typeof Error0, TKey extends string, TOutputValue>(\n this: TThis,\n kind: 'computed',\n key: TKey,\n value: ErrorExtensionCopmputedFn<TOutputValue, ErrorInstanceOfMap<ExtensionsMapOf<TThis>>>,\n ): ClassError0<ExtendErrorExtensionsMapWithComputed<ExtensionsMapOf<TThis>, TKey, TOutputValue>>\n static extend<TThis extends typeof Error0, TKey extends string, TArgs extends unknown[], TOutputValue>(\n this: TThis,\n kind: 'method',\n key: TKey,\n value: ErrorExtensionMethodFn<TOutputValue, TArgs, ErrorInstanceOfMap<ExtensionsMapOf<TThis>>>,\n ): ClassError0<ExtendErrorExtensionsMapWithMethod<ExtensionsMapOf<TThis>, TKey, TArgs, TOutputValue>>\n static extend<TThis extends typeof Error0>(\n this: TThis,\n kind: 'refine',\n value: ErrorExtensionRefineFn<ErrorInstanceOfMap<ExtensionsMapOf<TThis>>, ErrorOutputProps<ExtensionsMapOf<TThis>>>,\n ): ClassError0<ExtensionsMapOf<TThis>>\n static extend(\n this: typeof Error0,\n first: ExtensionError0 | 'prop' | 'computed' | 'method' | 'refine',\n key?: string | ErrorExtensionRefineFn<any, any>,\n value?:\n | ErrorExtensionPropOptions<unknown, unknown>\n | ErrorExtensionCopmputedFn<unknown>\n | ErrorExtensionMethodFn<unknown>,\n ): ClassError0 {\n if (first instanceof ExtensionError0) {\n return this._extendWithExtension(this._extensionFromBuilder(first))\n }\n if (first === 'refine') {\n if (typeof key !== 'function') {\n throw new Error('Error0.extend(\"refine\", value) requires refine function')\n }\n return this._extendWithExtension({\n refine: [key],\n })\n }\n if (typeof key !== 'string' || value === undefined) {\n throw new Error('Error0.extend(kind, key, value) requires key and value')\n }\n\n if (first === 'prop') {\n return this._extendWithExtension({\n props: { [key]: value as ErrorExtensionPropOptions<unknown, unknown> },\n })\n }\n if (first === 'computed') {\n return this._extendWithExtension({\n computed: { [key]: value as ErrorExtensionCopmputedFn<unknown> },\n })\n }\n return this._extendWithExtension({\n methods: { [key]: value as ErrorExtensionMethodFn<unknown> },\n })\n }\n\n static extension(): ExtensionError0 {\n return new ExtensionError0()\n }\n\n static serialize(error: unknown, isPublic = true): object {\n const error0 = this.from(error)\n const jsonWithUndefined: Record<string, unknown> = {\n name: error0.name,\n message: error0.message,\n cause: error0.cause,\n stack: error0.stack,\n }\n\n const extension = this._getResolvedExtension()\n for (const [key, prop] of Object.entries(extension.props)) {\n const value = prop.output(error0)\n const jsonValue = prop.serialize(value, error0, isPublic)\n if (jsonValue !== undefined) {\n jsonWithUndefined[key] = jsonValue\n } else {\n try {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete jsonWithUndefined[key]\n } catch {\n // ignore\n }\n }\n }\n return Object.fromEntries(Object.entries(jsonWithUndefined).filter(([, value]) => value !== undefined)) as object\n }\n\n serialize(isPublic = true): object {\n const ctor = this.constructor as typeof Error0\n return ctor.serialize(this, isPublic)\n }\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devp0nt/error0",
|
|
3
|
+
"version": "1.0.0-next.40",
|
|
3
4
|
"license": "MIT",
|
|
4
5
|
"author": {
|
|
5
6
|
"name": "Sergei Dmitriev",
|
|
@@ -14,14 +15,21 @@
|
|
|
14
15
|
"url": "https://github.com/devp0nt/error0/issues"
|
|
15
16
|
},
|
|
16
17
|
"type": "module",
|
|
17
|
-
"main": "./dist/cjs/index.js",
|
|
18
|
-
"module": "./dist/esm/index.js",
|
|
19
18
|
"types": "./dist/esm/index.d.ts",
|
|
19
|
+
"main": "./dist/cjs/index.cjs",
|
|
20
|
+
"module": "./dist/esm/index.js",
|
|
20
21
|
"exports": {
|
|
21
22
|
".": {
|
|
22
23
|
"types": "./dist/esm/index.d.ts",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
24
|
+
"require": "./dist/cjs/index.cjs",
|
|
25
|
+
"import": "./dist/esm/index.js"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"typesVersions": {
|
|
29
|
+
"*": {
|
|
30
|
+
"": [
|
|
31
|
+
"./dist/esm/index.d.ts"
|
|
32
|
+
]
|
|
25
33
|
}
|
|
26
34
|
},
|
|
27
35
|
"files": [
|
|
@@ -31,7 +39,8 @@
|
|
|
31
39
|
"LICENSE"
|
|
32
40
|
],
|
|
33
41
|
"scripts": {
|
|
34
|
-
"dev": "tsc
|
|
42
|
+
"dev": "tsc-watch --preserveWatchOutput --project tsconfig.build.json",
|
|
43
|
+
"dev:npm": "tsc-watch --preserveWatchOutput --project tsconfig.build.json --onSuccess 'bun run pack:dist'",
|
|
35
44
|
"build": "tsup",
|
|
36
45
|
"build:test:esm": "tsup --outDir dist-test/esm --tsconfig tsconfig.build.test.json --format esm src",
|
|
37
46
|
"build:test:esm:watch": "bun run build:test:esm --watch",
|
|
@@ -40,13 +49,14 @@
|
|
|
40
49
|
"build:test": "bun run build:test:esm && bun run build:test:cjs",
|
|
41
50
|
"build:test:watch": "bun run build:test:esm:watch & bun run build:test:cjs:watch",
|
|
42
51
|
"build:all": "bun run build && bun run build:test",
|
|
43
|
-
"test": "bun test src",
|
|
52
|
+
"test": "bun test ./src",
|
|
53
|
+
"test:us": "bun test ./src --update-snapshots",
|
|
44
54
|
"test:watch": "bun test --watch",
|
|
45
|
-
"test:coverage": "bun test --coverage",
|
|
46
|
-
"test:dist:esm": "bun test dist-test/esm",
|
|
55
|
+
"test:coverage": "bun test ./src --coverage",
|
|
56
|
+
"test:dist:esm": "bun test ./dist-test/esm",
|
|
47
57
|
"test:dist:esm:watch": "bun run test:dist:esm --watch",
|
|
48
58
|
"test:dist:esm:build:watch": "bun build:test:esm:watch --no-clean & bun test:dist:esm:watch",
|
|
49
|
-
"test:dist:cjs": "bun test dist-test/cjs",
|
|
59
|
+
"test:dist:cjs": "bun test ./dist-test/cjs",
|
|
50
60
|
"test:dist:cjs:watch": "bun run test:dist:cjs --watch",
|
|
51
61
|
"test:dist:cjs:build:watch": "bun build:test:cjs:watch --no-clean & bun test:dist:cjs:watch",
|
|
52
62
|
"test:dist": "bun run test:dist:esm && bun run test:dist:cjs",
|
|
@@ -56,34 +66,48 @@
|
|
|
56
66
|
"test:all:watch": "bun run test:watch & bun run test:dist:watch",
|
|
57
67
|
"test:all:build": "bun run build:all && bun run test:all",
|
|
58
68
|
"test:all:build:watch": "bun run build:all:watch & bun run test:all:watch",
|
|
59
|
-
"lint": "
|
|
69
|
+
"lint": "bun run lint:fix .",
|
|
70
|
+
"lint:base": "eslint --cache --cache-location node_modules/.cache/eslint/.eslintcache",
|
|
71
|
+
"lint:fix": "bun run lint:base --fix",
|
|
72
|
+
"format": "bun run format:fix .",
|
|
73
|
+
"format:base": "prettier --cache --cache-location node_modules/.cache/prettier/.prettiercache --ignore-path .gitignore --ignore-path .prettierignore",
|
|
74
|
+
"format:fix": "bun run format:base --write",
|
|
60
75
|
"types:build": "tsc --noEmit --project tsconfig.build.json",
|
|
61
76
|
"types:dev": "tsc --noEmit",
|
|
62
77
|
"types": "bun run types:dev",
|
|
63
78
|
"pack:dry": "npm pack --dry-run",
|
|
64
|
-
"
|
|
79
|
+
"pack:dist": "mkdir -p dist-npm && npm pack --pack-destination dist-npm --silent && cd dist-npm && tar -xzf *.tgz && cp -r package/* . && rm -rf package && rm *.tgz",
|
|
80
|
+
"pack:dist:hard": "rimraf dist-npm && bun run pack:dist",
|
|
81
|
+
"prepare": "husky",
|
|
82
|
+
"clean": "rimraf dist && rimraf dist-test && rimraf dist-npm && rimraf node_modules/.cache"
|
|
65
83
|
},
|
|
66
84
|
"dependencies": {},
|
|
67
|
-
"peerDependencies": {
|
|
68
|
-
"@devp0nt/meta0": "^1.0.0-next.2",
|
|
69
|
-
"axios": "^1.12.2",
|
|
70
|
-
"zod": "^4.1.9"
|
|
71
|
-
},
|
|
85
|
+
"peerDependencies": {},
|
|
72
86
|
"devDependencies": {
|
|
73
|
-
"
|
|
87
|
+
"axios": "^1.12.2",
|
|
88
|
+
"zod": "^4.1.9",
|
|
74
89
|
"@commitlint/cli": "^19.8.1",
|
|
75
90
|
"@commitlint/config-conventional": "^19.8.1",
|
|
76
91
|
"@semantic-release/changelog": "^6.0.3",
|
|
77
92
|
"@semantic-release/git": "^10.0.1",
|
|
78
|
-
"@semantic-release/github": "^
|
|
79
|
-
"@semantic-release/npm": "^
|
|
93
|
+
"@semantic-release/github": "^12.0.2",
|
|
94
|
+
"@semantic-release/npm": "^13.1.3",
|
|
80
95
|
"@types/bun": "^1.2.22",
|
|
81
96
|
"@types/lodash": "^4.17.20",
|
|
82
97
|
"@types/node": "^20.0.0",
|
|
83
98
|
"cross-env": "^10.0.0",
|
|
99
|
+
"esbuild-fix-imports-plugin": "^1.0.22",
|
|
100
|
+
"eslint": "^9.36.0",
|
|
101
|
+
"eslint-config-love": "^130.0.0",
|
|
102
|
+
"eslint-config-prettier": "^10.1.8",
|
|
103
|
+
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
84
104
|
"husky": "^9.1.7",
|
|
105
|
+
"lint-staged": "^16.2.1",
|
|
85
106
|
"lodash": "^4.17.21",
|
|
86
|
-
"
|
|
107
|
+
"prettier": "^3.6.2",
|
|
108
|
+
"rimraf": "^6.0.1",
|
|
109
|
+
"semantic-release": "^25.0.2",
|
|
110
|
+
"tsc-watch": "^7.1.1",
|
|
87
111
|
"tsup": "^8.0.0",
|
|
88
112
|
"typescript": "^5.0.0"
|
|
89
113
|
},
|
|
@@ -93,6 +117,5 @@
|
|
|
93
117
|
},
|
|
94
118
|
"publishConfig": {
|
|
95
119
|
"access": "public"
|
|
96
|
-
}
|
|
97
|
-
"version": "1.0.0-next.4"
|
|
120
|
+
}
|
|
98
121
|
}
|