{"_id":"unicode-trie","_rev":"22-18484874fd99231599d4100f8782820d","name":"unicode-trie","dist-tags":{"latest":"3.0.0"},"versions":{"0.1.0":{"name":"unicode-trie","version":"0.1.0","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@0.1.0","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"c78d5536c43f6ff023680fdd136bd1ce150b28f0","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.1.0.tgz","integrity":"sha512-lmrhk8KdaqK8riZTzX0A3maAQ0Sx1bhJWuBIhKZE7bsCe2MAHlzz6nzTq+tPD5MblubkNL5svIi7ETmdTYNbZw==","signatures":[{"sig":"MEUCIQDp58XBETjaKR9EQZDS+A3AFExHrJeKO/g2ANB1zYZuJgIgThOLz6u1HPO5xhzhjtkNpImKGMp2yburCuL5nxlcV6w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"c78d5536c43f6ff023680fdd136bd1ce150b28f0","gitHead":"3a7f1f35099d8e289a7e81855facb4dd4d503cdf","scripts":{"test":"mocha","prepublish":"make build","postpublish":"make clean"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"1.4.15","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"devDependencies":{"mocha":"^1.20.1","coffee-script":"^1.7.1","coffee-coverage":"^0.4.2"}},"0.1.1":{"name":"unicode-trie","version":"0.1.1","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@0.1.1","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"d3178d37b794aa83a09b82d562269e92d0bab929","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.1.1.tgz","integrity":"sha512-FCqRV383GSl2//TfYc9r8irXG2M4N/dLkSEsqVCpAfRg2/m9QAnSuIWQ+DMzSfVw1pg6vw8qfybi8X/ZY8TcDA==","signatures":[{"sig":"MEUCIHmG7lAHaIGSzPHYm++Dygc+bfQlMIHpcY6v35uaaDMSAiEAzD8kvFTEdKPLFjyFEKzScm/G+4q7s7RmWZZWDUd1Hps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"d3178d37b794aa83a09b82d562269e92d0bab929","gitHead":"bf8ee37fbcdf1bcc4829f442f54fc17353af5498","scripts":{"test":"mocha","prepublish":"make build","postpublish":"make clean"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"1.4.15","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"devDependencies":{"mocha":"^1.20.1","coffee-script":"^1.7.1","coffee-coverage":"^0.4.2"}},"0.1.2":{"name":"unicode-trie","version":"0.1.2","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@0.1.2","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"bd3c528bc3360cafdf71f0863cbec29fc0e84ec8","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.1.2.tgz","integrity":"sha512-mMF9CUstAEjwLZPsoCb79eXlglYsQkV+fPbssOiFxBdU3yFSnnv3r56HpV41BcAZ4SLsiGGrhWh/KneldWw/yg==","signatures":[{"sig":"MEQCICkIlwkn+UcYX0oaptYureUAXtHzfi8b/e0mckb04NOjAiA7QGOMs1TGFnVguD5R2p249FkzpvDBiPgawnsYi7bspw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"bd3c528bc3360cafdf71f0863cbec29fc0e84ec8","gitHead":"19ef7d1d266ebd8201f1a58b1512927b2298b2bd","scripts":{"test":"mocha","prepublish":"make build","postpublish":"make clean"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"1.4.15","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"devDependencies":{"mocha":"^1.20.1","coffee-script":"^1.7.1","coffee-coverage":"^0.4.2"}},"0.2.0":{"name":"unicode-trie","version":"0.2.0","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@0.2.0","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"201499baff6bb7a3774005e3cef0680b254db127","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.2.0.tgz","integrity":"sha512-1mWHyPnqQtopoLAGr0msYRuV+/RSmnXn/ABV7Jhj3qviZeqP2ffRgpCxsHIdaLkYX3QAGasIo5O1RhcYMlGBSQ==","signatures":[{"sig":"MEQCIDw106YarJrvbkozXA96kfzq3nhudVBMKm4MWVZ6YdhAAiBsd2hfsIMwgZie4ys/5BB2aIrv5orCoGKGgHpXi111HQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"201499baff6bb7a3774005e3cef0680b254db127","gitHead":"f92933d4dfd79e595ed44acd290d907f271bb296","scripts":{"test":"mocha","prepublish":"make build","postpublish":"make clean"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"1.4.28","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"dependencies":{"pako":"^0.2.5"},"devDependencies":{"mocha":"^1.20.1","coffee-script":"^1.7.1","coffee-coverage":"^0.4.2"}},"0.3.0":{"name":"unicode-trie","version":"0.3.0","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@0.3.0","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"d3dc02852c9c63990094fcbcd0e9126a79088414","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.0.tgz","integrity":"sha512-zYLjFMP6uRJppbH3rMd9CvFIH5zUCJuCQtpQ2VbyLE4ZcjEFHwtiN8hahzqTt7QsSwn2YlUe5Djl1ur+4qMxfw==","signatures":[{"sig":"MEYCIQCUkeV2tLPAjAp0YsNdMXIVnVqhuEKfJ6E3lXS8gDBWsQIhAMbPqIim8Vlp3uZpOkSOYMzi0GltVpjrgdnsn86VFUbQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"d3dc02852c9c63990094fcbcd0e9126a79088414","gitHead":"3bd0aa2f8df5da6a08622f64f010c80924acb085","scripts":{"test":"mocha","prepublish":"make build","postpublish":"make clean"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"1.4.28","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"dependencies":{"pako":"^0.2.5","tiny-inflate":"^1.0.0"},"devDependencies":{"mocha":"^1.20.1","coffee-script":"^1.7.1","coffee-coverage":"^0.4.2"}},"0.3.1":{"name":"unicode-trie","version":"0.3.1","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@0.3.1","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"d671dddd89101a08bac37b6a5161010602052085","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz","integrity":"sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==","signatures":[{"sig":"MEYCIQCymSEpDp2W8fh4UoNzYD/RcL0eIN2Cmn4I4IH6BkKLaAIhAL36g4JrCJ1erxYsLOgBGrud2EXlDZNnHKeDTIZOguKq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"d671dddd89101a08bac37b6a5161010602052085","gitHead":"0e19655c9c291c133e577bcacd2c25b7c82455f7","scripts":{"test":"mocha","prepublish":"make build","postpublish":"make clean"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"2.14.7","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"_nodeVersion":"4.2.1","dependencies":{"pako":"^0.2.5","tiny-inflate":"^1.0.0"},"devDependencies":{"mocha":"^1.20.1","coffee-script":"^1.7.1","coffee-coverage":"^0.4.2"}},"1.0.0":{"name":"unicode-trie","version":"1.0.0","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@1.0.0","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"f649afdca127135edb55ca0ad7c8c60656d92ad1","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-1.0.0.tgz","fileCount":7,"integrity":"sha512-v5raLKsobbFbWLMoX9+bChts/VhPPj3XpkNr/HbqkirXR1DPk8eo9IYKyvk0MQZFkaoRsFj2Rmaqgi2rfAZYtA==","signatures":[{"sig":"MEUCIQDvtYmUJOp1xyMEK+1Yf1tqJW/KLjn+znQLQTzqonYNDwIgP9dmwGHqvrFh/Er0O70QwYNag8wM7g2SeL4rsEbuOzA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdBvB8CRA9TVsSAnZWagAAb+EP/0VjAn/NUh0iJQUmakV9\n5Xb/Hj/gxp7C4kT9Vl9M/ippwN8idOLuM3bzWo2uHjSWWGg+IV2spgfTg7VB\nHzYiOnZOL9nhJP0Ey27m8/bu2A/hKkbk8pwhdKTTEP0LhK7AeZCL60CQADuv\n5jaWeDO6rudrreoF5rqUdp3GCP+02WdaLe41gQCeL3eQbF6bQ/CMI1bXPFKP\nUUPMWLs7LKzAa2M01QkkoNXcI3144tSYyiyd/c/AZzIG+c78Oqgd2mI2wLKG\n6nPS4Wq+xK0KoywxTt6AJBJxjTSr5v7e9yDLsaFC9iTaroS3vnaKUWPw5HWM\nCymeVKJ43wvaTg7KACCZGy+KIKr2NOfFeCnGC+FZVJPe+1GPbQxTOqXn9bBc\nBxXpf5d4N1qcYqDOyw+0wiY2u0ZRmI8lInXLyNGcRGBmqozl2FuIW+2nCt9M\nBZqVkij56/nIO06kg402eFtJX97YBmKueOhg8sq09oUN34Dgz8eOqQhGZUGY\nGbsTPe+0ja5mc2pnbmJZwCgHYP2UN9rPdje9I20srOmScEAeSOUXn/QL3qMo\noI44Y5Zx31piF1tW07oezKnuAWtueDqmQGO20O/R2x/aGwaNxY0BbpS+9Wyh\nCwgyvWKji6Iw7bI6L1/0AmmBxN8Qei3OdDdXTTLcxhl0FmPQzkicOLdaIbr1\nxN+d\r\n=CGvb\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"cc87aecf5f5222fbc2f9cfa60904c29c91156826","scripts":{"test":"mocha","coverage":"nyc mocha"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"6.9.0","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"_nodeVersion":"12.0.0","dependencies":{"pako":"^0.2.5","tiny-inflate":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","mocha":"^6.1.4"},"_npmOperationalInternal":{"tmp":"tmp/unicode-trie_1.0.0_1560735867452_0.19049912551356862","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"unicode-trie","version":"2.0.0","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","_id":"unicode-trie@2.0.0","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"}],"homepage":"https://github.com/devongovett/unicode-trie","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"8fd8845696e2e14a8b67d78fa9e0dd2cad62fec8","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz","fileCount":8,"integrity":"sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==","signatures":[{"sig":"MEUCIQCCpMsu+nlHL6hNEVRQhE1BZL8l73spmzyeWUwCeiPmZQIgZUgcZNiE6trQlEwWCRIjaw6L07/DPczMuTk9nHrHSzM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0dQ9CRA9TVsSAnZWagAA7I0P/i+ba+NSzZCXU3gR4bO+\n8r/nKHFVtdNu0O2Dvadw4/aZpFbOqk96PBNY7ZPKCE5zxLwQV2pC/uabfWjC\nZ5Ye9wJ0JOyPNylkDClZ5PyskS2n23QPcvDG+DG90kTzchlxMVs4UtviiYNd\n9589G7B1A4Bcc8sujB5X5vey00fZ5f8gOYP8iG9OKhCrf0C9jHBnqWG1pKU0\nabYVUSFSj3BU8MMOnfwRXlMTtuZoS+hCU3qnzABSVyPNo+6c+LIsA8lfbyLu\n1joXtzZHaCSmi8wnas/vbuKSUCUwdKculLI6vyB2PP84PGUIeR8Zbk+mWnYC\n1SyDKQy1aCSaiojaE2Fb4AY7pwQrUzJpZt7oUCZi9piRlTSRIF0RB0/DyM4F\nsf/wiZPJGWdO7JdAO76QxMKy/YjWLF0ql1ApWfUcpM7fSUQccvMMCakUEYqp\nv8u0azlkW6Kfe4DWBlUDG0MJpiAnbYd9iE9/Tw1GhZ35aGYQDT+rv49fBWKR\nj0hqB0RTAwoVCmnUgIZedyY1caVcgOMf3qDXYQn4/QuWmiPfNiiefzwKOwNw\nv/J7dyRD3dBPfrVxdFe0q2abZ4JyInVRK42R3MUmIcHDxhe4nPEHNovBWdE8\nonhcxSKGXd6mcPHDAuUtNji2nmkmFI257c1gkKY/uM4UyNJSaDVX3UCBlyPW\ni5ZZ\r\n=5RNF\r\n-----END PGP SIGNATURE-----\r\n"},"gitHead":"916656f45abab135face2b53ee5e32488cc9b47f","scripts":{"test":"mocha","coverage":"nyc mocha"},"_npmUser":{"name":"devongovett","email":"devongovett@gmail.com"},"repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"6.10.3","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"_nodeVersion":"12.10.0","dependencies":{"pako":"^0.2.5","tiny-inflate":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","mocha":"^6.1.4"},"_npmOperationalInternal":{"tmp":"tmp/unicode-trie_2.0.0_1574032445335_0.19689724171467815","host":"s3://npm-registry-packages"}},"3.0.0":{"_id":"unicode-trie@3.0.0","bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"dist":{"shasum":"1c8aa406bd8e1510baa7cf7c23e6cb65bebe9a33","tarball":"https://registry.npmjs.org/unicode-trie/-/unicode-trie-3.0.0.tgz","fileCount":11,"integrity":"sha512-Cy+7EIpopVQ7ZCVZ8dFo1fmTk1lHMNxY62SeEhxsVEmISZEryEGgKSLzz6z6pquJXXopamfpi2AzsDCJ7KmAOA==","signatures":[{"sig":"MEUCIQDAM8TgHxHWKCCgnSlozs3ATUSuvU7VHAtxhD3h1fCsKAIgcRDROx2ImffCy5+sQ/jsdWkANaLu2YFTKj7hQ873YMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIErxXAdQhKc/iSEQ9Vhj0p6BWTfOsTOh0eDYuOG3/Qt/AiEApn7YpAxwjyJCGClgMeph/Zh+21jW5Dz/R5XC+2jxO9I="}],"unpackedSize":51158},"main":"index.js","name":"unicode-trie","type":"module","author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"engines":{"node":">=20.17.0"},"exports":{".":"./index.js","./builder":"./builder.js","./builder.js":"./builder.js"},"gitHead":"b0f97b95700c59ea742bfad532b30393b1bd6ea3","imports":{"#zlib":{"node":"./lib/zlib/node.js","default":"./lib/zlib/browser.js"}},"license":"MIT","scripts":{"test":"mocha","coverage":"nyc mocha"},"version":"3.0.0","_npmUser":{"name":"blikblum-dev","email":"camara_luiz@yahoo.com.br"},"homepage":"https://github.com/devongovett/unicode-trie","repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"_npmVersion":"11.6.2","description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","directories":{},"maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"blikblum-dev","email":"camara_luiz@yahoo.com.br"}],"_nodeVersion":"24.12.0","dependencies":{"fflate":"^0.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^18.0.0","mocha":"^12.0.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unicode-trie_3.0.0_1791580636419_0.5778329994564697"}}},"time":{"created":"2014-07-14T02:28:53.394Z","modified":"2026-10-09T21:17:16.696Z","0.1.0":"2014-07-14T02:28:53.394Z","0.1.1":"2014-07-14T03:11:05.640Z","0.1.2":"2014-07-14T04:07:10.876Z","0.2.0":"2014-12-16T21:21:15.043Z","0.3.0":"2015-02-15T02:21:38.162Z","0.3.1":"2015-11-11T04:33:33.381Z","1.0.0":"2019-06-17T01:44:27.616Z","1.0.1":"2019-11-17T20:06:34.293Z","2.0.0":"2019-11-17T23:14:05.523Z","3.0.0":"2026-10-09T21:17:16.519Z"},"bugs":{"url":"https://github.com/devongovett/unicode-trie/issues"},"author":{"name":"Devon Govett","email":"devongovett@gmail.com"},"license":"MIT","homepage":"https://github.com/devongovett/unicode-trie","repository":{"url":"git://github.com/devongovett/unicode-trie.git","type":"git"},"description":"Unicode Trie data structure for fast character metadata lookup, ported from ICU","maintainers":[{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"blikblum-dev","email":"camara_luiz@yahoo.com.br"}],"readme":"# unicode-trie\nA data structure for fast Unicode character metadata lookup, ported from ICU\n\n## Background\n\nWhen implementing many Unicode algorithms such as text segmentation,\nnormalization, bidi processing, etc., fast access to character metadata\nis crucial to good performance.  There over a million code points in the\nUnicode standard, many of which produce the same result when looked up,\nso an array or hash table is not appropriate - those data structures are\nfast but would require a lot of memory.  The data is generally\ngrouped in ranges, so you could do a binary search, but that is not\nfast enough for some applications.\n\nThe [International Components for Unicode](http://site.icu-project.org) (ICU) project\ncame up with a data structure based on a [Trie](http://en.wikipedia.org/wiki/Trie) that provides fast access\nto Unicode metadata.  The range data is precompiled to a serialized\nand flattened trie, which is then used at runtime to lookup the necessary\ndata.  According to my own tests, this is generally at least 50% faster\nthan binary search, with not too much additional memory required.\n\n## Installation\n\n    npm install unicode-trie\n\n## Building a Trie\n\nUnicode Tries are generally precompiled from data in the Unicode database\nfor faster runtime performance.  To build a Unicode Trie, use the\n`UnicodeTrieBuilder` class.\n\n```js\nimport { UnicodeTrieBuilder } from 'unicode-trie/builder';\nimport fs from 'fs';\n\n// create a trie\nlet t = new UnicodeTrieBuilder();\n\n// optional parameters for default value, and error value\n// if not provided, both are set to 0\nt = new UnicodeTrieBuilder(10, 999);\n\n// set individual values and ranges\nt.set(0x4567, 99);\nt.setRange(0x40, 0xe7, 0x1234);\n\n// you can lookup a value if you like\nt.get(0x4567); // => 99\n\n// get a compiled trie (returns a UnicodeTrie object)\nconst trie = t.freeze();\n\n// write compressed trie to a binary file\nfs.writeFileSync('data.trie', t.toBuffer());\n```\n\n## Using a precompiled Trie\n\nOnce you've built a precompiled trie, you can load it into the\n`UnicodeTrie` class, which is a readonly representation of the\ntrie.  From there, you can lookup values.\n\n```js\nimport { UnicodeTrie } from 'unicode-trie';\nimport fs from 'fs';\n\n// load serialized trie from binary file\nconst data = fs.readFileSync('data.trie');\nconst trie = new UnicodeTrie(data);\n\n// lookup a value\ntrie.get(0x4567); // => 99\n```\n\n## CommonJS Compatibility\n\nThe package is published as an ECMAScript module (ESM). To [load it using `require()`](https://nodejs.org/api/modules.html#loading-ecmascript-modules-using-require), Node.js 20.17.0 or later is required.\n\n```js\n// Example of loading the package using require() in Node.js 20.17.0 or higher\nconst { UnicodeTrieBuilder } = require('unicode-trie/builder');\nconst { UnicodeTrie } = require('unicode-trie');\nconst fs = require('fs');\n```\n \n## License\n\nMIT\n","readmeFilename":"README.md","users":{"getify":true}}