@pdfme/pdf-lib
Version:
Create and modify PDF files with JavaScript
67 lines • 2.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const errors_1 = require("../errors");
const PDFObject_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();
Object.defineProperty(this, "objectNumber", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "generationNumber", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "tag", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
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) {
offset += (0, utils_1.copyStringIntoBuffer)(this.tag, buffer, offset);
return this.tag.length;
}
}
Object.defineProperty(PDFRef, "of", {
enumerable: true,
configurable: true,
writable: true,
value: (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