persona-community-5/.pnpm-store/v3/files/24/7a2f615667324b473712a6e93862b5d7af6145c46fcc6d8dba9d504ab017c99a52649368a457347024512eac38e5e4eebae9e4445c8dfa40dffb3ba4762a77
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

35 lines
1.2 KiB
Plaintext

import type NameManager from "../NameManager";
import type TokenProcessor from "../TokenProcessor";
import type RootTransformer from "../transformers/RootTransformer";
export interface ClassHeaderInfo {
isExpression: boolean;
className: string | null;
hasSuperclass: boolean;
}
export interface TokenRange {
start: number;
end: number;
}
export interface FieldInfo extends TokenRange {
equalsIndex: number;
initializerName: string;
}
/**
* Information about a class returned to inform the implementation of class fields and constructor
* initializers.
*/
export interface ClassInfo {
headerInfo: ClassHeaderInfo;
constructorInitializerStatements: Array<string>;
instanceInitializerNames: Array<string>;
staticInitializerNames: Array<string>;
constructorInsertPos: number | null;
fields: Array<FieldInfo>;
rangesToRemove: Array<TokenRange>;
}
/**
* Get information about the class fields for this class, given a token processor pointing to the
* open-brace at the start of the class.
*/
export default function getClassInfo(rootTransformer: RootTransformer, tokens: TokenProcessor, nameManager: NameManager, disableESTransforms: boolean): ClassInfo;