UNPKG

ng-diff-match-patch-att

Version:

A Diff-Match-Patch component for your Angular 6+ applications

81 lines (80 loc) 4.91 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { DiffMatchPatch } from './diffMatchPatch'; export class DiffMatchPatchService { /** * @param {?} dmp */ constructor(dmp) { this.dmp = dmp; } /** * @return {?} */ ngOnInit() { } /** * @param {?} left * @param {?} right * @return {?} */ getDiff(left, right) { return this.dmp.diff_main(left, right); } /** * @param {?} left * @param {?} right * @return {?} */ getSemanticDiff(left, right) { /** @type {?} */ const diffs = this.dmp.diff_main(left, right); this.dmp.diff_cleanupSemantic(diffs); return diffs; } /** * @param {?} left * @param {?} right * @return {?} */ getProcessingDiff(left, right) { /** @type {?} */ const diffs = this.dmp.diff_main(left, right); this.dmp.diff_cleanupEfficiency(diffs); return diffs; } /** * @param {?} left * @param {?} right * @return {?} */ getLineDiff(left, right) { /** @type {?} */ const chars = this.dmp.diff_linesToChars_(left, right); /** @type {?} */ const diffs = this.dmp.diff_main(chars.chars1, chars.chars2, false); this.dmp.diff_charsToLines_(diffs, chars.lineArray); return diffs; } /** * @return {?} */ getDmp() { return this.dmp; } } DiffMatchPatchService.decorators = [ { type: Injectable }, ]; /** @nocollapse */ DiffMatchPatchService.ctorParameters = () => [ { type: DiffMatchPatch } ]; if (false) { /** @type {?} */ DiffMatchPatchService.prototype.dmp; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZk1hdGNoUGF0Y2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRpZmYtbWF0Y2gtcGF0Y2gtYXR0LyIsInNvdXJjZXMiOlsibGliL2RpZmZNYXRjaFBhdGNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRzFELE1BQU07Ozs7SUFFSixZQUFvQixHQUFtQjtRQUFuQixRQUFHLEdBQUgsR0FBRyxDQUFnQjtLQUFPOzs7O0lBRTlDLFFBQVE7S0FFUDs7Ozs7O0lBRUQsT0FBTyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDekM7Ozs7OztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTs7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNkOzs7Ozs7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsS0FBYTs7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNkOzs7Ozs7SUFFRCxXQUFXLENBQUMsSUFBWSxFQUFFLEtBQWE7O1FBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztRQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDZDs7OztJQUVELE1BQU07UUFDSixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztLQUNqQjs7O1lBbENGLFVBQVU7Ozs7WUFGRixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWZmTWF0Y2hQYXRjaCwgRGlmZk9wIH0gZnJvbSAnLi9kaWZmTWF0Y2hQYXRjaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEaWZmTWF0Y2hQYXRjaFNlcnZpY2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZG1wOiBEaWZmTWF0Y2hQYXRjaCkgeyAgIH1cblxuICBuZ09uSW5pdCAoKSB7XG5cbiAgfVxuXG4gIGdldERpZmYobGVmdDogc3RyaW5nLCByaWdodDogc3RyaW5nKSB7XG4gICAgIHJldHVybiB0aGlzLmRtcC5kaWZmX21haW4obGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgZ2V0U2VtYW50aWNEaWZmKGxlZnQ6IHN0cmluZywgcmlnaHQ6IHN0cmluZykge1xuICAgIGNvbnN0IGRpZmZzID0gdGhpcy5kbXAuZGlmZl9tYWluKGxlZnQsIHJpZ2h0KTtcbiAgICB0aGlzLmRtcC5kaWZmX2NsZWFudXBTZW1hbnRpYyhkaWZmcyk7XG4gICAgcmV0dXJuIGRpZmZzO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc2luZ0RpZmYobGVmdDogc3RyaW5nLCByaWdodDogc3RyaW5nKSB7XG4gICAgY29uc3QgZGlmZnMgPSB0aGlzLmRtcC5kaWZmX21haW4obGVmdCwgcmlnaHQpO1xuICAgIHRoaXMuZG1wLmRpZmZfY2xlYW51cEVmZmljaWVuY3koZGlmZnMpO1xuICAgIHJldHVybiBkaWZmcztcbiAgfVxuXG4gIGdldExpbmVEaWZmKGxlZnQ6IHN0cmluZywgcmlnaHQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNoYXJzID0gdGhpcy5kbXAuZGlmZl9saW5lc1RvQ2hhcnNfKGxlZnQsIHJpZ2h0KTtcbiAgICBjb25zdCBkaWZmcyA9IHRoaXMuZG1wLmRpZmZfbWFpbihjaGFycy5jaGFyczEsIGNoYXJzLmNoYXJzMiwgZmFsc2UpO1xuICAgIHRoaXMuZG1wLmRpZmZfY2hhcnNUb0xpbmVzXyhkaWZmcywgY2hhcnMubGluZUFycmF5KTtcbiAgICByZXR1cm4gZGlmZnM7XG4gIH1cblxuICBnZXREbXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG1wO1xuICB9XG5cbn1cbiJdfQ==