123456789101112131415161718192021222324252627282930 |
- "use strict";
- const { SAFE_IDENTIFIER, RESERVED_IDENTIFIER } = require("./propertyName");
- const propertyAccess = (properties, start = 0) => {
- let str = "";
- for (let i = start; i < properties.length; i++) {
- const p = properties[i];
- if (`${Number(p)}` === p) {
- str += `[${p}]`;
- } else if (SAFE_IDENTIFIER.test(p) && !RESERVED_IDENTIFIER.has(p)) {
- str += `.${p}`;
- } else {
- str += `[${JSON.stringify(p)}]`;
- }
- }
- return str;
- };
- module.exports = propertyAccess;
|