UNPKG

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
'use strict' 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