near-protocol-rewards
Version:
A transparent, metric-based rewards system for NEAR projects
52 lines (51 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatError = exports.BaseError = exports.ErrorCode = void 0;
exports.ErrorCode = {
SDK_ERROR: "SDK_ERROR",
API_ERROR: "API_ERROR",
VALIDATION_ERROR: "VALIDATION_ERROR",
STORAGE_ERROR: "STORAGE_ERROR",
RATE_LIMIT_ERROR: "RATE_LIMIT_ERROR",
PROCESSING_ERROR: "PROCESSING_ERROR",
CALCULATION_ERROR: "CALCULATION_ERROR",
CONFIGURATION_ERROR: "CONFIGURATION_ERROR",
COLLECTION_ERROR: "COLLECTION_ERROR",
INVALID_CONFIG: "INVALID_CONFIG",
UNKNOWN_ERROR: "UNKNOWN_ERROR",
UNAUTHORIZED: "UNAUTHORIZED",
LOW_COMMIT_COUNT: "LOW_COMMIT_COUNT",
SUSPICIOUS_COMMIT_FREQUENCY: "SUSPICIOUS_COMMIT_FREQUENCY",
LOW_AUTHOR_DIVERSITY: "LOW_AUTHOR_DIVERSITY",
HIGH_VELOCITY: "HIGH_VELOCITY",
SINGLE_PR_AUTHOR: "SINGLE_PR_AUTHOR",
LOW_PR_MERGE_RATE: "LOW_PR_MERGE_RATE",
LOW_REVIEW_ENGAGEMENT: "LOW_REVIEW_ENGAGEMENT",
LOW_ISSUE_ENGAGEMENT: "LOW_ISSUE_ENGAGEMENT",
LOW_ISSUE_RESOLUTION_RATE: "LOW_ISSUE_RESOLUTION_RATE",
MISSING_TIMESTAMP: "MISSING_TIMESTAMP",
STALE_DATA: "STALE_DATA",
};
class BaseError extends Error {
constructor(message, code, details) {
super(message);
this.code = code;
this.details = details;
this.context = details;
}
}
exports.BaseError = BaseError;
function formatError(error) {
if (error instanceof Error) {
return {
code: exports.ErrorCode.PROCESSING_ERROR,
message: error.message,
context: { stack: error.stack },
};
}
return {
code: exports.ErrorCode.PROCESSING_ERROR,
message: String(error),
};
}
exports.formatError = formatError;