UNPKG

tsd-jsdoc

Version:

Compiles JSDoc annotated javascript into a Typescript Declaration File (.d.ts).

37 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = require("path"); const fs = require("fs"); const helper = require("jsdoc/util/templateHelper"); const Emitter_1 = require("./Emitter"); const logger_1 = require("./logger"); function publish(data, opts) { data({ undocumented: true }).remove(); const docs = data().get().filter(d => !d.inherited || d.overrides); logger_1.setVerbose(!!opts.verbose); const emitter = new Emitter_1.Emitter(opts); emitter.parse(docs); if (opts.destination === 'console') { console.log(emitter.emit()); } else { try { fs.mkdirSync(opts.destination); } catch (e) { if (e.code !== 'EEXIST') { throw e; } } const pkgArray = helper.find(data, { kind: 'package' }) || []; const pkg = pkgArray[0]; let definitionName = 'types'; if (pkg && pkg.name) { definitionName = pkg.name.split('/').pop() || definitionName; } const out = path.join(opts.destination, opts.outFile || `${definitionName}.d.ts`); fs.writeFileSync(out, emitter.emit()); } } exports.publish = publish; //# sourceMappingURL=publish.js.map