2020-01-23 16:32:52 -05:00
|
|
|
# Deno Core Crate
|
|
|
|
|
|
|
|
[![crates](https://img.shields.io/crates/v/deno_core.svg)](https://crates.io/crates/deno_core)
|
|
|
|
[![docs](https://docs.rs/deno_core/badge.svg)](https://docs.rs/deno_core)
|
|
|
|
|
|
|
|
The main dependency of this crate is
|
|
|
|
[rusty_v8](https://github.com/denoland/rusty_v8), which provides the V8-Rust
|
|
|
|
bindings.
|
2019-04-04 09:35:52 -04:00
|
|
|
|
|
|
|
This Rust crate contains the essential V8 bindings for Deno's command-line
|
2020-09-06 15:44:29 -04:00
|
|
|
interface (Deno CLI). The main abstraction here is the JsRuntime which provides
|
|
|
|
a way to execute JavaScript. The JsRuntime is modeled as a
|
|
|
|
`Future<Item=(), Error=JsError>` which completes once all of its ops have
|
2019-05-20 14:19:16 -04:00
|
|
|
completed.
|
|
|
|
|
|
|
|
In order to bind Rust functions into JavaScript, use the `Deno.core.dispatch()`
|
|
|
|
function to trigger the "dispatch" callback in Rust. The user is responsible for
|
|
|
|
encoding both the request and response into a Uint8Array.
|
2019-04-04 09:35:52 -04:00
|
|
|
|
|
|
|
Documentation for this crate is thin at the moment. Please see
|
2020-08-21 11:14:47 -04:00
|
|
|
[http_bench_bin_ops.rs](https://github.com/denoland/deno/blob/master/core/examples/http_bench_bin_ops.rs)
|
|
|
|
and
|
|
|
|
[http_bench_json_ops.rs](https://github.com/denoland/deno/blob/master/core/examples/http_bench_json_ops.rs)
|
2019-04-04 09:35:52 -04:00
|
|
|
as a simple example of usage.
|
|
|
|
|
|
|
|
TypeScript support and a lot of other functionality is not available at this
|
2020-05-16 14:36:13 -04:00
|
|
|
layer. See the [CLI](https://github.com/denoland/deno/tree/master/cli) for that.
|