What is @types/file-saver?
The @types/file-saver package provides TypeScript type definitions for the file-saver package, which is a JavaScript library that enables saving files on the client-side. It is useful for applications that need to generate and download files directly in the browser without sending them to a server first. The type definitions allow TypeScript developers to use file-saver with type checking and IntelliSense support in their IDEs.
What are @types/file-saver's main functionalities?
Saving text files
This feature allows you to save text files. The code sample demonstrates how to create a text file with the content 'Hello, world!' and save it as 'hello.txt'.
import { saveAs } from 'file-saver';
const data = new Blob(['Hello, world!'], { type: 'text/plain;charset=utf-8' });
saveAs(data, 'hello.txt');
Saving binary files
This feature allows you to save binary files. The code sample shows how to create a binary file from an array of bytes and save it as 'binaryFile.bin'.
import { saveAs } from 'file-saver';
const data = new Blob([new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f])], { type: 'application/octet-stream' });
saveAs(data, 'binaryFile.bin');
Other packages similar to @types/file-saver
js-file-download
js-file-download is a simple package for downloading files on the client-side. It is similar to file-saver but with a simpler API and fewer features. It does not provide the same level of control over file types and options.
downloadjs
downloadjs is a utility that triggers a file download on the client-side. It is similar to file-saver but supports additional features like downloading data URLs and canvas elements directly. It also does not require Blob objects for file data.
Installation
npm install --save @types/file-saver
Summary
This package contains type definitions for file-saver (https://github.com/eligrey/FileSaver.js/).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/file-saver.
export = FileSaver;
export as namespace saveAs;
/**
* FileSaver.js implements the saveAs() FileSaver interface in browsers that do not natively support it.
* @param data - The actual file data blob or URL.
* @param filename - The optional name of the file to be downloaded. If omitted, the name used in the file data will be used. If none is provided "download" will be used.
* @param options - Optional FileSaver.js config
*/
declare function FileSaver(data: Blob | string, filename?: string, options?: FileSaver.FileSaverOptions): void;
/**
* FileSaver.js implements the saveAs() FileSaver interface in browsers that do not natively support it.
* @param data - The actual file data blob or URL.
* @param filename - The optional name of the file to be downloaded. If omitted, the name used in the file data will be used. If none is provided "download" will be used.
* @param disableAutoBOM - Optional & defaults to `true`. Set to `false` if you want FileSaver.js to automatically provide Unicode text encoding hints
* @deprecated use `{ autoBom: false }` as the third argument
*/
// tslint:disable-next-line:unified-signatures
declare function FileSaver(data: Blob | string, filename?: string, disableAutoBOM?: boolean): void;
declare namespace FileSaver {
interface FileSaverOptions {
/**
* Automatically provide Unicode text encoding hints
* @default false
*/
autoBom: boolean;
}
const saveAs: typeof FileSaver;
}
Additional Details
- Last updated: Tue, 07 Nov 2023 03:09:37 GMT
- Dependencies: none
Credits
These definitions were written by Cyril Schumacher, Daniel Roth, HitkoDev, JounQin, and BendingBender.