Skip to content

Commit 3c6ffc7

Browse files
JoacoEstebanwoutdp
authored andcommitted
decode slots as utf8
1 parent 51fe81c commit 3c6ffc7

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

assets/js/live_svelte/hooks.svelte.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {normalizeComponents} from "./utils"
1+
import {decodeB64ToUTF8, normalizeComponents} from "./utils"
22
import {mount, hydrate, unmount, createRawSnippet} from "svelte"
33

44
function getAttributeJson(ref, attributeName) {
@@ -12,7 +12,7 @@ function getSlots(ref) {
1212
for (const slotName in getAttributeJson(ref, "data-slots")) {
1313
const base64 = getAttributeJson(ref, "data-slots")[slotName]
1414
const element = document.createElement("div")
15-
element.innerHTML = atob(base64).trim()
15+
element.innerHTML = decodeB64ToUTF8(base64).trim()
1616

1717
const snippet = createRawSnippet(name => {
1818
return {

assets/js/live_svelte/utils.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,8 @@ export function normalizeComponents(components) {
99
}
1010
return normalized
1111
}
12+
13+
export function decodeB64ToUTF8(b64) {
14+
const chars = Uint8Array.from(atob(b64), c => c.charCodeAt(0))
15+
return new TextDecoder().decode(chars)
16+
}

0 commit comments

Comments
 (0)