27 lines
1.0 KiB
JavaScript

'use strict'
exports.supports = function supports (...manifests) {
const manifest = manifests.reduce((acc, m) => Object.assign(acc, m), {})
return Object.assign(manifest, {
snapshots: manifest.snapshots || false,
permanence: manifest.permanence || false,
seek: manifest.seek || false,
clear: manifest.clear || false,
getMany: manifest.getMany || false,
keyIterator: manifest.keyIterator || false,
valueIterator: manifest.valueIterator || false,
iteratorNextv: manifest.iteratorNextv || false,
iteratorAll: manifest.iteratorAll || false,
status: manifest.status || false,
createIfMissing: manifest.createIfMissing || false,
errorIfExists: manifest.errorIfExists || false,
deferredOpen: manifest.deferredOpen || false,
promises: manifest.promises || false,
streams: manifest.streams || false,
encodings: Object.assign({}, manifest.encodings),
events: Object.assign({}, manifest.events),
additionalMethods: Object.assign({}, manifest.additionalMethods)
})
}