Skip to content

Commit

Permalink
errors: improve classRegExp in errors.js
Browse files Browse the repository at this point in the history
PR-URL: nodejs#49643
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
  • Loading branch information
Uzlopak authored and alexfernandez committed Nov 1, 2023
1 parent f143c29 commit 4506b75
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
23 changes: 23 additions & 0 deletions benchmark/error/error-class-reg-exp.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
'use strict';

const common = require('../common.js');

const bench = common.createBenchmark(main, {
n: [1e5],
}, {
flags: ['--expose-internals'],
});

const instances = Array.from({ length: 1000 }).map(() => 'Uint8Array');

function main({ n }) {
const {
codes: {
ERR_INVALID_ARG_TYPE,
},
} = require('internal/errors');
bench.start();
for (let i = 0; i < n; ++i)
new ERR_INVALID_ARG_TYPE('target', instances, 'test');
bench.end(n);
}
3 changes: 2 additions & 1 deletion lib/internal/errors.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ const isWindows = process.platform === 'win32';
const messages = new SafeMap();
const codes = {};

const classRegExp = /^([A-Z][a-z0-9]*)+$/;
const classRegExp = /^[A-Z][a-zA-Z0-9]*$/;

// Sorted by a rough estimate on most frequently used entries.
const kTypes = [
'string',
Expand Down

0 comments on commit 4506b75

Please sign in to comment.