deno/core
2019-04-04 09:59:41 -04:00
..
libdeno Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
BUILD.gn Rename crate deno_core to deno (#2022) 2019-03-30 19:30:40 -04:00
build.rs Publish rust crate on crates.io (#2024) 2019-03-31 17:22:02 -04:00
Cargo.toml v0.3.6 2019-04-04 09:59:41 -04:00
core.d.ts namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00
flags.rs core: Abstract out Behavior from Isolate (#1904) 2019-03-11 17:57:36 -04:00
http_bench.js namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00
http_bench.rs Rename crate deno_core to deno (#2022) 2019-03-30 19:30:40 -04:00
isolate.rs Improve docs in core (#2049) 2019-04-04 09:35:52 -04:00
js_errors.rs Non-fatal compile_sync failures (#2039) 2019-04-04 05:33:32 -04:00
lib.rs Add deno_core::RecursiveLoad for async module loading (#2034) 2019-04-02 20:10:08 +02:00
libdeno.rs Publish rust crate on crates.io (#2024) 2019-03-31 17:22:02 -04:00
modules.rs Refactor deno_core::RecursiveLoad to be more idiomatic (#2034) 2019-04-02 20:10:16 +02:00
README.md Improve docs in core (#2049) 2019-04-04 09:35:52 -04:00
shared_queue.js namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00
shared_queue.rs Clippy fixes 2019-04-02 18:04:25 +02:00
shared_queue_test.js namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00

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.