wuchale
Version:
Protobuf-like i18n from normal code
37 lines • 1.43 kB
TypeScript
import type MagicString from "magic-string";
import { IndexTracker, NestText, type CommentDirectives } from "../adapters.js";
import { type RuntimeVars } from "./index.js";
type NestedRanges = [number, number, boolean][];
type InitProps<NodeT> = {
mstr: MagicString;
getRange: (node: NodeT) => {
start: number;
end: number;
};
isText: (node: NodeT) => boolean;
isExpression: (node: NodeT) => boolean;
isComment: (node: NodeT) => boolean;
canHaveChildren: (node: NodeT) => boolean;
getTextContent: (node: NodeT) => string;
getCommentData: (node: NodeT) => string;
visitFunc: (node: NodeT, inCompoundText: boolean) => NestText[];
visitExpressionTag: (node: NodeT) => NestText[];
checkHeuristic: (txt: string) => boolean;
wrapNested: (txt: NestText, hasExprs: boolean, nestedRanges: NestedRanges, lastChildEnd: number) => void;
index: IndexTracker;
vars: RuntimeVars;
};
type VisitProps<NodeT> = {
children: NodeT[];
commentDirectives: CommentDirectives;
inCompoundText: boolean;
};
export interface MixedVisitor<NodeT> extends InitProps<NodeT> {
}
export declare class MixedVisitor<NodeT> {
constructor(props: InitProps<NodeT>);
separatelyVisitChildren: (props: VisitProps<NodeT>) => [boolean, boolean, boolean, NestText[]];
visit: (props: VisitProps<NodeT>) => NestText[];
}
export {};
//# sourceMappingURL=mixed-visitor.d.ts.map