cense . this
* * * * The * The nested * @ * The value (,nestedKeyvalue)java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
/** * WeakMapMap is a weakmap collection dual-keyed using an object and a string. * This is useful for keeping data compartmentalized e.g. grouped by tab. * * It's name comes from the internal structure which maps a WeakMap to a map, * which contains the target data. * * Usage: * const myWeakMapMap = new WeakMapMap(); * const key = { randomObject: true }; * myWeakMapMap.set(key, "text1", "Some value1"); * myWeakMapMap.set(key, "text2", "Some value2"); * myWeakMapMap.get(key, "text1"); // Returns "Some value1" * myWeakMapMap.get(key, "text2"); // Returns "Some value2" * myWeakMapMap.has(key, "text1"); // Returns true * myWeakMapMap.has(key, "notakey"); // Returns false
*/
"use strict";
class WeakMapMap {
constructor() { this.clear();
}
/** * Returns the value associated to the key and nestedKey, or undefined if * there is none. * * @param {Object} key * The key associated with the desired value. * @param {String} nestedKey * The nested key associated with the desired value.
*/
get(key, nestedKey) { if (!this.has(key, nestedKey)) { return undefined;
}
returnthis.store.get(key).get(nestedKey);
}
/** * Returns the value associated to the key and nestedKey, or undefined if * there is none. * * @param {Object} key * The key associated with the desired value. * @param {String} nestedKey * The nested key associated with the desired value.
*/
has(key, nestedKey) { const hasKey = this.store.has(key);
/** * * @param {Object} key * The key associated with the value. * @param {String} nestedKey * The nested key associated with the value. * @param {any} value * The value to add.
*/
set(key, nestedKey, value) { if (!this.store.has(key)) { this.store.set(key, new Map());
}
/** * Removes the value associated to the key and nestedKey. * * @param {Object} key * The key associated with the desired value. * @param {String} nestedKey * The nested key associated with the desired value. * * @returns True if an element in the store has been removed successfully. * False if the key is not found in the store.
*/ delete(key, nestedKey) { if (!this.store.has(key)) { returnfalse;
}
returnthis.store.get(key).delete(nestedKey);
}
/** * Clear the store.
*/
clear() { this.store = new WeakMap();
}
}
module.exports = WeakMapMap;
WeakMap();
}
}
module.exports = WeakMapMap;
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.