{"action":"created","comment":{"url":"https://api.github.com/repos/lodash/lodash/pulls/comments/43254552","id":43254552,"diff_hunk":"@@ -19423,6 +19425,386 @@\n \n   /*--------------------------------------------------------------------------*/\n \n+  QUnit.module('lodash.toNumber');\n+\n+  (function() {\n+    QUnit.test('null, empty strings and undefined should convert to `0` and `NaN`', function(assert) {\n+      assert.expect(5);\n+\n+      assert.deepEqual(_.toNumber(), NaN);\n+      assert.deepEqual(_.toNumber(undefined), NaN);\n+      assert.strictEqual(1 / _.toNumber(null), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(''), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(' '), INFINITY);\n+    });\n+\n+    QUnit.test('number literals should remain unchanged', function(assert) {\n+      assert.expect(13);\n+\n+      assert.strictEqual(1 /_.toNumber(0), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(-0), -INFINITY);\n+      assert.strictEqual(_.toNumber(10), 10);\n+      assert.strictEqual(_.toNumber(-10), -10);\n+      assert.strictEqual(_.toNumber(1.234567890), 1.23456789);\n+      assert.strictEqual(_.toNumber(-1.234567890), -1.23456789);\n+      assert.strictEqual(_.toNumber(MAX_SAFE_INTEGER), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(-MAX_SAFE_INTEGER), -MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(MAX_INTEGER), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(-MAX_INTEGER), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(INFINITY), INFINITY);\n+      assert.strictEqual(_.toNumber(-INFINITY), -INFINITY);\n+      assert.deepEqual(_.toNumber(NaN), NaN);\n+    });\n+\n+    QUnit.test('number objects should return number literals', function(assert) {\n+      assert.expect(13);\n+\n+      assert.strictEqual(1 /_.toNumber(new Number(0)), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(new Number(-0)), -INFINITY);\n+      assert.strictEqual(_.toNumber(new Number(10)), 10);\n+      assert.strictEqual(_.toNumber(new Number(-10)), -10);\n+      assert.strictEqual(_.toNumber(new Number(1.234567890)), 1.23456789);\n+      assert.strictEqual(_.toNumber(new Number(-1.234567890)), -1.23456789);\n+      assert.strictEqual(_.toNumber(new Number(MAX_SAFE_INTEGER)), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(new Number(-MAX_SAFE_INTEGER)), -MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(new Number(MAX_INTEGER)), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new Number(-MAX_INTEGER)), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new Number(INFINITY)), INFINITY);\n+      assert.strictEqual(_.toNumber(new Number(-INFINITY)), -INFINITY);\n+      assert.deepEqual(_.toNumber(new Number(NaN)), NaN);\n+    });\n+\n+    QUnit.test('should convert string literals accurately', function(assert) {\n+      assert.expect(75);\n+\n+      assert.strictEqual(1 / _.toNumber('0'), INFINITY);\n+      assert.strictEqual(1 / _.toNumber('+0'), INFINITY);\n+      assert.strictEqual(1 / _.toNumber('-0'), -INFINITY);\n+      assert.strictEqual(_.toNumber('10'), 10);\n+      assert.strictEqual(_.toNumber('+10'), 10);\n+      assert.strictEqual(_.toNumber('-10'), -10);\n+      assert.strictEqual(_.toNumber('1.234567890'), 1.23456789);\n+      assert.strictEqual(_.toNumber('+1.234567890'), 1.23456789);\n+      assert.strictEqual(_.toNumber('-1.234567890'), -1.23456789);\n+      assert.strictEqual(_.toNumber('9007199254740991'), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber('+9007199254740991'), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber('-9007199254740991'), -MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber('1e+308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('+1e+308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('-1e+308'), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('1e308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('+1e308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('-1e308'), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('1E+308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('+1E+308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('-1E+308'), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('1E308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('+1E308'), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('-1E308'), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber('5e-324'), MIN_VALUE);\n+      assert.strictEqual(_.toNumber('+5e-324'), MIN_VALUE);\n+      assert.strictEqual(_.toNumber('-5e-324'), -MIN_VALUE);\n+      assert.strictEqual(_.toNumber('5E-324'), MIN_VALUE);\n+      assert.strictEqual(_.toNumber('+5E-324'), MIN_VALUE);\n+      assert.strictEqual(_.toNumber('-5E-324'), -MIN_VALUE);\n+      assert.strictEqual(_.toNumber('Infinity'), INFINITY);\n+      assert.strictEqual(_.toNumber('+Infinity'), INFINITY);\n+      assert.strictEqual(_.toNumber('-Infinity'), -INFINITY);\n+      assert.deepEqual(_.toNumber('NaN'), NaN);\n+      assert.deepEqual(_.toNumber('+NaN'), NaN);\n+      assert.deepEqual(_.toNumber('-NaN'), NaN);\n+      assert.strictEqual(_.toNumber('0b101010'), 42);\n+      assert.deepEqual(_.toNumber('+0b101010'), NaN);\n+      assert.deepEqual(_.toNumber('-0b101010'), NaN);\n+      assert.strictEqual(_.toNumber('0B101010'), 42);\n+      assert.deepEqual(_.toNumber('+0B101010'), NaN);\n+      assert.deepEqual(_.toNumber('-0B101010'), NaN);\n+      assert.strictEqual(_.toNumber('0o12345'), 5349);\n+      assert.deepEqual(_.toNumber('+0o12345'), NaN);\n+      assert.deepEqual(_.toNumber('-0o12345'), NaN);\n+      assert.strictEqual(_.toNumber('0O12345'), 5349);\n+      assert.deepEqual(_.toNumber('+0O12345'), NaN);\n+      assert.deepEqual(_.toNumber('-0O12345'), NaN);\n+      assert.strictEqual(_.toNumber('0x1a2b3c'), 1715004);\n+      assert.deepEqual(_.toNumber('+0x1a2b3c'), NaN);\n+      assert.deepEqual(_.toNumber('-0x1a2b3c'), NaN);\n+      assert.strictEqual(_.toNumber('0X1A2B3C'), 1715004);\n+      assert.deepEqual(_.toNumber('+0X1A2B3C'), NaN);\n+      assert.deepEqual(_.toNumber('-0X1A2B3C'), NaN);\n+      assert.deepEqual(_.toNumber('0b1010102'), NaN);\n+      assert.deepEqual(_.toNumber('+0b1010102'), NaN);\n+      assert.deepEqual(_.toNumber('-0b1010102'), NaN);\n+      assert.deepEqual(_.toNumber('0B1010102'), NaN);\n+      assert.deepEqual(_.toNumber('+0B1010102'), NaN);\n+      assert.deepEqual(_.toNumber('-0B1010102'), NaN);\n+      assert.deepEqual(_.toNumber('0o123458'), NaN);\n+      assert.deepEqual(_.toNumber('+0o123458'), NaN);\n+      assert.deepEqual(_.toNumber('-0o123458'), NaN);\n+      assert.deepEqual(_.toNumber('0O123458'), NaN);\n+      assert.deepEqual(_.toNumber('+0O123458'), NaN);\n+      assert.deepEqual(_.toNumber('-0O123458'), NaN);\n+      assert.deepEqual(_.toNumber('0x1a2b3x'), NaN);\n+      assert.deepEqual(_.toNumber('+0x1a2b3x'), NaN);\n+      assert.deepEqual(_.toNumber('-0x1a2b3x'), NaN);\n+      assert.deepEqual(_.toNumber('0X1A2B3X'), NaN);\n+      assert.deepEqual(_.toNumber('+0X1A2B3X'), NaN);\n+      assert.deepEqual(_.toNumber('-0X1A2B3X'), NaN);\n+      assert.deepEqual(_.toNumber('-0b'), NaN);\n+      assert.deepEqual(_.toNumber('-0o'), NaN);\n+      assert.deepEqual(_.toNumber('-0x'), NaN);\n+    });\n+\n+    QUnit.test('should convert string literals with whitespace accurately', function(assert) {\n+      assert.expect(75);\n+\n+      assert.strictEqual(1 / _.toNumber(' 0 '), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(' +0 '), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(' -0 '), -INFINITY);\n+      assert.strictEqual(_.toNumber(' 10 '), 10);\n+      assert.strictEqual(_.toNumber(' +10 '), 10);\n+      assert.strictEqual(_.toNumber(' -10 '), -10);\n+      assert.strictEqual(_.toNumber(' 1.234567890 '), 1.23456789);\n+      assert.strictEqual(_.toNumber(' +1.234567890 '), 1.23456789);\n+      assert.strictEqual(_.toNumber(' -1.234567890 '), -1.23456789);\n+      assert.strictEqual(_.toNumber(' 9007199254740991 '), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(' +9007199254740991 '), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(' -9007199254740991 '), -MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(' 1e+308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' +1e+308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' -1e+308 '), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' 1e308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' +1e308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' -1e308 '), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' 1E+308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' +1E+308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' -1E+308 '), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' 1E308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' +1E308 '), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' -1E308 '), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(' 5e-324 '), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(' +5e-324 '), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(' -5e-324 '), -MIN_VALUE);\n+      assert.strictEqual(_.toNumber(' 5E-324 '), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(' +5E-324 '), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(' -5E-324 '), -MIN_VALUE);\n+      assert.strictEqual(_.toNumber(' Infinity '), INFINITY);\n+      assert.strictEqual(_.toNumber(' +Infinity '), INFINITY);\n+      assert.strictEqual(_.toNumber(' -Infinity '), -INFINITY);\n+      assert.deepEqual(_.toNumber(' NaN '), NaN);\n+      assert.deepEqual(_.toNumber(' +NaN '), NaN);\n+      assert.deepEqual(_.toNumber(' -NaN '), NaN);\n+      assert.strictEqual(_.toNumber(' 0b101010 '), 42);\n+      assert.deepEqual(_.toNumber(' +0b101010 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0b101010 '), NaN);\n+      assert.strictEqual(_.toNumber(' 0B101010 '), 42);\n+      assert.deepEqual(_.toNumber(' +0B101010 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0B101010 '), NaN);\n+      assert.strictEqual(_.toNumber( '0o12345 '), 5349);\n+      assert.deepEqual(_.toNumber(' +0o12345 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0o12345 '), NaN);\n+      assert.strictEqual(_.toNumber(' 0O12345 '), 5349);\n+      assert.deepEqual(_.toNumber(' +0O12345 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0O12345 '), NaN);\n+      assert.strictEqual(_.toNumber(' 0x1a2b3c'), 1715004);\n+      assert.deepEqual(_.toNumber(' +0x1a2b3c '), NaN);\n+      assert.deepEqual(_.toNumber(' -0x1a2b3c '), NaN);\n+      assert.strictEqual(_.toNumber(' 0X1A2B3C '), 1715004);\n+      assert.deepEqual(_.toNumber(' +0X1A2B3C '), NaN);\n+      assert.deepEqual(_.toNumber(' -0X1A2B3C '), NaN);\n+      assert.deepEqual(_.toNumber(' 0b1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0b1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0b1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0B1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0B1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0B1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0o123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0o123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0o123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0O123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0O123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0O123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0x1a2b3x '), NaN);\n+      assert.deepEqual(_.toNumber(' +0x1a2b3x '), NaN);\n+      assert.deepEqual(_.toNumber(' -0x1a2b3x '), NaN);\n+      assert.deepEqual(_.toNumber(' 0X1A2B3X '), NaN);\n+      assert.deepEqual(_.toNumber(' +0X1A2B3X '), NaN);\n+      assert.deepEqual(_.toNumber(' -0X1A2B3X '), NaN);\n+      assert.deepEqual(_.toNumber(' -0b '), NaN);\n+      assert.deepEqual(_.toNumber(' -0o '), NaN);\n+      assert.deepEqual(_.toNumber(' -0x '), NaN);\n+    });\n+\n+    QUnit.test('should convert string objects with whitespace accurately', function(assert) {\n+      assert.expect(75);\n+\n+      assert.strictEqual(1 / _.toNumber(new String(' 0 ')), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(new String(' +0 ')), INFINITY);\n+      assert.strictEqual(1 / _.toNumber(new String(' -0 ')), -INFINITY);\n+      assert.strictEqual(_.toNumber(new String(' 10 ')), 10);\n+      assert.strictEqual(_.toNumber(new String(' +10 ')), 10);\n+      assert.strictEqual(_.toNumber(new String(' -10 ')), -10);\n+      assert.strictEqual(_.toNumber(new String(' 1.234567890 ')), 1.23456789);\n+      assert.strictEqual(_.toNumber(new String(' +1.234567890 ')), 1.23456789);\n+      assert.strictEqual(_.toNumber(new String(' -1.234567890 ')), -1.23456789);\n+      assert.strictEqual(_.toNumber(new String(' 9007199254740991 ')), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' +9007199254740991 ')), MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' -9007199254740991 ')), -MAX_SAFE_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' 1e+308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' +1e+308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' -1e+308 ')), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' 1e308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' +1e308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' -1e308 ')), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' 1E+308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' +1E+308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' -1E+308 ')), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' 1E308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' +1E308 ')), MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' -1E308 ')), -MAX_INTEGER);\n+      assert.strictEqual(_.toNumber(new String(' 5e-324 ')), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(new String(' +5e-324 ')), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(new String(' -5e-324 ')), -MIN_VALUE);\n+      assert.strictEqual(_.toNumber(new String(' 5E-324 ')), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(new String(' +5E-324 ')), MIN_VALUE);\n+      assert.strictEqual(_.toNumber(new String(' -5E-324 ')), -MIN_VALUE);\n+      assert.strictEqual(_.toNumber(new String(' Infinity ')), INFINITY);\n+      assert.strictEqual(_.toNumber(new String(' +Infinity ')), INFINITY);\n+      assert.strictEqual(_.toNumber(new String(' -Infinity ')), -INFINITY);\n+      assert.deepEqual(_.toNumber(' NaN '), NaN);\n+      assert.deepEqual(_.toNumber(' +NaN '), NaN);\n+      assert.deepEqual(_.toNumber(' -NaN '), NaN);\n+      assert.strictEqual(_.toNumber(' 0b101010 '), 42);\n+      assert.deepEqual(_.toNumber(' +0b101010 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0b101010 '), NaN);\n+      assert.strictEqual(_.toNumber(' 0B101010 '), 42);\n+      assert.deepEqual(_.toNumber(' +0B101010 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0B101010 '), NaN);\n+      assert.strictEqual(_.toNumber( '0o12345 '), 5349);\n+      assert.deepEqual(_.toNumber(' +0o12345 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0o12345 '), NaN);\n+      assert.strictEqual(_.toNumber(' 0O12345 '), 5349);\n+      assert.deepEqual(_.toNumber(' +0O12345 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0O12345 '), NaN);\n+      assert.strictEqual(_.toNumber(' 0x1a2b3c'), 1715004);\n+      assert.deepEqual(_.toNumber(' +0x1a2b3c '), NaN);\n+      assert.deepEqual(_.toNumber(' -0x1a2b3c '), NaN);\n+      assert.strictEqual(_.toNumber(' 0X1A2B3C '), 1715004);\n+      assert.deepEqual(_.toNumber(' +0X1A2B3C '), NaN);\n+      assert.deepEqual(_.toNumber(' -0X1A2B3C '), NaN);\n+      assert.deepEqual(_.toNumber(' 0b1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0b1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0b1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0B1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0B1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0B1010102 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0o123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0o123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0o123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0O123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' +0O123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' -0O123458 '), NaN);\n+      assert.deepEqual(_.toNumber(' 0x1a2b3x '), NaN);\n+      assert.deepEqual(_.toNumber(' +0x1a2b3x '), NaN);\n+      assert.deepEqual(_.toNumber(' -0x1a2b3x '), NaN);\n+      assert.deepEqual(_.toNumber(' 0X1A2B3X '), NaN);\n+      assert.deepEqual(_.toNumber(' +0X1A2B3X '), NaN);\n+      assert.deepEqual(_.toNumber(' -0X1A2B3X '), NaN);\n+      assert.deepEqual(_.toNumber(' -0b '), NaN);\n+      assert.deepEqual(_.toNumber(' -0o '), NaN);\n+      assert.deepEqual(_.toNumber(' -0x '), NaN);\n+    });\n+\n+    QUnit.test('should convert boolean literals and objects', function(assert) {\n+      assert.expect(6);\n+\n+      assert.strictEqual(1 / _.toNumber(false), INFINITY);\n+      assert.strictEqual(_.toNumber(true), 1);\n+      assert.strictEqual(1 / _.toNumber(new Boolean(false)), INFINITY);\n+      assert.strictEqual(_.toNumber(new Boolean(true)), 1);\n+      assert.deepEqual(_.toNumber('false'), NaN);\n+      assert.deepEqual(_.toNumber('true'), NaN);\n+    });\n+\n+    QUnit.test('should convert dates', function(assert) {\n+      assert.expect(2);\n+\n+      var now = new Date();\n+      assert.strictEqual(_.toNumber(now), now.getTime());\n+      assert.deepEqual(_.toNumber(new Date(MAX_INTEGER)), NaN);\n+    });\n+\n+    QUnit.test('should convert RegExp literals and objects', function(assert) {\n+      assert.expect(2);\n+\n+      assert.deepEqual(_.toNumber(/abc/i), NaN);\n+      assert.deepEqual(_.toNumber(new RegExp('abc', 'i')), NaN);\n+    })\n+\n+    QUnit.test('other objects', function(assert) {\n+      assert.expect(14);\n+\n+      assert.deepEqual(_.toNumber({}), NaN);\n+      assert.deepEqual(_.toNumber({\n+        valueOf: '1.1'\n+      }), NaN);\n+      assert.strictEqual(_.toNumber({","path":"test/test.js","position":339,"original_position":339,"commit_id":"f3d096d43279f5bfdde5439974986dc4c1a60edd","original_commit_id":"f3d096d43279f5bfdde5439974986dc4c1a60edd","user":{"login":"jdalton","id":4303,"avatar_url":"https://avatars.githubusercontent.com/u/4303?v=3","gravatar_id":"","url":"https://api.github.com/users/jdalton","html_url":"https://github.com/jdalton","followers_url":"https://api.github.com/users/jdalton/followers","following_url":"https://api.github.com/users/jdalton/following{/other_user}","gists_url":"https://api.github.com/users/jdalton/gists{/gist_id}","starred_url":"https://api.github.com/users/jdalton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdalton/subscriptions","organizations_url":"https://api.github.com/users/jdalton/orgs","repos_url":"https://api.github.com/users/jdalton/repos","events_url":"https://api.github.com/users/jdalton/events{/privacy}","received_events_url":"https://api.github.com/users/jdalton/received_events","type":"User","site_admin":false},"body":"Same here way too many tests for this, confirm `toString` behavior and that's enough.","created_at":"2015-10-28T13:30:30Z","updated_at":"2015-10-28T13:30:30Z","html_url":"https://github.com/lodash/lodash/pull/1577#discussion_r43254552","pull_request_url":"https://api.github.com/repos/lodash/lodash/pulls/1577","_links":{"self":{"href":"https://api.github.com/repos/lodash/lodash/pulls/comments/43254552"},"html":{"href":"https://github.com/lodash/lodash/pull/1577#discussion_r43254552"},"pull_request":{"href":"https://api.github.com/repos/lodash/lodash/pulls/1577"}}},"pull_request":{"url":"https://api.github.com/repos/lodash/lodash/pulls/1577","id":48958016,"html_url":"https://github.com/lodash/lodash/pull/1577","diff_url":"https://github.com/lodash/lodash/pull/1577.diff","patch_url":"https://github.com/lodash/lodash/pull/1577.patch","issue_url":"https://api.github.com/repos/lodash/lodash/issues/1577","number":1577,"state":"open","locked":false,"title":"Add `toNumber` and cleanup `toString`. Plus a wide range of tests.","user":{"login":"Xotic750","id":216041,"avatar_url":"https://avatars.githubusercontent.com/u/216041?v=3","gravatar_id":"","url":"https://api.github.com/users/Xotic750","html_url":"https://github.com/Xotic750","followers_url":"https://api.github.com/users/Xotic750/followers","following_url":"https://api.github.com/users/Xotic750/following{/other_user}","gists_url":"https://api.github.com/users/Xotic750/gists{/gist_id}","starred_url":"https://api.github.com/users/Xotic750/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Xotic750/subscriptions","organizations_url":"https://api.github.com/users/Xotic750/orgs","repos_url":"https://api.github.com/users/Xotic750/repos","events_url":"https://api.github.com/users/Xotic750/events{/privacy}","received_events_url":"https://api.github.com/users/Xotic750/received_events","type":"User","site_admin":false},"body":"https://github.com/lodash/lodash/issues/1574\r\nhttps://github.com/lodash/lodash/pull/1576#discussion_r43206357","created_at":"2015-10-28T02:32:22Z","updated_at":"2015-10-28T13:30:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b2def84db025d5e982f18f49c484e39d5c1f8695","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/lodash/lodash/pulls/1577/commits","review_comments_url":"https://api.github.com/repos/lodash/lodash/pulls/1577/comments","review_comment_url":"https://api.github.com/repos/lodash/lodash/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lodash/lodash/issues/1577/comments","statuses_url":"https://api.github.com/repos/lodash/lodash/statuses/f3d096d43279f5bfdde5439974986dc4c1a60edd","head":{"label":"Xotic750:master","ref":"master","sha":"f3d096d43279f5bfdde5439974986dc4c1a60edd","user":{"login":"Xotic750","id":216041,"avatar_url":"https://avatars.githubusercontent.com/u/216041?v=3","gravatar_id":"","url":"https://api.github.com/users/Xotic750","html_url":"https://github.com/Xotic750","followers_url":"https://api.github.com/users/Xotic750/followers","following_url":"https://api.github.com/users/Xotic750/following{/other_user}","gists_url":"https://api.github.com/users/Xotic750/gists{/gist_id}","starred_url":"https://api.github.com/users/Xotic750/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Xotic750/subscriptions","organizations_url":"https://api.github.com/users/Xotic750/orgs","repos_url":"https://api.github.com/users/Xotic750/repos","events_url":"https://api.github.com/users/Xotic750/events{/privacy}","received_events_url":"https://api.github.com/users/Xotic750/received_events","type":"User","site_admin":false},"repo":{"id":44678142,"name":"lodash","full_name":"Xotic750/lodash","owner":{"login":"Xotic750","id":216041,"avatar_url":"https://avatars.githubusercontent.com/u/216041?v=3","gravatar_id":"","url":"https://api.github.com/users/Xotic750","html_url":"https://github.com/Xotic750","followers_url":"https://api.github.com/users/Xotic750/followers","following_url":"https://api.github.com/users/Xotic750/following{/other_user}","gists_url":"https://api.github.com/users/Xotic750/gists{/gist_id}","starred_url":"https://api.github.com/users/Xotic750/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Xotic750/subscriptions","organizations_url":"https://api.github.com/users/Xotic750/orgs","repos_url":"https://api.github.com/users/Xotic750/repos","events_url":"https://api.github.com/users/Xotic750/events{/privacy}","received_events_url":"https://api.github.com/users/Xotic750/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Xotic750/lodash","description":"A JavaScript utility library delivering consistency, modularity, performance, & extras.","fork":true,"url":"https://api.github.com/repos/Xotic750/lodash","forks_url":"https://api.github.com/repos/Xotic750/lodash/forks","keys_url":"https://api.github.com/repos/Xotic750/lodash/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Xotic750/lodash/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Xotic750/lodash/teams","hooks_url":"https://api.github.com/repos/Xotic750/lodash/hooks","issue_events_url":"https://api.github.com/repos/Xotic750/lodash/issues/events{/number}","events_url":"https://api.github.com/repos/Xotic750/lodash/events","assignees_url":"https://api.github.com/repos/Xotic750/lodash/assignees{/user}","branches_url":"https://api.github.com/repos/Xotic750/lodash/branches{/branch}","tags_url":"https://api.github.com/repos/Xotic750/lodash/tags","blobs_url":"https://api.github.com/repos/Xotic750/lodash/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Xotic750/lodash/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Xotic750/lodash/git/refs{/sha}","trees_url":"https://api.github.com/repos/Xotic750/lodash/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Xotic750/lodash/statuses/{sha}","languages_url":"https://api.github.com/repos/Xotic750/lodash/languages","stargazers_url":"https://api.github.com/repos/Xotic750/lodash/stargazers","contributors_url":"https://api.github.com/repos/Xotic750/lodash/contributors","subscribers_url":"https://api.github.com/repos/Xotic750/lodash/subscribers","subscription_url":"https://api.github.com/repos/Xotic750/lodash/subscription","commits_url":"https://api.github.com/repos/Xotic750/lodash/commits{/sha}","git_commits_url":"https://api.github.com/repos/Xotic750/lodash/git/commits{/sha}","comments_url":"https://api.github.com/repos/Xotic750/lodash/comments{/number}","issue_comment_url":"https://api.github.com/repos/Xotic750/lodash/issues/comments{/number}","contents_url":"https://api.github.com/repos/Xotic750/lodash/contents/{+path}","compare_url":"https://api.github.com/repos/Xotic750/lodash/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Xotic750/lodash/merges","archive_url":"https://api.github.com/repos/Xotic750/lodash/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Xotic750/lodash/downloads","issues_url":"https://api.github.com/repos/Xotic750/lodash/issues{/number}","pulls_url":"https://api.github.com/repos/Xotic750/lodash/pulls{/number}","milestones_url":"https://api.github.com/repos/Xotic750/lodash/milestones{/number}","notifications_url":"https://api.github.com/repos/Xotic750/lodash/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Xotic750/lodash/labels{/name}","releases_url":"https://api.github.com/repos/Xotic750/lodash/releases{/id}","created_at":"2015-10-21T13:29:06Z","updated_at":"2015-10-21T13:29:13Z","pushed_at":"2015-10-28T13:02:59Z","git_url":"git://github.com/Xotic750/lodash.git","ssh_url":"git@github.com:Xotic750/lodash.git","clone_url":"https://github.com/Xotic750/lodash.git","svn_url":"https://github.com/Xotic750/lodash","homepage":"https://lodash.com/","size":30754,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"lodash:master","ref":"master","sha":"cd371ac66fbdb41c818df441ca3e2658a5775886","user":{"login":"lodash","id":2565403,"avatar_url":"https://avatars.githubusercontent.com/u/2565403?v=3","gravatar_id":"","url":"https://api.github.com/users/lodash","html_url":"https://github.com/lodash","followers_url":"https://api.github.com/users/lodash/followers","following_url":"https://api.github.com/users/lodash/following{/other_user}","gists_url":"https://api.github.com/users/lodash/gists{/gist_id}","starred_url":"https://api.github.com/users/lodash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lodash/subscriptions","organizations_url":"https://api.github.com/users/lodash/orgs","repos_url":"https://api.github.com/users/lodash/repos","events_url":"https://api.github.com/users/lodash/events{/privacy}","received_events_url":"https://api.github.com/users/lodash/received_events","type":"Organization","site_admin":false},"repo":{"id":3955647,"name":"lodash","full_name":"lodash/lodash","owner":{"login":"lodash","id":2565403,"avatar_url":"https://avatars.githubusercontent.com/u/2565403?v=3","gravatar_id":"","url":"https://api.github.com/users/lodash","html_url":"https://github.com/lodash","followers_url":"https://api.github.com/users/lodash/followers","following_url":"https://api.github.com/users/lodash/following{/other_user}","gists_url":"https://api.github.com/users/lodash/gists{/gist_id}","starred_url":"https://api.github.com/users/lodash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lodash/subscriptions","organizations_url":"https://api.github.com/users/lodash/orgs","repos_url":"https://api.github.com/users/lodash/repos","events_url":"https://api.github.com/users/lodash/events{/privacy}","received_events_url":"https://api.github.com/users/lodash/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lodash/lodash","description":"A JavaScript utility library delivering consistency, modularity, performance, & extras.","fork":false,"url":"https://api.github.com/repos/lodash/lodash","forks_url":"https://api.github.com/repos/lodash/lodash/forks","keys_url":"https://api.github.com/repos/lodash/lodash/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lodash/lodash/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lodash/lodash/teams","hooks_url":"https://api.github.com/repos/lodash/lodash/hooks","issue_events_url":"https://api.github.com/repos/lodash/lodash/issues/events{/number}","events_url":"https://api.github.com/repos/lodash/lodash/events","assignees_url":"https://api.github.com/repos/lodash/lodash/assignees{/user}","branches_url":"https://api.github.com/repos/lodash/lodash/branches{/branch}","tags_url":"https://api.github.com/repos/lodash/lodash/tags","blobs_url":"https://api.github.com/repos/lodash/lodash/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lodash/lodash/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lodash/lodash/git/refs{/sha}","trees_url":"https://api.github.com/repos/lodash/lodash/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lodash/lodash/statuses/{sha}","languages_url":"https://api.github.com/repos/lodash/lodash/languages","stargazers_url":"https://api.github.com/repos/lodash/lodash/stargazers","contributors_url":"https://api.github.com/repos/lodash/lodash/contributors","subscribers_url":"https://api.github.com/repos/lodash/lodash/subscribers","subscription_url":"https://api.github.com/repos/lodash/lodash/subscription","commits_url":"https://api.github.com/repos/lodash/lodash/commits{/sha}","git_commits_url":"https://api.github.com/repos/lodash/lodash/git/commits{/sha}","comments_url":"https://api.github.com/repos/lodash/lodash/comments{/number}","issue_comment_url":"https://api.github.com/repos/lodash/lodash/issues/comments{/number}","contents_url":"https://api.github.com/repos/lodash/lodash/contents/{+path}","compare_url":"https://api.github.com/repos/lodash/lodash/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lodash/lodash/merges","archive_url":"https://api.github.com/repos/lodash/lodash/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lodash/lodash/downloads","issues_url":"https://api.github.com/repos/lodash/lodash/issues{/number}","pulls_url":"https://api.github.com/repos/lodash/lodash/pulls{/number}","milestones_url":"https://api.github.com/repos/lodash/lodash/milestones{/number}","notifications_url":"https://api.github.com/repos/lodash/lodash/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lodash/lodash/labels{/name}","releases_url":"https://api.github.com/repos/lodash/lodash/releases{/id}","created_at":"2012-04-07T04:11:46Z","updated_at":"2015-10-28T11:27:43Z","pushed_at":"2015-10-28T13:03:00Z","git_url":"git://github.com/lodash/lodash.git","ssh_url":"git@github.com:lodash/lodash.git","clone_url":"https://github.com/lodash/lodash.git","svn_url":"https://github.com/lodash/lodash","homepage":"https://lodash.com/","size":123215,"stargazers_count":11590,"watchers_count":11590,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1066,"mirror_url":null,"open_issues_count":1,"forks":1066,"open_issues":1,"watchers":11590,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lodash/lodash/pulls/1577"},"html":{"href":"https://github.com/lodash/lodash/pull/1577"},"issue":{"href":"https://api.github.com/repos/lodash/lodash/issues/1577"},"comments":{"href":"https://api.github.com/repos/lodash/lodash/issues/1577/comments"},"review_comments":{"href":"https://api.github.com/repos/lodash/lodash/pulls/1577/comments"},"review_comment":{"href":"https://api.github.com/repos/lodash/lodash/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lodash/lodash/pulls/1577/commits"},"statuses":{"href":"https://api.github.com/repos/lodash/lodash/statuses/f3d096d43279f5bfdde5439974986dc4c1a60edd"}}}}