mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-21 14:51:29 +00:00
* feat: implement OpenAPI Sync * feat: enhance focus styles and error handling across components - Added focus-visible styles for buttons and tags in Swagger and Modal components to improve accessibility. - Updated ConnectSpecForm to ensure source URL is set only if the file path is valid. - Enhanced clipboard copy functionality in SpecInfoCard with error handling and success notifications. - Improved ExpandableEndpointRow to handle loading state more robustly. - Refined SyncReviewPage to ensure correct filtering of updated endpoints. - Updated file handling in OpenAPI Sync IPC to support both .yml and .yaml extensions. * fix: improve filename sanitization in OpenAPI Sync IPC - Updated filename sanitization logic to ensure proper handling of both `name` and `filename` properties, enhancing compatibility with various file formats. - Adjusted the logic to derive the base name from the filename when necessary, ensuring consistent output for generated files. * feat: enhance OpenAPI Sync tab with new overview and header components - Introduced OverviewSection to display summary of collection and spec status, including total endpoints, in-sync counts, and pending updates. - Added OpenAPISyncHeader for improved navigation and actions related to the OpenAPI spec. - Updated CollectionStatusSection to better handle and display collection drift information. - Refined styling for status banners and added new visual elements for better user experience. - Enhanced tooltip functionality in Help component for improved accessibility. * refactor: remove VisualDiffViewer components and add diff package - Deleted VisualDiffViewer components including VisualDiffMeta, VisualDiffDocs, VisualDiffVars, and others to streamline the codebase. - Introduced the 'diff' package in package-lock.json to enhance diff functionality. - Updated utility functions to improve diff status handling and maintainability.
3214 lines
124 KiB
JavaScript
3214 lines
124 KiB
JavaScript
!(function (e, t) {
|
|
'object' == typeof exports && 'object' == typeof module
|
|
? (module.exports = t())
|
|
: 'function' == typeof define && define.amd
|
|
? define('Diff2Html', [], t)
|
|
: 'object' == typeof exports
|
|
? (exports.Diff2Html = t())
|
|
: (e.Diff2Html = t());
|
|
})(this, () => {
|
|
return (
|
|
(e = {
|
|
696: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.convertChangesToDMP = function (e) {
|
|
for (var t, n, i = [], r = 0; r < e.length; r++)
|
|
(n = (t = e[r]).added ? 1 : t.removed ? -1 : 0), i.push([n, t.value]);
|
|
return i;
|
|
});
|
|
},
|
|
826: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.convertChangesToXML = function (e) {
|
|
for (var t = [], n = 0; n < e.length; n++) {
|
|
var i = e[n];
|
|
i.added ? t.push('<ins>') : i.removed && t.push('<del>'),
|
|
t.push(
|
|
i.value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"')
|
|
),
|
|
i.added ? t.push('</ins>') : i.removed && t.push('</del>');
|
|
}
|
|
return t.join('');
|
|
});
|
|
},
|
|
976: (e, t, n) => {
|
|
'use strict';
|
|
var i;
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffArrays = function (e, t, n) {
|
|
return r.diff(e, t, n);
|
|
}),
|
|
(t.arrayDiff = void 0);
|
|
var r = new ((i = n(913)) && i.__esModule ? i : { default: i }).default();
|
|
(t.arrayDiff = r),
|
|
(r.tokenize = function (e) {
|
|
return e.slice();
|
|
}),
|
|
(r.join = r.removeEmpty =
|
|
function (e) {
|
|
return e;
|
|
});
|
|
},
|
|
913: (e, t) => {
|
|
'use strict';
|
|
function n() {}
|
|
function i(e, t, n, i, r) {
|
|
for (var s = 0, o = t.length, a = 0, l = 0; s < o; s++) {
|
|
var c = t[s];
|
|
if (c.removed) {
|
|
if (((c.value = e.join(i.slice(l, l + c.count))), (l += c.count), s && t[s - 1].added)) {
|
|
var d = t[s - 1];
|
|
(t[s - 1] = t[s]), (t[s] = d);
|
|
}
|
|
} else {
|
|
if (!c.added && r) {
|
|
var f = n.slice(a, a + c.count);
|
|
(f = f.map(function (e, t) {
|
|
var n = i[l + t];
|
|
return n.length > e.length ? n : e;
|
|
})),
|
|
(c.value = e.join(f));
|
|
} else c.value = e.join(n.slice(a, a + c.count));
|
|
(a += c.count), c.added || (l += c.count);
|
|
}
|
|
}
|
|
var u = t[o - 1];
|
|
return (
|
|
o > 1 &&
|
|
'string' == typeof u.value &&
|
|
(u.added || u.removed) &&
|
|
e.equals('', u.value) &&
|
|
((t[o - 2].value += u.value), t.pop()),
|
|
t
|
|
);
|
|
}
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.default = n),
|
|
(n.prototype = {
|
|
diff: function (e, t) {
|
|
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
|
|
r = n.callback;
|
|
'function' == typeof n && ((r = n), (n = {})), (this.options = n);
|
|
var s = this;
|
|
function o(e) {
|
|
return r
|
|
? (setTimeout(function () {
|
|
r(void 0, e);
|
|
}, 0),
|
|
!0)
|
|
: e;
|
|
}
|
|
(e = this.castInput(e)), (t = this.castInput(t)), (e = this.removeEmpty(this.tokenize(e)));
|
|
var a = (t = this.removeEmpty(this.tokenize(t))).length,
|
|
l = e.length,
|
|
c = 1,
|
|
d = a + l;
|
|
n.maxEditLength && (d = Math.min(d, n.maxEditLength));
|
|
var f = [{ newPos: -1, components: [] }],
|
|
u = this.extractCommon(f[0], t, e, 0);
|
|
if (f[0].newPos + 1 >= a && u + 1 >= l) return o([{ value: this.join(t), count: t.length }]);
|
|
function h() {
|
|
for (var n = -1 * c; n <= c; n += 2) {
|
|
var r = void 0,
|
|
d = f[n - 1],
|
|
u = f[n + 1],
|
|
h = (u ? u.newPos : 0) - n;
|
|
d && (f[n - 1] = void 0);
|
|
var p = d && d.newPos + 1 < a,
|
|
b = u && 0 <= h && h < l;
|
|
if (p || b) {
|
|
if (
|
|
(!p || (b && d.newPos < u.newPos)
|
|
? ((r = { newPos: (g = u).newPos, components: g.components.slice(0) }),
|
|
s.pushComponent(r.components, void 0, !0))
|
|
: ((r = d).newPos++, s.pushComponent(r.components, !0, void 0)),
|
|
(h = s.extractCommon(r, t, e, n)),
|
|
r.newPos + 1 >= a && h + 1 >= l)
|
|
)
|
|
return o(i(s, r.components, t, e, s.useLongestToken));
|
|
f[n] = r;
|
|
} else f[n] = void 0;
|
|
}
|
|
var g;
|
|
c++;
|
|
}
|
|
if (r)
|
|
!(function e() {
|
|
setTimeout(function () {
|
|
if (c > d) return r();
|
|
h() || e();
|
|
}, 0);
|
|
})();
|
|
else
|
|
for (; c <= d; ) {
|
|
var p = h();
|
|
if (p) return p;
|
|
}
|
|
},
|
|
pushComponent: function (e, t, n) {
|
|
var i = e[e.length - 1];
|
|
i && i.added === t && i.removed === n
|
|
? (e[e.length - 1] = { count: i.count + 1, added: t, removed: n })
|
|
: e.push({ count: 1, added: t, removed: n });
|
|
},
|
|
extractCommon: function (e, t, n, i) {
|
|
for (
|
|
var r = t.length, s = n.length, o = e.newPos, a = o - i, l = 0;
|
|
o + 1 < r && a + 1 < s && this.equals(t[o + 1], n[a + 1]);
|
|
|
|
)
|
|
o++, a++, l++;
|
|
return l && e.components.push({ count: l }), (e.newPos = o), a;
|
|
},
|
|
equals: function (e, t) {
|
|
return this.options.comparator
|
|
? this.options.comparator(e, t)
|
|
: e === t || (this.options.ignoreCase && e.toLowerCase() === t.toLowerCase());
|
|
},
|
|
removeEmpty: function (e) {
|
|
for (var t = [], n = 0; n < e.length; n++) e[n] && t.push(e[n]);
|
|
return t;
|
|
},
|
|
castInput: function (e) {
|
|
return e;
|
|
},
|
|
tokenize: function (e) {
|
|
return e.split('');
|
|
},
|
|
join: function (e) {
|
|
return e.join('');
|
|
}
|
|
});
|
|
},
|
|
630: (e, t, n) => {
|
|
'use strict';
|
|
var i;
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffChars = function (e, t, n) {
|
|
return r.diff(e, t, n);
|
|
}),
|
|
(t.characterDiff = void 0);
|
|
var r = new ((i = n(913)) && i.__esModule ? i : { default: i }).default();
|
|
t.characterDiff = r;
|
|
},
|
|
852: (e, t, n) => {
|
|
'use strict';
|
|
var i;
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffCss = function (e, t, n) {
|
|
return r.diff(e, t, n);
|
|
}),
|
|
(t.cssDiff = void 0);
|
|
var r = new ((i = n(913)) && i.__esModule ? i : { default: i }).default();
|
|
(t.cssDiff = r),
|
|
(r.tokenize = function (e) {
|
|
return e.split(/([{}:;,]|\s+)/);
|
|
});
|
|
},
|
|
276: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffJson = function (e, t, n) {
|
|
return l.diff(e, t, n);
|
|
}),
|
|
(t.canonicalize = c),
|
|
(t.jsonDiff = void 0);
|
|
var i,
|
|
r = (i = n(913)) && i.__esModule ? i : { default: i },
|
|
s = n(187);
|
|
function o(e) {
|
|
return (
|
|
(o =
|
|
'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
|
|
? function (e) {
|
|
return typeof e;
|
|
}
|
|
: function (e) {
|
|
return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype
|
|
? 'symbol'
|
|
: typeof e;
|
|
}),
|
|
o(e)
|
|
);
|
|
}
|
|
var a = Object.prototype.toString,
|
|
l = new r.default();
|
|
function c(e, t, n, i, r) {
|
|
var s, l;
|
|
for (t = t || [], n = n || [], i && (e = i(r, e)), s = 0; s < t.length; s += 1) if (t[s] === e) return n[s];
|
|
if ('[object Array]' === a.call(e)) {
|
|
for (t.push(e), l = new Array(e.length), n.push(l), s = 0; s < e.length; s += 1) l[s] = c(e[s], t, n, i, r);
|
|
return t.pop(), n.pop(), l;
|
|
}
|
|
if ((e && e.toJSON && (e = e.toJSON()), 'object' === o(e) && null !== e)) {
|
|
t.push(e), (l = {}), n.push(l);
|
|
var d,
|
|
f = [];
|
|
for (d in e) e.hasOwnProperty(d) && f.push(d);
|
|
for (f.sort(), s = 0; s < f.length; s += 1) l[(d = f[s])] = c(e[d], t, n, i, d);
|
|
t.pop(), n.pop();
|
|
} else l = e;
|
|
return l;
|
|
}
|
|
(t.jsonDiff = l),
|
|
(l.useLongestToken = !0),
|
|
(l.tokenize = s.lineDiff.tokenize),
|
|
(l.castInput = function (e) {
|
|
var t = this.options,
|
|
n = t.undefinedReplacement,
|
|
i = t.stringifyReplacer,
|
|
r =
|
|
void 0 === i
|
|
? function (e, t) {
|
|
return void 0 === t ? n : t;
|
|
}
|
|
: i;
|
|
return 'string' == typeof e ? e : JSON.stringify(c(e, null, null, r), r, ' ');
|
|
}),
|
|
(l.equals = function (e, t) {
|
|
return r.default.prototype.equals.call(l, e.replace(/,([\r\n])/g, '$1'), t.replace(/,([\r\n])/g, '$1'));
|
|
});
|
|
},
|
|
187: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffLines = function (e, t, n) {
|
|
return o.diff(e, t, n);
|
|
}),
|
|
(t.diffTrimmedLines = function (e, t, n) {
|
|
var i = (0, s.generateOptions)(n, { ignoreWhitespace: !0 });
|
|
return o.diff(e, t, i);
|
|
}),
|
|
(t.lineDiff = void 0);
|
|
var i,
|
|
r = (i = n(913)) && i.__esModule ? i : { default: i },
|
|
s = n(9),
|
|
o = new r.default();
|
|
(t.lineDiff = o),
|
|
(o.tokenize = function (e) {
|
|
var t = [],
|
|
n = e.split(/(\n|\r\n)/);
|
|
n[n.length - 1] || n.pop();
|
|
for (var i = 0; i < n.length; i++) {
|
|
var r = n[i];
|
|
i % 2 && !this.options.newlineIsToken
|
|
? (t[t.length - 1] += r)
|
|
: (this.options.ignoreWhitespace && (r = r.trim()), t.push(r));
|
|
}
|
|
return t;
|
|
});
|
|
},
|
|
146: (e, t, n) => {
|
|
'use strict';
|
|
var i;
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffSentences = function (e, t, n) {
|
|
return r.diff(e, t, n);
|
|
}),
|
|
(t.sentenceDiff = void 0);
|
|
var r = new ((i = n(913)) && i.__esModule ? i : { default: i }).default();
|
|
(t.sentenceDiff = r),
|
|
(r.tokenize = function (e) {
|
|
return e.split(/(\S.+?[.!?])(?=\s+|$)/);
|
|
});
|
|
},
|
|
303: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffWords = function (e, t, n) {
|
|
return (n = (0, s.generateOptions)(n, { ignoreWhitespace: !0 })), l.diff(e, t, n);
|
|
}),
|
|
(t.diffWordsWithSpace = function (e, t, n) {
|
|
return l.diff(e, t, n);
|
|
}),
|
|
(t.wordDiff = void 0);
|
|
var i,
|
|
r = (i = n(913)) && i.__esModule ? i : { default: i },
|
|
s = n(9),
|
|
o = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,
|
|
a = /\S/,
|
|
l = new r.default();
|
|
(t.wordDiff = l),
|
|
(l.equals = function (e, t) {
|
|
return (
|
|
this.options.ignoreCase && ((e = e.toLowerCase()), (t = t.toLowerCase())),
|
|
e === t || (this.options.ignoreWhitespace && !a.test(e) && !a.test(t))
|
|
);
|
|
}),
|
|
(l.tokenize = function (e) {
|
|
for (var t = e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/), n = 0; n < t.length - 1; n++)
|
|
!t[n + 1] &&
|
|
t[n + 2] &&
|
|
o.test(t[n]) &&
|
|
o.test(t[n + 2]) &&
|
|
((t[n] += t[n + 2]), t.splice(n + 1, 2), n--);
|
|
return t;
|
|
});
|
|
},
|
|
785: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
Object.defineProperty(t, 'Diff', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return r.default;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffChars', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return s.diffChars;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffWords', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return o.diffWords;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffWordsWithSpace', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return o.diffWordsWithSpace;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffLines', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return a.diffLines;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffTrimmedLines', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return a.diffTrimmedLines;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffSentences', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return l.diffSentences;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffCss', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return c.diffCss;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffJson', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return d.diffJson;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'canonicalize', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return d.canonicalize;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'diffArrays', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return f.diffArrays;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'applyPatch', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return u.applyPatch;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'applyPatches', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return u.applyPatches;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'parsePatch', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return h.parsePatch;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'merge', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return p.merge;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'structuredPatch', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return b.structuredPatch;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'createTwoFilesPatch', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return b.createTwoFilesPatch;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'createPatch', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return b.createPatch;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'convertChangesToDMP', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return g.convertChangesToDMP;
|
|
}
|
|
}),
|
|
Object.defineProperty(t, 'convertChangesToXML', {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return m.convertChangesToXML;
|
|
}
|
|
});
|
|
var i,
|
|
r = (i = n(913)) && i.__esModule ? i : { default: i },
|
|
s = n(630),
|
|
o = n(303),
|
|
a = n(187),
|
|
l = n(146),
|
|
c = n(852),
|
|
d = n(276),
|
|
f = n(976),
|
|
u = n(690),
|
|
h = n(719),
|
|
p = n(51),
|
|
b = n(286),
|
|
g = n(696),
|
|
m = n(826);
|
|
},
|
|
690: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.applyPatch = o),
|
|
(t.applyPatches = function (e, t) {
|
|
'string' == typeof e && (e = (0, r.parsePatch)(e));
|
|
var n = 0;
|
|
!(function i() {
|
|
var r = e[n++];
|
|
if (!r) return t.complete();
|
|
t.loadFile(r, function (e, n) {
|
|
if (e) return t.complete(e);
|
|
var s = o(n, r, t);
|
|
t.patched(r, s, function (e) {
|
|
if (e) return t.complete(e);
|
|
i();
|
|
});
|
|
});
|
|
})();
|
|
});
|
|
var i,
|
|
r = n(719),
|
|
s = (i = n(169)) && i.__esModule ? i : { default: i };
|
|
function o(e, t) {
|
|
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
|
|
if (('string' == typeof t && (t = (0, r.parsePatch)(t)), Array.isArray(t))) {
|
|
if (t.length > 1) throw new Error('applyPatch only works with a single input.');
|
|
t = t[0];
|
|
}
|
|
var i,
|
|
o,
|
|
a = e.split(/\r\n|[\n\v\f\r\x85]/),
|
|
l = e.match(/\r\n|[\n\v\f\r\x85]/g) || [],
|
|
c = t.hunks,
|
|
d =
|
|
n.compareLine ||
|
|
function (e, t, n, i) {
|
|
return t === i;
|
|
},
|
|
f = 0,
|
|
u = n.fuzzFactor || 0,
|
|
h = 0,
|
|
p = 0;
|
|
function b(e, t) {
|
|
for (var n = 0; n < e.lines.length; n++) {
|
|
var i = e.lines[n],
|
|
r = i.length > 0 ? i[0] : ' ',
|
|
s = i.length > 0 ? i.substr(1) : i;
|
|
if (' ' === r || '-' === r) {
|
|
if (!d(t + 1, a[t], r, s) && ++f > u) return !1;
|
|
t++;
|
|
}
|
|
}
|
|
return !0;
|
|
}
|
|
for (var g = 0; g < c.length; g++) {
|
|
for (
|
|
var m = c[g], v = a.length - m.oldLines, y = 0, w = p + m.oldStart - 1, S = (0, s.default)(w, h, v);
|
|
void 0 !== y;
|
|
y = S()
|
|
)
|
|
if (b(m, w + y)) {
|
|
m.offset = p += y;
|
|
break;
|
|
}
|
|
if (void 0 === y) return !1;
|
|
h = m.offset + m.oldStart + m.oldLines;
|
|
}
|
|
for (var L = 0, C = 0; C < c.length; C++) {
|
|
var x = c[C],
|
|
O = x.oldStart + x.offset + L - 1;
|
|
L += x.newLines - x.oldLines;
|
|
for (var T = 0; T < x.lines.length; T++) {
|
|
var j = x.lines[T],
|
|
_ = j.length > 0 ? j[0] : ' ',
|
|
N = j.length > 0 ? j.substr(1) : j,
|
|
P = x.linedelimiters[T];
|
|
if (' ' === _) O++;
|
|
else if ('-' === _) a.splice(O, 1), l.splice(O, 1);
|
|
else if ('+' === _) a.splice(O, 0, N), l.splice(O, 0, P), O++;
|
|
else if ('\\' === _) {
|
|
var E = x.lines[T - 1] ? x.lines[T - 1][0] : null;
|
|
'+' === E ? (i = !0) : '-' === E && (o = !0);
|
|
}
|
|
}
|
|
}
|
|
if (i) for (; !a[a.length - 1]; ) a.pop(), l.pop();
|
|
else o && (a.push(''), l.push('\n'));
|
|
for (var M = 0; M < a.length - 1; M++) a[M] = a[M] + l[M];
|
|
return a.join('');
|
|
}
|
|
},
|
|
286: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.structuredPatch = o),
|
|
(t.formatPatch = a),
|
|
(t.createTwoFilesPatch = l),
|
|
(t.createPatch = function (e, t, n, i, r, s) {
|
|
return l(e, e, t, n, i, r, s);
|
|
});
|
|
var i = n(187);
|
|
function r(e) {
|
|
return (
|
|
(function (e) {
|
|
if (Array.isArray(e)) return s(e);
|
|
})(e) ||
|
|
(function (e) {
|
|
if ('undefined' != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
|
|
})(e) ||
|
|
(function (e, t) {
|
|
if (e) {
|
|
if ('string' == typeof e) return s(e, t);
|
|
var n = Object.prototype.toString.call(e).slice(8, -1);
|
|
return (
|
|
'Object' === n && e.constructor && (n = e.constructor.name),
|
|
'Map' === n || 'Set' === n
|
|
? Array.from(e)
|
|
: 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
|
|
? s(e, t)
|
|
: void 0
|
|
);
|
|
}
|
|
})(e) ||
|
|
(function () {
|
|
throw new TypeError(
|
|
'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
|
|
);
|
|
})()
|
|
);
|
|
}
|
|
function s(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
|
|
return i;
|
|
}
|
|
function o(e, t, n, s, o, a, l) {
|
|
l || (l = {}), void 0 === l.context && (l.context = 4);
|
|
var c = (0, i.diffLines)(n, s, l);
|
|
if (c) {
|
|
c.push({ value: '', lines: [] });
|
|
for (
|
|
var d = [],
|
|
f = 0,
|
|
u = 0,
|
|
h = [],
|
|
p = 1,
|
|
b = 1,
|
|
g = function (e) {
|
|
var t = c[e],
|
|
i = t.lines || t.value.replace(/\n$/, '').split('\n');
|
|
if (((t.lines = i), t.added || t.removed)) {
|
|
var o;
|
|
if (!f) {
|
|
var a = c[e - 1];
|
|
(f = p),
|
|
(u = b),
|
|
a &&
|
|
((h = l.context > 0 ? v(a.lines.slice(-l.context)) : []), (f -= h.length), (u -= h.length));
|
|
}
|
|
(o = h).push.apply(
|
|
o,
|
|
r(
|
|
i.map(function (e) {
|
|
return (t.added ? '+' : '-') + e;
|
|
})
|
|
)
|
|
),
|
|
t.added ? (b += i.length) : (p += i.length);
|
|
} else {
|
|
if (f)
|
|
if (i.length <= 2 * l.context && e < c.length - 2) {
|
|
var g;
|
|
(g = h).push.apply(g, r(v(i)));
|
|
} else {
|
|
var m,
|
|
y = Math.min(i.length, l.context);
|
|
(m = h).push.apply(m, r(v(i.slice(0, y))));
|
|
var w = { oldStart: f, oldLines: p - f + y, newStart: u, newLines: b - u + y, lines: h };
|
|
if (e >= c.length - 2 && i.length <= l.context) {
|
|
var S = /\n$/.test(n),
|
|
L = /\n$/.test(s),
|
|
C = 0 == i.length && h.length > w.oldLines;
|
|
!S && C && n.length > 0 && h.splice(w.oldLines, 0, '\\ No newline at end of file'),
|
|
((S || C) && L) || h.push('\\ No newline at end of file');
|
|
}
|
|
d.push(w), (f = 0), (u = 0), (h = []);
|
|
}
|
|
(p += i.length), (b += i.length);
|
|
}
|
|
},
|
|
m = 0;
|
|
m < c.length;
|
|
m++
|
|
)
|
|
g(m);
|
|
return { oldFileName: e, newFileName: t, oldHeader: o, newHeader: a, hunks: d };
|
|
}
|
|
function v(e) {
|
|
return e.map(function (e) {
|
|
return ' ' + e;
|
|
});
|
|
}
|
|
}
|
|
function a(e) {
|
|
var t = [];
|
|
e.oldFileName == e.newFileName && t.push('Index: ' + e.oldFileName),
|
|
t.push('==================================================================='),
|
|
t.push('--- ' + e.oldFileName + (void 0 === e.oldHeader ? '' : '\t' + e.oldHeader)),
|
|
t.push('+++ ' + e.newFileName + (void 0 === e.newHeader ? '' : '\t' + e.newHeader));
|
|
for (var n = 0; n < e.hunks.length; n++) {
|
|
var i = e.hunks[n];
|
|
0 === i.oldLines && (i.oldStart -= 1),
|
|
0 === i.newLines && (i.newStart -= 1),
|
|
t.push('@@ -' + i.oldStart + ',' + i.oldLines + ' +' + i.newStart + ',' + i.newLines + ' @@'),
|
|
t.push.apply(t, i.lines);
|
|
}
|
|
return t.join('\n') + '\n';
|
|
}
|
|
function l(e, t, n, i, r, s, l) {
|
|
return a(o(e, t, n, i, r, s, l));
|
|
}
|
|
},
|
|
51: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.calcLineCount = l),
|
|
(t.merge = function (e, t, n) {
|
|
(e = c(e, n)), (t = c(t, n));
|
|
var i = {};
|
|
(e.index || t.index) && (i.index = e.index || t.index),
|
|
(e.newFileName || t.newFileName) &&
|
|
(d(e)
|
|
? d(t)
|
|
? ((i.oldFileName = f(i, e.oldFileName, t.oldFileName)),
|
|
(i.newFileName = f(i, e.newFileName, t.newFileName)),
|
|
(i.oldHeader = f(i, e.oldHeader, t.oldHeader)),
|
|
(i.newHeader = f(i, e.newHeader, t.newHeader)))
|
|
: ((i.oldFileName = e.oldFileName),
|
|
(i.newFileName = e.newFileName),
|
|
(i.oldHeader = e.oldHeader),
|
|
(i.newHeader = e.newHeader))
|
|
: ((i.oldFileName = t.oldFileName || e.oldFileName),
|
|
(i.newFileName = t.newFileName || e.newFileName),
|
|
(i.oldHeader = t.oldHeader || e.oldHeader),
|
|
(i.newHeader = t.newHeader || e.newHeader))),
|
|
(i.hunks = []);
|
|
for (var r = 0, s = 0, o = 0, a = 0; r < e.hunks.length || s < t.hunks.length; ) {
|
|
var l = e.hunks[r] || { oldStart: 1 / 0 },
|
|
b = t.hunks[s] || { oldStart: 1 / 0 };
|
|
if (u(l, b)) i.hunks.push(h(l, o)), r++, (a += l.newLines - l.oldLines);
|
|
else if (u(b, l)) i.hunks.push(h(b, a)), s++, (o += b.newLines - b.oldLines);
|
|
else {
|
|
var g = {
|
|
oldStart: Math.min(l.oldStart, b.oldStart),
|
|
oldLines: 0,
|
|
newStart: Math.min(l.newStart + o, b.oldStart + a),
|
|
newLines: 0,
|
|
lines: []
|
|
};
|
|
p(g, l.oldStart, l.lines, b.oldStart, b.lines), s++, r++, i.hunks.push(g);
|
|
}
|
|
}
|
|
return i;
|
|
});
|
|
var i = n(286),
|
|
r = n(719),
|
|
s = n(780);
|
|
function o(e) {
|
|
return (
|
|
(function (e) {
|
|
if (Array.isArray(e)) return a(e);
|
|
})(e) ||
|
|
(function (e) {
|
|
if ('undefined' != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
|
|
})(e) ||
|
|
(function (e, t) {
|
|
if (e) {
|
|
if ('string' == typeof e) return a(e, t);
|
|
var n = Object.prototype.toString.call(e).slice(8, -1);
|
|
return (
|
|
'Object' === n && e.constructor && (n = e.constructor.name),
|
|
'Map' === n || 'Set' === n
|
|
? Array.from(e)
|
|
: 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
|
|
? a(e, t)
|
|
: void 0
|
|
);
|
|
}
|
|
})(e) ||
|
|
(function () {
|
|
throw new TypeError(
|
|
'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
|
|
);
|
|
})()
|
|
);
|
|
}
|
|
function a(e, t) {
|
|
(null == t || t > e.length) && (t = e.length);
|
|
for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
|
|
return i;
|
|
}
|
|
function l(e) {
|
|
var t = C(e.lines),
|
|
n = t.oldLines,
|
|
i = t.newLines;
|
|
void 0 !== n ? (e.oldLines = n) : delete e.oldLines, void 0 !== i ? (e.newLines = i) : delete e.newLines;
|
|
}
|
|
function c(e, t) {
|
|
if ('string' == typeof e) {
|
|
if (/^@@/m.test(e) || /^Index:/m.test(e)) return (0, r.parsePatch)(e)[0];
|
|
if (!t) throw new Error('Must provide a base reference or pass in a patch');
|
|
return (0, i.structuredPatch)(void 0, void 0, t, e);
|
|
}
|
|
return e;
|
|
}
|
|
function d(e) {
|
|
return e.newFileName && e.newFileName !== e.oldFileName;
|
|
}
|
|
function f(e, t, n) {
|
|
return t === n ? t : ((e.conflict = !0), { mine: t, theirs: n });
|
|
}
|
|
function u(e, t) {
|
|
return e.oldStart < t.oldStart && e.oldStart + e.oldLines < t.oldStart;
|
|
}
|
|
function h(e, t) {
|
|
return {
|
|
oldStart: e.oldStart,
|
|
oldLines: e.oldLines,
|
|
newStart: e.newStart + t,
|
|
newLines: e.newLines,
|
|
lines: e.lines
|
|
};
|
|
}
|
|
function p(e, t, n, i, r) {
|
|
var s = { offset: t, lines: n, index: 0 },
|
|
a = { offset: i, lines: r, index: 0 };
|
|
for (v(e, s, a), v(e, a, s); s.index < s.lines.length && a.index < a.lines.length; ) {
|
|
var c = s.lines[s.index],
|
|
d = a.lines[a.index];
|
|
if (('-' !== c[0] && '+' !== c[0]) || ('-' !== d[0] && '+' !== d[0]))
|
|
if ('+' === c[0] && ' ' === d[0]) {
|
|
var f;
|
|
(f = e.lines).push.apply(f, o(w(s)));
|
|
} else if ('+' === d[0] && ' ' === c[0]) {
|
|
var u;
|
|
(u = e.lines).push.apply(u, o(w(a)));
|
|
} else
|
|
'-' === c[0] && ' ' === d[0]
|
|
? g(e, s, a)
|
|
: '-' === d[0] && ' ' === c[0]
|
|
? g(e, a, s, !0)
|
|
: c === d
|
|
? (e.lines.push(c), s.index++, a.index++)
|
|
: m(e, w(s), w(a));
|
|
else b(e, s, a);
|
|
}
|
|
y(e, s), y(e, a), l(e);
|
|
}
|
|
function b(e, t, n) {
|
|
var i = w(t),
|
|
r = w(n);
|
|
if (S(i) && S(r)) {
|
|
var a, l;
|
|
if ((0, s.arrayStartsWith)(i, r) && L(n, i, i.length - r.length))
|
|
return void (a = e.lines).push.apply(a, o(i));
|
|
if ((0, s.arrayStartsWith)(r, i) && L(t, r, r.length - i.length))
|
|
return void (l = e.lines).push.apply(l, o(r));
|
|
} else if ((0, s.arrayEqual)(i, r)) {
|
|
var c;
|
|
return void (c = e.lines).push.apply(c, o(i));
|
|
}
|
|
m(e, i, r);
|
|
}
|
|
function g(e, t, n, i) {
|
|
var r,
|
|
s = w(t),
|
|
a = (function (e, t) {
|
|
for (var n = [], i = [], r = 0, s = !1, o = !1; r < t.length && e.index < e.lines.length; ) {
|
|
var a = e.lines[e.index],
|
|
l = t[r];
|
|
if ('+' === l[0]) break;
|
|
if (((s = s || ' ' !== a[0]), i.push(l), r++, '+' === a[0]))
|
|
for (o = !0; '+' === a[0]; ) n.push(a), (a = e.lines[++e.index]);
|
|
l.substr(1) === a.substr(1) ? (n.push(a), e.index++) : (o = !0);
|
|
}
|
|
if (('+' === (t[r] || '')[0] && s && (o = !0), o)) return n;
|
|
for (; r < t.length; ) i.push(t[r++]);
|
|
return { merged: i, changes: n };
|
|
})(n, s);
|
|
a.merged ? (r = e.lines).push.apply(r, o(a.merged)) : m(e, i ? a : s, i ? s : a);
|
|
}
|
|
function m(e, t, n) {
|
|
(e.conflict = !0), e.lines.push({ conflict: !0, mine: t, theirs: n });
|
|
}
|
|
function v(e, t, n) {
|
|
for (; t.offset < n.offset && t.index < t.lines.length; ) {
|
|
var i = t.lines[t.index++];
|
|
e.lines.push(i), t.offset++;
|
|
}
|
|
}
|
|
function y(e, t) {
|
|
for (; t.index < t.lines.length; ) {
|
|
var n = t.lines[t.index++];
|
|
e.lines.push(n);
|
|
}
|
|
}
|
|
function w(e) {
|
|
for (var t = [], n = e.lines[e.index][0]; e.index < e.lines.length; ) {
|
|
var i = e.lines[e.index];
|
|
if (('-' === n && '+' === i[0] && (n = '+'), n !== i[0])) break;
|
|
t.push(i), e.index++;
|
|
}
|
|
return t;
|
|
}
|
|
function S(e) {
|
|
return e.reduce(function (e, t) {
|
|
return e && '-' === t[0];
|
|
}, !0);
|
|
}
|
|
function L(e, t, n) {
|
|
for (var i = 0; i < n; i++) {
|
|
var r = t[t.length - n + i].substr(1);
|
|
if (e.lines[e.index + i] !== ' ' + r) return !1;
|
|
}
|
|
return (e.index += n), !0;
|
|
}
|
|
function C(e) {
|
|
var t = 0,
|
|
n = 0;
|
|
return (
|
|
e.forEach(function (e) {
|
|
if ('string' != typeof e) {
|
|
var i = C(e.mine),
|
|
r = C(e.theirs);
|
|
void 0 !== t && (i.oldLines === r.oldLines ? (t += i.oldLines) : (t = void 0)),
|
|
void 0 !== n && (i.newLines === r.newLines ? (n += i.newLines) : (n = void 0));
|
|
} else void 0 === n || ('+' !== e[0] && ' ' !== e[0]) || n++, void 0 === t || ('-' !== e[0] && ' ' !== e[0]) || t++;
|
|
}),
|
|
{ oldLines: t, newLines: n }
|
|
);
|
|
}
|
|
},
|
|
719: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.parsePatch = function (e) {
|
|
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
|
|
n = e.split(/\r\n|[\n\v\f\r\x85]/),
|
|
i = e.match(/\r\n|[\n\v\f\r\x85]/g) || [],
|
|
r = [],
|
|
s = 0;
|
|
function o() {
|
|
var e = {};
|
|
for (r.push(e); s < n.length; ) {
|
|
var i = n[s];
|
|
if (/^(\-\-\-|\+\+\+|@@)\s/.test(i)) break;
|
|
var o = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(i);
|
|
o && (e.index = o[1]), s++;
|
|
}
|
|
for (a(e), a(e), e.hunks = []; s < n.length; ) {
|
|
var c = n[s];
|
|
if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(c)) break;
|
|
if (/^@@/.test(c)) e.hunks.push(l());
|
|
else {
|
|
if (c && t.strict) throw new Error('Unknown line ' + (s + 1) + ' ' + JSON.stringify(c));
|
|
s++;
|
|
}
|
|
}
|
|
}
|
|
function a(e) {
|
|
var t = /^(---|\+\+\+)\s+(.*)$/.exec(n[s]);
|
|
if (t) {
|
|
var i = '---' === t[1] ? 'old' : 'new',
|
|
r = t[2].split('\t', 2),
|
|
o = r[0].replace(/\\\\/g, '\\');
|
|
/^".*"$/.test(o) && (o = o.substr(1, o.length - 2)),
|
|
(e[i + 'FileName'] = o),
|
|
(e[i + 'Header'] = (r[1] || '').trim()),
|
|
s++;
|
|
}
|
|
}
|
|
function l() {
|
|
var e = s,
|
|
r = n[s++].split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),
|
|
o = {
|
|
oldStart: +r[1],
|
|
oldLines: void 0 === r[2] ? 1 : +r[2],
|
|
newStart: +r[3],
|
|
newLines: void 0 === r[4] ? 1 : +r[4],
|
|
lines: [],
|
|
linedelimiters: []
|
|
};
|
|
0 === o.oldLines && (o.oldStart += 1), 0 === o.newLines && (o.newStart += 1);
|
|
for (
|
|
var a = 0, l = 0;
|
|
s < n.length &&
|
|
!(
|
|
0 === n[s].indexOf('--- ') &&
|
|
s + 2 < n.length &&
|
|
0 === n[s + 1].indexOf('+++ ') &&
|
|
0 === n[s + 2].indexOf('@@')
|
|
);
|
|
s++
|
|
) {
|
|
var c = 0 == n[s].length && s != n.length - 1 ? ' ' : n[s][0];
|
|
if ('+' !== c && '-' !== c && ' ' !== c && '\\' !== c) break;
|
|
o.lines.push(n[s]),
|
|
o.linedelimiters.push(i[s] || '\n'),
|
|
'+' === c ? a++ : '-' === c ? l++ : ' ' === c && (a++, l++);
|
|
}
|
|
if ((a || 1 !== o.newLines || (o.newLines = 0), l || 1 !== o.oldLines || (o.oldLines = 0), t.strict)) {
|
|
if (a !== o.newLines) throw new Error('Added line count did not match for hunk at line ' + (e + 1));
|
|
if (l !== o.oldLines) throw new Error('Removed line count did not match for hunk at line ' + (e + 1));
|
|
}
|
|
return o;
|
|
}
|
|
for (; s < n.length; ) o();
|
|
return r;
|
|
});
|
|
},
|
|
780: (e, t) => {
|
|
'use strict';
|
|
function n(e, t) {
|
|
if (t.length > e.length) return !1;
|
|
for (var n = 0; n < t.length; n++) if (t[n] !== e[n]) return !1;
|
|
return !0;
|
|
}
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.arrayEqual = function (e, t) {
|
|
return e.length === t.length && n(e, t);
|
|
}),
|
|
(t.arrayStartsWith = n);
|
|
},
|
|
169: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.default = function (e, t, n) {
|
|
var i = !0,
|
|
r = !1,
|
|
s = !1,
|
|
o = 1;
|
|
return function a() {
|
|
if (i && !s) {
|
|
if ((r ? o++ : (i = !1), e + o <= n)) return o;
|
|
s = !0;
|
|
}
|
|
if (!r) return s || (i = !0), t <= e - o ? -o++ : ((r = !0), a());
|
|
};
|
|
});
|
|
},
|
|
9: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.generateOptions = function (e, t) {
|
|
if ('function' == typeof e) t.callback = e;
|
|
else if (e) for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]);
|
|
return t;
|
|
});
|
|
},
|
|
397: (e, t) => {
|
|
!(function (e) {
|
|
var t = /\S/,
|
|
n = /\"/g,
|
|
i = /\n/g,
|
|
r = /\r/g,
|
|
s = /\\/g,
|
|
o = /\u2028/,
|
|
a = /\u2029/;
|
|
function l(e) {
|
|
return e.trim ? e.trim() : e.replace(/^\s*|\s*$/g, '');
|
|
}
|
|
function c(e, t, n) {
|
|
if (t.charAt(n) != e.charAt(0)) return !1;
|
|
for (var i = 1, r = e.length; i < r; i++) if (t.charAt(n + i) != e.charAt(i)) return !1;
|
|
return !0;
|
|
}
|
|
(e.tags = { '#': 1, '^': 2, '<': 3, $: 4, '/': 5, '!': 6, '>': 7, '=': 8, _v: 9, '{': 10, '&': 11, _t: 12 }),
|
|
(e.scan = function (n, i) {
|
|
var r,
|
|
s = n.length,
|
|
o = 0,
|
|
a = null,
|
|
d = null,
|
|
f = '',
|
|
u = [],
|
|
h = !1,
|
|
p = 0,
|
|
b = 0,
|
|
g = '{{',
|
|
m = '}}';
|
|
function v() {
|
|
f.length > 0 && (u.push({ tag: '_t', text: new String(f) }), (f = ''));
|
|
}
|
|
function y(n, i) {
|
|
if (
|
|
(v(),
|
|
n &&
|
|
(function () {
|
|
for (var n = !0, i = b; i < u.length; i++)
|
|
if (!(n = e.tags[u[i].tag] < e.tags._v || ('_t' == u[i].tag && null === u[i].text.match(t))))
|
|
return !1;
|
|
return n;
|
|
})())
|
|
)
|
|
for (var r, s = b; s < u.length; s++)
|
|
u[s].text && ((r = u[s + 1]) && '>' == r.tag && (r.indent = u[s].text.toString()), u.splice(s, 1));
|
|
else i || u.push({ tag: '\n' });
|
|
(h = !1), (b = u.length);
|
|
}
|
|
function w(e, t) {
|
|
var n = '=' + m,
|
|
i = e.indexOf(n, t),
|
|
r = l(e.substring(e.indexOf('=', t) + 1, i)).split(' ');
|
|
return (g = r[0]), (m = r[r.length - 1]), i + n.length - 1;
|
|
}
|
|
for (i && ((i = i.split(' ')), (g = i[0]), (m = i[1])), p = 0; p < s; p++)
|
|
0 == o
|
|
? c(g, n, p)
|
|
? (--p, v(), (o = 1))
|
|
: '\n' == n.charAt(p)
|
|
? y(h)
|
|
: (f += n.charAt(p))
|
|
: 1 == o
|
|
? ((p += g.length - 1),
|
|
'=' == (a = (d = e.tags[n.charAt(p + 1)]) ? n.charAt(p + 1) : '_v')
|
|
? ((p = w(n, p)), (o = 0))
|
|
: (d && p++, (o = 2)),
|
|
(h = p))
|
|
: c(m, n, p)
|
|
? (u.push({ tag: a, n: l(f), otag: g, ctag: m, i: '/' == a ? h - g.length : p + m.length }),
|
|
(f = ''),
|
|
(p += m.length - 1),
|
|
(o = 0),
|
|
'{' == a &&
|
|
('}}' == m
|
|
? p++
|
|
: '}' === (r = u[u.length - 1]).n.substr(r.n.length - 1) &&
|
|
(r.n = r.n.substring(0, r.n.length - 1))))
|
|
: (f += n.charAt(p));
|
|
return y(h, !0), u;
|
|
});
|
|
var d = { _t: !0, '\n': !0, $: !0, '/': !0 };
|
|
function f(t, n, i, r) {
|
|
var s,
|
|
o = [],
|
|
a = null,
|
|
l = null;
|
|
for (s = i[i.length - 1]; t.length > 0; ) {
|
|
if (((l = t.shift()), s && '<' == s.tag && !(l.tag in d)))
|
|
throw new Error('Illegal content in < super tag.');
|
|
if (e.tags[l.tag] <= e.tags.$ || u(l, r)) i.push(l), (l.nodes = f(t, l.tag, i, r));
|
|
else {
|
|
if ('/' == l.tag) {
|
|
if (0 === i.length) throw new Error('Closing tag without opener: /' + l.n);
|
|
if (((a = i.pop()), l.n != a.n && !h(l.n, a.n, r)))
|
|
throw new Error('Nesting error: ' + a.n + ' vs. ' + l.n);
|
|
return (a.end = l.i), o;
|
|
}
|
|
'\n' == l.tag && (l.last = 0 == t.length || '\n' == t[0].tag);
|
|
}
|
|
o.push(l);
|
|
}
|
|
if (i.length > 0) throw new Error('missing closing tag: ' + i.pop().n);
|
|
return o;
|
|
}
|
|
function u(e, t) {
|
|
for (var n = 0, i = t.length; n < i; n++) if (t[n].o == e.n) return (e.tag = '#'), !0;
|
|
}
|
|
function h(e, t, n) {
|
|
for (var i = 0, r = n.length; i < r; i++) if (n[i].c == e && n[i].o == t) return !0;
|
|
}
|
|
function p(e) {
|
|
var t = [];
|
|
for (var n in e.partials)
|
|
t.push('"' + g(n) + '":{name:"' + g(e.partials[n].name) + '", ' + p(e.partials[n]) + '}');
|
|
return (
|
|
'partials: {' +
|
|
t.join(',') +
|
|
'}, subs: ' +
|
|
(function (e) {
|
|
var t = [];
|
|
for (var n in e) t.push('"' + g(n) + '": function(c,p,t,i) {' + e[n] + '}');
|
|
return '{ ' + t.join(',') + ' }';
|
|
})(e.subs)
|
|
);
|
|
}
|
|
e.stringify = function (t, n, i) {
|
|
return '{code: function (c,p,i) { ' + e.wrapMain(t.code) + ' },' + p(t) + '}';
|
|
};
|
|
var b = 0;
|
|
function g(e) {
|
|
return e
|
|
.replace(s, '\\\\')
|
|
.replace(n, '\\"')
|
|
.replace(i, '\\n')
|
|
.replace(r, '\\r')
|
|
.replace(o, '\\u2028')
|
|
.replace(a, '\\u2029');
|
|
}
|
|
function m(e) {
|
|
return ~e.indexOf('.') ? 'd' : 'f';
|
|
}
|
|
function v(e, t) {
|
|
var n = '<' + (t.prefix || '') + e.n + b++;
|
|
return (
|
|
(t.partials[n] = { name: e.n, partials: {} }),
|
|
(t.code += 't.b(t.rp("' + g(n) + '",c,p,"' + (e.indent || '') + '"));'),
|
|
n
|
|
);
|
|
}
|
|
function y(e, t) {
|
|
t.code += 't.b(t.t(t.' + m(e.n) + '("' + g(e.n) + '",c,p,0)));';
|
|
}
|
|
function w(e) {
|
|
return 't.b(' + e + ');';
|
|
}
|
|
(e.generate = function (t, n, i) {
|
|
b = 0;
|
|
var r = { code: '', subs: {}, partials: {} };
|
|
return e.walk(t, r), i.asString ? this.stringify(r, n, i) : this.makeTemplate(r, n, i);
|
|
}),
|
|
(e.wrapMain = function (e) {
|
|
return 'var t=this;t.b(i=i||"");' + e + 'return t.fl();';
|
|
}),
|
|
(e.template = e.Template),
|
|
(e.makeTemplate = function (e, t, n) {
|
|
var i = this.makePartials(e);
|
|
return (i.code = new Function('c', 'p', 'i', this.wrapMain(e.code))), new this.template(i, t, this, n);
|
|
}),
|
|
(e.makePartials = function (e) {
|
|
var t,
|
|
n = { subs: {}, partials: e.partials, name: e.name };
|
|
for (t in n.partials) n.partials[t] = this.makePartials(n.partials[t]);
|
|
for (t in e.subs) n.subs[t] = new Function('c', 'p', 't', 'i', e.subs[t]);
|
|
return n;
|
|
}),
|
|
(e.codegen = {
|
|
'#': function (t, n) {
|
|
(n.code +=
|
|
'if(t.s(t.' +
|
|
m(t.n) +
|
|
'("' +
|
|
g(t.n) +
|
|
'",c,p,1),c,p,0,' +
|
|
t.i +
|
|
',' +
|
|
t.end +
|
|
',"' +
|
|
t.otag +
|
|
' ' +
|
|
t.ctag +
|
|
'")){t.rs(c,p,function(c,p,t){'),
|
|
e.walk(t.nodes, n),
|
|
(n.code += '});c.pop();}');
|
|
},
|
|
'^': function (t, n) {
|
|
(n.code += 'if(!t.s(t.' + m(t.n) + '("' + g(t.n) + '",c,p,1),c,p,1,0,0,"")){'),
|
|
e.walk(t.nodes, n),
|
|
(n.code += '};');
|
|
},
|
|
'>': v,
|
|
'<': function (t, n) {
|
|
var i = { partials: {}, code: '', subs: {}, inPartial: !0 };
|
|
e.walk(t.nodes, i);
|
|
var r = n.partials[v(t, n)];
|
|
(r.subs = i.subs), (r.partials = i.partials);
|
|
},
|
|
$: function (t, n) {
|
|
var i = { subs: {}, code: '', partials: n.partials, prefix: t.n };
|
|
e.walk(t.nodes, i), (n.subs[t.n] = i.code), n.inPartial || (n.code += 't.sub("' + g(t.n) + '",c,p,i);');
|
|
},
|
|
'\n': function (e, t) {
|
|
t.code += w('"\\n"' + (e.last ? '' : ' + i'));
|
|
},
|
|
_v: function (e, t) {
|
|
t.code += 't.b(t.v(t.' + m(e.n) + '("' + g(e.n) + '",c,p,0)));';
|
|
},
|
|
_t: function (e, t) {
|
|
t.code += w('"' + g(e.text) + '"');
|
|
},
|
|
'{': y,
|
|
'&': y
|
|
}),
|
|
(e.walk = function (t, n) {
|
|
for (var i, r = 0, s = t.length; r < s; r++) (i = e.codegen[t[r].tag]) && i(t[r], n);
|
|
return n;
|
|
}),
|
|
(e.parse = function (e, t, n) {
|
|
return f(e, 0, [], (n = n || {}).sectionTags || []);
|
|
}),
|
|
(e.cache = {}),
|
|
(e.cacheKey = function (e, t) {
|
|
return [e, !!t.asString, !!t.disableLambda, t.delimiters, !!t.modelGet].join('||');
|
|
}),
|
|
(e.compile = function (t, n) {
|
|
n = n || {};
|
|
var i = e.cacheKey(t, n),
|
|
r = this.cache[i];
|
|
if (r) {
|
|
var s = r.partials;
|
|
for (var o in s) delete s[o].instance;
|
|
return r;
|
|
}
|
|
return (r = this.generate(this.parse(this.scan(t, n.delimiters), t, n), t, n)), (this.cache[i] = r);
|
|
});
|
|
})(t);
|
|
},
|
|
485: (e, t, n) => {
|
|
var i = n(397);
|
|
(i.Template = n(882).Template), (i.template = i.Template), (e.exports = i);
|
|
},
|
|
882: (e, t) => {
|
|
!(function (e) {
|
|
function t(e, t, n) {
|
|
var i;
|
|
return (
|
|
t &&
|
|
'object' == typeof t &&
|
|
(void 0 !== t[e] ? (i = t[e]) : n && t.get && 'function' == typeof t.get && (i = t.get(e))),
|
|
i
|
|
);
|
|
}
|
|
(e.Template = function (e, t, n, i) {
|
|
(e = e || {}),
|
|
(this.r = e.code || this.r),
|
|
(this.c = n),
|
|
(this.options = i || {}),
|
|
(this.text = t || ''),
|
|
(this.partials = e.partials || {}),
|
|
(this.subs = e.subs || {}),
|
|
(this.buf = '');
|
|
}),
|
|
(e.Template.prototype = {
|
|
r: function (e, t, n) {
|
|
return '';
|
|
},
|
|
v: function (e) {
|
|
return (
|
|
(e = l(e)),
|
|
a.test(e)
|
|
? e
|
|
.replace(n, '&')
|
|
.replace(i, '<')
|
|
.replace(r, '>')
|
|
.replace(s, ''')
|
|
.replace(o, '"')
|
|
: e
|
|
);
|
|
},
|
|
t: l,
|
|
render: function (e, t, n) {
|
|
return this.ri([e], t || {}, n);
|
|
},
|
|
ri: function (e, t, n) {
|
|
return this.r(e, t, n);
|
|
},
|
|
ep: function (e, t) {
|
|
var n = this.partials[e],
|
|
i = t[n.name];
|
|
if (n.instance && n.base == i) return n.instance;
|
|
if ('string' == typeof i) {
|
|
if (!this.c) throw new Error('No compiler available.');
|
|
i = this.c.compile(i, this.options);
|
|
}
|
|
if (!i) return null;
|
|
if (((this.partials[e].base = i), n.subs)) {
|
|
for (key in (t.stackText || (t.stackText = {}), n.subs))
|
|
t.stackText[key] ||
|
|
(t.stackText[key] =
|
|
void 0 !== this.activeSub && t.stackText[this.activeSub]
|
|
? t.stackText[this.activeSub]
|
|
: this.text);
|
|
i = (function (e, t, n, i, r, s) {
|
|
function o() {}
|
|
function a() {}
|
|
var l;
|
|
(o.prototype = e), (a.prototype = e.subs);
|
|
var c = new o();
|
|
for (l in ((c.subs = new a()),
|
|
(c.subsText = {}),
|
|
(c.buf = ''),
|
|
(i = i || {}),
|
|
(c.stackSubs = i),
|
|
(c.subsText = s),
|
|
t))
|
|
i[l] || (i[l] = t[l]);
|
|
for (l in i) c.subs[l] = i[l];
|
|
for (l in ((r = r || {}), (c.stackPartials = r), n)) r[l] || (r[l] = n[l]);
|
|
for (l in r) c.partials[l] = r[l];
|
|
return c;
|
|
})(i, n.subs, n.partials, this.stackSubs, this.stackPartials, t.stackText);
|
|
}
|
|
return (this.partials[e].instance = i), i;
|
|
},
|
|
rp: function (e, t, n, i) {
|
|
var r = this.ep(e, n);
|
|
return r ? r.ri(t, n, i) : '';
|
|
},
|
|
rs: function (e, t, n) {
|
|
var i = e[e.length - 1];
|
|
if (c(i)) for (var r = 0; r < i.length; r++) e.push(i[r]), n(e, t, this), e.pop();
|
|
else n(e, t, this);
|
|
},
|
|
s: function (e, t, n, i, r, s, o) {
|
|
var a;
|
|
return (
|
|
(!c(e) || 0 !== e.length) &&
|
|
('function' == typeof e && (e = this.ms(e, t, n, i, r, s, o)),
|
|
(a = !!e),
|
|
!i && a && t && t.push('object' == typeof e ? e : t[t.length - 1]),
|
|
a)
|
|
);
|
|
},
|
|
d: function (e, n, i, r) {
|
|
var s,
|
|
o = e.split('.'),
|
|
a = this.f(o[0], n, i, r),
|
|
l = this.options.modelGet,
|
|
d = null;
|
|
if ('.' === e && c(n[n.length - 2])) a = n[n.length - 1];
|
|
else for (var f = 1; f < o.length; f++) void 0 !== (s = t(o[f], a, l)) ? ((d = a), (a = s)) : (a = '');
|
|
return !(r && !a) && (r || 'function' != typeof a || (n.push(d), (a = this.mv(a, n, i)), n.pop()), a);
|
|
},
|
|
f: function (e, n, i, r) {
|
|
for (var s = !1, o = !1, a = this.options.modelGet, l = n.length - 1; l >= 0; l--)
|
|
if (void 0 !== (s = t(e, n[l], a))) {
|
|
o = !0;
|
|
break;
|
|
}
|
|
return o ? (r || 'function' != typeof s || (s = this.mv(s, n, i)), s) : !r && '';
|
|
},
|
|
ls: function (e, t, n, i, r) {
|
|
var s = this.options.delimiters;
|
|
return (
|
|
(this.options.delimiters = r),
|
|
this.b(this.ct(l(e.call(t, i)), t, n)),
|
|
(this.options.delimiters = s),
|
|
!1
|
|
);
|
|
},
|
|
ct: function (e, t, n) {
|
|
if (this.options.disableLambda) throw new Error('Lambda features disabled.');
|
|
return this.c.compile(e, this.options).render(t, n);
|
|
},
|
|
b: function (e) {
|
|
this.buf += e;
|
|
},
|
|
fl: function () {
|
|
var e = this.buf;
|
|
return (this.buf = ''), e;
|
|
},
|
|
ms: function (e, t, n, i, r, s, o) {
|
|
var a,
|
|
l = t[t.length - 1],
|
|
c = e.call(l);
|
|
return 'function' == typeof c
|
|
? !!i ||
|
|
((a =
|
|
this.activeSub && this.subsText && this.subsText[this.activeSub]
|
|
? this.subsText[this.activeSub]
|
|
: this.text),
|
|
this.ls(c, l, n, a.substring(r, s), o))
|
|
: c;
|
|
},
|
|
mv: function (e, t, n) {
|
|
var i = t[t.length - 1],
|
|
r = e.call(i);
|
|
return 'function' == typeof r ? this.ct(l(r.call(i)), i, n) : r;
|
|
},
|
|
sub: function (e, t, n, i) {
|
|
var r = this.subs[e];
|
|
r && ((this.activeSub = e), r(t, n, this, i), (this.activeSub = !1));
|
|
}
|
|
});
|
|
var n = /&/g,
|
|
i = /</g,
|
|
r = />/g,
|
|
s = /\'/g,
|
|
o = /\"/g,
|
|
a = /[&<>\"\']/;
|
|
function l(e) {
|
|
return String(null == e ? '' : e);
|
|
}
|
|
var c =
|
|
Array.isArray ||
|
|
function (e) {
|
|
return '[object Array]' === Object.prototype.toString.call(e);
|
|
};
|
|
})(t);
|
|
},
|
|
468: (e, t, n) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }), (t.parse = void 0);
|
|
const i = n(699),
|
|
r = n(593);
|
|
function s(e, t) {
|
|
const n = e.split('.');
|
|
return n.length > 1 ? n[n.length - 1] : t;
|
|
}
|
|
function o(e, t) {
|
|
return t.reduce((t, n) => t || e.startsWith(n), !1);
|
|
}
|
|
const a = ['a/', 'b/', 'i/', 'w/', 'c/', 'o/'];
|
|
function l(e, t, n) {
|
|
const i = void 0 !== n ? [...a, n] : a,
|
|
s = t ? new RegExp(`^${(0, r.escapeForRegExp)(t)} "?(.+?)"?$`) : new RegExp('^"?(.+?)"?$'),
|
|
[, o = ''] = s.exec(e) || [],
|
|
l = i.find((e) => 0 === o.indexOf(e));
|
|
return (l ? o.slice(l.length) : o).replace(
|
|
/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,
|
|
''
|
|
);
|
|
}
|
|
t.parse = function (e, t = {}) {
|
|
const n = [];
|
|
let r = null,
|
|
a = null,
|
|
c = null,
|
|
d = null,
|
|
f = null,
|
|
u = null,
|
|
h = null;
|
|
const p = '--- ',
|
|
b = '+++ ',
|
|
g = '@@',
|
|
m = /^old mode (\d{6})/,
|
|
v = /^new mode (\d{6})/,
|
|
y = /^deleted file mode (\d{6})/,
|
|
w = /^new file mode (\d{6})/,
|
|
S = /^copy from "?(.+)"?/,
|
|
L = /^copy to "?(.+)"?/,
|
|
C = /^rename from "?(.+)"?/,
|
|
x = /^rename to "?(.+)"?/,
|
|
O = /^similarity index (\d+)%/,
|
|
T = /^dissimilarity index (\d+)%/,
|
|
j = /^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,
|
|
_ = /^Binary files (.*) and (.*) differ/,
|
|
N = /^GIT binary patch/,
|
|
P = /^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,
|
|
E = /^mode (\d{6}),(\d{6})\.\.(\d{6})/,
|
|
M = /^new file mode (\d{6})/,
|
|
H = /^deleted file mode (\d{6}),(\d{6})/,
|
|
k = e
|
|
.replace(/\\ No newline at end of file/g, '')
|
|
.replace(/\r\n?/g, '\n')
|
|
.split('\n');
|
|
function D() {
|
|
null !== a && null !== r && (r.blocks.push(a), (a = null));
|
|
}
|
|
function F() {
|
|
null !== r &&
|
|
(r.oldName || null === u || (r.oldName = u),
|
|
r.newName || null === h || (r.newName = h),
|
|
r.newName && (n.push(r), (r = null))),
|
|
(u = null),
|
|
(h = null);
|
|
}
|
|
function I() {
|
|
D(), F(), (r = { blocks: [], deletedLines: 0, addedLines: 0 });
|
|
}
|
|
function A(e) {
|
|
let t;
|
|
D(),
|
|
null !== r &&
|
|
((t = /^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))
|
|
? ((r.isCombined = !1), (c = parseInt(t[1], 10)), (f = parseInt(t[2], 10)))
|
|
: (t = /^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))
|
|
? ((r.isCombined = !0), (c = parseInt(t[1], 10)), (d = parseInt(t[2], 10)), (f = parseInt(t[3], 10)))
|
|
: (e.startsWith(g) && console.error('Failed to parse lines, starting in 0!'),
|
|
(c = 0),
|
|
(f = 0),
|
|
(r.isCombined = !1))),
|
|
(a = { lines: [], oldStartLine: c, oldStartLine2: d, newStartLine: f, header: e });
|
|
}
|
|
return (
|
|
k.forEach((e, d) => {
|
|
if (!e || e.startsWith('*')) return;
|
|
let D;
|
|
const F = k[d - 1],
|
|
R = k[d + 1],
|
|
W = k[d + 2];
|
|
if (e.startsWith('diff --git') || e.startsWith('diff --combined')) {
|
|
if (
|
|
(I(),
|
|
(D = /^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(e)) &&
|
|
((u = l(D[1], void 0, t.dstPrefix)), (h = l(D[2], void 0, t.srcPrefix))),
|
|
null === r)
|
|
)
|
|
throw new Error('Where is my file !!!');
|
|
return void (r.isGitDiff = !0);
|
|
}
|
|
if (e.startsWith('Binary files') && !(null == r ? void 0 : r.isGitDiff)) {
|
|
if (
|
|
(I(),
|
|
(D = /^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(e)) &&
|
|
((u = l(D[1], void 0, t.dstPrefix)), (h = l(D[2], void 0, t.srcPrefix))),
|
|
null === r)
|
|
)
|
|
throw new Error('Where is my file !!!');
|
|
return void (r.isBinary = !0);
|
|
}
|
|
if (
|
|
((!r || (!r.isGitDiff && r && e.startsWith(p) && R.startsWith(b) && W.startsWith(g))) && I(),
|
|
null == r ? void 0 : r.isTooBig)
|
|
)
|
|
return;
|
|
if (
|
|
r &&
|
|
(('number' == typeof t.diffMaxChanges && r.addedLines + r.deletedLines > t.diffMaxChanges) ||
|
|
('number' == typeof t.diffMaxLineLength && e.length > t.diffMaxLineLength))
|
|
)
|
|
return (
|
|
(r.isTooBig = !0),
|
|
(r.addedLines = 0),
|
|
(r.deletedLines = 0),
|
|
(r.blocks = []),
|
|
(a = null),
|
|
void A(
|
|
'function' == typeof t.diffTooBigMessage
|
|
? t.diffTooBigMessage(n.length)
|
|
: 'Diff too big to be displayed'
|
|
)
|
|
);
|
|
if ((e.startsWith(p) && R.startsWith(b)) || (e.startsWith(b) && F.startsWith(p))) {
|
|
if (
|
|
r &&
|
|
!r.oldName &&
|
|
e.startsWith('--- ') &&
|
|
(D = (function (e, t) {
|
|
return l(e, '---', t);
|
|
})(e, t.srcPrefix))
|
|
)
|
|
return (r.oldName = D), void (r.language = s(r.oldName, r.language));
|
|
if (
|
|
r &&
|
|
!r.newName &&
|
|
e.startsWith('+++ ') &&
|
|
(D = (function (e, t) {
|
|
return l(e, '+++', t);
|
|
})(e, t.dstPrefix))
|
|
)
|
|
return (r.newName = D), void (r.language = s(r.newName, r.language));
|
|
}
|
|
if (r && (e.startsWith(g) || (r.isGitDiff && r.oldName && r.newName && !a))) return void A(e);
|
|
if (a && (e.startsWith('+') || e.startsWith('-') || e.startsWith(' ')))
|
|
return void (function (e) {
|
|
if (null === r || null === a || null === c || null === f) return;
|
|
const t = { content: e },
|
|
n = r.isCombined ? ['+ ', ' +', '++'] : ['+'],
|
|
s = r.isCombined ? ['- ', ' -', '--'] : ['-'];
|
|
o(e, n)
|
|
? (r.addedLines++, (t.type = i.LineType.INSERT), (t.oldNumber = void 0), (t.newNumber = f++))
|
|
: o(e, s)
|
|
? (r.deletedLines++, (t.type = i.LineType.DELETE), (t.oldNumber = c++), (t.newNumber = void 0))
|
|
: ((t.type = i.LineType.CONTEXT), (t.oldNumber = c++), (t.newNumber = f++)),
|
|
a.lines.push(t);
|
|
})(e);
|
|
const B = !(function (e, t) {
|
|
let n = t;
|
|
for (; n < k.length - 3; ) {
|
|
if (e.startsWith('diff')) return !1;
|
|
if (k[n].startsWith(p) && k[n + 1].startsWith(b) && k[n + 2].startsWith(g)) return !0;
|
|
n++;
|
|
}
|
|
return !1;
|
|
})(e, d);
|
|
if (null === r) throw new Error('Where is my file !!!');
|
|
(D = m.exec(e))
|
|
? (r.oldMode = D[1])
|
|
: (D = v.exec(e))
|
|
? (r.newMode = D[1])
|
|
: (D = y.exec(e))
|
|
? ((r.deletedFileMode = D[1]), (r.isDeleted = !0))
|
|
: (D = w.exec(e))
|
|
? ((r.newFileMode = D[1]), (r.isNew = !0))
|
|
: (D = S.exec(e))
|
|
? (B && (r.oldName = D[1]), (r.isCopy = !0))
|
|
: (D = L.exec(e))
|
|
? (B && (r.newName = D[1]), (r.isCopy = !0))
|
|
: (D = C.exec(e))
|
|
? (B && (r.oldName = D[1]), (r.isRename = !0))
|
|
: (D = x.exec(e))
|
|
? (B && (r.newName = D[1]), (r.isRename = !0))
|
|
: (D = _.exec(e))
|
|
? ((r.isBinary = !0),
|
|
(r.oldName = l(D[1], void 0, t.srcPrefix)),
|
|
(r.newName = l(D[2], void 0, t.dstPrefix)),
|
|
A('Binary file'))
|
|
: N.test(e)
|
|
? ((r.isBinary = !0), A(e))
|
|
: (D = O.exec(e))
|
|
? (r.unchangedPercentage = parseInt(D[1], 10))
|
|
: (D = T.exec(e))
|
|
? (r.changedPercentage = parseInt(D[1], 10))
|
|
: (D = j.exec(e))
|
|
? ((r.checksumBefore = D[1]), (r.checksumAfter = D[2]), D[3] && (r.mode = D[3]))
|
|
: (D = P.exec(e))
|
|
? ((r.checksumBefore = [D[2], D[3]]), (r.checksumAfter = D[1]))
|
|
: (D = E.exec(e))
|
|
? ((r.oldMode = [D[2], D[3]]), (r.newMode = D[1]))
|
|
: (D = M.exec(e))
|
|
? ((r.newFileMode = D[1]), (r.isNew = !0))
|
|
: (D = H.exec(e)) && ((r.deletedFileMode = D[1]), (r.isDeleted = !0));
|
|
}),
|
|
D(),
|
|
F(),
|
|
n
|
|
);
|
|
};
|
|
},
|
|
979: function (e, t, n) {
|
|
'use strict';
|
|
var i =
|
|
(this && this.__createBinding) ||
|
|
(Object.create
|
|
? function (e, t, n, i) {
|
|
void 0 === i && (i = n);
|
|
var r = Object.getOwnPropertyDescriptor(t, n);
|
|
(r && !('get' in r ? !t.__esModule : r.writable || r.configurable)) ||
|
|
(r = {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return t[n];
|
|
}
|
|
}),
|
|
Object.defineProperty(e, i, r);
|
|
}
|
|
: function (e, t, n, i) {
|
|
void 0 === i && (i = n), (e[i] = t[n]);
|
|
}),
|
|
r =
|
|
(this && this.__setModuleDefault) ||
|
|
(Object.create
|
|
? function (e, t) {
|
|
Object.defineProperty(e, 'default', { enumerable: !0, value: t });
|
|
}
|
|
: function (e, t) {
|
|
e.default = t;
|
|
}),
|
|
s =
|
|
(this && this.__importStar) ||
|
|
function (e) {
|
|
if (e && e.__esModule) return e;
|
|
var t = {};
|
|
if (null != e)
|
|
for (var n in e) 'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && i(t, e, n);
|
|
return r(t, e), t;
|
|
};
|
|
Object.defineProperty(t, '__esModule', { value: !0 }), (t.defaultTemplates = void 0);
|
|
const o = s(n(485));
|
|
(t.defaultTemplates = {}),
|
|
(t.defaultTemplates['file-summary-line'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<li class="d2h-file-list-line">'),
|
|
i.b('\n' + n),
|
|
i.b(' <span class="d2h-file-name-wrapper">'),
|
|
i.b('\n' + n),
|
|
i.b(i.rp('<fileIcon0', e, t, ' ')),
|
|
i.b(' <a href="#'),
|
|
i.b(i.v(i.f('fileHtmlId', e, t, 0))),
|
|
i.b('" class="d2h-file-name">'),
|
|
i.b(i.v(i.f('fileName', e, t, 0))),
|
|
i.b('</a>'),
|
|
i.b('\n' + n),
|
|
i.b(' <span class="d2h-file-stats">'),
|
|
i.b('\n' + n),
|
|
i.b(' <span class="d2h-lines-added">'),
|
|
i.b(i.v(i.f('addedLines', e, t, 0))),
|
|
i.b('</span>'),
|
|
i.b('\n' + n),
|
|
i.b(' <span class="d2h-lines-deleted">'),
|
|
i.b(i.v(i.f('deletedLines', e, t, 0))),
|
|
i.b('</span>'),
|
|
i.b('\n' + n),
|
|
i.b(' </span>'),
|
|
i.b('\n' + n),
|
|
i.b(' </span>'),
|
|
i.b('\n' + n),
|
|
i.b('</li>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: { '<fileIcon0': { name: 'fileIcon', partials: {}, subs: {} } },
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['file-summary-wrapper'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<div class="d2h-file-list-wrapper '),
|
|
i.b(i.v(i.f('colorScheme', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-file-list-header">'),
|
|
i.b('\n' + n),
|
|
i.b(' <span class="d2h-file-list-title">Files changed ('),
|
|
i.b(i.v(i.f('filesNumber', e, t, 0))),
|
|
i.b(')</span>'),
|
|
i.b('\n' + n),
|
|
i.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),
|
|
i.b('\n' + n),
|
|
i.b(' <a class="d2h-file-switch d2h-show">show</a>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' <ol class="d2h-file-list">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.f('files', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b(' </ol>'),
|
|
i.b('\n' + n),
|
|
i.b('</div>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['generic-block-header'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<tr>'),
|
|
i.b('\n' + n),
|
|
i.b(' <td class="'),
|
|
i.b(i.v(i.f('lineClass', e, t, 0))),
|
|
i.b(' '),
|
|
i.b(i.v(i.d('CSSLineClass.INFO', e, t, 0))),
|
|
i.b('"></td>'),
|
|
i.b('\n' + n),
|
|
i.b(' <td class="'),
|
|
i.b(i.v(i.d('CSSLineClass.INFO', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="'),
|
|
i.b(i.v(i.f('contentClass', e, t, 0))),
|
|
i.b('">'),
|
|
i.s(i.f('blockHeader', e, t, 1), e, t, 0, 156, 173, '{{ }}') &&
|
|
(i.rs(e, t, function (e, t, n) {
|
|
n.b(n.t(n.f('blockHeader', e, t, 0)));
|
|
}),
|
|
e.pop()),
|
|
i.s(i.f('blockHeader', e, t, 1), e, t, 1, 0, 0, '') || i.b(' '),
|
|
i.b('</div>'),
|
|
i.b('\n' + n),
|
|
i.b(' </td>'),
|
|
i.b('\n' + n),
|
|
i.b('</tr>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['generic-empty-diff'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<tr>'),
|
|
i.b('\n' + n),
|
|
i.b(' <td class="'),
|
|
i.b(i.v(i.d('CSSLineClass.INFO', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="'),
|
|
i.b(i.v(i.f('contentClass', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' File without changes'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' </td>'),
|
|
i.b('\n' + n),
|
|
i.b('</tr>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['generic-file-path'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<span class="d2h-file-name-wrapper">'),
|
|
i.b('\n' + n),
|
|
i.b(i.rp('<fileIcon0', e, t, ' ')),
|
|
i.b(' <span class="d2h-file-name">'),
|
|
i.b(i.v(i.f('fileDiffName', e, t, 0))),
|
|
i.b('</span>'),
|
|
i.b('\n' + n),
|
|
i.b(i.rp('<fileTag1', e, t, ' ')),
|
|
i.b('</span>'),
|
|
i.b('\n' + n),
|
|
i.b('<label class="d2h-file-collapse">'),
|
|
i.b('\n' + n),
|
|
i.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),
|
|
i.b('\n' + n),
|
|
i.b(' Viewed'),
|
|
i.b('\n' + n),
|
|
i.b('</label>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {
|
|
'<fileIcon0': { name: 'fileIcon', partials: {}, subs: {} },
|
|
'<fileTag1': { name: 'fileTag', partials: {}, subs: {} }
|
|
},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['generic-line'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<tr>'),
|
|
i.b('\n' + n),
|
|
i.b(' <td class="'),
|
|
i.b(i.v(i.f('lineClass', e, t, 0))),
|
|
i.b(' '),
|
|
i.b(i.v(i.f('type', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.f('lineNumber', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b(' </td>'),
|
|
i.b('\n' + n),
|
|
i.b(' <td class="'),
|
|
i.b(i.v(i.f('type', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="'),
|
|
i.b(i.v(i.f('contentClass', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.s(i.f('prefix', e, t, 1), e, t, 0, 162, 238, '{{ }}') &&
|
|
(i.rs(e, t, function (e, t, i) {
|
|
i.b(' <span class="d2h-code-line-prefix">'),
|
|
i.b(i.t(i.f('prefix', e, t, 0))),
|
|
i.b('</span>'),
|
|
i.b('\n' + n);
|
|
}),
|
|
e.pop()),
|
|
i.s(i.f('prefix', e, t, 1), e, t, 1, 0, 0, '') ||
|
|
(i.b(' <span class="d2h-code-line-prefix"> </span>'), i.b('\n' + n)),
|
|
i.s(i.f('content', e, t, 1), e, t, 0, 371, 445, '{{ }}') &&
|
|
(i.rs(e, t, function (e, t, i) {
|
|
i.b(' <span class="d2h-code-line-ctn">'),
|
|
i.b(i.t(i.f('content', e, t, 0))),
|
|
i.b('</span>'),
|
|
i.b('\n' + n);
|
|
}),
|
|
e.pop()),
|
|
i.s(i.f('content', e, t, 1), e, t, 1, 0, 0, '') ||
|
|
(i.b(' <span class="d2h-code-line-ctn"><br></span>'), i.b('\n' + n)),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' </td>'),
|
|
i.b('\n' + n),
|
|
i.b('</tr>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['generic-wrapper'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<div class="d2h-wrapper '),
|
|
i.b(i.v(i.f('colorScheme', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.f('content', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b('</div>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['icon-file-added'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b(
|
|
'<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'
|
|
),
|
|
i.b('\n' + n),
|
|
i.b(' width="14">'),
|
|
i.b('\n' + n),
|
|
i.b(
|
|
' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'
|
|
),
|
|
i.b('\n' + n),
|
|
i.b('</svg>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['icon-file-changed'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),
|
|
i.b('\n' + n),
|
|
i.b(' viewBox="0 0 14 16" width="14">'),
|
|
i.b('\n' + n),
|
|
i.b(
|
|
' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'
|
|
),
|
|
i.b('\n' + n),
|
|
i.b('</svg>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['icon-file-deleted'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),
|
|
i.b('\n' + n),
|
|
i.b(' viewBox="0 0 14 16" width="14">'),
|
|
i.b('\n' + n),
|
|
i.b(
|
|
' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'
|
|
),
|
|
i.b('\n' + n),
|
|
i.b('</svg>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['icon-file-renamed'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),
|
|
i.b('\n' + n),
|
|
i.b(' viewBox="0 0 14 16" width="14">'),
|
|
i.b('\n' + n),
|
|
i.b(
|
|
' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'
|
|
),
|
|
i.b('\n' + n),
|
|
i.b('</svg>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['icon-file'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b(
|
|
'<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'
|
|
),
|
|
i.b('\n' + n),
|
|
i.b(
|
|
' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'
|
|
),
|
|
i.b('\n' + n),
|
|
i.b('</svg>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['line-by-line-file-diff'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<div id="'),
|
|
i.b(i.v(i.f('fileHtmlId', e, t, 0))),
|
|
i.b('" class="d2h-file-wrapper" data-lang="'),
|
|
i.b(i.v(i.d('file.language', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-file-header">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.f('filePath', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-file-diff">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-code-wrapper">'),
|
|
i.b('\n' + n),
|
|
i.b(' <table class="d2h-diff-table">'),
|
|
i.b('\n' + n),
|
|
i.b(' <tbody class="d2h-diff-tbody">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.f('diffs', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b(' </tbody>'),
|
|
i.b('\n' + n),
|
|
i.b(' </table>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b('</div>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['line-by-line-numbers'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<div class="line-num1">'),
|
|
i.b(i.v(i.f('oldNumber', e, t, 0))),
|
|
i.b('</div>'),
|
|
i.b('\n' + n),
|
|
i.b('<div class="line-num2">'),
|
|
i.b(i.v(i.f('newNumber', e, t, 0))),
|
|
i.b('</div>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['side-by-side-file-diff'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')),
|
|
i.b('<div id="'),
|
|
i.b(i.v(i.f('fileHtmlId', e, t, 0))),
|
|
i.b('" class="d2h-file-wrapper" data-lang="'),
|
|
i.b(i.v(i.d('file.language', e, t, 0))),
|
|
i.b('">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-file-header">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.f('filePath', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-files-diff">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-file-side-diff">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-code-wrapper">'),
|
|
i.b('\n' + n),
|
|
i.b(' <table class="d2h-diff-table">'),
|
|
i.b('\n' + n),
|
|
i.b(' <tbody class="d2h-diff-tbody">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.d('diffs.left', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b(' </tbody>'),
|
|
i.b('\n' + n),
|
|
i.b(' </table>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-file-side-diff">'),
|
|
i.b('\n' + n),
|
|
i.b(' <div class="d2h-code-wrapper">'),
|
|
i.b('\n' + n),
|
|
i.b(' <table class="d2h-diff-table">'),
|
|
i.b('\n' + n),
|
|
i.b(' <tbody class="d2h-diff-tbody">'),
|
|
i.b('\n' + n),
|
|
i.b(' '),
|
|
i.b(i.t(i.d('diffs.right', e, t, 0))),
|
|
i.b('\n' + n),
|
|
i.b(' </tbody>'),
|
|
i.b('\n' + n),
|
|
i.b(' </table>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b(' </div>'),
|
|
i.b('\n' + n),
|
|
i.b('</div>'),
|
|
i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['tag-file-added'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return i.b((n = n || '')), i.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'), i.fl();
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['tag-file-changed'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')), i.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'), i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['tag-file-deleted'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return (
|
|
i.b((n = n || '')), i.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'), i.fl()
|
|
);
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
})),
|
|
(t.defaultTemplates['tag-file-renamed'] = new o.Template({
|
|
code: function (e, t, n) {
|
|
var i = this;
|
|
return i.b((n = n || '')), i.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'), i.fl();
|
|
},
|
|
partials: {},
|
|
subs: {}
|
|
}));
|
|
},
|
|
834: function (e, t, n) {
|
|
'use strict';
|
|
var i =
|
|
(this && this.__createBinding) ||
|
|
(Object.create
|
|
? function (e, t, n, i) {
|
|
void 0 === i && (i = n);
|
|
var r = Object.getOwnPropertyDescriptor(t, n);
|
|
(r && !('get' in r ? !t.__esModule : r.writable || r.configurable)) ||
|
|
(r = {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return t[n];
|
|
}
|
|
}),
|
|
Object.defineProperty(e, i, r);
|
|
}
|
|
: function (e, t, n, i) {
|
|
void 0 === i && (i = n), (e[i] = t[n]);
|
|
}),
|
|
r =
|
|
(this && this.__setModuleDefault) ||
|
|
(Object.create
|
|
? function (e, t) {
|
|
Object.defineProperty(e, 'default', { enumerable: !0, value: t });
|
|
}
|
|
: function (e, t) {
|
|
e.default = t;
|
|
}),
|
|
s =
|
|
(this && this.__importStar) ||
|
|
function (e) {
|
|
if (e && e.__esModule) return e;
|
|
var t = {};
|
|
if (null != e)
|
|
for (var n in e) 'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && i(t, e, n);
|
|
return r(t, e), t;
|
|
},
|
|
o =
|
|
(this && this.__importDefault) ||
|
|
function (e) {
|
|
return e && e.__esModule ? e : { default: e };
|
|
};
|
|
Object.defineProperty(t, '__esModule', { value: !0 }), (t.html = t.parse = t.defaultDiff2HtmlConfig = void 0);
|
|
const a = s(n(468)),
|
|
l = n(479),
|
|
c = s(n(378)),
|
|
d = s(n(170)),
|
|
f = n(699),
|
|
u = o(n(63));
|
|
(t.defaultDiff2HtmlConfig = Object.assign(
|
|
Object.assign(Object.assign({}, c.defaultLineByLineRendererConfig), d.defaultSideBySideRendererConfig),
|
|
{ outputFormat: f.OutputFormatType.LINE_BY_LINE, drawFileList: !0 }
|
|
)),
|
|
(t.parse = function (e, n = {}) {
|
|
return a.parse(e, Object.assign(Object.assign({}, t.defaultDiff2HtmlConfig), n));
|
|
}),
|
|
(t.html = function (e, n = {}) {
|
|
const i = Object.assign(Object.assign({}, t.defaultDiff2HtmlConfig), n),
|
|
r = 'string' == typeof e ? a.parse(e, i) : e,
|
|
s = new u.default(i),
|
|
{ colorScheme: o } = i,
|
|
f = { colorScheme: o };
|
|
return (
|
|
(i.drawFileList ? new l.FileListRenderer(s, f).render(r) : '') +
|
|
('side-by-side' === i.outputFormat ? new d.default(s, i).render(r) : new c.default(s, i).render(r))
|
|
);
|
|
});
|
|
},
|
|
479: function (e, t, n) {
|
|
'use strict';
|
|
var i =
|
|
(this && this.__createBinding) ||
|
|
(Object.create
|
|
? function (e, t, n, i) {
|
|
void 0 === i && (i = n);
|
|
var r = Object.getOwnPropertyDescriptor(t, n);
|
|
(r && !('get' in r ? !t.__esModule : r.writable || r.configurable)) ||
|
|
(r = {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return t[n];
|
|
}
|
|
}),
|
|
Object.defineProperty(e, i, r);
|
|
}
|
|
: function (e, t, n, i) {
|
|
void 0 === i && (i = n), (e[i] = t[n]);
|
|
}),
|
|
r =
|
|
(this && this.__setModuleDefault) ||
|
|
(Object.create
|
|
? function (e, t) {
|
|
Object.defineProperty(e, 'default', { enumerable: !0, value: t });
|
|
}
|
|
: function (e, t) {
|
|
e.default = t;
|
|
}),
|
|
s =
|
|
(this && this.__importStar) ||
|
|
function (e) {
|
|
if (e && e.__esModule) return e;
|
|
var t = {};
|
|
if (null != e)
|
|
for (var n in e) 'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && i(t, e, n);
|
|
return r(t, e), t;
|
|
};
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.FileListRenderer = t.defaultFileListRendererConfig = void 0);
|
|
const o = s(n(741)),
|
|
a = 'file-summary';
|
|
(t.defaultFileListRendererConfig = { colorScheme: o.defaultRenderConfig.colorScheme }),
|
|
(t.FileListRenderer = class {
|
|
constructor(e, n = {}) {
|
|
(this.hoganUtils = e),
|
|
(this.config = Object.assign(Object.assign({}, t.defaultFileListRendererConfig), n));
|
|
}
|
|
render(e) {
|
|
const t = e
|
|
.map((e) =>
|
|
this.hoganUtils.render(
|
|
a,
|
|
'line',
|
|
{
|
|
fileHtmlId: o.getHtmlId(e),
|
|
oldName: e.oldName,
|
|
newName: e.newName,
|
|
fileName: o.filenameDiff(e),
|
|
deletedLines: '-' + e.deletedLines,
|
|
addedLines: '+' + e.addedLines
|
|
},
|
|
{ fileIcon: this.hoganUtils.template('icon', o.getFileIcon(e)) }
|
|
)
|
|
)
|
|
.join('\n');
|
|
return this.hoganUtils.render(a, 'wrapper', {
|
|
colorScheme: o.colorSchemeToCss(this.config.colorScheme),
|
|
filesNumber: e.length,
|
|
files: t
|
|
});
|
|
}
|
|
});
|
|
},
|
|
63: function (e, t, n) {
|
|
'use strict';
|
|
var i =
|
|
(this && this.__createBinding) ||
|
|
(Object.create
|
|
? function (e, t, n, i) {
|
|
void 0 === i && (i = n);
|
|
var r = Object.getOwnPropertyDescriptor(t, n);
|
|
(r && !('get' in r ? !t.__esModule : r.writable || r.configurable)) ||
|
|
(r = {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return t[n];
|
|
}
|
|
}),
|
|
Object.defineProperty(e, i, r);
|
|
}
|
|
: function (e, t, n, i) {
|
|
void 0 === i && (i = n), (e[i] = t[n]);
|
|
}),
|
|
r =
|
|
(this && this.__setModuleDefault) ||
|
|
(Object.create
|
|
? function (e, t) {
|
|
Object.defineProperty(e, 'default', { enumerable: !0, value: t });
|
|
}
|
|
: function (e, t) {
|
|
e.default = t;
|
|
}),
|
|
s =
|
|
(this && this.__importStar) ||
|
|
function (e) {
|
|
if (e && e.__esModule) return e;
|
|
var t = {};
|
|
if (null != e)
|
|
for (var n in e) 'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && i(t, e, n);
|
|
return r(t, e), t;
|
|
};
|
|
Object.defineProperty(t, '__esModule', { value: !0 });
|
|
const o = s(n(485)),
|
|
a = n(979);
|
|
t.default = class {
|
|
constructor({ compiledTemplates: e = {}, rawTemplates: t = {} }) {
|
|
const n = Object.entries(t).reduce((e, [t, n]) => {
|
|
const i = o.compile(n, { asString: !1 });
|
|
return Object.assign(Object.assign({}, e), { [t]: i });
|
|
}, {});
|
|
this.preCompiledTemplates = Object.assign(Object.assign(Object.assign({}, a.defaultTemplates), e), n);
|
|
}
|
|
static compile(e) {
|
|
return o.compile(e, { asString: !1 });
|
|
}
|
|
render(e, t, n, i, r) {
|
|
const s = this.templateKey(e, t);
|
|
try {
|
|
return this.preCompiledTemplates[s].render(n, i, r);
|
|
} catch (e) {
|
|
throw new Error(`Could not find template to render '${s}'`);
|
|
}
|
|
}
|
|
template(e, t) {
|
|
return this.preCompiledTemplates[this.templateKey(e, t)];
|
|
}
|
|
templateKey(e, t) {
|
|
return `${e}-${t}`;
|
|
}
|
|
};
|
|
},
|
|
378: function (e, t, n) {
|
|
'use strict';
|
|
var i =
|
|
(this && this.__createBinding) ||
|
|
(Object.create
|
|
? function (e, t, n, i) {
|
|
void 0 === i && (i = n);
|
|
var r = Object.getOwnPropertyDescriptor(t, n);
|
|
(r && !('get' in r ? !t.__esModule : r.writable || r.configurable)) ||
|
|
(r = {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return t[n];
|
|
}
|
|
}),
|
|
Object.defineProperty(e, i, r);
|
|
}
|
|
: function (e, t, n, i) {
|
|
void 0 === i && (i = n), (e[i] = t[n]);
|
|
}),
|
|
r =
|
|
(this && this.__setModuleDefault) ||
|
|
(Object.create
|
|
? function (e, t) {
|
|
Object.defineProperty(e, 'default', { enumerable: !0, value: t });
|
|
}
|
|
: function (e, t) {
|
|
e.default = t;
|
|
}),
|
|
s =
|
|
(this && this.__importStar) ||
|
|
function (e) {
|
|
if (e && e.__esModule) return e;
|
|
var t = {};
|
|
if (null != e)
|
|
for (var n in e) 'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && i(t, e, n);
|
|
return r(t, e), t;
|
|
};
|
|
Object.defineProperty(t, '__esModule', { value: !0 }), (t.defaultLineByLineRendererConfig = void 0);
|
|
const o = s(n(483)),
|
|
a = s(n(741)),
|
|
l = n(699);
|
|
t.defaultLineByLineRendererConfig = Object.assign(Object.assign({}, a.defaultRenderConfig), {
|
|
renderNothingWhenEmpty: !1,
|
|
matchingMaxComparisons: 2500,
|
|
maxLineSizeInBlockForComparison: 200
|
|
});
|
|
const c = 'generic',
|
|
d = 'line-by-line';
|
|
t.default = class {
|
|
constructor(e, n = {}) {
|
|
(this.hoganUtils = e),
|
|
(this.config = Object.assign(Object.assign({}, t.defaultLineByLineRendererConfig), n));
|
|
}
|
|
render(e) {
|
|
const t = e
|
|
.map((e) => {
|
|
let t;
|
|
return (
|
|
(t = e.blocks.length ? this.generateFileHtml(e) : this.generateEmptyDiff()),
|
|
this.makeFileDiffHtml(e, t)
|
|
);
|
|
})
|
|
.join('\n');
|
|
return this.hoganUtils.render(c, 'wrapper', {
|
|
colorScheme: a.colorSchemeToCss(this.config.colorScheme),
|
|
content: t
|
|
});
|
|
}
|
|
makeFileDiffHtml(e, t) {
|
|
if (this.config.renderNothingWhenEmpty && Array.isArray(e.blocks) && 0 === e.blocks.length) return '';
|
|
const n = this.hoganUtils.template(d, 'file-diff'),
|
|
i = this.hoganUtils.template(c, 'file-path'),
|
|
r = this.hoganUtils.template('icon', 'file'),
|
|
s = this.hoganUtils.template('tag', a.getFileIcon(e));
|
|
return n.render({
|
|
file: e,
|
|
fileHtmlId: a.getHtmlId(e),
|
|
diffs: t,
|
|
filePath: i.render({ fileDiffName: a.filenameDiff(e) }, { fileIcon: r, fileTag: s })
|
|
});
|
|
}
|
|
generateEmptyDiff() {
|
|
return this.hoganUtils.render(c, 'empty-diff', {
|
|
contentClass: 'd2h-code-line',
|
|
CSSLineClass: a.CSSLineClass
|
|
});
|
|
}
|
|
generateFileHtml(e) {
|
|
const t = o.newMatcherFn(o.newDistanceFn((t) => a.deconstructLine(t.content, e.isCombined).content));
|
|
return e.blocks
|
|
.map((n) => {
|
|
let i = this.hoganUtils.render(c, 'block-header', {
|
|
CSSLineClass: a.CSSLineClass,
|
|
blockHeader: e.isTooBig ? n.header : a.escapeForHtml(n.header),
|
|
lineClass: 'd2h-code-linenumber',
|
|
contentClass: 'd2h-code-line'
|
|
});
|
|
return (
|
|
this.applyLineGroupping(n).forEach(([n, r, s]) => {
|
|
if (r.length && s.length && !n.length)
|
|
this.applyRematchMatching(r, s, t).map(([t, n]) => {
|
|
const { left: r, right: s } = this.processChangedLines(e, e.isCombined, t, n);
|
|
(i += r), (i += s);
|
|
});
|
|
else if (n.length)
|
|
n.forEach((t) => {
|
|
const { prefix: n, content: r } = a.deconstructLine(t.content, e.isCombined);
|
|
i += this.generateSingleLineHtml(e, {
|
|
type: a.CSSLineClass.CONTEXT,
|
|
prefix: n,
|
|
content: r,
|
|
oldNumber: t.oldNumber,
|
|
newNumber: t.newNumber
|
|
});
|
|
});
|
|
else if (r.length || s.length) {
|
|
const { left: t, right: n } = this.processChangedLines(e, e.isCombined, r, s);
|
|
(i += t), (i += n);
|
|
} else console.error('Unknown state reached while processing groups of lines', n, r, s);
|
|
}),
|
|
i
|
|
);
|
|
})
|
|
.join('\n');
|
|
}
|
|
applyLineGroupping(e) {
|
|
const t = [];
|
|
let n = [],
|
|
i = [];
|
|
for (let r = 0; r < e.lines.length; r++) {
|
|
const s = e.lines[r];
|
|
((s.type !== l.LineType.INSERT && i.length) || (s.type === l.LineType.CONTEXT && n.length > 0)) &&
|
|
(t.push([[], n, i]), (n = []), (i = [])),
|
|
s.type === l.LineType.CONTEXT
|
|
? t.push([[s], [], []])
|
|
: s.type === l.LineType.INSERT && 0 === n.length
|
|
? t.push([[], [], [s]])
|
|
: s.type === l.LineType.INSERT && n.length > 0
|
|
? i.push(s)
|
|
: s.type === l.LineType.DELETE && n.push(s);
|
|
}
|
|
return (n.length || i.length) && (t.push([[], n, i]), (n = []), (i = [])), t;
|
|
}
|
|
applyRematchMatching(e, t, n) {
|
|
const i = e.length * t.length,
|
|
r = Math.max.apply(null, [0].concat(e.concat(t).map((e) => e.content.length)));
|
|
return i < this.config.matchingMaxComparisons &&
|
|
r < this.config.maxLineSizeInBlockForComparison &&
|
|
('lines' === this.config.matching || 'words' === this.config.matching)
|
|
? n(e, t)
|
|
: [[e, t]];
|
|
}
|
|
processChangedLines(e, t, n, i) {
|
|
const r = { right: '', left: '' },
|
|
s = Math.max(n.length, i.length);
|
|
for (let o = 0; o < s; o++) {
|
|
const s = n[o],
|
|
l = i[o],
|
|
c = void 0 !== s && void 0 !== l ? a.diffHighlight(s.content, l.content, t, this.config) : void 0,
|
|
d =
|
|
void 0 !== s && void 0 !== s.oldNumber
|
|
? Object.assign(
|
|
Object.assign(
|
|
{},
|
|
void 0 !== c
|
|
? {
|
|
prefix: c.oldLine.prefix,
|
|
content: c.oldLine.content,
|
|
type: a.CSSLineClass.DELETE_CHANGES
|
|
}
|
|
: Object.assign(Object.assign({}, a.deconstructLine(s.content, t)), {
|
|
type: a.toCSSClass(s.type)
|
|
})
|
|
),
|
|
{ oldNumber: s.oldNumber, newNumber: s.newNumber }
|
|
)
|
|
: void 0,
|
|
f =
|
|
void 0 !== l && void 0 !== l.newNumber
|
|
? Object.assign(
|
|
Object.assign(
|
|
{},
|
|
void 0 !== c
|
|
? {
|
|
prefix: c.newLine.prefix,
|
|
content: c.newLine.content,
|
|
type: a.CSSLineClass.INSERT_CHANGES
|
|
}
|
|
: Object.assign(Object.assign({}, a.deconstructLine(l.content, t)), {
|
|
type: a.toCSSClass(l.type)
|
|
})
|
|
),
|
|
{ oldNumber: l.oldNumber, newNumber: l.newNumber }
|
|
)
|
|
: void 0,
|
|
{ left: u, right: h } = this.generateLineHtml(e, d, f);
|
|
(r.left += u), (r.right += h);
|
|
}
|
|
return r;
|
|
}
|
|
generateLineHtml(e, t, n) {
|
|
return { left: this.generateSingleLineHtml(e, t), right: this.generateSingleLineHtml(e, n) };
|
|
}
|
|
generateSingleLineHtml(e, t) {
|
|
if (void 0 === t) return '';
|
|
const n = this.hoganUtils.render(d, 'numbers', {
|
|
oldNumber: t.oldNumber || '',
|
|
newNumber: t.newNumber || ''
|
|
});
|
|
return this.hoganUtils.render(c, 'line', {
|
|
type: t.type,
|
|
lineClass: 'd2h-code-linenumber',
|
|
contentClass: 'd2h-code-line',
|
|
prefix: ' ' === t.prefix ? ' ' : t.prefix,
|
|
content: t.content,
|
|
lineNumber: n,
|
|
line: t,
|
|
file: e
|
|
});
|
|
}
|
|
};
|
|
},
|
|
483: (e, t) => {
|
|
'use strict';
|
|
function n(e, t) {
|
|
if (0 === e.length) return t.length;
|
|
if (0 === t.length) return e.length;
|
|
const n = [];
|
|
let i, r;
|
|
for (i = 0; i <= t.length; i++) n[i] = [i];
|
|
for (r = 0; r <= e.length; r++) n[0][r] = r;
|
|
for (i = 1; i <= t.length; i++)
|
|
for (r = 1; r <= e.length; r++)
|
|
t.charAt(i - 1) === e.charAt(r - 1)
|
|
? (n[i][r] = n[i - 1][r - 1])
|
|
: (n[i][r] = Math.min(n[i - 1][r - 1] + 1, Math.min(n[i][r - 1] + 1, n[i - 1][r] + 1)));
|
|
return n[t.length][e.length];
|
|
}
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.newMatcherFn = t.newDistanceFn = t.levenshtein = void 0),
|
|
(t.levenshtein = n),
|
|
(t.newDistanceFn = function (e) {
|
|
return (t, i) => {
|
|
const r = e(t).trim(),
|
|
s = e(i).trim();
|
|
return n(r, s) / (r.length + s.length);
|
|
};
|
|
}),
|
|
(t.newMatcherFn = function (e) {
|
|
return function t(n, i, r = 0, s = new Map()) {
|
|
const o = (function (t, n, i = new Map()) {
|
|
let r,
|
|
s = 1 / 0;
|
|
for (let o = 0; o < t.length; ++o)
|
|
for (let a = 0; a < n.length; ++a) {
|
|
const l = JSON.stringify([t[o], n[a]]);
|
|
let c;
|
|
(i.has(l) && (c = i.get(l))) || ((c = e(t[o], n[a])), i.set(l, c)),
|
|
c < s && ((s = c), (r = { indexA: o, indexB: a, score: s }));
|
|
}
|
|
return r;
|
|
})(n, i, s);
|
|
if (!o || n.length + i.length < 3) return [[n, i]];
|
|
const a = n.slice(0, o.indexA),
|
|
l = i.slice(0, o.indexB),
|
|
c = [n[o.indexA]],
|
|
d = [i[o.indexB]],
|
|
f = o.indexA + 1,
|
|
u = o.indexB + 1,
|
|
h = n.slice(f),
|
|
p = i.slice(u),
|
|
b = t(a, l, r + 1, s),
|
|
g = t(c, d, r + 1, s),
|
|
m = t(h, p, r + 1, s);
|
|
let v = g;
|
|
return (
|
|
(o.indexA > 0 || o.indexB > 0) && (v = b.concat(v)),
|
|
(n.length > f || i.length > u) && (v = v.concat(m)),
|
|
v
|
|
);
|
|
};
|
|
});
|
|
},
|
|
741: function (e, t, n) {
|
|
'use strict';
|
|
var i =
|
|
(this && this.__createBinding) ||
|
|
(Object.create
|
|
? function (e, t, n, i) {
|
|
void 0 === i && (i = n);
|
|
var r = Object.getOwnPropertyDescriptor(t, n);
|
|
(r && !('get' in r ? !t.__esModule : r.writable || r.configurable)) ||
|
|
(r = {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return t[n];
|
|
}
|
|
}),
|
|
Object.defineProperty(e, i, r);
|
|
}
|
|
: function (e, t, n, i) {
|
|
void 0 === i && (i = n), (e[i] = t[n]);
|
|
}),
|
|
r =
|
|
(this && this.__setModuleDefault) ||
|
|
(Object.create
|
|
? function (e, t) {
|
|
Object.defineProperty(e, 'default', { enumerable: !0, value: t });
|
|
}
|
|
: function (e, t) {
|
|
e.default = t;
|
|
}),
|
|
s =
|
|
(this && this.__importStar) ||
|
|
function (e) {
|
|
if (e && e.__esModule) return e;
|
|
var t = {};
|
|
if (null != e)
|
|
for (var n in e) 'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && i(t, e, n);
|
|
return r(t, e), t;
|
|
};
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.diffHighlight =
|
|
t.getFileIcon =
|
|
t.getHtmlId =
|
|
t.filenameDiff =
|
|
t.deconstructLine =
|
|
t.escapeForHtml =
|
|
t.colorSchemeToCss =
|
|
t.toCSSClass =
|
|
t.defaultRenderConfig =
|
|
t.CSSLineClass =
|
|
void 0);
|
|
const o = s(n(785)),
|
|
a = n(593),
|
|
l = s(n(483)),
|
|
c = n(699);
|
|
(t.CSSLineClass = {
|
|
INSERTS: 'd2h-ins',
|
|
DELETES: 'd2h-del',
|
|
CONTEXT: 'd2h-cntx',
|
|
INFO: 'd2h-info',
|
|
INSERT_CHANGES: 'd2h-ins d2h-change',
|
|
DELETE_CHANGES: 'd2h-del d2h-change'
|
|
}),
|
|
(t.defaultRenderConfig = {
|
|
matching: c.LineMatchingType.NONE,
|
|
matchWordsThreshold: 0.25,
|
|
maxLineLengthHighlight: 1e4,
|
|
diffStyle: c.DiffStyleType.WORD,
|
|
colorScheme: c.ColorSchemeType.LIGHT
|
|
});
|
|
const d = '/',
|
|
f = l.newDistanceFn((e) => e.value),
|
|
u = l.newMatcherFn(f);
|
|
function h(e) {
|
|
return -1 !== e.indexOf('dev/null');
|
|
}
|
|
function p(e) {
|
|
return e.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g, '');
|
|
}
|
|
function b(e) {
|
|
return e
|
|
.slice(0)
|
|
.replace(/&/g, '&')
|
|
.replace(/</g, '<')
|
|
.replace(/>/g, '>')
|
|
.replace(/"/g, '"')
|
|
.replace(/'/g, ''')
|
|
.replace(/\//g, '/');
|
|
}
|
|
function g(e, t, n = !0) {
|
|
const i = (function (e) {
|
|
return e ? 2 : 1;
|
|
})(t);
|
|
return { prefix: e.substring(0, i), content: n ? b(e.substring(i)) : e.substring(i) };
|
|
}
|
|
function m(e) {
|
|
const t = (0, a.unifyPath)(e.oldName),
|
|
n = (0, a.unifyPath)(e.newName);
|
|
if (t === n || h(t) || h(n)) return h(n) ? t : n;
|
|
{
|
|
const e = [],
|
|
i = [],
|
|
r = t.split(d),
|
|
s = n.split(d);
|
|
let o = 0,
|
|
a = r.length - 1,
|
|
l = s.length - 1;
|
|
for (; o < a && o < l && r[o] === s[o]; ) e.push(s[o]), (o += 1);
|
|
for (; a > o && l > o && r[a] === s[l]; ) i.unshift(s[l]), (a -= 1), (l -= 1);
|
|
const c = e.join(d),
|
|
f = i.join(d),
|
|
u = r.slice(o, a + 1).join(d),
|
|
h = s.slice(o, l + 1).join(d);
|
|
return c.length && f.length
|
|
? c + d + '{' + u + ' → ' + h + '}' + d + f
|
|
: c.length
|
|
? c + d + '{' + u + ' → ' + h + '}'
|
|
: f.length
|
|
? '{' + u + ' → ' + h + '}' + d + f
|
|
: t + ' → ' + n;
|
|
}
|
|
}
|
|
(t.toCSSClass = function (e) {
|
|
switch (e) {
|
|
case c.LineType.CONTEXT:
|
|
return t.CSSLineClass.CONTEXT;
|
|
case c.LineType.INSERT:
|
|
return t.CSSLineClass.INSERTS;
|
|
case c.LineType.DELETE:
|
|
return t.CSSLineClass.DELETES;
|
|
}
|
|
}),
|
|
(t.colorSchemeToCss = function (e) {
|
|
switch (e) {
|
|
case c.ColorSchemeType.DARK:
|
|
return 'd2h-dark-color-scheme';
|
|
case c.ColorSchemeType.AUTO:
|
|
return 'd2h-auto-color-scheme';
|
|
case c.ColorSchemeType.LIGHT:
|
|
default:
|
|
return 'd2h-light-color-scheme';
|
|
}
|
|
}),
|
|
(t.escapeForHtml = b),
|
|
(t.deconstructLine = g),
|
|
(t.filenameDiff = m),
|
|
(t.getHtmlId = function (e) {
|
|
return `d2h-${(0, a.hashCode)(m(e)).toString().slice(-6)}`;
|
|
}),
|
|
(t.getFileIcon = function (e) {
|
|
let t = 'file-changed';
|
|
return (
|
|
e.isRename || e.isCopy
|
|
? (t = 'file-renamed')
|
|
: e.isNew
|
|
? (t = 'file-added')
|
|
: e.isDeleted
|
|
? (t = 'file-deleted')
|
|
: e.newName !== e.oldName && (t = 'file-renamed'),
|
|
t
|
|
);
|
|
}),
|
|
(t.diffHighlight = function (e, n, i, r = {}) {
|
|
const {
|
|
matching: s,
|
|
maxLineLengthHighlight: a,
|
|
matchWordsThreshold: l,
|
|
diffStyle: c
|
|
} = Object.assign(Object.assign({}, t.defaultRenderConfig), r),
|
|
d = g(e, i, !1),
|
|
h = g(n, i, !1);
|
|
if (d.content.length > a || h.content.length > a)
|
|
return {
|
|
oldLine: { prefix: d.prefix, content: b(d.content) },
|
|
newLine: { prefix: h.prefix, content: b(h.content) }
|
|
};
|
|
const m = 'char' === c ? o.diffChars(d.content, h.content) : o.diffWordsWithSpace(d.content, h.content),
|
|
v = [];
|
|
if ('word' === c && 'words' === s) {
|
|
const e = m.filter((e) => e.removed),
|
|
t = m.filter((e) => e.added);
|
|
u(t, e).forEach((e) => {
|
|
1 === e[0].length && 1 === e[1].length && f(e[0][0], e[1][0]) < l && (v.push(e[0][0]), v.push(e[1][0]));
|
|
});
|
|
}
|
|
const y = m.reduce((e, t) => {
|
|
const n = t.added ? 'ins' : t.removed ? 'del' : null,
|
|
i = v.indexOf(t) > -1 ? ' class="d2h-change"' : '',
|
|
r = b(t.value);
|
|
return null !== n ? `${e}<${n}${i}>${r}</${n}>` : `${e}${r}`;
|
|
}, '');
|
|
return {
|
|
oldLine: { prefix: d.prefix, content: ((w = y), w.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g, '')) },
|
|
newLine: { prefix: h.prefix, content: p(y) }
|
|
};
|
|
var w;
|
|
});
|
|
},
|
|
170: function (e, t, n) {
|
|
'use strict';
|
|
var i =
|
|
(this && this.__createBinding) ||
|
|
(Object.create
|
|
? function (e, t, n, i) {
|
|
void 0 === i && (i = n);
|
|
var r = Object.getOwnPropertyDescriptor(t, n);
|
|
(r && !('get' in r ? !t.__esModule : r.writable || r.configurable)) ||
|
|
(r = {
|
|
enumerable: !0,
|
|
get: function () {
|
|
return t[n];
|
|
}
|
|
}),
|
|
Object.defineProperty(e, i, r);
|
|
}
|
|
: function (e, t, n, i) {
|
|
void 0 === i && (i = n), (e[i] = t[n]);
|
|
}),
|
|
r =
|
|
(this && this.__setModuleDefault) ||
|
|
(Object.create
|
|
? function (e, t) {
|
|
Object.defineProperty(e, 'default', { enumerable: !0, value: t });
|
|
}
|
|
: function (e, t) {
|
|
e.default = t;
|
|
}),
|
|
s =
|
|
(this && this.__importStar) ||
|
|
function (e) {
|
|
if (e && e.__esModule) return e;
|
|
var t = {};
|
|
if (null != e)
|
|
for (var n in e) 'default' !== n && Object.prototype.hasOwnProperty.call(e, n) && i(t, e, n);
|
|
return r(t, e), t;
|
|
};
|
|
Object.defineProperty(t, '__esModule', { value: !0 }), (t.defaultSideBySideRendererConfig = void 0);
|
|
const o = s(n(483)),
|
|
a = s(n(741)),
|
|
l = n(699);
|
|
t.defaultSideBySideRendererConfig = Object.assign(Object.assign({}, a.defaultRenderConfig), {
|
|
renderNothingWhenEmpty: !1,
|
|
matchingMaxComparisons: 2500,
|
|
maxLineSizeInBlockForComparison: 200
|
|
});
|
|
const c = 'generic';
|
|
t.default = class {
|
|
constructor(e, n = {}) {
|
|
(this.hoganUtils = e),
|
|
(this.config = Object.assign(Object.assign({}, t.defaultSideBySideRendererConfig), n));
|
|
}
|
|
render(e) {
|
|
const t = e
|
|
.map((e) => {
|
|
let t;
|
|
return (
|
|
(t = e.blocks.length ? this.generateFileHtml(e) : this.generateEmptyDiff()),
|
|
this.makeFileDiffHtml(e, t)
|
|
);
|
|
})
|
|
.join('\n');
|
|
return this.hoganUtils.render(c, 'wrapper', {
|
|
colorScheme: a.colorSchemeToCss(this.config.colorScheme),
|
|
content: t
|
|
});
|
|
}
|
|
makeFileDiffHtml(e, t) {
|
|
if (this.config.renderNothingWhenEmpty && Array.isArray(e.blocks) && 0 === e.blocks.length) return '';
|
|
const n = this.hoganUtils.template('side-by-side', 'file-diff'),
|
|
i = this.hoganUtils.template(c, 'file-path'),
|
|
r = this.hoganUtils.template('icon', 'file'),
|
|
s = this.hoganUtils.template('tag', a.getFileIcon(e));
|
|
return n.render({
|
|
file: e,
|
|
fileHtmlId: a.getHtmlId(e),
|
|
diffs: t,
|
|
filePath: i.render({ fileDiffName: a.filenameDiff(e) }, { fileIcon: r, fileTag: s })
|
|
});
|
|
}
|
|
generateEmptyDiff() {
|
|
return {
|
|
right: '',
|
|
left: this.hoganUtils.render(c, 'empty-diff', {
|
|
contentClass: 'd2h-code-side-line',
|
|
CSSLineClass: a.CSSLineClass
|
|
})
|
|
};
|
|
}
|
|
generateFileHtml(e) {
|
|
const t = o.newMatcherFn(o.newDistanceFn((t) => a.deconstructLine(t.content, e.isCombined).content));
|
|
return e.blocks
|
|
.map((n) => {
|
|
const i = { left: this.makeHeaderHtml(n.header, e), right: this.makeHeaderHtml('') };
|
|
return (
|
|
this.applyLineGroupping(n).forEach(([n, r, s]) => {
|
|
if (r.length && s.length && !n.length)
|
|
this.applyRematchMatching(r, s, t).map(([t, n]) => {
|
|
const { left: r, right: s } = this.processChangedLines(e.isCombined, t, n);
|
|
(i.left += r), (i.right += s);
|
|
});
|
|
else if (n.length)
|
|
n.forEach((t) => {
|
|
const { prefix: n, content: r } = a.deconstructLine(t.content, e.isCombined),
|
|
{ left: s, right: o } = this.generateLineHtml(
|
|
{ type: a.CSSLineClass.CONTEXT, prefix: n, content: r, number: t.oldNumber },
|
|
{ type: a.CSSLineClass.CONTEXT, prefix: n, content: r, number: t.newNumber }
|
|
);
|
|
(i.left += s), (i.right += o);
|
|
});
|
|
else if (r.length || s.length) {
|
|
const { left: t, right: n } = this.processChangedLines(e.isCombined, r, s);
|
|
(i.left += t), (i.right += n);
|
|
} else console.error('Unknown state reached while processing groups of lines', n, r, s);
|
|
}),
|
|
i
|
|
);
|
|
})
|
|
.reduce((e, t) => ({ left: e.left + t.left, right: e.right + t.right }), { left: '', right: '' });
|
|
}
|
|
applyLineGroupping(e) {
|
|
const t = [];
|
|
let n = [],
|
|
i = [];
|
|
for (let r = 0; r < e.lines.length; r++) {
|
|
const s = e.lines[r];
|
|
((s.type !== l.LineType.INSERT && i.length) || (s.type === l.LineType.CONTEXT && n.length > 0)) &&
|
|
(t.push([[], n, i]), (n = []), (i = [])),
|
|
s.type === l.LineType.CONTEXT
|
|
? t.push([[s], [], []])
|
|
: s.type === l.LineType.INSERT && 0 === n.length
|
|
? t.push([[], [], [s]])
|
|
: s.type === l.LineType.INSERT && n.length > 0
|
|
? i.push(s)
|
|
: s.type === l.LineType.DELETE && n.push(s);
|
|
}
|
|
return (n.length || i.length) && (t.push([[], n, i]), (n = []), (i = [])), t;
|
|
}
|
|
applyRematchMatching(e, t, n) {
|
|
const i = e.length * t.length,
|
|
r = Math.max.apply(null, [0].concat(e.concat(t).map((e) => e.content.length)));
|
|
return i < this.config.matchingMaxComparisons &&
|
|
r < this.config.maxLineSizeInBlockForComparison &&
|
|
('lines' === this.config.matching || 'words' === this.config.matching)
|
|
? n(e, t)
|
|
: [[e, t]];
|
|
}
|
|
makeHeaderHtml(e, t) {
|
|
return this.hoganUtils.render(c, 'block-header', {
|
|
CSSLineClass: a.CSSLineClass,
|
|
blockHeader: (null == t ? void 0 : t.isTooBig) ? e : a.escapeForHtml(e),
|
|
lineClass: 'd2h-code-side-linenumber',
|
|
contentClass: 'd2h-code-side-line'
|
|
});
|
|
}
|
|
processChangedLines(e, t, n) {
|
|
const i = { right: '', left: '' },
|
|
r = Math.max(t.length, n.length);
|
|
for (let s = 0; s < r; s++) {
|
|
const r = t[s],
|
|
o = n[s],
|
|
l = void 0 !== r && void 0 !== o ? a.diffHighlight(r.content, o.content, e, this.config) : void 0,
|
|
c =
|
|
void 0 !== r && void 0 !== r.oldNumber
|
|
? Object.assign(
|
|
Object.assign(
|
|
{},
|
|
void 0 !== l
|
|
? {
|
|
prefix: l.oldLine.prefix,
|
|
content: l.oldLine.content,
|
|
type: a.CSSLineClass.DELETE_CHANGES
|
|
}
|
|
: Object.assign(Object.assign({}, a.deconstructLine(r.content, e)), {
|
|
type: a.toCSSClass(r.type)
|
|
})
|
|
),
|
|
{ number: r.oldNumber }
|
|
)
|
|
: void 0,
|
|
d =
|
|
void 0 !== o && void 0 !== o.newNumber
|
|
? Object.assign(
|
|
Object.assign(
|
|
{},
|
|
void 0 !== l
|
|
? {
|
|
prefix: l.newLine.prefix,
|
|
content: l.newLine.content,
|
|
type: a.CSSLineClass.INSERT_CHANGES
|
|
}
|
|
: Object.assign(Object.assign({}, a.deconstructLine(o.content, e)), {
|
|
type: a.toCSSClass(o.type)
|
|
})
|
|
),
|
|
{ number: o.newNumber }
|
|
)
|
|
: void 0,
|
|
{ left: f, right: u } = this.generateLineHtml(c, d);
|
|
(i.left += f), (i.right += u);
|
|
}
|
|
return i;
|
|
}
|
|
generateLineHtml(e, t) {
|
|
return { left: this.generateSingleHtml(e), right: this.generateSingleHtml(t) };
|
|
}
|
|
generateSingleHtml(e) {
|
|
const t = 'd2h-code-side-linenumber',
|
|
n = 'd2h-code-side-line';
|
|
return this.hoganUtils.render(c, 'line', {
|
|
type: (null == e ? void 0 : e.type) || `${a.CSSLineClass.CONTEXT} d2h-emptyplaceholder`,
|
|
lineClass: void 0 !== e ? t : `${t} d2h-code-side-emptyplaceholder`,
|
|
contentClass: void 0 !== e ? n : `${n} d2h-code-side-emptyplaceholder`,
|
|
prefix: ' ' === (null == e ? void 0 : e.prefix) ? ' ' : null == e ? void 0 : e.prefix,
|
|
content: null == e ? void 0 : e.content,
|
|
lineNumber: null == e ? void 0 : e.number
|
|
});
|
|
}
|
|
};
|
|
},
|
|
699: (e, t) => {
|
|
'use strict';
|
|
var n, i;
|
|
Object.defineProperty(t, '__esModule', { value: !0 }),
|
|
(t.ColorSchemeType = t.DiffStyleType = t.LineMatchingType = t.OutputFormatType = t.LineType = void 0),
|
|
(function (e) {
|
|
(e.INSERT = 'insert'), (e.DELETE = 'delete'), (e.CONTEXT = 'context');
|
|
})(n || (t.LineType = n = {})),
|
|
(t.OutputFormatType = { LINE_BY_LINE: 'line-by-line', SIDE_BY_SIDE: 'side-by-side' }),
|
|
(t.LineMatchingType = { LINES: 'lines', WORDS: 'words', NONE: 'none' }),
|
|
(t.DiffStyleType = { WORD: 'word', CHAR: 'char' }),
|
|
(function (e) {
|
|
(e.AUTO = 'auto'), (e.DARK = 'dark'), (e.LIGHT = 'light');
|
|
})(i || (t.ColorSchemeType = i = {}));
|
|
},
|
|
593: (e, t) => {
|
|
'use strict';
|
|
Object.defineProperty(t, '__esModule', { value: !0 }), (t.hashCode = t.unifyPath = t.escapeForRegExp = void 0);
|
|
const n = RegExp(
|
|
'[' + ['-', '[', ']', '/', '{', '}', '(', ')', '*', '+', '?', '.', '\\', '^', '$', '|'].join('\\') + ']',
|
|
'g'
|
|
);
|
|
(t.escapeForRegExp = function (e) {
|
|
return e.replace(n, '\\$&');
|
|
}),
|
|
(t.unifyPath = function (e) {
|
|
return e ? e.replace(/\\/g, '/') : e;
|
|
}),
|
|
(t.hashCode = function (e) {
|
|
let t,
|
|
n,
|
|
i,
|
|
r = 0;
|
|
for (t = 0, i = e.length; t < i; t++) (n = e.charCodeAt(t)), (r = (r << 5) - r + n), (r |= 0);
|
|
return r;
|
|
});
|
|
}
|
|
}),
|
|
(t = {}),
|
|
(function n(i) {
|
|
var r = t[i];
|
|
if (void 0 !== r) return r.exports;
|
|
var s = (t[i] = { exports: {} });
|
|
return e[i].call(s.exports, s, s.exports, n), s.exports;
|
|
})(834)
|
|
);
|
|
var e, t;
|
|
});
|