Skip to content

Commit 0f7af94

Browse files
Optimized benchmark implementation slightly
1 parent d81d10e commit 0f7af94

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

frameworks/keyed/voby/src/main.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const buildData = (() => {
3939
const label = $(`${adjective} ${color} ${noun}`);
4040
const selected = $(false);
4141
const className = $('');
42-
const datum = $( { id, label, selected, className } );
42+
const datum = $({ id, label, selected, className });
4343
data[i] = datum;
4444
};
4545
return data;
@@ -71,15 +71,14 @@ const Model = (() => {
7171
};
7272

7373
const add = (): void => {
74-
$data ( [...$data (), ...buildData ( 1000 )] );
74+
$data ( $data ().concat ( buildData ( 1000 ) ) );
7575
};
7676

7777
const update = (): void => {
7878
const data = $data ();
7979
for ( let i = 0, l = data.length; i < l; i += 10 ) {
80-
const $datum = data[i];
81-
const datum = $datum ();
82-
datum.label ( datum.label () + ' !!!' );
80+
const {label} = data[i]();
81+
label ( label () + ' !!!' );
8382
}
8483
};
8584

@@ -101,17 +100,20 @@ const Model = (() => {
101100
const remove = ( id: string ): void => {
102101
const data = $data ();
103102
const index = data.findIndex ( datum => datum.sample ().id === id );
104-
$data ( [...data.slice ( 0, index ), ...data.slice ( index + 1 )] );
103+
if ( index === -1 ) return;
104+
$data ( data.slice ( 0, index ).concat ( data.slice ( index + 1 ) ) );
105105
};
106106

107107
const select = ( id: string ): void => {
108108
if ( $selected ) {
109109
const datum = $selected ();
110110
datum.selected ( false );
111111
datum.className ( '' );
112+
$selected = null;
112113
}
113114
const data = $data ();
114-
const $datum = data.find ( datum => datum.sample ().id === id )!;
115+
const $datum = data.find ( datum => datum.sample ().id === id );
116+
if ( !$datum ) return;
115117
const datum = $datum ();
116118
datum.selected ( true );
117119
datum.className ( 'danger' );

0 commit comments

Comments
 (0)