mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-23 16:48:08 +02:00
Merge pull request #19778 from Snuffleupagus/replace-getAll
[api-minor] Replace various `getAll` methods with iterators
This commit is contained in:
commit
22657e2b6e
7 changed files with 53 additions and 92 deletions
|
@ -13,7 +13,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { objectFromMap, shadow, unreachable } from "../shared/util.js";
|
||||
import { shadow, unreachable } from "../shared/util.js";
|
||||
import { AnnotationEditor } from "./editor/editor.js";
|
||||
import { MurmurHash3_64 } from "../shared/murmurhash3.js";
|
||||
|
||||
|
@ -41,6 +41,17 @@ class AnnotationStorage {
|
|||
this.onSetModified = null;
|
||||
this.onResetModified = null;
|
||||
this.onAnnotationEditor = null;
|
||||
|
||||
if (typeof PDFJSDev === "undefined" || PDFJSDev.test("TESTING")) {
|
||||
// For testing purposes.
|
||||
Object.defineProperty(this, "_setValues", {
|
||||
value: obj => {
|
||||
for (const [key, val] of Object.entries(obj)) {
|
||||
this.setValue(key, val);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -128,22 +139,6 @@ class AnnotationStorage {
|
|||
return this.#storage.has(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Object | null}
|
||||
*/
|
||||
getAll() {
|
||||
return this.#storage.size > 0 ? objectFromMap(this.#storage) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
*/
|
||||
setAll(obj) {
|
||||
for (const [key, val] of Object.entries(obj)) {
|
||||
this.setValue(key, val);
|
||||
}
|
||||
}
|
||||
|
||||
get size() {
|
||||
return this.#storage.size;
|
||||
}
|
||||
|
@ -278,6 +273,10 @@ class AnnotationStorage {
|
|||
hash: ids.join(","),
|
||||
});
|
||||
}
|
||||
|
||||
[Symbol.iterator]() {
|
||||
return this.#storage.entries();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,15 +13,13 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { objectFromMap } from "../shared/util.js";
|
||||
|
||||
class Metadata {
|
||||
#metadataMap;
|
||||
#map;
|
||||
|
||||
#data;
|
||||
|
||||
constructor({ parsedData, rawData }) {
|
||||
this.#metadataMap = parsedData;
|
||||
this.#map = parsedData;
|
||||
this.#data = rawData;
|
||||
}
|
||||
|
||||
|
@ -30,15 +28,11 @@ class Metadata {
|
|||
}
|
||||
|
||||
get(name) {
|
||||
return this.#metadataMap.get(name) ?? null;
|
||||
return this.#map.get(name) ?? null;
|
||||
}
|
||||
|
||||
getAll() {
|
||||
return objectFromMap(this.#metadataMap);
|
||||
}
|
||||
|
||||
has(name) {
|
||||
return this.#metadataMap.has(name);
|
||||
[Symbol.iterator]() {
|
||||
return this.#map.entries();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
|
||||
import {
|
||||
info,
|
||||
objectFromMap,
|
||||
RenderingIntentFlag,
|
||||
unreachable,
|
||||
warn,
|
||||
|
@ -301,10 +300,6 @@ class OptionalContentConfig {
|
|||
return [...this.#groups.keys()];
|
||||
}
|
||||
|
||||
getGroups() {
|
||||
return this.#groups.size > 0 ? objectFromMap(this.#groups) : null;
|
||||
}
|
||||
|
||||
getGroup(id) {
|
||||
return this.#groups.get(id) || null;
|
||||
}
|
||||
|
@ -320,6 +315,10 @@ class OptionalContentConfig {
|
|||
}
|
||||
return (this.#cachedGetHash = hash.hexdigest());
|
||||
}
|
||||
|
||||
[Symbol.iterator]() {
|
||||
return this.#groups.entries();
|
||||
}
|
||||
}
|
||||
|
||||
export { OptionalContentConfig };
|
||||
|
|
|
@ -577,16 +577,6 @@ function objectSize(obj) {
|
|||
return Object.keys(obj).length;
|
||||
}
|
||||
|
||||
// Ensure that the returned Object has a `null` prototype; hence why
|
||||
// `Object.fromEntries(...)` is not used.
|
||||
function objectFromMap(map) {
|
||||
const obj = Object.create(null);
|
||||
for (const [key, value] of map) {
|
||||
obj[key] = value;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
// Checks the endianness of the platform.
|
||||
function isLittleEndian() {
|
||||
const buffer8 = new Uint8Array(4);
|
||||
|
@ -1311,7 +1301,6 @@ export {
|
|||
LINE_FACTOR,
|
||||
MathClamp,
|
||||
normalizeUnicode,
|
||||
objectFromMap,
|
||||
objectSize,
|
||||
OPS,
|
||||
PageActionEventType,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue