¿Es una "buena práctica" crear errores relacionados con un mismo concepto a través de fábrica?
Quiero decir, por ejemplo, en una validación de registro, ¿podría ser una buena práctica hacer lo siguiente?
"use strict"; const { functions } = require("../../../services/firebase") const authErrors = Object.freeze({ invalidPassword() { return new functions.https.HttpsError( "invalid-argument", "Invalid password.", { status: "error", code: "auth/invalid-password", message: "The provided password is invalid. It must contain between 8 and 40 characters, including at least one uppercase letter, one lowercase letter, and a number.", } ); }, invalidUsername() { return new functions.https.HttpsError( "invalid-argument", "Invalid username.", { status: "error", code: "auth/invalid-username", message: "Username must be between 3 and 30 characters, including numbers, letters, hyphens, periods, or underscores.", } ); }, // ... more related errors }); module.exports = authErrors;y luego usarlos de la siguiente manera?
if (!validateUsername(username)) { throw authErrors.invalidUsername(); }Nota: Estoy usando Google Cloud Functions y no tiene sentido que mi caso de uso arroje instancias de errores personalizados.