ngrx-uml
Version:
NGRX to Plant UML diagram
37 lines (36 loc) • 1.98 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModulesConvertContextFactory = void 0;
const chalk_1 = __importDefault(require("chalk"));
const loglevel_1 = __importDefault(require("loglevel"));
const typescript_1 = require("typescript");
const type_kind_enum_1 = require("../../core/converters/models/type-kind.enum");
const item_convert_context_1 = require("../../impl/converters/item-convert.context");
const ng_module_converter_1 = require("./node-converters/ng-module.converter");
class ModulesConvertContextFactory {
create(program, typeChecker, converter, _lastContext) {
this.configureConverter(converter);
return new item_convert_context_1.ItemConvertContext('Modules', program, typeChecker, converter, [type_kind_enum_1.TypeKind.Action, type_kind_enum_1.TypeKind.Reducer, type_kind_enum_1.TypeKind.NgModule, type_kind_enum_1.TypeKind.RegisteredReducer], undefined, this.onFinish);
}
configureConverter(converter) {
converter.registerConverters({
[typescript_1.SyntaxKind.ClassDeclaration]: [new ng_module_converter_1.NgModuleConverter],
}, {});
// TODO: temporary filter
// converter.nodeFilter = (node: ts.Node): boolean => !node.getSourceFile().fileName.includes('/ngrx/modules/');
// node.getSourceFile().fileName.includes('books.module.ts');
}
onFinish(context) {
const result = context.getRawResult();
if (!result.size) {
loglevel_1.default.info(chalk_1.default.yellow(`Nothing found in context: ${context.name}`));
}
for (const [kind, map] of result.entries()) {
loglevel_1.default.info(`Found: ${map.size} ${type_kind_enum_1.TypeKind[kind]}s`);
}
}
}
exports.ModulesConvertContextFactory = ModulesConvertContextFactory;
;