Esquema Zod
YAMLResume adopta zod para validar los datos del currículum en tiempo de ejecución.
Este documento describe todos los esquemas zod usados en YAMLResume. Si te interesan los detalles de implementación, puedes encontrar el código fuente aquí.
Esquema Resume
Define la validación de la estructura global del currículum, incluyendo validación de contenido y de layout.
| Prop | Tipo | Requerido |
|---|---|---|
content | ResumeContentSchema | ✅ |
layout? | ResumeLayoutSchema | ⬜️ |
ResumeContentSchema
Define la estructura de validación para todo el contenido del currículum.
| Prop | Tipo | Requerido |
|---|---|---|
basics | BasicsItemSchema | ✅ |
education | EducationItemSchema[] | ✅ |
awards? | AwardItemSchema[] | ⬜️ |
certificates? | CertificateItemSchema[] | ⬜️ |
interests? | InterestItemSchema[] | ⬜️ |
languages? | LanguageItemSchema[] | ⬜️ |
location? | LocationItemSchema | ⬜️ |
projects? | ProjectItemSchema[] | ⬜️ |
profiles? | ProfileItemSchema[] | ⬜️ |
publications? | PublicationItemSchema[] | ⬜️ |
references? | ReferenceItemSchema[] | ⬜️ |
skills? | SkillItemSchema[] | ⬜️ |
volunteer? | VolunteerItemSchema[] | ⬜️ |
work? | WorkItemSchema[] | ⬜️ |
AwardItemSchema
Valida un único premio, honor o reconocimiento recibido.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
awarder | string | ✅ | 2-128 caracteres |
title | string | ✅ | 2-128 caracteres |
date? | string | ⬜️ | ver date schema |
summary? | string | ⬜️ | ver summary schema |
BasicsItemSchema
Valida la información personal y de contacto principal.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
name | string | ✅ | 2-128 caracteres |
email? | string | ⬜️ | ver email schema |
headline? | string | ⬜️ | 2-128 caracteres |
phone? | string | ⬜️ | ver phone schema |
summary? | string | ⬜️ | ver summary schema |
url? | string | ⬜️ | ver url schema |
CertificateItemSchema
Valida una certificación, credencial o calificación profesional.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
issuer | string | ✅ | 2-128 caracteres |
name | string | ✅ | 2-128 caracteres |
date? | string | ⬜️ | ver date schema |
url? | string | ⬜️ | ver url schema |
EducationItemSchema
Valida una experiencia o programa educativo.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
area | string | ✅ | 2-64 caracteres |
degree | Degree | ✅ | Debe estar en las opciones de degree |
institution | string | ✅ | 2-128 caracteres |
startDate | string | ✅ | ver date schema |
courses? | string[] | ⬜️ | Cada ítem 2-128 caracteres |
endDate? | string | ⬜️ | ver date schema |
summary? | string | ⬜️ | ver summary schema |
score? | string | ⬜️ | 2-32 caracteres |
url? | string | ⬜️ | ver url schema |
InterestItemSchema
Valida un interés, hobby o actividad personal.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
name | string | ✅ | 2-128 caracteres |
keywords? | string[] | ⬜️ | ver keywords schema |
LanguageItemSchema
Valida un ítem de competencia lingüística.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
fluency | Fluency | ✅ | Debe estar en fluency options |
language | Language | ✅ | Debe estar en language options |
keywords? | string[] | ⬜️ | Cada ítem 1-32 caracteres |
LocationItemSchema
Valida información de localización y dirección.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
city | string | ✅ | 2-128 caracteres |
address? | string | ⬜️ | 2-128 caracteres |
country? | Country | ⬜️ | Debe estar en country options |
postalCode? | string | ⬜️ | 2-128 caracteres |
region? | string | ⬜️ | 2-128 caracteres |
ProfileItemSchema
Valida un perfil online o presencia en redes.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
network | Network | ✅ | Debe estar en network options |
username | string | ✅ | 2-128 caracteres |
url? | string | ⬜️ | URL válida, máximo 256 caracteres |
ProjectItemSchema
Valida un proyecto, pieza de portfolio o trabajo técnico.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
name | string | ✅ | 2-128 caracteres |
startDate | string | ✅ | ver date schema |
summary | string | ✅ | ver summary schema |
description? | string | ⬜️ | 4-128 caracteres |
endDate? | string | ⬜️ | ver date schema |
keywords? | string[] | ⬜️ | Cada ítem 1-32 caracteres |
url? | string | ⬜️ | URL válida, máximo 256 caracteres |
PublicationItemSchema
Valida una publicación, trabajo de investigación o artículo académico.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
name | string | ✅ | 2-128 caracteres |
publisher | string | ✅ | 2-128 caracteres |
releaseDate? | string | ⬜️ | ver date schema |
summary? | string | ⬜️ | ver summary schema |
url? | string | ⬜️ | URL válida, máximo 256 caracteres |
ReferenceItemSchema
Valida una referencia profesional o recomendación.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
name | string | ✅ | 2-128 caracteres |
summary | string | ✅ | ver summary schema |
email? | string | ⬜️ | ver email schema |
phone? | string | ⬜️ | Formato de teléfono válido |
relationship? | string | ⬜️ | 2-128 caracteres |
SkillItemSchema
Valida una habilidad o capacidad técnica.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
level | Level | ✅ | Debe estar en level options |
name | string | ✅ | 2-128 caracteres |
keywords? | string[] | ⬜️ | Cada ítem 1-32 caracteres |
VolunteerItemSchema
Valida una experiencia de voluntariado o servicio comunitario.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
organization | string | ✅ | 2-128 caracteres |
position | string | ✅ | 2-128 caracteres |
startDate | string | ✅ | ver date schema |
summary | string | ✅ | ver summary schema |
endDate? | string | ⬜️ | ver date schema |
url? | string | ⬜️ | URL válida, máximo 256 caracteres |
WorkItemSchema
Valida una experiencia laboral o puesto.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
name | string | ✅ | 2-128 caracteres |
position | string | ✅ | 2-128 caracteres |
startDate | string | ✅ | ver date schema |
summary | string | ✅ | ver summary schema |
endDate? | string | ⬜️ | ver date schema |
keywords? | string[] | ⬜️ | Cada ítem 1-32 caracteres |
url? | string | ⬜️ | URL válida, máximo 256 caracteres |
ResumeLayoutSchema
Define la configuración de validación del layout.
| Prop | Tipo | Requerido |
|---|---|---|
locale? | ResumeLayoutLocaleSchema | ⬜️ |
margins? | ResumeLayoutMarginsSchema | ⬜️ |
page? | ResumeLayoutPageSchema | ⬜️ |
template? | Template | ⬜️ |
typography? | ResumeLayoutTypographySchema | ⬜️ |
latex? | ResumeLayoutLaTeXSchema | ⬜️ |
ResumeLayoutLocaleSchema
Valida la configuración regional para i18n y l10n.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
language? | LocaleLanguage | ⬜️ | Debe estar en locale language options |
ResumeLayoutMarginsSchema
Valida márgenes de página.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
top? | string | ⬜️ | ver margin size schema |
bottom? | string | ⬜️ | ver margin size schema |
left? | string | ⬜️ | ver margin size schema |
right? | string | ⬜️ | ver margin size schema |
ResumeLayoutPageSchema
Valida opciones a nivel de página.
| Prop | Tipo | Requerido | Reglas |
|---|---|---|---|
showPageNumbers? | boolean | ⬜️ | true/false |
ResumeLayoutTypographySchema
Valida opciones tipográficas.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
fontSize? | string | ⬜️ | ver font size options |
ResumeLayoutLaTeXSchema
Valida opciones específicas de LaTeX.
| Prop | Tipo | Requerido | Reglas de validación |
|---|---|---|---|
fontspec? | { numbers?: FontspecNumbers } | ⬜️ | ver fontspec numbers options |
Enum Validation Schemas
Country
Tipo unión que incluye todos los posibles países y regiones del mundo.
Reglas de validación:
- Debe ser una de las opciones de país predefinidas
- Ejemplos:
United States,China,United Kingdom,Germany
Degree
Tipo unión que incluye todos los posibles grados académicos.
Reglas de validación:
- Debe ser uno de:
Associate,Bachelor,Diploma,Doctor,High School,Master,Middle School
Fluency
Tipo unión que incluye todos los posibles niveles de competencia lingüística.
Reglas de validación:
- Debe ser uno de:
Elementary ProficiencyFull Professional ProficiencyLimited Working ProficiencyMinimum Professional ProficiencyNative or Bilingual Proficiency
Language
Tipo unión que incluye todos los idiomas soportados.
Reglas de validación:
- Debe ser una de las opciones de idioma predefinidas
- Ejemplos:
English,Chinese,Spanish,French,German
Level
Tipo unión que incluye todos los posibles niveles de dominio de habilidades.
Reglas de validación:
- Debe ser uno de:
Advanced,Beginner,Expert,Intermediate,Master,Novice
Network
Tipo unión que incluye todas las posibles opciones de redes sociales.
Reglas de validación:
- Debe ser una de las opciones de red predefinidas
- Ejemplos:
GitHub,LinkedIn,Twitter,Facebook,Instagram
Template
Tipo unión que incluye todas las posibles opciones de plantilla.
Reglas de validación:
- Debe ser uno de:
moderncv-banking,moderncv-casual,moderncv-classic - Ver también: templates
LocaleLanguage
Tipo unión que incluye todos los posibles códigos de lenguaje local.
Reglas de validación:
- Debe ser uno de:
en,es,zh-hans,zh-hant-hk,zh-hant-tw - Ver también: multi-languages
FontspecNumbers
Tipo unión que incluye todas las posibles opciones de números de fontspec de LaTeX.
Reglas de validación:
- Debe ser uno de:
Auto- permite que el estilo se determine automáticamente según elLocaleLanguageseleccionado (por defecto)Lining- cifras lining estándar (por defecto para idiomas CJK)OldStyle- cifras old style con alturas variables (por defecto para idiomas latinos)
FontSize
Tipo unión que incluye todas las posibles opciones de tamaño de fuente.
Reglas de validación:
- Debe ser uno de:
10pt,11pt,12pt 10ptes el tamaño de fuente por defecto
Last updated on