@@ -41,7 +41,6 @@ import {searchResults as packageResults} from '../generate/component/package/sea
4141import { searchPreview as projectPreview } from '../generate/component/project/search-preview.js'
4242import { searchEmpty as projectEmpty } from '../generate/component/project/search-empty.js'
4343import { searchResults as projectResults } from '../generate/component/project/search-results.js'
44- import { unique } from '../generate/util/unique.js'
4544import { asc , desc } from '../generate/util/sort.js'
4645
4746const Index = flexsearch . Index
@@ -80,7 +79,7 @@ function init() {
8079 create ( search ) {
8180 return new Promise ( ( resolve ) => {
8281 window . requestAnimationFrame ( ( ) => {
83- keywords . forEach ( ( d ) => search . index . add ( d , d ) )
82+ for ( const d of keywords ) search . index . add ( d , d )
8483 resolve ( undefined )
8584 } )
8685 } )
@@ -106,7 +105,7 @@ function init() {
106105 create ( search ) {
107106 return new Promise ( ( resolve ) => {
108107 window . requestAnimationFrame ( ( ) => {
109- topics . forEach ( ( d ) => search . index . add ( d , d ) )
108+ for ( const d of topics ) search . index . add ( d , d )
110109 resolve ( undefined )
111110 } )
112111 } )
@@ -143,12 +142,11 @@ function init() {
143142 const end = start + size
144143 const slice = names . slice ( start , end )
145144
146- slice . forEach ( ( d ) =>
145+ for ( const d of slice )
147146 search . index . add (
148147 d ,
149148 d . split ( '/' ) . join ( ' ' ) + ' ' + data . packageByName [ d ] . description
150149 )
151- )
152150
153151 if ( slice . length === 0 ) {
154152 resolve ( undefined )
@@ -189,12 +187,12 @@ function init() {
189187 const end = start + size
190188 const slice = repos . slice ( start , end )
191189
192- slice . forEach ( ( d ) => {
190+ for ( const d of slice ) {
193191 search . index . add (
194192 d ,
195193 d . split ( '/' ) . join ( ' ' ) + ' ' + data . projectByRepo [ d ] . description
196194 )
197- } )
195+ }
198196
199197 if ( slice . length === 0 ) {
200198 resolve ( undefined )
@@ -257,16 +255,16 @@ function init() {
257255 }
258256
259257 /**
260- * @param {HTMLElementEventMap['submit'] } ev
258+ * @param {HTMLElementEventMap['submit'] } event
261259 * @returns {undefined }
262260 */
263- function onsubmit ( ev ) {
261+ function onsubmit ( event ) {
264262 const url = new URL ( loc . href )
265263 const current = clean ( url . searchParams . get ( parameter ) )
266264 assert ( $input instanceof HTMLInputElement )
267265 const value = clean ( $input . value )
268266
269- ev . preventDefault ( )
267+ event . preventDefault ( )
270268
271269 if ( current === value ) {
272270 return
@@ -278,7 +276,11 @@ function init() {
278276 url . searchParams . delete ( parameter )
279277 }
280278
281- history . pushState ( { } , '' , url . pathname + url . search . replace ( / % 2 0 / g, '+' ) )
279+ history . pushState (
280+ { } ,
281+ '' ,
282+ url . pathname + url . search . replaceAll ( '%20' , '+' )
283+ )
282284
283285 search ( value )
284286 }
@@ -295,16 +297,18 @@ function init() {
295297
296298 if ( ! query ) {
297299 $release . style . removeProperty ( 'display' )
298- searches . forEach ( ( search ) => replace ( search , [ ] , query ) )
300+ for ( const search of searches ) replace ( search , [ ] , query )
299301 return
300302 }
301303
302304 $release . style . display = 'block'
303305
304- searches . forEach ( ( search ) => {
306+ for ( const search of searches ) {
305307 search . index . searchAsync ( query , { suggest : true } , ( result ) => {
306- const clean = /** @type {Array<string> } */ ( result . filter ( unique ) )
307- const weighted = desc ( clean , weight )
308+ const clean = [ ...new Set ( /** @type {Array<string> } */ ( result ) ) ]
309+ const weighted = desc ( clean , function ( d ) {
310+ return search . weight ( d )
311+ } )
308312
309313 replace ( search , asc ( clean , combined ) , query )
310314
@@ -316,15 +320,7 @@ function init() {
316320 return ( clean . indexOf ( d ) + weighted . indexOf ( d ) ) / 2
317321 }
318322 } )
319-
320- /**
321- * @param {string } d
322- * @returns {number }
323- */
324- function weight ( d ) {
325- return search . weight ( d )
326- }
327- } )
323+ }
328324 }
329325 } )
330326}
0 commit comments