Skip to content

Commit 238af6a

Browse files
authored
src: replace std::array with static arrays in contextify
PR-URL: #58580 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent d0b6194 commit 238af6a

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/node_contextify.cc

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,7 +1622,7 @@ MaybeLocal<Object> ContextifyFunction::CompileFunctionAndCacheResult(
16221622
// While top-level `await` is not permitted in CommonJS, it returns the same
16231623
// error message as when `await` is used in a sync function, so we don't use it
16241624
// as a disambiguation.
1625-
static std::vector<std::string_view> esm_syntax_error_messages = {
1625+
static const auto esm_syntax_error_messages = std::array<std::string_view, 3>{
16261626
"Cannot use import statement outside a module", // `import` statements
16271627
"Unexpected token 'export'", // `export` statements
16281628
"Cannot use 'import.meta' outside a module"}; // `import.meta` references
@@ -1637,14 +1637,15 @@ static std::vector<std::string_view> esm_syntax_error_messages = {
16371637
// - Top-level `await`: if the user writes `await` at the top level of a
16381638
// CommonJS module, it will throw a syntax error; but the same code is valid
16391639
// in ESM.
1640-
static std::vector<std::string_view> throws_only_in_cjs_error_messages = {
1641-
"Identifier 'module' has already been declared",
1642-
"Identifier 'exports' has already been declared",
1643-
"Identifier 'require' has already been declared",
1644-
"Identifier '__filename' has already been declared",
1645-
"Identifier '__dirname' has already been declared",
1646-
"await is only valid in async functions and "
1647-
"the top level bodies of modules"};
1640+
static const auto throws_only_in_cjs_error_messages =
1641+
std::array<std::string_view, 6>{
1642+
"Identifier 'module' has already been declared",
1643+
"Identifier 'exports' has already been declared",
1644+
"Identifier 'require' has already been declared",
1645+
"Identifier '__filename' has already been declared",
1646+
"Identifier '__dirname' has already been declared",
1647+
"await is only valid in async functions and "
1648+
"the top level bodies of modules"};
16481649

16491650
// If cached_data is provided, it would be used for the compilation and
16501651
// the on-disk compilation cache from NODE_COMPILE_CACHE (if configured)

0 commit comments

Comments
 (0)