summaryrefslogtreecommitdiff
path: root/core/core.js
AgeCommit message (Collapse)Author
2021-03-20refactor: Move bin ops to deno_core and unify logic with json ops (#9457)Inteon
This commit moves implementation of bin ops to "deno_core" crates as well as unifying logic between bin ops and json ops to reuse as much code as possible (both in Rust and JavaScript).
2021-03-18refactor: update minimal ops & rename to buffer ops (#9719)Inteon
This commit rewrites "dispatch_minimal" into "dispatch_buffer". It's part of an effort to unify JS interface for ops for both json and minimal (buffer) ops. Before this commit "minimal ops" could be either sync or async depending on the return type from the op, but this commit changes it to have separate signatures for sync and async ops (just like in case of json ops).
2021-02-25chore(core): optional args for registerErrorClass (#9602)Luca Casonato
2021-02-23refactor(core): Allow multiple overflown responses in single poll (#9433)Inteon
This commit rewrites "JsRuntime::poll" function to fix a corner case that might caused "overflown_response" to be overwritten by other overflown response. The logic has been changed to allow returning multiple overflown response alongside responses from shared queue.
2021-02-13refactor(core): Strongly typed deserialization of JSON ops (#9423)Jared Beller
This PR makes json_op_sync/async generic to all Deserialize/Serialize types instead of the loosely-typed serde_json::Value. Since serde_json::Value implements Deserialize/Serialize, very little existing code needs to be updated, however as json_op_sync/async are now generic, type inference is broken in some cases (see cli/build.rs:146). I've found this reduces a good bit of boilerplate, as seen in the updated deno_core examples. This change may also reduce serialization and deserialization overhead as serde has a better idea of what types it is working with. I am currently working on benchmarks to confirm this and I will update this PR with my findings.
2021-02-04chore: use strict mode for internal runtime, core, and op_crates js (#9391)Developing
2021-01-10update copyright to 2021 (#9081)Ryan Dahl
2021-01-05refactor(core): simplify Deno.core initialisation, remove stale TODO (#8847)Bartek Iwańczuk
This commit rewrites initialisation of the "shared queue" and in effect prevents from double execution of "core/core.js" and "core/error.js". Previously both of these files were executed every time a "JsRuntime" was created. That lead to a situation where one copy of each script was included in the snapshot and then another copy would be executed after loading the snapshot. Effectively "JsRuntime::shared_init" was removed; instead execution of those scripts and actual initialisation of shared queue was split into two helper functions: "JsRuntime::js_init" and "JsRuntime::share_queue_init". Additionally stale TODO comments were removed.
2020-11-21refactor(core): Improve code readability in core.js (#8345)De Rouck Antoine
2020-11-03build: migrate to dlint (#8176)Bartek Iwańczuk
This commit migrates repository from using "eslint" to "dlint" for linting JavaScript code.
2020-10-05fix(core): handle unregistered errors in core better (#7817)Kitson Kelly
2020-09-17refactor: move op_resources and op_close to deno_core (#7539)Bartek Iwańczuk
Moves op_close and op_resources to deno_core::ops and exports them. Adds serde dependency to deno_core and reexports it. Moves JS implementation of those ops to Deno.core and reexports them in Deno.
2020-09-16refactor: remove dispatch_json.js from cli/rt and cli/tsc (#7521)Bartek Iwańczuk
Instead use Deno.core.jsonOpSync and Deno.core.jsonOpAsync
2020-09-06refactor(core): rename CoreIsolate to JsRuntime (#7373)Bartek Iwańczuk
deno_core/ - rename core_isolate.rs to runtime.rs - rename CoreIsolate to JsRuntime - rename JSError to JsError - rename JSStackFrame to JsStackFrame cli/ - update references from deno_core::CoreIsolate to deno_core::JsRuntime - rename deno_core::JSError to deno_core::JsError - rename fmt_errors::JSError to fmt_errors::JsError
2020-08-26Simplify ErrBox-to-class mapping & hook it up to core json ops (#7195)Bert Belder
2020-08-21Convert the remaining http_bench ops to json ops (#7143)Bert Belder
2020-08-20First pass at json ops in core (#7033)Ryan Dahl
Adds Deno.core.jsonOpSync and Deno.core.jsonOpAsync
2020-08-07Encode op errors as strings instead of numbers (#6977)Bartek Iwańczuk
2020-06-21core: add Deno.core.dispatchByName (#6395)Bartek Iwańczuk
This commit adds alternate dispatch method to core JS API. "Deno.core.dispatchByName()" works like "Deno.core.dispatch()", but takes op name instead of op id as a first argument.
2020-06-01feat(core): Ops can take several zero copy buffers (#4788)Valentin Anger
2020-05-12Clean up core/shared_queue.js (#5237)Ryan Dahl