summaryrefslogtreecommitdiff
path: root/ext/js/general/object-property-accessor.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/js/general/object-property-accessor.js')
-rw-r--r--ext/js/general/object-property-accessor.js41
1 files changed, 25 insertions, 16 deletions
diff --git a/ext/js/general/object-property-accessor.js b/ext/js/general/object-property-accessor.js
index d818c9d1..b8d6ddc5 100644
--- a/ext/js/general/object-property-accessor.js
+++ b/ext/js/general/object-property-accessor.js
@@ -207,16 +207,21 @@ export class ObjectPropertyAccessor {
v === 0x5f // '_'
) {
value += c;
- } else if (v === 0x5b) { // '['
- pathArray.push(value);
- value = '';
- state = 'open-bracket';
- } else if (v === 0x2e) { // '.'
- pathArray.push(value);
- value = '';
- state = 'id-start';
} else {
- throw new Error(`Unexpected character: ${c}`);
+ switch (v) {
+ case 0x5b: // '['
+ pathArray.push(value);
+ value = '';
+ state = 'open-bracket';
+ break;
+ case 0x2e: // '.'
+ pathArray.push(value);
+ value = '';
+ state = 'id-start';
+ break;
+ default:
+ throw new Error(`Unexpected character: ${c}`);
+ }
}
break;
case 'open-bracket': // Open bracket
@@ -262,15 +267,19 @@ export class ObjectPropertyAccessor {
throw new Error(`Unexpected character: ${c}`);
}
break;
- case 'next': // Expecting . or [
- if (v === 0x5b) { // '['
- state = 'open-bracket';
- } else if (v === 0x2e) { // '.'
- state = 'id-start';
- } else {
- throw new Error(`Unexpected character: ${c}`);
+ case 'next': { // Expecting . or [
+ switch (v) {
+ case 0x5b: // '['
+ state = 'open-bracket';
+ break;
+ case 0x2e: // '.'
+ state = 'id-start';
+ break;
+ default:
+ throw new Error(`Unexpected character: ${c}`);
}
break;
+ }
}
}
switch (state) {