Skip to content

Commit e36f14b

Browse files
committed
splitter removed
1 parent dbb235c commit e36f14b

File tree

3 files changed

+5
-12
lines changed

3 files changed

+5
-12
lines changed

src/components/TypeAnimation/index.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const TypeAnimation = forwardRef<
2020
omitDeletionAnimation = false,
2121
preRenderFirstString = false,
2222
wrapper = 'span',
23-
splitter = (text: string): ReadonlyArray<string> => [...text],
2423
cursor = true,
2524
style,
2625
...rest
@@ -87,7 +86,6 @@ const TypeAnimation = forwardRef<
8786

8887
type(
8988
typeRef.current,
90-
splitter,
9189
keyStrokeDelayTyping,
9290
keyStrokeDelayDeleting,
9391
omitDeletionAnimation,

src/components/TypeAnimation/index.types.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@ interface Props {
88
wrapper?: Wrapper;
99
cursor?: boolean;
1010
speed?: Speed | GranularSpeed;
11-
splitter?: StringSplitter;
1211
deletionSpeed?: Speed | GranularSpeed;
1312
omitDeletionAnimation?: boolean;
1413
preRenderFirstString?: boolean;
1514
}
1615

17-
export type StringSplitter = (text: string) => ReadonlyArray<string>;
18-
1916
export type GranularSpeed = {
2017
type: 'keyStrokeDelayInMs';
2118
value: number;

src/typical.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ const OP_CODE_WRITING = 'WRITING';
66

77
export async function type(
88
node: HTMLElementTagNameMap[Wrapper],
9-
splitter: StringSplitter,
109
speed: number,
1110
deletionSpeed: number,
1211
omitDeletionAnimation: boolean,
@@ -15,14 +14,14 @@ export async function type(
1514
for (const arg of args) {
1615
switch (typeof arg) {
1716
case 'string':
18-
await edit(node, splitter, arg, speed, deletionSpeed, omitDeletionAnimation);
17+
await edit(node, arg, speed, deletionSpeed, omitDeletionAnimation);
1918
break;
2019
case 'number':
2120
await wait(arg);
2221
break;
2322
case 'function':
2423
// when typeloop is passed from the TypeAnimation component, this causes an infinite, recursive call-loop here
25-
await arg(node, splitter, speed, deletionSpeed, omitDeletionAnimation, ...args);
24+
await arg(node, speed, deletionSpeed, omitDeletionAnimation, ...args);
2625
break;
2726
default:
2827
await arg;
@@ -32,7 +31,6 @@ export async function type(
3231

3332
async function edit(
3433
node: HTMLElementTagNameMap[Wrapper],
35-
splitter: StringSplitter,
3634
text: string,
3735
speed: number,
3836
deletionSpeed: number,
@@ -43,7 +41,7 @@ async function edit(
4341
const overlap = getOverlap(nodeContent, text);
4442
await perform(
4543
node,
46-
[...deleter(nodeContent, splitter, overlap), ...writer(text, splitter, overlap)],
44+
[...deleter(nodeContent, overlap), ...writer(text, overlap)],
4745
speed,
4846
deletionSpeed,
4947
omitDeletionAnimation
@@ -101,7 +99,7 @@ function* editor(edits: ReadonlyArray<string>) {
10199
}
102100

103101
function* writer(text: string, splitter: StringSplitter, startIndex = 0) {
104-
const splitText = splitter(text);
102+
const splitText = [...text];
105103
const endIndex = splitText.length;
106104

107105
while (startIndex < endIndex) {
@@ -110,7 +108,7 @@ function* writer(text: string, splitter: StringSplitter, startIndex = 0) {
110108
}
111109

112110
function* deleter(text: string, splitter: StringSplitter, startIndex = 0) {
113-
const splitText = splitter(text);
111+
const splitText = [...text];
114112
let endIndex = splitText.length;
115113

116114
while (endIndex > startIndex) {

0 commit comments

Comments
 (0)