{
"repo": "ready-resource",
"timestamp": "2026-01-16T23:39:53.349Z",
"entryPoint": "index.js",
"exports": {
"packageJson": {
"main": "index.js"
}
},
"api": {
"file": "index.js",
"exports": [
{
"type": "default",
"name": "class"
}
],
"classes": [
{
"name": "ReadyResource"
}
],
"functions": [
{
"name": "open"
},
{
"name": "close"
}
]
},
"readme": {
"content": "# ready-resource\n\nModern single resource management\n\n```\nnpm install ready-resource\n```\n\n## Usage\n\n```js\nconst ReadyResource = require('ready-resource')\n\nclass Thing extends ReadyResource {\n constructor() {\n super()\n }\n\n async _open() {\n // open the resource\n }\n\n async _close() {\n // close the resource\n }\n}\n\nconst r = new Thing()\n\nawait r.ready() // calls _open once\nawait r.ready() // noop\n\nawait r.close() // calls _close after _open has finished\nawait r.close() // noop\n```\n\n## License\n\nMIT\n",
"sections": [
"intro",
"usage",
"license"
],
"hasApi": true,
"hasExamples": true,
"exampleCount": 2,
"examples": [
"npm install ready-resource",
"const ReadyResource = require('ready-resource')\n\nclass Thing extends ReadyResource {\n constructor() {\n super()\n }\n\n async _open() {\n // open the resource\n }\n\n async _close() {\n // close the resource\n }\n}\n\nconst r = new Thing()\n\nawait r.ready() // calls _open once\nawait r.ready() // noop\n\nawait r.close() // calls _close after _open has finished\nawait r.close() // noop"
]
},
"patterns": []
}