Skip to main content

ObjKind

Enum ObjKind 

Source
pub enum ObjKind {
Show 15 variants Plain, Array(Vec<Value>), Function(FunctionData), Native { name: String, func: NativeFn, }, DomElement(usize), Host(String), MapObj(Vec<(Value, Value)>), SetObj(Vec<Value>), PromiseObj(Rc<RefCell<PromiseState>>), Resolver { state: Rc<RefCell<PromiseState>>, reject: bool, }, Generator(Rc<RefCell<GenState>>), RegExpObj(Rc<RefCell<RegExpData>>), Proxy { target: ObjRef, handler: ObjRef, }, Bound { target: Value, bound_this: Value, bound_args: Vec<Value>, }, DateObj(f64),
}
Expand description

オブジェクトの種別。Plain 以外は内部表現を持つ。

Variants§

§

Plain

§

Array(Vec<Value>)

§

Function(FunctionData)

§

Native

Fields

§name: String
§

DomElement(usize)

DOM 要素ハンドル(DOMアリーナのノード index を保持)。

§

Host(String)

document などのホストオブジェクト識別子。

§

MapObj(Vec<(Value, Value)>)

Map: 挿入順を保つ (key, value) リスト(キー等価は SameValueZero 近似)。

§

SetObj(Vec<Value>)

Set: 挿入順を保つ値リスト。

§

PromiseObj(Rc<RefCell<PromiseState>>)

Promise。状態は共有可変(then/await で参照される)。

§

Resolver

resolve/reject 関数(Promise 状態を束縛したクロージャ相当)。

Fields

§reject: bool
§

Generator(Rc<RefCell<GenState>>)

Generator(遅延評価。resume のたびに本体を replay して次の yield まで進める)。

§

RegExpObj(Rc<RefCell<RegExpData>>)

RegExp(コンパイル済みパターン + lastIndex)。

§

Proxy

Proxy(target とハンドラ。トラップ未定義時は target にフォワード)。

Fields

§target: ObjRef
§handler: ObjRef
§

Bound

Function.prototype.bind() が返す束縛済み関数。呼び出し時は bound_args ++ 実引数bound_this を this として target に渡す。

Fields

§target: Value
§bound_this: Value
§bound_args: Vec<Value>
§

DateObj(f64)

Date。内部値は UTC エポックミリ秒(不正な日時は f64::NAN。仕様の Invalid Date 相当)。

Trait Implementations§

Source§

impl Clone for ObjKind

Source§

fn clone(&self) -> ObjKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.