UNPKG

bobflux-gen

Version:

Generator for monkey files in bobflux application.

40 lines (39 loc) 1.27 kB
"use strict"; var ts = require("typescript"); var tsa = require("../tsAnalyzer"); function create(saveCallback) { return { accept: function (n) { return n.kind === ts.SyntaxKind.ImportDeclaration; }, visit: function (id) { var bindings = id.importClause.namedBindings; var path = id.moduleSpecifier; if (isNamespaceImport(bindings)) { saveCallback({ prefix: bindings.name.text, relativePath: path.text, fullPath: tsa.resolvePathStringLiteral(path), types: [] }); } else { saveCallback({ prefix: null, relativePath: path.text, fullPath: tsa.resolvePathStringLiteral(path), types: bindings.elements.map(function (is) { return { targetType: is.name.text, sourceType: (is.propertyName || is.name).text }; }) }); } } }; } exports.create = create; function isNamespaceImport(ni) { return 'name' in ni; }