function FileItem(uploader, some, options) {
	      _classCallCheck(this, FileItem);
	
	      var isInput = !!some.input;
	      var input = isInput ? element(some.input) : null;
	      var file = !isInput ? some : null;
	
	      extend(this, {
	        url: uploader.url,
	        alias: uploader.alias,
	        headers: copy(uploader.headers),
	        formData: copy(uploader.formData),
	        removeAfterUpload: uploader.removeAfterUpload,
	        withCredentials: uploader.withCredentials,
	        disableMultipart: uploader.disableMultipart,
	        method: uploader.method,
	        timeout: uploader.timeout
	      }, options, {
	        uploader: uploader,
	        file: new FileLikeObject(some),
	        isReady: false,
	        isUploading: false,
	        isUploaded: false,
	        isSuccess: false,
	        isCancel: false,
	        isError: false,
	        progress: 0,
	        index: null,
	        _file: file,
	        _input: input
	      });
	
	      if (input) this._replaceNode(input);
	    }
Creates an instance of FileItem
@param {FileUploader} uploader
@param {File|HTMLInputElement|Object} some
@param {Object} options
@constructor