UNPKG

@cantoo/pdf-lib

Version:

Create and modify PDF files with JavaScript

39 lines 1.21 kB
import { PrivateConstructorError } from '../errors.js'; import PDFObject from '../objects/PDFObject.js'; import { copyStringIntoBuffer } from '../../utils/index.js'; const ENFORCER = {}; const pool = new Map(); class PDFRef extends PDFObject { constructor(enforcer, objectNumber, generationNumber) { if (enforcer !== ENFORCER) throw new PrivateConstructorError('PDFRef'); super(); this.objectNumber = objectNumber; this.generationNumber = generationNumber; this.tag = `${objectNumber} ${generationNumber} R`; } clone() { return this; } toString() { return this.tag; } sizeInBytes() { return this.tag.length; } copyBytesInto(buffer, offset) { copyStringIntoBuffer(this.tag, buffer, offset); return this.tag.length; } } PDFRef.of = (objectNumber, generationNumber = 0) => { const tag = `${objectNumber} ${generationNumber} R`; let instance = pool.get(tag); if (!instance) { instance = new PDFRef(ENFORCER, objectNumber, generationNumber); pool.set(tag, instance); } return instance; }; export default PDFRef; //# sourceMappingURL=PDFRef.js.map