🚀 DAY 2 OF LAUNCH WEEK: Unify Your Security Stack with Socket Basics.Learn more →
Socket
Book a DemoInstallSign in
Socket

@forlagshuset/simple-fs

Package Overview
Dependencies
Maintainers
6
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@forlagshuset/simple-fs

File system in indexeddb

latest
Source
npmnpm
Version
0.5.2
Version published
Maintainers
6
Created
Source

SimpleFS

view on npm npm module downloads Dependency Status Known Vulnerabilities Build Status License: MIT

A minimal, extensible and promise based filesystem layer for modern browsers.

Live Demo

Supported storage backend

Simple-fs provides two storage backend. It's possible to write your own stoage backend using Storage API

  • IndexedDB (default)
import { IndexedDbStorage } from '@forlagshuset/simple-fs'
  • Memory (experimental and used for testing)
import { MemoryStorage } from '@forlagshuset/simple-fs'

Installation

npm:

npm install --save @forlagshuset/simple-fs

Usage

browser (umd):

<script src='https://unpkg.com/@forlagshuset/simple-fs@latest/dist/SimpleFS.js' async></script>
<script>
  // by default SimpleFS uses IndexedDB
  const fs = new SimpleFS.FileSystem()
  // do stuff

  await fs.mkdir('/myproject')

  // create a file under root folder
  const content = new Blob(['This is my cool project'], {type: 'plain/text'})
  await fs.writeFile('/myproject/test.txt', content)

  // get content as blob
  let blob = await fs.readFile('/myproject/test.txt')

</script>

browser (modules)

import SimpleFS from '@forlagshuset/simple-fs'
// OR es6 modules from unpkg
import SimpleFS from "//unpkg.com/@forlagshuset/simple-fs?module"

const fs = new SimpleFS.FileSystem()

// first create root folder
await fs.mkdir('/myproject')

// create a file under root folder
const content = new Blob(['This is my cool project'], {type: 'plain/text'})
await fs.writeFile('/myproject/test.txt', content)

// get content as blob
let blob = await fs.readFile('/myproject/test.txt')

API

FileSystem

constructor({storage: storageObj = new IndexedDbStorage('my-storage-name')})
mkdir(path: string)
mkdirParents(path: string) // wraps mkdir -p
rmdir(path: string)
rmdirRecursive(path: string) // removes dirs recursively
readFile(path: string, options={}) // returns Blob
writeFile(path: string, data: Blob, options={}) // data should be Blob type
outputFile(path: string, data: Blob, options={}) // Wraps writeFile and recursively creates path if not exists
bulkOutputFiles([{path: string, blob: Blob, options:{}]) // Output files in one transaction, speeds up in chrome
unlink(path: string)
exists(path: string)
stats(path: string)

Browser support

  • Chrome
  • IE Edge
  • Firefox
  • Safari

Keywords

offline

FAQs

Package last updated on 21 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts