/**
* Sets a new key with given value, will overwrite an existing key.
*
- * @param {string} key key
- * @param {*} value value
+ * @param {(number|string)} key key
+ * @param {?} value value
*/
set: function(key, value) {
if (typeof key === 'number') key = key.toString();
/**
* Removes a key from the dictionary.
*
- * @param {string} key key
+ * @param {(number|string)} key key
*/
'delete': function(key) {
if (typeof key === 'number') key = key.toString();
/**
* Returns true if dictionary contains a value for given key and is not undefined.
*
- * @param {string} key key
+ * @param {(number|string)} key key
* @return {boolean} true if key exists and value is not undefined
*/
has: function(key) {
/**
* Retrieves a value by key, returns undefined if there is no match.
*
- * @param {string} key key
+ * @param {(number|string)} key key
* @return {*}
*/
get: function(key) {