diff options
Diffstat (limited to 'devtools/client/debugger/content/queries.js')
-rw-r--r-- | devtools/client/debugger/content/queries.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/devtools/client/debugger/content/queries.js b/devtools/client/debugger/content/queries.js new file mode 100644 index 000000000..3a0c54b88 --- /dev/null +++ b/devtools/client/debugger/content/queries.js @@ -0,0 +1,70 @@ + +function getSource(state, actor) { + return state.sources.sources[actor]; +} + +function getSources(state) { + return state.sources.sources; +} + +function getSourceCount(state) { + return Object.keys(state.sources.sources).length; +} + +function getSourceByURL(state, url) { + for (let k in state.sources.sources) { + const source = state.sources.sources[k]; + if (source.url === url) { + return source; + } + } +} + +function getSourceByActor(state, actor) { + for (let k in state.sources.sources) { + const source = state.sources.sources[k]; + if (source.actor === actor) { + return source; + } + } +} + +function getSelectedSource(state) { + return state.sources.sources[state.sources.selectedSource]; +} + +function getSelectedSourceOpts(state) { + return state.sources.selectedSourceOpts; +} + +function getSourceText(state, actor) { + return state.sources.sourcesText[actor]; +} + +function getBreakpoints(state) { + return Object.keys(state.breakpoints.breakpoints).map(k => { + return state.breakpoints.breakpoints[k]; + }); +} + +function getBreakpoint(state, location) { + return state.breakpoints.breakpoints[makeLocationId(location)]; +} + +function makeLocationId(location) { + return location.actor + ":" + location.line.toString(); +} + +module.exports = { + getSource, + getSources, + getSourceCount, + getSourceByURL, + getSourceByActor, + getSelectedSource, + getSelectedSourceOpts, + getSourceText, + getBreakpoint, + getBreakpoints, + makeLocationId +}; |