UNPKG

@cantoo/pdf-lib

Version:

Create and modify PDF files with JavaScript

42 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const errors_1 = require("../errors"); const PDFObject_1 = tslib_1.__importDefault(require("../objects/PDFObject")); const utils_1 = require("../../utils"); const ENFORCER = {}; const pool = new Map(); class PDFRef extends PDFObject_1.default { constructor(enforcer, objectNumber, generationNumber) { if (enforcer !== ENFORCER) throw new errors_1.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) { (0, utils_1.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; }; exports.default = PDFRef; //# sourceMappingURL=PDFRef.js.map