sf-git-merge-driver 1.4.0-dev-159.21317248282-1 → 1.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 +6 -30
- package/lib/commands/git/merge/driver/run.js +5 -3
- package/lib/commands/git/merge/driver/run.js.map +1 -1
- package/lib/constant/conflictConstant.d.ts +3 -3
- package/lib/constant/conflictConstant.js +3 -3
- package/lib/constant/conflictConstant.js.map +1 -1
- package/lib/constant/parserConstant.d.ts +0 -6
- package/lib/constant/parserConstant.js +0 -6
- package/lib/constant/parserConstant.js.map +1 -1
- package/lib/driver/MergeDriver.d.ts +0 -3
- package/lib/driver/MergeDriver.js +1 -5
- package/lib/driver/MergeDriver.js.map +1 -1
- package/lib/merger/JsonMerger.d.ts +0 -3
- package/lib/merger/JsonMerger.js +212 -20
- package/lib/merger/JsonMerger.js.map +1 -1
- package/lib/merger/XmlMerger.d.ts +0 -5
- package/lib/merger/XmlMerger.js +16 -19
- package/lib/merger/XmlMerger.js.map +1 -1
- package/lib/merger/conflictMarker.d.ts +12 -0
- package/lib/merger/conflictMarker.js +48 -0
- package/lib/merger/conflictMarker.js.map +1 -0
- package/lib/merger/textAttribute.d.ts +3 -0
- package/lib/merger/textAttribute.js +56 -0
- package/lib/merger/textAttribute.js.map +1 -0
- package/lib/service/NamespaceHandler.js +2 -1
- package/lib/service/NamespaceHandler.js.map +1 -1
- package/lib/types/conflictTypes.d.ts +1 -1
- package/lib/types/mergeScenario.d.ts +1 -0
- package/lib/types/mergeScenario.js +20 -0
- package/lib/types/mergeScenario.js.map +1 -1
- package/lib/utils/mergeUtils.d.ts +5 -0
- package/lib/utils/mergeUtils.js +14 -0
- package/lib/utils/mergeUtils.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +4 -4
- package/package.json +2 -2
- package/lib/merger/ConflictMarkerBuilder.d.ts +0 -3
- package/lib/merger/ConflictMarkerBuilder.js +0 -33
- package/lib/merger/ConflictMarkerBuilder.js.map +0 -1
- package/lib/merger/ConflictMarkerFormatter.d.ts +0 -14
- package/lib/merger/ConflictMarkerFormatter.js +0 -43
- package/lib/merger/ConflictMarkerFormatter.js.map +0 -1
- package/lib/merger/MergeContext.d.ts +0 -17
- package/lib/merger/MergeContext.js +0 -2
- package/lib/merger/MergeContext.js.map +0 -1
- package/lib/merger/MergeOrchestrator.d.ts +0 -13
- package/lib/merger/MergeOrchestrator.js +0 -46
- package/lib/merger/MergeOrchestrator.js.map +0 -1
- package/lib/merger/MergeScenarioFactory.d.ts +0 -2
- package/lib/merger/MergeScenarioFactory.js +0 -22
- package/lib/merger/MergeScenarioFactory.js.map +0 -1
- package/lib/merger/nodes/KeyedArrayMergeNode.d.ts +0 -12
- package/lib/merger/nodes/KeyedArrayMergeNode.js +0 -67
- package/lib/merger/nodes/KeyedArrayMergeNode.js.map +0 -1
- package/lib/merger/nodes/MergeNode.d.ts +0 -5
- package/lib/merger/nodes/MergeNode.js +0 -2
- package/lib/merger/nodes/MergeNode.js.map +0 -1
- package/lib/merger/nodes/MergeNodeFactory.d.ts +0 -9
- package/lib/merger/nodes/MergeNodeFactory.js +0 -21
- package/lib/merger/nodes/MergeNodeFactory.js.map +0 -1
- package/lib/merger/nodes/ObjectMergeNode.d.ts +0 -20
- package/lib/merger/nodes/ObjectMergeNode.js +0 -49
- package/lib/merger/nodes/ObjectMergeNode.js.map +0 -1
- package/lib/merger/nodes/TextArrayMergeNode.d.ts +0 -12
- package/lib/merger/nodes/TextArrayMergeNode.js +0 -66
- package/lib/merger/nodes/TextArrayMergeNode.js.map +0 -1
- package/lib/merger/nodes/TextMergeNode.d.ts +0 -12
- package/lib/merger/nodes/TextMergeNode.js +0 -36
- package/lib/merger/nodes/TextMergeNode.js.map +0 -1
- package/lib/merger/nodes/nodeUtils.d.ts +0 -5
- package/lib/merger/nodes/nodeUtils.js +0 -20
- package/lib/merger/nodes/nodeUtils.js.map +0 -1
- package/lib/merger/strategies/AllPresentStrategy.d.ts +0 -7
- package/lib/merger/strategies/AllPresentStrategy.js +0 -36
- package/lib/merger/strategies/AllPresentStrategy.js.map +0 -1
- package/lib/merger/strategies/AncestorAndLocalStrategy.d.ts +0 -8
- package/lib/merger/strategies/AncestorAndLocalStrategy.js +0 -64
- package/lib/merger/strategies/AncestorAndLocalStrategy.js.map +0 -1
- package/lib/merger/strategies/AncestorAndOtherStrategy.d.ts +0 -8
- package/lib/merger/strategies/AncestorAndOtherStrategy.js +0 -64
- package/lib/merger/strategies/AncestorAndOtherStrategy.js.map +0 -1
- package/lib/merger/strategies/AncestorOnlyStrategy.d.ts +0 -6
- package/lib/merger/strategies/AncestorOnlyStrategy.js +0 -19
- package/lib/merger/strategies/AncestorOnlyStrategy.js.map +0 -1
- package/lib/merger/strategies/LocalAndOtherStrategy.d.ts +0 -7
- package/lib/merger/strategies/LocalAndOtherStrategy.js +0 -45
- package/lib/merger/strategies/LocalAndOtherStrategy.js.map +0 -1
- package/lib/merger/strategies/LocalOnlyStrategy.d.ts +0 -6
- package/lib/merger/strategies/LocalOnlyStrategy.js +0 -14
- package/lib/merger/strategies/LocalOnlyStrategy.js.map +0 -1
- package/lib/merger/strategies/NoneStrategy.d.ts +0 -6
- package/lib/merger/strategies/NoneStrategy.js +0 -8
- package/lib/merger/strategies/NoneStrategy.js.map +0 -1
- package/lib/merger/strategies/OtherOnlyStrategy.d.ts +0 -6
- package/lib/merger/strategies/OtherOnlyStrategy.js +0 -14
- package/lib/merger/strategies/OtherOnlyStrategy.js.map +0 -1
- package/lib/merger/strategies/ScenarioStrategy.d.ts +0 -5
- package/lib/merger/strategies/ScenarioStrategy.js +0 -2
- package/lib/merger/strategies/ScenarioStrategy.js.map +0 -1
- package/lib/merger/strategies/ScenarioStrategyFactory.d.ts +0 -3
- package/lib/merger/strategies/ScenarioStrategyFactory.js +0 -23
- package/lib/merger/strategies/ScenarioStrategyFactory.js.map +0 -1
- package/lib/merger/strategies/TextMergeStrategy.d.ts +0 -32
- package/lib/merger/strategies/TextMergeStrategy.js +0 -80
- package/lib/merger/strategies/TextMergeStrategy.js.map +0 -1
- package/lib/types/mergeResult.d.ts +0 -8
- package/lib/types/mergeResult.js +0 -33
- package/lib/types/mergeResult.js.map +0 -1
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { noConflict } from '../../types/mergeResult.js';
|
|
2
|
-
import { toJsonArray } from '../nodes/nodeUtils.js';
|
|
3
|
-
export class LocalOnlyStrategy {
|
|
4
|
-
execute(context) {
|
|
5
|
-
const content = toJsonArray(context.local);
|
|
6
|
-
// Root level: wrap with key
|
|
7
|
-
if (context.rootKey) {
|
|
8
|
-
return noConflict([{ [context.rootKey.name]: content }]);
|
|
9
|
-
}
|
|
10
|
-
// Nested level: return content for parent to wrap
|
|
11
|
-
return noConflict(content);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=LocalOnlyStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalOnlyStrategy.js","sourceRoot":"","sources":["../../../src/merger/strategies/LocalOnlyStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,MAAM,OAAO,iBAAiB;IAC5B,OAAO,CAAC,OAAqB;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAA+B,CAAC,CAAA;QAEpE,4BAA4B;QAC5B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC;QAED,kDAAkD;QAClD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACF"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { MergeResult } from '../../types/mergeResult.js';
|
|
2
|
-
import type { MergeContext } from '../MergeContext.js';
|
|
3
|
-
import type { ScenarioStrategy } from './ScenarioStrategy.js';
|
|
4
|
-
export declare class NoneStrategy implements ScenarioStrategy {
|
|
5
|
-
execute(_context: MergeContext): MergeResult;
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NoneStrategy.js","sourceRoot":"","sources":["../../../src/merger/strategies/NoneStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,MAAM,OAAO,YAAY;IACvB,OAAO,CAAC,QAAsB;QAC5B,uDAAuD;QACvD,OAAO,UAAU,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC;CACF"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { MergeResult } from '../../types/mergeResult.js';
|
|
2
|
-
import type { MergeContext } from '../MergeContext.js';
|
|
3
|
-
import type { ScenarioStrategy } from './ScenarioStrategy.js';
|
|
4
|
-
export declare class OtherOnlyStrategy implements ScenarioStrategy {
|
|
5
|
-
execute(context: MergeContext): MergeResult;
|
|
6
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { noConflict } from '../../types/mergeResult.js';
|
|
2
|
-
import { toJsonArray } from '../nodes/nodeUtils.js';
|
|
3
|
-
export class OtherOnlyStrategy {
|
|
4
|
-
execute(context) {
|
|
5
|
-
const content = toJsonArray(context.other);
|
|
6
|
-
// Root level: wrap with key
|
|
7
|
-
if (context.rootKey) {
|
|
8
|
-
return noConflict([{ [context.rootKey.name]: content }]);
|
|
9
|
-
}
|
|
10
|
-
// Nested level: return content for parent to wrap
|
|
11
|
-
return noConflict(content);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=OtherOnlyStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OtherOnlyStrategy.js","sourceRoot":"","sources":["../../../src/merger/strategies/OtherOnlyStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,MAAM,OAAO,iBAAiB;IAC5B,OAAO,CAAC,OAAqB;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAA+B,CAAC,CAAA;QAEpE,4BAA4B;QAC5B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC;QAED,kDAAkD;QAClD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScenarioStrategy.js","sourceRoot":"","sources":["../../../src/merger/strategies/ScenarioStrategy.ts"],"names":[],"mappings":""}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { MergeScenario } from '../../types/mergeScenario.js';
|
|
2
|
-
import { AllPresentStrategy } from './AllPresentStrategy.js';
|
|
3
|
-
import { AncestorAndLocalStrategy } from './AncestorAndLocalStrategy.js';
|
|
4
|
-
import { AncestorAndOtherStrategy } from './AncestorAndOtherStrategy.js';
|
|
5
|
-
import { AncestorOnlyStrategy } from './AncestorOnlyStrategy.js';
|
|
6
|
-
import { LocalAndOtherStrategy } from './LocalAndOtherStrategy.js';
|
|
7
|
-
import { LocalOnlyStrategy } from './LocalOnlyStrategy.js';
|
|
8
|
-
import { NoneStrategy } from './NoneStrategy.js';
|
|
9
|
-
import { OtherOnlyStrategy } from './OtherOnlyStrategy.js';
|
|
10
|
-
const strategies = {
|
|
11
|
-
[MergeScenario.NONE]: new NoneStrategy(),
|
|
12
|
-
[MergeScenario.OTHER_ONLY]: new OtherOnlyStrategy(),
|
|
13
|
-
[MergeScenario.LOCAL_ONLY]: new LocalOnlyStrategy(),
|
|
14
|
-
[MergeScenario.LOCAL_AND_OTHER]: new LocalAndOtherStrategy(),
|
|
15
|
-
[MergeScenario.ANCESTOR_ONLY]: new AncestorOnlyStrategy(),
|
|
16
|
-
[MergeScenario.ANCESTOR_AND_OTHER]: new AncestorAndOtherStrategy(),
|
|
17
|
-
[MergeScenario.ANCESTOR_AND_LOCAL]: new AncestorAndLocalStrategy(),
|
|
18
|
-
[MergeScenario.ALL]: new AllPresentStrategy(),
|
|
19
|
-
};
|
|
20
|
-
export const getScenarioStrategy = (scenario) => {
|
|
21
|
-
return strategies[scenario];
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=ScenarioStrategyFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScenarioStrategyFactory.js","sourceRoot":"","sources":["../../../src/merger/strategies/ScenarioStrategyFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D,MAAM,UAAU,GAA4C;IAC1D,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,YAAY,EAAE;IACxC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,iBAAiB,EAAE;IACnD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,iBAAiB,EAAE;IACnD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,IAAI,qBAAqB,EAAE;IAC5D,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,oBAAoB,EAAE;IACzD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,IAAI,wBAAwB,EAAE;IAClE,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,IAAI,wBAAwB,EAAE;IAClE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,kBAAkB,EAAE;CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAuB,EACL,EAAE;IACpB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC,CAAA"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { MergeConfig } from '../../types/conflictTypes.js';
|
|
2
|
-
import type { JsonObject } from '../../types/jsonTypes.js';
|
|
3
|
-
import type { MergeResult } from '../../types/mergeResult.js';
|
|
4
|
-
import { MergeScenario } from '../../types/mergeScenario.js';
|
|
5
|
-
export interface TextMergeStrategy {
|
|
6
|
-
handle(config: MergeConfig, objAncestor: JsonObject, objLocal: JsonObject, objOther: JsonObject, ancestor: unknown, local: unknown, other: unknown): MergeResult;
|
|
7
|
-
}
|
|
8
|
-
export declare class OtherOnlyStrategy implements TextMergeStrategy {
|
|
9
|
-
handle(_config: MergeConfig, _objAncestor: JsonObject, _objLocal: JsonObject, objOther: JsonObject): MergeResult;
|
|
10
|
-
}
|
|
11
|
-
export declare class LocalOnlyStrategy implements TextMergeStrategy {
|
|
12
|
-
handle(_config: MergeConfig, _objAncestor: JsonObject, objLocal: JsonObject): MergeResult;
|
|
13
|
-
}
|
|
14
|
-
export declare class LocalAndOtherStrategy implements TextMergeStrategy {
|
|
15
|
-
handle(config: MergeConfig, _objAncestor: JsonObject, objLocal: JsonObject, objOther: JsonObject, _ancestor: unknown, local: unknown, other: unknown): MergeResult;
|
|
16
|
-
}
|
|
17
|
-
export declare class AncestorAndOtherStrategy implements TextMergeStrategy {
|
|
18
|
-
handle(config: MergeConfig, objAncestor: JsonObject, _objLocal: JsonObject, objOther: JsonObject, ancestor: unknown, _local: unknown, other: unknown): MergeResult;
|
|
19
|
-
}
|
|
20
|
-
export declare class AncestorAndLocalStrategy implements TextMergeStrategy {
|
|
21
|
-
handle(config: MergeConfig, objAncestor: JsonObject, objLocal: JsonObject, _objOther: JsonObject, ancestor: unknown, local: unknown): MergeResult;
|
|
22
|
-
}
|
|
23
|
-
export declare class AllPresentStrategy implements TextMergeStrategy {
|
|
24
|
-
handle(config: MergeConfig, objAncestor: JsonObject, objLocal: JsonObject, objOther: JsonObject, ancestor: unknown, local: unknown, other: unknown): MergeResult;
|
|
25
|
-
}
|
|
26
|
-
export declare class AncestorOnlyStrategy implements TextMergeStrategy {
|
|
27
|
-
handle(): MergeResult;
|
|
28
|
-
}
|
|
29
|
-
export declare class NoneStrategy implements TextMergeStrategy {
|
|
30
|
-
handle(): MergeResult;
|
|
31
|
-
}
|
|
32
|
-
export declare const getTextMergeStrategy: (scenario: MergeScenario) => TextMergeStrategy;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { noConflict, withConflict } from '../../types/mergeResult.js';
|
|
2
|
-
import { MergeScenario } from '../../types/mergeScenario.js';
|
|
3
|
-
import { buildConflictMarkers } from '../ConflictMarkerBuilder.js';
|
|
4
|
-
export class OtherOnlyStrategy {
|
|
5
|
-
handle(_config, _objAncestor, _objLocal, objOther) {
|
|
6
|
-
return noConflict([objOther]);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export class LocalOnlyStrategy {
|
|
10
|
-
handle(_config, _objAncestor, objLocal) {
|
|
11
|
-
return noConflict([objLocal]);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export class LocalAndOtherStrategy {
|
|
15
|
-
handle(config, _objAncestor, objLocal, objOther, _ancestor, local, other) {
|
|
16
|
-
// If both sides added the same value, no conflict
|
|
17
|
-
if (local === other) {
|
|
18
|
-
return noConflict([objLocal]);
|
|
19
|
-
}
|
|
20
|
-
return withConflict(buildConflictMarkers(config, objLocal, {}, objOther));
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export class AncestorAndOtherStrategy {
|
|
24
|
-
handle(config, objAncestor, _objLocal, objOther, ancestor, _local, other) {
|
|
25
|
-
if (ancestor !== other) {
|
|
26
|
-
return withConflict(buildConflictMarkers(config, {}, objAncestor, objOther));
|
|
27
|
-
}
|
|
28
|
-
return noConflict([]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export class AncestorAndLocalStrategy {
|
|
32
|
-
handle(config, objAncestor, objLocal, _objOther, ancestor, local) {
|
|
33
|
-
if (ancestor !== local) {
|
|
34
|
-
return withConflict(buildConflictMarkers(config, objLocal, objAncestor, {}));
|
|
35
|
-
}
|
|
36
|
-
return noConflict([]);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
export class AllPresentStrategy {
|
|
40
|
-
handle(config, objAncestor, objLocal, objOther, ancestor, local, other) {
|
|
41
|
-
// No change in local - take other's value
|
|
42
|
-
if (ancestor === local) {
|
|
43
|
-
return noConflict([objOther]);
|
|
44
|
-
}
|
|
45
|
-
// No change in other - take local's value
|
|
46
|
-
if (ancestor === other) {
|
|
47
|
-
return noConflict([objLocal]);
|
|
48
|
-
}
|
|
49
|
-
// Both changed to same value - no conflict
|
|
50
|
-
if (local === other) {
|
|
51
|
-
return noConflict([objLocal]);
|
|
52
|
-
}
|
|
53
|
-
// Real conflict - build markers
|
|
54
|
-
return withConflict(buildConflictMarkers(config, objLocal, objAncestor, objOther));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
export class AncestorOnlyStrategy {
|
|
58
|
-
handle() {
|
|
59
|
-
return noConflict([]);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
export class NoneStrategy {
|
|
63
|
-
handle() {
|
|
64
|
-
return noConflict([]);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const strategies = {
|
|
68
|
-
[MergeScenario.NONE]: new NoneStrategy(),
|
|
69
|
-
[MergeScenario.OTHER_ONLY]: new OtherOnlyStrategy(),
|
|
70
|
-
[MergeScenario.LOCAL_ONLY]: new LocalOnlyStrategy(),
|
|
71
|
-
[MergeScenario.LOCAL_AND_OTHER]: new LocalAndOtherStrategy(),
|
|
72
|
-
[MergeScenario.ANCESTOR_AND_OTHER]: new AncestorAndOtherStrategy(),
|
|
73
|
-
[MergeScenario.ANCESTOR_AND_LOCAL]: new AncestorAndLocalStrategy(),
|
|
74
|
-
[MergeScenario.ALL]: new AllPresentStrategy(),
|
|
75
|
-
[MergeScenario.ANCESTOR_ONLY]: new AncestorOnlyStrategy(),
|
|
76
|
-
};
|
|
77
|
-
export const getTextMergeStrategy = (scenario) => {
|
|
78
|
-
return strategies[scenario];
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=TextMergeStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextMergeStrategy.js","sourceRoot":"","sources":["../../../src/merger/strategies/TextMergeStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { JsonArray } from './jsonTypes.js';
|
|
2
|
-
export interface MergeResult {
|
|
3
|
-
output: JsonArray;
|
|
4
|
-
hasConflict: boolean;
|
|
5
|
-
}
|
|
6
|
-
export declare const combineResults: (results: MergeResult[]) => MergeResult;
|
|
7
|
-
export declare const noConflict: (output: JsonArray) => MergeResult;
|
|
8
|
-
export declare const withConflict: (output: JsonArray) => MergeResult;
|
package/lib/types/mergeResult.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// Pre-allocated constant for the common empty no-conflict case
|
|
2
|
-
// Used by NoneStrategy, AncestorOnlyStrategy, and equality-based early returns
|
|
3
|
-
const EMPTY_ARRAY = [];
|
|
4
|
-
const EMPTY_NO_CONFLICT = {
|
|
5
|
-
output: EMPTY_ARRAY,
|
|
6
|
-
hasConflict: false,
|
|
7
|
-
};
|
|
8
|
-
export const combineResults = (results) => {
|
|
9
|
-
// Fast path: no results
|
|
10
|
-
if (results.length === 0) {
|
|
11
|
-
return EMPTY_NO_CONFLICT;
|
|
12
|
-
}
|
|
13
|
-
// Fast path: single result
|
|
14
|
-
if (results.length === 1) {
|
|
15
|
-
return results[0];
|
|
16
|
-
}
|
|
17
|
-
return {
|
|
18
|
-
output: results.flatMap(r => r.output),
|
|
19
|
-
hasConflict: results.some(r => r.hasConflict),
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
export const noConflict = (output) => {
|
|
23
|
-
// Reuse constant for empty arrays
|
|
24
|
-
if (output.length === 0) {
|
|
25
|
-
return EMPTY_NO_CONFLICT;
|
|
26
|
-
}
|
|
27
|
-
return { output, hasConflict: false };
|
|
28
|
-
};
|
|
29
|
-
export const withConflict = (output) => ({
|
|
30
|
-
output,
|
|
31
|
-
hasConflict: true,
|
|
32
|
-
});
|
|
33
|
-
//# sourceMappingURL=mergeResult.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mergeResult.js","sourceRoot":"","sources":["../../src/types/mergeResult.ts"],"names":[],"mappings":"AAOA,+DAA+D;AAC/D,+EAA+E;AAC/E,MAAM,WAAW,GAAc,EAAE,CAAA;AACjC,MAAM,iBAAiB,GAAgB;IACrC,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,KAAK;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAe,EAAE;IACpE,wBAAwB;IACxB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IACD,2BAA2B;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACtC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;KAC9C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAiB,EAAe,EAAE;IAC3D,kCAAkC;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAiB,EAAe,EAAE,CAAC,CAAC;IAC/D,MAAM;IACN,WAAW,EAAE,IAAI;CAClB,CAAC,CAAA"}
|