decord/source/modules/app_database/util/Lru.tsx
github-actions 777dc50a28 chore: update source for alpha 346.3
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4790.js (118.4 MB)
2026-09-10 19:12:31 +00:00

89 lines
2.1 KiB
TypeScript

// Module ID: 7533
// Function ID: 7534
// Name: Lru
// Dependencies: [2]
// Module 7533 (Lru)
import size from "module_2" /* 2 */;
class Lru {
constructor(arg0) {
obj = Object.create(new.target.prototype);
map = new Map();
obj.items = map;
obj.limit = global;
return obj;
}
}
const prototype = Lru.prototype;
Object.defineProperty(prototype, "length", {
get: function length() {
return this.items.size;
},
set: undefined
});
Object.defineProperty(prototype, "capacity", {
get: function capacity() {
return this.limit;
},
set: undefined
});
prototype[Symbol.iterator] = function() {
const items = this.items;
return items.entries();
};
prototype["entries"] = function entries() {
const items = this.items;
return items.entries();
};
prototype["keys"] = function keys() {
const items = this.items;
return items.keys();
};
prototype["values"] = function values() {
const items = this.items;
return items.values();
};
prototype["ordered"] = function ordered() {
const items = this.items;
const items1 = [...items.values()];
return items1.reverse();
};
prototype["clear"] = function clear() {
const items = this.items;
items.clear();
};
prototype["has"] = function has(arg0) {
const items = this.items;
return items.has(arg0);
};
prototype["get"] = function get(arg0) {
const items = this.items;
return items.get(arg0);
};
prototype["put"] = function put(arg0, arg1) {
const self = this;
const items = this.items;
items.delete(arg0);
const items2 = this.items;
const result = items2.set(arg0, arg1);
if (this.items.size > this.limit) {
const oldestKeyResult = self.oldestKey();
({ items: items3, items: items4 } = self);
value = items3.get(oldestKeyResult);
items4.delete(oldestKeyResult);
const items1 = [oldestKeyResult, value];
return items1;
}
};
prototype["delete"] = function delete(arg0) {
const items = this.items;
return items.delete(arg0);
};
prototype["oldestKey"] = function oldestKey() {
const items = this.items;
return items.keys().next().value;
};
let result = size.fileFinishedImporting("modules/app_database/util/Lru.tsx");
export { Lru };