aboutsummaryrefslogtreecommitdiff
path: root/test/bundler/dedent.ts
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-08-19 13:58:39 -0700
committerGravatar dave caruso <me@paperdave.net> 2023-08-19 13:58:39 -0700
commitd39f60f49b76ad1a4a86152408a8166be9ac87e2 (patch)
treecd8bdf522c0ebf648278678846bb79dae300af59 /test/bundler/dedent.ts
parentb9c3db7ff914cd0c50b2ac680c35e2fbf58a0498 (diff)
downloadbun-dave/bundler-string-length.tar.gz
bun-dave/bundler-string-length.tar.zst
bun-dave/bundler-string-length.zip
remove `dedent` library from testsdave/bundler-string-length
Diffstat (limited to 'test/bundler/dedent.ts')
-rw-r--r--test/bundler/dedent.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/bundler/dedent.ts b/test/bundler/dedent.ts
new file mode 100644
index 000000000..2e0027e58
--- /dev/null
+++ b/test/bundler/dedent.ts
@@ -0,0 +1,25 @@
+export default function dedent(str: string, ...args: any[]) {
+ if (Array.isArray(str)) {
+ let result = "";
+ let numArgs = args.length;
+ for (let i = 0; i < str.length; i++) {
+ result += dedent(str[i]);
+ if (i < numArgs) result += args[i];
+ }
+ str = result;
+ }
+ let indent = Infinity;
+ const lines = str
+ .replace(/^\s*\n/, "")
+ .trimEnd()
+ .split("\n");
+ for (const line of lines) {
+ let thisIndent = 0;
+ for (const char of line) {
+ if (char === " ") thisIndent++;
+ else break;
+ }
+ if (thisIndent < indent) indent = thisIndent;
+ }
+ return lines.map(line => line.slice(indent)).join("\n");
+}