///|
/// JavaScript Symbol
#external
pub type Symbol
///|
/// JS: Symbol(name)
pub extern "js" fn symbol(name : String) -> Symbol =
#|(name) => Symbol(name)
///|
/// JS: Symbol.for(name)
pub extern "js" fn Symbol::for_(name : String) -> Symbol =
#| (name) => Symbol.for(name)
///|
/// JS: Symbol.iterator
pub extern "js" fn Symbol::iterator() -> Symbol =
#| () => Symbol.iterator
///|
/// JS: Symbol.asyncIterator
pub extern "js" fn Symbol::asyncIterator() -> Symbol =
#| () => Symbol.asyncIterator
///|
/// JS: Symbol.dispose
pub extern "js" fn Symbol::dispose() -> Symbol =
#| () => Symbol.dispose
///|
/// JS: Symbol.asyncDispose
pub extern "js" fn Symbol::asyncDispose() -> Symbol =
#| () => Symbol.asyncDispose
///|
/// JS: Symbol.asyncDispose
pub extern "js" fn Symbol::toStringTag() -> Symbol =
#| () => Symbol.toStringTag