Skip to content

Commit ab73d3f

Browse files
Hoist out regex creation
1 parent f5bae9e commit ab73d3f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/index.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ const UNNAMED = [];
1515

1616
const VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
1717

18+
const UNSAFE_NAME = /[\s\n\\/='"\0<>]/;
19+
1820
const noop = () => {};
1921

2022
/** Render Preact JSX + Components to an HTML string.
@@ -291,12 +293,12 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
291293
}
292294

293295
s = `<${nodeName}${s}>`;
294-
if (String(nodeName).match(/[\s\n\\/='"\0<>]/))
296+
if (UNSAFE_NAME.test(String(nodeName)))
295297
throw new Error(`${nodeName} is not a valid HTML tag name in ${s}`);
296298

297299
let isVoid =
298-
String(nodeName).match(VOID_ELEMENTS) ||
299-
(opts.voidElements && String(nodeName).match(opts.voidElements));
300+
VOID_ELEMENTS.test(String(nodeName)) ||
301+
(opts.voidElements && opts.voidElements.test(String(nodeName)));
300302
let pieces = [];
301303

302304
let children;

0 commit comments

Comments
 (0)