Socket
Book a DemoInstallSign in
Socket

@ryanforever/collector

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ryanforever/collector

a collector with persistance

1.0.4
latest
Source
npmnpm
Version published
Weekly downloads
2
Maintainers
1
Weekly downloads
 
Created
Source

collector

A persistant collector, useful when making long polling requests for data. This will continuously write data to a local JSON file, to persist, even in the event of network errors, or anything else that would cause you to loose data if it was in-memory.

const Collector = require("@ryanforever/collector")
const collector = new Collector({
	name: "test",
	savePath: "../tmp"
})

longPollingFunction.on("data", data => {
	collector.push("items", data) // push data with a key and value. collector will save it to the JSON file
	collector.push("items" ...data) // if data is an array
})

longPollingFunction.on("done", () => {
	let result = collector.get() // get 
	console.log(result)
	collector.delete() // delete the collector's json file
})

usage

Initialize the collector. This will create a JSON file at ../temp/test_collector.json

const Collector = require("@ryanforever/collector")
const collector = new Collector({
	name: "test",
	savePath: "../tmp"
})

Push data into a collector

// push an array of items in, using the spread operator.  same functionality as javascripts Array.prototype.push
let arrayOfItems = ["apple", "orange", "banana", "pear"]
collector.push("items", ...arrayOfItems)

// push a single item
collector.push("items", "strawberry")

Get data from collector

// get a single collector
let items = collector.get("items")

// get all collectors
let allCollectorData = collector.get()

methods

collector.push("key", value) // will create a new key if not exist, and push data into it
collector.add("key", value) // alias for .push()

collector.get("key") // get collector array by key
collector.get() // get all collector arrays

collector.has("key") // returns true if key exists

collector.clear("key") // clear a single collector array
collector.clear() // clear all collector arrays

collector.delete() // ⚠️ deletes the actual JSON file of the collector

Keywords

collector

FAQs

Package last updated on 04 Jan 2024

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

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.