Merge pull request #13081 from Snuffleupagus/objectFromMap
Replace the `objectFromEntries` helper function with an `objectFromMap` one instead, and simplify the data lookup in the AnnotationStorage.getValue method
This commit is contained in:
commit
be4a41960a
@ -14,7 +14,7 @@
|
||||
*/
|
||||
|
||||
import { deprecated } from "./display_utils.js";
|
||||
import { objectFromEntries } from "../shared/util.js";
|
||||
import { objectFromMap } from "../shared/util.js";
|
||||
|
||||
/**
|
||||
* Key/value storage for annotation data in forms.
|
||||
@ -33,8 +33,7 @@ class AnnotationStorage {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value for a given key if it exists
|
||||
* or return the default value
|
||||
* Get the value for a given key if it exists, or return the default value.
|
||||
*
|
||||
* @public
|
||||
* @memberof AnnotationStorage
|
||||
@ -43,11 +42,8 @@ class AnnotationStorage {
|
||||
* @returns {Object}
|
||||
*/
|
||||
getValue(key, defaultValue) {
|
||||
if (this._storage.has(key)) {
|
||||
return this._storage.get(key);
|
||||
}
|
||||
|
||||
return defaultValue;
|
||||
const obj = this._storage.get(key);
|
||||
return obj !== undefined ? obj : defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -91,7 +87,7 @@ class AnnotationStorage {
|
||||
}
|
||||
|
||||
getAll() {
|
||||
return this._storage.size > 0 ? objectFromEntries(this._storage) : null;
|
||||
return this._storage.size > 0 ? objectFromMap(this._storage) : null;
|
||||
}
|
||||
|
||||
get size() {
|
||||
|
@ -13,7 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { objectFromEntries } from "../shared/util.js";
|
||||
import { objectFromMap } from "../shared/util.js";
|
||||
|
||||
class Metadata {
|
||||
constructor({ parsedData, rawData }) {
|
||||
@ -30,7 +30,7 @@ class Metadata {
|
||||
}
|
||||
|
||||
getAll() {
|
||||
return objectFromEntries(this._metadataMap);
|
||||
return objectFromMap(this._metadataMap);
|
||||
}
|
||||
|
||||
has(name) {
|
||||
|
@ -12,7 +12,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { objectFromEntries, warn } from "../shared/util.js";
|
||||
import { objectFromMap, warn } from "../shared/util.js";
|
||||
|
||||
class OptionalContentGroup {
|
||||
constructor(name, intent) {
|
||||
@ -142,10 +142,7 @@ class OptionalContentConfig {
|
||||
}
|
||||
|
||||
getGroups() {
|
||||
if (!this._groups.size) {
|
||||
return null;
|
||||
}
|
||||
return objectFromEntries(this._groups);
|
||||
return this._groups.size > 0 ? objectFromMap(this._groups) : null;
|
||||
}
|
||||
|
||||
getGroup(id) {
|
||||
|
@ -597,9 +597,14 @@ function objectSize(obj) {
|
||||
return Object.keys(obj).length;
|
||||
}
|
||||
|
||||
// Ensures that the returned Object has a `null` prototype.
|
||||
function objectFromEntries(iterable) {
|
||||
return Object.assign(Object.create(null), Object.fromEntries(iterable));
|
||||
// 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.
|
||||
@ -1006,7 +1011,7 @@ export {
|
||||
isSameOrigin,
|
||||
isString,
|
||||
MissingPDFException,
|
||||
objectFromEntries,
|
||||
objectFromMap,
|
||||
objectSize,
|
||||
OPS,
|
||||
PageActionEventType,
|
||||
|
Loading…
x
Reference in New Issue
Block a user