{"version":3,"file":"MessageValidator.mjs","names":[],"sources":["../../src/utils/MessageValidator.ts"],"sourcesContent":["import { validateSync } from 'class-validator'\n\nimport { ClassValidationError } from '../error'\nimport { isValidationErrorArray } from '../error/ValidationErrorUtils'\n\n// biome-ignore lint/complexity/noStaticOnlyClass: no explanation\nexport class MessageValidator {\n  /**\n   *\n   * @param classInstance the class instance to validate\n   * @returns void\n   * @throws array of validation errors {@link ValidationError}\n   */\n  public static validateSync<T extends object>(classInstance: T & {}) {\n    // NOTE: validateSync returns an Array of errors.\n    // We have to transform that into an error of choice and throw that.\n    const errors = validateSync(classInstance, {\n      forbidUnknownValues: false,\n    })\n    if (isValidationErrorArray(errors)) {\n      throw new ClassValidationError('Failed to validate class.', {\n        classType: classInstance.constructor.name,\n        validationErrors: errors,\n      })\n    }\n    if (errors.length !== 0) {\n      throw new ClassValidationError('An unknown validation error occurred.', {\n        classType: Object.prototype.constructor(classInstance).name,\n      })\n    }\n  }\n}\n"],"mappings":";;;;;;;;AAMA,IAAa,mBAAb,MAA8B;;;;;;;CAO5B,OAAc,aAA+B,eAAuB;EAGlE,MAAM,SAAS,aAAa,eAAe,EACzC,qBAAqB,OACtB,CAAC;AACF,MAAI,uBAAuB,OAAO,CAChC,OAAM,IAAI,qBAAqB,6BAA6B;GAC1D,WAAW,cAAc,YAAY;GACrC,kBAAkB;GACnB,CAAC;AAEJ,MAAI,OAAO,WAAW,EACpB,OAAM,IAAI,qBAAqB,yCAAyC,EACtE,WAAW,OAAO,UAAU,YAAY,cAAc,CAAC,MACxD,CAAC"}