mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 19:07:08 +00:00
* feat: err-code * feat(err-code): handle null correctly * feat(err-code): add minimum ts requirement
56 lines
1.1 KiB
TypeScript
56 lines
1.1 KiB
TypeScript
import errCode = require('err-code');
|
|
|
|
// test create without code
|
|
const err1 = errCode(new Error('err msg'), {
|
|
prop1: 'prop1 value',
|
|
prop2: {
|
|
a: 'prop2.a value',
|
|
}
|
|
});
|
|
|
|
const err1Message = err1.message;
|
|
const err1MProp1 = err1.prop1;
|
|
const err1MProp2a = err1.prop2.a;
|
|
|
|
// test create with code
|
|
const err2 = errCode(new Error('err msg'), 'Bad Request', {
|
|
prop1: 'prop1 value',
|
|
prop2: {
|
|
a: 'prop2.a value',
|
|
}
|
|
});
|
|
|
|
const err2Message = err2.message;
|
|
const err2MProp1 = err2.prop1;
|
|
const err2MProp2a = err2.prop2.a;
|
|
const err2Code = err2.code;
|
|
|
|
// test adding type constraint
|
|
const err3 = errCode<{
|
|
prop1: string
|
|
prop2: {
|
|
a: string
|
|
}
|
|
}>(new Error('err msg'), {
|
|
prop1: 'prop1 value',
|
|
prop2: {
|
|
a: 'prop2.a value',
|
|
}
|
|
});
|
|
|
|
const err3Message = err3.message;
|
|
const err3MProp1 = err3.prop1;
|
|
const err3MProp2a = err3.prop2.a;
|
|
|
|
// test null code
|
|
const err4 = errCode(new Error('err msg'), null, {
|
|
prop1: 'prop1 value',
|
|
prop2: {
|
|
a: 'prop2.a value',
|
|
}
|
|
});
|
|
|
|
const err4Message = err4.message;
|
|
const err4MProp1 = err4.prop1;
|
|
const err4MProp2a = err4.prop2.a;
|