Timothy Gu
f8063d51d7
benchmark: fix punycode test for --without-intl
...
PR-URL: https://github.com/nodejs/node/pull/16251
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-10-20 15:13:32 -07:00
Timothy Gu
2146c88bc7
src: fix NewContext for --without-intl
...
PR-URL: https://github.com/nodejs/node/pull/16251
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-10-20 15:13:29 -07:00
Timothy Gu
3aea4c884b
src: fix ^ in stack trace with vm's columnOffset
...
While VM module's columnOffset option does succeed in applying an offset
to the column number in the stack trace, the wavy diagram printed does
not account for potential offsets, resulting in erroneous location of
`^` in the first line of the script.
Before:
```
> vm.runInThisContext('throw new Error()', { columnOffset: 5 })
evalmachine.<anonymous>:1
throw new Error()
^
Error
at evalmachine.<anonymous>:1:12
at ContextifyScript.Script.runInThisContext (vm.js:44:33)
at Object.runInThisContext (vm.js:116:38)
```
After:
```
> vm.runInThisContext('throw new Error()', { columnOffset: 5 })
evalmachine.<anonymous>:1
throw new Error()
^
Error
at evalmachine.<anonymous>:1:12
at ContextifyScript.Script.runInThisContext (vm.js:50:33)
at Object.runInThisContext (vm.js:139:38)
at repl:1:4
```
PR-URL: https://github.com/nodejs/node/pull/15771
Refs: https://github.com/tmpvar/jsdom/pull/2003
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-10-07 09:51:44 -07:00
Timothy Gu
806857712f
src: do not add .domain to promises in VM contexts
...
The promises are still tracked, and their handlers will still execute in
the correct domain. The creation domain is simply hidden.
PR-URL: https://github.com/nodejs/node/pull/15695
Fixes: https://github.com/nodejs/node/issues/15673
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2017-10-04 12:27:08 -07:00
Timothy Gu
2f8ddb2734
inspector: reimplement JS binding
...
- Group all relevant methods/states into a C++ class.
- Uses internal fields instead of the less efficient v8::External for
storing the pointer to the C++ object.
- Use AsyncWrap to allow instrumenting callback states.
PR-URL: https://github.com/nodejs/node/pull/15643
Refs: https://github.com/nodejs/node/issues/13503
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-10-02 21:38:15 -07:00
Timothy Gu
71578198e3
module: add inspector to builtinLibs
...
PR-URL: https://github.com/nodejs/node/pull/15643
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-10-02 21:37:59 -07:00
Timothy Gu
f547db131f
benchmark: add util/type-check
...
PR-URL: https://github.com/nodejs/node/pull/15663
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-10-01 23:58:59 -03:00
Timothy Gu
7907534a8d
lib: faster type checks for some types
...
PR-URL: https://github.com/nodejs/node/pull/15663
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-10-01 23:58:59 -03:00
Timothy Gu
6e300672fa
doc: update libuv license
...
PR-URL: https://github.com/nodejs/node/pull/15649
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-09-29 09:06:25 -07:00
Timothy Gu
cb44cd4936
test: fix single test runner regression
...
When ESM support was added it created a regression in the test runner
that broke the ability to run individual tests. This commit
re-introduces the use of `NormalizePath` which fixes the regression
in the test runner
Refs: https://github.com/nodejs/node/pull/15300
PR-URL: https://github.com/nodejs/node/pull/15329
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Myles Borins <myles.borins@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2017-09-12 08:25:58 +02:00
Timothy Gu
428bcb7877
promises: more robust stringification
...
PR-URL: https://github.com/nodejs/node/pull/13784
Fixes: https://github.com/nodejs/node/issues/13771
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rod Vagg <rod@vagg.org >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-09-08 16:05:12 +08:00
Timothy Gu
d932e80231
vm: support parsing a script in a specific context
...
PR-URL: https://github.com/nodejs/node/pull/14888
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com >
2017-09-05 10:47:42 +08:00
Timothy Gu
b616e87947
test: fix inspector helper port sniffing
...
PR-URL: https://github.com/nodejs/node/pull/13870
Reviewed-By: Miroslav Bajtoš <mbajtoss@gmail.com >
2017-08-17 20:51:45 +08:00
Timothy Gu
e96ca62480
src: avoid dereference without existence check
...
Currently the URL API is only used from the JS binding, which always
initializes `base` regardless of `has_base`. Therefore, there is no
actual security risk right now, but would be had we made other C++ parts
of Node.js use this API.
An earlier version of this patch was created by Bradley Farias
<bradley.meck@gmail.com >.
PR-URL: https://github.com/nodejs/node/pull/14591
Refs: https://github.com/nodejs/node/pull/14369#discussion_r128767221
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-08-06 15:10:59 +08:00
Timothy Gu
17547c4762
inspector: fix console with inspector disabled
...
PR-URL: https://github.com/nodejs/node/pull/14489
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-08-05 16:40:41 +08:00
Timothy Gu
365b2e3424
encoding: rudimentary TextDecoder support w/o ICU
...
Also split up the tests.
PR-URL: https://github.com/nodejs/node/pull/14489
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-08-05 16:40:41 +08:00
Timothy Gu
3b0ef0bf53
test: fix test-readline-position w/o ICU
...
PR-URL: https://github.com/nodejs/node/pull/14489
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-08-05 16:40:37 +08:00
Timothy Gu
57630adf90
url: update sort() behavior with no params
...
PR-URL: https://github.com/nodejs/node/pull/14185
Refs: https://github.com/whatwg/url/pull/336
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-08-01 11:58:15 +08:00
Timothy Gu
6e79076fee
doc, url: add changelog metadata for url.format
...
PR-URL: https://github.com/nodejs/node/pull/14543
Fixes: https://github.com/nodejs/node/issues/11103
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-08-01 11:46:19 +08:00
Timothy Gu
2791761eda
path: fix win32 volume-relative paths
...
`path.resolve()` and `path.join()` are left alone in this commit due to
the lack of clear semantics.
PR-URL: https://github.com/nodejs/node/pull/14440
Fixes: https://github.com/nodejs/node/issues/14405
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-07-30 19:24:23 +08:00
Timothy Gu
f0be75def1
doc: various small revisions in url
...
PR-URL: https://github.com/nodejs/node/pull/14478
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-07-30 19:12:07 +08:00
Timothy Gu
d074b2f427
doc: update url.origin IDNA behavior
...
Fixes: 413691fde0 "url: expose WHATWG url.origin as ASCII"
PR-URL: https://github.com/nodejs/node/pull/14478
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-07-30 19:11:43 +08:00
Timothy Gu
b5b7c3b432
doc: add missing space
...
PR-URL: https://github.com/nodejs/node/pull/14181
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2017-07-12 15:18:53 +02:00
Timothy Gu
afab5aba32
querystring: fix up lastPos usage
...
Use lastPos ONLY for tracking what has been .slice()'d, never as an
indication of if key/value has been seen, since lastPos is updated on
seeing + as well.
PR-URL: https://github.com/nodejs/node/pull/14151
Fixes: https://github.com/nodejs/node/issues/13773
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-07-12 12:12:48 +08:00
Timothy Gu
6809429cfa
doc: add documentation on ICU
...
PR-URL: https://github.com/nodejs/node/pull/13916
Refs: https://github.com/nodejs/node/pull/13644#discussion_r121616327
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
2017-07-06 11:19:34 +08:00
Timothy Gu
b01ac75edc
url: normalize port on scheme change
...
PR-URL: https://github.com/nodejs/node/pull/13997
Refs: https://github.com/whatwg/url/pull/328
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-07-05 12:07:15 +08:00
Timothy Gu
9330835754
src: add missing new line to printed message
...
PR-URL: https://github.com/nodejs/node/pull/13940
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
2017-06-29 15:51:12 +08:00
Timothy Gu
f4b5b70444
src: revise character width calculation
...
- Categorize all nonspacing marks (Mn) and enclosing marks (Me) as
0-width
- Categorize all spacing marks (Mc) as non-0-width.
- Treat soft hyphens (a format character Cf) as non-0-width.
- Do not treat all unassigned code points as 0-width; instead, let ICU
select the default for that character per UAX #11 .
- Avoid getting the General_Category of a character multiple times as it
is an intensive operation.
Refs: http://unicode.org/reports/tr11/
PR-URL: https://github.com/nodejs/node/pull/13918
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-06-28 21:50:55 -07:00
Timothy Gu
01aeb38800
readline: properly handle 0-width characters
...
PR-URL: https://github.com/nodejs/node/pull/13918
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-06-28 21:50:49 -07:00
Timothy Gu
91a1bbe305
url: update IDNA handling
...
Remove custom tests for invalid IDNA domains in url-idna.js in favor of
the more comprehensive official set.
PR-URL: https://github.com/nodejs/node/pull/13362
Refs: https://github.com/whatwg/url/pull/309
Refs: https://github.com/w3c/web-platform-tests/pull/5976
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-06-06 23:33:56 -07:00
Timothy Gu
95eef9b044
url: more precise URLSearchParams constructor
...
PR-URL: https://github.com/nodejs/node/pull/13026
Ref: https://github.com/w3c/web-platform-tests/pull/5813
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-06-01 16:47:20 -07:00
Timothy Gu
413691fde0
url: expose WHATWG url.origin as ASCII
...
PR-URL: https://github.com/nodejs/node/pull/13126
Refs: https://github.com/whatwg/url/issues/297
Refs: https://github.com/w3c/web-platform-tests/pull/5944
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-05-25 10:32:26 -07:00
Timothy Gu
841bb4c61f
url: fix C0 control and whitespace handling
...
PR-URL: https://github.com/nodejs/node/pull/12846
Fixes: https://github.com/nodejs/node/issues/12825
Refs: https://github.com/w3c/web-platform-tests/pull/5792
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-05-19 23:19:57 -07:00
Timothy Gu
9d4bb55bdb
doc: add Added-in metadata for WHATWG URL
...
PR-URL: https://github.com/nodejs/node/pull/12683
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-04-28 13:18:59 -07:00
Timothy Gu
3a0058cd4a
doc: document url.domainTo* methods separately
...
PR-URL: https://github.com/nodejs/node/pull/12683
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-04-28 13:18:53 -07:00
Timothy Gu
d457a986a0
url: port WHATWG URL API to internal/errors
...
Also slightly revises grammar.
PR-URL: https://github.com/nodejs/node/pull/12574
Refs: https://github.com/nodejs/node/issues/11273
Refs: https://github.com/nodejs/node/issues/11299
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-04-25 16:33:08 -07:00
Timothy Gu
061c5da010
url: use internal/util's getConstructorOf
...
PR-URL: https://github.com/nodejs/node/pull/12526
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-24 16:42:59 -07:00
Timothy Gu
3c0dd45c88
util: move getConstructorOf() to internal
...
PR-URL: https://github.com/nodejs/node/pull/12526
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-24 16:42:49 -07:00
Timothy Gu
b2870a4f8c
url: update WHATWG URL API to latest spec
...
- Update to spec
- Add opaque hosts
- File state did not correctly deal with lack of base URL
- Cleanup API for file and non-special URLs
- Allow % and IPv6 addresses in non-special URL hosts
- Use specific names for percent-encode sets
- Add empty host concept for file and non-special URLs
- Clarify IPv6 serializer
- Fix existing mistakes
- Add missing ':' to forbidden host code point list.
- Correct IPv4 parser empty label behavior
- Maintain type equivalence in URLContext with spec
- scheme, username, and password should always be strings
- host, port, query, and fragment may be strings or null
- Align scheme state more closely with the spec
- Make sure the `special` variable is always synced with
URL_FLAG_SPECIAL.
PR-URL: https://github.com/nodejs/node/pull/12523
Fixes: https://github.com/nodejs/node/issues/10608
Fixes: https://github.com/nodejs/node/issues/10634
Refs: https://github.com/whatwg/url/pull/185
Refs: https://github.com/whatwg/url/pull/225
Refs: https://github.com/whatwg/url/pull/224
Refs: https://github.com/whatwg/url/pull/218
Refs: https://github.com/whatwg/url/pull/243
Refs: https://github.com/whatwg/url/pull/260
Refs: https://github.com/whatwg/url/pull/268
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-04-24 16:36:03 -07:00
Timothy Gu
ade80eeb1a
src: clean up WHATWG WG parser
...
* reduce indentation
* refactor URL inlined methods
* prefer templates over macros
* do not export ARG_* flags in url binding
PR-URL: https://github.com/nodejs/node/pull/12251
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-17 09:11:56 -07:00
Timothy Gu
2841f478e4
url: improve WHATWG URL inspection
...
PR-URL: https://github.com/nodejs/node/pull/12253
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-04-15 00:22:18 +02:00
Timothy Gu
aff5cc92b9
url: clean up WHATWG URL origin generation
...
- Use ordinary properties instead of symbols/getter redirection for
internal object
- Use template string literals
- Remove unneeded custom inspection for internal objects
- Remove unneeded OpaqueOrigin class
- Remove unneeded type checks
PR-URL: https://github.com/nodejs/node/pull/12252
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-15 00:16:30 +02:00
Timothy Gu
2ced07ccaf
zlib: support all ArrayBufferView types
...
PR-URL: https://github.com/nodejs/node/pull/12223
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-04-12 10:03:26 -07:00
Timothy Gu
a8f460f12d
crypto: support all ArrayBufferView types
...
PR-URL: https://github.com/nodejs/node/pull/12223
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-04-12 10:03:22 -07:00
Timothy Gu
0c539faac3
test: add common.getArrayBufferViews(buf)
...
PR-URL: https://github.com/nodejs/node/pull/12223
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-04-12 10:03:14 -07:00
Timothy Gu
faa447b256
src: allow ArrayBufferView as instance of Buffer
...
PR-URL: https://github.com/nodejs/node/pull/12223
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-04-12 10:02:59 -07:00
Timothy Gu
a37273c1e4
util: use V8 C++ API for inspecting Promises
...
PR-URL: https://github.com/nodejs/node/pull/12254
Refs: https://github.com/nodejs/node/issues/11875
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Josh Gavant <josh.gavant@outlook.com >
2017-04-08 11:07:00 -07:00
Timothy Gu
c4469c49ec
url: error when domainTo*() is called w/o argument
...
PR-URL: https://github.com/nodejs/node/pull/12134
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-04 09:51:44 -07:00
Timothy Gu
91383e47fd
zlib: support Uint8Array in convenience methods
...
Also support Uint8Array as a `dictionary` option.
PR-URL: https://github.com/nodejs/node/pull/12001
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-04-03 09:50:09 +02:00
Timothy Gu
4ddd23f0ec
src: WHATWG URL C++ parser cleanup
...
- Clarify port state
- Remove scheme flag
- Clarify URL_FLAG_TERMINATED
PR-URL: https://github.com/nodejs/node/pull/11917
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-03-29 22:19:33 -07:00
Timothy Gu
cfc8422a68
lib: use Object.create(null) directly
...
After V8 5.6, using Object.create(null) directly is now faster than
using a constructor for map-like objects.
PR-URL: https://github.com/nodejs/node/pull/11930
Refs: https://github.com/emberjs/ember.js/issues/15001
Refs: https://crrev.com/532c16eca071df3ec8eed394dcebb932ef584ee6
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-03-24 15:25:49 -07:00
Timothy Gu
14a91957f8
url: use a class for WHATWG url[context]
...
The object is used as a structure, not as a map, which `StorageObject`
was designed for.
PR-URL: https://github.com/nodejs/node/pull/11930
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-03-24 15:25:40 -07:00
Timothy Gu
a6e69f8c08
benchmark: add more options to map-bench
...
PR-URL: https://github.com/nodejs/node/pull/11930
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-03-24 15:25:14 -07:00
Timothy Gu
4fb9b1226f
src, buffer: do not segfault on out-of-range index
...
Also add test cases for partial writes and invalid indices.
PR-URL: https://github.com/nodejs/node/pull/11927
Fixes: https://github.com/nodejs/node/issues/8724
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-03-21 21:53:57 -07:00
Timothy Gu
d23123643d
src: make PercentDecode return void
...
It only returns 0, nor is it likely to have any error conditions in the
future.
PR-URL: https://github.com/nodejs/node/pull/11922
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-03-21 17:45:54 -07:00
Timothy Gu
c515a985ea
url: spec-compliant URLSearchParams parser
...
The entire `URLSearchParams` class is now fully spec-compliant.
PR-URL: https://github.com/nodejs/node/pull/11858
Fixes: https://github.com/nodejs/node/issues/10821
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-03-21 17:27:11 -07:00
Timothy Gu
c98a8022b7
querystring: move isHexTable to internal
...
PR-URL: https://github.com/nodejs/node/pull/11858
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-03-21 17:27:11 -07:00
Timothy Gu
d099f8e317
src: remove explicit UTF-8 validity check in url
...
This step was never part of the URL Standard's host parser algorithm,
and is rendered unnecessary after IDNA errors are no longer ignored.
PR-URL: https://github.com/nodejs/node/pull/11859
Refs: c2a302c50b "src: do not ignore IDNA conversion error"
Refs: https://url.spec.whatwg.org/#concept-host-parser
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-16 16:39:39 -07:00
Timothy Gu
d77a7588cf
url: spec-compliant URLSearchParams serializer
...
PR-URL: https://github.com/nodejs/node/pull/11626
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-03-14 13:14:20 -07:00
Timothy Gu
99b27ce99a
url: prioritize toString when stringifying
...
The ES addition operator calls the ToPrimitive() abstract operation
without hint String, leading a subsequent OrdinaryToPrimitive() to call
valueOf() first on an object rather than the desired toString().
Instead, use template literals which directly call ToString() abstract
operation, per Web IDL spec.
PR-URL: https://github.com/nodejs/node/pull/11737
Fixes: b610a4db1c "url: enforce valid UTF-8 in WHATWG parser"
Refs: https://github.com/nodejs/node/commit/b610a4db1c2919f88711962f5797f25ecb1cd36b#commitcomment-21200056
Refs: https://tc39.github.io/ecma262/#sec-addition-operator-plus-runtime-semantics-evaluation
Refs: https://tc39.github.io/ecma262/#sec-template-literals-runtime-semantics-evaluation
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-03-10 20:02:24 -08:00
Timothy Gu
455e6f1dd8
util: throw toJSON errors when formatting %j
...
Previously all errors resulting from JSON.stringify were treated as a
proof for circularity of the object structure. That is not the case if
the `toJSON` method of the object throws an error. Explicitly check for
the exact error message when determining the object structure's
cyclicity.
PR-URL: https://github.com/nodejs/node/pull/11708
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-10 18:22:57 -08:00
Timothy Gu
e2f151f5b2
src: make process.env work with symbols in/delete
...
The getter for process.env already allows symbols to be used, and `in`
operator as a read-only operator can do the same.
`delete a[b]` operator in ES always returns `true` without doing
anything when `b in a === false`. Allow symbols in the deleter
accordingly.
PR-URL: https://github.com/nodejs/node/pull/11709
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-03-09 16:36:12 -08:00
Timothy Gu
3f27f02da0
repl: docs-only deprecation of magic mode
...
The workaround used in repl to support `let` and `const` in non-strict
mode (known as "magic" mode) has been unnecessary since V8 v4.9 /
Node.js v6.0.0. This commit doc-deprecate magic mode (which is now
entirely equivalent to sloppy mode) in both `repl` module and in
`internal/repl`, which is responsible for starting the REPL in `node`
interactive mode.
PR-URL: https://github.com/nodejs/node/pull/11599
Refs: https://v8project.blogspot.com/2016/01/v8-release-49.html
Refs: https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V6.md#6.0.0
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Prince John Wesley <princejohnwesley@gmail.com >
2017-03-06 19:23:34 -08:00
Timothy Gu
b77c89022b
repl: remove magic mode semantics
...
The workaround used in repl to support `let` and `const` in non-strict
mode (known as "magic" mode) has been unnecessary since V8 v4.9 /
Node.js v6.0.0. This commit functionally removes this workaround.
PR-URL: https://github.com/nodejs/node/pull/11599
Refs: https://v8project.blogspot.com/2016/01/v8-release-49.html
Refs: https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V6.md#6.0.0
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Prince John Wesley <princejohnwesley@gmail.com >
2017-03-06 19:22:23 -08:00
Timothy Gu
6123ed5b25
benchmark: add USVString conversion benchmark
...
PR-URL: https://github.com/nodejs/node/pull/11436
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-28 18:39:24 -08:00
Timothy Gu
b610a4db1c
url: enforce valid UTF-8 in WHATWG parser
...
This commit implements the Web IDL USVString conversion, which mandates
all unpaired Unicode surrogates be turned into U+FFFD REPLACEMENT
CHARACTER. It also disallows Symbols to be used as USVString per spec.
Certain functions call into C++ methods in the binding that use the
Utf8Value class to access string arguments. Utf8Value already does the
normalization using V8's String::Write, so in those cases, instead of
doing the full USVString normalization, only a symbol check is done
(`'' + val`, which uses ES's ToString, versus `String()` which has
special provisions for symbols).
PR-URL: https://github.com/nodejs/node/pull/11436
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-28 18:39:20 -08:00
Timothy Gu
a7f7724167
src: remove misleading flag in TwoByteValue
...
String::REPLACE_INVALID_UTF8 is only applied in V8's
String::WriteUtf8() (i.e. Utf8Value).
PR-URL: https://github.com/nodejs/node/pull/11436
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-28 18:39:17 -08:00
Timothy Gu
a218fa381f
test: fix WPT.test()'s error handling
...
Changing err.message after the construction of Error doesn't seem to
change err.stack.
PR-URL: https://github.com/nodejs/node/pull/11436
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-28 18:39:09 -08:00
Timothy Gu
7ceea2a6a1
doc: document WHATWG IDNA methods' error handling
...
PR-URL: https://github.com/nodejs/node/pull/11549
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-28 18:32:01 -08:00
Timothy Gu
6c213978b7
test: more comprehensive IDNA test cases
...
- Split the tests out to a separate file
- Add invalid cases
- Add tests for url.domainTo*()
- Re-enable previously broken WPT URL parsing tests
PR-URL: https://github.com/nodejs/node/pull/11549
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-28 18:32:01 -08:00
Timothy Gu
c2a302c50b
src: do not ignore IDNA conversion error
...
Old behavior can be restored using a special `lenient` mode, as used in
the legacy URL parser.
PR-URL: https://github.com/nodejs/node/pull/11549
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-28 18:32:01 -08:00
Timothy Gu
d4e1eaf43c
benchmark: add url.domainTo*()
...
PR-URL: https://github.com/nodejs/node/pull/11464
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-24 17:49:46 -08:00
Timothy Gu
2cb5555f25
src, i18n: cleanup usage of MaybeStackBuffer
...
- Templatize AsBuffer() and create a generic version for inclusion in
the Buffer class
- Use MaybeStackBuffer::storage()
- If possible, avoid double conversion in ToASCII()/ToUnicode()
- More descriptive assertion error in tests
PR-URL: https://github.com/nodejs/node/pull/11464
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-24 17:49:41 -08:00
Timothy Gu
e7a3add531
src: clean up MaybeStackBuffer
...
- Add IsInvalidated() method
- Add capacity() method for finding out the actual capacity, not the
current size, of the buffer
- Make IsAllocated() work for invalidated buffers
- Allow multiple calls to AllocateSufficientStorage() and Invalidate()
- Assert buffer is malloc'd in Release()
- Assert buffer has not been invalidated in AllocateSufficientStorage()
- Add more descriptive comments describing the purpose of the methods
- Add cctest for MaybeStackBuffer
PR-URL: https://github.com/nodejs/node/pull/11464
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-24 17:49:41 -08:00
Timothy Gu
ff8bac23f1
src: don't assume v8::Local is using-declared
...
PR-URL: https://github.com/nodejs/node/pull/11464
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-24 17:49:12 -08:00
Timothy Gu
fa41dd117d
url: fix handling of ? in URLSearchParams creation
...
PR-URL: https://github.com/nodejs/node/pull/11372
Fixes: https://github.com/nodejs/node/issues/11093
Ref: https://github.com/whatwg/url/issues/248
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-02-16 21:12:23 -08:00
Timothy Gu
bd07c8fc12
doc/url: various improvements to WHATWG API
...
Also remove executable bit from doc/api/url.md's mode.
PR-URL: https://github.com/nodejs/node/pull/11330
Fixes: 4757ddcce1 "doc: add basic documentation for WHATWG URL API"
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-15 21:54:03 -08:00
Timothy Gu
6cea5dd39f
tools/doc: add more intrinsic and custom types
...
PR-URL: https://github.com/nodejs/node/pull/11330
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-15 21:33:47 -08:00
Timothy Gu
c6b12d0984
url: fix surrogate handling in encodeAuth()
...
Also factor out common parts in querystring and url.
PR-URL: https://github.com/nodejs/node/pull/11161
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-02-14 12:13:11 -08:00
Timothy Gu
781eb90960
benchmark: add url/url-searchparams-sort.js
...
PR-URL: https://github.com/nodejs/node/pull/11098
Fixes: https://github.com/nodejs/node/issues/10760
Ref: https://github.com/whatwg/url/issues/26
Ref: https://github.com/whatwg/url/pull/199
Ref: https://github.com/w3c/web-platform-tests/pull/4531
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-13 20:49:13 -08:00
Timothy Gu
02d1e32fe3
url: add urlSearchParams.sort()
...
PR-URL: https://github.com/nodejs/node/pull/11098
Fixes: https://github.com/nodejs/node/issues/10760
Ref: https://github.com/whatwg/url/issues/26
Ref: https://github.com/whatwg/url/pull/199
Ref: https://github.com/w3c/web-platform-tests/pull/4531
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-13 20:48:58 -08:00
Timothy Gu
0792d452e8
url: fix setting url.search to the empty string
...
PR-URL: https://github.com/nodejs/node/pull/11105
Fixes: https://github.com/nodejs/node/issues/11101
Fixes: 98bb65f641 "url: improving URLSearchParams"
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-03 12:29:07 -08:00
Timothy Gu
590626ba11
benchmark: simplify URLSearchParams import
...
PR-URL: https://github.com/nodejs/node/pull/11111
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Italo A. Casas <me@italoacasas.com >
2017-02-03 12:23:30 -08:00
Timothy Gu
c7e1be8991
src: remove usage of V8 deprecated API in node_url.cc
...
Also:
- Avoid using 'override' as variable name
- Use explicit static_cast instead of C-style cast
PR-URL: https://github.com/nodejs/node/pull/11066
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-01-31 23:55:38 -08:00
Timothy Gu
c505b8109e
doc: document URLSearchParams constructor
...
PR-URL: https://github.com/nodejs/node/pull/11060
Ref: https://github.com/whatwg/url/pull/175
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-01-31 23:51:07 -08:00
Timothy Gu
29f758731f
tools: add MDN link for Iterable
...
PR-URL: https://github.com/nodejs/node/pull/11060
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-01-31 23:51:07 -08:00
Timothy Gu
cc48f21c83
url: extend URLSearchParams constructor
...
PR-URL: https://github.com/nodejs/node/pull/11060
Fixes: https://github.com/nodejs/node/issues/10635
Ref: https://github.com/whatwg/url/pull/175
Ref: https://github.com/w3c/web-platform-tests/pull/4523
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-01-31 23:51:06 -08:00
Timothy Gu
90c2ac7be3
url: make URLSearchParams/Iterator match spec
...
PR-URL: https://github.com/nodejs/node/pull/11057
Fixes: https://github.com/nodejs/node/issues/10799
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-01-31 09:29:42 -08:00
Timothy Gu
06ecf4dec7
url: define @@toStringTag as a data property
...
Even though this is not fully Web IDL spec-compliant, it is arguably the
best we can do. Following the spec would mean non-trivial performance
deterioration (10% when parsing a medium-length URL), while the current
getter behavior is not adopted by any implementer, and it causes some
spec ambiguity when the getter is called with !(this instanceof URL).
This commit adopts Chrome's behavior, and is consistent with
ECMAScript-defined classes while providing reasonable behaviors for
corner cases as well. Until the Web IDL spec is changed one way or
another, this is the way to go.
PR-URL: https://github.com/nodejs/node/pull/10906
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-01-28 08:27:15 -08:00
Timothy Gu
d65904bc6a
url: do not public expose inspect methods on URL
...
PR-URL: https://github.com/nodejs/node/pull/10906
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-01-28 08:27:09 -08:00
Timothy Gu
e71c278288
url: stop exporting originFor()
...
PR-URL: https://github.com/nodejs/node/pull/10955
Fixes: https://github.com/nodejs/node/issues/10800
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-01-27 07:35:36 -08:00
Timothy Gu
ed0086fb46
url: check forEach callback is a function
...
The Web IDL spec mandates such a check.
Also make error messages consistent with rest of Node.js and add
additional tests for forEach().
PR-URL: https://github.com/nodejs/node/pull/10905
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-01-23 16:24:33 -08:00
Timothy Gu
09ebdf1400
doc: add TimothyGu to collaborators
...
PR-URL: https://github.com/nodejs/node/pull/10954
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-01-22 13:36:49 -08:00
Timothy Gu
326e967c6b
url: export URLSearchParams
...
Fixes : #10761
2017-01-22 11:27:58 +01:00
Timothy Gu
98bb65f641
url: improving URLSearchParams
...
- add some benchmarks for URLSearchParams
- change URLSearchParams backing store to an array
- add custom inspection for URLSearchParams and its iterators
PR-URL: https://github.com/nodejs/node/pull/10399
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-01-19 11:33:37 -08:00
Timothy Gu
61d6293033
url: improve URLSearchParams spec compliance
...
- Make URLSearchParams constructor spec-compliant
- Strip leading `?` in URL#search's setter
- Spec-compliant iterable interface
- More precise handling of update steps as mandated by the spec
- Add class strings to URLSearchParams objects and their prototype
- Make sure `this instanceof URLSearchParams` in methods
Also included are relevant tests from W3C's Web Platform Tests
(https://github.com/w3c/web-platform-tests/tree/master/url ).
Fixes: https://github.com/nodejs/node/issues/9302
PR-URL: https://github.com/nodejs/node/pull/9484
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-12-07 12:19:23 -05:00
Timothy Gu
4d55d1611d
doc: wrap long lines in http.request
...
PR-URL: https://github.com/nodejs/node/pull/9584
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Roman Reiss <me@silverwind.io >
2016-11-15 23:05:51 +01:00
Timothy Gu
20dc1fac63
doc: fix type of http.request's agent option
...
PR-URL: https://github.com/nodejs/node/pull/9584
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Roman Reiss <me@silverwind.io >
2016-11-15 23:05:23 +01:00
Timothy Gu
52c7f9d221
doc: revise http documentation
...
PR-URL: https://github.com/nodejs/node/pull/8486
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-10-11 09:54:39 -07:00
Timothy Gu
a7fa72156a
doc/json: make sure links are correctly passed to marked
...
Previously, an attempt was made to make sure the links state is
inherited. Unfortunately, this support was not complete, which
results in various unresolved links in the JSON output (as an
example, [1] contains `initialized by calling
[<code>buf.fill(fill, encoding)</code>][<code>buf.fill()</code>]`).
This commit completes that attempt. After this commit, individual
instances of the parser (for descriptions) inherit the links state
from the root lexer, so that individual Markdown links in descriptions
could be resolved. That same example is now substituted with
`initialized by calling <a href=\"#buffer_buf_fill_value_offset_end_encoding\"><code>buf.fill(fill, encoding)</code></a>`.
[1]: https://nodejs.org/api/buffer.json
PR-URL: https://github.com/nodejs/node/pull/8494
Reviewed-By: Roman Reiss <me@silverwind.io >
2016-09-16 17:29:05 +02:00