mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 07:44:48 -05:00
fc4819e1e0
Refactors Event and EventTarget so that they better encapsulate their non-public data as well as are more forward compatible with things like DOM Nodes. Moves `dom_types.ts` -> `dom_types.d.ts` which was always the intention, it was a legacy of when we used to build the types from the code and the limitations of the compiler. There was a lot of cruft in `dom_types` which shouldn't have been there, and mis-alignment to the DOM standards. This generally has been eliminated, though we still have some minor differences from the DOM (like the removal of some deprecated methods/properties). Adds `DOMException`. Strictly it shouldn't inherit from `Error`, but most browsers provide a stack trace when one is thrown, so the behaviour in Deno actually better matches the browser. `Event` still doesn't log to console like it does in the browser. I wanted to get this raised and that could be an enhancement later on (it currently doesn't either). |
||
---|---|---|
.. | ||
streams | ||
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.