diff --git a/package-lock.json b/package-lock.json index 5841542..8056f4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,13 @@ { "name": "fast-fuzzy", - "version": "1.10.10", + "version": "1.12.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "fast-fuzzy", - "version": "1.10.10", + "version": "1.12.0", "license": "ISC", - "dependencies": { - "graphemesplit": "^2.4.1" - }, "devDependencies": { "@babel/cli": "^7.13.16", "@babel/core": "^7.14.0", @@ -2964,14 +2961,6 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "node_modules/graphemesplit": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/graphemesplit/-/graphemesplit-2.4.1.tgz", - "integrity": "sha512-j4a8V28F2gzJrCcDGNP8waSKgvUW2U5myB8BopF+PQMe6cAJjAVAEbPiZ+pgPN7Xgz6egNM1wzEuX8gtGG2ivw==", - "dependencies": { - "unicode-trie": "^2.0.0" - } - }, "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -4028,11 +4017,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4771,11 +4755,6 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "node_modules/tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -4861,15 +4840,6 @@ "node": ">=4" } }, - "node_modules/unicode-trie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", - "dependencies": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -7517,14 +7487,6 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "graphemesplit": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/graphemesplit/-/graphemesplit-2.4.1.tgz", - "integrity": "sha512-j4a8V28F2gzJrCcDGNP8waSKgvUW2U5myB8BopF+PQMe6cAJjAVAEbPiZ+pgPN7Xgz6egNM1wzEuX8gtGG2ivw==", - "requires": { - "unicode-trie": "^2.0.0" - } - }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -8318,11 +8280,6 @@ "p-limit": "^3.0.2" } }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -8902,11 +8859,6 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -8965,15 +8917,6 @@ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "dev": true }, - "unicode-trie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", - "requires": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", diff --git a/package.json b/package.json index c97125c..2ac83e9 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,5 @@ "rollup": "^2.16.1", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-copy": "^3.3.0" - }, - "dependencies": { - "graphemesplit": "^2.4.1" } } diff --git a/src/fuzzy.js b/src/fuzzy.js index 979f0a9..a1f16da 100644 --- a/src/fuzzy.js +++ b/src/fuzzy.js @@ -1,4 +1,6 @@ -import split from "graphemesplit"; + +const segmenter = new Intl.Segmenter(undefined, {granularity: "grapheme"}); +const split = (str) => [...segmenter.segment(str)].map((segment) => segment.segment); const splitUnicode = (str) => str.normalize("NFKD").split("");