2018-06-08 16:46:51 -07:00
|
|
|
//! Bindings to JavaScript's standard, built-in objects, including their methods
|
|
|
|
//! and properties.
|
|
|
|
//!
|
|
|
|
//! This does *not* include any Web, Node, or any other JS environment
|
|
|
|
//! APIs. Only the things that are guaranteed to exist in the global scope by
|
|
|
|
//! the ECMAScript standard.
|
|
|
|
//!
|
|
|
|
//! https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
|
|
|
|
//!
|
|
|
|
//! ## A Note About `camelCase`, `snake_case`, and Naming Conventions
|
|
|
|
//!
|
|
|
|
//! JavaScript's global objects use `camelCase` naming conventions for functions
|
|
|
|
//! and methods, but Rust style is to use `snake_case`. These bindings expose
|
|
|
|
//! the Rust style `snake_case` name. Additionally, acronyms within a method
|
|
|
|
//! name are all lower case, where as in JavaScript they are all upper case. For
|
|
|
|
//! example, `decodeURI` in JavaScript is exposed as `decode_uri` in these
|
|
|
|
//! bindings.
|
|
|
|
|
|
|
|
use wasm_bindgen_macro::*;
|
|
|
|
use JsValue;
|
|
|
|
if_std! {
|
|
|
|
use std::prelude::v1::*;
|
|
|
|
}
|
|
|
|
|
|
|
|
// When adding new imports:
|
|
|
|
//
|
|
|
|
// * Keep imports in alphabetical order.
|
|
|
|
//
|
|
|
|
// * Rename imports with `js_name = ...` according to the note about `camelCase`
|
|
|
|
// and `snake_case` in the module's documentation above.
|
|
|
|
//
|
|
|
|
// * Include the one sentence summary of the import from the MDN link in the
|
|
|
|
// module's documentation above, and the MDN link itself.
|
|
|
|
//
|
|
|
|
// * If a function or method can throw an exception, make it catchable by adding
|
|
|
|
// `#[wasm_bindgen(catch)]`.
|
|
|
|
//
|
|
|
|
// * Add a new `#[test]` to the `tests/all/js_globals.rs` file. If the imported
|
|
|
|
// function or method can throw an exception, make sure to also add test
|
|
|
|
// coverage for that case.
|
|
|
|
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
/// The `decodeURI()` function decodes a Uniform Resource Identifier (URI)
|
|
|
|
/// previously created by `encodeURI` or by a similar routine.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI
|
|
|
|
#[wasm_bindgen(catch, js_name = decodeURI)]
|
2018-06-23 16:59:49 -07:00
|
|
|
pub fn decode_uri(encoded: &str) -> Result<JsString, JsValue>;
|
2018-06-08 16:46:51 -07:00
|
|
|
|
|
|
|
/// The `encodeURI()` function encodes a Uniform Resource Identifier (URI)
|
|
|
|
/// by replacing each instance of certain characters by one, two, three, or
|
|
|
|
/// four escape sequences representing the UTF-8 encoding of the character
|
|
|
|
/// (will only be four escape sequences for characters composed of two
|
|
|
|
/// "surrogate" characters).
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI
|
|
|
|
#[wasm_bindgen(js_name = encodeURI)]
|
2018-06-23 16:59:49 -07:00
|
|
|
pub fn encode_uri(decoded: &str) -> JsString;
|
2018-06-08 16:46:51 -07:00
|
|
|
|
|
|
|
/// The `eval()` function evaluates JavaScript code represented as a string.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
|
|
|
|
#[wasm_bindgen(catch)]
|
|
|
|
pub fn eval(js_source_text: &str) -> Result<JsValue, JsValue>;
|
|
|
|
}
|
|
|
|
|
2018-06-26 00:34:17 -04:00
|
|
|
// UInt8Array
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
pub type Uint8Array;
|
|
|
|
|
|
|
|
/// The `Uint8Array()` constructor creates an array of unsigned 8-bit integers.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array
|
|
|
|
#[wasm_bindgen(constructor)]
|
|
|
|
pub fn new(constructor_arg: JsValue) -> Uint8Array;
|
|
|
|
|
|
|
|
/// The fill() method fills all the elements of an array from a start index
|
|
|
|
/// to an end index with a static value. The end index is not included.
|
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn fill(this: &Uint8Array, value: JsValue, start: u32, end: u32) -> Uint8Array;
|
|
|
|
}
|
|
|
|
|
2018-06-21 22:16:24 +02:00
|
|
|
// Array
|
2018-06-08 16:46:51 -07:00
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
2018-06-21 22:16:24 +02:00
|
|
|
pub type Array;
|
2018-06-08 16:46:51 -07:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The copyWithin() method shallow copies part of an array to another
|
|
|
|
/// location in the same array and returns it, without modifying its size.
|
2018-06-08 16:46:51 -07:00
|
|
|
///
|
2018-06-21 22:16:24 +02:00
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin
|
|
|
|
#[wasm_bindgen(method, js_name = copyWithin)]
|
|
|
|
pub fn copy_within(this: &Array, target: i32, start: i32, end: i32) -> Array;
|
2018-06-20 20:46:04 +02:00
|
|
|
|
2018-06-25 16:17:53 -07:00
|
|
|
/// The concat() method is used to merge two or more arrays. This method
|
2018-06-22 18:25:19 +02:00
|
|
|
/// does not change the existing arrays, but instead returns a new array.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn concat(this: &Array, array: &Array) -> Array;
|
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The fill() method fills all the elements of an array from a start index
|
|
|
|
/// to an end index with a static value. The end index is not included.
|
2018-06-20 20:46:04 +02:00
|
|
|
///
|
2018-06-21 22:16:24 +02:00
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn fill(this: &Array, value: JsValue, start: u32, end: u32) -> Array;
|
2018-06-20 17:16:57 -04:00
|
|
|
|
2018-06-25 16:19:07 -07:00
|
|
|
/// The `filter()` method creates a new array with all elements that pass the
|
|
|
|
/// test implemented by the provided function.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn filter(this: &Array, predicate: &mut FnMut(JsValue, u32, Array) -> bool) -> Array;
|
|
|
|
|
2018-06-26 10:18:31 -07:00
|
|
|
/// The includes() method determines whether an array includes a certain
|
|
|
|
/// element, returning true or false as appropriate.
|
2018-06-22 10:45:33 -07:00
|
|
|
///
|
2018-06-26 10:18:31 -07:00
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn includes(this: &Array, value: JsValue, from_index: i32) -> bool;
|
2018-06-21 21:30:57 -07:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The indexOf() method returns the first index at which a given element
|
|
|
|
/// can be found in the array, or -1 if it is not present.
|
2018-06-20 17:16:57 -04:00
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
|
|
|
|
#[wasm_bindgen(method, js_name = indexOf)]
|
|
|
|
pub fn index_of(this: &Array, value: JsValue, from_index: i32) -> i32;
|
2018-06-20 17:36:35 -04:00
|
|
|
|
2018-06-26 11:04:28 -07:00
|
|
|
/// The Array.isArray() method determines whether the passed value is an Array.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
|
|
|
|
#[wasm_bindgen(static_method_of = Array, js_name = isArray)]
|
|
|
|
pub fn is_array(value: &JsValue) -> bool;
|
|
|
|
|
2018-06-21 22:16:24 +02:00
|
|
|
/// The join() method joins all elements of an array (or an array-like object)
|
|
|
|
/// into a string and returns this string.
|
2018-06-20 17:38:47 -04:00
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
|
|
|
|
#[wasm_bindgen(method)]
|
2018-06-23 16:59:49 -07:00
|
|
|
pub fn join(this: &Array, delimiter: &str) -> JsString;
|
2018-06-20 17:46:10 -04:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The lastIndexOf() method returns the last index at which a given element
|
|
|
|
/// can be found in the array, or -1 if it is not present. The array is
|
|
|
|
/// searched backwards, starting at fromIndex.
|
2018-06-20 17:51:02 -04:00
|
|
|
///
|
2018-06-21 22:16:24 +02:00
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf
|
|
|
|
#[wasm_bindgen(method, js_name = lastIndexOf)]
|
|
|
|
pub fn last_index_of(this: &Array, value: JsValue, from_index: i32) -> i32;
|
2018-06-20 17:55:25 -04:00
|
|
|
|
2018-06-26 10:18:31 -07:00
|
|
|
/// The length property of an object which is an instance of type Array
|
|
|
|
/// sets or returns the number of elements in that array. The value is an
|
|
|
|
/// unsigned, 32-bit integer that is always numerically greater than the
|
|
|
|
/// highest index in the array.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length
|
|
|
|
#[wasm_bindgen(method, getter, structural)]
|
|
|
|
pub fn length(this: &Array) -> u32;
|
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The pop() method removes the last element from an array and returns that
|
|
|
|
/// element. This method changes the length of the array.
|
2018-06-20 17:55:25 -04:00
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn pop(this: &Array) -> JsValue;
|
2018-06-20 17:58:15 -04:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The push() method adds one or more elements to the end of an array and
|
|
|
|
/// returns the new length of the array.
|
2018-06-20 17:58:15 -04:00
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn push(this: &Array, value: JsValue) -> u32;
|
2018-06-20 18:00:58 -04:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The reverse() method reverses an array in place. The first array
|
|
|
|
/// element becomes the last, and the last array element becomes the first.
|
2018-06-21 22:16:24 +02:00
|
|
|
///
|
2018-06-20 18:00:58 -04:00
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn reverse(this: &Array) -> Array;
|
2018-06-20 18:03:26 -04:00
|
|
|
|
2018-06-26 10:18:31 -07:00
|
|
|
/// The shift() method removes the first element from an array and returns
|
|
|
|
/// that removed element. This method changes the length of the array.
|
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn shift(this: &Array) -> JsValue;
|
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The slice() method returns a shallow copy of a portion of an array into
|
|
|
|
/// a new array object selected from begin to end (end not included).
|
2018-06-21 22:16:24 +02:00
|
|
|
/// The original array will not be modified.
|
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn slice(this: &Array, start: u32, end: u32) -> Array;
|
|
|
|
|
2018-06-22 00:09:49 +02:00
|
|
|
/// The sort() method sorts the elements of an array in place and returns
|
|
|
|
/// the array. The sort is not necessarily stable. The default sort
|
|
|
|
/// order is according to string Unicode code points.
|
|
|
|
///
|
|
|
|
/// The time and space complexity of the sort cannot be guaranteed as it
|
|
|
|
/// is implementation dependent.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
|
2018-06-20 18:06:08 -04:00
|
|
|
#[wasm_bindgen(method)]
|
2018-06-22 00:09:49 +02:00
|
|
|
pub fn sort(this: &Array) -> Array;
|
2018-06-20 18:23:26 -04:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The toString() method returns a string representing the specified array
|
|
|
|
/// and its elements.
|
2018-06-20 18:23:26 -04:00
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString
|
|
|
|
#[wasm_bindgen(method, js_name = toString)]
|
2018-06-23 16:59:49 -07:00
|
|
|
pub fn to_string(this: &Array) -> JsString;
|
2018-06-20 18:27:10 -04:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The unshift() method adds one or more elements to the beginning of an
|
|
|
|
/// array and returns the new length of the array.
|
2018-06-20 18:27:10 -04:00
|
|
|
///
|
2018-06-21 22:16:24 +02:00
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift
|
2018-06-20 18:27:10 -04:00
|
|
|
#[wasm_bindgen(method)]
|
2018-06-21 22:16:24 +02:00
|
|
|
pub fn unshift(this: &Array, value: JsValue) -> u32;
|
2018-06-21 17:00:02 -04:00
|
|
|
}
|
2018-06-20 18:27:10 -04:00
|
|
|
|
2018-06-21 17:11:08 -04:00
|
|
|
// Array Iterator
|
2018-06-21 17:00:02 -04:00
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
pub type ArrayIterator;
|
2018-06-20 18:27:10 -04:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The keys() method returns a new Array Iterator object that contains the
|
|
|
|
/// keys for each index in the array.
|
2018-06-21 17:00:02 -04:00
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/keys
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn keys(this: &Array) -> ArrayIterator;
|
2018-06-21 17:11:08 -04:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// The entries() method returns a new Array Iterator object that contains
|
|
|
|
/// the key/value pairs for each index in the array.
|
2018-06-21 17:11:08 -04:00
|
|
|
///
|
|
|
|
/// http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn entries(this: &Array) -> ArrayIterator;
|
2018-06-21 22:16:24 +02:00
|
|
|
}
|
|
|
|
|
2018-06-23 23:41:28 +03:00
|
|
|
// Function
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
2018-06-26 21:35:28 +03:00
|
|
|
pub type Function;
|
|
|
|
|
|
|
|
/// The apply() method calls a function with a given this value, and arguments provided as an array
|
|
|
|
/// (or an array-like object).
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply
|
|
|
|
#[wasm_bindgen(method)]
|
|
|
|
pub fn apply(this: &Function, context: &JsValue, args: &Array) -> Function;
|
2018-06-23 23:41:28 +03:00
|
|
|
|
|
|
|
/// The length property indicates the number of arguments expected by the function.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length
|
|
|
|
#[wasm_bindgen(method, getter, structural)]
|
2018-06-26 21:35:28 +03:00
|
|
|
pub fn length(this: &Function) -> u32;
|
2018-06-23 23:41:28 +03:00
|
|
|
|
2018-06-25 20:33:39 +02:00
|
|
|
/// A Function object's read-only name property indicates the function's
|
|
|
|
/// name as specified when it was created or "anonymous" for functions
|
|
|
|
/// created anonymously.
|
2018-06-23 23:41:28 +03:00
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name
|
|
|
|
#[wasm_bindgen(method, getter, structural)]
|
2018-06-26 21:35:28 +03:00
|
|
|
pub fn name(this: &Function) -> JsString;
|
|
|
|
|
|
|
|
/// The toString() method returns a string representing the source code of the function.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString
|
|
|
|
#[wasm_bindgen(method, js_name = toString)]
|
|
|
|
pub fn to_string(this: &Function) -> JsString;
|
2018-06-23 23:41:28 +03:00
|
|
|
}
|
|
|
|
|
2018-06-25 21:41:28 +02:00
|
|
|
// Math
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
pub type Math;
|
|
|
|
/// The Math.abs() function returns the absolute value of a number, that is
|
|
|
|
/// Math.abs(x) = |x|
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn abs(number: i32) -> Number;
|
2018-06-25 21:46:01 +02:00
|
|
|
|
|
|
|
/// The Math.acos() function returns the arccosine (in radians) of a
|
|
|
|
/// number, that is ∀x∊[-1;1]
|
|
|
|
/// Math.acos(x) = arccos(x) = the unique y∊[0;π] such that cos(y)=x
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn acos(adjacent: i32, hypotenuse: i32) -> Number;
|
|
|
|
|
2018-06-25 21:54:24 +02:00
|
|
|
/// The Math.acosh() function returns the hyperbolic arc-cosine of a
|
|
|
|
/// number, that is ∀x ≥ 1
|
|
|
|
/// Math.acosh(x) = arcosh(x) = the unique y ≥ 0 such that cosh(y) = x
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acosh
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn acosh(number: i32) -> Number;
|
|
|
|
|
2018-06-25 22:04:59 +02:00
|
|
|
/// The Math.asin() function returns the arcsine (in radians) of a
|
|
|
|
/// number, that is ∀x ∊ [-1;1]
|
|
|
|
/// Math.asin(x) = arcsin(x) = the unique y∊[-π2;π2] such that sin(y) = x
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn asin(number: i32) -> Number;
|
|
|
|
|
2018-06-25 22:23:24 +02:00
|
|
|
/// The Math.asinh() function returns the hyperbolic arcsine of a
|
|
|
|
/// number, that is Math.asinh(x) = arsinh(x) = the unique y such that sinh(y) = x
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asinh
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn asinh(number: i32) -> Number;
|
|
|
|
|
2018-06-25 22:23:58 +02:00
|
|
|
/// The Math.atan() function returns the arctangent (in radians) of a
|
|
|
|
/// number, that is Math.atan(x) = arctan(x) = the unique y ∊ [-π2;π2]such that
|
|
|
|
/// tan(y) = x
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn atan(number: i32) -> Number;
|
2018-06-25 22:23:24 +02:00
|
|
|
|
2018-06-25 22:27:55 +02:00
|
|
|
/// The Math.atan2() function returns the arctangent of the quotient of
|
|
|
|
/// its arguments.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn atan2(y: i32, x: i32) -> Number;
|
|
|
|
|
2018-06-25 22:32:04 +02:00
|
|
|
/// The Math.atanh() function returns the hyperbolic arctangent of a number,
|
|
|
|
/// that is ∀x ∊ (-1,1), Math.atanh(x) = arctanh(x) = the unique y such that
|
|
|
|
/// tanh(y) = x
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atanh
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn atanh(x: i32) -> Number;
|
|
|
|
|
2018-06-25 22:35:55 +02:00
|
|
|
|
|
|
|
/// The Math.cbrt() function returns the cube root of a number, that is
|
|
|
|
/// Math.cbrt(x) = x^3 = the unique y such that y^3 = x
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cbrt
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn cbrt(x: i32) -> Number;
|
|
|
|
|
2018-06-25 22:41:22 +02:00
|
|
|
/// The Math.ceil() function returns the smallest integer greater than
|
|
|
|
/// or equal to a given number.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn ceil(x: f32) -> Number;
|
2018-06-25 22:47:21 +02:00
|
|
|
|
|
|
|
/// The Math.clz32() function returns the number of leading zero bits in
|
|
|
|
/// the 32-bit binary representation of a number.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
|
|
|
|
#[wasm_bindgen(static_method_of = Math)]
|
|
|
|
pub fn clz32(x: i32) -> Number;
|
2018-06-25 21:41:28 +02:00
|
|
|
}
|
|
|
|
|
2018-06-23 14:43:43 +02:00
|
|
|
// Number.
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
pub type Number;
|
|
|
|
|
2018-06-27 09:36:37 +02:00
|
|
|
/// The `Number` JavaScript object is a wrapper object allowing
|
|
|
|
/// you to work with numerical values. A `Number` object is
|
|
|
|
/// created using the `Number()` constructor.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
|
|
#[wasm_bindgen(constructor)]
|
|
|
|
pub fn new(value: JsValue) -> Number;
|
|
|
|
|
2018-06-23 19:03:55 +02:00
|
|
|
/// The toLocaleString() method returns a string with a language sensitive
|
|
|
|
/// representation of this number.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
|
|
|
|
#[wasm_bindgen(method, js_name = toLocaleString)]
|
2018-06-23 16:59:49 -07:00
|
|
|
pub fn to_locale_string(this: &Number, locale: &str) -> JsString;
|
2018-06-23 19:03:55 +02:00
|
|
|
|
2018-06-23 18:18:58 +02:00
|
|
|
/// The toPrecision() method returns a string representing the Number
|
|
|
|
/// object to the specified precision.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision
|
|
|
|
#[wasm_bindgen(catch, method, js_name = toPrecision)]
|
2018-06-23 16:59:49 -07:00
|
|
|
pub fn to_precision(this: &Number, precision: u8) -> Result<JsString, JsValue>;
|
2018-06-23 18:18:58 +02:00
|
|
|
|
2018-06-24 10:08:23 +02:00
|
|
|
/// The toFixed() method returns a string representing the Number
|
|
|
|
/// object using fixed-point notation.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed
|
|
|
|
#[wasm_bindgen(catch, method, js_name = toFixed)]
|
2018-06-24 20:48:37 +02:00
|
|
|
pub fn to_fixed(this: &Number, digits: u8) -> Result<JsString, JsValue>;
|
2018-06-24 10:08:23 +02:00
|
|
|
|
|
|
|
/// The toExponential() method returns a string representing the Number
|
|
|
|
/// object in exponential notation.
|
|
|
|
///
|
2018-06-24 10:10:52 +02:00
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential
|
2018-06-24 10:08:23 +02:00
|
|
|
#[wasm_bindgen(catch, method, js_name = toExponential)]
|
2018-06-24 20:48:37 +02:00
|
|
|
pub fn to_exponential(this: &Number, fraction_digits: u8) -> Result<JsString, JsValue>;
|
2018-06-24 10:08:23 +02:00
|
|
|
|
2018-06-23 17:38:13 +02:00
|
|
|
/// The toString() method returns a string representing the
|
|
|
|
/// specified Number object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
|
|
|
|
#[wasm_bindgen(catch, method, js_name = toString)]
|
2018-06-23 16:59:49 -07:00
|
|
|
pub fn to_string(this: &Number, radix: u8) -> Result<JsString, JsValue>;
|
2018-06-23 17:38:13 +02:00
|
|
|
|
2018-06-23 14:43:43 +02:00
|
|
|
/// The valueOf() method returns the wrapped primitive value of
|
|
|
|
/// a Number object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/valueOf
|
|
|
|
#[wasm_bindgen(method, js_name = valueOf)]
|
|
|
|
pub fn value_of(this: &Number) -> Number;
|
|
|
|
}
|
|
|
|
|
2018-06-25 10:12:27 +02:00
|
|
|
// Date.
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
pub type Date;
|
2018-06-25 10:16:58 +02:00
|
|
|
|
2018-06-26 16:52:56 +02:00
|
|
|
/// Creates a JavaScript Date instance that represents
|
|
|
|
/// a single moment in time. Date objects are based on a time value that is
|
|
|
|
/// the number of milliseconds since 1 January 1970 UTC.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
|
|
|
|
#[wasm_bindgen(constructor)]
|
|
|
|
pub fn new() -> Date;
|
|
|
|
|
2018-06-25 10:17:31 +02:00
|
|
|
/// The toDateString() method returns the date portion of a Date object
|
|
|
|
/// in human readable form in American English.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toDateString
|
|
|
|
#[wasm_bindgen(method, js_name = toDateString)]
|
|
|
|
pub fn to_date_string(this: &Date) -> JsString;
|
|
|
|
|
2018-06-25 10:16:58 +02:00
|
|
|
/// The toISOString() method returns a string in simplified extended ISO format (ISO
|
|
|
|
/// 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or
|
|
|
|
/// ±YYYYYY-MM-DDTHH:mm:ss.sssZ, respectively). The timezone is always zero UTC offset,
|
|
|
|
/// as denoted by the suffix "Z"
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
|
|
#[wasm_bindgen(method, js_name = toISOString)]
|
|
|
|
pub fn to_iso_string(this: &Date) -> JsString;
|
|
|
|
|
2018-06-25 10:16:30 +02:00
|
|
|
/// The toJSON() method returns a string representation of the Date object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON
|
|
|
|
#[wasm_bindgen(method, js_name = toJSON)]
|
|
|
|
pub fn to_json(this: &Date) -> JsString;
|
2018-06-25 10:15:02 +02:00
|
|
|
|
2018-06-25 10:16:04 +02:00
|
|
|
/// The toLocaleDateString() method returns a string with a language sensitive
|
|
|
|
/// representation of the date portion of this date. The new locales and options
|
|
|
|
/// arguments let applications specify the language whose formatting conventions
|
|
|
|
/// should be used and allow to customize the behavior of the function.
|
|
|
|
/// In older implementations, which ignore the locales and options arguments,
|
|
|
|
/// the locale used and the form of the string
|
|
|
|
/// returned are entirely implementation dependent.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
|
|
|
|
#[wasm_bindgen(method, js_name = toLocaleDateString)]
|
|
|
|
pub fn to_locale_date_string(this: &Date, locale: JsString, options: JsValue) -> JsString;
|
|
|
|
|
2018-06-25 10:15:02 +02:00
|
|
|
/// The toLocaleString() method returns a string with a language sensitive
|
|
|
|
/// representation of this date. The new locales and options arguments
|
|
|
|
/// let applications specify the language whose formatting conventions
|
|
|
|
/// should be used and customize the behavior of the function.
|
|
|
|
/// In older implementations, which ignore the locales
|
|
|
|
/// and options arguments, the locale used and the form of the string
|
|
|
|
/// returned are entirely implementation dependent.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString
|
|
|
|
#[wasm_bindgen(method, js_name = toLocaleString)]
|
|
|
|
pub fn to_locale_string(this: &Date, locale: JsString, options: JsValue) -> JsString;
|
|
|
|
|
2018-06-25 10:14:27 +02:00
|
|
|
/// The toLocaleTimeString() method returns a string with a language sensitive
|
|
|
|
/// representation of the time portion of this date. The new locales and options
|
|
|
|
/// arguments let applications specify the language whose formatting conventions should be
|
|
|
|
/// used and customize the behavior of the function. In older implementations, which ignore
|
|
|
|
/// the locales and options arguments, the locale used and the form of the string
|
|
|
|
/// returned are entirely implementation dependent.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString
|
|
|
|
#[wasm_bindgen(method, js_name = toLocaleTimeString)]
|
|
|
|
pub fn to_locale_time_string(this: &Date, locale: JsString) -> JsString;
|
2018-06-25 10:13:32 +02:00
|
|
|
|
2018-06-25 10:14:00 +02:00
|
|
|
/// The toString() method returns a string representing
|
|
|
|
/// the specified Date object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toString
|
|
|
|
#[wasm_bindgen(method, js_name = toString)]
|
|
|
|
pub fn to_string(this: &Date) -> JsString;
|
|
|
|
|
2018-06-25 10:13:32 +02:00
|
|
|
/// The toTimeString() method returns the time portion of a Date object in human
|
|
|
|
/// readable form in American English.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString
|
|
|
|
#[wasm_bindgen(method, js_name = toTimeString)]
|
|
|
|
pub fn to_time_string(this: &Date) -> JsString;
|
|
|
|
|
2018-06-25 10:13:01 +02:00
|
|
|
/// The toUTCString() method converts a date to a string,
|
|
|
|
/// using the UTC time zone.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString
|
|
|
|
#[wasm_bindgen(method, js_name = toUTCString)]
|
|
|
|
pub fn to_utc_string(this: &Date) -> JsString;
|
2018-06-25 10:12:27 +02:00
|
|
|
|
|
|
|
/// The valueOf() method returns the primitive value of
|
|
|
|
/// a Date object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf
|
|
|
|
#[wasm_bindgen(method, js_name = valueOf)]
|
|
|
|
pub fn value_of(this: &Date) -> Date;
|
|
|
|
}
|
|
|
|
|
2018-06-21 22:16:24 +02:00
|
|
|
// Object.
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
pub type Object;
|
|
|
|
|
|
|
|
/// The `hasOwnProperty()` method returns a boolean indicating whether the
|
|
|
|
/// object has the specified property as its own property (as opposed to
|
|
|
|
/// inheriting it).
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty
|
|
|
|
#[wasm_bindgen(method, js_name = hasOwnProperty)]
|
|
|
|
pub fn has_own_property(this: &Object, property: &JsValue) -> bool;
|
|
|
|
|
|
|
|
/// The isPrototypeOf() method checks if an object exists in another
|
|
|
|
/// object's prototype chain.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf
|
|
|
|
#[wasm_bindgen(method, js_name = isPrototypeOf)]
|
|
|
|
pub fn is_prototype_of(this: &Object, value: &JsValue) -> bool;
|
|
|
|
|
2018-06-22 14:45:33 -07:00
|
|
|
/// The Object.keys() method returns an array of a given object's property
|
|
|
|
/// names, in the same order as we get with a normal loop.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
|
|
|
|
#[wasm_bindgen(static_method_of = Object)]
|
|
|
|
pub fn keys(object: &Object) -> Array;
|
|
|
|
|
2018-06-22 14:11:07 -07:00
|
|
|
/// The Object constructor creates an object wrapper.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
|
|
#[wasm_bindgen(constructor)]
|
|
|
|
pub fn new() -> Object;
|
|
|
|
|
2018-06-21 22:16:24 +02:00
|
|
|
/// The propertyIsEnumerable() method returns a Boolean indicating
|
|
|
|
/// whether the specified property is enumerable.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable
|
|
|
|
#[wasm_bindgen(method, js_name = propertyIsEnumerable)]
|
|
|
|
pub fn property_is_enumerable(this: &Object, property: &JsValue) -> bool;
|
2018-06-23 12:11:46 +02:00
|
|
|
|
2018-06-26 14:02:42 +02:00
|
|
|
/// The Object.seal() method seals an object, preventing new properties
|
|
|
|
/// from being added to it and marking all existing properties as non-configurable.
|
|
|
|
/// Values of present properties can still be changed as long as they are writable.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal
|
|
|
|
#[wasm_bindgen(static_method_of = Object)]
|
|
|
|
pub fn seal(value: &JsValue) -> JsValue;
|
|
|
|
|
2018-06-22 14:11:07 -07:00
|
|
|
/// The toLocaleString() method returns a string representing the object.
|
2018-06-25 20:33:39 +02:00
|
|
|
/// This method is meant to be overridden by derived objects for
|
|
|
|
/// locale-specific purposes.
|
2018-06-22 14:11:07 -07:00
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString
|
|
|
|
#[wasm_bindgen(method, js_name = toLocaleString)]
|
|
|
|
pub fn to_locale_string(this: &Object) -> JsString;
|
|
|
|
|
|
|
|
/// The toString() method returns a string representing the object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
|
|
|
|
#[wasm_bindgen(method, js_name = toString)]
|
|
|
|
pub fn to_string(this: &Object) -> JsString;
|
|
|
|
|
2018-06-23 12:11:46 +02:00
|
|
|
/// The valueOf() method returns the primitive value of the
|
|
|
|
/// specified object.
|
2018-06-23 16:59:49 -07:00
|
|
|
///
|
2018-06-23 12:11:46 +02:00
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf
|
|
|
|
#[wasm_bindgen(method, js_name = valueOf)]
|
|
|
|
pub fn value_of(this: &Object) -> Object;
|
2018-06-21 22:16:24 +02:00
|
|
|
}
|
2018-06-22 17:51:44 -07:00
|
|
|
|
2018-06-26 13:12:32 +05:00
|
|
|
// WeakMap
|
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
|
|
|
pub type WeakMap;
|
|
|
|
|
2018-06-26 23:50:31 +05:00
|
|
|
/// The WeakMap object is a collection of key/value pairs in which the keys are weakly referenced.
|
|
|
|
/// The keys must be objects and the values can be arbitrary values.
|
2018-06-26 13:12:32 +05:00
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap
|
|
|
|
#[wasm_bindgen(constructor)]
|
|
|
|
pub fn new() -> WeakMap;
|
|
|
|
|
|
|
|
/// The set() method sets the value for the key in the WeakMap object. Returns
|
|
|
|
/// the WeakMap object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/set
|
|
|
|
#[wasm_bindgen(method, js_class="WeakMap")]
|
2018-06-26 23:50:31 +05:00
|
|
|
pub fn set(this: &WeakMap, key: Object, value: JsValue) -> WeakMap;
|
2018-06-26 13:12:32 +05:00
|
|
|
|
|
|
|
/// The get() method returns a specified by key element
|
|
|
|
/// from a WeakMap object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/get
|
|
|
|
#[wasm_bindgen(method)]
|
2018-06-26 23:50:31 +05:00
|
|
|
pub fn get(this: &WeakMap, key: Object) -> JsValue;
|
2018-06-26 13:12:32 +05:00
|
|
|
|
|
|
|
/// The has() method returns a boolean indicating whether an element with
|
|
|
|
/// the specified key exists in the WeakMap object or not.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/has
|
|
|
|
#[wasm_bindgen(method)]
|
2018-06-26 23:50:31 +05:00
|
|
|
pub fn has(this: &WeakMap, key: Object) -> bool;
|
2018-06-26 13:12:32 +05:00
|
|
|
|
|
|
|
/// The delete() method removes the specified element from a WeakMap object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/delete
|
|
|
|
#[wasm_bindgen(method)]
|
2018-06-26 23:50:31 +05:00
|
|
|
pub fn delete(this: &WeakMap, key: Object) -> bool;
|
2018-06-26 13:12:32 +05:00
|
|
|
}
|
|
|
|
|
2018-06-23 16:59:49 -07:00
|
|
|
// JsString
|
2018-06-22 17:51:44 -07:00
|
|
|
#[wasm_bindgen]
|
|
|
|
extern {
|
2018-06-23 16:59:49 -07:00
|
|
|
#[wasm_bindgen(js_name = JsString)]
|
2018-06-22 17:51:44 -07:00
|
|
|
pub type JsString;
|
|
|
|
|
2018-06-26 22:10:25 +02:00
|
|
|
/// The length property of a String object indicates the length of a string,
|
|
|
|
/// in UTF-16 code units.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length
|
|
|
|
#[wasm_bindgen(method, getter, structural)]
|
|
|
|
pub fn length(this: &JsString) -> u32;
|
|
|
|
|
2018-06-25 21:30:04 +02:00
|
|
|
/// The String object's charAt() method returns a new string consisting of the single
|
|
|
|
/// UTF-16 code unit located at the specified offset into the string.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = charAt)]
|
|
|
|
pub fn char_at(this: &JsString, index: u32) -> JsString;
|
|
|
|
|
2018-06-26 21:25:44 +09:00
|
|
|
/// The charCodeAt() method returns an integer between 0 and 65535 representing the UTF-16 code unit at
|
|
|
|
/// the given index (the UTF-16 code unit matches the Unicode code point for code points representable in
|
|
|
|
/// a single UTF-16 code unit, but might also be the first code unit of a surrogate pair for
|
|
|
|
/// code points not representable in a single UTF-16 code unit, e.g. Unicode code points > 0x10000).
|
|
|
|
/// If you want the entire code point value, use codePointAt().
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = charCodeAt)]
|
|
|
|
pub fn char_code_at(this: &JsString, index: u32) -> Number;
|
2018-06-27 00:48:09 +09:00
|
|
|
|
2018-06-26 22:05:16 +09:00
|
|
|
/// The codePointAt() method returns a non-negative integer that is the Unicode code point value.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = codePointAt)]
|
|
|
|
pub fn code_point_at(this: &JsString, pos: u32) -> JsValue;
|
|
|
|
|
2018-06-27 00:48:09 +09:00
|
|
|
/// The concat() method concatenates the string arguments to the calling string and returns a new string.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat
|
|
|
|
#[wasm_bindgen(method, js_class = "String")]
|
|
|
|
pub fn concat(this: &JsString, string_2: &JsString) -> JsString;
|
|
|
|
|
2018-06-26 20:29:07 +09:00
|
|
|
/// The includes() method determines whether one string may be found within another string, returning true or false as appropriate.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
|
|
|
|
#[wasm_bindgen(method, js_class = "String")]
|
|
|
|
pub fn includes(this: &JsString, search_string: &JsString, position: i32) -> bool;
|
|
|
|
|
2018-06-25 21:30:04 +02:00
|
|
|
/// The indexOf() method returns the index within the calling String object of
|
|
|
|
/// the first occurrence of the specified value, starting the search at fromIndex.
|
|
|
|
/// Returns -1 if the value is not found.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = indexOf)]
|
|
|
|
pub fn index_of(this: &JsString, search_value: &JsString, from_index: i32) -> i32;
|
2018-06-26 10:32:42 -07:00
|
|
|
|
2018-06-22 17:51:44 -07:00
|
|
|
/// The slice() method extracts a section of a string and returns it as a
|
|
|
|
/// new string, without modifying the original string.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice
|
|
|
|
#[wasm_bindgen(method, js_class = "String")]
|
|
|
|
pub fn slice(this: &JsString, start: u32, end: u32) -> JsString;
|
2018-06-25 20:24:44 +02:00
|
|
|
|
2018-06-25 21:30:04 +02:00
|
|
|
/// The startsWith() method determines whether a string begins with the characters
|
|
|
|
/// of a specified string, returning true or false as appropriate.
|
2018-06-25 20:24:44 +02:00
|
|
|
///
|
2018-06-25 21:30:04 +02:00
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = startsWith)]
|
|
|
|
pub fn starts_with(this: &JsString, search_string: &JsString, position: u32) -> bool;
|
|
|
|
|
|
|
|
/// The substring() method returns the part of the string between the start and end indexes,
|
|
|
|
/// or to the end of the string.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring
|
|
|
|
#[wasm_bindgen(method, js_class = "String")]
|
|
|
|
pub fn substring(this: &JsString, index_start: u32, index_end: u32) -> JsString;
|
2018-06-25 22:20:38 +02:00
|
|
|
|
2018-06-24 23:03:39 +02:00
|
|
|
/// The substr() method returns the part of a string between
|
|
|
|
/// the start index and a number of characters after it.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr
|
|
|
|
#[wasm_bindgen(method, js_class = "String")]
|
|
|
|
pub fn substr(this: &JsString, start: i32, length: i32) -> JsString;
|
2018-06-26 22:10:25 +02:00
|
|
|
|
2018-06-26 22:21:51 +02:00
|
|
|
/// The toString() method returns a string representing the specified object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toString
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = toString)]
|
|
|
|
pub fn to_string(this: &JsString) -> JsString;
|
|
|
|
|
2018-06-26 22:10:25 +02:00
|
|
|
/// The trim() method removes whitespace from both ends of a string.
|
|
|
|
/// Whitespace in this context is all the whitespace characters
|
|
|
|
/// (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.).
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim
|
|
|
|
#[wasm_bindgen(method, js_class = "String")]
|
|
|
|
pub fn trim(this: &JsString) -> JsString;
|
|
|
|
|
|
|
|
/// The trimEnd() method removes whitespace from the end of a string.
|
|
|
|
/// trimRight() is an alias of this method.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimEnd
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = trimEnd)]
|
|
|
|
pub fn trim_end(this: &JsString) -> JsString;
|
|
|
|
|
|
|
|
/// The trimEnd() method removes whitespace from the end of a string.
|
|
|
|
/// trimRight() is an alias of this method.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimEnd
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = trimRight)]
|
|
|
|
pub fn trim_right(this: &JsString) -> JsString;
|
|
|
|
|
|
|
|
/// The trimStart() method removes whitespace from the beginning of a string.
|
|
|
|
/// trimLeft() is an alias of this method.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimStart
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = trimStart)]
|
|
|
|
pub fn trim_start(this: &JsString) -> JsString;
|
|
|
|
|
|
|
|
/// The trimStart() method removes whitespace from the beginning of a string.
|
|
|
|
/// trimLeft() is an alias of this method.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimStart
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = trimLeft)]
|
|
|
|
pub fn trim_left(this: &JsString) -> JsString;
|
2018-06-26 22:21:51 +02:00
|
|
|
|
|
|
|
/// The valueOf() method returns the primitive value of a String object.
|
|
|
|
///
|
|
|
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf
|
|
|
|
#[wasm_bindgen(method, js_class = "String", js_name = valueOf)]
|
|
|
|
pub fn value_of(this: &JsString) -> JsString;
|
2018-06-23 14:43:43 +02:00
|
|
|
}
|
2018-06-23 16:59:49 -07:00
|
|
|
|
|
|
|
impl<'a> From<&'a str> for JsString {
|
|
|
|
fn from(s: &'a str) -> Self {
|
|
|
|
JsString {
|
|
|
|
obj: JsValue::from_str(s),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if_std! {
|
|
|
|
impl From<String> for JsString {
|
|
|
|
fn from(s: String) -> Self {
|
|
|
|
From::from(&*s)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> From<&'a JsString> for String {
|
|
|
|
fn from(s: &'a JsString) -> Self {
|
|
|
|
s.obj.as_string().unwrap()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<JsString> for String {
|
|
|
|
fn from(s: JsString) -> Self {
|
|
|
|
From::from(&s)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|