Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/embedpre.../assets/pdf/build
File: pdf.worker.js
} of elements) {
[41500] Fix | Delete
if (!accessibilityData?.type) {
[41501] Fix | Delete
continue;
[41502] Fix | Delete
}
[41503] Fix | Delete
const {
[41504] Fix | Delete
type,
[41505] Fix | Delete
title,
[41506] Fix | Delete
lang,
[41507] Fix | Delete
alt,
[41508] Fix | Delete
expanded,
[41509] Fix | Delete
actualText
[41510] Fix | Delete
} = accessibilityData;
[41511] Fix | Delete
nextKey = Math.max(nextKey, parentTreeId);
[41512] Fix | Delete
const tagRef = xref.getNewTemporaryRef();
[41513] Fix | Delete
const tagDict = new Dict(xref);
[41514] Fix | Delete
tagDict.set("S", Name.get(type));
[41515] Fix | Delete
if (title) {
[41516] Fix | Delete
tagDict.set("T", title);
[41517] Fix | Delete
}
[41518] Fix | Delete
if (lang) {
[41519] Fix | Delete
tagDict.set("Lang", lang);
[41520] Fix | Delete
}
[41521] Fix | Delete
if (alt) {
[41522] Fix | Delete
tagDict.set("Alt", alt);
[41523] Fix | Delete
}
[41524] Fix | Delete
if (expanded) {
[41525] Fix | Delete
tagDict.set("E", expanded);
[41526] Fix | Delete
}
[41527] Fix | Delete
if (actualText) {
[41528] Fix | Delete
tagDict.set("ActualText", actualText);
[41529] Fix | Delete
}
[41530] Fix | Delete
await this.#updateParentTag({
[41531] Fix | Delete
structTreeParent,
[41532] Fix | Delete
tagDict,
[41533] Fix | Delete
newTagRef: tagRef,
[41534] Fix | Delete
structTreeRootRef,
[41535] Fix | Delete
fallbackKids: kids,
[41536] Fix | Delete
xref,
[41537] Fix | Delete
cache
[41538] Fix | Delete
});
[41539] Fix | Delete
const objDict = new Dict(xref);
[41540] Fix | Delete
tagDict.set("K", objDict);
[41541] Fix | Delete
objDict.set("Type", objr);
[41542] Fix | Delete
if (isPageRef) {
[41543] Fix | Delete
objDict.set("Pg", pageRef);
[41544] Fix | Delete
}
[41545] Fix | Delete
objDict.set("Obj", ref);
[41546] Fix | Delete
cache.put(tagRef, tagDict);
[41547] Fix | Delete
nums.push(parentTreeId, tagRef);
[41548] Fix | Delete
}
[41549] Fix | Delete
}
[41550] Fix | Delete
return nextKey + 1;
[41551] Fix | Delete
}
[41552] Fix | Delete
static #collectParents({
[41553] Fix | Delete
elements,
[41554] Fix | Delete
xref,
[41555] Fix | Delete
pageDict,
[41556] Fix | Delete
numberTree
[41557] Fix | Delete
}) {
[41558] Fix | Delete
const idToElements = new Map();
[41559] Fix | Delete
for (const element of elements) {
[41560] Fix | Delete
if (element.structTreeParentId) {
[41561] Fix | Delete
const id = parseInt(element.structTreeParentId.split("_mc")[1], 10);
[41562] Fix | Delete
let elems = idToElements.get(id);
[41563] Fix | Delete
if (!elems) {
[41564] Fix | Delete
elems = [];
[41565] Fix | Delete
idToElements.set(id, elems);
[41566] Fix | Delete
}
[41567] Fix | Delete
elems.push(element);
[41568] Fix | Delete
}
[41569] Fix | Delete
}
[41570] Fix | Delete
const id = pageDict.get("StructParents");
[41571] Fix | Delete
if (!Number.isInteger(id)) {
[41572] Fix | Delete
return;
[41573] Fix | Delete
}
[41574] Fix | Delete
const parentArray = numberTree.get(id);
[41575] Fix | Delete
const updateElement = (kid, pageKid, kidRef) => {
[41576] Fix | Delete
const elems = idToElements.get(kid);
[41577] Fix | Delete
if (elems) {
[41578] Fix | Delete
const parentRef = pageKid.getRaw("P");
[41579] Fix | Delete
const parentDict = xref.fetchIfRef(parentRef);
[41580] Fix | Delete
if (parentRef instanceof Ref && parentDict instanceof Dict) {
[41581] Fix | Delete
const params = {
[41582] Fix | Delete
ref: kidRef,
[41583] Fix | Delete
dict: pageKid
[41584] Fix | Delete
};
[41585] Fix | Delete
for (const element of elems) {
[41586] Fix | Delete
element.structTreeParent = params;
[41587] Fix | Delete
}
[41588] Fix | Delete
}
[41589] Fix | Delete
return true;
[41590] Fix | Delete
}
[41591] Fix | Delete
return false;
[41592] Fix | Delete
};
[41593] Fix | Delete
for (const kidRef of parentArray) {
[41594] Fix | Delete
if (!(kidRef instanceof Ref)) {
[41595] Fix | Delete
continue;
[41596] Fix | Delete
}
[41597] Fix | Delete
const pageKid = xref.fetch(kidRef);
[41598] Fix | Delete
const k = pageKid.get("K");
[41599] Fix | Delete
if (Number.isInteger(k)) {
[41600] Fix | Delete
updateElement(k, pageKid, kidRef);
[41601] Fix | Delete
continue;
[41602] Fix | Delete
}
[41603] Fix | Delete
if (!Array.isArray(k)) {
[41604] Fix | Delete
continue;
[41605] Fix | Delete
}
[41606] Fix | Delete
for (let kid of k) {
[41607] Fix | Delete
kid = xref.fetchIfRef(kid);
[41608] Fix | Delete
if (Number.isInteger(kid) && updateElement(kid, pageKid, kidRef)) {
[41609] Fix | Delete
break;
[41610] Fix | Delete
}
[41611] Fix | Delete
if (!(kid instanceof Dict)) {
[41612] Fix | Delete
continue;
[41613] Fix | Delete
}
[41614] Fix | Delete
if (!isName(kid.get("Type"), "MCR")) {
[41615] Fix | Delete
break;
[41616] Fix | Delete
}
[41617] Fix | Delete
const mcid = kid.get("MCID");
[41618] Fix | Delete
if (Number.isInteger(mcid) && updateElement(mcid, pageKid, kidRef)) {
[41619] Fix | Delete
break;
[41620] Fix | Delete
}
[41621] Fix | Delete
}
[41622] Fix | Delete
}
[41623] Fix | Delete
}
[41624] Fix | Delete
static async #updateParentTag({
[41625] Fix | Delete
structTreeParent,
[41626] Fix | Delete
tagDict,
[41627] Fix | Delete
newTagRef,
[41628] Fix | Delete
structTreeRootRef,
[41629] Fix | Delete
fallbackKids,
[41630] Fix | Delete
xref,
[41631] Fix | Delete
cache
[41632] Fix | Delete
}) {
[41633] Fix | Delete
let ref = null;
[41634] Fix | Delete
let parentRef;
[41635] Fix | Delete
if (structTreeParent) {
[41636] Fix | Delete
({
[41637] Fix | Delete
ref
[41638] Fix | Delete
} = structTreeParent);
[41639] Fix | Delete
parentRef = structTreeParent.dict.getRaw("P") || structTreeRootRef;
[41640] Fix | Delete
} else {
[41641] Fix | Delete
parentRef = structTreeRootRef;
[41642] Fix | Delete
}
[41643] Fix | Delete
tagDict.set("P", parentRef);
[41644] Fix | Delete
const parentDict = xref.fetchIfRef(parentRef);
[41645] Fix | Delete
if (!parentDict) {
[41646] Fix | Delete
fallbackKids.push(newTagRef);
[41647] Fix | Delete
return;
[41648] Fix | Delete
}
[41649] Fix | Delete
let cachedParentDict = cache.get(parentRef);
[41650] Fix | Delete
if (!cachedParentDict) {
[41651] Fix | Delete
cachedParentDict = parentDict.clone();
[41652] Fix | Delete
cache.put(parentRef, cachedParentDict);
[41653] Fix | Delete
}
[41654] Fix | Delete
const parentKidsRaw = cachedParentDict.getRaw("K");
[41655] Fix | Delete
let cachedParentKids = parentKidsRaw instanceof Ref ? cache.get(parentKidsRaw) : null;
[41656] Fix | Delete
if (!cachedParentKids) {
[41657] Fix | Delete
cachedParentKids = xref.fetchIfRef(parentKidsRaw);
[41658] Fix | Delete
cachedParentKids = Array.isArray(cachedParentKids) ? cachedParentKids.slice() : [parentKidsRaw];
[41659] Fix | Delete
const parentKidsRef = xref.getNewTemporaryRef();
[41660] Fix | Delete
cachedParentDict.set("K", parentKidsRef);
[41661] Fix | Delete
cache.put(parentKidsRef, cachedParentKids);
[41662] Fix | Delete
}
[41663] Fix | Delete
const index = cachedParentKids.indexOf(ref);
[41664] Fix | Delete
cachedParentKids.splice(index >= 0 ? index + 1 : cachedParentKids.length, 0, newTagRef);
[41665] Fix | Delete
}
[41666] Fix | Delete
}
[41667] Fix | Delete
class StructElementNode {
[41668] Fix | Delete
constructor(tree, dict) {
[41669] Fix | Delete
this.tree = tree;
[41670] Fix | Delete
this.dict = dict;
[41671] Fix | Delete
this.kids = [];
[41672] Fix | Delete
this.parseKids();
[41673] Fix | Delete
}
[41674] Fix | Delete
get role() {
[41675] Fix | Delete
const nameObj = this.dict.get("S");
[41676] Fix | Delete
const name = nameObj instanceof Name ? nameObj.name : "";
[41677] Fix | Delete
const {
[41678] Fix | Delete
root
[41679] Fix | Delete
} = this.tree;
[41680] Fix | Delete
if (root.roleMap.has(name)) {
[41681] Fix | Delete
return root.roleMap.get(name);
[41682] Fix | Delete
}
[41683] Fix | Delete
return name;
[41684] Fix | Delete
}
[41685] Fix | Delete
parseKids() {
[41686] Fix | Delete
let pageObjId = null;
[41687] Fix | Delete
const objRef = this.dict.getRaw("Pg");
[41688] Fix | Delete
if (objRef instanceof Ref) {
[41689] Fix | Delete
pageObjId = objRef.toString();
[41690] Fix | Delete
}
[41691] Fix | Delete
const kids = this.dict.get("K");
[41692] Fix | Delete
if (Array.isArray(kids)) {
[41693] Fix | Delete
for (const kid of kids) {
[41694] Fix | Delete
const element = this.parseKid(pageObjId, kid);
[41695] Fix | Delete
if (element) {
[41696] Fix | Delete
this.kids.push(element);
[41697] Fix | Delete
}
[41698] Fix | Delete
}
[41699] Fix | Delete
} else {
[41700] Fix | Delete
const element = this.parseKid(pageObjId, kids);
[41701] Fix | Delete
if (element) {
[41702] Fix | Delete
this.kids.push(element);
[41703] Fix | Delete
}
[41704] Fix | Delete
}
[41705] Fix | Delete
}
[41706] Fix | Delete
parseKid(pageObjId, kid) {
[41707] Fix | Delete
if (Number.isInteger(kid)) {
[41708] Fix | Delete
if (this.tree.pageDict.objId !== pageObjId) {
[41709] Fix | Delete
return null;
[41710] Fix | Delete
}
[41711] Fix | Delete
return new StructElement({
[41712] Fix | Delete
type: StructElementType.PAGE_CONTENT,
[41713] Fix | Delete
mcid: kid,
[41714] Fix | Delete
pageObjId
[41715] Fix | Delete
});
[41716] Fix | Delete
}
[41717] Fix | Delete
let kidDict = null;
[41718] Fix | Delete
if (kid instanceof Ref) {
[41719] Fix | Delete
kidDict = this.dict.xref.fetch(kid);
[41720] Fix | Delete
} else if (kid instanceof Dict) {
[41721] Fix | Delete
kidDict = kid;
[41722] Fix | Delete
}
[41723] Fix | Delete
if (!kidDict) {
[41724] Fix | Delete
return null;
[41725] Fix | Delete
}
[41726] Fix | Delete
const pageRef = kidDict.getRaw("Pg");
[41727] Fix | Delete
if (pageRef instanceof Ref) {
[41728] Fix | Delete
pageObjId = pageRef.toString();
[41729] Fix | Delete
}
[41730] Fix | Delete
const type = kidDict.get("Type") instanceof Name ? kidDict.get("Type").name : null;
[41731] Fix | Delete
if (type === "MCR") {
[41732] Fix | Delete
if (this.tree.pageDict.objId !== pageObjId) {
[41733] Fix | Delete
return null;
[41734] Fix | Delete
}
[41735] Fix | Delete
const kidRef = kidDict.getRaw("Stm");
[41736] Fix | Delete
return new StructElement({
[41737] Fix | Delete
type: StructElementType.STREAM_CONTENT,
[41738] Fix | Delete
refObjId: kidRef instanceof Ref ? kidRef.toString() : null,
[41739] Fix | Delete
pageObjId,
[41740] Fix | Delete
mcid: kidDict.get("MCID")
[41741] Fix | Delete
});
[41742] Fix | Delete
}
[41743] Fix | Delete
if (type === "OBJR") {
[41744] Fix | Delete
if (this.tree.pageDict.objId !== pageObjId) {
[41745] Fix | Delete
return null;
[41746] Fix | Delete
}
[41747] Fix | Delete
const kidRef = kidDict.getRaw("Obj");
[41748] Fix | Delete
return new StructElement({
[41749] Fix | Delete
type: StructElementType.OBJECT,
[41750] Fix | Delete
refObjId: kidRef instanceof Ref ? kidRef.toString() : null,
[41751] Fix | Delete
pageObjId
[41752] Fix | Delete
});
[41753] Fix | Delete
}
[41754] Fix | Delete
return new StructElement({
[41755] Fix | Delete
type: StructElementType.ELEMENT,
[41756] Fix | Delete
dict: kidDict
[41757] Fix | Delete
});
[41758] Fix | Delete
}
[41759] Fix | Delete
}
[41760] Fix | Delete
class StructElement {
[41761] Fix | Delete
constructor({
[41762] Fix | Delete
type,
[41763] Fix | Delete
dict = null,
[41764] Fix | Delete
mcid = null,
[41765] Fix | Delete
pageObjId = null,
[41766] Fix | Delete
refObjId = null
[41767] Fix | Delete
}) {
[41768] Fix | Delete
this.type = type;
[41769] Fix | Delete
this.dict = dict;
[41770] Fix | Delete
this.mcid = mcid;
[41771] Fix | Delete
this.pageObjId = pageObjId;
[41772] Fix | Delete
this.refObjId = refObjId;
[41773] Fix | Delete
this.parentNode = null;
[41774] Fix | Delete
}
[41775] Fix | Delete
}
[41776] Fix | Delete
class StructTreePage {
[41777] Fix | Delete
constructor(structTreeRoot, pageDict) {
[41778] Fix | Delete
this.root = structTreeRoot;
[41779] Fix | Delete
this.rootDict = structTreeRoot ? structTreeRoot.dict : null;
[41780] Fix | Delete
this.pageDict = pageDict;
[41781] Fix | Delete
this.nodes = [];
[41782] Fix | Delete
}
[41783] Fix | Delete
parse(pageRef) {
[41784] Fix | Delete
if (!this.root || !this.rootDict) {
[41785] Fix | Delete
return;
[41786] Fix | Delete
}
[41787] Fix | Delete
const parentTree = this.rootDict.get("ParentTree");
[41788] Fix | Delete
if (!parentTree) {
[41789] Fix | Delete
return;
[41790] Fix | Delete
}
[41791] Fix | Delete
const id = this.pageDict.get("StructParents");
[41792] Fix | Delete
const ids = pageRef instanceof Ref && this.root.structParentIds?.get(pageRef);
[41793] Fix | Delete
if (!Number.isInteger(id) && !ids) {
[41794] Fix | Delete
return;
[41795] Fix | Delete
}
[41796] Fix | Delete
const map = new Map();
[41797] Fix | Delete
const numberTree = new NumberTree(parentTree, this.rootDict.xref);
[41798] Fix | Delete
if (Number.isInteger(id)) {
[41799] Fix | Delete
const parentArray = numberTree.get(id);
[41800] Fix | Delete
if (Array.isArray(parentArray)) {
[41801] Fix | Delete
for (const ref of parentArray) {
[41802] Fix | Delete
if (ref instanceof Ref) {
[41803] Fix | Delete
this.addNode(this.rootDict.xref.fetch(ref), map);
[41804] Fix | Delete
}
[41805] Fix | Delete
}
[41806] Fix | Delete
}
[41807] Fix | Delete
}
[41808] Fix | Delete
if (!ids) {
[41809] Fix | Delete
return;
[41810] Fix | Delete
}
[41811] Fix | Delete
for (const [elemId, type] of ids) {
[41812] Fix | Delete
const obj = numberTree.get(elemId);
[41813] Fix | Delete
if (obj) {
[41814] Fix | Delete
const elem = this.addNode(this.rootDict.xref.fetchIfRef(obj), map);
[41815] Fix | Delete
if (elem?.kids?.length === 1 && elem.kids[0].type === StructElementType.OBJECT) {
[41816] Fix | Delete
elem.kids[0].type = type;
[41817] Fix | Delete
}
[41818] Fix | Delete
}
[41819] Fix | Delete
}
[41820] Fix | Delete
}
[41821] Fix | Delete
addNode(dict, map, level = 0) {
[41822] Fix | Delete
if (level > MAX_DEPTH) {
[41823] Fix | Delete
warn("StructTree MAX_DEPTH reached.");
[41824] Fix | Delete
return null;
[41825] Fix | Delete
}
[41826] Fix | Delete
if (map.has(dict)) {
[41827] Fix | Delete
return map.get(dict);
[41828] Fix | Delete
}
[41829] Fix | Delete
const element = new StructElementNode(this, dict);
[41830] Fix | Delete
map.set(dict, element);
[41831] Fix | Delete
const parent = dict.get("P");
[41832] Fix | Delete
if (!parent || isName(parent.get("Type"), "StructTreeRoot")) {
[41833] Fix | Delete
if (!this.addTopLevelNode(dict, element)) {
[41834] Fix | Delete
map.delete(dict);
[41835] Fix | Delete
}
[41836] Fix | Delete
return element;
[41837] Fix | Delete
}
[41838] Fix | Delete
const parentNode = this.addNode(parent, map, level + 1);
[41839] Fix | Delete
if (!parentNode) {
[41840] Fix | Delete
return element;
[41841] Fix | Delete
}
[41842] Fix | Delete
let save = false;
[41843] Fix | Delete
for (const kid of parentNode.kids) {
[41844] Fix | Delete
if (kid.type === StructElementType.ELEMENT && kid.dict === dict) {
[41845] Fix | Delete
kid.parentNode = element;
[41846] Fix | Delete
save = true;
[41847] Fix | Delete
}
[41848] Fix | Delete
}
[41849] Fix | Delete
if (!save) {
[41850] Fix | Delete
map.delete(dict);
[41851] Fix | Delete
}
[41852] Fix | Delete
return element;
[41853] Fix | Delete
}
[41854] Fix | Delete
addTopLevelNode(dict, element) {
[41855] Fix | Delete
const obj = this.rootDict.get("K");
[41856] Fix | Delete
if (!obj) {
[41857] Fix | Delete
return false;
[41858] Fix | Delete
}
[41859] Fix | Delete
if (obj instanceof Dict) {
[41860] Fix | Delete
if (obj.objId !== dict.objId) {
[41861] Fix | Delete
return false;
[41862] Fix | Delete
}
[41863] Fix | Delete
this.nodes[0] = element;
[41864] Fix | Delete
return true;
[41865] Fix | Delete
}
[41866] Fix | Delete
if (!Array.isArray(obj)) {
[41867] Fix | Delete
return true;
[41868] Fix | Delete
}
[41869] Fix | Delete
let save = false;
[41870] Fix | Delete
for (let i = 0; i < obj.length; i++) {
[41871] Fix | Delete
const kidRef = obj[i];
[41872] Fix | Delete
if (kidRef?.toString() === dict.objId) {
[41873] Fix | Delete
this.nodes[i] = element;
[41874] Fix | Delete
save = true;
[41875] Fix | Delete
}
[41876] Fix | Delete
}
[41877] Fix | Delete
return save;
[41878] Fix | Delete
}
[41879] Fix | Delete
get serializable() {
[41880] Fix | Delete
function nodeToSerializable(node, parent, level = 0) {
[41881] Fix | Delete
if (level > MAX_DEPTH) {
[41882] Fix | Delete
warn("StructTree too deep to be fully serialized.");
[41883] Fix | Delete
return;
[41884] Fix | Delete
}
[41885] Fix | Delete
const obj = Object.create(null);
[41886] Fix | Delete
obj.role = node.role;
[41887] Fix | Delete
obj.children = [];
[41888] Fix | Delete
parent.children.push(obj);
[41889] Fix | Delete
const alt = node.dict.get("Alt");
[41890] Fix | Delete
if (typeof alt === "string") {
[41891] Fix | Delete
obj.alt = stringToPDFString(alt);
[41892] Fix | Delete
}
[41893] Fix | Delete
const lang = node.dict.get("Lang");
[41894] Fix | Delete
if (typeof lang === "string") {
[41895] Fix | Delete
obj.lang = stringToPDFString(lang);
[41896] Fix | Delete
}
[41897] Fix | Delete
for (const kid of node.kids) {
[41898] Fix | Delete
const kidElement = kid.type === StructElementType.ELEMENT ? kid.parentNode : null;
[41899] Fix | Delete
if (kidElement) {
[41900] Fix | Delete
nodeToSerializable(kidElement, obj, level + 1);
[41901] Fix | Delete
continue;
[41902] Fix | Delete
} else if (kid.type === StructElementType.PAGE_CONTENT || kid.type === StructElementType.STREAM_CONTENT) {
[41903] Fix | Delete
obj.children.push({
[41904] Fix | Delete
type: "content",
[41905] Fix | Delete
id: `p${kid.pageObjId}_mc${kid.mcid}`
[41906] Fix | Delete
});
[41907] Fix | Delete
} else if (kid.type === StructElementType.OBJECT) {
[41908] Fix | Delete
obj.children.push({
[41909] Fix | Delete
type: "object",
[41910] Fix | Delete
id: kid.refObjId
[41911] Fix | Delete
});
[41912] Fix | Delete
} else if (kid.type === StructElementType.ANNOTATION) {
[41913] Fix | Delete
obj.children.push({
[41914] Fix | Delete
type: "annotation",
[41915] Fix | Delete
id: `${AnnotationPrefix}${kid.refObjId}`
[41916] Fix | Delete
});
[41917] Fix | Delete
}
[41918] Fix | Delete
}
[41919] Fix | Delete
}
[41920] Fix | Delete
const root = Object.create(null);
[41921] Fix | Delete
root.children = [];
[41922] Fix | Delete
root.role = "Root";
[41923] Fix | Delete
for (const child of this.nodes) {
[41924] Fix | Delete
if (!child) {
[41925] Fix | Delete
continue;
[41926] Fix | Delete
}
[41927] Fix | Delete
nodeToSerializable(child, root);
[41928] Fix | Delete
}
[41929] Fix | Delete
return root;
[41930] Fix | Delete
}
[41931] Fix | Delete
}
[41932] Fix | Delete
[41933] Fix | Delete
;// CONCATENATED MODULE: ./src/core/catalog.js
[41934] Fix | Delete
[41935] Fix | Delete
[41936] Fix | Delete
[41937] Fix | Delete
[41938] Fix | Delete
[41939] Fix | Delete
[41940] Fix | Delete
[41941] Fix | Delete
[41942] Fix | Delete
[41943] Fix | Delete
[41944] Fix | Delete
[41945] Fix | Delete
[41946] Fix | Delete
[41947] Fix | Delete
[41948] Fix | Delete
[41949] Fix | Delete
[41950] Fix | Delete
[41951] Fix | Delete
[41952] Fix | Delete
[41953] Fix | Delete
[41954] Fix | Delete
[41955] Fix | Delete
[41956] Fix | Delete
function isValidExplicitDest(dest) {
[41957] Fix | Delete
if (!Array.isArray(dest) || dest.length < 2) {
[41958] Fix | Delete
return false;
[41959] Fix | Delete
}
[41960] Fix | Delete
const [page, zoom, ...args] = dest;
[41961] Fix | Delete
if (!(page instanceof Ref) && !Number.isInteger(page)) {
[41962] Fix | Delete
return false;
[41963] Fix | Delete
}
[41964] Fix | Delete
if (!(zoom instanceof Name)) {
[41965] Fix | Delete
return false;
[41966] Fix | Delete
}
[41967] Fix | Delete
let allowNull = true;
[41968] Fix | Delete
switch (zoom.name) {
[41969] Fix | Delete
case "XYZ":
[41970] Fix | Delete
if (args.length !== 3) {
[41971] Fix | Delete
return false;
[41972] Fix | Delete
}
[41973] Fix | Delete
break;
[41974] Fix | Delete
case "Fit":
[41975] Fix | Delete
case "FitB":
[41976] Fix | Delete
return args.length === 0;
[41977] Fix | Delete
case "FitH":
[41978] Fix | Delete
case "FitBH":
[41979] Fix | Delete
case "FitV":
[41980] Fix | Delete
case "FitBV":
[41981] Fix | Delete
if (args.length !== 1) {
[41982] Fix | Delete
return false;
[41983] Fix | Delete
}
[41984] Fix | Delete
break;
[41985] Fix | Delete
case "FitR":
[41986] Fix | Delete
if (args.length !== 4) {
[41987] Fix | Delete
return false;
[41988] Fix | Delete
}
[41989] Fix | Delete
allowNull = false;
[41990] Fix | Delete
break;
[41991] Fix | Delete
default:
[41992] Fix | Delete
return false;
[41993] Fix | Delete
}
[41994] Fix | Delete
for (const arg of args) {
[41995] Fix | Delete
if (!(typeof arg === "number" || allowNull && arg === null)) {
[41996] Fix | Delete
return false;
[41997] Fix | Delete
}
[41998] Fix | Delete
}
[41999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function