reakit
Version:
Toolkit for building accessible rich web apps with React
88 lines (85 loc) • 1.44 kB
text/typescript
export function fetchFruits(value: string) {
const searchValue = new RegExp(escapeRegExp(value), "i");
return new Promise((resolve) => {
setTimeout(() => {
const matches = fruits
.filter((fruit) => fruit.search(searchValue) !== -1)
.slice(0, 10);
resolve(matches);
}, 250);
});
}
function escapeRegExp(string: string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
const fruits = [
"Acerola",
"Apple",
"Apricots",
"Avocado",
"Banana",
"Blackberries",
"Blackcurrant",
"Blueberries",
"Breadfruit",
"Cantaloupe",
"Carambola",
"Cherimoya",
"Cherries",
"Clementine",
"Coconut Meat",
"Cranberries",
"Custard-Apple",
"Date Fruit",
"Durian",
"Elderberries",
"Feijoa",
"Figs",
"Gooseberries",
"Grapefruit",
"Grapes",
"Guava",
"Honeydew Melon",
"Jackfruit",
"Java-Plum",
"Jujube Fruit",
"Kiwifruit",
"Kumquat",
"Lemon",
"Lime",
"Longan",
"Loquat",
"Lychee",
"Mandarin",
"Mango",
"Mangosteen",
"Mulberries",
"Nectarine",
"Olives",
"Orange",
"Papaya",
"Passion Fruit",
"Peaches",
"Pear",
"Persimmon",
"Pitaya",
"Pineapple",
"Pitanga",
"Plantain",
"Plums",
"Pomegranate",
"Prickly Pear",
"Prunes",
"Pummelo",
"Quince",
"Raspberries",
"Rhubarb",
"Rose-Apple",
"Sapodilla",
"Soursop",
"Strawberries",
"Sugar-Apple",
"Tamarind",
"Tangerine",
"Watermelon",
];