mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-26 01:58:06 +02:00
Refactor ObjectLoader
to use Dict
s correctly, rather than abusing their internal properties
The `ObjectLoader` currently takes an Object as input, despite actually working with `Dict`s internally. This means that at the (two) existing call-sites, we're passing in the "private" `Dict.map` property directly. Doing this seems like an anti-pattern, and we could (and even should) simply provide the actual `Dict` when creating an `ObjectLoader` instance. Accessing properties stored in the `Dict` is now done using the intended methods instead, in particular `getRaw` which (as the name suggests) doesn't do any de-referencing, thus maintaining the current functionality of the code. The only functional change in this patch is that `ObjectLoader.load` will now ignore empty nodes, such that `ObjectLoader._walk` only needs to deal with nodes that are known to contain data. (This lets us skip, among other checks, meaningless `addChildren` function calls.)
This commit is contained in:
parent
f2fc9ee281
commit
3a20fd165f
3 changed files with 20 additions and 23 deletions
|
@ -390,9 +390,8 @@ var Annotation = (function AnnotationClosure() {
|
|||
if (!resources) {
|
||||
return;
|
||||
}
|
||||
var objectLoader = new ObjectLoader(resources.map,
|
||||
keys,
|
||||
resources.xref);
|
||||
let objectLoader = new ObjectLoader(resources, keys, resources.xref);
|
||||
|
||||
return objectLoader.load().then(function() {
|
||||
return resources;
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue