- Changes made to
package.json
- Changes made to
tsconfig.json
- Some straight forward changes had to be made on the sources to comply with the stricter typescript directive, checkout the
src/*.ts
files in the commit
Then
> npm run build
have been run witch has resulted in ./mod.ts
and ./deno_dist
being created.
Finally a release named v1.2.7
have been created.
Now it is possible to import "ts-md5"
in deno:
import { Md5 } from "https://raw.github.com/garronej/ts-md5/v1.2.7/deno_dist/mod.ts";
And to use it as dependency in packages that uses denoify:
package.json
{
"dependencies": {
"ts-md5": "garronej/ts-md5#v1.2.7"
}
}
( following is the original "ts-md5"
readme )
A MD5 implementation for TypeScript
- Can handle Unicode strings
- Supports incremental hashing
- Works with Files and Blobs
This library also includes tools for:
- Hashing a file or blob
- A webworker for performing hashing
- A webworker handler for requesting files or blobs to be hashed
- promise based
- files or blobs are queued for processing on the webworker
Based on work by
- Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html
- André Cruz: /~https://github.com/satazor/SparkMD5
- Raymond Hill: /~https://github.com/gorhill/yamd5.js
- Import the class
import {Md5} from 'ts-md5/dist/md5';
- Hash some things
Md5.hashStr('blah blah blah')
=> hex:stringMd5.hashStr('blah blah blah', true)
=> raw:Int32Array(4)Md5.hashAsciiStr('blah blah blah')
=> hex:stringMd5.hashAsciiStr('blah blah blah', true)
=> raw:Int32Array(4)
For more complex uses:
md5 = new Md5();
// Append incrementally your file or other input
// Methods are chainable
md5.appendStr('somestring')
.appendAsciiStr('a different string')
.appendByteArray(blob);
// Generate the MD5 hex string
md5.end();
NOTE:: You have to make sure ts-md5/dist/md5_worker.js
is made available in your build so it can be accessed directly by a browser
It should always remain as a seperate file.
import {ParallelHasher} from 'ts-md5/dist/parallel_hasher';
let hasher = new ParallelHasher('/path/to/ts-md5/dist/md5_worker.js');
hasher.hash(fileBlob).then(function(result) {
console.log('md5 of fileBlob is', result);
});
The project is written in typescript and transpiled into ES5.
- Install TypeScript:
npm install -g typescript
(if you haven't already) - Configure compile options in
tsconfig.json
- Perform build using:
tsc
You can find more information here: /~https://github.com/Microsoft/TypeScript/wiki/tsconfig.json
These allow projects like jasmine to work with .ts files. This is here as a guide more than anything else. See: /~https://github.com/typings/typings
- Install typings:
npm install typings --global
(if you haven't already) - Download definitions:
typings install jasmine --ambient --save
- Note: ambient means we are searching in /~https://github.com/DefinitelyTyped/DefinitelyTyped
- Reference the typings using
/// <reference path="../typings/main.d.ts" />
from tests
To update typings:
- From command line run:
typings install
- Build Script:
npm run build
- Test Script:
npm run test
- Sign up to https://www.npmjs.com/
- Configure
package.json
https://docs.npmjs.com/files/package.json - run
npm publish
https://docs.npmjs.com/cli/publish
MIT