17 lines
484 B
TypeScript
17 lines
484 B
TypeScript
import { readFileSync } from "fs";
|
|
|
|
const specialOptions: Record<string, (text: string) => string> = {
|
|
$__file: (arg: string) => readFileSync(arg, 'utf8').trim()
|
|
};
|
|
|
|
export const enhancedStringConfig = (value: string) => {
|
|
const trimmed = value.trim();
|
|
|
|
for(const opt of Object.keys(specialOptions)) {
|
|
if(trimmed.startsWith(`${opt}:`) && opt in specialOptions) {
|
|
return specialOptions[opt](trimmed.slice(opt.length + 1).trim());
|
|
}
|
|
}
|
|
|
|
return trimmed;
|
|
}; |