New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

queryable-log

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

queryable-log

A structured append-only log which can be queried. Stores as ndjson and applies a log-size limit.

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

Queryable-Log

A structured append-only log which can be queried. Stores as ndjson and applies a log-size limit.

npm i queryable-log

Example usage:

const log = new QueryableLog(path.join(dir.path, 'log1.txt'))

await log.append({index: 1, type: 'apple'})
await log.append({index: 2, type: 'apple'})
await log.append({index: 3, type: 'banana'})
await log.append({index: 4, type: 'banana'})
await log.append({index: 5, type: 'apple'})
await log.append({index: 6, type: 'banana'})

await log.query() /* => [
  {index: 1, type: 'apple', ts: 1618872429869},
  {index: 2, type: 'apple', ts: 1618872438715},
  {index: 3, type: 'banana', ts: 1618872442607},
  {index: 4, type: 'banana', ts: 1618872446504},
  {index: 5, type: 'apple', ts: 1618872450726},
  {index: 6, type: 'banana', ts: 1618872454478}
] */

await log.query(obj => obj.type === 'banana') /* => [
  {index: 3, type: 'banana'},
  {index: 4, type: 'banana'},
  {index: 6, type: 'banana'}
]*/

API

new QueryableLog(filepath[, {sizeLimit, overwrite}])

The sizeLimit defaults to 5mb. The overwrite flag will delete the existing log on open; it defaults to false.

await log.append(obj)

Adds an object to the log. The .ts attribute is automatically added with Date.now().

await log.query([queryFn])

Queries the log file. Takes an optional query function to filter results during the read-stream. Returns an array.

await log.close()

Closes the internal write stream.

FAQs

Package last updated on 19 Apr 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