Rendro.EmbeddedFileRegistry (Rendro v0.2.0)

Copy Markdown View Source

Pure data registry for document-owned embedded-file registrations.

Summary

Functions

Fetches a registered embedded-file descriptor.

Registers an embedded file as owned bytes plus explicit authored metadata.

Types

descriptor()

@type descriptor() :: %{
  :logical_name => logical_name(),
  :source_kind => :binary | :path,
  :bytes => binary(),
  :byte_size => non_neg_integer(),
  :filename => String.t(),
  :mime_type => String.t(),
  optional(:description) => String.t(),
  optional(:created_at) => DateTime.t(),
  optional(:modified_at) => DateTime.t()
}

logical_name()

@type logical_name() :: atom()

source()

@type source() :: {:binary, binary()} | {:path, Path.t()}

t()

@type t() :: %Rendro.EmbeddedFileRegistry{
  files: %{optional(logical_name()) => descriptor()}
}

Functions

fetch(registry, logical_name)

@spec fetch(t(), logical_name()) :: {:ok, descriptor()} | :error

Fetches a registered embedded-file descriptor.

new()

@spec new() :: t()

register(registry, logical_name, source, metadata)

@spec register(t(), logical_name(), source(), keyword()) :: t()

Registers an embedded file as owned bytes plus explicit authored metadata.