From b32049bfdf40089e341c2fa2c8a200545488a59c Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Fri, 6 May 2022 16:12:24 -0700 Subject: [PATCH] restore String conversion --- src/runtime/internal/ssr.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/runtime/internal/ssr.ts b/src/runtime/internal/ssr.ts index 7fee80a0ec..2c7d24a2cd 100644 --- a/src/runtime/internal/ssr.ts +++ b/src/runtime/internal/ssr.ts @@ -76,8 +76,8 @@ const CONTENT_REGEX = /[&<]/g; * Note: this method is performance sensitive and has been optimized * https://github.com/sveltejs/svelte/pull/5701 */ -export function escape(html: string, is_attr = false) { - if (typeof html !== 'string') return html; +export function escape(value: unknown, is_attr = false) { + const str = String(value); const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX; pattern.lastIndex = 0; @@ -85,14 +85,14 @@ export function escape(html: string, is_attr = false) { let escaped = ''; let last = 0; - while (pattern.test(html)) { + while (pattern.test(str)) { const i = pattern.lastIndex - 1; - const ch = html[i]; - escaped += html.substring(last, i) + (ch === '&' ? '&' : (ch === '"' ? '"' : '<')); + const ch = str[i]; + escaped += str.substring(last, i) + (ch === '&' ? '&' : (ch === '"' ? '"' : '<')); last = i + 1; } - return escaped + html.substring(last); + return escaped + str.substring(last); } export function escape_attribute_value(value) {