Packages

Conversión de CFDI XML a estructura tipo JSON

Current section

Files

Jump to
cfdi_xml lib cfdi xml concepto_factory.ex
Raw

lib/cfdi/xml/concepto_factory.ex

defmodule Cfdi.Xml.ConceptoFactory do
@moduledoc """
Factory para construir un `Cfdi.Xml.Concepto` desde un mapa de
atributos. Espejo de `ConceptFactory` del paquete TypeScript.
"""
alias Cfdi.Xml.Concepto
defstruct [:data]
@type t :: %__MODULE__{data: map()}
@spec new(map()) :: t()
def new(data) when is_map(data), do: %__MODULE__{data: data}
@spec build(t() | map()) :: Concepto.t()
def build(%__MODULE__{data: data}), do: Concepto.new(data)
def build(data) when is_map(data), do: Concepto.new(data)
end