Package Exports
- nanoresource-collection
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nanoresource-collection) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nanoresource-collection
Open and close multiple nanoresources as one.
Usage
const Collection = require('nanoresource-collection')
const collection = new Collection([resource1, resource2])
collection.open(function (err) {
// All resources have been opened
})
collection.close(function (err) {
// All resources have been closed
})
API
new Collection([options, ][resources])
Both arguments are optional. The resources
argument can be an array and should contain nanoresource
instances. Alternatively use collection.push(...resources)
.
Resources in the collection are opened sequentially. If one of the resources fails to open, other resources that did open successfully will be closed again. Resources are closed in reverse order: the last to be opened is the first to be closed.
Options:
opened
(boolean): defaultfalse
. Iftrue
, assume the resources are already open and adjust collection state accordingly. Useful for partially compliant resources (like servers) that only have a.close()
method.
Because nanoresource-collection
is itself a nanoresource
, the API is the same and collections are composable. In addition nanoresource-collection
ships a variant that (also) supports promises:
const Collection = require('nanoresource-collection').promises
const collection = new Collection()
await collection.open()
await collection.close()
Install
With npm do:
npm install nanoresource-collection
License
MIT © 2020-present Vincent Weevers