📄 tsUtils.ts¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 4 |
| 📊 Variables & Constants | 2 |
| 📐 Interfaces | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/website/src/components/ast/tsUtils.ts
Variables & Constants¶
| Name | Type | Kind | Value | Exported |
|---|---|---|---|---|
result |
Record<number, string> |
const | {} |
✗ |
tsEnumCache |
TsParsedEnums | undefined |
let/var | *not shown* |
✗ |
Functions¶
extractEnum(obj: Record<number, number | string>): Record<number, string>¶
Code
export function extractEnum(
obj: Record<number, number | string>,
): Record<number, string> {
const result: Record<number, string> = {};
const keys = Object.entries(obj);
for (const [name, value] of keys) {
if (typeof value === 'number' && !(value in result)) {
result[value] = name;
}
}
return result;
}
-
JSDoc:
-
Parameters:
obj: Record<number, number | string>- Return Type:
Record<number, string> - Calls:
Object.entries
getTsEnum(type: keyof TsParsedEnums): Record<number, string>¶
Code
function getTsEnum(type: keyof TsParsedEnums): Record<number, string> {
tsEnumCache ??= {
LanguageVariant: extractEnum(window.ts.LanguageVariant),
ModifierFlags: extractEnum(window.ts.ModifierFlags),
NodeFlags: extractEnum(window.ts.NodeFlags),
ObjectFlags: extractEnum(window.ts.ObjectFlags),
ScriptKind: extractEnum(window.ts.ScriptKind),
ScriptTarget: extractEnum(window.ts.ScriptTarget),
SymbolFlags: extractEnum(window.ts.SymbolFlags),
SyntaxKind: extractEnum(window.ts.SyntaxKind),
TokenFlags: extractEnum(window.ts.TokenFlags),
TypeFlags: extractEnum(window.ts.TypeFlags),
// @ts-expect-error: non public API
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
TransformFlags: extractEnum(window.ts.TransformFlags),
};
return tsEnumCache[type];
}
-
JSDoc:
-
Parameters:
type: keyof TsParsedEnums- Return Type:
Record<number, string> - Calls:
extractEnum- Internal Comments:
tsEnumToString(type: keyof TsParsedEnums, value: number): string | undefined¶
Code
-
JSDoc:
-
Parameters:
type: keyof TsParsedEnumsvalue: number- Return Type:
string | undefined - Calls:
getTsEnum
tsEnumFlagToString(type: keyof TsParsedEnums, value: number): string | undefined¶
Code
-
JSDoc:
-
Parameters:
type: keyof TsParsedEnumsvalue: number- Return Type:
string | undefined - Calls:
Object.entries(getTsEnum(type)) .filter(([f]) => (Number(f) & value) !== 0) .map(([, name]) =>${type}.${name}) .join
Interfaces¶
TsParsedEnums¶
Interface Code
interface TsParsedEnums {
LanguageVariant: Record<number, string>;
ModifierFlags: Record<number, string>;
NodeFlags: Record<number, string>;
ObjectFlags: Record<number, string>;
ScriptKind: Record<number, string>;
ScriptTarget: Record<number, string>;
SymbolFlags: Record<number, string>;
SyntaxKind: Record<number, string>;
TokenFlags: Record<number, string>;
TransformFlags: Record<number, string>;
TypeFlags: Record<number, string>;
}
Properties¶
| Name | Type | Optional | Description |
|---|---|---|---|
LanguageVariant |
Record<number, string> |
✗ | |
ModifierFlags |
Record<number, string> |
✗ | |
NodeFlags |
Record<number, string> |
✗ | |
ObjectFlags |
Record<number, string> |
✗ | |
ScriptKind |
Record<number, string> |
✗ | |
ScriptTarget |
Record<number, string> |
✗ | |
SymbolFlags |
Record<number, string> |
✗ | |
SyntaxKind |
Record<number, string> |
✗ | |
TokenFlags |
Record<number, string> |
✗ | |
TransformFlags |
Record<number, string> |
✗ | |
TypeFlags |
Record<number, string> |
✗ |