UNPKG

751 BJavaScriptView Raw
1/**
2 * Adds support for reusable partial jsdoc files.
3 *
4 * @module plugins/partial
5 */
6'use strict';
7
8var env = require('jsdoc/env');
9var fs = require('jsdoc/fs');
10var path = require('path');
11
12exports.handlers = {
13 /**
14 * Include a partial jsdoc
15 *
16 * @param e
17 * @param e.filename
18 * @param e.source
19 * @example
20 * @partial "partial_doc.jsdoc"
21 */
22 beforeParse: function(e) {
23 e.source = e.source.replace(/(@partial ".*")+/g, function($) {
24 var pathArg = $.match(/".*"/)[0].replace(/"/g, '');
25 var fullPath = path.join(e.filename, '..', pathArg);
26
27 var partialData = fs.readFileSync(fullPath, env.opts.encoding);
28
29 return partialData;
30 });
31 }
32};