
Security News
OpenClaw Skill Marketplace Emerges as Active Malware Vector
Security researchers report widespread abuse of OpenClaw skills to deliver info-stealing malware, exposing a new supply chain risk as agent ecosystems scale.
nothingness
Advanced tools
The DAO is everything and nothing, it comes from emptiness yet fills the universe.
A small implementation of an abstract data access object base class. Intended for use with a project built on leveldb, but should work just fine with both relational and documented-oriented stores. Written using as many ES2015 idioms as I could comfortably pick up over the course of writing it.
npm install --save nothingness
Create a DAO:
// thinger-dao.js
// using Babel's module loader for Node
import DAO from 'nothingness'
import { v4 as uuid } from 'node-uuid'
export default class ThingerDAO extends DAO {
generateID (pojo) {
// the #yolo uniqueness constraint
const id = uuid()
pojo[DAO.idSymbol] = id
return id
}
}
Use it to persist and load an object:
// main.js
import ThingerDAO from './thinger-dao.js'
import assert from 'assert'
import Adaptor from '@nothingness/level'
const dao = new ThingerDAO(new Adaptor('./thinger-db'))
const thingy = { type: 'band' }
// uses Bluebird's .nodeify(), so callback or promise chain are fine
dao.save(thingy)
.then(() => dao.findAll())
.then(results => assert.deepEqual(
results,
[{ type: 'band' }],
'should only have one item, of type "band"'
))
.then(() => console.log('round trip succeeded!'))
.catch(err => console.error(err.stack))
.finally(() => dao.closeDB())
Sometimes the objects that are part of a persistence model are used in other parts of an application, and coupling the model to the persistence strategy means that those other packages may now have a bunch of dependencies they don't need. By using the Data Mapper pattern, you can cleanly separate things and have a simpler application maybe?
FAQs
The DAO is everything and nothing, it comes from emptiness yet fills the universe.
We found that nothingness demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

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.

Security News
Security researchers report widespread abuse of OpenClaw skills to deliver info-stealing malware, exposing a new supply chain risk as agent ecosystems scale.

Security News
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.

Research
/Security News
Malicious dYdX client packages were published to npm and PyPI after a maintainer compromise, enabling wallet credential theft and remote code execution.