diff2html 3.4.37 → 3.4.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bundles/css/diff2html.min.css +1 -1
- package/bundles/js/diff2html-ui-base.min.js +1 -1
- package/bundles/js/diff2html-ui-slim.min.js +1 -1
- package/bundles/js/diff2html-ui.min.js +1 -1
- package/bundles/js/diff2html.min.js +1 -1
- package/lib/diff-parser.js +55 -65
- package/lib/diff-parser.js.map +1 -1
- package/lib/diff2html-templates.d.ts +1 -1
- package/lib/diff2html-templates.d.ts.map +1 -1
- package/lib/diff2html-templates.js +2 -24
- package/lib/diff2html-templates.js.map +1 -1
- package/lib/diff2html.js +16 -54
- package/lib/diff2html.js.map +1 -1
- package/lib/file-list-renderer.js +15 -39
- package/lib/file-list-renderer.js.map +1 -1
- package/lib/hoganjs-utils.js +22 -59
- package/lib/hoganjs-utils.js.map +1 -1
- package/lib/line-by-line-renderer.d.ts +3 -3
- package/lib/line-by-line-renderer.d.ts.map +1 -1
- package/lib/line-by-line-renderer.js +75 -114
- package/lib/line-by-line-renderer.js.map +1 -1
- package/lib/rematch.d.ts +3 -3
- package/lib/rematch.d.ts.map +1 -1
- package/lib/rematch.js +28 -31
- package/lib/rematch.js.map +1 -1
- package/lib/render-utils.d.ts +2 -2
- package/lib/render-utils.d.ts.map +1 -1
- package/lib/render-utils.js +44 -79
- package/lib/render-utils.js.map +1 -1
- package/lib/side-by-side-renderer.d.ts +3 -3
- package/lib/side-by-side-renderer.d.ts.map +1 -1
- package/lib/side-by-side-renderer.js +83 -122
- package/lib/side-by-side-renderer.js.map +1 -1
- package/lib/src/diff-parser.d.ts +10 -0
- package/lib/src/diff-parser.d.ts.map +1 -0
- package/lib/src/diff2html-templates.d.ts +7 -0
- package/lib/src/diff2html-templates.d.ts.map +1 -0
- package/lib/src/diff2html.d.ts +23 -0
- package/lib/src/diff2html.d.ts.map +1 -0
- package/lib/src/file-list-renderer.d.ts +4 -0
- package/lib/src/file-list-renderer.d.ts.map +1 -0
- package/lib/src/hoganjs-utils.d.ts +20 -0
- package/lib/src/hoganjs-utils.d.ts.map +1 -0
- package/lib/src/line-by-line-renderer.d.ts +50 -0
- package/lib/src/line-by-line-renderer.d.ts.map +1 -0
- package/lib/src/rematch.d.ts +11 -0
- package/lib/src/rematch.d.ts.map +1 -0
- package/lib/src/render-utils.d.ts +35 -0
- package/lib/src/render-utils.d.ts.map +1 -0
- package/lib/src/side-by-side-renderer.d.ts +50 -0
- package/lib/src/side-by-side-renderer.d.ts.map +1 -0
- package/lib/src/types.d.ts +75 -0
- package/lib/src/types.d.ts.map +1 -0
- package/lib/src/ui/js/diff2html-ui-base.d.ts +50 -0
- package/lib/src/ui/js/diff2html-ui-base.d.ts.map +1 -0
- package/lib/src/ui/js/diff2html-ui-slim.d.ts +8 -0
- package/lib/src/ui/js/diff2html-ui-slim.d.ts.map +1 -0
- package/lib/src/ui/js/diff2html-ui.d.ts +8 -0
- package/lib/src/ui/js/diff2html-ui.d.ts.map +1 -0
- package/lib/src/ui/js/highlight.js-helpers.d.ts +12 -0
- package/lib/src/ui/js/highlight.js-helpers.d.ts.map +1 -0
- package/lib/src/ui/js/highlight.js-slim.d.ts +3 -0
- package/lib/src/ui/js/highlight.js-slim.d.ts.map +1 -0
- package/lib/src/utils.d.ts +4 -0
- package/lib/src/utils.d.ts.map +1 -0
- package/lib/types.d.ts +6 -6
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +1 -1
- package/lib/types.js.map +1 -1
- package/lib/ui/js/diff2html-ui-base.js +61 -75
- package/lib/ui/js/diff2html-ui-base.js.map +1 -1
- package/lib/ui/js/diff2html-ui-slim.d.ts +2 -1
- package/lib/ui/js/diff2html-ui-slim.d.ts.map +1 -1
- package/lib/ui/js/diff2html-ui-slim.js +6 -24
- package/lib/ui/js/diff2html-ui-slim.js.map +1 -1
- package/lib/ui/js/diff2html-ui.d.ts +2 -1
- package/lib/ui/js/diff2html-ui.d.ts.map +1 -1
- package/lib/ui/js/diff2html-ui.js +7 -27
- package/lib/ui/js/diff2html-ui.js.map +1 -1
- package/lib/ui/js/highlight.js-helpers.d.ts +1 -1
- package/lib/ui/js/highlight.js-helpers.d.ts.map +1 -1
- package/lib/ui/js/highlight.js-helpers.js +17 -17
- package/lib/ui/js/highlight.js-helpers.js.map +1 -1
- package/lib/ui/js/highlight.js-slim.js +53 -55
- package/lib/ui/js/highlight.js-slim.js.map +1 -1
- package/lib/utils.js +4 -4
- package/lib/utils.js.map +1 -1
- package/lib/website/main.d.ts +2 -0
- package/lib/website/main.d.ts.map +1 -0
- package/lib/website/templates/pages/demo/demo.d.ts +6 -0
- package/lib/website/templates/pages/demo/demo.d.ts.map +1 -0
- package/lib/website/templates/pages/index/index.d.ts +4 -0
- package/lib/website/templates/pages/index/index.d.ts.map +1 -0
- package/lib-esm/diff-parser.js +53 -63
- package/lib-esm/diff-parser.js.map +1 -1
- package/lib-esm/diff2html-templates.d.ts +1 -1
- package/lib-esm/diff2html-templates.d.ts.map +1 -1
- package/lib-esm/diff2html-templates.js +1 -1
- package/lib-esm/diff2html-templates.js.map +1 -1
- package/lib-esm/diff2html.js +9 -22
- package/lib-esm/diff2html.js.map +1 -1
- package/lib-esm/file-list-renderer.js +13 -15
- package/lib-esm/file-list-renderer.js.map +1 -1
- package/lib-esm/hoganjs-utils.js +19 -35
- package/lib-esm/hoganjs-utils.js.map +1 -1
- package/lib-esm/line-by-line-renderer.d.ts +3 -3
- package/lib-esm/line-by-line-renderer.d.ts.map +1 -1
- package/lib-esm/line-by-line-renderer.js +71 -89
- package/lib-esm/line-by-line-renderer.js.map +1 -1
- package/lib-esm/rematch.d.ts +3 -3
- package/lib-esm/rematch.d.ts.map +1 -1
- package/lib-esm/rematch.js +28 -31
- package/lib-esm/rematch.js.map +1 -1
- package/lib-esm/render-utils.d.ts +2 -2
- package/lib-esm/render-utils.d.ts.map +1 -1
- package/lib-esm/render-utils.js +41 -54
- package/lib-esm/render-utils.js.map +1 -1
- package/lib-esm/side-by-side-renderer.d.ts +3 -3
- package/lib-esm/side-by-side-renderer.d.ts.map +1 -1
- package/lib-esm/side-by-side-renderer.js +79 -97
- package/lib-esm/side-by-side-renderer.js.map +1 -1
- package/lib-esm/types.d.ts +6 -6
- package/lib-esm/types.d.ts.map +1 -1
- package/lib-esm/types.js +3 -3
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/ui/js/diff2html-ui-base.js +59 -74
- package/lib-esm/ui/js/diff2html-ui-base.js.map +1 -1
- package/lib-esm/ui/js/diff2html-ui-slim.d.ts +2 -1
- package/lib-esm/ui/js/diff2html-ui-slim.d.ts.map +1 -1
- package/lib-esm/ui/js/diff2html-ui-slim.js +4 -23
- package/lib-esm/ui/js/diff2html-ui-slim.js.map +1 -1
- package/lib-esm/ui/js/diff2html-ui.d.ts +2 -1
- package/lib-esm/ui/js/diff2html-ui.d.ts.map +1 -1
- package/lib-esm/ui/js/diff2html-ui.js +4 -23
- package/lib-esm/ui/js/diff2html-ui.js.map +1 -1
- package/lib-esm/ui/js/highlight.js-helpers.d.ts +1 -1
- package/lib-esm/ui/js/highlight.js-helpers.d.ts.map +1 -1
- package/lib-esm/ui/js/highlight.js-helpers.js +17 -17
- package/lib-esm/ui/js/highlight.js-helpers.js.map +1 -1
- package/lib-esm/ui/js/highlight.js-slim.js +1 -1
- package/lib-esm/ui/js/highlight.js-slim.js.map +1 -1
- package/lib-esm/utils.js +4 -4
- package/lib-esm/utils.js.map +1 -1
- package/package.json +40 -40
package/lib-esm/diff2html.js
CHANGED
|
@@ -1,32 +1,19 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import * as DiffParser from './diff-parser';
|
|
13
2
|
import * as fileListPrinter from './file-list-renderer';
|
|
14
3
|
import LineByLineRenderer, { defaultLineByLineRendererConfig } from './line-by-line-renderer';
|
|
15
4
|
import SideBySideRenderer, { defaultSideBySideRendererConfig } from './side-by-side-renderer';
|
|
16
5
|
import { OutputFormatType } from './types';
|
|
17
6
|
import HoganJsUtils from './hoganjs-utils';
|
|
18
|
-
export
|
|
19
|
-
export function parse(diffInput, configuration) {
|
|
20
|
-
|
|
21
|
-
return DiffParser.parse(diffInput, __assign(__assign({}, defaultDiff2HtmlConfig), configuration));
|
|
7
|
+
export const defaultDiff2HtmlConfig = Object.assign(Object.assign(Object.assign({}, defaultLineByLineRendererConfig), defaultSideBySideRendererConfig), { outputFormat: OutputFormatType.LINE_BY_LINE, drawFileList: true });
|
|
8
|
+
export function parse(diffInput, configuration = {}) {
|
|
9
|
+
return DiffParser.parse(diffInput, Object.assign(Object.assign({}, defaultDiff2HtmlConfig), configuration));
|
|
22
10
|
}
|
|
23
|
-
export function html(diffInput, configuration) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var diffOutput = config.outputFormat === 'side-by-side'
|
|
11
|
+
export function html(diffInput, configuration = {}) {
|
|
12
|
+
const config = Object.assign(Object.assign({}, defaultDiff2HtmlConfig), configuration);
|
|
13
|
+
const diffJson = typeof diffInput === 'string' ? DiffParser.parse(diffInput, config) : diffInput;
|
|
14
|
+
const hoganUtils = new HoganJsUtils(config);
|
|
15
|
+
const fileList = config.drawFileList ? fileListPrinter.render(diffJson, hoganUtils) : '';
|
|
16
|
+
const diffOutput = config.outputFormat === 'side-by-side'
|
|
30
17
|
? new SideBySideRenderer(hoganUtils, config).render(diffJson)
|
|
31
18
|
: new LineByLineRenderer(hoganUtils, config).render(diffJson);
|
|
32
19
|
return fileList + diffOutput;
|
package/lib-esm/diff2html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff2html.js","sourceRoot":"","sources":["../src/diff2html.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff2html.js","sourceRoot":"","sources":["../src/diff2html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,kBAAkB,EAAE,EAA4B,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AACxH,OAAO,kBAAkB,EAAE,EAA4B,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AACxH,OAAO,EAAY,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,YAAoC,MAAM,iBAAiB,CAAC;AAWnE,MAAM,CAAC,MAAM,sBAAsB,iDAC9B,+BAA+B,GAC/B,+BAA+B,KAClC,YAAY,EAAE,gBAAgB,CAAC,YAAY,EAC3C,YAAY,EAAE,IAAI,GACnB,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE,gBAAiC,EAAE;IAC1E,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,kCAAO,sBAAsB,GAAK,aAAa,EAAG,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,SAA8B,EAAE,gBAAiC,EAAE;IACtF,MAAM,MAAM,mCAAQ,sBAAsB,GAAK,aAAa,CAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,MAAM,UAAU,GACd,MAAM,CAAC,YAAY,KAAK,cAAc;QACpC,CAAC,CAAC,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7D,CAAC,CAAC,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElE,OAAO,QAAQ,GAAG,UAAU,CAAC;AAC/B,CAAC"}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import * as renderUtils from './render-utils';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
const baseTemplatesPath = 'file-summary';
|
|
3
|
+
const iconsBaseTemplatesPath = 'icon';
|
|
4
4
|
export function render(diffFiles, hoganUtils) {
|
|
5
|
-
|
|
6
|
-
.map(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
});
|
|
17
|
-
})
|
|
5
|
+
const files = diffFiles
|
|
6
|
+
.map(file => hoganUtils.render(baseTemplatesPath, 'line', {
|
|
7
|
+
fileHtmlId: renderUtils.getHtmlId(file),
|
|
8
|
+
oldName: file.oldName,
|
|
9
|
+
newName: file.newName,
|
|
10
|
+
fileName: renderUtils.filenameDiff(file),
|
|
11
|
+
deletedLines: '-' + file.deletedLines,
|
|
12
|
+
addedLines: '+' + file.addedLines,
|
|
13
|
+
}, {
|
|
14
|
+
fileIcon: hoganUtils.template(iconsBaseTemplatesPath, renderUtils.getFileIcon(file)),
|
|
15
|
+
}))
|
|
18
16
|
.join('\n');
|
|
19
17
|
return hoganUtils.render(baseTemplatesPath, 'wrapper', {
|
|
20
18
|
filesNumber: diffFiles.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-list-renderer.js","sourceRoot":"","sources":["../src/file-list-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAI9C,
|
|
1
|
+
{"version":3,"file":"file-list-renderer.js","sourceRoot":"","sources":["../src/file-list-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAI9C,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,MAAM,UAAU,MAAM,CAAC,SAAqB,EAAE,UAAwB;IACpE,MAAM,KAAK,GAAG,SAAS;SACpB,GAAG,CAAC,IAAI,CAAC,EAAE,CACV,UAAU,CAAC,MAAM,CACf,iBAAiB,EACjB,MAAM,EACN;QACE,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;QACvC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC;QACxC,YAAY,EAAE,GAAG,GAAG,IAAI,CAAC,YAAY;QACrC,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC,UAAU;KAClC,EACD;QACE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACrF,CACF,CACF;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE;QACrD,WAAW,EAAE,SAAS,CAAC,MAAM;QAC7B,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC"}
|
package/lib-esm/hoganjs-utils.js
CHANGED
|
@@ -1,47 +1,31 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import * as Hogan from 'hogan.js';
|
|
13
2
|
import { defaultTemplates } from './diff2html-templates';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var name = _a[0], templateString = _a[1];
|
|
20
|
-
var compiledTemplate = Hogan.compile(templateString, { asString: false });
|
|
21
|
-
return __assign(__assign({}, previousTemplates), (_b = {}, _b[name] = compiledTemplate, _b));
|
|
3
|
+
export default class HoganJsUtils {
|
|
4
|
+
constructor({ compiledTemplates = {}, rawTemplates = {} }) {
|
|
5
|
+
const compiledRawTemplates = Object.entries(rawTemplates).reduce((previousTemplates, [name, templateString]) => {
|
|
6
|
+
const compiledTemplate = Hogan.compile(templateString, { asString: false });
|
|
7
|
+
return Object.assign(Object.assign({}, previousTemplates), { [name]: compiledTemplate });
|
|
22
8
|
}, {});
|
|
23
|
-
this.preCompiledTemplates =
|
|
9
|
+
this.preCompiledTemplates = Object.assign(Object.assign(Object.assign({}, defaultTemplates), compiledTemplates), compiledRawTemplates);
|
|
24
10
|
}
|
|
25
|
-
|
|
11
|
+
static compile(templateString) {
|
|
26
12
|
return Hogan.compile(templateString, { asString: false });
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
13
|
+
}
|
|
14
|
+
render(namespace, view, params, partials, indent) {
|
|
15
|
+
const templateKey = this.templateKey(namespace, view);
|
|
30
16
|
try {
|
|
31
|
-
|
|
17
|
+
const template = this.preCompiledTemplates[templateKey];
|
|
32
18
|
return template.render(params, partials, indent);
|
|
33
19
|
}
|
|
34
20
|
catch (e) {
|
|
35
|
-
throw new Error(
|
|
21
|
+
throw new Error(`Could not find template to render '${templateKey}'`);
|
|
36
22
|
}
|
|
37
|
-
}
|
|
38
|
-
|
|
23
|
+
}
|
|
24
|
+
template(namespace, view) {
|
|
39
25
|
return this.preCompiledTemplates[this.templateKey(namespace, view)];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
}());
|
|
46
|
-
export default HoganJsUtils;
|
|
26
|
+
}
|
|
27
|
+
templateKey(namespace, view) {
|
|
28
|
+
return `${namespace}-${view}`;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
47
31
|
//# sourceMappingURL=hoganjs-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoganjs-utils.js","sourceRoot":"","sources":["../src/hoganjs-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hoganjs-utils.js","sourceRoot":"","sources":["../src/hoganjs-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAezD,MAAM,CAAC,OAAO,OAAO,YAAY;IAG/B,YAAY,EAAE,iBAAiB,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAsB;QAC3E,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAC9D,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE;YAC5C,MAAM,gBAAgB,GAAmB,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,uCAAY,iBAAiB,KAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,IAAG;QAC5D,CAAC,EACD,EAAE,CACH,CAAC;QAEF,IAAI,CAAC,oBAAoB,iDAAQ,gBAAgB,GAAK,iBAAiB,GAAK,oBAAoB,CAAE,CAAC;IACrG,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,cAAsB;QACnC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,SAAiB,EAAE,IAAY,EAAE,MAAqB,EAAE,QAAyB,EAAE,MAAe;QACvG,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACxD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,GAAG,CAAC,CAAC;SACvE;IACH,CAAC;IAED,QAAQ,CAAC,SAAiB,EAAE,IAAY;QACtC,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,WAAW,CAAC,SAAiB,EAAE,IAAY;QACjD,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -30,19 +30,19 @@ export default class LineByLineRenderer {
|
|
|
30
30
|
generateLineHtml(file: DiffFile, oldLine?: DiffPreparedLine, newLine?: DiffPreparedLine): FileHtml;
|
|
31
31
|
generateSingleLineHtml(file: DiffFile, line?: DiffPreparedLine): string;
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
type DiffLineGroups = [
|
|
34
34
|
(DiffLineContext & DiffLineContent)[],
|
|
35
35
|
(DiffLineDeleted & DiffLineContent)[],
|
|
36
36
|
(DiffLineInserted & DiffLineContent)[]
|
|
37
37
|
][];
|
|
38
|
-
|
|
38
|
+
type DiffPreparedLine = {
|
|
39
39
|
type: renderUtils.CSSLineClass;
|
|
40
40
|
prefix: string;
|
|
41
41
|
content: string;
|
|
42
42
|
oldNumber?: number;
|
|
43
43
|
newNumber?: number;
|
|
44
44
|
};
|
|
45
|
-
|
|
45
|
+
type FileHtml = {
|
|
46
46
|
left: string;
|
|
47
47
|
right: string;
|
|
48
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-by-line-renderer.d.ts","sourceRoot":"","sources":["../src/line-by-line-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,QAAQ,EAER,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,wBAAyB,SAAQ,WAAW,CAAC,YAAY;IACxE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+BAA+B,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,eAAO,MAAM,+BAA+B;;;;;;;;CAK3C,CAAC;AAOF,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;gBAEpD,UAAU,EAAE,YAAY,EAAE,MAAM,GAAE,wBAA6B;IAK3E,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM;IAgBrC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAwBvD,iBAAiB,IAAI,MAAM;IAO3B,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IA8CxC,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc;IAsCpD,oBAAoB,CAClB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GACnC,QAAQ,EAAE,EAAE,EAAE;IAcjB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ;IA4D9G,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,QAAQ;IAOlG,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,MAAM;CAmBxE;AAED,
|
|
1
|
+
{"version":3,"file":"line-by-line-renderer.d.ts","sourceRoot":"","sources":["../src/line-by-line-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,QAAQ,EAER,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,wBAAyB,SAAQ,WAAW,CAAC,YAAY;IACxE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+BAA+B,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,eAAO,MAAM,+BAA+B;;;;;;;;CAK3C,CAAC;AAOF,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;gBAEpD,UAAU,EAAE,YAAY,EAAE,MAAM,GAAE,wBAA6B;IAK3E,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM;IAgBrC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAwBvD,iBAAiB,IAAI,MAAM;IAO3B,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IA8CxC,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc;IAsCpD,oBAAoB,CAClB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GACnC,QAAQ,EAAE,EAAE,EAAE;IAcjB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ;IA4D9G,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,QAAQ;IAOlG,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,MAAM;CAmBxE;AAED,KAAK,cAAc,GAAG;IACpB,CAAC,eAAe,GAAG,eAAe,CAAC,EAAE;IACrC,CAAC,eAAe,GAAG,eAAe,CAAC,EAAE;IACrC,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE;CACvC,EAAE,CAAC;AAEJ,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
|
|
@@ -1,51 +1,38 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import * as Rematch from './rematch';
|
|
13
2
|
import * as renderUtils from './render-utils';
|
|
14
3
|
import { LineType, } from './types';
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (config === void 0) { config = {}; }
|
|
4
|
+
export const defaultLineByLineRendererConfig = Object.assign(Object.assign({}, renderUtils.defaultRenderConfig), { renderNothingWhenEmpty: false, matchingMaxComparisons: 2500, maxLineSizeInBlockForComparison: 200 });
|
|
5
|
+
const genericTemplatesPath = 'generic';
|
|
6
|
+
const baseTemplatesPath = 'line-by-line';
|
|
7
|
+
const iconsBaseTemplatesPath = 'icon';
|
|
8
|
+
const tagsBaseTemplatesPath = 'tag';
|
|
9
|
+
export default class LineByLineRenderer {
|
|
10
|
+
constructor(hoganUtils, config = {}) {
|
|
23
11
|
this.hoganUtils = hoganUtils;
|
|
24
|
-
this.config =
|
|
12
|
+
this.config = Object.assign(Object.assign({}, defaultLineByLineRendererConfig), config);
|
|
25
13
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var diffs;
|
|
14
|
+
render(diffFiles) {
|
|
15
|
+
const diffsHtml = diffFiles
|
|
16
|
+
.map(file => {
|
|
17
|
+
let diffs;
|
|
31
18
|
if (file.blocks.length) {
|
|
32
|
-
diffs =
|
|
19
|
+
diffs = this.generateFileHtml(file);
|
|
33
20
|
}
|
|
34
21
|
else {
|
|
35
|
-
diffs =
|
|
22
|
+
diffs = this.generateEmptyDiff();
|
|
36
23
|
}
|
|
37
|
-
return
|
|
24
|
+
return this.makeFileDiffHtml(file, diffs);
|
|
38
25
|
})
|
|
39
26
|
.join('\n');
|
|
40
27
|
return this.hoganUtils.render(genericTemplatesPath, 'wrapper', { content: diffsHtml });
|
|
41
|
-
}
|
|
42
|
-
|
|
28
|
+
}
|
|
29
|
+
makeFileDiffHtml(file, diffs) {
|
|
43
30
|
if (this.config.renderNothingWhenEmpty && Array.isArray(file.blocks) && file.blocks.length === 0)
|
|
44
31
|
return '';
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
32
|
+
const fileDiffTemplate = this.hoganUtils.template(baseTemplatesPath, 'file-diff');
|
|
33
|
+
const filePathTemplate = this.hoganUtils.template(genericTemplatesPath, 'file-path');
|
|
34
|
+
const fileIconTemplate = this.hoganUtils.template(iconsBaseTemplatesPath, 'file');
|
|
35
|
+
const fileTagTemplate = this.hoganUtils.template(tagsBaseTemplatesPath, renderUtils.getFileIcon(file));
|
|
49
36
|
return fileDiffTemplate.render({
|
|
50
37
|
file: file,
|
|
51
38
|
fileHtmlId: renderUtils.getHtmlId(file),
|
|
@@ -57,38 +44,35 @@ var LineByLineRenderer = (function () {
|
|
|
57
44
|
fileTag: fileTagTemplate,
|
|
58
45
|
}),
|
|
59
46
|
});
|
|
60
|
-
}
|
|
61
|
-
|
|
47
|
+
}
|
|
48
|
+
generateEmptyDiff() {
|
|
62
49
|
return this.hoganUtils.render(genericTemplatesPath, 'empty-diff', {
|
|
63
50
|
contentClass: 'd2h-code-line',
|
|
64
51
|
CSSLineClass: renderUtils.CSSLineClass,
|
|
65
52
|
});
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var matcher = Rematch.newMatcherFn(Rematch.newDistanceFn(function (e) { return renderUtils.deconstructLine(e.content, file.isCombined).content; }));
|
|
53
|
+
}
|
|
54
|
+
generateFileHtml(file) {
|
|
55
|
+
const matcher = Rematch.newMatcherFn(Rematch.newDistanceFn((e) => renderUtils.deconstructLine(e.content, file.isCombined).content));
|
|
70
56
|
return file.blocks
|
|
71
|
-
.map(
|
|
72
|
-
|
|
57
|
+
.map(block => {
|
|
58
|
+
let lines = this.hoganUtils.render(genericTemplatesPath, 'block-header', {
|
|
73
59
|
CSSLineClass: renderUtils.CSSLineClass,
|
|
74
60
|
blockHeader: file.isTooBig ? block.header : renderUtils.escapeForHtml(block.header),
|
|
75
61
|
lineClass: 'd2h-code-linenumber',
|
|
76
62
|
contentClass: 'd2h-code-line',
|
|
77
63
|
});
|
|
78
|
-
|
|
79
|
-
var contextLines = _a[0], oldLines = _a[1], newLines = _a[2];
|
|
64
|
+
this.applyLineGroupping(block).forEach(([contextLines, oldLines, newLines]) => {
|
|
80
65
|
if (oldLines.length && newLines.length && !contextLines.length) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var _b = _this.processChangedLines(file, file.isCombined, oldLines, newLines), left = _b.left, right = _b.right;
|
|
66
|
+
this.applyRematchMatching(oldLines, newLines, matcher).map(([oldLines, newLines]) => {
|
|
67
|
+
const { left, right } = this.processChangedLines(file, file.isCombined, oldLines, newLines);
|
|
84
68
|
lines += left;
|
|
85
69
|
lines += right;
|
|
86
70
|
});
|
|
87
71
|
}
|
|
88
72
|
else if (contextLines.length) {
|
|
89
|
-
contextLines.forEach(
|
|
90
|
-
|
|
91
|
-
lines +=
|
|
73
|
+
contextLines.forEach(line => {
|
|
74
|
+
const { prefix, content } = renderUtils.deconstructLine(line.content, file.isCombined);
|
|
75
|
+
lines += this.generateSingleLineHtml(file, {
|
|
92
76
|
type: renderUtils.CSSLineClass.CONTEXT,
|
|
93
77
|
prefix: prefix,
|
|
94
78
|
content: content,
|
|
@@ -98,7 +82,7 @@ var LineByLineRenderer = (function () {
|
|
|
98
82
|
});
|
|
99
83
|
}
|
|
100
84
|
else if (oldLines.length || newLines.length) {
|
|
101
|
-
|
|
85
|
+
const { left, right } = this.processChangedLines(file, file.isCombined, oldLines, newLines);
|
|
102
86
|
lines += left;
|
|
103
87
|
lines += right;
|
|
104
88
|
}
|
|
@@ -109,13 +93,13 @@ var LineByLineRenderer = (function () {
|
|
|
109
93
|
return lines;
|
|
110
94
|
})
|
|
111
95
|
.join('\n');
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
for (
|
|
118
|
-
|
|
96
|
+
}
|
|
97
|
+
applyLineGroupping(block) {
|
|
98
|
+
const blockLinesGroups = [];
|
|
99
|
+
let oldLines = [];
|
|
100
|
+
let newLines = [];
|
|
101
|
+
for (let i = 0; i < block.lines.length; i++) {
|
|
102
|
+
const diffLine = block.lines[i];
|
|
119
103
|
if ((diffLine.type !== LineType.INSERT && newLines.length) ||
|
|
120
104
|
(diffLine.type === LineType.CONTEXT && oldLines.length > 0)) {
|
|
121
105
|
blockLinesGroups.push([[], oldLines, newLines]);
|
|
@@ -141,59 +125,59 @@ var LineByLineRenderer = (function () {
|
|
|
141
125
|
newLines = [];
|
|
142
126
|
}
|
|
143
127
|
return blockLinesGroups;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
128
|
+
}
|
|
129
|
+
applyRematchMatching(oldLines, newLines, matcher) {
|
|
130
|
+
const comparisons = oldLines.length * newLines.length;
|
|
131
|
+
const maxLineSizeInBlock = Math.max.apply(null, [0].concat(oldLines.concat(newLines).map(elem => elem.content.length)));
|
|
132
|
+
const doMatching = comparisons < this.config.matchingMaxComparisons &&
|
|
149
133
|
maxLineSizeInBlock < this.config.maxLineSizeInBlockForComparison &&
|
|
150
134
|
(this.config.matching === 'lines' || this.config.matching === 'words');
|
|
151
135
|
return doMatching ? matcher(oldLines, newLines) : [[oldLines, newLines]];
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
|
|
136
|
+
}
|
|
137
|
+
processChangedLines(file, isCombined, oldLines, newLines) {
|
|
138
|
+
const fileHtml = {
|
|
155
139
|
right: '',
|
|
156
140
|
left: '',
|
|
157
141
|
};
|
|
158
|
-
|
|
159
|
-
for (
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
142
|
+
const maxLinesNumber = Math.max(oldLines.length, newLines.length);
|
|
143
|
+
for (let i = 0; i < maxLinesNumber; i++) {
|
|
144
|
+
const oldLine = oldLines[i];
|
|
145
|
+
const newLine = newLines[i];
|
|
146
|
+
const diff = oldLine !== undefined && newLine !== undefined
|
|
163
147
|
? renderUtils.diffHighlight(oldLine.content, newLine.content, isCombined, this.config)
|
|
164
148
|
: undefined;
|
|
165
|
-
|
|
166
|
-
?
|
|
149
|
+
const preparedOldLine = oldLine !== undefined && oldLine.oldNumber !== undefined
|
|
150
|
+
? Object.assign(Object.assign({}, (diff !== undefined
|
|
167
151
|
? {
|
|
168
152
|
prefix: diff.oldLine.prefix,
|
|
169
153
|
content: diff.oldLine.content,
|
|
170
154
|
type: renderUtils.CSSLineClass.DELETE_CHANGES,
|
|
171
155
|
}
|
|
172
|
-
:
|
|
173
|
-
|
|
174
|
-
?
|
|
156
|
+
: Object.assign(Object.assign({}, renderUtils.deconstructLine(oldLine.content, isCombined)), { type: renderUtils.toCSSClass(oldLine.type) }))), { oldNumber: oldLine.oldNumber, newNumber: oldLine.newNumber }) : undefined;
|
|
157
|
+
const preparedNewLine = newLine !== undefined && newLine.newNumber !== undefined
|
|
158
|
+
? Object.assign(Object.assign({}, (diff !== undefined
|
|
175
159
|
? {
|
|
176
160
|
prefix: diff.newLine.prefix,
|
|
177
161
|
content: diff.newLine.content,
|
|
178
162
|
type: renderUtils.CSSLineClass.INSERT_CHANGES,
|
|
179
163
|
}
|
|
180
|
-
:
|
|
181
|
-
|
|
164
|
+
: Object.assign(Object.assign({}, renderUtils.deconstructLine(newLine.content, isCombined)), { type: renderUtils.toCSSClass(newLine.type) }))), { oldNumber: newLine.oldNumber, newNumber: newLine.newNumber }) : undefined;
|
|
165
|
+
const { left, right } = this.generateLineHtml(file, preparedOldLine, preparedNewLine);
|
|
182
166
|
fileHtml.left += left;
|
|
183
167
|
fileHtml.right += right;
|
|
184
168
|
}
|
|
185
169
|
return fileHtml;
|
|
186
|
-
}
|
|
187
|
-
|
|
170
|
+
}
|
|
171
|
+
generateLineHtml(file, oldLine, newLine) {
|
|
188
172
|
return {
|
|
189
173
|
left: this.generateSingleLineHtml(file, oldLine),
|
|
190
174
|
right: this.generateSingleLineHtml(file, newLine),
|
|
191
175
|
};
|
|
192
|
-
}
|
|
193
|
-
|
|
176
|
+
}
|
|
177
|
+
generateSingleLineHtml(file, line) {
|
|
194
178
|
if (line === undefined)
|
|
195
179
|
return '';
|
|
196
|
-
|
|
180
|
+
const lineNumberHtml = this.hoganUtils.render(baseTemplatesPath, 'numbers', {
|
|
197
181
|
oldNumber: line.oldNumber || '',
|
|
198
182
|
newNumber: line.newNumber || '',
|
|
199
183
|
});
|
|
@@ -204,11 +188,9 @@ var LineByLineRenderer = (function () {
|
|
|
204
188
|
prefix: line.prefix === ' ' ? ' ' : line.prefix,
|
|
205
189
|
content: line.content,
|
|
206
190
|
lineNumber: lineNumberHtml,
|
|
207
|
-
line
|
|
208
|
-
file
|
|
191
|
+
line,
|
|
192
|
+
file,
|
|
209
193
|
});
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
}());
|
|
213
|
-
export default LineByLineRenderer;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
214
196
|
//# sourceMappingURL=line-by-line-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-by-line-renderer.js","sourceRoot":"","sources":["../src/line-by-line-renderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"line-by-line-renderer.js","sourceRoot":"","sources":["../src/line-by-line-renderer.ts"],"names":[],"mappings":"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"}
|
package/lib-esm/rematch.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type BestMatch = {
|
|
2
2
|
indexA: number;
|
|
3
3
|
indexB: number;
|
|
4
4
|
score: number;
|
|
5
5
|
};
|
|
6
6
|
export declare function levenshtein(a: string, b: string): number;
|
|
7
|
-
export
|
|
7
|
+
export type DistanceFn<T> = (x: T, y: T) => number;
|
|
8
8
|
export declare function newDistanceFn<T>(str: (value: T) => string): DistanceFn<T>;
|
|
9
|
-
export
|
|
9
|
+
export type MatcherFn<T> = (a: T[], b: T[], level?: number, cache?: Map<string, number>) => T[][][];
|
|
10
10
|
export declare function newMatcherFn<T>(distance: (x: T, y: T) => number): MatcherFn<T>;
|
|
11
11
|
//# sourceMappingURL=rematch.d.ts.map
|
package/lib-esm/rematch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rematch.d.ts","sourceRoot":"","sources":["../src/rematch.ts"],"names":[],"mappings":"AAKA,
|
|
1
|
+
{"version":3,"file":"rematch.d.ts","sourceRoot":"","sources":["../src/rematch.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAcF,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAwCxD;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;AAEnD,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAOzE;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AAEpG,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAwD9E"}
|