Skip to content

micnic/uv

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

uv

npm version npm downloads npm types node version license

Ultrafast UTF-8 data validation

Installation

npm i uv

Usage

uv(buffer: Buffer | Uint8Array, start?: number, end?: number): boolean

uv exports a function that accepts a buffer as an argument and validate it for UTF-8 data, optionally it accepts two more arguments for slice validation as start and end indexes, which are zero-based values that cannot be negative numbers.

const uv = require('uv');

const someBuffer = Buffer.from('Some UTF-8 data');

uv(someBuffer); // => true

uv(Buffer.from([0xFF, 0x00, 0x00, 0x00, 0xFF])); // => false

//               0     1     2     3     4
uv(Buffer.from([0xFF, 0x00, 0x00, 0x00, 0xFF]), 1, 4); // => true
//                   |                 |        |  |
//                   +------start------|--------+  |
//                                     +----end----+

Comparison with other UTF-8 validation packages

This module is a pure JavaScript implementation of UTF-8 validation, in most cases it is faster than other alternatives, performance may vary based on OS, node version, CPU or input size, please run the bench.js file from the github repo for a benchmark on your machine to compare it with other UTF-8 validation implementations.

About

Ultrafast UTF-8 data validation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published