1.1.7 • Published 3 years ago

asset-js v1.1.7

Weekly downloads
11
License
ISC
Repository
-
Last release
3 years ago

Simple DB caching manager

npm i asset-js --save

Usage:

const asset = require("asset-js")(gethandler, sethandler, defaults, deleteHandler, autosave)
let myasset = await asset("asset1", defaultValue?, persistent /*persistent = available forever, never uncached, useful for assets used regularly like a config file*/)
myasset.someproperty = "a"
//gets saved automatically after a while
//or save everything manually:
asset.save()

Example:

const fs = require("fs")

function default(assetID){ //Gets called if a certain asset is not found (ie a default value)
  if(assetID.startsWith("user/")){ //if assetID is in user folder
    return { //return default userdata
      username:"",
      timeCreated:Date.now()
    }
  }else return {} //otherwise, return an empty object
}
function get(name){
  return JSON.parse(fs.readFileSync(name))
}
function set(name, data){
  fs.writeFileSync(name, JSON.strinify(data))
}


const asset = require("asset-js")(get, set, default, fs.unlinkSync, 900000 /*autosave every 900000ms, or 15mins*/)

var john = asset("user/john")
john.username = "johnny_english"

var configuration = asset("config.json", {} /*default value: function default() is ignored in this case*/)
configuration.allowRetards = false

asset.save() //optional because we have autosave

Presets

You can load custom pre-made wrapping functions (presets) to save yourself some time, for example, for firebase: (use asset-js-firestore)

const asset = require("asset-js")(
  require("asset-js-firestore")(collectionName, credentials, default)
  //connnects to FIRESTORE!
)

Typically, assetdb presets on npm are named something like asset-js-XXX, if you wish to make one, please use that format, as it will help users determine what the preset is made for.

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.1

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.0

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago