{
	"name": "node-int64",
	"versions": {
		"0.1.0": {
			"name": "node-int64",
			"description": "Support for representing 64-bit integers in JavaScript",
			"url": "http://github.com/broofa/node-int64",
			"keywords": [
				"math",
				"integer"
			],
			"author": {
				"name": "Robert Kieffer",
				"email": "robert@broofa.com"
			},
			"contributors": [],
			"dependencies": {},
			"lib": ".",
			"main": "./Int64",
			"version": "0.1.0",
			"_id": "node-int64@0.1.0",
			"engines": {
				"node": "*"
			},
			"_nodeSupported": true,
			"_npmVersion": "0.2.12-1",
			"_nodeVersion": "v0.3.1",
			"dist": {
				"shasum": "bafb5e952bcca078594afef9111c911708e5e42b",
				"tarball": "https://registry.npmjs.org/node-int64/-/node-int64-0.1.0.tgz"
			},
			"directories": {}
		},
		"0.2.0": {
			"name": "node-int64",
			"description": "Support for representing 64-bit integers in JavaScript",
			"url": "http://github.com/broofa/node-int64",
			"keywords": [
				"math",
				"integer",
				"int64"
			],
			"author": {
				"name": "Robert Kieffer",
				"email": "robert@broofa.com"
			},
			"contributors": [],
			"dependencies": {},
			"lib": ".",
			"main": "./Int64",
			"version": "0.2.0",
			"_id": "node-int64@0.2.0",
			"engines": {
				"node": "*"
			},
			"_engineSupported": true,
			"_npmVersion": "0.2.16",
			"_nodeVersion": "v0.3.1",
			"directories": {},
			"modules": {
				"Int64.js": "Int64.js",
				"README.md": "README.md",
				"package.json": "package.json",
				"test.js": "test.js"
			},
			"files": [
				""
			],
			"_defaultsLoaded": true,
			"dist": {
				"shasum": "a360efe26a9082bc16888a7277cb6d7627165f94",
				"tarball": "https://registry.npmjs.org/node-int64/-/node-int64-0.2.0.tgz"
			}
		},
		"0.3.0": {
			"name": "node-int64",
			"description": "Support for representing 64-bit integers in JavaScript",
			"url": "http://github.com/broofa/node-int64",
			"keywords": [
				"math",
				"integer",
				"int64"
			],
			"author": {
				"name": "Robert Kieffer",
				"email": "robert@broofa.com"
			},
			"contributors": [],
			"dependencies": {},
			"lib": ".",
			"main": "./Int64.js",
			"version": "0.3.0",
			"devDependencies": {},
			"_id": "node-int64@0.3.0",
			"engines": {
				"node": "*"
			},
			"_engineSupported": true,
			"_npmVersion": "1.0.6",
			"_nodeVersion": "v0.4.7",
			"_defaultsLoaded": true,
			"dist": {
				"shasum": "894bb7c497e7c614b52ff840519b6cd660222fe2",
				"tarball": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.0.tgz"
			},
			"scripts": {},
			"directories": {}
		},
		"0.3.1": {
			"name": "node-int64",
			"description": "Support for representing 64-bit integers in JavaScript",
			"url": "http://github.com/broofa/node-int64",
			"keywords": [
				"math",
				"integer",
				"int64"
			],
			"author": {
				"name": "Robert Kieffer",
				"email": "robert@broofa.com"
			},
			"contributors": [],
			"dependencies": {},
			"lib": ".",
			"main": "./Int64.js",
			"version": "0.3.1",
			"_id": "node-int64@0.3.1",
			"dist": {
				"shasum": "49e56926247ad0008575db10a5e3b41369189506",
				"tarball": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.1.tgz"
			},
			"_from": ".",
			"_npmVersion": "1.3.6",
			"_npmUser": {
				"name": "broofa",
				"email": "robert@broofa.com"
			},
			"maintainers": [
				{
					"name": "broofa",
					"email": "robert@broofa.com"
				}
			],
			"directories": {}
		},
		"0.3.2": {
			"name": "node-int64",
			"description": "Support for representing 64-bit integers in JavaScript",
			"url": "http://github.com/broofa/node-int64",
			"keywords": [
				"math",
				"integer",
				"int64"
			],
			"author": {
				"name": "Robert Kieffer",
				"email": "robert@broofa.com"
			},
			"contributors": [],
			"dependencies": {},
			"lib": ".",
			"main": "./Int64.js",
			"version": "0.3.2",
			"repository": {
				"type": "git",
				"url": "https://github.com/broofa/node-int64"
			},
			"gitHead": "cbaf8eb9afe013cb66b3849498484f2520579ac7",
			"bugs": {
				"url": "https://github.com/broofa/node-int64/issues"
			},
			"homepage": "https://github.com/broofa/node-int64",
			"_id": "node-int64@0.3.2",
			"scripts": {},
			"_shasum": "dc03748aefe60dbc4733a4201ba12161269f3741",
			"_from": ".",
			"_npmVersion": "1.4.28",
			"_npmUser": {
				"name": "broofa",
				"email": "robert@broofa.com"
			},
			"maintainers": [
				{
					"name": "broofa",
					"email": "robert@broofa.com"
				}
			],
			"dist": {
				"shasum": "dc03748aefe60dbc4733a4201ba12161269f3741",
				"tarball": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.2.tgz"
			},
			"directories": {}
		},
		"0.3.3": {
			"name": "node-int64",
			"description": "Support for representing 64-bit integers in JavaScript",
			"url": "http://github.com/broofa/node-int64",
			"keywords": [
				"math",
				"integer",
				"int64"
			],
			"author": {
				"name": "Robert Kieffer",
				"email": "robert@broofa.com"
			},
			"contributors": [],
			"dependencies": {},
			"license": "MIT",
			"lib": ".",
			"main": "./Int64.js",
			"version": "0.3.3",
			"scripts": {
				"test": "nodeunit test.js"
			},
			"repository": {
				"type": "git",
				"url": "https://github.com/broofa/node-int64"
			},
			"devDependencies": {
				"nodeunit": "^0.9.0"
			},
			"gitHead": "21873768fb14d6ce954507f229e3db254328a183",
			"bugs": {
				"url": "https://github.com/broofa/node-int64/issues"
			},
			"homepage": "https://github.com/broofa/node-int64",
			"_id": "node-int64@0.3.3",
			"_shasum": "2d6e6b2ece5de8588b43d88d1bc41b26cd1fa84d",
			"_from": ".",
			"_npmVersion": "1.4.28",
			"_npmUser": {
				"name": "broofa",
				"email": "robert@broofa.com"
			},
			"maintainers": [
				{
					"name": "broofa",
					"email": "robert@broofa.com"
				}
			],
			"dist": {
				"shasum": "2d6e6b2ece5de8588b43d88d1bc41b26cd1fa84d",
				"tarball": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz"
			},
			"directories": {}
		},
		"0.4.0": {
			"name": "node-int64",
			"description": "Support for representing 64-bit integers in JavaScript",
			"url": "http://github.com/broofa/node-int64",
			"keywords": [
				"math",
				"integer",
				"int64"
			],
			"author": {
				"name": "Robert Kieffer",
				"email": "robert@broofa.com"
			},
			"contributors": [],
			"dependencies": {},
			"license": "MIT",
			"lib": ".",
			"main": "./Int64.js",
			"version": "0.4.0",
			"scripts": {
				"test": "nodeunit test.js"
			},
			"repository": {
				"type": "git",
				"url": "https://github.com/broofa/node-int64"
			},
			"devDependencies": {
				"nodeunit": "^0.9.0"
			},
			"gitHead": "c1567475712cb1cfe100c96813c2a2a92e2b42ce",
			"bugs": {
				"url": "https://github.com/broofa/node-int64/issues"
			},
			"homepage": "https://github.com/broofa/node-int64",
			"_id": "node-int64@0.4.0",
			"_shasum": "87a9065cdb355d3182d8f94ce11188b825c68a3b",
			"_from": ".",
			"_npmVersion": "1.4.28",
			"_npmUser": {
				"name": "broofa",
				"email": "robert@broofa.com"
			},
			"maintainers": [
				{
					"name": "broofa",
					"email": "robert@broofa.com"
				}
			],
			"dist": {
				"shasum": "87a9065cdb355d3182d8f94ce11188b825c68a3b",
				"tarball": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz"
			},
			"directories": {}
		}
	},
	"time": {
		"modified": "2019-02-17T12:55:38.735Z",
		"created": "2010-12-30T15:27:28.086Z",
		"0.1.0": "2010-12-30T15:27:28.433Z",
		"0.2.0": "2011-03-08T00:00:51.014Z",
		"0.3.0": "2011-06-21T17:52:11.242Z",
		"0.3.1": "2014-02-18T11:37:28.557Z",
		"0.3.2": "2014-12-02T18:40:47.086Z",
		"0.3.3": "2014-12-22T13:55:53.834Z",
		"0.4.0": "2015-04-04T02:52:16.354Z"
	},
	"users": {},
	"dist-tags": {
		"latest": "0.4.0"
	},
	"_uplinks": {
		"npmjs": {
			"etag": "W/\"79695485cf263605a5e23fc2f788395d\"",
			"fetched": 1593324430858
		}
	},
	"_distfiles": {
		"node-int64-0.1.0.tgz": {
			"url": "https://registry.npmjs.org/node-int64/-/node-int64-0.1.0.tgz",
			"sha": "bafb5e952bcca078594afef9111c911708e5e42b",
			"registry": "npmjs"
		},
		"node-int64-0.2.0.tgz": {
			"url": "https://registry.npmjs.org/node-int64/-/node-int64-0.2.0.tgz",
			"sha": "a360efe26a9082bc16888a7277cb6d7627165f94",
			"registry": "npmjs"
		},
		"node-int64-0.3.0.tgz": {
			"url": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.0.tgz",
			"sha": "894bb7c497e7c614b52ff840519b6cd660222fe2",
			"registry": "npmjs"
		},
		"node-int64-0.3.1.tgz": {
			"url": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.1.tgz",
			"sha": "49e56926247ad0008575db10a5e3b41369189506",
			"registry": "npmjs"
		},
		"node-int64-0.3.2.tgz": {
			"url": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.2.tgz",
			"sha": "dc03748aefe60dbc4733a4201ba12161269f3741",
			"registry": "npmjs"
		},
		"node-int64-0.3.3.tgz": {
			"url": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
			"sha": "2d6e6b2ece5de8588b43d88d1bc41b26cd1fa84d",
			"registry": "npmjs"
		},
		"node-int64-0.4.0.tgz": {
			"url": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
			"sha": "87a9065cdb355d3182d8f94ce11188b825c68a3b",
			"registry": "npmjs"
		}
	},
	"_attachments": {
		"node-int64-0.4.0.tgz": {
			"shasum": "87a9065cdb355d3182d8f94ce11188b825c68a3b"
		}
	},
	"_rev": "2-4dc9af4d3557fd08",
	"_id": "node-int64",
	"readme": "JavaScript Numbers are represented as [IEEE 754 double-precision floats](http://steve.hollasch.net/cgindex/coding/ieeefloat.html).  Unfortunately, this means they lose integer precision for values beyond +/- 2^^53.  For projects that need to accurately handle 64-bit ints, such as [node-thrift](https://github.com/wadey/node-thrift), a performant, Number-like class is needed.  Int64 is that class.\n\nInt64 instances look and feel much like JS-native Numbers.  By way of example ...\n```js\n// First, let's illustrate the problem ...\n> (0x123456789).toString(16)\n'123456789' // <- what we expect.\n> (0x123456789abcdef0).toString(16)\n'123456789abcdf00' // <- Ugh!  JS doesn't do big ints. :(\n\n// So let's create a couple Int64s using the above values ...\n\n// Require, of course\n> Int64 = require('node-int64')\n\n// x's value is what we expect (the decimal value of 0x123456789)\n> x = new Int64(0x123456789)\n[Int64 value:4886718345 octets:00 00 00 01 23 45 67 89]\n\n// y's value is Infinity because it's outside the range of integer\n// precision.  But that's okay - it's still useful because it's internal\n// representation (octets) is what we passed in\n> y = new Int64('123456789abcdef0')\n[Int64 value:Infinity octets:12 34 56 78 9a bc de f0]\n\n// Let's do some math.  Int64's behave like Numbers.  (Sorry, Int64 isn't\n// for doing 64-bit integer arithmetic (yet) - it's just for carrying\n// around int64 values\n> x + 1\n4886718346\n> y + 1\nInfinity\n\n// Int64 string operations ...\n> 'value: ' + x\n'value: 4886718345'\n> 'value: ' + y\n'value: Infinity'\n> x.toString(2)\n'100100011010001010110011110001001'\n> y.toString(2)\n'Infinity'\n\n// Use JS's isFinite() method to see if the Int64 value is in the\n// integer-precise range of JS values\n> isFinite(x)\ntrue\n> isFinite(y)\nfalse\n\n// Get an octet string representation.  (Yay, y is what we put in!)\n> x.toOctetString()\n'0000000123456789'\n> y.toOctetString()\n'123456789abcdef0'\n\n// Finally, some other ways to create Int64s ...\n\n// Pass hi/lo words\n> new Int64(0x12345678, 0x9abcdef0)\n[Int64 value:Infinity octets:12 34 56 78 9a bc de f0]\n\n// Pass a Buffer\n> new Int64(new Buffer([0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0]))\n[Int64 value:Infinity octets:12 34 56 78 9a bc de f0]\n\n// Pass a Buffer and offset\n> new Int64(new Buffer([0,0,0,0,0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0]), 4)\n[Int64 value:Infinity octets:12 34 56 78 9a bc de f0]\n\n// Pull out into a buffer\n> new Int64(new Buffer([0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0])).toBuffer()\n<Buffer 12 34 56 78 9a bc de f0>\n\n// Or copy into an existing one (at an offset)\n> var buf = new Buffer(1024);\n> new Int64(new Buffer([0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0])).copy(buf, 512);\n```"
}