MCPcopy Create free account
hub / github.com/DHTMLX/gantt / normalizeKeyMap

Function normalizeKeyMap

samples/common/codehighlight/codemirror.js:6732–6757  ·  view source on GitHub ↗
(keymap)

Source from the content-addressed store, hash-verified

6730 // new normalized keymap, and then updates the old object to reflect
6731 // this.
6732 function normalizeKeyMap(keymap) {
6733 var copy = {};
6734 for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) {
6735 var value = keymap[keyname];
6736 if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue }
6737 if (value == "...") { delete keymap[keyname]; continue }
6738
6739 var keys = map(keyname.split(" "), normalizeKeyName);
6740 for (var i = 0; i < keys.length; i++) {
6741 var val = (void 0), name = (void 0);
6742 if (i == keys.length - 1) {
6743 name = keys.join(" ");
6744 val = value;
6745 } else {
6746 name = keys.slice(0, i + 1).join(" ");
6747 val = "...";
6748 }
6749 var prev = copy[name];
6750 if (!prev) { copy[name] = val; }
6751 else if (prev != val) { throw new Error("Inconsistent bindings for " + name) }
6752 }
6753 delete keymap[keyname];
6754 } }
6755 for (var prop in copy) { keymap[prop] = copy[prop]; }
6756 return keymap
6757 }
6758
6759 function lookupKey(key, map, handle, context) {
6760 map = getKeyMap(map);

Callers

nothing calls this directly

Calls 1

mapFunction · 0.85

Tested by

no test coverage detected