UNPKG

@code-to-json/core

Version:

[![Build Status](https://travis-ci.org/code-to-json/code-to-json.svg?branch=master)](https://travis-ci.org/code-to-json/code-to-json) [![Build Status](https://dev.azure.com/code-to-json/code-to-json/_apis/build/status/code-to-json.code-to-json)](https://d

50 lines 3.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("@code-to-json/utils"); const amd_dependency_1 = require("./amd-dependency"); const file_reference_1 = require("./file-reference"); /** * Serialize a SourceFile to a POJO * @param sourceFile SourceFile to serialize * @param checker A type-checker * @param ref Refernece to the SourceFile being serialized * @param _queue Processing queue */ function serializeSourceFile(sourceFile, checker, ref, _queue) { const { fileName, moduleName, isDeclarationFile, amdDependencies, referencedFiles: _referencedFiles, typeReferenceDirectives: _typeReferenceDirectives, libReferenceDirectives: _libReferenceDirectives // statements: _statements } = sourceFile; // tslint:disable-next-line:no-commented-code // const statements = _statements.map(s => _queue.queue(s, 'node', checker)).filter(isRef); const basicInfo = { id: utils_1.refId(ref), entity: 'sourceFile', moduleName, fileName, isDeclarationFile // statements }; if (amdDependencies && amdDependencies.length > 0) { basicInfo.amdDependencies = amdDependencies.map(amd_dependency_1.default); } if (_referencedFiles && _referencedFiles.length > 0) { basicInfo.referencedFiles = _referencedFiles.map(file_reference_1.default); } if (_typeReferenceDirectives && _typeReferenceDirectives.length > 0) { basicInfo.referencedFiles = _typeReferenceDirectives.map(file_reference_1.default); } if (_libReferenceDirectives && _libReferenceDirectives.length > 0) { basicInfo.referencedFiles = _libReferenceDirectives.map(file_reference_1.default); } /** * Take the source file's AST node, and use the checker * to obtain a Symbol (AST + Type Information, via the binder) */ const sym = checker.getSymbolAtLocation(sourceFile); if (sym) { basicInfo.symbol = _queue.queue(sym, 'symbol', checker); } return basicInfo; } exports.default = serializeSourceFile; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VyaWFsaXplcnMvc291cmNlLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBNEM7QUFLNUMscURBQW1GO0FBQ25GLHFEQUFtRjtBQWFuRjs7Ozs7O0dBTUc7QUFDSCxTQUF3QixtQkFBbUIsQ0FDekMsVUFBc0IsRUFDdEIsT0FBb0IsRUFDcEIsR0FBa0IsRUFDbEIsTUFBdUI7SUFFdkIsTUFBTSxFQUNKLFFBQVEsRUFDUixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixlQUFlLEVBQUUsZ0JBQWdCLEVBQ2pDLHVCQUF1QixFQUFFLHdCQUF3QixFQUNqRCxzQkFBc0IsRUFBRSx1QkFBdUI7SUFDL0MsMEJBQTBCO01BQzNCLEdBQUcsVUFBVSxDQUFDO0lBRWYsNkNBQTZDO0lBQzdDLDJGQUEyRjtJQUMzRixNQUFNLFNBQVMsR0FBeUI7UUFDdEMsRUFBRSxFQUFFLGFBQUssQ0FBQyxHQUFHLENBQUM7UUFDZCxNQUFNLEVBQUUsWUFBWTtRQUNwQixVQUFVO1FBQ1YsUUFBUTtRQUNSLGlCQUFpQjtRQUNqQixhQUFhO0tBQ2QsQ0FBQztJQUNGLElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ2pELFNBQVMsQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyx3QkFBc0IsQ0FBQyxDQUFDO0tBQ3pFO0lBQ0QsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ25ELFNBQVMsQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLHdCQUFzQixDQUFDLENBQUM7S0FDMUU7SUFDRCxJQUFJLHdCQUF3QixJQUFJLHdCQUF3QixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDbkUsU0FBUyxDQUFDLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsd0JBQXNCLENBQUMsQ0FBQztLQUNsRjtJQUNELElBQUksdUJBQXVCLElBQUksdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNqRSxTQUFTLENBQUMsZUFBZSxHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyx3QkFBc0IsQ0FBQyxDQUFDO0tBQ2pGO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELElBQUksR0FBRyxFQUFFO1FBQ1AsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDekQ7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBakRELHNDQWlEQyJ9