fork of hey-api/openapi-ts because I need some additional things
1import colors from 'ansi-colors';
2// @ts-expect-error
3import colorSupport from 'color-support';
4
5colors.enabled = colorSupport().hasBasic;
6
7const DEBUG_GROUPS = {
8 analyzer: colors.greenBright,
9 dsl: colors.cyanBright,
10 file: colors.yellowBright,
11 registry: colors.blueBright,
12 symbol: colors.magentaBright,
13} as const;
14
15export function debug(message: string, group: keyof typeof DEBUG_GROUPS) {
16 const value = process.env.DEBUG;
17 if (!value) return;
18
19 const groups = value.split(',').map((x) => x.trim().toLowerCase());
20
21 if (
22 !(
23 groups.includes('*') ||
24 groups.includes('heyapi:*') ||
25 groups.includes(`heyapi:${group}`) ||
26 groups.includes(group)
27 )
28 ) {
29 return;
30 }
31
32 const color = DEBUG_GROUPS[group] ?? colors.whiteBright;
33 const prefix = color(`heyapi:${group}`);
34
35 console.debug(`${prefix} ${message}`);
36}