56 Commits

Author SHA1 Message Date
Lucas
21f7de789f feat(parser) retain inline object notation on stringify() 2019-12-15 17:15:34 -03:00
Rebecca Turner
6249d86d8d chore: Switch to @iarna/standard 2019-02-20 12:50:33 -08:00
龙腾道
7ee009eda6 fix: __proto__ property setting on plain Object
Credit: @LongTengDao
Fixes: #13
2019-02-18 11:39:12 -08:00
Rebecca Turner
e48130296f fix(parser): Allow properties with name matching JS Object methods
We still use plain Objects, to match JSON.parse behavior, but check for
key existence with hasOwnProperty.

Fixes: #11
Many thanks to: @LongTengDao
2018-11-27 16:48:37 -08:00
Aron Griffis
07f8a67cc5 fix(parser): Don't crash eval'ing require in transpiled bundle
Fixes #9
Fixes #10
2018-11-27 13:54:56 -08:00
Rebecca Turner
f4e678f84f fix(parser): Limit integers to 64bit 2018-09-13 10:24:11 -07:00
Rebecca Turner
9a2357c18b fix(parser): Disallow trailing _ on integer part of floats 2018-08-31 10:58:38 -07:00
Rebecca Turner
d942a68091 fix(parser): Disallow leading zeros on signed integers 2018-08-31 10:58:02 -07:00
Rebecca Turner
baa7e4129d fix(parse-pretty-errors): Don't crash if the buffer wasn't a buffer 2018-07-26 23:49:21 -07:00
Rebecca Turner
d4de961a68 fix(Integer): No leading underscores for bin or oct values 2018-07-26 23:49:21 -07:00
Rebecca Turner
ca6794f626 fix(Float): Parse floats less than 0 correctly 2018-07-26 23:49:21 -07:00
Rebecca Turner
c448bb63fa feat(LocalDatetime): Support floatingh dates, times and datetimes 2018-07-26 23:49:21 -07:00
Rebecca Turner
7164a896f9 feat(MultiBasic): Allow whitespace after trailing backslash 2018-07-26 23:49:21 -07:00
Rebecca Turner
572dc7246a feat(Float): Add inf/nan support 2018-07-26 20:06:22 -07:00
Rebecca Turner
609cee083b fix(Integer): Integers don't have negative zero 2018-07-26 20:06:22 -07:00
Rebecca Turner
804d90d44e feat(Integers): Add oct/hex/bin literal support 2018-07-26 20:06:22 -07:00
Rebecca Turner
4613b94566 feat(BigInt): Add support for BigInt on platforms that have it 2018-07-26 20:06:22 -07:00
Rebecca Turner
e83451b328 chore(coverage): Make it ignore debugging symbols 2018-07-26 20:06:22 -07:00
Rebecca Turner
e5b63fa010 feat(literal keys): Add support for literal strings as keys 2018-07-26 20:06:16 -07:00
Rebecca Turner
efac902143 chore(parseBasicString): Elminate duplicate code between parseBasicString and parseBasicOnlyString 2018-07-26 20:06:16 -07:00
Rebecca Turner
0c56825e4f feat(dotted keys): Added dotted keywords 2018-07-26 20:06:16 -07:00
Rebecca Turner
cfc2efd3b2 feat(strings): Disallow delete chars 2018-07-26 20:05:10 -07:00
Rebecca Turner
bf45c95bec fix(parseLiteralString): Disallow control chars in literal strings 2018-07-08 00:28:28 -07:00
Rebecca Turner
f0873d3bd0 chore(parseLiteralString): Remove dead code 2018-07-08 00:21:33 -07:00
Rebecca Turner
414075ee9a chore(parser): Only set this.char via this.nextChar 2018-07-08 00:21:33 -07:00
Rebecca Turner
2546fc9ae2 fix 2018-07-04 22:55:36 -07:00
Rebecca Turner
c595d72bc0 Update README with absurd new speed 2018-07-04 22:54:37 -07:00
Rebecca Turner
3572502a01 Use out-of-range int instead of symbol to mark end 2018-07-04 22:54:37 -07:00
Rebecca Turner
247dec865f Properly parse booleans 2018-07-04 22:50:24 -07:00
Rebecca Turner
084841f047 Parse using codepoints not chars 2018-07-04 22:50:24 -07:00
Rebecca Turner
59f2bc7c69 Fix bug where double single-quotes ANYWHERE inside a literal would switch to multi-line mode 2018-07-04 19:19:49 -07:00
Rebecca Turner
7e02f5c653 Throw rather than returning invalid datetimes 2018-06-29 05:59:27 -07:00
Rebecca Turner
61587f4d38 Differentiate crashes from syntax errors for tests 2018-06-29 05:59:23 -07:00
Rebecca Turner
2041c282af Make state object have static properties 2018-06-29 05:59:21 -07:00
Rebecca Turner
0193f9261e Parse dates properly 2018-06-29 05:52:12 -07:00
Rebecca Turner
d7ac0db767 Other deregexing 2018-06-29 05:28:57 -07:00
Rebecca Turner
8913b9e7e1 Add tight loops for string processing 2018-06-29 05:28:06 -07:00
Rebecca Turner
96af31da2f Appease standard 2018-06-20 18:09:32 -07:00
Rebecca Turner
71c5e3cf13 Ensure unterminated basic key strings throw 2018-06-20 17:59:57 -07:00
Rebecca Turner
5367607040 Control chars not allowed in strings 2018-06-20 17:59:57 -07:00
Rebecca Turner
3b58f27b81 Reserved unicode ranges raise errors 2018-06-20 17:59:57 -07:00
Rebecca Turner
4c64095ad7 Disallow empty bare keys 2018-06-20 17:59:57 -07:00
Rebecca Turner
77974ae627 Deeper then shallower table is allowed 2018-06-20 17:59:57 -07:00
Rebecca Turner
b7f5e5395e Disallow multi-line strings as keys 2018-06-20 17:47:33 -07:00
Rebecca Turner
0bd1fad9df Fix trimming of CRs 2018-06-20 17:47:33 -07:00
Rebecca Turner
b4c9eeee17 Disallow literal strings as keys 2018-06-20 17:47:33 -07:00
Rebecca Turner
3c6214cc28 Rename some things to align with the standard better 2018-06-16 00:30:19 -07:00
Rebecca Turner
106d5dcd35 Ignore untestable things 2018-06-15 20:58:50 -07:00
Rebecca Turner
2efc8b6dea Insist inline arrays only receive one content type 2018-06-15 15:29:17 -07:00
Rebecca Turner
89478c526e Unbox numeric types when adding them to our lists 2018-06-15 15:29:17 -07:00