/opt/canhelp/node_modules/sucrase/dist/esm/util
NameSizeModeActions
elideImportEquals.js6270644editdlrm
formatTokens.js21380644editdlrm
getClassInfo.js108490644editdlrm
getDeclarationInfo.js13810644editdlrm
getIdentifierNames.js3690644editdlrm
getImportExportSpecifierInfo.js20050644editdlrm
getJSXPragmaInfo.js4940644editdlrm
getNonTypeIdentifiers.js16360644editdlrm
getTSImportedNames.js21590644editdlrm
isAsyncOperation.js12740644editdlrm
isExportFrom.js6280644editdlrm
isIdentifier.js18220644editdlrm
removeMaybeImportAttributes.js5990644editdlrm
shouldElideDefaultExport.js11540644editdlrm
Edit: /opt/canhelp/node_modules/sucrase/dist/esm/util/isIdentifier.js (1822B)
import {IS_IDENTIFIER_CHAR, IS_IDENTIFIER_START} from "../parser/util/identifier"; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar // Hard-code a list of reserved words rather than trying to use keywords or contextual keywords // from the parser, since currently there are various exceptions, like `package` being reserved // but unused and various contextual keywords being reserved. Note that we assume that all code // compiled by Sucrase is in a module, so strict mode words and await are all considered reserved // here. const RESERVED_WORDS = new Set([ // Reserved keywords as of ECMAScript 2015 "break", "case", "catch", "class", "const", "continue", "debugger", "default", "delete", "do", "else", "export", "extends", "finally", "for", "function", "if", "import", "in", "instanceof", "new", "return", "super", "switch", "this", "throw", "try", "typeof", "var", "void", "while", "with", "yield", // Future reserved keywords "enum", "implements", "interface", "let", "package", "private", "protected", "public", "static", "await", // Literals that cannot be used as identifiers "false", "null", "true", ]); /** * Determine if the given name is a legal variable name. * * This is needed when transforming TypeScript enums; if an enum key is a valid * variable name, it might be referenced later in the enum, so we need to * declare a variable. */ export default function isIdentifier(name) { if (name.length === 0) { return false; } if (!IS_IDENTIFIER_START[name.charCodeAt(0)]) { return false; } for (let i = 1; i < name.length; i++) { if (!IS_IDENTIFIER_CHAR[name.charCodeAt(i)]) { return false; } } return !RESERVED_WORDS.has(name); }