Skip to content

Commit 6a15ec8

Browse files
authored
fix: fix to generate variable name (#53)
1 parent 0ec09ce commit 6a15ec8

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

.changeset/purple-wolves-add.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte-preprocess-delegate-events': patch
3+
---
4+
5+
fix to generate variable name

src/preprocess/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ const collectUsedVars = (parsed) => {
2929
* @returns {string}
3030
*/
3131
const getUniqueVarName = (usedVarNames, name) => {
32+
// Remove chars that can not use for variable name.
33+
const normalized = name.replace(/[^a-zA-Z_$]|^(\d)/g, '_');
3234
let i = 0;
3335
while (usedVarNames.has(`${name}${i}`)) {
3436
i++;
3537
}
36-
usedVarNames.add(`${name}${i}`);
37-
return `${name}${i}`;
38+
usedVarNames.add(`${normalized}${i}`);
39+
return `${normalized}${i}`;
3840
};
3941

4042
/**
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<script>
2+
export let tag = 'p';
3+
</script>
4+
5+
<svelte:element this={tag} on:*>Click Me</svelte:element>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<script>
2+
import { boundElements } from 'svelte-preprocess-delegate-events/runtime';
3+
import { registerDelegatedEvents } from 'svelte-preprocess-delegate-events/runtime';
4+
import { get_current_component } from 'svelte/internal';
5+
export let tag = 'p';
6+
7+
const svelte_element0 = boundElements();
8+
const component0 = get_current_component();
9+
$: registerDelegatedEvents(svelte_element0.bounds, component0, (handler) => handler, {});
10+
</script>
11+
12+
<svelte:element this={tag} bind:this={svelte_element0.bounds}>Click Me</svelte:element>

0 commit comments

Comments
 (0)