diff --git a/docs/usage/text.md b/docs/usage/text.md index 3ae388f780..0b7b88686b 100644 --- a/docs/usage/text.md +++ b/docs/usage/text.md @@ -158,6 +158,15 @@ Sometimes you would want to put text underneath another line of text but inside ```ts const text = new TextRun({ text: "break", - break: true, + break: 1, +}); +``` + +Adding two breaks: + +```ts +const text = new TextRun({ + text: "break", + break: 2, }); ``` diff --git a/src/file/paragraph/run/run.spec.ts b/src/file/paragraph/run/run.spec.ts index 40cc7055cd..017c616938 100644 --- a/src/file/paragraph/run/run.spec.ts +++ b/src/file/paragraph/run/run.spec.ts @@ -239,13 +239,29 @@ describe("Run", () => { describe("#break()", () => { it("it should add break to the run", () => { - const run = new Run({}); - run.break(); + const run = new Run({ + break: 1, + }); const tree = new Formatter().format(run); expect(tree).to.deep.equal({ "w:r": [{ "w:br": {} }], }); }); + + it("it should add two breaks to the run", () => { + const run = new Run({ + break: 2, + }); + const tree = new Formatter().format(run); + expect(tree).to.deep.equal({ + "w:r": [ + { "w:br": {} }, + { + "w:br": {}, + }, + ], + }); + }); }); describe("#font()", () => { diff --git a/src/file/paragraph/run/run.ts b/src/file/paragraph/run/run.ts index bf7903e35e..461fd9da29 100644 --- a/src/file/paragraph/run/run.ts +++ b/src/file/paragraph/run/run.ts @@ -11,6 +11,7 @@ import { Text } from "./run-components/text"; export interface IRunOptions extends IRunPropertiesOptions { readonly children?: (Begin | FieldInstruction | Separate | End | PageNumber | FootnoteReferenceRun | string)[]; + readonly break?: number; readonly text?: string; } @@ -62,10 +63,11 @@ export class Run extends XmlComponent { } else if (options.text) { this.root.push(new Text(options.text)); } - } - public break(): Run { - this.root.splice(1, 0, new Break()); - return this; + if (options.break) { + for (let i = 0; i < options.break; i++) { + this.root.splice(1, 0, new Break()); + } + } } }