sf-git-merge-driver 1.0.0-dev-3.14222686038-1 → 1.0.0-dev-3.14240014682-1

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 CHANGED
@@ -47,7 +47,7 @@ EXAMPLES
47
47
  $ sf git merge driver install
48
48
  ```
49
49
 
50
- _See code: [src/commands/git/merge/driver/install.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14222686038-1/src/commands/git/merge/driver/install.ts)_
50
+ _See code: [src/commands/git/merge/driver/install.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14240014682-1/src/commands/git/merge/driver/install.ts)_
51
51
 
52
52
  ## `sf git merge driver run`
53
53
 
@@ -85,7 +85,7 @@ EXAMPLES
85
85
  - output-file is the path to the file where the merged content will be written
86
86
  ```
87
87
 
88
- _See code: [src/commands/git/merge/driver/run.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14222686038-1/src/commands/git/merge/driver/run.ts)_
88
+ _See code: [src/commands/git/merge/driver/run.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14240014682-1/src/commands/git/merge/driver/run.ts)_
89
89
 
90
90
  ## `sf git merge driver uninstall`
91
91
 
@@ -112,7 +112,7 @@ EXAMPLES
112
112
  $ sf git merge driver uninstall
113
113
  ```
114
114
 
115
- _See code: [src/commands/git/merge/driver/uninstall.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14222686038-1/src/commands/git/merge/driver/uninstall.ts)_
115
+ _See code: [src/commands/git/merge/driver/uninstall.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14240014682-1/src/commands/git/merge/driver/uninstall.ts)_
116
116
  <!-- commandsstop -->
117
117
 
118
118
  ## How It Works
@@ -1,10 +1,11 @@
1
- import { isEmpty, isEqual, keyBy, unionWith } from 'lodash-es';
1
+ import { deepEqual } from 'fast-equals';
2
+ import { isEmpty, keyBy } from 'lodash-es';
2
3
  import { MetadataService } from '../service/MetadataService.js';
3
4
  import { NamespaceHandler } from '../service/NamespaceHandler.js';
4
5
  import { MergeScenario, getScenario } from '../types/mergeScenario.js';
5
6
  import { ensureArray, getUniqueSortedProps, isObject, } from '../utils/mergeUtils.js';
6
7
  import { ConflictMarker } from './conflictMarker.js';
7
- import { mergeTextAttribute } from './textAttribute.js';
8
+ import { generateObj, mergeTextAttribute } from './textAttribute.js';
8
9
  export class JsonMerger {
9
10
  merge(ancestor, ours, theirs) {
10
11
  const namespaceHandler = new NamespaceHandler();
@@ -27,7 +28,7 @@ export class JsonMerger {
27
28
  break;
28
29
  default: {
29
30
  const obj = {
30
- [key]: mergeMetadata(ancestor[key], ours[key], theirs[key]),
31
+ [key]: mergeThreeWay(ancestor[key], ours[key], theirs[key]),
31
32
  };
32
33
  acc.push([obj]);
33
34
  break;
@@ -42,7 +43,7 @@ export class JsonMerger {
42
43
  };
43
44
  }
44
45
  }
45
- const mergeMetadata = (ancestor, ours, theirs) => {
46
+ function mergeThreeWay(ancestor, ours, theirs) {
46
47
  const acc = [];
47
48
  const props = getUniqueSortedProps(ancestor, ours, theirs);
48
49
  for (const key of props) {
@@ -64,14 +65,33 @@ const mergeMetadata = (ancestor, ours, theirs) => {
64
65
  acc.push(values);
65
66
  }
66
67
  return acc.flat();
67
- };
68
+ }
69
+ function toJsonArray(inputObj) {
70
+ const acc = [];
71
+ for (const attribute of getUniqueSortedProps(inputObj)) {
72
+ const values = [];
73
+ const inputObjOfAttr = inputObj[attribute];
74
+ if (typeof inputObjOfAttr === 'object') {
75
+ const inputObjAtt = ensureArray(inputObjOfAttr);
76
+ for (const key of getUniqueSortedProps(inputObjAtt)) {
77
+ const inputObjKeyOfKey = inputObjAtt[key];
78
+ values.push({ [attribute]: toJsonArray(inputObjKeyOfKey) });
79
+ }
80
+ }
81
+ else {
82
+ values.push(generateObj(inputObjOfAttr, attribute));
83
+ }
84
+ acc.push(values);
85
+ }
86
+ return acc.flat();
87
+ }
68
88
  const handleOursAndTheirs = (key, ours, theirs) => {
69
89
  const obj = {};
70
- obj[key] = mergeMetadata({}, ours[key], {});
90
+ obj[key] = toJsonArray(ours[key]);
71
91
  const acc = [];
72
- if (!isEqual(ours, theirs)) {
92
+ if (!deepEqual(ours, theirs)) {
73
93
  const theirsProp = {
74
- [key]: mergeMetadata({}, {}, theirs[key]),
94
+ [key]: toJsonArray(theirs[key]),
75
95
  };
76
96
  ConflictMarker.addConflictMarkers(acc, obj, {}, theirsProp);
77
97
  }
@@ -82,12 +102,12 @@ const handleOursAndTheirs = (key, ours, theirs) => {
82
102
  };
83
103
  const handleAncestorAndTheirs = (key, ancestor, theirs) => {
84
104
  const acc = [];
85
- if (!isEqual(ancestor, theirs)) {
105
+ if (!deepEqual(ancestor, theirs)) {
86
106
  const ancestorProp = {
87
- [key]: mergeMetadata({}, {}, ancestor[key]),
107
+ [key]: toJsonArray(ancestor[key]),
88
108
  };
89
109
  const theirsProp = {
90
- [key]: mergeMetadata({}, {}, theirs[key]),
110
+ [key]: toJsonArray(theirs[key]),
91
111
  };
92
112
  ConflictMarker.addConflictMarkers(acc, {}, ancestorProp, theirsProp);
93
113
  }
@@ -95,12 +115,12 @@ const handleAncestorAndTheirs = (key, ancestor, theirs) => {
95
115
  };
96
116
  const handleAncestorAndOurs = (key, ancestor, ours) => {
97
117
  const acc = [];
98
- if (!isEqual(ancestor, ours)) {
118
+ if (!deepEqual(ancestor, ours)) {
99
119
  const oursProp = {
100
- [key]: mergeMetadata({}, {}, ours[key]),
120
+ [key]: toJsonArray(ours[key]),
101
121
  };
102
122
  const ancestorProp = {
103
- [key]: mergeMetadata({}, {}, ancestor[key]),
123
+ [key]: toJsonArray(ancestor[key]),
104
124
  };
105
125
  ConflictMarker.addConflictMarkers(acc, oursProp, ancestorProp, {});
106
126
  }
@@ -109,9 +129,14 @@ const handleAncestorAndOurs = (key, ancestor, ours) => {
109
129
  const mergeArrays = (ancestor, ours, theirs, attribute) => {
110
130
  const keyField = MetadataService.getKeyFieldExtractor(attribute);
111
131
  if (!keyField) {
112
- const obj = {};
113
- obj[attribute] = unionWith(ours, theirs, isEqual);
114
- return [obj];
132
+ // const scenario: MergeScenario = getScenario(ancestor, ours, theirs)
133
+ const arr = [];
134
+ // obj[attribute] = unionWith(ours, theirs, deepEqual)
135
+ // obj[attribute] = mergeTextAttribute(ours, theirs, deepEqual, attribute)
136
+ // obj[attribute] = []
137
+ ConflictMarker.addConflictMarkers(arr, toJsonArray({ [attribute]: ours }), toJsonArray({ [attribute]: ancestor }), toJsonArray({ [attribute]: theirs }));
138
+ return arr.flat();
139
+ // return mergeTextAttribute(ancestor, ours, theirs, attribute).flat()
115
140
  }
116
141
  const [keyedAnc, keyedOurs, keyedTheirs] = [ancestor, ours, theirs].map(arr => keyBy(arr, keyField));
117
142
  return mergeByKeyField(keyedAnc, keyedOurs, keyedTheirs, attribute);
@@ -127,55 +152,55 @@ const mergeByKeyField = (ancestor, ours, theirs, attribute) => {
127
152
  const obj = {};
128
153
  switch (scenario) {
129
154
  case MergeScenario.THEIRS_ONLY:
130
- obj[attribute] = mergeMetadata({}, {}, theirsOfKey);
155
+ obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
131
156
  break;
132
157
  case MergeScenario.OURS_ONLY:
133
- obj[attribute] = mergeMetadata({}, oursOfKey, {});
158
+ obj[attribute] = mergeThreeWay({}, oursOfKey, {});
134
159
  break;
135
160
  case MergeScenario.ANCESTOR_ONLY:
136
161
  break;
137
162
  case MergeScenario.OURS_AND_THEIRS:
138
- if (isEqual(oursOfKey, theirsOfKey)) {
139
- obj[attribute] = mergeMetadata({}, {}, theirsOfKey);
163
+ if (deepEqual(oursOfKey, theirsOfKey)) {
164
+ obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
140
165
  }
141
166
  else {
142
- obj[attribute] = mergeMetadata({}, oursOfKey, theirsOfKey);
167
+ obj[attribute] = mergeThreeWay({}, oursOfKey, theirsOfKey);
143
168
  }
144
169
  break;
145
170
  case MergeScenario.ANCESTOR_AND_THEIRS:
146
- if (!isEqual(ancestorOfKey, theirsOfKey)) {
171
+ if (!deepEqual(ancestorOfKey, theirsOfKey)) {
147
172
  const ancestorProp = {
148
- [attribute]: mergeMetadata({}, ancestorOfKey, {}),
173
+ [attribute]: mergeThreeWay({}, ancestorOfKey, {}),
149
174
  };
150
175
  const theirsProp = {
151
- [attribute]: mergeMetadata({}, {}, theirsOfKey),
176
+ [attribute]: mergeThreeWay({}, {}, theirsOfKey),
152
177
  };
153
178
  ConflictMarker.addConflictMarkers(acc, {}, ancestorProp, theirsProp);
154
179
  }
155
180
  break;
156
181
  case MergeScenario.ANCESTOR_AND_OURS:
157
- if (!isEqual(ancestorOfKey, oursOfKey)) {
182
+ if (!deepEqual(ancestorOfKey, oursOfKey)) {
158
183
  const oursProp = {
159
- [attribute]: mergeMetadata({}, oursOfKey, {}),
184
+ [attribute]: mergeThreeWay({}, oursOfKey, {}),
160
185
  };
161
186
  const ancestorProp = {
162
- [attribute]: mergeMetadata({}, ancestorOfKey, {}),
187
+ [attribute]: mergeThreeWay({}, ancestorOfKey, {}),
163
188
  };
164
189
  ConflictMarker.addConflictMarkers(acc, oursProp, ancestorProp, {});
165
190
  }
166
191
  break;
167
192
  case MergeScenario.ALL:
168
- if (isEqual(oursOfKey, theirsOfKey)) {
169
- obj[attribute] = mergeMetadata({}, {}, theirsOfKey);
193
+ if (deepEqual(oursOfKey, theirsOfKey)) {
194
+ obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
170
195
  }
171
- else if (isEqual(ancestorOfKey, oursOfKey)) {
172
- obj[attribute] = mergeMetadata({}, {}, theirsOfKey);
196
+ else if (deepEqual(ancestorOfKey, oursOfKey)) {
197
+ obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
173
198
  }
174
- else if (isEqual(ancestorOfKey, theirsOfKey)) {
175
- obj[attribute] = mergeMetadata({}, oursOfKey, {});
199
+ else if (deepEqual(ancestorOfKey, theirsOfKey)) {
200
+ obj[attribute] = mergeThreeWay({}, oursOfKey, {});
176
201
  }
177
202
  else {
178
- obj[attribute] = mergeMetadata(ancestorOfKey, oursOfKey, theirsOfKey);
203
+ obj[attribute] = mergeThreeWay(ancestorOfKey, oursOfKey, theirsOfKey);
179
204
  }
180
205
  break;
181
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JsonMerger.js","sourceRoot":"","sources":["../../src/merger/JsonMerger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonMerger.js","sourceRoot":"","sources":["../../src/merger/JsonMerger.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import type { JsonArray, JsonObject } from '../types/jsonTypes.js';
2
2
  export declare class ConflictMarker {
3
3
  private static hasConflict;
4
4
  static hasConflictMarker(): boolean;
5
- static addConflictMarkers(acc: JsonArray, ours: JsonObject, ancestor: JsonObject, theirs: JsonObject): void;
5
+ static addConflictMarkers(acc: JsonArray, ours: JsonObject | JsonArray, ancestor: JsonObject | JsonArray, theirs: JsonObject | JsonArray): void;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conflictMarker.js","sourceRoot":"","sources":["../../src/merger/conflictMarker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,GACT,MAAM,gCAAgC,CAAA;AAGvC,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;IAE3B,MAAM,CAAC,iBAAiB;QAC7B,OAAO,cAAc,CAAC,WAAW,CAAA;IACnC,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAC9B,GAAc,EACd,IAAgB,EAChB,QAAoB,EACpB,MAAkB;QAElB,cAAc,CAAC,WAAW,GAAG,IAAI,CAAA;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC,CAAA;QAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAChE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QACnC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,CAAC"}
1
+ {"version":3,"file":"conflictMarker.js","sourceRoot":"","sources":["../../src/merger/conflictMarker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,GACT,MAAM,gCAAgC,CAAA;AAGvC,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;IAE3B,MAAM,CAAC,iBAAiB;QAC7B,OAAO,cAAc,CAAC,WAAW,CAAA;IACnC,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAC9B,GAAc,EACd,IAA4B,EAC5B,QAAgC,EAChC,MAA8B;QAE9B,cAAc,CAAC,WAAW,GAAG,IAAI,CAAA;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC,CAAA;QAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAChE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QACnC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,CAAC"}
@@ -1,2 +1,3 @@
1
- import type { JsonArray, JsonValue } from '../types/jsonTypes.js';
1
+ import type { JsonArray, JsonObject, JsonValue } from '../types/jsonTypes.js';
2
+ export declare const generateObj: (value: JsonValue | null, attrib: string) => JsonObject;
2
3
  export declare const mergeTextAttribute: (ancestor: JsonValue | null, ours: JsonValue | null, theirs: JsonValue | null, attrib: string) => JsonArray;
@@ -1,18 +1,19 @@
1
- import { isEqual, isNil } from 'lodash-es';
1
+ import { deepEqual } from 'fast-equals';
2
+ import { isNil } from 'lodash-es';
2
3
  import { TEXT_TAG } from '../constant/conflicConstant.js';
3
4
  import { MergeScenario, getScenario } from '../types/mergeScenario.js';
4
5
  import { ConflictMarker } from './conflictMarker.js';
6
+ export const generateObj = (value, attrib) => {
7
+ return isNil(value) ? {} : { [attrib]: [{ [TEXT_TAG]: value }] };
8
+ };
5
9
  export const mergeTextAttribute = (ancestor, ours, theirs, attrib) => {
6
- const generateObj = (value) => {
7
- return isNil(value) ? {} : { [attrib]: [{ [TEXT_TAG]: value }] };
8
- };
9
- const objAnc = generateObj(ancestor);
10
- const objOurs = generateObj(ours);
11
- const objTheirs = generateObj(theirs);
10
+ const objAnc = generateObj(ancestor, attrib);
11
+ const objOurs = generateObj(ours, attrib);
12
+ const objTheirs = generateObj(theirs, attrib);
12
13
  const scenario = getScenario(objAnc, objOurs, objTheirs);
13
14
  const acc = [];
14
15
  // Early return for identical values
15
- if (isEqual(ours, theirs) &&
16
+ if (deepEqual(ours, theirs) &&
16
17
  (scenario === MergeScenario.OURS_AND_THEIRS ||
17
18
  scenario === MergeScenario.ALL)) {
18
19
  return [objOurs];
@@ -1 +1 @@
1
- {"version":3,"file":"textAttribute.js","sourceRoot":"","sources":["../../src/merger/textAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAA0B,EAC1B,IAAsB,EACtB,MAAwB,EACxB,MAAc,EACH,EAAE;IACb,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAc,EAAE;QAC1D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IAClE,CAAC,CAAA;IAED,MAAM,MAAM,GAAe,WAAW,CAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,OAAO,GAAe,WAAW,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAe,WAAW,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAkB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IACvE,MAAM,GAAG,GAAc,EAAE,CAAA;IAEzB,oCAAoC;IACpC,IACE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;QACrB,CAAC,QAAQ,KAAK,aAAa,CAAC,eAAe;YACzC,QAAQ,KAAK,aAAa,CAAC,GAAG,CAAC,EACjC,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,kCAAkC;IAClC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,WAAW;YAC5B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnB,MAAK;QAEP,KAAK,aAAa,CAAC,SAAS;YAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjB,MAAK;QAEP,KAAK,aAAa,CAAC,eAAe;YAChC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;YAC9D,MAAK;QAEP,KAAK,aAAa,CAAC,mBAAmB;YACpC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAC/D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,iBAAiB;YAClC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,GAAG;YACpB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YACpE,CAAC;YACD,MAAK;IACT,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"textAttribute.js","sourceRoot":"","sources":["../../src/merger/textAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAuB,EACvB,MAAc,EACF,EAAE;IACd,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAA0B,EAC1B,IAAsB,EACtB,MAAwB,EACxB,MAAc,EACH,EAAE;IACb,MAAM,MAAM,GAAe,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,OAAO,GAAe,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrD,MAAM,SAAS,GAAe,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAkB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IACvE,MAAM,GAAG,GAAc,EAAE,CAAA;IAEzB,oCAAoC;IACpC,IACE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;QACvB,CAAC,QAAQ,KAAK,aAAa,CAAC,eAAe;YACzC,QAAQ,KAAK,aAAa,CAAC,GAAG,CAAC,EACjC,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,kCAAkC;IAClC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,WAAW;YAC5B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnB,MAAK;QAEP,KAAK,aAAa,CAAC,SAAS;YAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjB,MAAK;QAEP,KAAK,aAAa,CAAC,eAAe;YAChC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;YAC9D,MAAK;QAEP,KAAK,aAAa,CAAC,mBAAmB;YACpC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAC/D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,iBAAiB;YAClC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,GAAG;YACpB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YACpE,CAAC;YACD,MAAK;IACT,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}