rec_val.go 1017 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Package rec_val -- запись KV-хранилища.
  2. package rec_val
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0"
  5. )
  6. // IRecValFix -- значение записи.
  7. type IRecValFix interface {
  8. // Byte -- возвращает байтовое значение
  9. Byte() []byte
  10. }
  11. // RecVal -- запись KV-хранилища.
  12. //
  13. // Запись в файле значений бакета лежит
  14. // в виде JSON-строки, без форматирования для того,
  15. // чтобы можно было файл значений бакета писать построчно.
  16. type RecVal struct {
  17. Val_ []byte `json:"val"` // Значение
  18. }
  19. // NewRecVal -- создание нового значения KV-хранилища.
  20. func NewRecVal(val []byte) *RecVal {
  21. lev0.If(val == nil).Hassert("NewRecVal: key is empty")
  22. sf := &RecVal{
  23. Val_: val,
  24. }
  25. _ = IRecValFix(sf)
  26. return sf
  27. }
  28. // Byte -- байтовое значение.
  29. func (sf *RecVal) Byte() []byte {
  30. return sf.Val_
  31. }