stdweb/webapi/
file.rs

1use webcore::value::Reference;
2use webcore::try_from::TryInto;
3use webapi::blob::{IBlob, Blob};
4
5/// The File interface provides information about files and allows JavaScript
6/// in a web page to access their content.
7///
8/// [(JavaScript docs)](https://developer.mozilla.org/en-US/docs/Web/API/File)
9// https://w3c.github.io/FileAPI/#dfn-file
10#[derive(Clone, Debug, PartialEq, Eq, ReferenceType)]
11#[reference(instance_of = "File")]
12#[reference(subclass_of(Blob))]
13pub struct File( pub(crate) Reference );
14
15impl IBlob for File {}
16
17impl File {
18    /// Returns the name of the file referenced by the `File` object.
19    ///
20    /// [(JavaScript docs)](https://developer.mozilla.org/en-US/docs/Web/API/File/name)
21    // https://w3c.github.io/FileAPI/#ref-for-dfn-name%E2%91%A0
22    pub fn name( &self ) -> String {
23        js!( return @{self}.name; ).try_into().unwrap()
24    }
25}