Add a parameter to the isName
function that enables checking not just that something is a Name
, but also that the actual name
properties matches
This is similar to the existing `isCmd` and `isDict` functions, which already support similar kind of checks. With the updated `isName` function, we'll be able to simplify many callsites from: `isName(someVariable) && someVariable.name === 'someName'` to: `isName(someVariable, 'someName')`.
This commit is contained in:
parent
94089960c0
commit
af636aae96
@ -267,8 +267,8 @@ var RefSetCache = (function RefSetCacheClosure() {
|
|||||||
return RefSetCache;
|
return RefSetCache;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
function isName(v) {
|
function isName(v, name) {
|
||||||
return v instanceof Name;
|
return v instanceof Name && (name === undefined || v.name === name);
|
||||||
}
|
}
|
||||||
|
|
||||||
function isCmd(v, cmd) {
|
function isCmd(v, cmd) {
|
||||||
@ -276,14 +276,8 @@ function isCmd(v, cmd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isDict(v, type) {
|
function isDict(v, type) {
|
||||||
if (!(v instanceof Dict)) {
|
return v instanceof Dict &&
|
||||||
return false;
|
(type === undefined || isName(v.get('Type'), type));
|
||||||
}
|
|
||||||
if (!type) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
var dictType = v.get('Type');
|
|
||||||
return isName(dictType) && dictType.name === type;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function isRef(v) {
|
function isRef(v) {
|
||||||
|
@ -244,6 +244,12 @@ describe('primitives', function() {
|
|||||||
var name = Name.get('Font');
|
var name = Name.get('Font');
|
||||||
expect(isName(name)).toEqual(true);
|
expect(isName(name)).toEqual(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('handles names with name check', function () {
|
||||||
|
var name = Name.get('Font');
|
||||||
|
expect(isName(name, 'Font')).toEqual(true);
|
||||||
|
expect(isName(name, 'Subtype')).toEqual(false);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('isCmd', function () {
|
describe('isCmd', function () {
|
||||||
|
Loading…
Reference in New Issue
Block a user