ember-source
Version:
A JavaScript framework for creating ambitious web applications
42 lines (36 loc) • 1.05 kB
JavaScript
/**
* Every renderer that has at least one live root.
*
* This covers each application's `renderer:-dom`
* and every renderer that `renderComponent` created.
*
* It lives in its own module so that `@ember/debug`
* can read it without importing the renderer.
*/
const renderers = [];
/**
@module @ember/debug
*/
/**
Ember Inspector calls this function to capture the current render tree.
The result has the tree of every renderer with live roots:
each application, and each `renderComponent` call, whatever its owner.
In production mode, this requires turning on `ENV._DEBUG_RENDER_TREE`
before loading Ember.
@private
@static
@method captureRenderTree
@for @ember/debug
@param app {ApplicationInstance} Unused. Ember Inspector still passes it.
@since 3.14.0
*/
function captureRenderTree(_app) {
let nodes = [];
for (let renderer of renderers) {
for (let node of renderer.debugRenderTree.capture()) {
nodes.push(node);
}
}
return nodes;
}
export { captureRenderTree as c, renderers as r };