Merge pull request #14575 from Snuffleupagus/rm-isStream
Remove the `isStream` helper function
This commit is contained in:
		
						commit
						df0aa1a9c4
					
				| @ -39,15 +39,8 @@ import { | |||||||
|   createDefaultAppearance, |   createDefaultAppearance, | ||||||
|   parseDefaultAppearance, |   parseDefaultAppearance, | ||||||
| } from "./default_appearance.js"; | } from "./default_appearance.js"; | ||||||
| import { | import { Dict, isDict, isName, isRef, Name, RefSet } from "./primitives.js"; | ||||||
|   Dict, | import { BaseStream } from "./base_stream.js"; | ||||||
|   isDict, |  | ||||||
|   isName, |  | ||||||
|   isRef, |  | ||||||
|   isStream, |  | ||||||
|   Name, |  | ||||||
|   RefSet, |  | ||||||
| } from "./primitives.js"; |  | ||||||
| import { bidi } from "./bidi.js"; | import { bidi } from "./bidi.js"; | ||||||
| import { Catalog } from "./catalog.js"; | import { Catalog } from "./catalog.js"; | ||||||
| import { ColorSpace } from "./colorspace.js"; | import { ColorSpace } from "./colorspace.js"; | ||||||
| @ -693,7 +686,7 @@ class Annotation { | |||||||
| 
 | 
 | ||||||
|     // In case the normal appearance is a stream, then it is used directly.
 |     // In case the normal appearance is a stream, then it is used directly.
 | ||||||
|     const normalAppearanceState = appearanceStates.get("N"); |     const normalAppearanceState = appearanceStates.get("N"); | ||||||
|     if (isStream(normalAppearanceState)) { |     if (normalAppearanceState instanceof BaseStream) { | ||||||
|       this.appearance = normalAppearanceState; |       this.appearance = normalAppearanceState; | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -41,7 +41,6 @@ import { | |||||||
|   isName, |   isName, | ||||||
|   isRef, |   isRef, | ||||||
|   isRefsEqual, |   isRefsEqual, | ||||||
|   isStream, |  | ||||||
|   Name, |   Name, | ||||||
|   Ref, |   Ref, | ||||||
|   RefSet, |   RefSet, | ||||||
| @ -993,7 +992,7 @@ class Catalog { | |||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       let js = jsDict.get("JS"); |       let js = jsDict.get("JS"); | ||||||
|       if (isStream(js)) { |       if (js instanceof BaseStream) { | ||||||
|         js = js.getString(); |         js = js.getString(); | ||||||
|       } else if (typeof js !== "string") { |       } else if (typeof js !== "string") { | ||||||
|         return; |         return; | ||||||
| @ -1551,7 +1550,7 @@ class Catalog { | |||||||
|           const jsAction = action.get("JS"); |           const jsAction = action.get("JS"); | ||||||
|           let js; |           let js; | ||||||
| 
 | 
 | ||||||
|           if (isStream(jsAction)) { |           if (jsAction instanceof BaseStream) { | ||||||
|             js = jsAction.getString(); |             js = jsAction.getString(); | ||||||
|           } else if (isString(jsAction)) { |           } else if (isString(jsAction)) { | ||||||
|             js = jsAction; |             js = jsAction; | ||||||
|  | |||||||
| @ -20,7 +20,8 @@ import { | |||||||
|   unreachable, |   unreachable, | ||||||
|   warn, |   warn, | ||||||
| } from "../shared/util.js"; | } from "../shared/util.js"; | ||||||
| import { EOF, isCmd, isName, isStream } from "./primitives.js"; | import { EOF, isCmd, isName } from "./primitives.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
| import { Lexer } from "./parser.js"; | import { Lexer } from "./parser.js"; | ||||||
| import { MissingDataException } from "./core_utils.js"; | import { MissingDataException } from "./core_utils.js"; | ||||||
| import { Stream } from "./stream.js"; | import { Stream } from "./stream.js"; | ||||||
| @ -1025,7 +1026,7 @@ const CMapFactory = (function CMapFactoryClosure() { | |||||||
| 
 | 
 | ||||||
|       if (isName(encoding)) { |       if (isName(encoding)) { | ||||||
|         return createBuiltInCMap(encoding.name, fetchBuiltInCMap); |         return createBuiltInCMap(encoding.name, fetchBuiltInCMap); | ||||||
|       } else if (isStream(encoding)) { |       } else if (encoding instanceof BaseStream) { | ||||||
|         const parsedCMap = await parseCMap( |         const parsedCMap = await parseCMap( | ||||||
|           /* cMap = */ new CMap(), |           /* cMap = */ new CMap(), | ||||||
|           /* lexer = */ new Lexer(encoding), |           /* lexer = */ new Lexer(encoding), | ||||||
|  | |||||||
| @ -21,7 +21,8 @@ import { | |||||||
|   unreachable, |   unreachable, | ||||||
|   warn, |   warn, | ||||||
| } from "../shared/util.js"; | } from "../shared/util.js"; | ||||||
| import { isDict, isName, isStream, Name, Ref } from "./primitives.js"; | import { isDict, isName, Name, Ref } from "./primitives.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
| import { MissingDataException } from "./core_utils.js"; | import { MissingDataException } from "./core_utils.js"; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -642,7 +643,7 @@ class IndexedCS extends ColorSpace { | |||||||
|     const length = base.numComps * highVal; |     const length = base.numComps * highVal; | ||||||
|     this.lookup = new Uint8Array(length); |     this.lookup = new Uint8Array(length); | ||||||
| 
 | 
 | ||||||
|     if (isStream(lookup)) { |     if (lookup instanceof BaseStream) { | ||||||
|       const bytes = lookup.getBytes(length); |       const bytes = lookup.getBytes(length); | ||||||
|       this.lookup.set(bytes); |       this.lookup.set(bytes); | ||||||
|     } else if (typeof lookup === "string") { |     } else if (typeof lookup === "string") { | ||||||
|  | |||||||
| @ -44,15 +44,7 @@ import { | |||||||
|   XRefEntryException, |   XRefEntryException, | ||||||
|   XRefParseException, |   XRefParseException, | ||||||
| } from "./core_utils.js"; | } from "./core_utils.js"; | ||||||
| import { | import { Dict, isDict, isName, isRef, Name, Ref } from "./primitives.js"; | ||||||
|   Dict, |  | ||||||
|   isDict, |  | ||||||
|   isName, |  | ||||||
|   isRef, |  | ||||||
|   isStream, |  | ||||||
|   Name, |  | ||||||
|   Ref, |  | ||||||
| } from "./primitives.js"; |  | ||||||
| import { getXfaFontDict, getXfaFontName } from "./xfa_fonts.js"; | import { getXfaFontDict, getXfaFontName } from "./xfa_fonts.js"; | ||||||
| import { NullStream, Stream } from "./stream.js"; | import { NullStream, Stream } from "./stream.js"; | ||||||
| import { AnnotationFactory } from "./annotation.js"; | import { AnnotationFactory } from "./annotation.js"; | ||||||
| @ -638,7 +630,7 @@ function find(stream, signature, limit = 1024, backwards = false) { | |||||||
| class PDFDocument { | class PDFDocument { | ||||||
|   constructor(pdfManager, arg) { |   constructor(pdfManager, arg) { | ||||||
|     let stream; |     let stream; | ||||||
|     if (isStream(arg)) { |     if (arg instanceof BaseStream) { | ||||||
|       stream = arg; |       stream = arg; | ||||||
|     } else if (isArrayBuffer(arg)) { |     } else if (isArrayBuffer(arg)) { | ||||||
|       stream = new Stream(arg); |       stream = new Stream(arg); | ||||||
| @ -848,7 +840,7 @@ class PDFDocument { | |||||||
|       stylesheet: "", |       stylesheet: "", | ||||||
|       "/xdp:xdp": "", |       "/xdp:xdp": "", | ||||||
|     }; |     }; | ||||||
|     if (isStream(xfa) && !xfa.isEmpty) { |     if (xfa instanceof BaseStream && !xfa.isEmpty) { | ||||||
|       try { |       try { | ||||||
|         entries["xdp:xdp"] = stringToUTF8String(xfa.getString()); |         entries["xdp:xdp"] = stringToUTF8String(xfa.getString()); | ||||||
|         return entries; |         return entries; | ||||||
| @ -876,7 +868,7 @@ class PDFDocument { | |||||||
|         continue; |         continue; | ||||||
|       } |       } | ||||||
|       const data = this.xref.fetchIfRef(xfa[i + 1]); |       const data = this.xref.fetchIfRef(xfa[i + 1]); | ||||||
|       if (!isStream(data) || data.isEmpty) { |       if (!(data instanceof BaseStream) || data.isEmpty) { | ||||||
|         continue; |         continue; | ||||||
|       } |       } | ||||||
|       try { |       try { | ||||||
| @ -923,10 +915,9 @@ class PDFDocument { | |||||||
|     const xfaImages = new Map(); |     const xfaImages = new Map(); | ||||||
|     for (const key of keys) { |     for (const key of keys) { | ||||||
|       const stream = xfaImagesDict.get(key); |       const stream = xfaImagesDict.get(key); | ||||||
|       if (!isStream(stream)) { |       if (stream instanceof BaseStream) { | ||||||
|         continue; |         xfaImages.set(key, stream.getBytes()); | ||||||
|       } |       } | ||||||
|       xfaImages.set(key, stream.getBytes()); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     this.xfaFactory.setImages(xfaImages); |     this.xfaFactory.setImages(xfaImages); | ||||||
| @ -1115,7 +1106,7 @@ class PDFDocument { | |||||||
|       const xfa = acroForm.get("XFA"); |       const xfa = acroForm.get("XFA"); | ||||||
|       formInfo.hasXfa = |       formInfo.hasXfa = | ||||||
|         (Array.isArray(xfa) && xfa.length > 0) || |         (Array.isArray(xfa) && xfa.length > 0) || | ||||||
|         (isStream(xfa) && !xfa.isEmpty); |         (xfa instanceof BaseStream && !xfa.isEmpty); | ||||||
| 
 | 
 | ||||||
|       // The document contains AcroForm data if the `Fields` entry is a
 |       // The document contains AcroForm data if the `Fields` entry is a
 | ||||||
|       // non-empty array and it doesn't consist of only document signatures.
 |       // non-empty array and it doesn't consist of only document signatures.
 | ||||||
|  | |||||||
| @ -42,7 +42,6 @@ import { | |||||||
|   isDict, |   isDict, | ||||||
|   isName, |   isName, | ||||||
|   isRef, |   isRef, | ||||||
|   isStream, |  | ||||||
|   Name, |   Name, | ||||||
|   Ref, |   Ref, | ||||||
|   RefSet, |   RefSet, | ||||||
| @ -340,7 +339,7 @@ class PartialEvaluator { | |||||||
|             continue; |             continue; | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         if (!isStream(xObject)) { |         if (!(xObject instanceof BaseStream)) { | ||||||
|           continue; |           continue; | ||||||
|         } |         } | ||||||
|         if (xObject.dict.objId) { |         if (xObject.dict.objId) { | ||||||
| @ -1420,7 +1419,7 @@ class PartialEvaluator { | |||||||
| 
 | 
 | ||||||
|       const pattern = this.xref.fetchIfRef(rawPattern); |       const pattern = this.xref.fetchIfRef(rawPattern); | ||||||
|       if (pattern) { |       if (pattern) { | ||||||
|         const dict = isStream(pattern) ? pattern.dict : pattern; |         const dict = pattern instanceof BaseStream ? pattern.dict : pattern; | ||||||
|         const typeNum = dict.get("PatternType"); |         const typeNum = dict.get("PatternType"); | ||||||
| 
 | 
 | ||||||
|         if (typeNum === PatternType.TILING) { |         if (typeNum === PatternType.TILING) { | ||||||
| @ -1664,7 +1663,7 @@ class PartialEvaluator { | |||||||
|                   xobj = xref.fetch(xobj); |                   xobj = xref.fetch(xobj); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 if (!isStream(xobj)) { |                 if (!(xobj instanceof BaseStream)) { | ||||||
|                   throw new FormatError("XObject should be a stream"); |                   throw new FormatError("XObject should be a stream"); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
| @ -2986,7 +2985,7 @@ class PartialEvaluator { | |||||||
|                   xobj = xref.fetch(xobj); |                   xobj = xref.fetch(xobj); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 if (!isStream(xobj)) { |                 if (!(xobj instanceof BaseStream)) { | ||||||
|                   throw new FormatError("XObject should be a stream"); |                   throw new FormatError("XObject should be a stream"); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
| @ -3509,7 +3508,7 @@ class PartialEvaluator { | |||||||
|         } |         } | ||||||
|         return new ToUnicodeMap(cmap.getMap()); |         return new ToUnicodeMap(cmap.getMap()); | ||||||
|       }); |       }); | ||||||
|     } else if (isStream(cmapObj)) { |     } else if (cmapObj instanceof BaseStream) { | ||||||
|       return CMapFactory.create({ |       return CMapFactory.create({ | ||||||
|         encoding: cmapObj, |         encoding: cmapObj, | ||||||
|         fetchBuiltInCMap: this._fetchBuiltInCMapBound, |         fetchBuiltInCMap: this._fetchBuiltInCMapBound, | ||||||
| @ -3813,7 +3812,7 @@ class PartialEvaluator { | |||||||
|       hash.update(`${firstChar}-${lastChar}`); // Fixes issue10665_reduced.pdf
 |       hash.update(`${firstChar}-${lastChar}`); // Fixes issue10665_reduced.pdf
 | ||||||
| 
 | 
 | ||||||
|       toUnicode = dict.get("ToUnicode") || baseDict.get("ToUnicode"); |       toUnicode = dict.get("ToUnicode") || baseDict.get("ToUnicode"); | ||||||
|       if (isStream(toUnicode)) { |       if (toUnicode instanceof BaseStream) { | ||||||
|         const stream = toUnicode.str || toUnicode; |         const stream = toUnicode.str || toUnicode; | ||||||
|         const uint8array = stream.buffer |         const uint8array = stream.buffer | ||||||
|           ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) |           ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) | ||||||
|  | |||||||
| @ -13,8 +13,9 @@ | |||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import { isDict, isStream } from "./primitives.js"; |  | ||||||
| import { stringToPDFString, warn } from "../shared/util.js"; | import { stringToPDFString, warn } from "../shared/util.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
|  | import { isDict } from "./primitives.js"; | ||||||
| 
 | 
 | ||||||
| function pickPlatformItem(dict) { | function pickPlatformItem(dict) { | ||||||
|   // Look for the filename in this order:
 |   // Look for the filename in this order:
 | ||||||
| @ -84,7 +85,7 @@ class FileSpec { | |||||||
|     let content = null; |     let content = null; | ||||||
|     if (this.contentRef) { |     if (this.contentRef) { | ||||||
|       const fileObj = this.xref.fetchIfRef(this.contentRef); |       const fileObj = this.xref.fetchIfRef(this.contentRef); | ||||||
|       if (fileObj && isStream(fileObj)) { |       if (fileObj instanceof BaseStream) { | ||||||
|         content = fileObj.getBytes(); |         content = fileObj.getBytes(); | ||||||
|       } else { |       } else { | ||||||
|         warn( |         warn( | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ | |||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import { Dict, isDict, isStream, Ref } from "./primitives.js"; | import { Dict, isDict, Ref } from "./primitives.js"; | ||||||
| import { | import { | ||||||
|   FormatError, |   FormatError, | ||||||
|   info, |   info, | ||||||
| @ -23,6 +23,7 @@ import { | |||||||
|   unreachable, |   unreachable, | ||||||
| } from "../shared/util.js"; | } from "../shared/util.js"; | ||||||
| import { PostScriptLexer, PostScriptParser } from "./ps_parser.js"; | import { PostScriptLexer, PostScriptParser } from "./ps_parser.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
| import { LocalFunctionCache } from "./image_utils.js"; | import { LocalFunctionCache } from "./image_utils.js"; | ||||||
| 
 | 
 | ||||||
| class PDFFunctionFactory { | class PDFFunctionFactory { | ||||||
| @ -71,7 +72,7 @@ class PDFFunctionFactory { | |||||||
|       fnRef = cacheKey; |       fnRef = cacheKey; | ||||||
|     } else if (cacheKey instanceof Dict) { |     } else if (cacheKey instanceof Dict) { | ||||||
|       fnRef = cacheKey.objId; |       fnRef = cacheKey.objId; | ||||||
|     } else if (isStream(cacheKey)) { |     } else if (cacheKey instanceof BaseStream) { | ||||||
|       fnRef = cacheKey.dict && cacheKey.dict.objId; |       fnRef = cacheKey.dict && cacheKey.dict.objId; | ||||||
|     } |     } | ||||||
|     if (fnRef) { |     if (fnRef) { | ||||||
| @ -97,7 +98,7 @@ class PDFFunctionFactory { | |||||||
|       fnRef = cacheKey; |       fnRef = cacheKey; | ||||||
|     } else if (cacheKey instanceof Dict) { |     } else if (cacheKey instanceof Dict) { | ||||||
|       fnRef = cacheKey.objId; |       fnRef = cacheKey.objId; | ||||||
|     } else if (isStream(cacheKey)) { |     } else if (cacheKey instanceof BaseStream) { | ||||||
|       fnRef = cacheKey.dict && cacheKey.dict.objId; |       fnRef = cacheKey.dict && cacheKey.dict.objId; | ||||||
|     } |     } | ||||||
|     if (fnRef) { |     if (fnRef) { | ||||||
| @ -509,7 +510,7 @@ function isPDFFunction(v) { | |||||||
|     return false; |     return false; | ||||||
|   } else if (isDict(v)) { |   } else if (isDict(v)) { | ||||||
|     fnDict = v; |     fnDict = v; | ||||||
|   } else if (isStream(v)) { |   } else if (v instanceof BaseStream) { | ||||||
|     fnDict = v.dict; |     fnDict = v.dict; | ||||||
|   } else { |   } else { | ||||||
|     return false; |     return false; | ||||||
|  | |||||||
| @ -14,7 +14,8 @@ | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import { assert, FormatError, ImageKind, info, warn } from "../shared/util.js"; | import { assert, FormatError, ImageKind, info, warn } from "../shared/util.js"; | ||||||
| import { isName, isStream, Name } from "./primitives.js"; | import { isName, Name } from "./primitives.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
| import { ColorSpace } from "./colorspace.js"; | import { ColorSpace } from "./colorspace.js"; | ||||||
| import { DecodeStream } from "./decode_stream.js"; | import { DecodeStream } from "./decode_stream.js"; | ||||||
| import { JpegStream } from "./jpeg_stream.js"; | import { JpegStream } from "./jpeg_stream.js"; | ||||||
| @ -223,7 +224,7 @@ class PDFImage { | |||||||
|         localColorSpaceCache, |         localColorSpaceCache, | ||||||
|       }); |       }); | ||||||
|     } else if (mask) { |     } else if (mask) { | ||||||
|       if (isStream(mask)) { |       if (mask instanceof BaseStream) { | ||||||
|         const maskDict = mask.dict, |         const maskDict = mask.dict, | ||||||
|           imageMask = maskDict.get("IM", "ImageMask"); |           imageMask = maskDict.get("IM", "ImageMask"); | ||||||
|         if (!imageMask) { |         if (!imageMask) { | ||||||
| @ -268,7 +269,7 @@ class PDFImage { | |||||||
|     if (smask) { |     if (smask) { | ||||||
|       smaskData = smask; |       smaskData = smask; | ||||||
|     } else if (mask) { |     } else if (mask) { | ||||||
|       if (isStream(mask) || Array.isArray(mask)) { |       if (mask instanceof BaseStream || Array.isArray(mask)) { | ||||||
|         maskData = mask; |         maskData = mask; | ||||||
|       } else { |       } else { | ||||||
|         warn("Unsupported mask format."); |         warn("Unsupported mask format."); | ||||||
|  | |||||||
| @ -13,8 +13,9 @@ | |||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import { isDict, isStream } from "./primitives.js"; | import { BaseStream } from "./base_stream.js"; | ||||||
| import { DecodeStream } from "./decode_stream.js"; | import { DecodeStream } from "./decode_stream.js"; | ||||||
|  | import { isDict } from "./primitives.js"; | ||||||
| import { Jbig2Image } from "./jbig2.js"; | import { Jbig2Image } from "./jbig2.js"; | ||||||
| import { shadow } from "../shared/util.js"; | import { shadow } from "../shared/util.js"; | ||||||
| 
 | 
 | ||||||
| @ -51,7 +52,7 @@ class Jbig2Stream extends DecodeStream { | |||||||
|     const chunks = []; |     const chunks = []; | ||||||
|     if (isDict(this.params)) { |     if (isDict(this.params)) { | ||||||
|       const globalsStream = this.params.get("JBIG2Globals"); |       const globalsStream = this.params.get("JBIG2Globals"); | ||||||
|       if (isStream(globalsStream)) { |       if (globalsStream instanceof BaseStream) { | ||||||
|         const globals = globalsStream.getBytes(); |         const globals = globalsStream.getBytes(); | ||||||
|         chunks.push({ data: globals, start: 0, end: globals.length }); |         chunks.push({ data: globals, start: 0, end: globals.length }); | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -13,7 +13,8 @@ | |||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import { Dict, isStream, Ref, RefSet } from "./primitives.js"; | import { Dict, Ref, RefSet } from "./primitives.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
| import { MissingDataException } from "./core_utils.js"; | import { MissingDataException } from "./core_utils.js"; | ||||||
| import { warn } from "../shared/util.js"; | import { warn } from "../shared/util.js"; | ||||||
| 
 | 
 | ||||||
| @ -21,15 +22,15 @@ function mayHaveChildren(value) { | |||||||
|   return ( |   return ( | ||||||
|     value instanceof Ref || |     value instanceof Ref || | ||||||
|     value instanceof Dict || |     value instanceof Dict || | ||||||
|     Array.isArray(value) || |     value instanceof BaseStream || | ||||||
|     isStream(value) |     Array.isArray(value) | ||||||
|   ); |   ); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function addChildren(node, nodesToVisit) { | function addChildren(node, nodesToVisit) { | ||||||
|   if (node instanceof Dict) { |   if (node instanceof Dict) { | ||||||
|     node = node.getRawValues(); |     node = node.getRawValues(); | ||||||
|   } else if (isStream(node)) { |   } else if (node instanceof BaseStream) { | ||||||
|     node = node.dict.getRawValues(); |     node = node.dict.getRawValues(); | ||||||
|   } else if (!Array.isArray(node)) { |   } else if (!Array.isArray(node)) { | ||||||
|     return; |     return; | ||||||
| @ -108,7 +109,7 @@ class ObjectLoader { | |||||||
|           pendingRequests.push({ begin: ex.begin, end: ex.end }); |           pendingRequests.push({ begin: ex.begin, end: ex.end }); | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|       if (isStream(currentNode)) { |       if (currentNode instanceof BaseStream) { | ||||||
|         const baseStreams = currentNode.getBaseStreams(); |         const baseStreams = currentNode.getBaseStreams(); | ||||||
|         if (baseStreams) { |         if (baseStreams) { | ||||||
|           let foundMissingData = false; |           let foundMissingData = false; | ||||||
|  | |||||||
| @ -23,8 +23,8 @@ import { | |||||||
|   Util, |   Util, | ||||||
|   warn, |   warn, | ||||||
| } from "../shared/util.js"; | } from "../shared/util.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
| import { ColorSpace } from "./colorspace.js"; | import { ColorSpace } from "./colorspace.js"; | ||||||
| import { isStream } from "./primitives.js"; |  | ||||||
| import { MissingDataException } from "./core_utils.js"; | import { MissingDataException } from "./core_utils.js"; | ||||||
| 
 | 
 | ||||||
| const ShadingType = { | const ShadingType = { | ||||||
| @ -50,7 +50,7 @@ class Pattern { | |||||||
|     pdfFunctionFactory, |     pdfFunctionFactory, | ||||||
|     localColorSpaceCache |     localColorSpaceCache | ||||||
|   ) { |   ) { | ||||||
|     const dict = isStream(shading) ? shading.dict : shading; |     const dict = shading instanceof BaseStream ? shading.dict : shading; | ||||||
|     const type = dict.get("ShadingType"); |     const type = dict.get("ShadingType"); | ||||||
| 
 | 
 | ||||||
|     try { |     try { | ||||||
| @ -403,7 +403,7 @@ class MeshShading extends BaseShading { | |||||||
|     localColorSpaceCache |     localColorSpaceCache | ||||||
|   ) { |   ) { | ||||||
|     super(); |     super(); | ||||||
|     if (!isStream(stream)) { |     if (!(stream instanceof BaseStream)) { | ||||||
|       throw new FormatError("Mesh data is not a stream"); |       throw new FormatError("Mesh data is not a stream"); | ||||||
|     } |     } | ||||||
|     const dict = stream.dict; |     const dict = stream.dict; | ||||||
|  | |||||||
| @ -14,7 +14,6 @@ | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import { assert, shadow, unreachable } from "../shared/util.js"; | import { assert, shadow, unreachable } from "../shared/util.js"; | ||||||
| import { BaseStream } from "./base_stream.js"; |  | ||||||
| 
 | 
 | ||||||
| const CIRCULAR_REF = Symbol("CIRCULAR_REF"); | const CIRCULAR_REF = Symbol("CIRCULAR_REF"); | ||||||
| const EOF = Symbol("EOF"); | const EOF = Symbol("EOF"); | ||||||
| @ -412,10 +411,6 @@ function isRefsEqual(v1, v2) { | |||||||
|   return v1.num === v2.num && v1.gen === v2.gen; |   return v1.num === v2.num && v1.gen === v2.gen; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function isStream(v) { |  | ||||||
|   return v instanceof BaseStream; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function clearPrimitiveCaches() { | function clearPrimitiveCaches() { | ||||||
|   Cmd._clearCache(); |   Cmd._clearCache(); | ||||||
|   Name._clearCache(); |   Name._clearCache(); | ||||||
| @ -433,7 +428,6 @@ export { | |||||||
|   isName, |   isName, | ||||||
|   isRef, |   isRef, | ||||||
|   isRefsEqual, |   isRefsEqual, | ||||||
|   isStream, |  | ||||||
|   Name, |   Name, | ||||||
|   Ref, |   Ref, | ||||||
|   RefSet, |   RefSet, | ||||||
|  | |||||||
| @ -14,9 +14,10 @@ | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| import { bytesToString, escapeString, warn } from "../shared/util.js"; | import { bytesToString, escapeString, warn } from "../shared/util.js"; | ||||||
| import { Dict, isDict, isName, isRef, isStream, Name } from "./primitives.js"; | import { Dict, isDict, isName, isRef, Name } from "./primitives.js"; | ||||||
| import { escapePDFName, parseXFAPath } from "./core_utils.js"; | import { escapePDFName, parseXFAPath } from "./core_utils.js"; | ||||||
| import { SimpleDOMNode, SimpleXMLParser } from "./xml_parser.js"; | import { SimpleDOMNode, SimpleXMLParser } from "./xml_parser.js"; | ||||||
|  | import { BaseStream } from "./base_stream.js"; | ||||||
| import { calculateMD5 } from "./crypto.js"; | import { calculateMD5 } from "./crypto.js"; | ||||||
| 
 | 
 | ||||||
| function writeDict(dict, buffer, transform) { | function writeDict(dict, buffer, transform) { | ||||||
| @ -87,7 +88,7 @@ function writeValue(value, buffer, transform) { | |||||||
|     buffer.push(value.toString()); |     buffer.push(value.toString()); | ||||||
|   } else if (isDict(value)) { |   } else if (isDict(value)) { | ||||||
|     writeDict(value, buffer, transform); |     writeDict(value, buffer, transform); | ||||||
|   } else if (isStream(value)) { |   } else if (value instanceof BaseStream) { | ||||||
|     writeStream(value, buffer, transform); |     writeStream(value, buffer, transform); | ||||||
|   } else if (value === null) { |   } else if (value === null) { | ||||||
|     buffer.push("null"); |     buffer.push("null"); | ||||||
|  | |||||||
| @ -21,7 +21,6 @@ import { | |||||||
|   isName, |   isName, | ||||||
|   isRef, |   isRef, | ||||||
|   isRefsEqual, |   isRefsEqual, | ||||||
|   isStream, |  | ||||||
|   Name, |   Name, | ||||||
|   Ref, |   Ref, | ||||||
|   RefSet, |   RefSet, | ||||||
| @ -560,16 +559,4 @@ describe("primitives", function () { | |||||||
|       expect(isRefsEqual(ref1, ref2)).toEqual(false); |       expect(isRefsEqual(ref1, ref2)).toEqual(false); | ||||||
|     }); |     }); | ||||||
|   }); |   }); | ||||||
| 
 |  | ||||||
|   describe("isStream", function () { |  | ||||||
|     it("handles non-streams", function () { |  | ||||||
|       const nonStream = {}; |  | ||||||
|       expect(isStream(nonStream)).toEqual(false); |  | ||||||
|     }); |  | ||||||
| 
 |  | ||||||
|     it("handles streams", function () { |  | ||||||
|       const stream = new StringStream("foo"); |  | ||||||
|       expect(isStream(stream)).toEqual(true); |  | ||||||
|     }); |  | ||||||
|   }); |  | ||||||
| }); | }); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user