add offset field to 'Add Line Numbers' operation

This commit is contained in:
Adamkadaban 2024-07-27 20:06:18 -07:00
parent a477f47aec
commit 3dddb516c9

View file

@ -22,7 +22,13 @@ class AddLineNumbers extends Operation {
this.description = "Adds line numbers to the output."; this.description = "Adds line numbers to the output.";
this.inputType = "string"; this.inputType = "string";
this.outputType = "string"; this.outputType = "string";
this.args = []; this.args = [
{
"name": "Offset",
"type": "number",
"value": 0
}
];
} }
/** /**
@ -33,10 +39,11 @@ class AddLineNumbers extends Operation {
run(input, args) { run(input, args) {
const lines = input.split("\n"), const lines = input.split("\n"),
width = lines.length.toString().length; width = lines.length.toString().length;
const offset = parseInt(args[0], 10);
let output = ""; let output = "";
for (let n = 0; n < lines.length; n++) { for (let n = 0; n < lines.length; n++) {
output += (n+1).toString().padStart(width, " ") + " " + lines[n] + "\n"; output += (n+1+offset).toString().padStart(width, " ") + " " + lines[n] + "\n";
} }
return output.slice(0, output.length-1); return output.slice(0, output.length-1);
} }