MCPcopy
hub / github.com/alyssaxuu/motionity / key

Function key

src/js/libraries/localbase.js:2155–2214  ·  view source on GitHub ↗
(n, callback)

Source from the content-addressed store, hash-verified

2153}
2154
2155function key(n, callback) {
2156 var self = this;
2157
2158 var promise = new Promise$1(function (resolve, reject) {
2159 if (n < 0) {
2160 resolve(null);
2161
2162 return;
2163 }
2164
2165 self.ready().then(function () {
2166 createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {
2167 if (err) {
2168 return reject(err);
2169 }
2170
2171 try {
2172 var store = transaction.objectStore(self._dbInfo.storeName);
2173 var advanced = false;
2174 var req = store.openKeyCursor();
2175
2176 req.onsuccess = function () {
2177 var cursor = req.result;
2178 if (!cursor) {
2179 // this means there weren't enough keys
2180 resolve(null);
2181
2182 return;
2183 }
2184
2185 if (n === 0) {
2186 // We have the first key, return it if that's what they
2187 // wanted.
2188 resolve(cursor.key);
2189 } else {
2190 if (!advanced) {
2191 // Otherwise, ask the cursor to skip ahead n
2192 // records.
2193 advanced = true;
2194 cursor.advance(n);
2195 } else {
2196 // When we get here, we've got the nth key.
2197 resolve(cursor.key);
2198 }
2199 }
2200 };
2201
2202 req.onerror = function () {
2203 reject(req.error);
2204 };
2205 } catch (e) {
2206 reject(e);
2207 }
2208 });
2209 })["catch"](reject);
2210 });
2211
2212 executeCallback(promise, callback);

Callers

nothing calls this directly

Calls 4

resolveFunction · 0.85
createTransactionFunction · 0.85
rejectFunction · 0.85
executeCallbackFunction · 0.85

Tested by

no test coverage detected