UNPKG

pdf-lib

Version:

Create and modify PDF files with JavaScript

112 lines (97 loc) 3.74 kB
// tslint:disable: max-classes-per-file // TODO: Include link to documentation with example export class EncryptedPDFError extends Error { constructor() { const msg = 'Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.'; super(msg); } } // TODO: Include link to documentation with example export class FontkitNotRegisteredError extends Error { constructor() { const msg = 'Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts.'; super(msg); } } // TODO: Include link to documentation with example export class ForeignPageError extends Error { constructor() { const msg = 'A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them.'; super(msg); } } // TODO: Include link to documentation with example export class RemovePageFromEmptyDocumentError extends Error { constructor() { const msg = 'PDFDocument has no pages so `PDFDocument.removePage` cannot be called'; super(msg); } } export class NoSuchFieldError extends Error { constructor(name: string) { const msg = `PDFDocument has no form field with the name "${name}"`; super(msg); } } export class UnexpectedFieldTypeError extends Error { constructor(name: string, expected: any, actual: any) { const expectedType = expected?.name; const actualType = actual?.constructor?.name ?? actual; const msg = `Expected field "${name}" to be of type ${expectedType}, ` + `but it is actually of type ${actualType}`; super(msg); } } export class MissingOnValueCheckError extends Error { constructor(onValue: any) { const msg = `Failed to select check box due to missing onValue: "${onValue}"`; super(msg); } } export class FieldAlreadyExistsError extends Error { constructor(name: string) { const msg = `A field already exists with the specified name: "${name}"`; super(msg); } } export class InvalidFieldNamePartError extends Error { constructor(namePart: string) { const msg = `Field name contains invalid component: "${namePart}"`; super(msg); } } export class FieldExistsAsNonTerminalError extends Error { constructor(name: string) { const msg = `A non-terminal field already exists with the specified name: "${name}"`; super(msg); } } export class RichTextFieldReadError extends Error { constructor(fieldName: string) { const msg = `Reading rich text fields is not supported: Attempted to read rich text field: ${fieldName}`; super(msg); } } export class CombedTextLayoutError extends Error { constructor(lineLength: number, cellCount: number) { const msg = `Failed to layout combed text as lineLength=${lineLength} is greater than cellCount=${cellCount}`; super(msg); } } export class ExceededMaxLengthError extends Error { constructor(textLength: number, maxLength: number, name: string) { const msg = `Attempted to set text with length=${textLength} for TextField with maxLength=${maxLength} and name=${name}`; super(msg); } } export class InvalidMaxLengthError extends Error { constructor(textLength: number, maxLength: number, name: string) { const msg = `Attempted to set maxLength=${maxLength}, which is less than ${textLength}, the length of this field's current value (name=${name})`; super(msg); } }