Initial
This commit is contained in:
38
resources/app/node_modules/abstract-level/lib/range-options.js
generated
vendored
Normal file
38
resources/app/node_modules/abstract-level/lib/range-options.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict'
|
||||
|
||||
const ModuleError = require('module-error')
|
||||
const hasOwnProperty = Object.prototype.hasOwnProperty
|
||||
const rangeOptions = new Set(['lt', 'lte', 'gt', 'gte'])
|
||||
|
||||
module.exports = function (options, keyEncoding) {
|
||||
const result = {}
|
||||
|
||||
for (const k in options) {
|
||||
if (!hasOwnProperty.call(options, k)) continue
|
||||
if (k === 'keyEncoding' || k === 'valueEncoding') continue
|
||||
|
||||
if (k === 'start' || k === 'end') {
|
||||
throw new ModuleError(`The legacy range option '${k}' has been removed`, {
|
||||
code: 'LEVEL_LEGACY'
|
||||
})
|
||||
} else if (k === 'encoding') {
|
||||
// To help migrating to abstract-level
|
||||
throw new ModuleError("The levelup-style 'encoding' alias has been removed, use 'valueEncoding' instead", {
|
||||
code: 'LEVEL_LEGACY'
|
||||
})
|
||||
}
|
||||
|
||||
if (rangeOptions.has(k)) {
|
||||
// Note that we don't reject nullish and empty options here. While
|
||||
// those types are invalid as keys, they are valid as range options.
|
||||
result[k] = keyEncoding.encode(options[k])
|
||||
} else {
|
||||
result[k] = options[k]
|
||||
}
|
||||
}
|
||||
|
||||
result.reverse = !!result.reverse
|
||||
result.limit = Number.isInteger(result.limit) && result.limit >= 0 ? result.limit : -1
|
||||
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user