kv_pairs.go 538 B

123456789101112131415161718192021222324
  1. package store
  2. // When user list a directory, we add all the node into key-value pair slice
  3. type KeyValuePair struct {
  4. Key string `json:"key, omitempty"`
  5. Value string `json:"value,omitempty"`
  6. Dir bool `json:"dir,omitempty"`
  7. KVPairs kvPairs `json:"kvs,omitempty"`
  8. }
  9. type kvPairs []KeyValuePair
  10. // interfaces for sorting
  11. func (kvs kvPairs) Len() int {
  12. return len(kvs)
  13. }
  14. func (kvs kvPairs) Less(i, j int) bool {
  15. return kvs[i].Key < kvs[j].Key
  16. }
  17. func (kvs kvPairs) Swap(i, j int) {
  18. kvs[i], kvs[j] = kvs[j], kvs[i]
  19. }