UNPKG

ngrx-vis

Version:

<p align="center"> <img src="https://github.com/co-IT/ngrx-vis/blob/master/assets/logo.png?raw=true"> </p>

75 lines (74 loc) 3.27 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); }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; 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 create_id_1 = require("./create-id"); var NgRxVanillaInspector = /** @class */ (function () { function NgRxVanillaInspector(pathToTsConfig, actionFilesGlob) { this.pathToTsConfig = pathToTsConfig; this.actionFilesGlob = actionFilesGlob; this.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()] }); } NgRxVanillaInspector.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); }); }; NgRxVanillaInspector.prototype.findActions = function (file) { var _this = this; return file .getVariableDeclarations() .filter(ngrx_1.isTypedAction) .map(function (a) { return a; }) .map(function (declaration) { return (__assign({ id: create_id_1.createId(), filePath: file.getFilePath(), actionMeta: __assign(__assign({ declaredName: declaration.getName() }, ngrx_1.segmentAction(ngrx_1.extractActionType(declaration))), { payloadType: ngrx_1.extractActionPayload(declaration) }) }, _this.identifyReferences(declaration))); }); }; NgRxVanillaInspector.prototype.identifyReferences = function (declaration) { var references = declaration .findReferences() .reduce(function (references, referencedSymbol) { return __spread(references, referencedSymbol.getReferences()); }, []); return this.parser.run(references); }; return NgRxVanillaInspector; }()); exports.NgRxVanillaInspector = NgRxVanillaInspector;