@napp/error
v1.1.0
Published
Common JavaScript error library with native Error, cause, normalization, and serialization helpers.
Maintainers
Readme
@napp/error
@napp/error нь Node.js болон TypeScript орчинд application error-ийг нэг хэлбэртэй удирдах жижиг, dependency-light utility library юм.
Энэ package-ийн үндсэн зорилго:
- native
Errorдээр суурилсан application error үүсгэх - native
cause-ийг хадгалах unknownthrown value-ийг normalize хийх- safe serialization хийх
- JSON-friendly plain object руу хөрвүүлэх
- service, SDK, log, API response хооронд error shape-ийг тогтвортой байлгах
Install
npm install @napp/errorBasic Use Case
1. Application error үүсгэх
import { NappError } from '@napp/error';
throw new NappError('User not found', {
code: 'USER_NOT_FOUND',
status: 404,
details: { userId: 'u_123' },
});2. Unknown error normalize хийх
import { NappError } from '@napp/error';
try {
await doWork();
} catch (err) {
const error = NappError.from(err);
console.error(error.code, error.status, error.message, error.details);
}3. Cause chain хадгалах
import { NappError } from '@napp/error';
try {
await repository.save(input);
} catch (cause) {
throw new NappError('Failed to save order', {
code: 'ORDER_SAVE_FAILED',
cause,
details: { orderId: input.id },
});
}4. JSON serialization
import { NappError } from '@napp/error';
const error = new NappError('Payment declined', {
code: 'PAYMENT_DECLINED',
status: 402,
details: { invoiceId: 'inv_1' },
});
const payload = error.toJSON();
const restored = NappError.fromJSON(payload);Exported API
NappErrorErroraliasDEFAULT_ERROR_CODEUNKNOWN_ERROR_CODENAMEVERSION
Type exports:
IErrorIErrorOptionsIErrorSerializedIExceptionParser
When To Use
- service layer дээр domain/application error үүсгэх үед
catch (err: unknown)boundary дээр normalize хийх үед- API response, queue payload, audit log руу error serialize хийх үед
- SDK болон service хооронд нэг ижил error contract барих үед
Design Goals
- small and runtime-safe
- framework-agnostic
- native
Errorsemantics-ийг хадгалах - low dependency surface
- predictable JSON shape
Илүү дэлгэрэнгүй developer-oriented usage жишээ болон зарчимыг sample.md-с үзнэ үү.
