Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
static _renderPage(name, containerElement, nextSibling, compilable, data = {}) {
let state = State(data);
const artifact = artifacts(Application.context);
Application.aotRuntime = AotRuntime(Application.document, artifact, Application.resolver);
const cursor = { element: containerElement ? containerElement : Application.rootFrame, nextSibling };
let iterator = renderAot(Application.aotRuntime, compilable, cursor, state);
try {
const result = renderSync(Application.aotRuntime.env, iterator);
console.log(`Page ${name} Rendered`);
Application.result = result;
Application._rendered = true;
let node = result.firstNode();
while (node && !node._nativeElement) {
node = node.nextSibling;
}
// (node as PageElement).parentNode = containerElement;
Application.currentPageNode = node;
Application.currentPageNode.listViewItems = [];
// containerElement.childNodes.push(node);
node.component = new NativeComponentResult(name, result, state, Application.aotRuntime);
static _renderComponent(name, cursor, compilable, data) {
let state = State(data);
const artifact = artifacts(Application.context);
const runtime = AotRuntime(Application.document, artifact, Application.resolver);
let iterator = renderAot(runtime, compilable, cursor, state);
// const treeBuilder = NewElementBuilder.forInitialRender(runtime.env, cursor);
// let iterator = renderAotMain(runtime, state, treeBuilder, compilable);
try {
const result = renderSync(runtime.env, iterator);
console.log(`Component ${name} Rendered`);
let node = result.firstNode();
while (node && !node._nativeElement) {
node = node.nextSibling;
}
const component = new NativeComponentResult(name, result, state, runtime);
if (!Application.currentPageNode.listViewItems) {
Application.currentPageNode.listViewItems = [];
}
Application.currentPageNode.listViewItems.push({ component, cursor });
// const listViewWrapperElement = node.parentNode;
static _renderComponent(name: string, cursor: Cursor, compilable: number, data: {}): ElementNode {
let state = State(data);
const artifact = artifacts(Application.context);
const runtime = AotRuntime(Application.document as any, artifact, Application.resolver);
let iterator = renderAot(runtime, compilable, cursor, state);
// const treeBuilder = NewElementBuilder.forInitialRender(runtime.env, cursor);
// let iterator = renderAotMain(runtime, state, treeBuilder, compilable);
try {
const result = renderSync(runtime.env, iterator);
console.log(`Component ${name} Rendered`);
let node = result.firstNode() as any;
while (!node._nativeView) {
node = node.nextSibling;
}
node.meta.component = new NativeComponentResult(name, result, state, runtime);
return node as any;
} catch (error) {
console.log(`Error rendering component ${name}: ${error}`);
}
}
private getRuntimeContext({ table, pool, heap }: BundleCompilationResult): AotRuntimeContext {
let resolver = new AotRuntimeResolverImpl(table, this.registry.modules, this.symbolTables);
return AotRuntime(this.doc, { constants: pool, heap }, resolver);
}
static _renderPage(name, containerElement, nextSibling, compilable, data = {}): ElementNode {
let state = State(data);
const artifact = artifacts(Application.context);
Application.aotRuntime = AotRuntime(Application.document as any, artifact, Application.resolver);
const cursor = { element: containerElement ? containerElement : Application.rootFrame, nextSibling };
let iterator = renderAot(Application.aotRuntime, compilable, cursor, state);
try {
const result = renderSync(Application.aotRuntime.env, iterator);
console.log(`Page ${name} Rendered`);
Application.result = result;
Application._rendered = true;
let node = result.firstNode() as any;
while (!node._nativeView) {
node = node.nextSibling;
}
node._meta.component = new NativeComponentResult(name, result, state, Application.aotRuntime);
return node as any;
} catch (error) {
console.log(`Error rendering page ${name}: ${error}`);
}