diff --git a/blogo/metadata.go b/blogo/metadata.go index fd15392..b9902f6 100644 --- a/blogo/metadata.go +++ b/blogo/metadata.go @@ -89,3 +89,19 @@ func (m *multiFSMetadata) Get(key string) (any, error) { return nil, ErrMetadataNotFound } +type immutableMetadata struct { + Metadata +} + +func ImmutableMetadata(m Metadata) Metadata { + return &immutableMetadata{m} +} + +func (m *immutableMetadata) Set(key string, v any, strict ...bool) error { + return ErrMetadataImmutable +} + +func (m *immutableMetadata) Delete(key string, strict ...bool) error { + return ErrMetadataImmutable +} +