rec_val.go 1.0 KB

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