Dala.Blob (dala v0.0.3)

Copy Markdown View Source

Binary data handling via blob references.

Blobs are stored in native memory and referenced by an opaque handle.

Examples

# Create a blob from binary data
blob_ref = Dala.Blob.create(<<1, 2, 3>>, "application/octet-stream")

# Slice a blob
sliced = Dala.Blob.slice(blob_ref, 0, 2)

# Convert to base64
base64 = Dala.Blob.to_base64(blob_ref)

# Save to file
{:ok, path} = Dala.Blob.to_file(blob_ref, "/tmp/blob.bin")

Summary

Functions

create(data, type \\ "application/octet-stream")

@spec create(binary(), String.t()) :: term()

slice(blob_ref, start_pos, end_pos)

@spec slice(term(), non_neg_integer(), non_neg_integer()) :: term()

to_base64(blob_ref)

@spec to_base64(term()) :: String.t() | nil

to_file(blob_ref, path)

@spec to_file(term(), String.t()) :: {:ok, String.t()} | {:error, atom()}