Skip to content

Commit

Permalink
Added some more types in placeholder-plain
Browse files Browse the repository at this point in the history
  • Loading branch information
vbuch committed Oct 4, 2023
1 parent b9cf81b commit 24bba7d
Show file tree
Hide file tree
Showing 15 changed files with 130 additions and 22 deletions.
8 changes: 7 additions & 1 deletion packages/placeholder-plain/dist/createBufferTrailer.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
export default createBufferTrailer;
declare function createBufferTrailer(pdf: any, info: any, addedReferences: any): Buffer;
/**
* @param {Buffer} pdf
* @param {import("./readPdf").ReadPdfReturnType} info
* @param {Map<number, number>} addedReferences
* @returns {Buffer}
*/
declare function createBufferTrailer(pdf: Buffer, info: import("./readPdf").ReadPdfReturnType, addedReferences: Map<number, number>): Buffer;
//# sourceMappingURL=createBufferTrailer.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions packages/placeholder-plain/dist/createBufferTrailer.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
/**
* @param {Buffer} pdf
* @param {import("./readPdf").ReadPdfReturnType} info
* @param {Map<number, number>} addedReferences
* @returns {Buffer}
*/
const createBufferTrailer = (pdf, info, addedReferences) => {
let rows = [];
rows[0] = '0000000000 65535 f '; // info.xref.tableRows[0];
Expand Down
4 changes: 2 additions & 2 deletions packages/placeholder-plain/dist/findObject.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ export default findObject;
/**
* @param {Buffer} pdf
* @param {Map} refTable
* @returns {object}
* @returns {Buffer}
*/
declare function findObject(pdf: Buffer, refTable: Map<any, any>, ref: any): object;
declare function findObject(pdf: Buffer, refTable: Map<any, any>, ref: any): Buffer;
//# sourceMappingURL=findObject.d.ts.map
2 changes: 1 addition & 1 deletion packages/placeholder-plain/dist/findObject.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import getIndexFromRef from './getIndexFromRef';
/**
* @param {Buffer} pdf
* @param {Map} refTable
* @returns {object}
* @returns {Buffer}
*/
const findObject = (pdf, refTable, ref) => {
const index = getIndexFromRef(refTable, ref);
Expand Down
30 changes: 21 additions & 9 deletions packages/placeholder-plain/dist/readPdf.d.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,31 @@
export default readPdf;
export type ReadPdfReturnType = {
xref: import("./readRefTable").ReadRefTableReturnType;
rootRef: string;
root: Buffer;
infoRef: string;
trailerStart: number;
previousXrefs: any[];
xRefPosition: number;
};
/**
* @typedef {object} ReadPdfReturnType
* @prop {import("./readRefTable").ReadRefTableReturnType} xref
* @prop {string} rootRef
* @prop {Buffer} root
* @prop {string} infoRef
* @prop {number} trailerStart
* @prop {*[]} previousXrefs
* @prop {number} xRefPosition
*/
/**
* Simplified parsing of a PDF Buffer.
* Extracts reference table, root info and trailer start.
*
* See section 7.5.5 (File Trailer) of the PDF specs.
*
* @param {Buffer} pdfBuffer
* @returns {ReadPdfReturnType}
*/
declare function readPdf(pdfBuffer: Buffer): {
xref: any;
rootRef: any;
root: any;
infoRef: any;
trailerStart: number;
previousXrefs: any[];
xRefPosition: string;
};
declare function readPdf(pdfBuffer: Buffer): ReadPdfReturnType;
//# sourceMappingURL=readPdf.d.ts.map
2 changes: 1 addition & 1 deletion packages/placeholder-plain/dist/readPdf.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions packages/placeholder-plain/dist/readPdf.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import readRefTable from './readRefTable';
import findObject from './findObject';

/**
* @param {Buffer} trailer
* @param {string} key
* @returns {string}
*/
const getValue = (trailer, key) => {
let index = trailer.indexOf(key);
if (index === -1) {
Expand All @@ -13,13 +19,25 @@ const getValue = (trailer, key) => {
return slice.slice(key.length + 1, index).toString().trim(); // key + at least one space
};

/**
* @typedef {object} ReadPdfReturnType
* @prop {import("./readRefTable").ReadRefTableReturnType} xref
* @prop {string} rootRef
* @prop {Buffer} root
* @prop {string} infoRef
* @prop {number} trailerStart
* @prop {*[]} previousXrefs
* @prop {number} xRefPosition
*/

/**
* Simplified parsing of a PDF Buffer.
* Extracts reference table, root info and trailer start.
*
* See section 7.5.5 (File Trailer) of the PDF specs.
*
* @param {Buffer} pdfBuffer
* @returns {ReadPdfReturnType}
*/
const readPdf = pdfBuffer => {
// Extract the trailer dictionary.
Expand Down
18 changes: 15 additions & 3 deletions packages/placeholder-plain/dist/readRefTable.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,23 @@ export function getXref(pdf: any, position: any): {
prev: string;
xRefContent: Map<any, any>;
};
export function getFullXrefTable(pdf: any): any;
export function getFullXrefTable(pdf: Buffer): GetFullXrefTableReturnType;
export default readRefTable;
export type GetFullXrefTableReturnType = Map<any, any>;
export type ReadRefTableReturnType = {
startingIndex: number;
maxIndex: number;
offsets: GetFullXrefTableReturnType;
};
/**
* @typedef {object} ReadRefTableReturnType
* @prop {number} startingIndex
* @prop {number} maxIndex
* @prop {GetFullXrefTableReturnType} offsets
*/
/**
* @param {Buffer} pdfBuffer
* @returns {object}
* @returns {ReadRefTableReturnType}
*/
declare function readRefTable(pdf: any): object;
declare function readRefTable(pdf: any): ReadRefTableReturnType;
//# sourceMappingURL=readRefTable.d.ts.map
2 changes: 1 addition & 1 deletion packages/placeholder-plain/dist/readRefTable.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 17 additions & 1 deletion packages/placeholder-plain/dist/readRefTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,15 @@ export const getXref = (pdf, position) => {
xRefContent
};
};

/**
* @typedef {Map<*, *>} GetFullXrefTableReturnType
*/

/**
* @param {Buffer} pdf
* @returns {GetFullXrefTableReturnType}
*/
export const getFullXrefTable = pdf => {
const lastTrailerPosition = getLastTrailerPosition(pdf);
const lastXrefTable = getXref(pdf, lastTrailerPosition);
Expand All @@ -64,9 +73,16 @@ export const getFullXrefTable = pdf => {
return mergedXrefTable;
};

/**
* @typedef {object} ReadRefTableReturnType
* @prop {number} startingIndex
* @prop {number} maxIndex
* @prop {GetFullXrefTableReturnType} offsets
*/

/**
* @param {Buffer} pdfBuffer
* @returns {object}
* @returns {ReadRefTableReturnType}
*/
const readRefTable = pdf => {
const fullXrefTable = getFullXrefTable(pdf);
Expand Down
6 changes: 6 additions & 0 deletions packages/placeholder-plain/src/createBufferTrailer.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
/**
* @param {Buffer} pdf
* @param {import("./readPdf").ReadPdfReturnType} info
* @param {Map<number, number>} addedReferences
* @returns {Buffer}
*/
const createBufferTrailer = (pdf, info, addedReferences) => {
let rows = [];
rows[0] = '0000000000 65535 f '; // info.xref.tableRows[0];
Expand Down
2 changes: 1 addition & 1 deletion packages/placeholder-plain/src/findObject.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import getIndexFromRef from './getIndexFromRef';
/**
* @param {Buffer} pdf
* @param {Map} refTable
* @returns {object}
* @returns {Buffer}
*/
const findObject = (pdf, refTable, ref) => {
const index = getIndexFromRef(refTable, ref);
Expand Down
17 changes: 17 additions & 0 deletions packages/placeholder-plain/src/readPdf.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
import readRefTable from './readRefTable';
import findObject from './findObject';

/**
* @param {Buffer} trailer
* @param {string} key
* @returns {string}
*/
const getValue = (trailer, key) => {
let index = trailer.indexOf(key);

Expand All @@ -16,13 +21,25 @@ const getValue = (trailer, key) => {
return slice.slice(key.length + 1, index).toString().trim(); // key + at least one space
};

/**
* @typedef {object} ReadPdfReturnType
* @prop {import("./readRefTable").ReadRefTableReturnType} xref
* @prop {string} rootRef
* @prop {Buffer} root
* @prop {string} infoRef
* @prop {number} trailerStart
* @prop {*[]} previousXrefs
* @prop {number} xRefPosition
*/

/**
* Simplified parsing of a PDF Buffer.
* Extracts reference table, root info and trailer start.
*
* See section 7.5.5 (File Trailer) of the PDF specs.
*
* @param {Buffer} pdfBuffer
* @returns {ReadPdfReturnType}
*/
const readPdf = (pdfBuffer) => {
// Extract the trailer dictionary.
Expand Down
17 changes: 16 additions & 1 deletion packages/placeholder-plain/src/readRefTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@ export const getXref = (pdf, position) => {
};
};

/**
* @typedef {Map<*, *>} GetFullXrefTableReturnType
*/

/**
* @param {Buffer} pdf
* @returns {GetFullXrefTableReturnType}
*/
export const getFullXrefTable = (pdf) => {
const lastTrailerPosition = getLastTrailerPosition(pdf);
const lastXrefTable = getXref(pdf, lastTrailerPosition);
Expand All @@ -99,9 +107,16 @@ export const getFullXrefTable = (pdf) => {
return mergedXrefTable;
};

/**
* @typedef {object} ReadRefTableReturnType
* @prop {number} startingIndex
* @prop {number} maxIndex
* @prop {GetFullXrefTableReturnType} offsets
*/

/**
* @param {Buffer} pdfBuffer
* @returns {object}
* @returns {ReadRefTableReturnType}
*/
const readRefTable = (pdf) => {
const fullXrefTable = getFullXrefTable(pdf);
Expand Down

0 comments on commit 24bba7d

Please sign in to comment.