/opt/canhelp/node_modules/sucrase/dist/util
NameSizeModeActions
elideImportEquals.js7430644editdlrm
formatTokens.js24220644editdlrm
getClassInfo.js114490644editdlrm
getDeclarationInfo.js15490644editdlrm
getIdentifierNames.js4720644editdlrm
getImportExportSpecifierInfo.js21310644editdlrm
getJSXPragmaInfo.js5890644editdlrm
getNonTypeIdentifiers.js20740644editdlrm
getTSImportedNames.js26590644editdlrm
isAsyncOperation.js13720644editdlrm
isExportFrom.js7420644editdlrm
isIdentifier.js19100644editdlrm
removeMaybeImportAttributes.js7840644editdlrm
shouldElideDefaultExport.js12770644editdlrm
Edit: /opt/canhelp/node_modules/sucrase/dist/util/isIdentifier.js (1910B)
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _identifier = require('../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. */ function isIdentifier(name) { if (name.length === 0) { return false; } if (!_identifier.IS_IDENTIFIER_START[name.charCodeAt(0)]) { return false; } for (let i = 1; i < name.length; i++) { if (!_identifier.IS_IDENTIFIER_CHAR[name.charCodeAt(i)]) { return false; } } return !RESERVED_WORDS.has(name); } exports.default = isIdentifier;