Write plain MessagePack without metadata for deserialization?

If false, the default, serialize to support deserialization:

  • Each object is encapsulated in an array that contains metadata and the actual object attributes in a map. The metadata includes the type name and references to already serialized object. This information supports deserializing the message, including cycles.
  • Preserve the Nit Char and Byte types as an object.
  • The generated MessagePack is standard and can be read by non-Nit programs. However, it contains some complexity that may make it harder to use.

If true, serialize only the real data or non-Nit programs:

  • Nit objects are serialized to pure and standard MessagePack so they can be easily read by non-Nit programs.
  • Nit objects are serialized at every reference, so they may be duplicated. It is easier to read but it creates a larger output and it does not support cycles. Cyclic references are replaced by null.
  • The serialized data can only be deserialized to their expected static types, losing the knowledge of their dynamic type.

Property definitions

msgpack $ MsgPackSerializer :: plain_msgpack
	# Write plain MessagePack without metadata for deserialization?
	#
	# If `false`, the default, serialize to support deserialization:
	#
	# * Each object is encapsulated in an array that contains metadata and
	#   the actual object attributes in a map. The metadata includes the type
	#   name and references to already serialized object. This information
	#   supports deserializing the message, including cycles.
	# * Preserve the Nit `Char` and `Byte` types as an object.
	# * The generated MessagePack is standard and can be read by non-Nit programs.
	#   However, it contains some complexity that may make it harder to use.
	#
	# If `true`, serialize only the real data or non-Nit programs:
	#
	# * Nit objects are serialized to pure and standard MessagePack so they can
	#   be easily read by non-Nit programs.
	# * Nit objects are serialized at every reference, so they may be duplicated.
	#   It is easier to read but it creates a larger output and it does not support
	#   cycles. Cyclic references are replaced by `null`.
	# * The serialized data can only be deserialized to their expected static
	#   types, losing the knowledge of their dynamic type.
	var plain_msgpack = false is writable
lib/msgpack/serialization_write.nit:39,2--60,38