@trudb/tru-common-lib 0.0.822 → 0.0.823

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.
@@ -12,6 +12,9 @@ export class TruMergeDataSet {
12
12
  clearAll = () => {
13
13
  this._data = {};
14
14
  };
15
+ isEmpty = () => {
16
+ return Object.keys(this._data).length === 0;
17
+ };
15
18
  constructor() { }
16
19
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1lcmdlLWRhdGEtc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhLXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQWlDLEVBQUUsQ0FBQztJQUVqRCxHQUFHLEdBQUcsQ0FBQyxZQUFvQixFQUE0QixFQUFFO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxHQUFHLEdBQUcsQ0FBQyxZQUFvQixFQUFFLElBQWtCLEVBQUUsRUFBRTtRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxLQUFLLEdBQUcsQ0FBQyxZQUFvQixFQUFFLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQTtJQUVELFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxnQkFBZSxDQUFDO0NBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJ1TWVyZ2VEYXRhIH0gZnJvbSBcIi4vdHJ1LW1lcmdlLWRhdGFcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVNZXJnZURhdGFTZXQge1xyXG4gIHByaXZhdGUgX2RhdGE6IFJlY29yZDxzdHJpbmcsIFRydU1lcmdlRGF0YT4gPSB7fTtcclxuXHJcbiAgZ2V0ID0gKHByb3BlcnR5TmFtZTogc3RyaW5nKTogVHJ1TWVyZ2VEYXRhIHwgdW5kZWZpbmVkID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhW3Byb3BlcnR5TmFtZV07XHJcbiAgfVxyXG5cclxuICBzZXQgPSAocHJvcGVydHlOYW1lOiBzdHJpbmcsIGRhdGE6IFRydU1lcmdlRGF0YSkgPT4ge1xyXG4gICAgdGhpcy5fZGF0YVtwcm9wZXJ0eU5hbWVdID0gZGF0YTtcclxuICB9XHJcblxyXG4gIGNsZWFyID0gKHByb3BlcnR5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBkZWxldGUgdGhpcy5fZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGwgPSAoKSA9PiB7XHJcbiAgICB0aGlzLl9kYXRhID0ge307XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcbn1cclxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1lcmdlLWRhdGEtc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhLXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQWlDLEVBQUUsQ0FBQztJQUVqRCxHQUFHLEdBQUcsQ0FBQyxZQUFvQixFQUE0QixFQUFFO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxHQUFHLEdBQUcsQ0FBQyxZQUFvQixFQUFFLElBQWtCLEVBQUUsRUFBRTtRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxLQUFLLEdBQUcsQ0FBQyxZQUFvQixFQUFFLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQTtJQUVELFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxPQUFPLEdBQUcsR0FBWSxFQUFFO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUE7SUFFRCxnQkFBZSxDQUFDO0NBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJ1TWVyZ2VEYXRhIH0gZnJvbSBcIi4vdHJ1LW1lcmdlLWRhdGFcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVNZXJnZURhdGFTZXQge1xyXG4gIHByaXZhdGUgX2RhdGE6IFJlY29yZDxzdHJpbmcsIFRydU1lcmdlRGF0YT4gPSB7fTtcclxuXHJcbiAgZ2V0ID0gKHByb3BlcnR5TmFtZTogc3RyaW5nKTogVHJ1TWVyZ2VEYXRhIHwgdW5kZWZpbmVkID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhW3Byb3BlcnR5TmFtZV07XHJcbiAgfVxyXG5cclxuICBzZXQgPSAocHJvcGVydHlOYW1lOiBzdHJpbmcsIGRhdGE6IFRydU1lcmdlRGF0YSkgPT4ge1xyXG4gICAgdGhpcy5fZGF0YVtwcm9wZXJ0eU5hbWVdID0gZGF0YTtcclxuICB9XHJcblxyXG4gIGNsZWFyID0gKHByb3BlcnR5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBkZWxldGUgdGhpcy5fZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGwgPSAoKSA9PiB7XHJcbiAgICB0aGlzLl9kYXRhID0ge307XHJcbiAgfVxyXG5cclxuICBpc0VtcHR5ID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2RhdGEpLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iXX0=
@@ -42,12 +42,13 @@ export class TruValidatorFactory {
42
42
  return true;
43
43
  }
44
44
  satisfiesMergeValidation = (value, context) => {
45
- var mergeData = JSON.parse(context.entity.Merge_Data);
46
- if (!mergeData)
45
+ var mergeData = context.entity.Merge_Data_Set;
46
+ if (mergeData.isEmpty())
47
47
  return true;
48
- if (mergeData.hasOwnProperty(context.propertyName)) {
49
- var mergeValue = mergeData[context.propertyName].hid ? mergeData[context.propertyName].hid : mergeData[context.propertyName].value;
50
- context.error = mergeData[context.propertyName].modifiedBy + ' changed ' + context.propertyName + ' to ' + mergeValue + '.';
48
+ let targetProperty = mergeData.get(context.propertyName);
49
+ if (targetProperty) {
50
+ var mergeValue = targetProperty.hid ? targetProperty.hid : targetProperty.value;
51
+ context.error = targetProperty.modifiedBy + ' changed ' + context.propertyName + ' to ' + mergeValue + '.';
51
52
  return false;
52
53
  }
53
54
  return true;
@@ -93,4 +94,4 @@ export class TruValidatorFactory {
93
94
  });
94
95
  };
95
96
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXZhbGlkYXRvci1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS12YWxpZGF0b3ItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQztBQUUzQixNQUFNLE9BQU8sbUJBQW1CO0lBQ3RCLGdDQUFnQyxHQUFHLENBQUMsTUFBVyxFQUFFLE9BQVksRUFBRSxFQUFFO1FBQ3ZFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFBO0lBRU8sMkJBQTJCLENBQUMsS0FBVTtRQUM1QyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyw0QkFBNEIsR0FBRyxDQUFDLEtBQVUsRUFBRSxPQUFZLEVBQUUsRUFBRTtRQUNsRSxJQUFJLENBQUMsS0FBSztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3hFLENBQUMsQ0FBQTtJQUVPLHdCQUF3QixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUNoQixPQUFPLElBQUksQ0FBQztRQUNkLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUE7SUFFTywwQkFBMEIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQ2xELElBQUksS0FBSyxLQUFLLElBQUk7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCx1RkFBdUY7UUFDdkYsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDO0lBQ3JGLENBQUMsQ0FBQTtJQUVPLHVCQUF1QixDQUFDLEtBQVU7UUFDeEMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssZUFBZTtZQUMzRCxPQUFPLEtBQUssQ0FBQztRQUNmLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxnQ0FBZ0MsQ0FBQyxLQUFVLEVBQUUsT0FBWTtRQUMvRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLENBQUE7WUFDMUQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLHdCQUF3QixHQUFHLENBQUMsS0FBVSxFQUFFLE9BQVksRUFBRSxFQUFFO1FBQzlELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUztZQUNaLE9BQU8sSUFBSSxDQUFDO1FBQ2QsSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNsRCxJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ25JLE9BQU8sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLEdBQUcsV0FBVyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEdBQUcsTUFBTSxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUM7WUFDNUgsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFBO0lBRUQsNEJBQTRCLEdBQUcsR0FBYyxFQUFFO1FBQzdDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUN0RixDQUFDLENBQUE7SUFFRCx1QkFBdUIsR0FBRyxHQUFjLEVBQUU7UUFDeEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUN4RSxlQUFlLEVBQUUsK0JBQStCO1NBQ2pELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVELHdCQUF3QixHQUFHLENBQUMsU0FBYyxFQUFhLEVBQUU7UUFDdkQsSUFBSSxPQUFPLEdBQUc7WUFDWixlQUFlLEVBQUUsbUVBQW1FO1lBQ3BGLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7UUFDRixPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZGLENBQUMsQ0FBQztJQUVGLHNCQUFzQixHQUFHLEdBQWMsRUFBRTtRQUN2QyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ3RFLGVBQWUsRUFBRSxzQ0FBc0M7U0FDeEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsb0JBQW9CLEdBQUcsR0FBYyxFQUFFO1FBQ3JDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDbEUsZUFBZSxFQUFFLG9DQUFvQztTQUN0RCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRCxtQkFBbUIsR0FBRyxHQUFjLEVBQUU7UUFDcEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNoRSxlQUFlLEVBQUUsa0NBQWtDO1NBQ3BELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVELDRCQUE0QixHQUFHLEdBQWMsRUFBRTtRQUM3QyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGdDQUFnQyxFQUFFO1lBQzVFLGVBQWUsRUFBRSxXQUFXO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVELG9CQUFvQixHQUFHLEdBQWMsRUFBRTtRQUNyQyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2xFLGVBQWUsRUFBRSxhQUFhO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnJlZXplLCBWYWxpZGF0b3IgfSBmcm9tIFwiYnJlZXplLWNsaWVudFwiO1xyXG5pbXBvcnQgXyBmcm9tIFwidW5kZXJzY29yZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRydVZhbGlkYXRvckZhY3Rvcnkge1xyXG4gIHByaXZhdGUgc2F0aXNmaWVzRW50aXR5TWVzc2FnZVZhbGlkYXRpb24gPSAoZW50aXR5OiBhbnksIGNvbnRleHQ6IGFueSkgPT4ge1xyXG4gICAgdmFyIG1lc3NhZ2VzID0gXy52YWx1ZXMoZW50aXR5Ll9jdXN0b21WYWxpZGF0aW9uRXJyb3JzKTtcclxuICAgIGlmICghbWVzc2FnZXMubGVuZ3RoKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIGNvbnRleHQubWVzc2FnZVRlbXBsYXRlID0gbWVzc2FnZXMuam9pbignLi4uJyk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdGlzZmllc1JlcXVpcmVkVmFsaWRhdGlvbih2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzTWF4TGVuZ3RoVmFsaWRhdGlvbiA9ICh2YWx1ZTogYW55LCBjb250ZXh0OiBhbnkpID0+IHtcclxuICAgIGlmICghdmFsdWUpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoIDw9IGNvbnRleHQubWF4TGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXRpc2ZpZXNGbG9hdFZhbGlkYXRpb24gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIGlzRmluaXRlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzSW50ZWdlclZhbGlkYXRpb24gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIC8vTk9URTogTnVtYmVyLmlzSW50ZWdlcigpIHdvdWxkIHdvcmssIGJ1dCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gYWxsIHN1cHBvcnRlZCBicm93c2Vyc1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNGaW5pdGUodmFsdWUpICYmIE1hdGguZmxvb3IodmFsdWUpID09PSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzRGF0ZVZhbGlkYXRpb24odmFsdWU6IGFueSkge1xyXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgIT09ICdbb2JqZWN0IERhdGVdJylcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGlzRmluaXRlKHZhbHVlLmdldFRpbWUoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdGlzZmllc0ludmFsaWRDaG9pY2VWYWxpZGF0aW9uKHZhbHVlOiBhbnksIGNvbnRleHQ6IGFueSkge1xyXG4gICAgaWYgKGNvbnRleHQuZW50aXR5LklzX0ludmFsaWQgPT09ICd0cnVlJykge1xyXG4gICAgICBjb250ZXh0LmVycm9yID0gY29udGV4dC5wcm9wZXJ0eU5hbWUgKyAnXFwnIGludmFsaWQgY2hvaWNlJ1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzTWVyZ2VWYWxpZGF0aW9uID0gKHZhbHVlOiBhbnksIGNvbnRleHQ6IGFueSkgPT4ge1xyXG4gICAgdmFyIG1lcmdlRGF0YSA9IEpTT04ucGFyc2UoY29udGV4dC5lbnRpdHkuTWVyZ2VfRGF0YSk7XHJcbiAgICBpZiAoIW1lcmdlRGF0YSlcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICBpZiAobWVyZ2VEYXRhLmhhc093blByb3BlcnR5KGNvbnRleHQucHJvcGVydHlOYW1lKSkge1xyXG4gICAgICB2YXIgbWVyZ2VWYWx1ZSA9IG1lcmdlRGF0YVtjb250ZXh0LnByb3BlcnR5TmFtZV0uaGlkID8gbWVyZ2VEYXRhW2NvbnRleHQucHJvcGVydHlOYW1lXS5oaWQgOiBtZXJnZURhdGFbY29udGV4dC5wcm9wZXJ0eU5hbWVdLnZhbHVlO1xyXG4gICAgICBjb250ZXh0LmVycm9yID0gbWVyZ2VEYXRhW2NvbnRleHQucHJvcGVydHlOYW1lXS5tb2RpZmllZEJ5ICsgJyBjaGFuZ2VkICcgKyBjb250ZXh0LnByb3BlcnR5TmFtZSArICcgdG8gJyArIG1lcmdlVmFsdWUgKyAnLic7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRW50aXR5TWVzc2FnZVZhbGlkYXRvciA9ICgpOiBWYWxpZGF0b3IgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdlbnRpdHlNZXNzYWdlJywgdGhpcy5zYXRpc2ZpZXNFbnRpdHlNZXNzYWdlVmFsaWRhdGlvbik7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVSZXF1aXJlZFZhbGlkYXRvciA9ICgpOiBWYWxpZGF0b3IgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdyZXF1aXJlZCcsIHRoaXMuc2F0aXNmaWVzUmVxdWlyZWRWYWxpZGF0aW9uLCB7XHJcbiAgICAgIG1lc3NhZ2VUZW1wbGF0ZTogJ1xcJyVkaXNwbGF5TmFtZSVcXCcgaXMgcmVxdWlyZWQnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1heExlbmd0aFZhbGlkYXRvciA9IChtYXhMZW5ndGg6IGFueSk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICB2YXIgY29udGV4dCA9IHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBleGNlZWRzIG1heGltdW0gY2hhcmFjdGVyIGxlbmd0aCBvZiAlbWF4TGVuZ3RoJScsXHJcbiAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdtYXhMZW5ndGgnLCB0aGlzLnNhdGlzZmllc01heExlbmd0aFZhbGlkYXRpb24sIGNvbnRleHQpO1xyXG4gIH07XHJcblxyXG4gIGNyZWF0ZUludGVnZXJWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignaW50ZWdlcicsIHRoaXMuc2F0aXNmaWVzSW50ZWdlclZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBtdXN0IGJlIGFuIGludGVnZXInXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZsb2F0VmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IGJyZWV6ZS5WYWxpZGF0b3IoJ2Zsb2F0JywgdGhpcy5zYXRpc2ZpZXNGbG9hdFZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBtdXN0IGJlIGEgbnVtYmVyJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEYXRlVmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IGJyZWV6ZS5WYWxpZGF0b3IoJ2RhdGUnLCB0aGlzLnNhdGlzZmllc0RhdGVWYWxpZGF0aW9uLCB7XHJcbiAgICAgIG1lc3NhZ2VUZW1wbGF0ZTogJ1xcJyVkaXNwbGF5TmFtZSVcXCcgbXVzdCBiZSBhIGRhdGUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUludmFsaWRDaG9pY2VWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignaW52YWxpZCcsIHRoaXMuc2F0aXNmaWVzSW52YWxpZENob2ljZVZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWVycm9yJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlTWVyZ2VWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignbWVyZ2UnLCB0aGlzLnNhdGlzZmllc01lcmdlVmFsaWRhdGlvbiwge1xyXG4gICAgICBtZXNzYWdlVGVtcGxhdGU6ICdcXCclZXJyb3IlXFwnJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXZhbGlkYXRvci1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS12YWxpZGF0b3ItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQztBQUczQixNQUFNLE9BQU8sbUJBQW1CO0lBQ3RCLGdDQUFnQyxHQUFHLENBQUMsTUFBVyxFQUFFLE9BQVksRUFBRSxFQUFFO1FBQ3ZFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFBO0lBRU8sMkJBQTJCLENBQUMsS0FBVTtRQUM1QyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyw0QkFBNEIsR0FBRyxDQUFDLEtBQVUsRUFBRSxPQUFZLEVBQUUsRUFBRTtRQUNsRSxJQUFJLENBQUMsS0FBSztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3hFLENBQUMsQ0FBQTtJQUVPLHdCQUF3QixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSTtZ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SUFDTCxDQUFDLENBQUE7SUFFRCxvQkFBb0IsR0FBRyxHQUFjLEVBQUU7UUFDckMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNsRSxlQUFlLEVBQUUsb0NBQW9DO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVELG1CQUFtQixHQUFHLEdBQWMsRUFBRTtRQUNwQyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hFLGVBQWUsRUFBRSxrQ0FBa0M7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsNEJBQTRCLEdBQUcsR0FBYyxFQUFFO1FBQzdDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0NBQWdDLEVBQUU7WUFDNUUsZUFBZSxFQUFFLFdBQVc7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsb0JBQW9CLEdBQUcsR0FBYyxFQUFFO1FBQ3JDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDbEUsZUFBZSxFQUFFLGFBQWE7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBicmVlemUsIFZhbGlkYXRvciB9IGZyb20gXCJicmVlemUtY2xpZW50XCI7XHJcbmltcG9ydCBfIGZyb20gXCJ1bmRlcnNjb3JlXCI7XHJcbmltcG9ydCB7IFRydU1lcmdlRGF0YVNldCB9IGZyb20gXCIuL3RydS1tZXJnZS1kYXRhLXNldFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRydVZhbGlkYXRvckZhY3Rvcnkge1xyXG4gIHByaXZhdGUgc2F0aXNmaWVzRW50aXR5TWVzc2FnZVZhbGlkYXRpb24gPSAoZW50aXR5OiBhbnksIGNvbnRleHQ6IGFueSkgPT4ge1xyXG4gICAgdmFyIG1lc3NhZ2VzID0gXy52YWx1ZXMoZW50aXR5Ll9jdXN0b21WYWxpZGF0aW9uRXJyb3JzKTtcclxuICAgIGlmICghbWVzc2FnZXMubGVuZ3RoKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIGNvbnRleHQubWVzc2FnZVRlbXBsYXRlID0gbWVzc2FnZXMuam9pbignLi4uJyk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdGlzZmllc1JlcXVpcmVkVmFsaWRhdGlvbih2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzTWF4TGVuZ3RoVmFsaWRhdGlvbiA9ICh2YWx1ZTogYW55LCBjb250ZXh0OiBhbnkpID0+IHtcclxuICAgIGlmICghdmFsdWUpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoIDw9IGNvbnRleHQubWF4TGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXRpc2ZpZXNGbG9hdFZhbGlkYXRpb24gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIGlzRmluaXRlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzSW50ZWdlclZhbGlkYXRpb24gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIC8vTk9URTogTnVtYmVyLmlzSW50ZWdlcigpIHdvdWxkIHdvcmssIGJ1dCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gYWxsIHN1cHBvcnRlZCBicm93c2Vyc1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNGaW5pdGUodmFsdWUpICYmIE1hdGguZmxvb3IodmFsdWUpID09PSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzRGF0ZVZhbGlkYXRpb24odmFsdWU6IGFueSkge1xyXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgIT09ICdbb2JqZWN0IERhdGVdJylcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGlzRmluaXRlKHZhbHVlLmdldFRpbWUoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdGlzZmllc0ludmFsaWRDaG9pY2VWYWxpZGF0aW9uKHZhbHVlOiBhbnksIGNvbnRleHQ6IGFueSkge1xyXG4gICAgaWYgKGNvbnRleHQuZW50aXR5LklzX0ludmFsaWQgPT09ICd0cnVlJykge1xyXG4gICAgICBjb250ZXh0LmVycm9yID0gY29udGV4dC5wcm9wZXJ0eU5hbWUgKyAnXFwnIGludmFsaWQgY2hvaWNlJ1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzTWVyZ2VWYWxpZGF0aW9uID0gKHZhbHVlOiBhbnksIGNvbnRleHQ6IGFueSkgPT4ge1xyXG4gICAgdmFyIG1lcmdlRGF0YSA9IGNvbnRleHQuZW50aXR5Lk1lcmdlX0RhdGFfU2V0IGFzIFRydU1lcmdlRGF0YVNldDtcclxuICAgIGlmIChtZXJnZURhdGEuaXNFbXB0eSgpKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIGxldCB0YXJnZXRQcm9wZXJ0eSA9IG1lcmdlRGF0YS5nZXQoY29udGV4dC5wcm9wZXJ0eU5hbWUpO1xyXG4gICAgaWYgKHRhcmdldFByb3BlcnR5KSB7XHJcbiAgICAgIHZhciBtZXJnZVZhbHVlID0gdGFyZ2V0UHJvcGVydHkuaGlkID8gdGFyZ2V0UHJvcGVydHkuaGlkIDogdGFyZ2V0UHJvcGVydHkudmFsdWU7XHJcbiAgICAgIGNvbnRleHQuZXJyb3IgPSB0YXJnZXRQcm9wZXJ0eS5tb2RpZmllZEJ5ICsgJyBjaGFuZ2VkICcgKyBjb250ZXh0LnByb3BlcnR5TmFtZSArICcgdG8gJyArIG1lcmdlVmFsdWUgKyAnLic7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRW50aXR5TWVzc2FnZVZhbGlkYXRvciA9ICgpOiBWYWxpZGF0b3IgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdlbnRpdHlNZXNzYWdlJywgdGhpcy5zYXRpc2ZpZXNFbnRpdHlNZXNzYWdlVmFsaWRhdGlvbik7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVSZXF1aXJlZFZhbGlkYXRvciA9ICgpOiBWYWxpZGF0b3IgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdyZXF1aXJlZCcsIHRoaXMuc2F0aXNmaWVzUmVxdWlyZWRWYWxpZGF0aW9uLCB7XHJcbiAgICAgIG1lc3NhZ2VUZW1wbGF0ZTogJ1xcJyVkaXNwbGF5TmFtZSVcXCcgaXMgcmVxdWlyZWQnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1heExlbmd0aFZhbGlkYXRvciA9IChtYXhMZW5ndGg6IGFueSk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICB2YXIgY29udGV4dCA9IHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBleGNlZWRzIG1heGltdW0gY2hhcmFjdGVyIGxlbmd0aCBvZiAlbWF4TGVuZ3RoJScsXHJcbiAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdtYXhMZW5ndGgnLCB0aGlzLnNhdGlzZmllc01heExlbmd0aFZhbGlkYXRpb24sIGNvbnRleHQpO1xyXG4gIH07XHJcblxyXG4gIGNyZWF0ZUludGVnZXJWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignaW50ZWdlcicsIHRoaXMuc2F0aXNmaWVzSW50ZWdlclZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBtdXN0IGJlIGFuIGludGVnZXInXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZsb2F0VmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IGJyZWV6ZS5WYWxpZGF0b3IoJ2Zsb2F0JywgdGhpcy5zYXRpc2ZpZXNGbG9hdFZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBtdXN0IGJlIGEgbnVtYmVyJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEYXRlVmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IGJyZWV6ZS5WYWxpZGF0b3IoJ2RhdGUnLCB0aGlzLnNhdGlzZmllc0RhdGVWYWxpZGF0aW9uLCB7XHJcbiAgICAgIG1lc3NhZ2VUZW1wbGF0ZTogJ1xcJyVkaXNwbGF5TmFtZSVcXCcgbXVzdCBiZSBhIGRhdGUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUludmFsaWRDaG9pY2VWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignaW52YWxpZCcsIHRoaXMuc2F0aXNmaWVzSW52YWxpZENob2ljZVZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWVycm9yJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlTWVyZ2VWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignbWVyZ2UnLCB0aGlzLnNhdGlzZmllc01lcmdlVmFsaWRhdGlvbiwge1xyXG4gICAgICBtZXNzYWdlVGVtcGxhdGU6ICdcXCclZXJyb3IlXFwnJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -131,6 +131,9 @@ class TruMergeDataSet {
131
131
  clearAll = () => {
132
132
  this._data = {};
133
133
  };
134
+ isEmpty = () => {
135
+ return Object.keys(this._data).length === 0;
136
+ };
134
137
  constructor() { }
135
138
  }
136
139
 
@@ -2420,12 +2423,13 @@ class TruValidatorFactory {
2420
2423
  return true;
2421
2424
  }
2422
2425
  satisfiesMergeValidation = (value, context) => {
2423
- var mergeData = JSON.parse(context.entity.Merge_Data);
2424
- if (!mergeData)
2426
+ var mergeData = context.entity.Merge_Data_Set;
2427
+ if (mergeData.isEmpty())
2425
2428
  return true;
2426
- if (mergeData.hasOwnProperty(context.propertyName)) {
2427
- var mergeValue = mergeData[context.propertyName].hid ? mergeData[context.propertyName].hid : mergeData[context.propertyName].value;
2428
- context.error = mergeData[context.propertyName].modifiedBy + ' changed ' + context.propertyName + ' to ' + mergeValue + '.';
2429
+ let targetProperty = mergeData.get(context.propertyName);
2430
+ if (targetProperty) {
2431
+ var mergeValue = targetProperty.hid ? targetProperty.hid : targetProperty.value;
2432
+ context.error = targetProperty.modifiedBy + ' changed ' + context.propertyName + ' to ' + mergeValue + '.';
2429
2433
  return false;
2430
2434
  }
2431
2435
  return true;