From 639d33846a6ebf4c08711fa6d42fb464813cf352 Mon Sep 17 00:00:00 2001 From: Saran Tanpituckpong Date: Sat, 3 Jul 2021 19:20:22 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Change=20from=20`RegEx`=20to=20`?= =?UTF-8?q?String.startsWith`=20for=20safely=20check=20query=20text?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #94. --- src/lib/getPossibles.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/getPossibles.ts b/src/lib/getPossibles.ts index 0d5aca8..09663c8 100644 --- a/src/lib/getPossibles.ts +++ b/src/lib/getPossibles.ts @@ -15,9 +15,12 @@ function getPossibles(dataSource: ReadonlyArray, target: Target, q const newDataSource = dataSource.slice(0); // Prevent mutate the original data source. Clone it! const key = translateTarget(target); - const pattern = new RegExp(`^${query.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1')}`); const possibles: AddressEntry[] = newDataSource.filter(item => { - return item[key] ? pattern.test(`${item[key]}`) : false; + if (!item[key]) { + return false; + } + + return `${item[key]}`.startsWith(query); }); possibles.sort((a, b) => { let aSimilarity = calculateSimilarity(query, a);