UNPKG

dgeni

Version:

Flexible JavaScript documentation generator used by both AngularJS and Angular

54 lines 1.78 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.docDiffLoggerPackage = void 0; var clonedeep_1 = __importDefault(require("clonedeep")); var objectdiff_1 = require("objectdiff"); var Package_1 = require("../Package"); var firstDocs, startDocs, endDocs, lastDocs; var options = { start: null, end: null }; exports.docDiffLoggerPackage = new Package_1.Package('docDiffLogger') .factory('docDiffLoggerOptions', function () { return options; }) .eventHandler('processorStart', function () { return function capturePreviousDocs(event, processor, docs) { firstDocs = firstDocs || clonedeep_1.default(docs); if (options.start === processor.name) { startDocs = clonedeep_1.default(docs); } }; }) .eventHandler('processorEnd', function (log) { return function (_event, processor, docs) { lastDocs = docs; if (options.end === processor.name) { endDocs = clonedeep_1.default(docs); logDiff(log); } }; }) .eventHandler('generationEnd', function (log) { return function () { if (options.start && !startDocs) { throw new Error('docDiffLogger: missing start processor'); } if (options.end && !endDocs) { throw new Error('docDiffLogger: missing end processor'); } if (!options.end) { logDiff(log); } }; }); function logDiff(log) { var changes = objectdiff_1.diff(startDocs || firstDocs, endDocs || lastDocs); log.info(options); log.info(changes); } //# sourceMappingURL=docDiffLogger.js.map