#ifndef NAMEDICTIONARY_h
#define NAMEDICTIONARY_h

typedef struct {
  String key;
  String value;
} keyValuePair;

class NameDictionary {

  keyValuePair data[50] = {
    {"1a6b16", "joe"},
    {"30d6ed", "fin"},
    {"30d00b", "jim"},
    {"30ce48", "sam"},
    {"30db8b", "tim"},
  };

  int _arraySize;

  public:
    NameDictionary() {
      _arraySize = sizeof(data) / sizeof(keyValuePair);
    };

    String get(String key) {
      for (int i = 0; i < _arraySize; i++) {
        if (key == data[i].key) {
          return data[i].value;
        }
      }
      return key;
    };

    void list() {
      for (int i = 0; i < _arraySize; i++) {
        Serial.println(data[i].key + " : " + data[i].value);
      }
    };

    void values() {
      for (int i = 0; i < _arraySize; i++) {
        Serial.println(data[i].value);
      }
    };

    void keys() {
      for (int i = 0; i < _arraySize; i++) {
        Serial.println(data[i].key);
      }
    };

    int length() {
      return _arraySize;
    }
};

#endif