1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use crate::{context::Ctx, Atom, MultiValue, Result, Value};
mod atom;
mod from;
mod multi;
mod to;
pub trait FromJs<'js>: Sized {
fn from_js(ctx: Ctx<'js>, value: Value<'js>) -> Result<Self>;
}
pub trait FromJsMulti<'js>: Sized {
fn from_js_multi(ctx: Ctx<'js>, value: MultiValue<'js>) -> Result<Self>;
fn len() -> i64;
}
pub trait ToJs<'js> {
fn to_js(self, ctx: Ctx<'js>) -> Result<Value<'js>>;
}
pub trait ToJsMulti<'js> {
fn to_js_multi(self, ctx: Ctx<'js>) -> Result<Vec<Value>>;
}
pub trait ToAtom<'js> {
fn to_atom(self, ctx: Ctx<'js>) -> Atom<'js>;
}