core/resolvers/asset.resolver.ts
core/resolvers/asset.resolver.ts is a file in Bane's Lab Build Scripts. 24 lines of code and 12 definitions.
import { PRECOMPRESSED_EXTENSIONS } from "#configuration/constants/asset.constants";
import { createHash } from "node:crypto";
const DIGEST_ALGORITHM = "sha256";
const DIGEST_ENCODING = "hex";
const SLASH = "/";
const BACKSLASH = "\\";
const DOT = ".";
export const digestOf = function digestOf(text: Uint8Array | string): string {
return createHash(DIGEST_ALGORITHM).update(text).digest(DIGEST_ENCODING);
};
export const digestedFileName = function digestedFileName(prefix: string, text: string, suffix: string): string {
return prefix + digestOf(text) + suffix;
};
export const toPosix = function toPosix(value: string): string {
return value.split(BACKSLASH).join(SLASH);
};
export const extensionOf = function extensionOf(file: string): string {
const dot = file.lastIndexOf(DOT);
return dot === -1 ? "" : file.slice(dot);
};
export const stripCompression = function stripCompression(file: string): string {
const extension = extensionOf(file);
return PRECOMPRESSED_EXTENSIONS.has(extension) ? file.slice(0, -extension.length) : file;
};