@fluid-experimental/property-changeset 1.2.7 → 2.0.0-dev.1.3.0.96595
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/dist/changeset.d.ts +39 -45
- package/dist/changeset.d.ts.map +1 -1
- package/dist/changeset.js +42 -51
- package/dist/changeset.js.map +1 -1
- package/dist/changeset_operations/array.d.ts +34 -3
- package/dist/changeset_operations/array.d.ts.map +1 -1
- package/dist/changeset_operations/array.js +97 -94
- package/dist/changeset_operations/array.js.map +1 -1
- package/dist/changeset_operations/indexedCollection.d.ts +13 -15
- package/dist/changeset_operations/indexedCollection.d.ts.map +1 -1
- package/dist/changeset_operations/indexedCollection.js +14 -15
- package/dist/changeset_operations/indexedCollection.js.map +1 -1
- package/dist/helpers/typeidHelper.d.ts +14 -14
- package/dist/helpers/typeidHelper.d.ts.map +1 -1
- package/dist/helpers/typeidHelper.js +24 -34
- package/dist/helpers/typeidHelper.js.map +1 -1
- package/dist/pathHelper.d.ts +5 -5
- package/dist/pathHelper.d.ts.map +1 -1
- package/dist/pathHelper.js +54 -56
- package/dist/pathHelper.js.map +1 -1
- package/dist/templateValidator.d.ts +62 -30
- package/dist/templateValidator.d.ts.map +1 -1
- package/dist/templateValidator.js +128 -94
- package/dist/templateValidator.js.map +1 -1
- package/dist/test/array.spec.js +3 -6
- package/dist/test/array.spec.js.map +1 -1
- package/dist/test/pathHelper.spec.js +2 -4
- package/dist/test/pathHelper.spec.js.map +1 -1
- package/dist/test/reversibleCs.spec.js +2 -4
- package/dist/test/reversibleCs.spec.js.map +1 -1
- package/dist/test/tsconfig.tsbuildinfo +1 -1
- package/dist/test/validator/templateValidator.spec.js +5 -10
- package/dist/test/validator/templateValidator.spec.js.map +1 -1
- package/dist/utils.d.ts +137 -109
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +167 -174
- package/dist/utils.js.map +1 -1
- package/dist/validationResultBuilder.d.ts +6 -8
- package/dist/validationResultBuilder.d.ts.map +1 -1
- package/dist/validationResultBuilder.js +5 -11
- package/dist/validationResultBuilder.js.map +1 -1
- package/lib/changeset.js +42 -51
- package/lib/changeset.js.map +1 -1
- package/lib/changeset_operations/array.js +97 -94
- package/lib/changeset_operations/array.js.map +1 -1
- package/lib/changeset_operations/indexedCollection.js +14 -15
- package/lib/changeset_operations/indexedCollection.js.map +1 -1
- package/lib/helpers/typeidHelper.js +24 -34
- package/lib/helpers/typeidHelper.js.map +1 -1
- package/lib/pathHelper.js +54 -56
- package/lib/pathHelper.js.map +1 -1
- package/lib/templateValidator.js +128 -94
- package/lib/templateValidator.js.map +1 -1
- package/lib/utils.js +167 -174
- package/lib/utils.js.map +1 -1
- package/lib/validationResultBuilder.js +5 -11
- package/lib/validationResultBuilder.js.map +1 -1
- package/package.json +5 -5
package/dist/changeset.d.ts
CHANGED
|
@@ -104,12 +104,12 @@ export declare class ChangeSet {
|
|
|
104
104
|
/**
|
|
105
105
|
* Applies a changeset to a given property (recursively). The ChangeSet is assumed to be relative to the same
|
|
106
106
|
* property root and it will be applied behind the base ChangeSet (assuming that the changes are relative to the
|
|
107
|
-
* state after the base ChangeSet has been applied. It will change the base ChangeSet.
|
|
107
|
+
* state after the base ChangeSet has been applied. It will change the base ChangeSet).
|
|
108
108
|
*
|
|
109
|
-
* @param io_basePropertyChanges
|
|
110
|
-
* @param in_appliedPropertyChanges - The ChangeSet to apply to this state
|
|
111
|
-
* @param in_removeEmpty
|
|
112
|
-
* @param in_options - Optional additional parameters
|
|
109
|
+
* @param io_basePropertyChanges - The ChangeSet describing the initial state.
|
|
110
|
+
* @param in_appliedPropertyChanges - The ChangeSet to apply to this state.
|
|
111
|
+
* @param in_removeEmpty - Should empty ChangeSets be removed?
|
|
112
|
+
* @param in_options - Optional additional parameters.
|
|
113
113
|
*/
|
|
114
114
|
private _performApplyAfterOnProperty;
|
|
115
115
|
/**
|
|
@@ -125,14 +125,14 @@ export declare class ChangeSet {
|
|
|
125
125
|
/**
|
|
126
126
|
* Decides based on the given Typeid which applyAfter operation to perform.
|
|
127
127
|
* Note: This function is not directly called on the ChangeSet but on the object containing it together with a key
|
|
128
|
-
*
|
|
128
|
+
* since it needs to be able to overwrite this entry
|
|
129
129
|
*
|
|
130
|
-
* @param in_changedKey
|
|
131
|
-
* @param in_baseChanges
|
|
132
|
-
* @param in_appliedPropertyChanges - The object containing the ChangeSet with the modification
|
|
133
|
-
* @param in_typeid
|
|
134
|
-
* @param in_removeEmpty
|
|
135
|
-
* @param in_options - Optional additional parameters
|
|
130
|
+
* @param in_changedKey - The key of the entry in the object.
|
|
131
|
+
* @param in_baseChanges - The object containing the state before the applyAfter.
|
|
132
|
+
* @param in_appliedPropertyChanges - The object containing the ChangeSet with the modification.
|
|
133
|
+
* @param in_typeid - The typeid of the property to modify.
|
|
134
|
+
* @param in_removeEmpty - Should empty ChangeSets be removed?
|
|
135
|
+
* @param in_options - Optional additional parameters.
|
|
136
136
|
*/
|
|
137
137
|
performApplyAfterOnPropertyWithTypeid(in_changedKey: string, in_baseChanges: SerializedChangeSet, in_appliedPropertyChanges: {
|
|
138
138
|
[x: string]: any;
|
|
@@ -144,55 +144,49 @@ export declare class ChangeSet {
|
|
|
144
144
|
* this class and transforms it in such a way that it can be applied after this ChangeSet. The function will modify
|
|
145
145
|
* the supplied ChangeSet
|
|
146
146
|
*
|
|
147
|
-
* @param io_changeSet
|
|
148
|
-
*
|
|
149
|
-
* @param
|
|
150
|
-
* @param in_options - Optional additional parameters
|
|
147
|
+
* @param io_changeSet - The ChangeSet that is rebased behind the state obtained by application of this ChangeSet.
|
|
148
|
+
* @param out_conflicts - A list of paths that resulted in conflicts together with the type of the conflict.
|
|
149
|
+
* @param in_options - Optional additional parameters.
|
|
151
150
|
* @returns The rebased ChangeSet (the same object as io_changeSet, it will be
|
|
152
|
-
*
|
|
151
|
+
* modified in place).
|
|
153
152
|
*/
|
|
154
153
|
_rebaseChangeSet(io_changeSet: SerializedChangeSet, out_conflicts: ConflictInfo[], in_options?: RebaseChangeSetOptions): SerializedChangeSet;
|
|
155
154
|
/**
|
|
156
155
|
* Internal helper function that performs a rebase on a single property
|
|
157
156
|
*
|
|
158
|
-
* @param in_ownPropertyChangeSet -
|
|
159
|
-
*
|
|
160
|
-
* @param
|
|
161
|
-
*
|
|
162
|
-
* @param in_basePath -
|
|
163
|
-
* Base path to get to the property processed by this function
|
|
164
|
-
* @param out_conflicts -
|
|
165
|
-
* A list of paths that resulted in conflicts together with the type of the conflict
|
|
157
|
+
* @param in_ownPropertyChangeSet - The ChangeSet for the property stored in this class
|
|
158
|
+
* @param io_rebasePropertyChangeSet - The ChangeSet for the property to be rebased
|
|
159
|
+
* @param in_basePath - Base path to get to the property processed by this function
|
|
160
|
+
* @param out_conflicts - A list of paths that resulted in conflicts together with the type of the conflict
|
|
166
161
|
* @param in_options - Optional additional parameters
|
|
167
162
|
* @returns The rebased ChangeSet for this property
|
|
168
163
|
*/
|
|
169
164
|
private _rebaseChangeSetForProperty;
|
|
170
165
|
/**
|
|
171
|
-
* Decides based on the given Typeid which rebase operation to perform
|
|
172
|
-
*
|
|
173
|
-
*
|
|
166
|
+
* Decides based on the given Typeid which rebase operation to perform.
|
|
167
|
+
*
|
|
168
|
+
* @remarks Note: This function is not directly called on the ChangeSet but on the object containing it together
|
|
169
|
+
* with a key since it needs to be able to overwrite this entry
|
|
174
170
|
*
|
|
175
|
-
* @param in_key
|
|
176
|
-
* @param in_ownPropertyChangeSet
|
|
177
|
-
*
|
|
178
|
-
* @param
|
|
179
|
-
*
|
|
180
|
-
* @param
|
|
181
|
-
* @param
|
|
182
|
-
* @param in_removeEmpty - Should empty ChangeSets be removed?
|
|
183
|
-
* @param out_conflicts - A list of paths that resulted in
|
|
184
|
-
* conflicts together with the type of the conflict
|
|
171
|
+
* @param in_key - The key of the entry in the object
|
|
172
|
+
* @param in_ownPropertyChangeSet - The object containing the ChangeSet for the property stored in this class.
|
|
173
|
+
* @param io_rebasePropertyChangeSet - The object containing the ChangeSet for the property to be rebased.
|
|
174
|
+
* @param in_typeid - The typeid of the property to rebase.
|
|
175
|
+
* @param in_basePath - Base path to get to the property processed by this function.
|
|
176
|
+
* @param in_removeEmpty - Should empty ChangeSets be removed?
|
|
177
|
+
* @param out_conflicts - A list of paths that resulted in conflicts together with the type of the conflict.
|
|
185
178
|
*
|
|
186
179
|
* @returns Has there been a simple set collision? Those have to be handled separately
|
|
187
|
-
*
|
|
180
|
+
*
|
|
181
|
+
* @privateRemarks TODO: We should unify the handling of set collisions
|
|
188
182
|
* @private
|
|
189
183
|
*/
|
|
190
184
|
private rebaseChangeSetForPropertyEntryWithTypeid;
|
|
191
185
|
/**
|
|
192
|
-
*
|
|
186
|
+
* Recursive helper function for ChangeSet.prototype._toReversibleChangeSet
|
|
193
187
|
* which converts a irreversible changeset to a reversible changeset
|
|
194
188
|
* or updates the former state of a reversible changeset
|
|
195
|
-
* @param in_context
|
|
189
|
+
* @param in_context - The traversal context.
|
|
196
190
|
*/
|
|
197
191
|
private _recursivelyBuildReversibleChangeSet;
|
|
198
192
|
/**
|
|
@@ -201,7 +195,7 @@ export declare class ChangeSet {
|
|
|
201
195
|
* WARNING: This function is still experimental and needs more testing
|
|
202
196
|
* and it's set to private for now. It will be converted to a public API function
|
|
203
197
|
* in a later release.
|
|
204
|
-
* @param in_oldSerializedState
|
|
198
|
+
* @param in_oldSerializedState - The old state.
|
|
205
199
|
*/
|
|
206
200
|
_toReversibleChangeSet(in_oldSerializedState: SerializedChangeSet): void;
|
|
207
201
|
/**
|
|
@@ -214,15 +208,15 @@ export declare class ChangeSet {
|
|
|
214
208
|
_stripReversibleChangeSet(in_withoutRoot: boolean): void;
|
|
215
209
|
/**
|
|
216
210
|
* Helper function to extract the first level paths from a given change set
|
|
217
|
-
* @param in_changeSet The ChangeSet to extract paths from
|
|
218
|
-
* @param isPrimitiveCollection Is this a primitive type collection?
|
|
211
|
+
* @param in_changeSet - The ChangeSet to extract paths from.
|
|
212
|
+
* @param isPrimitiveCollection - Is this a primitive type collection?
|
|
219
213
|
*
|
|
220
214
|
* @returns List of paths found at the first level of the change set
|
|
221
215
|
*/
|
|
222
216
|
private _extractFirstLevelPaths;
|
|
223
217
|
/**
|
|
224
218
|
* recursive helper function for ChangeSet.prototype._toInverseChangeSet
|
|
225
|
-
* @param in_context
|
|
219
|
+
* @param in_context - The traversal context.
|
|
226
220
|
*/
|
|
227
221
|
private _recursivelyInvertReversibleChangeset;
|
|
228
222
|
/**
|
package/dist/changeset.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeset.d.ts","sourceRoot":"","sources":["../src/changeset.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH;;GAEG;AAaH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAE7E,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAW/F,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,yBAAyB,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1C;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,oBAAY,mBAAmB,GAAG,GAAG,CAAC;AACtC,oBAAY,aAAa,GAAG,GAAG,CAAC;AAChC,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;IACnB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,SAAS;IAClB,MAAM,CAAC,YAAY,sBAAgB;IACnC,MAAM,CAAC,gBAAgB,iCAAoB;IAC3C,MAAM,CAAC,iBAAiB,8BAAqB;IAE9B,gCAAgC,EAAE,OAAO,mCAAmC,CAAC,gCAAgC,CAAC;IAC9G,iCAAiC,EAAE,OAAO,uBAAuB,CAAC,iCAAiC,CAAC;IACpG,gCAAgC,EAAE,OAAO,uBAAuB,CAAC,gCAAgC,CAAC;IAClG,yBAAyB,EAAE,OAAO,uBAAuB,CAAC,yBAAyB,CAAC;IACpF,6CAA6C,EAAE,OAAO,mCAAmC,CAAC,6CAA6C,CAAC;IACxI,4CAA4C,EAAE,OAAO,mCAAmC,CAAC,4CAA4C,CAAC;IAErJ,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;gBACS,UAAU,CAAC,EAAE,aAAa;IAetC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACH,sBAAsB,IAAI,mBAAmB;IAI7C;;;;;OAKG;IACH,eAAe,CAAC,eAAe,EAAE,OAAO;IAIxC;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;OAIG;IACH,KAAK,IAAI,SAAS;IAIlB;;;;;;;;OAQG;IACH,cAAc,CAAC,YAAY,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,qBAAqB;IAcpF;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;IA+CpC;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAkBnB;;;;;;;;;;;OAWG;IACI,qCAAqC,CACxC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,mBAAmB,EACnC,yBAAyB,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,EAChD,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,UAAU,CAAC,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"changeset.d.ts","sourceRoot":"","sources":["../src/changeset.ts"],"names":[],"mappings":"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"}
|
package/dist/changeset.js
CHANGED
|
@@ -124,12 +124,12 @@ class ChangeSet {
|
|
|
124
124
|
/**
|
|
125
125
|
* Applies a changeset to a given property (recursively). The ChangeSet is assumed to be relative to the same
|
|
126
126
|
* property root and it will be applied behind the base ChangeSet (assuming that the changes are relative to the
|
|
127
|
-
* state after the base ChangeSet has been applied. It will change the base ChangeSet.
|
|
127
|
+
* state after the base ChangeSet has been applied. It will change the base ChangeSet).
|
|
128
128
|
*
|
|
129
|
-
* @param io_basePropertyChanges
|
|
130
|
-
* @param in_appliedPropertyChanges - The ChangeSet to apply to this state
|
|
131
|
-
* @param in_removeEmpty
|
|
132
|
-
* @param in_options - Optional additional parameters
|
|
129
|
+
* @param io_basePropertyChanges - The ChangeSet describing the initial state.
|
|
130
|
+
* @param in_appliedPropertyChanges - The ChangeSet to apply to this state.
|
|
131
|
+
* @param in_removeEmpty - Should empty ChangeSets be removed?
|
|
132
|
+
* @param in_options - Optional additional parameters.
|
|
133
133
|
*/
|
|
134
134
|
_performApplyAfterOnProperty(io_basePropertyChanges, in_appliedPropertyChanges, in_removeEmpty, in_options) {
|
|
135
135
|
// Apply dynamic property operations
|
|
@@ -193,14 +193,14 @@ class ChangeSet {
|
|
|
193
193
|
/**
|
|
194
194
|
* Decides based on the given Typeid which applyAfter operation to perform.
|
|
195
195
|
* Note: This function is not directly called on the ChangeSet but on the object containing it together with a key
|
|
196
|
-
*
|
|
196
|
+
* since it needs to be able to overwrite this entry
|
|
197
197
|
*
|
|
198
|
-
* @param in_changedKey
|
|
199
|
-
* @param in_baseChanges
|
|
200
|
-
* @param in_appliedPropertyChanges - The object containing the ChangeSet with the modification
|
|
201
|
-
* @param in_typeid
|
|
202
|
-
* @param in_removeEmpty
|
|
203
|
-
* @param in_options - Optional additional parameters
|
|
198
|
+
* @param in_changedKey - The key of the entry in the object.
|
|
199
|
+
* @param in_baseChanges - The object containing the state before the applyAfter.
|
|
200
|
+
* @param in_appliedPropertyChanges - The object containing the ChangeSet with the modification.
|
|
201
|
+
* @param in_typeid - The typeid of the property to modify.
|
|
202
|
+
* @param in_removeEmpty - Should empty ChangeSets be removed?
|
|
203
|
+
* @param in_options - Optional additional parameters.
|
|
204
204
|
*/
|
|
205
205
|
performApplyAfterOnPropertyWithTypeid(in_changedKey, in_baseChanges, in_appliedPropertyChanges, in_typeid, in_removeEmpty, in_options) {
|
|
206
206
|
const splitTypeid = extractContext(in_typeid);
|
|
@@ -261,12 +261,9 @@ class ChangeSet {
|
|
|
261
261
|
if (baseIsSetChange) {
|
|
262
262
|
// we have to convert back to a string, if it had been converted before
|
|
263
263
|
let newValue;
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
else {
|
|
268
|
-
newValue = in_baseChanges[in_changedKey].insert[0][1];
|
|
269
|
-
}
|
|
264
|
+
newValue = (0, isEmpty_1.default)(in_baseChanges[in_changedKey])
|
|
265
|
+
? ""
|
|
266
|
+
: in_baseChanges[in_changedKey].insert[0][1];
|
|
270
267
|
if (oldValue !== undefined) {
|
|
271
268
|
in_baseChanges[in_changedKey] = {
|
|
272
269
|
value: newValue,
|
|
@@ -324,12 +321,11 @@ class ChangeSet {
|
|
|
324
321
|
* this class and transforms it in such a way that it can be applied after this ChangeSet. The function will modify
|
|
325
322
|
* the supplied ChangeSet
|
|
326
323
|
*
|
|
327
|
-
* @param io_changeSet
|
|
328
|
-
*
|
|
329
|
-
* @param
|
|
330
|
-
* @param in_options - Optional additional parameters
|
|
324
|
+
* @param io_changeSet - The ChangeSet that is rebased behind the state obtained by application of this ChangeSet.
|
|
325
|
+
* @param out_conflicts - A list of paths that resulted in conflicts together with the type of the conflict.
|
|
326
|
+
* @param in_options - Optional additional parameters.
|
|
331
327
|
* @returns The rebased ChangeSet (the same object as io_changeSet, it will be
|
|
332
|
-
*
|
|
328
|
+
* modified in place).
|
|
333
329
|
*/
|
|
334
330
|
_rebaseChangeSet(io_changeSet, out_conflicts, in_options) {
|
|
335
331
|
// We actually only pass this request to the recursive internal function
|
|
@@ -338,14 +334,10 @@ class ChangeSet {
|
|
|
338
334
|
/**
|
|
339
335
|
* Internal helper function that performs a rebase on a single property
|
|
340
336
|
*
|
|
341
|
-
* @param in_ownPropertyChangeSet -
|
|
342
|
-
*
|
|
343
|
-
* @param
|
|
344
|
-
*
|
|
345
|
-
* @param in_basePath -
|
|
346
|
-
* Base path to get to the property processed by this function
|
|
347
|
-
* @param out_conflicts -
|
|
348
|
-
* A list of paths that resulted in conflicts together with the type of the conflict
|
|
337
|
+
* @param in_ownPropertyChangeSet - The ChangeSet for the property stored in this class
|
|
338
|
+
* @param io_rebasePropertyChangeSet - The ChangeSet for the property to be rebased
|
|
339
|
+
* @param in_basePath - Base path to get to the property processed by this function
|
|
340
|
+
* @param out_conflicts - A list of paths that resulted in conflicts together with the type of the conflict
|
|
349
341
|
* @param in_options - Optional additional parameters
|
|
350
342
|
* @returns The rebased ChangeSet for this property
|
|
351
343
|
*/
|
|
@@ -477,23 +469,22 @@ class ChangeSet {
|
|
|
477
469
|
return io_rebasePropertyChangeSet;
|
|
478
470
|
}
|
|
479
471
|
/**
|
|
480
|
-
* Decides based on the given Typeid which rebase operation to perform
|
|
481
|
-
* Note: This function is not directly called on the ChangeSet but on the object containing it together with a key
|
|
482
|
-
* since it needs to be able to overwrite this entry
|
|
472
|
+
* Decides based on the given Typeid which rebase operation to perform.
|
|
483
473
|
*
|
|
484
|
-
* @
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
* @param
|
|
488
|
-
*
|
|
489
|
-
* @param
|
|
490
|
-
* @param
|
|
491
|
-
* @param
|
|
492
|
-
* @param
|
|
493
|
-
*
|
|
474
|
+
* @remarks Note: This function is not directly called on the ChangeSet but on the object containing it together
|
|
475
|
+
* with a key since it needs to be able to overwrite this entry
|
|
476
|
+
*
|
|
477
|
+
* @param in_key - The key of the entry in the object
|
|
478
|
+
* @param in_ownPropertyChangeSet - The object containing the ChangeSet for the property stored in this class.
|
|
479
|
+
* @param io_rebasePropertyChangeSet - The object containing the ChangeSet for the property to be rebased.
|
|
480
|
+
* @param in_typeid - The typeid of the property to rebase.
|
|
481
|
+
* @param in_basePath - Base path to get to the property processed by this function.
|
|
482
|
+
* @param in_removeEmpty - Should empty ChangeSets be removed?
|
|
483
|
+
* @param out_conflicts - A list of paths that resulted in conflicts together with the type of the conflict.
|
|
494
484
|
*
|
|
495
485
|
* @returns Has there been a simple set collision? Those have to be handled separately
|
|
496
|
-
*
|
|
486
|
+
*
|
|
487
|
+
* @privateRemarks TODO: We should unify the handling of set collisions
|
|
497
488
|
* @private
|
|
498
489
|
*/
|
|
499
490
|
rebaseChangeSetForPropertyEntryWithTypeid(in_key, in_ownPropertyChangeSet, io_rebasePropertyChangeSet, in_typeid, in_basePath, in_removeEmpty, out_conflicts, in_options) {
|
|
@@ -542,10 +533,10 @@ class ChangeSet {
|
|
|
542
533
|
return false;
|
|
543
534
|
}
|
|
544
535
|
/**
|
|
545
|
-
*
|
|
536
|
+
* Recursive helper function for ChangeSet.prototype._toReversibleChangeSet
|
|
546
537
|
* which converts a irreversible changeset to a reversible changeset
|
|
547
538
|
* or updates the former state of a reversible changeset
|
|
548
|
-
* @param in_context
|
|
539
|
+
* @param in_context - The traversal context.
|
|
549
540
|
*/
|
|
550
541
|
_recursivelyBuildReversibleChangeSet(in_context) {
|
|
551
542
|
const opType = in_context.getOperationType();
|
|
@@ -744,7 +735,7 @@ class ChangeSet {
|
|
|
744
735
|
* WARNING: This function is still experimental and needs more testing
|
|
745
736
|
* and it's set to private for now. It will be converted to a public API function
|
|
746
737
|
* in a later release.
|
|
747
|
-
* @param in_oldSerializedState
|
|
738
|
+
* @param in_oldSerializedState - The old state.
|
|
748
739
|
*/
|
|
749
740
|
_toReversibleChangeSet(in_oldSerializedState) {
|
|
750
741
|
property_common_1.ConsoleUtils.assert(in_oldSerializedState !== undefined, `${MSG.ASSERTION_FAILED}Missing function parameter "in_oldSerializedState" of "_toReversibleChangeSet".`);
|
|
@@ -890,8 +881,8 @@ class ChangeSet {
|
|
|
890
881
|
}
|
|
891
882
|
/**
|
|
892
883
|
* Helper function to extract the first level paths from a given change set
|
|
893
|
-
* @param in_changeSet The ChangeSet to extract paths from
|
|
894
|
-
* @param isPrimitiveCollection Is this a primitive type collection?
|
|
884
|
+
* @param in_changeSet - The ChangeSet to extract paths from.
|
|
885
|
+
* @param isPrimitiveCollection - Is this a primitive type collection?
|
|
895
886
|
*
|
|
896
887
|
* @returns List of paths found at the first level of the change set
|
|
897
888
|
*/
|
|
@@ -912,7 +903,7 @@ class ChangeSet {
|
|
|
912
903
|
}
|
|
913
904
|
/**
|
|
914
905
|
* recursive helper function for ChangeSet.prototype._toInverseChangeSet
|
|
915
|
-
* @param in_context
|
|
906
|
+
* @param in_context - The traversal context.
|
|
916
907
|
*/
|
|
917
908
|
_recursivelyInvertReversibleChangeset(in_context) {
|
|
918
909
|
in_context.setUserData(in_context.getUserData() || {});
|