mirror of
https://github.com/denoland/deno.git
synced 2024-11-25 15:29:32 -05:00
2fc5878668
Changed `URL.port` implementation to match [WHATWG specifications](https://url.spec.whatwg.org/#port-state). This PR matches the behaviour of other browsers: 1. a `TypeError` must be thrown when passing an URL with an invalid port to the constructor. 2. When setting an invalid port, using property setter, I haven't found what should happen in this case, so I mimic **Firefox** & **Node** behaviour. If an invalid port is set, it will use the previous value. **Chrome** sets the value to `'0'` if an invalid port is set. I prefer to keep the previous valid value. (I can use Chrome's behaviour if you think it's better, it's a simple value change) ``` url.port = '3000'; // valid url.port = 'deno'; // invalid assertEquals(url.port, '3000'); ``` 3. If the port value equals the current protocol default port value, `port` will be an empty string. |
||
---|---|---|
.. | ||
streams | ||
abort_controller.ts | ||
abort_signal.ts | ||
base64.ts | ||
blob.ts | ||
body.ts | ||
console.ts | ||
console_table.ts | ||
custom_event.ts | ||
decode_utf8.ts | ||
dom_exception.ts | ||
dom_file.ts | ||
dom_iterable.ts | ||
dom_types.d.ts | ||
dom_util.ts | ||
event.ts | ||
event_target.ts | ||
fetch.ts | ||
form_data.ts | ||
headers.ts | ||
location.ts | ||
performance.ts | ||
promise.ts | ||
README.md | ||
request.ts | ||
text_encoding.ts | ||
timers.ts | ||
url.ts | ||
url_search_params.ts | ||
util.ts | ||
workers.ts |
Deno Web APIs
This directory facilities Web APIs that are available in Deno.
Please note, that some of implementations might not be completely aligned with specification.
Some of the Web APIs are using ops under the hood, eg. console
, performance
.
Implemented Web APIs
- Blob: for representing opaque binary data
- Console: for logging purposes
- CustomEvent,
EventTarget
and
EventListener:
to work with DOM events
- Implementation notes: There is no DOM hierarchy in Deno, so there is no tree for Events to bubble/capture through.
- URL and URLSearchParams: to construct and parse URLSs
- fetch, Request, Response, Body and Headers: modern Promise-based HTTP Request API
- FormData: access
to a
multipart/form-data
serialization - Location: parsing
the current script's URL
- Implementation notes: the
globalThis.location
object cannot be manipulated usingassign()
,reload()
andreplace()
methods. They are not implemented.
- Implementation notes: the
- Performance: retrieving current time with a high precision
- setTimeout, setInterval, clearTimeout: scheduling callbacks in future and clearInterval
- Worker: executing
additional code in a separate thread
- Implementation notes: Blob URLs are not supported, object ownership cannot be transferred, posted data is serialized to JSON instead of structured cloning.