@mangar2/persist

1.0.5 • Public • Published

Abstract

persists JSON objects to a file . Keeps several files and loads older files if the latest is broken

Contents

Meta

File persist.js
Abstract persists JSON objects to a file . Keeps several files and loads older files if the latest is broken
Author Volker Böhm
Copyright Copyright ( c ) 2020 Volker Böhm
License This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose .

Class Persist

new Persist(configuration)

Creates a new persistance support class

Example

const persist = new Persist( { keepFiles: 5 })
persist.saveObjectToFile('.', 'helloworld.json', { message: 'hello world' } )
const dataRead = persist.readData('.', 'helloworld.json')
// prints 'hello world'
console.log(dataRead.message)

Persist Parameters

Name Type Description
configuration Object configuration options

configuration properties

Name Type Description
keepFiles number amount of file versions to keep ( including the recently written file )

Persist Methods

readData

readData (directory, filenameBasis) => {Object}

Reads data from a file

readData Parameters
Name Type Description
directory string directory to delete file
filenameBasis string basis filename of the file . The
readData returns
Type Description
Object the object read .

saveObjectToFile

async saveObjectToFile (directory, filenameBasis, objectToSave) => {undefined}

Stringifies a JSON and writes it to a file . It will automatically add a timestamp to the provided "base" filename It does not throws errors , but logs write errors to the console

saveObjectToFile Parameters
Name Type Description
directory string directory to delete file
filenameBasis string basis filename of the file . The
objectToSave Object object to save as JSON
saveObjectToFile returns
Type Description
undefined

Readme

Keywords

Package Sidebar

Install

npm i @mangar2/persist

Weekly Downloads

2

Version

1.0.5

License

LGPL-3.0-or-later

Unpacked Size

13.9 kB

Total Files

5

Last publish

Collaborators

  • mangar2