fake-indexeddb
Version:
Fake IndexedDB: a pure JS in-memory implementation of the IndexedDB API
40 lines (39 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _isPotentiallyValidKeyRange = _interopRequireDefault(require("./isPotentiallyValidKeyRange.js"));
var _enforceRange = _interopRequireDefault(require("./enforceRange.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
// https://www.w3.org/TR/IndexedDB/#create-request-to-retrieve-multiple-items
const extractGetAllOptions = (queryOrOptions, count, numArguments) => {
let query;
let direction;
if ((0, _isPotentiallyValidKeyRange.default)(queryOrOptions)) {
// queryOrOptions is FDBKeyRange | Key
query = queryOrOptions;
if (numArguments > 1 && count !== undefined) {
count = (0, _enforceRange.default)(count, "unsigned long");
}
} else {
// queryOrOptions is FDBGetAllOptions
const getAllOptions = queryOrOptions;
if (getAllOptions.query !== undefined) {
query = getAllOptions.query;
}
if (getAllOptions.count !== undefined) {
count = (0, _enforceRange.default)(getAllOptions.count, "unsigned long");
}
if (getAllOptions.direction !== undefined) {
direction = getAllOptions.direction;
}
}
return {
query,
count,
direction
};
};
var _default = exports.default = extractGetAllOptions;
module.exports = exports.default;