Added WeakSet constructor

This commit is contained in:
Dimitrii Nemkov 2018-06-27 13:15:47 +05:00
parent c16b9a903c
commit a0dda505d9
3 changed files with 41 additions and 0 deletions

View File

@ -619,6 +619,17 @@ extern {
pub fn delete(this: &WeakMap, key: Object) -> bool; pub fn delete(this: &WeakMap, key: Object) -> bool;
} }
#[wasm_bindgen]
extern {
pub type WeakSet;
/// The WeakSet object lets you store weakly held objects in a collection.
///
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet
#[wasm_bindgen(constructor)]
pub fn new() -> WeakSet;
}
// JsString // JsString
#[wasm_bindgen] #[wasm_bindgen]
extern { extern {

View File

@ -0,0 +1,29 @@
#![allow(non_snake_case)]
use project;
#[test]
fn new() {
project()
.file("src/lib.rs", r#"
#![feature(proc_macro, wasm_custom_section)]
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;
use wasm_bindgen::js;
#[wasm_bindgen]
pub fn new_weak_set() -> js::WeakSet {
js::WeakSet::new()
}
"#)
.file("test.ts", r#"
import * as assert from "assert";
import * as wasm from "./out";
export function test() {
assert.equal(typeof wasm.new_weak_set(), "object");
}
"#)
.test()
}

View File

@ -9,6 +9,7 @@ mod Function;
mod JsString; mod JsString;
mod Math; mod Math;
mod WeakMap; mod WeakMap;
mod WeakSet;
mod Number; mod Number;
mod Object; mod Object;
mod TypedArray; mod TypedArray;