ngrx-vis
Version:
<p align="center"> <img src="https://github.com/co-IT/ngrx-vis/blob/master/assets/logo.png?raw=true"> </p>
79 lines (78 loc) • 2.51 kB
JavaScript
var __assign =
(this && this.__assign) ||
function() {
__assign =
Object.assign ||
function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i]
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
}
return t
}
return __assign.apply(this, arguments)
}
Object.defineProperty(exports, '__esModule', { value: true })
var ts_morph_1 = require('ts-morph')
var resolvers_1 = require('../resolvers')
var ngrx_1 = require('../utils/ngrx')
var action_rule_runner_1 = require('./action-rule-runner')
var NgRxActionInspector = /** @class */ (function() {
function NgRxActionInspector(pathToTsConfig, actionFilesGlob) {
this.pathToTsConfig = pathToTsConfig
this.actionFilesGlob = actionFilesGlob
}
NgRxActionInspector.prototype.inspect = function() {
var _this = this
var project = new ts_morph_1.Project({
tsConfigFilePath: this.pathToTsConfig
})
var files = project.getSourceFiles(this.actionFilesGlob)
return files.flatMap(function(file) {
return _this.findActions(file)
})
}
NgRxActionInspector.prototype.findActions = function(file) {
var _this = this
return file
.getVariableDeclarations()
.filter(ngrx_1.isTypedAction)
.map(function(declaration) {
return __assign(
{
filePath: file.getFilePath(),
actionMeta: __assign(
__assign(
{ declaredName: declaration.getName() },
ngrx_1.segmentAction(ngrx_1.extractActionType(declaration))
),
{ payloadType: ngrx_1.extractActionPayload(declaration) }
)
},
_this.identifyReferences(declaration)
)
})
}
NgRxActionInspector.prototype.identifyReferences = function(declaration) {
var parser = new action_rule_runner_1.ActionResolverRunner({
dispatchers: [
new resolvers_1.StoreDispatcherResolver(),
new resolvers_1.EffectDispatcherRule()
],
handlers: [
new resolvers_1.ReducerProcessingResolver(),
new resolvers_1.EffectProcessingResolver()
]
})
var references = declaration
.findReferences()
.flatMap(function(referenceSymbol) {
return referenceSymbol.getReferences()
})
return parser.run(references)
}
return NgRxActionInspector
})()
exports.NgRxActionInspector = NgRxActionInspector