@eventmsg/core
Version:
EventMsgV3 TypeScript library - Core protocol implementation with transport abstraction
75 lines (73 loc) • 1.87 kB
JavaScript
const require_event_msg_error = require('./event-msg-error.cjs');
//#region src/errors/validation-error.ts
/**
* Error for input validation failures
*/
var ValidationError = class extends require_event_msg_error.EventMsgError {
/** Field that failed validation */
field;
/** Value that was invalid */
value;
constructor(message, options = {}) {
super(message, "VALIDATION_ERROR", {
...options,
context: {
...options.context,
field: options.field,
value: options.value
},
solutions: [
"Check input parameters",
"Verify value ranges and types",
"Review API documentation"
]
});
this.field = options.field;
this.value = options.value;
}
};
/**
* Address validation error (0-255 range)
*/
var AddressValidationError = class extends ValidationError {
constructor(address, field = "address", options = {}) {
super(`Invalid ${field}: ${address}. Must be 0-255`, {
...options,
field,
value: address,
solutions: [
"Use address in range 0-255",
"Check for negative values",
"Verify address is an integer"
]
});
this.code = "ADDRESS_VALIDATION_ERROR";
}
};
/**
* Message size validation error
*/
var MessageSizeError = class extends ValidationError {
constructor(size, maxSize, field = "message", options = {}) {
super(`${field} size ${size} bytes exceeds maximum ${maxSize} bytes`, {
...options,
field,
value: size,
context: {
...options.context,
maxSize
},
solutions: [
`Reduce ${field} size to ${maxSize} bytes or less`,
"Consider splitting large messages",
"Use more efficient encoding"
]
});
this.code = "MESSAGE_SIZE_ERROR";
}
};
//#endregion
exports.AddressValidationError = AddressValidationError;
exports.MessageSizeError = MessageSizeError;
exports.ValidationError = ValidationError;
//# sourceMappingURL=validation-error.cjs.map