{
  "methods": {
    "has": {
      "desc": "Check if storage item exists",
      "params": {
        "key": {
          "type": "String",
          "desc": "Entry key",
          "required": true,
          "examples": [ "userId" ]
        }
      },
      "returns": {
        "type": "Boolean",
        "desc": "Does the item exists or not?"
      }
    },

    "getLength": {
      "desc": "Get storage number of entries",
      "returns": {
        "type": "Number",
        "desc": "Number of entries",
        "examples": [ 21 ]
      }
    },

    "getItem": {
      "desc": "Get a storage item value",
      "params": {
        "key": {
          "type": "String",
          "desc": "Entry key",
          "required": true,
          "examples": [ "userId" ]
        }
      },
      "returns": {
        "type": "Any",
        "desc": "Storage item value",
        "examples": [ "john12" ]
      }
    },

    "getIndex": {
      "desc": "Get the storage item value at specific index",
      "params": {
        "index": {
          "type": "Number",
          "desc": "Entry index",
          "required": true,
          "examples": [ 5 ]
        }
      },
      "returns": {
        "type": "Any",
        "desc": "Storage item value",
        "examples": [ "john12" ]
      }
    },

    "getAll": {
      "desc": "Retrieve all items in storage",
      "returns": {
        "type": "Object",
        "desc": "Object syntax: item name as Object key and its value",
        "examples": [
          "{ userId: 'jon12', timesLoggedIn: 14 }"
        ]
      }
    },

    "set": {
      "desc": "Set item in storage",
      "params": {
        "key": {
          "type": "String",
          "desc": "Entry key",
          "required": true,
          "examples": [ "userId" ]
        },

        "value": {
          "type": "Any",
          "desc": "Entry value",
          "required": true,
          "examples": [ "john12" ]
        }
      }
    },

    "remove": {
      "desc": "Remove a storage item",
      "params": {
        "key": {
          "type": "String",
          "desc": "Storage key",
          "required": true,
          "examples": [ "userId" ]
        }
      }
    },

    "clear": {
      "desc": "Remove everything from the storage"
    },

    "isEmpty": {
      "desc": "Determine if storage has any items",
      "returns": {
        "type": "Boolean",
        "desc": "Tells if storage is empty or not"
      }
    }
  }
}
