1 | declare module '@ember/-internals/glimmer/lib/renderer' {
|
2 | import type { InternalOwner } from '@ember/-internals/owner';
|
3 | import type {
|
4 | Bounds,
|
5 | CompileTimeCompilationContext,
|
6 | Cursor,
|
7 | DebugRenderTree,
|
8 | DynamicScope as GlimmerDynamicScope,
|
9 | ElementBuilder,
|
10 | Environment,
|
11 | RenderResult,
|
12 | RuntimeContext,
|
13 | Template,
|
14 | TemplateFactory,
|
15 | } from '@glimmer/interfaces';
|
16 | import type { Nullable } from '@ember/-internals/utility-types';
|
17 | import type { Reference } from '@glimmer/reference';
|
18 | import type { CurriedValue } from '@glimmer/runtime';
|
19 | import { clientBuilder } from '@glimmer/runtime';
|
20 | import type { SimpleDocument, SimpleElement, SimpleNode } from '@simple-dom/interface';
|
21 | import RSVP from 'rsvp';
|
22 | import type Component from '@ember/-internals/glimmer/lib/component';
|
23 | import { BOUNDS } from '@ember/-internals/glimmer/lib/component-managers/curly';
|
24 | import ResolverImpl from '@ember/-internals/glimmer/lib/resolver';
|
25 | import type { OutletState } from '@ember/-internals/glimmer/lib/utils/outlet';
|
26 | import OutletView from '@ember/-internals/glimmer/lib/views/outlet';
|
27 | export type IBuilder = (env: Environment, cursor: Cursor) => ElementBuilder;
|
28 | export interface View {
|
29 | parentView: Nullable<View>;
|
30 | renderer: Renderer;
|
31 | tagName: string | null;
|
32 | elementId: string | null;
|
33 | isDestroying: boolean;
|
34 | isDestroyed: boolean;
|
35 | [BOUNDS]: Bounds | null;
|
36 | }
|
37 | export class DynamicScope implements GlimmerDynamicScope {
|
38 | view: View | null;
|
39 | outletState: Reference<OutletState | undefined>;
|
40 | constructor(view: View | null, outletState: Reference<OutletState | undefined>);
|
41 | child(): DynamicScope;
|
42 | get(key: 'outletState'): Reference<OutletState | undefined>;
|
43 | set(
|
44 | key: 'outletState',
|
45 | value: Reference<OutletState | undefined>
|
46 | ): Reference<OutletState | undefined>;
|
47 | }
|
48 | class RootState {
|
49 | root: Component | OutletView;
|
50 | runtime: RuntimeContext;
|
51 | id: string;
|
52 | result: RenderResult | undefined;
|
53 | destroyed: boolean;
|
54 | render: () => void;
|
55 | constructor(
|
56 | root: Component | OutletView,
|
57 | runtime: RuntimeContext,
|
58 | context: CompileTimeCompilationContext,
|
59 | owner: InternalOwner,
|
60 | template: Template,
|
61 | self: Reference<unknown>,
|
62 | parentElement: SimpleElement,
|
63 | dynamicScope: DynamicScope,
|
64 | builder: IBuilder
|
65 | );
|
66 | isFor(possibleRoot: unknown): boolean;
|
67 | destroy(): void;
|
68 | }
|
69 | export function _resetRenderers(): void;
|
70 | export function renderSettled(): RSVP.Promise<void>;
|
71 | interface ViewRegistry {
|
72 | [viewId: string]: unknown;
|
73 | }
|
74 | export class Renderer {
|
75 | private _rootTemplate;
|
76 | private _viewRegistry;
|
77 | private _roots;
|
78 | private _removedRoots;
|
79 | private _builder;
|
80 | private _inRenderTransaction;
|
81 | private _owner;
|
82 | private _context;
|
83 | private _runtime;
|
84 | private _lastRevision;
|
85 | private _destroyed;
|
86 |
|
87 | _isInteractive: boolean;
|
88 | readonly _runtimeResolver: ResolverImpl;
|
89 | static create(props: { _viewRegistry: any }): Renderer;
|
90 | constructor(
|
91 | owner: InternalOwner,
|
92 | document: SimpleDocument,
|
93 | env: {
|
94 | isInteractive: boolean;
|
95 | hasDOM: boolean;
|
96 | },
|
97 | rootTemplate: TemplateFactory,
|
98 | viewRegistry: ViewRegistry,
|
99 | builder?: typeof clientBuilder
|
100 | );
|
101 | get debugRenderTree(): DebugRenderTree;
|
102 | appendOutletView(view: OutletView, target: SimpleElement): void;
|
103 | appendTo(view: Component, target: SimpleElement): void;
|
104 | _appendDefinition(
|
105 | root: OutletView | Component,
|
106 | definition: CurriedValue,
|
107 | target: SimpleElement
|
108 | ): void;
|
109 | rerender(): void;
|
110 | register(view: any): void;
|
111 | unregister(view: any): void;
|
112 | remove(view: Component): void;
|
113 | cleanupRootFor(view: unknown): void;
|
114 | destroy(): void;
|
115 | getElement(view: View): Nullable<Element>;
|
116 | getBounds(view: View): {
|
117 | parentElement: SimpleElement;
|
118 | firstNode: SimpleNode;
|
119 | lastNode: SimpleNode;
|
120 | };
|
121 | createElement(tagName: string): SimpleElement;
|
122 | _renderRoot(root: RootState): void;
|
123 | _renderRoots(): void;
|
124 | _renderRootsTransaction(): void;
|
125 | _clearAllRoots(): void;
|
126 | _scheduleRevalidate(): void;
|
127 | _isValid(): boolean;
|
128 | _revalidate(): void;
|
129 | }
|
130 | export {};
|
131 | }
|