@creative-introvert/tons-of-tests 0.4.0
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 +273 -0
- package/dist/cjs/Classify.js +36 -0
- package/dist/cjs/Classify.js.map +1 -0
- package/dist/cjs/DisplayConfig.js +34 -0
- package/dist/cjs/DisplayConfig.js.map +1 -0
- package/dist/cjs/Error.js +35 -0
- package/dist/cjs/Error.js.map +1 -0
- package/dist/cjs/Show.js +27 -0
- package/dist/cjs/Show.js.map +1 -0
- package/dist/cjs/Test.js +36 -0
- package/dist/cjs/Test.js.map +1 -0
- package/dist/cjs/Test.repository.js +37 -0
- package/dist/cjs/Test.repository.js.map +1 -0
- package/dist/cjs/index.js +51 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/Classify.js +123 -0
- package/dist/cjs/internal/Classify.js.map +1 -0
- package/dist/cjs/internal/DisplayConfig.js +23 -0
- package/dist/cjs/internal/DisplayConfig.js.map +1 -0
- package/dist/cjs/internal/Test.js +178 -0
- package/dist/cjs/internal/Test.js.map +1 -0
- package/dist/cjs/internal/Test.repository.sqlite.js +230 -0
- package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -0
- package/dist/cjs/internal/Test.repository.sqlite.spec.js +96 -0
- package/dist/cjs/internal/Test.repository.sqlite.spec.js.map +1 -0
- package/dist/cjs/internal/common.js +70 -0
- package/dist/cjs/internal/common.js.map +1 -0
- package/dist/cjs/internal/diff.js +86 -0
- package/dist/cjs/internal/diff.js.map +1 -0
- package/dist/cjs/internal/format-diff.js +162 -0
- package/dist/cjs/internal/format-diff.js.map +1 -0
- package/dist/cjs/internal/format-diff.spec.js +102 -0
- package/dist/cjs/internal/format-diff.spec.js.map +1 -0
- package/dist/cjs/internal/lib/Schema.js +39 -0
- package/dist/cjs/internal/lib/Schema.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/clone.js +35 -0
- package/dist/cjs/internal/lib/jsondiffpatch/clone.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/context.js +47 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/context.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js +42 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js +26 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js +25 -0
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/date-reviver.js +18 -0
- package/dist/cjs/internal/lib/jsondiffpatch/date-reviver.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js +76 -0
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js +388 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/dates.js +24 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/dates.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/lcs.js +78 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js +157 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/texts.js +123 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/texts.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/trivial.js +108 -0
- package/dist/cjs/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js +169 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/base.js +198 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/base.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js +243 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js +178 -0
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/index.js +65 -0
- package/dist/cjs/internal/lib/jsondiffpatch/index.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/pipe.js +110 -0
- package/dist/cjs/internal/lib/jsondiffpatch/pipe.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/processor.js +71 -0
- package/dist/cjs/internal/lib/jsondiffpatch/processor.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/types.js +6 -0
- package/dist/cjs/internal/lib/jsondiffpatch/types.js.map +1 -0
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js +92 -0
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -0
- package/dist/cjs/internal/pack.js +81 -0
- package/dist/cjs/internal/pack.js.map +1 -0
- package/dist/cjs/internal/stats.js +144 -0
- package/dist/cjs/internal/stats.js.map +1 -0
- package/dist/cjs/internal/summarize.js +173 -0
- package/dist/cjs/internal/summarize.js.map +1 -0
- package/dist/cjs/pack.js +33 -0
- package/dist/cjs/pack.js.map +1 -0
- package/dist/cjs/prelude.js +95 -0
- package/dist/cjs/prelude.js.map +1 -0
- package/dist/dts/Classify.d.ts +20 -0
- package/dist/dts/Classify.d.ts.map +1 -0
- package/dist/dts/DisplayConfig.d.ts +19 -0
- package/dist/dts/DisplayConfig.d.ts.map +1 -0
- package/dist/dts/Error.d.ts +10 -0
- package/dist/dts/Error.d.ts.map +1 -0
- package/dist/dts/Show.d.ts +37 -0
- package/dist/dts/Show.d.ts.map +1 -0
- package/dist/dts/Test.d.ts +48 -0
- package/dist/dts/Test.d.ts.map +1 -0
- package/dist/dts/Test.repository.d.ts +40 -0
- package/dist/dts/Test.repository.d.ts.map +1 -0
- package/dist/dts/index.d.ts +8 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/Classify.d.ts +34 -0
- package/dist/dts/internal/Classify.d.ts.map +1 -0
- package/dist/dts/internal/DisplayConfig.d.ts +3 -0
- package/dist/dts/internal/DisplayConfig.d.ts.map +1 -0
- package/dist/dts/internal/Test.d.ts +39 -0
- package/dist/dts/internal/Test.d.ts.map +1 -0
- package/dist/dts/internal/Test.repository.sqlite.d.ts +10 -0
- package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -0
- package/dist/dts/internal/Test.repository.sqlite.spec.d.ts +2 -0
- package/dist/dts/internal/Test.repository.sqlite.spec.d.ts.map +1 -0
- package/dist/dts/internal/common.d.ts +11 -0
- package/dist/dts/internal/common.d.ts.map +1 -0
- package/dist/dts/internal/diff.d.ts +9 -0
- package/dist/dts/internal/diff.d.ts.map +1 -0
- package/dist/dts/internal/format-diff.d.ts +3 -0
- package/dist/dts/internal/format-diff.d.ts.map +1 -0
- package/dist/dts/internal/format-diff.spec.d.ts +2 -0
- package/dist/dts/internal/format-diff.spec.d.ts.map +1 -0
- package/dist/dts/internal/lib/Schema.d.ts +4 -0
- package/dist/dts/internal/lib/Schema.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/clone.d.ts +2 -0
- package/dist/dts/internal/lib/jsondiffpatch/clone.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/context.d.ts +18 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/context.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/diff.d.ts +15 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/diff.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/patch.d.ts +11 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/patch.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/reverse.d.ts +11 -0
- package/dist/dts/internal/lib/jsondiffpatch/contexts/reverse.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/date-reviver.d.ts +2 -0
- package/dist/dts/internal/lib/jsondiffpatch/date-reviver.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/diffpatcher.d.ts +14 -0
- package/dist/dts/internal/lib/jsondiffpatch/diffpatcher.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/arrays.d.ts +16 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/arrays.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/dates.d.ts +4 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/dates.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts +11 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/nested.d.ts +11 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/nested.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/texts.d.ts +8 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/texts.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/trivial.d.ts +8 -0
- package/dist/dts/internal/lib/jsondiffpatch/filters/trivial.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/annotated.d.ts +30 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/annotated.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/base.d.ts +60 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/base.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/html.d.ts +28 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/html.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/jsonpatch.d.ts +62 -0
- package/dist/dts/internal/lib/jsondiffpatch/formatters/jsonpatch.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/index.d.ts +17 -0
- package/dist/dts/internal/lib/jsondiffpatch/index.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/pipe.d.ts +25 -0
- package/dist/dts/internal/lib/jsondiffpatch/pipe.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts +20 -0
- package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/types.d.ts +36 -0
- package/dist/dts/internal/lib/jsondiffpatch/types.d.ts.map +1 -0
- package/dist/dts/internal/lib/jsondiffpatch/with-text-diffs.d.ts +19 -0
- package/dist/dts/internal/lib/jsondiffpatch/with-text-diffs.d.ts.map +1 -0
- package/dist/dts/internal/pack.d.ts +2 -0
- package/dist/dts/internal/pack.d.ts.map +1 -0
- package/dist/dts/internal/stats.d.ts +9 -0
- package/dist/dts/internal/stats.d.ts.map +1 -0
- package/dist/dts/internal/summarize.d.ts +11 -0
- package/dist/dts/internal/summarize.d.ts.map +1 -0
- package/dist/dts/pack.d.ts +2 -0
- package/dist/dts/pack.d.ts.map +1 -0
- package/dist/dts/prelude.d.ts +24 -0
- package/dist/dts/prelude.d.ts.map +1 -0
- package/dist/esm/Classify.js +13 -0
- package/dist/esm/Classify.js.map +1 -0
- package/dist/esm/DisplayConfig.js +11 -0
- package/dist/esm/DisplayConfig.js.map +1 -0
- package/dist/esm/Error.js +12 -0
- package/dist/esm/Error.js.map +1 -0
- package/dist/esm/Show.js +27 -0
- package/dist/esm/Show.js.map +1 -0
- package/dist/esm/Test.js +13 -0
- package/dist/esm/Test.js.map +1 -0
- package/dist/esm/Test.repository.js +14 -0
- package/dist/esm/Test.repository.js.map +1 -0
- package/dist/esm/index.js +28 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/Classify.js +100 -0
- package/dist/esm/internal/Classify.js.map +1 -0
- package/dist/esm/internal/DisplayConfig.js +23 -0
- package/dist/esm/internal/DisplayConfig.js.map +1 -0
- package/dist/esm/internal/Test.js +155 -0
- package/dist/esm/internal/Test.js.map +1 -0
- package/dist/esm/internal/Test.repository.sqlite.js +207 -0
- package/dist/esm/internal/Test.repository.sqlite.js.map +1 -0
- package/dist/esm/internal/Test.repository.sqlite.spec.js +73 -0
- package/dist/esm/internal/Test.repository.sqlite.spec.js.map +1 -0
- package/dist/esm/internal/common.js +66 -0
- package/dist/esm/internal/common.js.map +1 -0
- package/dist/esm/internal/diff.js +82 -0
- package/dist/esm/internal/diff.js.map +1 -0
- package/dist/esm/internal/format-diff.js +158 -0
- package/dist/esm/internal/format-diff.js.map +1 -0
- package/dist/esm/internal/format-diff.spec.js +79 -0
- package/dist/esm/internal/format-diff.spec.js.map +1 -0
- package/dist/esm/internal/lib/Schema.js +16 -0
- package/dist/esm/internal/lib/Schema.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/clone.js +35 -0
- package/dist/esm/internal/lib/jsondiffpatch/clone.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js +47 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js +38 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js +22 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js +21 -0
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js +18 -0
- package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js +49 -0
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js +384 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js +24 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js +78 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js +153 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js +123 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js +108 -0
- package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js +165 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js +198 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js +239 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js +174 -0
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/index.js +61 -0
- package/dist/esm/internal/lib/jsondiffpatch/index.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/pipe.js +110 -0
- package/dist/esm/internal/lib/jsondiffpatch/pipe.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/processor.js +71 -0
- package/dist/esm/internal/lib/jsondiffpatch/processor.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/types.js +6 -0
- package/dist/esm/internal/lib/jsondiffpatch/types.js.map +1 -0
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js +88 -0
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -0
- package/dist/esm/internal/pack.js +58 -0
- package/dist/esm/internal/pack.js.map +1 -0
- package/dist/esm/internal/stats.js +117 -0
- package/dist/esm/internal/stats.js.map +1 -0
- package/dist/esm/internal/summarize.js +146 -0
- package/dist/esm/internal/summarize.js.map +1 -0
- package/dist/esm/pack.js +10 -0
- package/dist/esm/pack.js.map +1 -0
- package/dist/esm/prelude.js +72 -0
- package/dist/esm/prelude.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrays.js","names":["_diff","_interopRequireDefault","require","_patch","_reverse","_lcs","obj","__esModule","default","ARRAY_MOVE","arraysHaveMatchByRef","array1","array2","len1","len2","index1","val1","index2","val2","matchItems","context","value1","value2","objectHash","matchByPosition","hashCache1","hash1","hashCache2","hash2","diffFilter","exports","arraysDiffFilter","leftIsArray","matchContext","options","commonHead","commonTail","index","left","right","length","child","push","result","setResult","undefined","exit","_t","trimmed1","slice","trimmed2","seq","get","removedItems","indices1","indexOf","detectMove","arrays","includeValueOnMove","removedItemsLength","indexOnArray2","indices2","isMove","removeItemIndex1","splice","filterName","compare","numerically","a","b","numericallyBy","name","patchFilter","nestedPatchFilter","nested","nestedDelta","delta","array","toRemove","toInsert","toModify","removedOrMovedIndex","parseInt","Error","numberIndex","value","sort","indexDiff","removedValue","toInsertLength","insertion","toModifyLength","modification","children","collectChildrenPatchFilter","deltaWithChildren","arrayIndex","childName","reverseFilter","arraysReverseFilter","nonNestedDelta","arrayMoveDelta","newName","substring","arrayDelta","reverseArrayDeltaIndex","itemDelta","Array","isArray","reverseIndex","deltaIndex","deltaItem","moveFromIndex","moveToIndex","deleteIndex","collectChildrenReverseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/arrays.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.diffFilter = void 0;
|
|
7
|
+
const diffFilter = exports.diffFilter = function datesDiffFilter(context) {
|
|
8
|
+
if (context.left instanceof Date) {
|
|
9
|
+
if (context.right instanceof Date) {
|
|
10
|
+
if (context.left.getTime() !== context.right.getTime()) {
|
|
11
|
+
context.setResult([context.left, context.right]);
|
|
12
|
+
} else {
|
|
13
|
+
context.setResult(undefined);
|
|
14
|
+
}
|
|
15
|
+
} else {
|
|
16
|
+
context.setResult([context.left, context.right]);
|
|
17
|
+
}
|
|
18
|
+
context.exit();
|
|
19
|
+
} else if (context.right instanceof Date) {
|
|
20
|
+
context.setResult([context.left, context.right]).exit();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
diffFilter.filterName = 'dates';
|
|
24
|
+
//# sourceMappingURL=dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.js","names":["diffFilter","exports","datesDiffFilter","context","left","Date","right","getTime","setResult","undefined","exit","filterName"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/dates.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAwB,SAASE,eAAeA,CACrEC,OAAO;EAEP,IAAIA,OAAO,CAACC,IAAI,YAAYC,IAAI,EAAE;IAChC,IAAIF,OAAO,CAACG,KAAK,YAAYD,IAAI,EAAE;MACjC,IAAIF,OAAO,CAACC,IAAI,CAACG,OAAO,EAAE,KAAKJ,OAAO,CAACG,KAAK,CAACC,OAAO,EAAE,EAAE;QACtDJ,OAAO,CAACK,SAAS,CAAC,CAACL,OAAO,CAACC,IAAI,EAAED,OAAO,CAACG,KAAK,CAAC,CAAC;MAClD,CAAC,MAAM;QACLH,OAAO,CAACK,SAAS,CAACC,SAAS,CAAC;MAC9B;IACF,CAAC,MAAM;MACLN,OAAO,CAACK,SAAS,CAAC,CAACL,OAAO,CAACC,IAAI,EAAED,OAAO,CAACG,KAAK,CAAC,CAAC;IAClD;IACAH,OAAO,CAACO,IAAI,EAAE;EAChB,CAAC,MAAM,IAAIP,OAAO,CAACG,KAAK,YAAYD,IAAI,EAAE;IACxCF,OAAO,CAACK,SAAS,CAAC,CAACL,OAAO,CAACC,IAAI,EAAED,OAAO,CAACG,KAAK,CAAC,CAAC,CAACI,IAAI,EAAE;EACzD;AACF,CAAC;AACDV,UAAU,CAACW,UAAU,GAAG,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
/*
|
|
8
|
+
|
|
9
|
+
LCS implementation that supports arrays or strings
|
|
10
|
+
|
|
11
|
+
reference: http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
|
|
12
|
+
|
|
13
|
+
*/
|
|
14
|
+
const defaultMatch = function (array1, array2, index1, index2) {
|
|
15
|
+
return array1[index1] === array2[index2];
|
|
16
|
+
};
|
|
17
|
+
const lengthMatrix = function (array1, array2, match, context) {
|
|
18
|
+
const len1 = array1.length;
|
|
19
|
+
const len2 = array2.length;
|
|
20
|
+
let x, y;
|
|
21
|
+
// initialize empty matrix of len1+1 x len2+1
|
|
22
|
+
const matrix = new Array(len1 + 1);
|
|
23
|
+
for (x = 0; x < len1 + 1; x++) {
|
|
24
|
+
matrix[x] = new Array(len2 + 1);
|
|
25
|
+
for (y = 0; y < len2 + 1; y++) {
|
|
26
|
+
matrix[x][y] = 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
matrix.match = match;
|
|
30
|
+
// save sequence lengths for each coordinate
|
|
31
|
+
for (x = 1; x < len1 + 1; x++) {
|
|
32
|
+
for (y = 1; y < len2 + 1; y++) {
|
|
33
|
+
if (match(array1, array2, x - 1, y - 1, context)) {
|
|
34
|
+
matrix[x][y] = matrix[x - 1][y - 1] + 1;
|
|
35
|
+
} else {
|
|
36
|
+
matrix[x][y] = Math.max(matrix[x - 1][y], matrix[x][y - 1]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return matrix;
|
|
41
|
+
};
|
|
42
|
+
const backtrack = function (matrix, array1, array2, context) {
|
|
43
|
+
let index1 = array1.length;
|
|
44
|
+
let index2 = array2.length;
|
|
45
|
+
const subsequence = {
|
|
46
|
+
sequence: [],
|
|
47
|
+
indices1: [],
|
|
48
|
+
indices2: []
|
|
49
|
+
};
|
|
50
|
+
while (index1 !== 0 && index2 !== 0) {
|
|
51
|
+
const sameLetter = matrix.match(array1, array2, index1 - 1, index2 - 1, context);
|
|
52
|
+
if (sameLetter) {
|
|
53
|
+
subsequence.sequence.unshift(array1[index1 - 1]);
|
|
54
|
+
subsequence.indices1.unshift(index1 - 1);
|
|
55
|
+
subsequence.indices2.unshift(index2 - 1);
|
|
56
|
+
--index1;
|
|
57
|
+
--index2;
|
|
58
|
+
} else {
|
|
59
|
+
const valueAtMatrixAbove = matrix[index1][index2 - 1];
|
|
60
|
+
const valueAtMatrixLeft = matrix[index1 - 1][index2];
|
|
61
|
+
if (valueAtMatrixAbove > valueAtMatrixLeft) {
|
|
62
|
+
--index2;
|
|
63
|
+
} else {
|
|
64
|
+
--index1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return subsequence;
|
|
69
|
+
};
|
|
70
|
+
const get = function (array1, array2, match, context) {
|
|
71
|
+
const innerContext = context || {};
|
|
72
|
+
const matrix = lengthMatrix(array1, array2, match || defaultMatch, innerContext);
|
|
73
|
+
return backtrack(matrix, array1, array2, innerContext);
|
|
74
|
+
};
|
|
75
|
+
var _default = exports.default = {
|
|
76
|
+
get
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=lcs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lcs.js","names":["defaultMatch","array1","array2","index1","index2","lengthMatrix","match","context","len1","length","len2","x","y","matrix","Array","Math","max","backtrack","subsequence","sequence","indices1","indices2","sameLetter","unshift","valueAtMatrixAbove","valueAtMatrixLeft","get","innerContext","_default","exports","default"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/lcs.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reverseFilter = exports.patchFilter = exports.objectsDiffFilter = exports.collectChildrenReverseFilter = exports.collectChildrenPatchFilter = exports.collectChildrenDiffFilter = void 0;
|
|
7
|
+
var _diff = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("../contexts/diff.js"));
|
|
8
|
+
var _patch = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("../contexts/patch.js"));
|
|
9
|
+
var _reverse = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("../contexts/reverse.js"));
|
|
10
|
+
function _interopRequireDefault(obj) {
|
|
11
|
+
return obj && obj.__esModule ? obj : {
|
|
12
|
+
default: obj
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const collectChildrenDiffFilter = context => {
|
|
16
|
+
if (!context || !context.children) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const length = context.children.length;
|
|
20
|
+
let child;
|
|
21
|
+
let result = context.result;
|
|
22
|
+
for (let index = 0; index < length; index++) {
|
|
23
|
+
child = context.children[index];
|
|
24
|
+
if (typeof child.result === 'undefined') {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
result = result || {};
|
|
28
|
+
result[child.childName] = child.result;
|
|
29
|
+
}
|
|
30
|
+
if (result && context.leftIsArray) {
|
|
31
|
+
result._t = 'a';
|
|
32
|
+
}
|
|
33
|
+
context.setResult(result).exit();
|
|
34
|
+
};
|
|
35
|
+
exports.collectChildrenDiffFilter = collectChildrenDiffFilter;
|
|
36
|
+
collectChildrenDiffFilter.filterName = 'collectChildren';
|
|
37
|
+
const objectsDiffFilter = context => {
|
|
38
|
+
if (context.leftIsArray || context.leftType !== 'object') {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const left = context.left;
|
|
42
|
+
const right = context.right;
|
|
43
|
+
let name;
|
|
44
|
+
let child;
|
|
45
|
+
const propertyFilter = context.options.propertyFilter;
|
|
46
|
+
for (name in left) {
|
|
47
|
+
if (!Object.prototype.hasOwnProperty.call(left, name)) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (propertyFilter && !propertyFilter(name, context)) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
child = new _diff.default(left[name], right[name]);
|
|
54
|
+
context.push(child, name);
|
|
55
|
+
}
|
|
56
|
+
for (name in right) {
|
|
57
|
+
if (!Object.prototype.hasOwnProperty.call(right, name)) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (propertyFilter && !propertyFilter(name, context)) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (typeof left[name] === 'undefined') {
|
|
64
|
+
child = new _diff.default(undefined, right[name]);
|
|
65
|
+
context.push(child, name);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (!context.children || context.children.length === 0) {
|
|
69
|
+
context.setResult(undefined).exit();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
context.exit();
|
|
73
|
+
};
|
|
74
|
+
exports.objectsDiffFilter = objectsDiffFilter;
|
|
75
|
+
objectsDiffFilter.filterName = 'objects';
|
|
76
|
+
const patchFilter = exports.patchFilter = function nestedPatchFilter(context) {
|
|
77
|
+
if (!context.nested) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const nestedDelta = context.delta;
|
|
81
|
+
if (nestedDelta._t) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const objectDelta = nestedDelta;
|
|
85
|
+
let name;
|
|
86
|
+
let child;
|
|
87
|
+
for (name in objectDelta) {
|
|
88
|
+
child = new _patch.default(context.left[name], objectDelta[name]);
|
|
89
|
+
context.push(child, name);
|
|
90
|
+
}
|
|
91
|
+
context.exit();
|
|
92
|
+
};
|
|
93
|
+
patchFilter.filterName = 'objects';
|
|
94
|
+
const collectChildrenPatchFilter = exports.collectChildrenPatchFilter = function collectChildrenPatchFilter(context) {
|
|
95
|
+
if (!context || !context.children) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const deltaWithChildren = context.delta;
|
|
99
|
+
if (deltaWithChildren._t) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const object = context.left;
|
|
103
|
+
const length = context.children.length;
|
|
104
|
+
let child;
|
|
105
|
+
for (let index = 0; index < length; index++) {
|
|
106
|
+
child = context.children[index];
|
|
107
|
+
const property = child.childName;
|
|
108
|
+
if (Object.prototype.hasOwnProperty.call(context.left, property) && child.result === undefined) {
|
|
109
|
+
delete object[property];
|
|
110
|
+
} else if (object[property] !== child.result) {
|
|
111
|
+
object[property] = child.result;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
context.setResult(object).exit();
|
|
115
|
+
};
|
|
116
|
+
collectChildrenPatchFilter.filterName = 'collectChildren';
|
|
117
|
+
const reverseFilter = exports.reverseFilter = function nestedReverseFilter(context) {
|
|
118
|
+
if (!context.nested) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const nestedDelta = context.delta;
|
|
122
|
+
if (nestedDelta._t) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const objectDelta = context.delta;
|
|
126
|
+
let name;
|
|
127
|
+
let child;
|
|
128
|
+
for (name in objectDelta) {
|
|
129
|
+
child = new _reverse.default(objectDelta[name]);
|
|
130
|
+
context.push(child, name);
|
|
131
|
+
}
|
|
132
|
+
context.exit();
|
|
133
|
+
};
|
|
134
|
+
reverseFilter.filterName = 'objects';
|
|
135
|
+
const collectChildrenReverseFilter = context => {
|
|
136
|
+
if (!context || !context.children) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const deltaWithChildren = context.delta;
|
|
140
|
+
if (deltaWithChildren._t) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const length = context.children.length;
|
|
144
|
+
let child;
|
|
145
|
+
const delta = {};
|
|
146
|
+
for (let index = 0; index < length; index++) {
|
|
147
|
+
child = context.children[index];
|
|
148
|
+
const property = child.childName;
|
|
149
|
+
if (delta[property] !== child.result) {
|
|
150
|
+
delta[property] = child.result;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
context.setResult(delta).exit();
|
|
154
|
+
};
|
|
155
|
+
exports.collectChildrenReverseFilter = collectChildrenReverseFilter;
|
|
156
|
+
collectChildrenReverseFilter.filterName = 'collectChildren';
|
|
157
|
+
//# sourceMappingURL=nested.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested.js","names":["_diff","_interopRequireDefault","require","_patch","_reverse","obj","__esModule","default","collectChildrenDiffFilter","context","children","length","child","result","index","childName","leftIsArray","_t","setResult","exit","exports","filterName","objectsDiffFilter","leftType","left","right","name","propertyFilter","options","Object","prototype","hasOwnProperty","call","push","undefined","patchFilter","nestedPatchFilter","nested","nestedDelta","delta","objectDelta","collectChildrenPatchFilter","deltaWithChildren","object","property","reverseFilter","nestedReverseFilter","collectChildrenReverseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/nested.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reverseFilter = exports.patchFilter = exports.diffFilter = void 0;
|
|
7
|
+
const TEXT_DIFF = 2;
|
|
8
|
+
const DEFAULT_MIN_LENGTH = 60;
|
|
9
|
+
let cachedDiffPatch = null;
|
|
10
|
+
function getDiffMatchPatch(options, required) {
|
|
11
|
+
if (!cachedDiffPatch) {
|
|
12
|
+
let instance;
|
|
13
|
+
if (options?.textDiff?.diffMatchPatch) {
|
|
14
|
+
instance = new options.textDiff.diffMatchPatch();
|
|
15
|
+
} else {
|
|
16
|
+
if (!required) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
const error = new Error('The diff-match-patch library was not provided. Pass the library in through the options or use the `jsondiffpatch/with-text-diffs` entry-point.');
|
|
20
|
+
// eslint-disable-next-line camelcase
|
|
21
|
+
error.diff_match_patch_not_found = true;
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
cachedDiffPatch = {
|
|
25
|
+
diff: function (txt1, txt2) {
|
|
26
|
+
return instance.patch_toText(instance.patch_make(txt1, txt2));
|
|
27
|
+
},
|
|
28
|
+
patch: function (txt1, patch) {
|
|
29
|
+
const results = instance.patch_apply(instance.patch_fromText(patch), txt1);
|
|
30
|
+
for (let i = 0; i < results[1].length; i++) {
|
|
31
|
+
if (!results[1][i]) {
|
|
32
|
+
const error = new Error('text patch failed');
|
|
33
|
+
error.textPatchFailed = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return results[0];
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return cachedDiffPatch;
|
|
41
|
+
}
|
|
42
|
+
const diffFilter = exports.diffFilter = function textsDiffFilter(context) {
|
|
43
|
+
if (context.leftType !== 'string') {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const left = context.left;
|
|
47
|
+
const right = context.right;
|
|
48
|
+
const minLength = context.options && context.options.textDiff && context.options.textDiff.minLength || DEFAULT_MIN_LENGTH;
|
|
49
|
+
if (left.length < minLength || right.length < minLength) {
|
|
50
|
+
context.setResult([left, right]).exit();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
// large text, try to use a text-diff algorithm
|
|
54
|
+
const diffMatchPatch = getDiffMatchPatch(context.options);
|
|
55
|
+
if (!diffMatchPatch) {
|
|
56
|
+
// diff-match-patch library not available,
|
|
57
|
+
// fallback to regular string replace
|
|
58
|
+
context.setResult([left, right]).exit();
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const diff = diffMatchPatch.diff;
|
|
62
|
+
context.setResult([diff(left, right), 0, TEXT_DIFF]).exit();
|
|
63
|
+
};
|
|
64
|
+
diffFilter.filterName = 'texts';
|
|
65
|
+
const patchFilter = exports.patchFilter = function textsPatchFilter(context) {
|
|
66
|
+
if (context.nested) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const nonNestedDelta = context.delta;
|
|
70
|
+
if (nonNestedDelta[2] !== TEXT_DIFF) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const textDiffDelta = nonNestedDelta;
|
|
74
|
+
// text-diff, use a text-patch algorithm
|
|
75
|
+
const patch = getDiffMatchPatch(context.options, true).patch;
|
|
76
|
+
context.setResult(patch(context.left, textDiffDelta[0])).exit();
|
|
77
|
+
};
|
|
78
|
+
patchFilter.filterName = 'texts';
|
|
79
|
+
const textDeltaReverse = function (delta) {
|
|
80
|
+
let i;
|
|
81
|
+
let l;
|
|
82
|
+
let line;
|
|
83
|
+
let lineTmp;
|
|
84
|
+
let header = null;
|
|
85
|
+
const headerRegex = /^@@ +-(\d+),(\d+) +\+(\d+),(\d+) +@@$/;
|
|
86
|
+
let lineHeader;
|
|
87
|
+
const lines = delta.split('\n');
|
|
88
|
+
for (i = 0, l = lines.length; i < l; i++) {
|
|
89
|
+
line = lines[i];
|
|
90
|
+
const lineStart = line.slice(0, 1);
|
|
91
|
+
if (lineStart === '@') {
|
|
92
|
+
header = headerRegex.exec(line);
|
|
93
|
+
lineHeader = i;
|
|
94
|
+
// fix header
|
|
95
|
+
lines[lineHeader] = '@@ -' + header[3] + ',' + header[4] + ' +' + header[1] + ',' + header[2] + ' @@';
|
|
96
|
+
} else if (lineStart === '+') {
|
|
97
|
+
lines[i] = '-' + lines[i].slice(1);
|
|
98
|
+
if (lines[i - 1].slice(0, 1) === '+') {
|
|
99
|
+
// swap lines to keep default order (-+)
|
|
100
|
+
lineTmp = lines[i];
|
|
101
|
+
lines[i] = lines[i - 1];
|
|
102
|
+
lines[i - 1] = lineTmp;
|
|
103
|
+
}
|
|
104
|
+
} else if (lineStart === '-') {
|
|
105
|
+
lines[i] = '+' + lines[i].slice(1);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return lines.join('\n');
|
|
109
|
+
};
|
|
110
|
+
const reverseFilter = exports.reverseFilter = function textsReverseFilter(context) {
|
|
111
|
+
if (context.nested) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const nonNestedDelta = context.delta;
|
|
115
|
+
if (nonNestedDelta[2] !== TEXT_DIFF) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const textDiffDelta = nonNestedDelta;
|
|
119
|
+
// text-diff, use a text-diff algorithm
|
|
120
|
+
context.setResult([textDeltaReverse(textDiffDelta[0]), 0, TEXT_DIFF]).exit();
|
|
121
|
+
};
|
|
122
|
+
reverseFilter.filterName = 'texts';
|
|
123
|
+
//# sourceMappingURL=texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.js","names":["TEXT_DIFF","DEFAULT_MIN_LENGTH","cachedDiffPatch","getDiffMatchPatch","options","required","instance","textDiff","diffMatchPatch","error","Error","diff_match_patch_not_found","diff","txt1","txt2","patch_toText","patch_make","patch","results","patch_apply","patch_fromText","i","length","textPatchFailed","diffFilter","exports","textsDiffFilter","context","leftType","left","right","minLength","setResult","exit","filterName","patchFilter","textsPatchFilter","nested","nonNestedDelta","delta","textDiffDelta","textDeltaReverse","l","line","lineTmp","header","headerRegex","lineHeader","lines","split","lineStart","slice","exec","join","reverseFilter","textsReverseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/texts.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reverseFilter = exports.patchFilter = exports.diffFilter = void 0;
|
|
7
|
+
const diffFilter = exports.diffFilter = function trivialMatchesDiffFilter(context) {
|
|
8
|
+
if (context.left === context.right) {
|
|
9
|
+
context.setResult(undefined).exit();
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (typeof context.left === 'undefined') {
|
|
13
|
+
if (typeof context.right === 'function') {
|
|
14
|
+
throw new Error('functions are not supported');
|
|
15
|
+
}
|
|
16
|
+
context.setResult([context.right]).exit();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (typeof context.right === 'undefined') {
|
|
20
|
+
context.setResult([context.left, 0, 0]).exit();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (typeof context.left === 'function' || typeof context.right === 'function') {
|
|
24
|
+
throw new Error('functions are not supported');
|
|
25
|
+
}
|
|
26
|
+
context.leftType = context.left === null ? 'null' : typeof context.left;
|
|
27
|
+
context.rightType = context.right === null ? 'null' : typeof context.right;
|
|
28
|
+
if (context.leftType !== context.rightType) {
|
|
29
|
+
context.setResult([context.left, context.right]).exit();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (context.leftType === 'boolean' || context.leftType === 'number') {
|
|
33
|
+
context.setResult([context.left, context.right]).exit();
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (context.leftType === 'object') {
|
|
37
|
+
context.leftIsArray = Array.isArray(context.left);
|
|
38
|
+
}
|
|
39
|
+
if (context.rightType === 'object') {
|
|
40
|
+
context.rightIsArray = Array.isArray(context.right);
|
|
41
|
+
}
|
|
42
|
+
if (context.leftIsArray !== context.rightIsArray) {
|
|
43
|
+
context.setResult([context.left, context.right]).exit();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (context.left instanceof RegExp) {
|
|
47
|
+
if (context.right instanceof RegExp) {
|
|
48
|
+
context.setResult([context.left.toString(), context.right.toString()]).exit();
|
|
49
|
+
} else {
|
|
50
|
+
context.setResult([context.left, context.right]).exit();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
diffFilter.filterName = 'trivial';
|
|
55
|
+
const patchFilter = exports.patchFilter = function trivialMatchesPatchFilter(context) {
|
|
56
|
+
if (typeof context.delta === 'undefined') {
|
|
57
|
+
context.setResult(context.left).exit();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
context.nested = !Array.isArray(context.delta);
|
|
61
|
+
if (context.nested) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const nonNestedDelta = context.delta;
|
|
65
|
+
if (nonNestedDelta.length === 1) {
|
|
66
|
+
context.setResult(nonNestedDelta[0]).exit();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (nonNestedDelta.length === 2) {
|
|
70
|
+
if (context.left instanceof RegExp) {
|
|
71
|
+
const regexArgs = /^\/(.*)\/([gimyu]+)$/.exec(nonNestedDelta[1]);
|
|
72
|
+
if (regexArgs) {
|
|
73
|
+
context.setResult(new RegExp(regexArgs[1], regexArgs[2])).exit();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
context.setResult(nonNestedDelta[1]).exit();
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (nonNestedDelta.length === 3 && nonNestedDelta[2] === 0) {
|
|
81
|
+
context.setResult(undefined).exit();
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
patchFilter.filterName = 'trivial';
|
|
85
|
+
const reverseFilter = exports.reverseFilter = function trivialReferseFilter(context) {
|
|
86
|
+
if (typeof context.delta === 'undefined') {
|
|
87
|
+
context.setResult(context.delta).exit();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
context.nested = !Array.isArray(context.delta);
|
|
91
|
+
if (context.nested) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const nonNestedDelta = context.delta;
|
|
95
|
+
if (nonNestedDelta.length === 1) {
|
|
96
|
+
context.setResult([nonNestedDelta[0], 0, 0]).exit();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (nonNestedDelta.length === 2) {
|
|
100
|
+
context.setResult([nonNestedDelta[1], nonNestedDelta[0]]).exit();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (nonNestedDelta.length === 3 && nonNestedDelta[2] === 0) {
|
|
104
|
+
context.setResult([nonNestedDelta[0]]).exit();
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
reverseFilter.filterName = 'trivial';
|
|
108
|
+
//# sourceMappingURL=trivial.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trivial.js","names":["diffFilter","exports","trivialMatchesDiffFilter","context","left","right","setResult","undefined","exit","Error","leftType","rightType","leftIsArray","Array","isArray","rightIsArray","RegExp","toString","filterName","patchFilter","trivialMatchesPatchFilter","delta","nested","nonNestedDelta","length","regexArgs","exec","reverseFilter","trivialReferseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/trivial.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|