Add precise definitions and tests.

better if https://www.npmjs.org/package/precise