update deno commons
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
// Reference:
|
// Reference:
|
||||||
// - https://docs.deno.com/runtime/fundamentals/testing/
|
// - https://docs.deno.com/runtime/fundamentals/testing/
|
||||||
|
|
||||||
import { decodeBase64, encodeBase64 } from "jsr:@std/encoding/base64";
|
import {decodeBase64, encodeBase64} from "jsr:@std/encoding/base64";
|
||||||
import { dirname, fromFileUrl } from "https://deno.land/std/path/mod.ts";
|
import {dirname, fromFileUrl} from "https://deno.land/std/path/mod.ts";
|
||||||
|
|
||||||
// reference: https://docs.deno.com/examples/hex_base64_encoding/
|
// reference: https://docs.deno.com/examples/hex_base64_encoding/
|
||||||
// import { decodeBase64, encodeBase64 } from "jsr:@std/encoding/base64";
|
// import { decodeBase64, encodeBase64 } from "jsr:@std/encoding/base64";
|
||||||
@@ -247,7 +247,7 @@ interface ColorToken {
|
|||||||
color?: string;
|
color?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseColorTokens(message: string): ColorToken[] {
|
function parseColorTokens(message: string, renderColor: boolean): ColorToken[] {
|
||||||
const tokens: ColorToken[] = [];
|
const tokens: ColorToken[] = [];
|
||||||
if (message) {
|
if (message) {
|
||||||
let inColorStart = false;
|
let inColorStart = false;
|
||||||
@@ -372,6 +372,21 @@ function renderColorTokens(tokens: ColorToken[]): string {
|
|||||||
return text.join("");
|
return text.join("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function supportColor(): boolean {
|
||||||
|
try {
|
||||||
|
if (process.env.FORCE_COLOR !== undefined) {
|
||||||
|
return process.env.FORCE_COLOR !== "0";
|
||||||
|
}
|
||||||
|
if (process.env.NO_COLOR !== undefined) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return process.stdout.isTTY && process.stderr.isTTY;
|
||||||
|
} catch (e) {
|
||||||
|
// check color support failed, default false
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class Term {
|
class Term {
|
||||||
constructor() {
|
constructor() {
|
||||||
}
|
}
|
||||||
@@ -412,8 +427,11 @@ class Term {
|
|||||||
return `\x1b[36m${message}\x1b[0m`;
|
return `\x1b[36m${message}\x1b[0m`;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto(message: string): string {
|
auto(message: string, renderColor?: boolean): string {
|
||||||
return renderColorTokens(parseColorTokens(message));
|
return renderColorTokens(
|
||||||
|
parseColorTokens(message),
|
||||||
|
renderColor ?? supportColor(),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user