Ir al contenido

Uniones

Archi almacena la identidad de las uniones AND/OR mediante un atributo nativo type que es independiente del xsi:type del elemento.

Para una unión, el analizador expone tanto el valor semántico interpretado como el valor nativo original:

type ArchiJunctionType = 'And' | 'Or';
interface ArchiElement {
junctionType: ArchiJunctionType | null;
rawJunctionType: string | null;
}
type nativo de la uniónjunctionTyperawJunctionType
ausente'And'''
""'And'''
"or"'Or''or'
cualquier otro valornullvalor original

Coinciden con las constantes propias de IJunction de Archi (AND_JUNCTION_TYPE = "", OR_JUNCTION_TYPE = "or"), confirmadas contra el código fuente de Archi.

Los valores nativos desconocidos nunca se adivinan ni se descartan:

  • parseArchiModel sigue teniendo éxito — el modelo se analiza con normalidad;
  • rawJunctionType conserva siempre el valor original, se entienda o no;
  • validateArchiModel informa de unrecognized-junction-type para una unión cuyo valor nativo no puede resolverse.

Para todo elemento que no sea una unión, ambos campos son null:

junctionType === null
rawJunctionType === null