Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

161
Visualizações
Valide el objeto que se recibe de la API y establezca los valores predeterminados

Quiero recibir algo de una API y validar si todos los campos son strings , pero si no están presentes, quiero establecer valores predeterminados, estaba planeando usar yup y validar el objeto en función de eso, así que el objeto que devuelvo de la función se escribe

 import { v4 } from "uuid"; import { array, object, string } from "yup"; let mySchema = array( object({ id: string().default(() => v4()), title: string().default(""), description: string().default(""), courseVersions: array( object({ courseCodeId: string().default(""), courseName: string().default(""), }) ).default([]), }) ); export default function validateCourses(originalObject: any) { const cleanObject = mySchema.someFunction(originalObject); // Hope yup has a function console.log({ originalObject, cleanObject }); return cleanObject; }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Simplemente asigna validateSync a una variable y ese valor se escribirá

 const cleanObject = courseSchema.validateSync(originalObject); console.log({ cleanObject })
about 4 years ago · Juan Pablo Isaza Relatório

0

Será mejor que uses la interfaz y el protector de tipos.

 interface CourseVersion { courseCodeId: string; courseName: string; } interface MySchema { id: string; title: string; description: string; courseVersions: CourseVersion[]; } let mySchema: MySchema = { id: 'mock-id', title: 'mock-title', description: 'mock-description', courseVersions: [ {courseCodeId: 'mock-courseCodeId', courseName: 'mock-courseName'} ] }) ); function isMySchema (schema: unknown): schema is MySchema { return schema instanceof MySchema; }

también puedes hacerlo así

 function isMySchema (schema: unknown): schema is MySchema { return schema?.id !== undefined && typeof schema?.id === 'string' && schema?.title !== undefined && typeof schema?.title === 'string' etc...; }

Y úsalo así

 export default function validateCourses(originalObject: unknown): MySchema { if (isMySchema(originalObject)) { return originalObject; // Will work because of the typeguard, it cast it into MySchema type } else { throw Error('wrong schema'); // Not sure what you do if it's not he right type } }

Editar: codifiqué esto en papel, tal vez haya un pequeño error de sintaxis.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda