xxhash.jsx
Synopsis
JSX implementation of very fast hasing algorithm xxHash. It can use from any JavaScript environment (common.js(node.js), AMD, browser, etc).
This code is based on Pierrec's js-xxhash.
Code Example
Use from JSX
; static : void { var seed = 0xabcd; // single line way var hashStr : string = StringXXH; // flexible way var hhx = seed; hhx; hhx; var hashNum : number = hhx; // or var hashStr2 : string = hhx; }
Use from node.js
var xxhash = ;var fs = ; var buffer = fs;var hash = xxhashXXH;console;
Use from require.js
// use xxhash.amd.js;
Use via global variables
Installation
$ npm install xxhash.jsx
If you want to use this library from other JSX project, install like the following:
$ npm install xxhash.jsx --save-dev
API Reference for JS
For JavaScript environment, it provides entrypoint "XXH". It provides static methods to calculate XXHASH.
XXH.digest(input : string/ArrayBuffer/Uint8Array, seed : number) : number
It returns calculated hash value as number.
XXH.digestHex(input : string/ArrayBufferUint8Array, seed : number) : string
It returns calculated hash value as hex string.
API Reference for JSX
In addition to XXH class, there are two classes in this module;
- class StringXXH
- class ArrayBufferXXH
All classes have same methods. ArrayBufferXXH supports Uint8Array as input in addition to ArrayBuffer.
static function digest(input : inputtype, seed : number) : number
It returns calculated hash value as number.
static function digestHex(input : inputtype, seed : number) : string
It returns calculated hash value as hex string.
function constructor(seed : number)
Initialize hash calculator object.
function update(input : inputtype) : self
Add input. This method can be called multipul times.
function digest() : number
It returns calculated hash as number.
function digestHex() : string
It returns calculated hash as string.
function init(seed : number) : void
Initialize object content.
Development
JSX
Don't be afraid JSX! If you have an experience of JavaScript, you can learn JSX quickly.
- Static type system and unified class syntax.
- All variables and methods belong to class.
- JSX includes optimizer. You don't have to write tricky unreadalbe code for speed.
- You can use almost all JavaScript API as you know. Some functions become static class functions. See reference.
Setup
To create development environment, call following command:
$ npm install
Repository
- Repository: git://github.com/shibukawa.yoshiki/xxhash.jsx.git
- Issues: https://github.com/shibukawa.yoshiki/xxhash.jsx/issues
Run Test
$ grunt test
Build
$ grunt build
Generate API reference
$ grunt doc
Author
- shibukawa.yoshiki / shibukawa.yoshiki@gmail.com
License
The MIT License (MIT)
Complete license is written in LICENSE.md
.