Urara-Blog/node_modules/.pnpm-store/v3/files/22/14270c25577e64ffde0aa556fffe3e6e75244900f46b769fbd8220620d0d4fba0baf8514da7f94dd90c0e8ef92059eb2940e8905c757c8bfd0b3bba2960230
2022-08-14 01:14:53 +08:00

46 lines
1.6 KiB
Text

import Block from './Block';
import { CompileOptions, Var } from '../../interfaces';
import Component from '../Component';
import FragmentWrapper from './wrappers/Fragment';
import { Node, Identifier, MemberExpression, Literal, Expression, UnaryExpression, ArrayExpression } from 'estree';
interface ContextMember {
name: string;
index: Literal;
is_contextual: boolean;
is_non_contextual: boolean;
variable: Var;
priority: number;
}
export default class Renderer {
component: Component;
options: CompileOptions;
context: ContextMember[];
initial_context: ContextMember[];
context_lookup: Map<string, ContextMember>;
context_overflow: boolean;
blocks: Array<Block | Node | Node[]>;
readonly: Set<string>;
meta_bindings: Array<Node | Node[]>;
binding_groups: Map<string, {
binding_group: (to_reference?: boolean) => Node;
is_context: boolean;
contexts: string[];
index: number;
keypath: string;
}>;
block: Block;
fragment: FragmentWrapper;
file_var: Identifier;
locate: (c: number) => {
line: number;
column: number;
};
constructor(component: Component, options: CompileOptions);
add_to_context(name: string, contextual?: boolean): ContextMember;
invalidate(name: string, value?: any, main_execution_context?: boolean): any;
dirty(names: string[], is_reactive_declaration?: boolean): Expression;
get_initial_dirty(): UnaryExpression | ArrayExpression;
reference(node: string | Identifier | MemberExpression, ctx?: string | void): any;
remove_block(block: Block | Node | Node[]): void;
}
export {};