summaryrefslogtreecommitdiff
path: root/std/strings
diff options
context:
space:
mode:
Diffstat (limited to 'std/strings')
-rw-r--r--std/strings/mod.ts1
-rw-r--r--std/strings/pad.ts75
-rw-r--r--std/strings/pad_test.ts73
3 files changed, 0 insertions, 149 deletions
diff --git a/std/strings/mod.ts b/std/strings/mod.ts
index 4603068ef..def161ae0 100644
--- a/std/strings/mod.ts
+++ b/std/strings/mod.ts
@@ -2,4 +2,3 @@
export * from "./encode.ts";
export * from "./decode.ts";
-export * from "./pad.ts";
diff --git a/std/strings/pad.ts b/std/strings/pad.ts
deleted file mode 100644
index b72ae2074..000000000
--- a/std/strings/pad.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-
-/** FillOption Object */
-export interface FillOption {
- /** Char to fill in */
- char?: string;
- /** Side to fill in */
- side?: "left" | "right";
- /** If strict, output string can't be greater than strLen*/
- strict?: boolean;
- /** char/string used to specify the string has been truncated */
- strictChar?: string;
- /** Side of truncate */
- strictSide?: "left" | "right";
-}
-
-/**
- * Pad helper for strings.
- * Input string is processed to output a string with a minimal length.
- * If the parameter `strict` is set to true, the output string length
- * is equal to the `strLen` parameter.
- * Example:
- *
- * pad("deno", 6, { char: "*", side: "left" }) // output : "**deno"
- * pad("deno", 6, { char: "*", side: "right"}) // output : "deno**"
- * pad("denosorusrex", 6 {
- * char: "*",
- * side: "left",
- * strict: true,
- * strictSide: "right",
- * strictChar: "..."
- * }) // output : "den..."
- *
- * @param input Input string
- * @param strLen Output string lenght
- * @param opts Configuration object
- * @param [opts.char=" "] Character used to fill in
- * @param [opts.side="left"] Side to fill in
- * @param [opts.strict=false] Flag to truncate the string if length > strLen
- * @param [opts.strictChar=""] Character to add if string is truncated
- * @param [opts.strictSide="right"] Side to truncate
- */
-export function pad(
- input: string,
- strLen: number,
- opts: FillOption = {
- char: " ",
- strict: false,
- side: "left",
- strictChar: "",
- strictSide: "right",
- }
-): string {
- let out = input;
- const outL = out.length;
- if (outL < strLen) {
- if (!opts.side || opts.side === "left") {
- out = out.padStart(strLen, opts.char);
- } else {
- out = out.padEnd(strLen, opts.char);
- }
- } else if (opts.strict && outL > strLen) {
- const addChar = opts.strictChar ? opts.strictChar : "";
- if (opts.strictSide === "left") {
- let toDrop = outL - strLen;
- if (opts.strictChar) {
- toDrop += opts.strictChar.length;
- }
- out = `${addChar}${out.slice(toDrop, outL)}`;
- } else {
- out = `${out.substring(0, strLen - addChar.length)}${addChar}`;
- }
- }
- return out;
-}
diff --git a/std/strings/pad_test.ts b/std/strings/pad_test.ts
deleted file mode 100644
index 806874bd0..000000000
--- a/std/strings/pad_test.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-const { test } = Deno;
-import { assertEquals } from "../testing/asserts.ts";
-import { pad } from "./pad.ts";
-
-test(function padTest(): void {
- const expected1 = "**deno";
- const expected2 = "deno";
- const expected3 = "deno**";
- const expected4 = "denosorusrex";
- const expected5 = "denosorus";
- const expected6 = "sorusrex";
- const expected7 = "den...";
- const expected8 = "...rex";
- assertEquals(pad("deno", 6, { char: "*", side: "left" }), expected1);
- assertEquals(pad("deno", 4, { char: "*", side: "left" }), expected2);
- assertEquals(pad("deno", 6, { char: "*", side: "right" }), expected3);
- assertEquals(
- pad("denosorusrex", 4, {
- char: "*",
- side: "right",
- strict: false,
- }),
- expected4
- );
- assertEquals(
- pad("denosorusrex", 9, {
- char: "*",
- side: "left",
- strict: true,
- strictSide: "right",
- }),
- expected5
- );
- assertEquals(
- pad("denosorusrex", 8, {
- char: "*",
- side: "left",
- strict: true,
- strictSide: "left",
- }),
- expected6
- );
- assertEquals(
- pad("denosorusrex", 6, {
- char: "*",
- side: "left",
- strict: true,
- strictSide: "right",
- strictChar: "...",
- }),
- expected7
- );
- assertEquals(
- pad("denosorusrex", 6, {
- char: "*",
- side: "left",
- strict: true,
- strictSide: "left",
- strictChar: "...",
- }),
- expected8
- );
- assertEquals(
- pad("deno", 4, {
- char: "*",
- side: "left",
- strict: true,
- strictSide: "right",
- strictChar: "...",
- }),
- expected2
- );
-});