1.0.48 • Published 1 year ago

storage-to-json v1.0.48

Weekly downloads
7
License
MIT
Repository
-
Last release
1 year ago

Storage-to-json

Installation


//Install it at your project directory!
npm i storage-to-json

Usage


// Example on how to utilize.
const Storage = require('storage-to-json');
const defaultSettings = {
  This_Needs_To_Exist: 'OK',
  ThisAlso: 'OK',
};

const JsonFile = 'testeroni';
const Store = new Storage(JsonFile);

//=> Applies only for non memory storage.
Store.clear();

//=> Returns MyName
Store.set('MyName', { name: 'Gerkiz' });
Store.logger('Name is: "' + Store.get('MyName').name + '"');

//=> Replaces MyName with FirstName
Store.replace('MyName', 'FirstName');
Store.logger('Name is: "' + Store.get('FirstName').name + '"');

//=> MyName is undefined.
Store.logger('Name is: "' + Store.get('MyName').name + '"');

//=> Default value set for "default"
Store.ensure('default', defaultSettings);

Store.each((key, val) => {
  console.log(JSON.stringify(key));
  console.log(JSON.stringify(val));
});

//=> We can also use the storage as a proxy, like below:
const data = Store.proxy();
data.awesome_storage = true;
Store.logger('Does awesome_storage exist? ' + Store.get('awesome_storage'));

//=> Backups the persistent storage.
Store.backup(JsonFile);

//=> Removes a key
Store.remove('FirstName');
Store.remove('default');
Store.remove('awesome_storage');

API


//=> Require at first.
const Storage = require('storage-to-json');

//=> Use a storage that already exists or creates it if it does not exist.
//=> You can now utilize multiple instances of Storage.
//=>
//=> NOTE!
//=> If no name is provided for the datastore then
//=> the storage is not persistent but is instead
//=> kept in memory.
const Store = new Storage('datastore');

//=> Set a key, value -- .set can also be used to replace an old value of a key.
Store.set('key', { name: 'value' });

//=> Get key.
Store.get('key').name;
//=> value

//=> Validates that given key exists.
Store.validate('key');

//=> Same as Store.validate
Store.has('key');

//=> Fetches the whole storage.
Store.get_storage();

//=> Remove key.
Store.remove('key');

//=> Remove value only.
Store.remove('key', 'value');

//=> Same as Store.remove
Store.delete('key', 'value');

//=> Backup a file for future use. Appends %date%.
Store.backup('datastore');

//=> Clear all keys.
//=> Only applies if we're using non memory storage.
Store.clear();

//=> Replace a key with another key.
Store.replace('old', 'new');

//=> enableLogger, boolean (default true).
Store.enableLogger(boolean);

//=> Ensures that the key default exists, if not then obj is copied to key default.
Store.ensure('defualt', obj);

//=> If enableLogger, then stdout to console.
Store.logger(str);

//=> Loops over all stored values.
Store.each(function (value, key) {
  console.log(key, '==', value);
});

//=> We can also use the storage as a proxy to modify nested datasets.
Store.proxy();

// Hint, most of the API is awaitable
await Store.setAsync(...)
await Store.eachAsync(...)
await Store.ensureAsync(async (...) => {})
1.0.48

1 year ago

1.0.39

2 years ago

1.0.40

2 years ago

1.0.44

2 years ago

1.0.43

2 years ago

1.0.42

2 years ago

1.0.41

2 years ago

1.0.46

2 years ago

1.0.45

2 years ago

1.0.38

2 years ago

1.0.37

3 years ago

1.0.36

3 years ago

1.0.35

3 years ago

1.0.34

4 years ago

1.0.33

4 years ago

1.0.32

4 years ago

1.0.31

4 years ago

1.0.30

4 years ago

1.0.29

4 years ago

1.0.28

4 years ago

1.0.27

4 years ago

1.0.26

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.19

4 years ago

1.0.20

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.12

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago