-module(amf0@marker). -compile([no_auto_import, nowarn_unused_vars]). -export([to_int/1, from_int/1]). -export_type([marker/0]). -type marker() :: number | boolean | string | object | null | undefined | reference | ecma_array | object_end | strict_array | date | long_string | unsupported | xml_document | typed_object. -spec to_int(marker()) -> integer(). to_int(Marker) -> case Marker of number -> 16#00; boolean -> 16#01; string -> 16#02; object -> 16#03; null -> 16#05; undefined -> 16#06; reference -> 16#07; ecma_array -> 16#08; object_end -> 16#09; strict_array -> 16#0A; date -> 16#0B; long_string -> 16#0C; unsupported -> 16#0D; xml_document -> 16#0F; typed_object -> 16#10 end. -spec from_int(integer()) -> {ok, marker()} | {error, integer()}. from_int(Value) -> case Value of 16#00 -> {ok, number}; 16#01 -> {ok, boolean}; 16#02 -> {ok, string}; 16#03 -> {ok, object}; 16#05 -> {ok, null}; 16#06 -> {ok, undefined}; 16#07 -> {ok, reference}; 16#08 -> {ok, ecma_array}; 16#09 -> {ok, object_end}; 16#0A -> {ok, strict_array}; 16#0B -> {ok, date}; 16#0C -> {ok, long_string}; 16#0D -> {ok, unsupported}; 16#0F -> {ok, xml_document}; 16#10 -> {ok, typed_object}; _ -> {error, Value} end.