New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

asset-js

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

asset-js

DB caching manager

1.1.7
latest
npm
Version published
Weekly downloads
4
-92.59%
Maintainers
1
Weekly downloads
 
Created
Source

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.

FAQs

Package last updated on 28 Sep 2021

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