mirror of
https://github.com/denoland/deno.git
synced 2024-10-30 09:08:00 -04:00
f7fdb90fd5
* Moves how snapshots are supplied to the Isolate. Previously they were given by Behavior::startup_data() but it was only called once at startup. It makes more sense (and simplifies Behavior) to pass it to the constructor of Isolate. * Adds new libdeno type deno_snapshot instead of overloading deno_buf. * Adds new libdeno method to delete snapshot deno_snapshot_delete(). * Renames deno_get_snapshot() to deno_snapshot_new(). * Makes StartupData hold references to snapshots. This was implicit when it previously held a deno_buf but is made explicit now. Note that include_bytes!() returns a &'static [u8] and we want to avoid copying that. |
||
---|---|---|
.. | ||
libdeno | ||
BUILD.gn | ||
build.rs | ||
Cargo.toml | ||
core.d.ts | ||
flags.rs | ||
http_bench.js | ||
http_bench.rs | ||
isolate.rs | ||
js_errors.rs | ||
lib.rs | ||
libdeno.rs | ||
modules.rs | ||
README.md | ||
shared_queue.js | ||
shared_queue.rs | ||
shared_queue_test.js |
Deno Core
This Rust crate contains the essential V8 bindings for Deno's command-line
interface (Deno CLI). The main abstraction here is the Isolate which proivdes a
way to execute JavaScript. The Isolate is modeled as a
Future<Item=(), Error=JSError>
which completes once all of its ops have
completed. The user must define what an Op is by implementing the Behavior
trait, and by doing so define any "built-in" functionality that would be
provided by the VM. Ops are triggered by Deno.core.dispatch()
.
Documentation for this crate is thin at the moment. Please see http_bench.rs as a simple example of usage.
TypeScript support and a lot of other functionality is not available at this layer. See the cli for that.