More commenting
This commit is contained in:
parent
c8d679d6a9
commit
a6cc742fa0
@ -45,6 +45,13 @@ const strings = {
|
||||
// #############################################################
|
||||
// Classes
|
||||
// #############################################################
|
||||
/**
|
||||
* Represents a line item with text, font information, and spacing options.
|
||||
* @param {String} text The contents of the line
|
||||
* @param {FontInfo} fontInfo Font details to use for the line
|
||||
* @param {Boolean} moveDownAfter Provide extra spacing after this line?
|
||||
* @returns LineItem
|
||||
*/
|
||||
class LineItem {
|
||||
constructor(text, fontInfo, moveDownAfter) {
|
||||
this.text = text;
|
||||
@ -54,6 +61,11 @@ class LineItem {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the contents of the line
|
||||
* @param {String} text The contents of the line
|
||||
* @returns LineItem
|
||||
*/
|
||||
setText(text) {
|
||||
if (typeof text !== 'string') {
|
||||
throw new Error('Text must be a string');
|
||||
@ -62,6 +74,11 @@ class LineItem {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the font information for the line
|
||||
* @param {FontInfo} fontInfo Font details to use for the line
|
||||
* @returns LineItem
|
||||
*/
|
||||
setFontInfo(fontInfo) {
|
||||
if (!(fontInfo instanceof FontInfo)) {
|
||||
throw new Error('fontInfo must be an instance of FontInfo');
|
||||
@ -70,6 +87,11 @@ class LineItem {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set whether to provide extra spacing after this line
|
||||
* @param {Boolean} moveDownAfter Provide extra spacing after this line?
|
||||
* @returns LineItem
|
||||
*/
|
||||
setMoveDownAfter(moveDownAfter) {
|
||||
if (typeof moveDownAfter !== 'boolean') {
|
||||
throw new Error('moveDownAfter must be a boolean');
|
||||
@ -79,6 +101,13 @@ class LineItem {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents font information including name, size, and style.
|
||||
* @param {String} name The font name
|
||||
* @param {Number} size The font size
|
||||
* @param {String} style The font style
|
||||
* @returns FontInfo
|
||||
*/
|
||||
class FontInfo {
|
||||
constructor(name, size, style) {
|
||||
this.name = name || 'Helvetica';
|
||||
@ -87,6 +116,11 @@ class FontInfo {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the font name
|
||||
* @param {String} name The font name
|
||||
* @returns FontInfo
|
||||
*/
|
||||
setName(name) {
|
||||
if (typeof name !== 'string') {
|
||||
throw new Error('Font name must be a string');
|
||||
@ -95,6 +129,11 @@ class FontInfo {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the font size
|
||||
* @param {Number} size The font size
|
||||
* @returns FontInfo
|
||||
*/
|
||||
setSize(size) {
|
||||
if (typeof size !== 'number' || size <= 0) {
|
||||
throw new Error('Font size must be a positive number');
|
||||
@ -103,6 +142,11 @@ class FontInfo {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the font style
|
||||
* @param {String} style The font style
|
||||
* @returns FontInfo
|
||||
*/
|
||||
setStyle(style) {
|
||||
if (typeof style !== 'string') {
|
||||
throw new Error('Font style must be a string');
|
||||
@ -115,8 +159,11 @@ class FontInfo {
|
||||
// #############################################################
|
||||
// Fonts
|
||||
// #############################################################
|
||||
/** @type {FontInfo} */
|
||||
const standard = new FontInfo('Helvetica', 12);
|
||||
/** @type {FontInfo} */
|
||||
const standardBold = new FontInfo('Helvetica', 12, 'Bold');
|
||||
/** @type {FontInfo} */
|
||||
const monospace = new FontInfo('Courier', 16, 'Bold');
|
||||
|
||||
// #############################################################
|
||||
|
||||
Loading…
Reference in New Issue
Block a user