@cantoo/pdf-lib
Version:
Create and modify PDF files with JavaScript
45 lines (33 loc) • 972 B
text/typescript
import { copyStringIntoBuffer, numberToString } from '../../utils/index';
import PDFObject from './PDFObject';
class PDFNumber extends PDFObject {
static of = (value: number) => new PDFNumber(value);
private readonly numberValue: number;
private readonly stringValue: string;
private constructor(value: number) {
super();
this.numberValue = value;
this.stringValue = numberToString(value);
}
asNumber(): number {
return this.numberValue;
}
/** @deprecated in favor of [[PDFNumber.asNumber]] */
value(): number {
return this.numberValue;
}
clone(): PDFNumber {
return PDFNumber.of(this.numberValue);
}
toString(): string {
return this.stringValue;
}
sizeInBytes(): number {
return this.stringValue.length;
}
copyBytesInto(buffer: Uint8Array, offset: number): number {
copyStringIntoBuffer(this.stringValue, buffer, offset);
return this.stringValue.length;
}
}
export default PDFNumber;