ngrx-vis
Version:
<p align="center"> <img src="https://github.com/co-IT/ngrx-vis/blob/master/assets/logo.png?raw=true"> </p>
36 lines (35 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var path_1 = require("path");
var ts_morph_1 = require("ts-morph");
var ngrx_1 = require("../utils/ngrx");
var ts_morph_2 = require("../utils/ts-morph");
var EffectProcessingResolver = /** @class */ (function () {
function EffectProcessingResolver() {
}
EffectProcessingResolver.prototype.canExecute = function (actionReference) {
var caller = ts_morph_2.getCaller(actionReference.getNode());
return !caller ? false : caller.getText().includes('ofType(');
};
EffectProcessingResolver.prototype.execute = function (actionReference) {
var effectDeclaration = actionReference
.getNode()
.getFirstAncestorByKind(ts_morph_1.SyntaxKind.PropertyDeclaration);
var propertyName = effectDeclaration === null || effectDeclaration === void 0 ? void 0 : effectDeclaration.getName();
var fileName = path_1.basename(actionReference.getSourceFile().getFilePath());
return {
caption: propertyName + "\\n" + fileName,
fileName: fileName,
filePath: actionReference.getSourceFile().getFilePath(),
category: 'effect',
followUpActions: effectDeclaration && !this.isDispatchDisabled(effectDeclaration)
? ngrx_1.extractAllActionTypes(effectDeclaration)
: []
};
};
EffectProcessingResolver.prototype.isDispatchDisabled = function (effectDeclaration) {
return effectDeclaration.getText().includes('{ dispatch: false }');
};
return EffectProcessingResolver;
}());
exports.EffectProcessingResolver = EffectProcessingResolver;