UNPKG

@firestitch/address

Version:
28 lines 3.38 kB
export function searchCountryRegions(text, regions, limit) { let matches = []; text = text.toLowerCase().trim(); regions.forEach((region) => { const regionName = region.name.toLowerCase().trim(); const index = regionName.indexOf(text); if (index > -1) { matches.push({ index, region, }); } }); matches.sort((a, b) => { if (a.index < b.index) { return -1; } else if (a.index > b.index) { return 1; } return 0; }); if (limit) { matches = matches.slice(0, limit); } return matches.map((match) => match.region); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvdW50cnktcmVnaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaGVscGVycy9zZWFyY2gtY291bnRyeS1yZWdpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsSUFBWSxFQUNaLE9BQTZDLEVBQzdDLEtBQWM7SUFFZCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFakIsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDekIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLEtBQUs7Z0JBQ0wsTUFBTTthQUNQLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEIsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ1osQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBRUQsT0FBTyxDQUFDLENBQUM7SUFFWCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQWRkcmVzc0NvdW50cnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FkZHJlc3MtY291bnRyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUFkZHJlc3NSZWdpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FkZHJlc3MtcmVnaW9uLmludGVyZmFjZSc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHNlYXJjaENvdW50cnlSZWdpb25zKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHJlZ2lvbnM6IElBZGRyZXNzUmVnaW9uW10gfCBJQWRkcmVzc0NvdW50cnlbXSxcbiAgbGltaXQ/OiBudW1iZXIsXG4pOiBJQWRkcmVzc1JlZ2lvbltdIHtcbiAgbGV0IG1hdGNoZXMgPSBbXTtcblxuICB0ZXh0ID0gdGV4dC50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgcmVnaW9ucy5mb3JFYWNoKChyZWdpb24pID0+IHtcbiAgICBjb25zdCByZWdpb25OYW1lID0gcmVnaW9uLm5hbWUudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgY29uc3QgaW5kZXggPSByZWdpb25OYW1lLmluZGV4T2YodGV4dCk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgbWF0Y2hlcy5wdXNoKHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHJlZ2lvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgbWF0Y2hlcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgaWYgKGEuaW5kZXggPCBiLmluZGV4KSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfSBlbHNlIGlmIChhLmluZGV4ID4gYi5pbmRleCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG5cbiAgfSk7XG5cbiAgaWYgKGxpbWl0KSB7XG4gICAgbWF0Y2hlcyA9IG1hdGNoZXMuc2xpY2UoMCwgbGltaXQpO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoZXMubWFwKChtYXRjaCkgPT4gbWF0Y2gucmVnaW9uKTtcbn1cbiJdfQ==