Add Robot_JoyIt driver

This commit is contained in:
2026-01-17 16:50:07 +01:00
parent e9e50acf5f
commit 0cfb4d5a95
15848 changed files with 570836 additions and 268976 deletions

View File

@@ -121,6 +121,22 @@ function charFromCodepoint(c) {
);
}
// set a property of a literal object, while protecting against prototype pollution,
// see https://github.com/nodeca/js-yaml/issues/164 for more details
function setProperty(object, key, value) {
// used for this specific key only because Object.defineProperty is slow
if (key === '__proto__') {
Object.defineProperty(object, key, {
configurable: true,
enumerable: true,
writable: true,
value: value
});
} else {
object[key] = value;
}
}
var simpleEscapeCheck = new Array(256); // integer, for fast access
var simpleEscapeMap = new Array(256);
for (var i = 0; i < 256; i++) {
@@ -278,7 +294,7 @@ function mergeMappings(state, destination, source, overridableKeys) {
key = sourceKeys[index];
if (!_hasOwnProperty.call(destination, key)) {
destination[key] = source[key];
setProperty(destination, key, source[key]);
overridableKeys[key] = true;
}
}
@@ -334,7 +350,7 @@ function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valu
state.position = startPos || state.position;
throwError(state, 'duplicated mapping key');
}
_result[keyNode] = valueNode;
setProperty(_result, keyNode, valueNode);
delete overridableKeys[keyNode];
}