@hijlkema-codes/bewaren
v0.1.0
Published
Bewaren [be·wa·ren (bewaarde, heeft bewaard)] is Dutch for keep, or preserve and that's what this library is for.
Readme
Bewaren
Bewaren [be·wa·ren (bewaarde, heeft bewaard)] is Dutch for keep, or preserve and that's what this library is for.
@hijlkema-codes/bewaren offers a simple API to store files on the end user system using an evergreen solution as
well as a fallback for browser that do not
support this functionality yet.
Using in your app
Include the library in your app by installing it:
npm install --save-dev @hijlkema-codes/bewarenAnd calling the exported functions in your application
import { saveMultipleFiles, createConfig } from '@hijlkema-codes/bewaren'
const files: File[] = [];
// .. rest of your code
await saveMultipleFiles(files, createConfig({
useDirectoryPicker: true,
zip: {
enabledAsFallback: true,
fileName: 'archive.zip'
}
}));Configuration
The configuration is a simple object with type Config, if you do not use typescript it is safest to use
the createConfig helper function. This function expects an object in the shape of Config.
type Config = {
/**
* Use the directory picker if it is available.
*
* If the directory picker is not available, the downloads will be mass triggered using
* a traditional download link.
*/
useDirectoryPicker?: boolean;
zip?: {
/**
* Zip the files if the file system API is unsupported.
*
* Setting this to true will create a zipFile with the name supplied in the config.
*/
enabledAsFallback?: boolean;
/**
* The name of the zip file to be generated.
*
* Only required if enabledAsFallback is set.
*/
fileName?: string;
};
};Contributing
Building
Run nx build bewaren to build the library.
Running unit tests
Run nx test bewaren to execute the unit tests via Vitest.
