occam-file-system 5.0.89 → 5.0.91

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.
@@ -42,44 +42,57 @@ function moveEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryP
42
42
  (0, _removeProjectEntries.removeEntryOperation)(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
43
43
  return;
44
44
  }
45
- if (sourceEntryPath === targetEntryPath) {
45
+ var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
46
+ entryDirectory ? moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
47
+ }
48
+ function moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
49
+ var sourceFilePath = sourceEntryPath, targetFilePath = targetEntryPath; ///
50
+ if (sourceFilePath === targetFilePath) {
46
51
  callback(sourceEntryPath, targetEntryPath);
47
52
  return;
48
53
  }
49
- var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), sourceEntryExists = checkEntryExists(absoluteSourceEntryPath);
50
- if (!sourceEntryExists) {
51
- targetEntryPath = null;
54
+ var absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath), sourceFileExists = checkEntryExists(absoluteSourceFilePath);
55
+ if (!sourceFileExists) {
56
+ sourceEntryPath = null;
52
57
  callback(sourceEntryPath, targetEntryPath);
53
58
  return;
54
59
  }
55
- var entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
56
- entryDirectory ? moveDirectory(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : moveFile(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
57
- }
58
- function moveFile(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
59
- var sourceFilePath = sourceEntryPath, targetFilePath = targetEntryPath, absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath), absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath), targetFileExists = checkEntryExists(absoluteTargetFilePath);
60
+ var absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath), targetFileExists = checkEntryExists(absoluteTargetFilePath);
60
61
  if (targetFileExists) {
61
- sourceEntryPath = null;
62
+ targetEntryPath = sourceEntryPath; ///
62
63
  callback(sourceEntryPath, targetEntryPath);
63
64
  return;
64
65
  }
65
66
  (0, _fsExtra.move)(absoluteSourceFilePath, absoluteTargetFilePath, function(error) {
66
67
  if (error) {
67
- sourceEntryPath = null;
68
+ targetEntryPath = sourceEntryPath; ///
68
69
  }
69
70
  callback(sourceEntryPath, targetEntryPath);
70
71
  });
71
72
  }
72
- function moveDirectory(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
73
- var sourceDirectoryPath = sourceEntryPath, targetDirectoryPath = targetEntryPath, absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath), absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath), sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
74
- if (!sourceDirectoryEmpty) {
73
+ function moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
74
+ var sourceDirectoryPath = sourceEntryPath, targetDirectoryPath = targetEntryPath; //
75
+ if (sourceDirectoryPath === targetDirectoryPath) {
76
+ callback(sourceEntryPath, targetEntryPath);
77
+ return;
78
+ }
79
+ var absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath), sourceDirectoryExists = checkEntryExists(absoluteSourceDirectoryPath);
80
+ if (!sourceDirectoryExists) {
75
81
  sourceEntryPath = null;
76
82
  callback(sourceEntryPath, targetEntryPath);
77
83
  return;
78
84
  }
85
+ var sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
86
+ if (!sourceDirectoryEmpty) {
87
+ targetEntryPath = sourceEntryPath; ///
88
+ callback(sourceEntryPath, targetEntryPath);
89
+ return;
90
+ }
91
+ var absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
79
92
  if (targetDirectoryExists) {
80
93
  (0, _fsExtra.remove)(absoluteSourceDirectoryPath, function(error) {
81
94
  if (error) {
82
- sourceEntryPath = null;
95
+ targetEntryPath = sourceEntryPath; ///
83
96
  }
84
97
  callback(sourceEntryPath, targetEntryPath);
85
98
  });
@@ -87,10 +100,10 @@ function moveDirectory(sourceEntryPath, targetEntryPath, projectsDirectoryPath,
87
100
  }
88
101
  (0, _fsExtra.move)(absoluteSourceDirectoryPath, absoluteTargetDirectoryPath, function(error) {
89
102
  if (error) {
90
- sourceEntryPath = null;
103
+ targetEntryPath = sourceEntryPath; ///
91
104
  }
92
105
  callback(sourceEntryPath, targetEntryPath);
93
106
  });
94
107
  }
95
108
 
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tb3ZlUHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1vdmUsIHJlbW92ZSB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuaW1wb3J0IHsgcmVtb3ZlRW50cnlPcGVyYXRpb24gfSBmcm9tIFwiLi9yZW1vdmVQcm9qZWN0RW50cmllc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRW50cnlEaXJlY3RvcnksIGlzRGlyZWN0b3J5RW1wdHkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb24sXG4gICAgICAgIHNvdXJjZUVudHJ5UGF0aHMgPSBbXSxcblx0XHQgICAgdGFyZ2V0RW50cnlQYXRocyA9IFtdLFxuICAgICAgICBkb25lID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICAgICAgICBzb3VyY2VFbnRyeVBhdGhzLFxuICAgICAgICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBjYWxsYmFjayhqc29uKTtcbiAgICAgICAgfTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSA9PiB7XG4gICAgICAgIHNvdXJjZUVudHJ5UGF0aHMucHVzaChzb3VyY2VFbnRyeVBhdGgpO1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRvbmVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBpZiAodGFyZ2V0RW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgcmVtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHNvdXJjZUVudHJ5UGF0aCA9PT0gdGFyZ2V0RW50cnlQYXRoKSB7XG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRW50cnlQYXRoKSxcbiAgICAgICAgc291cmNlRW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRW50cnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZUVudHJ5RXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIG1vdmVEaXJlY3Rvcnkoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIDpcbiAgICAgIG1vdmVGaWxlKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gbW92ZUZpbGUoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgdGFyZ2V0RmlsZVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VGaWxlUGF0aCksXG4gICAgICAgIGFic29sdXRlVGFyZ2V0RmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RmlsZVBhdGgpLFxuICAgICAgICB0YXJnZXRGaWxlRXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVRhcmdldEZpbGVQYXRoKTtcblxuICBpZiAodGFyZ2V0RmlsZUV4aXN0cykge1xuICAgIHNvdXJjZUVudHJ5UGF0aCA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBtb3ZlKGFic29sdXRlU291cmNlRmlsZVBhdGgsIGFic29sdXRlVGFyZ2V0RmlsZVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgc291cmNlRW50cnlQYXRoID0gbnVsbDtcbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBtb3ZlRGlyZWN0b3J5KHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHNvdXJjZURpcmVjdG9yeVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsIC8vL1xuICAgICAgICB0YXJnZXREaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoLCAvL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRGlyZWN0b3J5UGF0aCksXG4gICAgICAgIGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCB0YXJnZXREaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgdGFyZ2V0RGlyZWN0b3J5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgpLFxuICAgICAgICBzb3VyY2VEaXJlY3RvcnlFbXB0eSA9IGlzRGlyZWN0b3J5RW1wdHkoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUVtcHR5KSB7XG4gICAgc291cmNlRW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0YXJnZXREaXJlY3RvcnlFeGlzdHMpIHtcbiAgICByZW1vdmUoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBtb3ZlKGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHNvdXJjZUVudHJ5UGF0aCA9IG51bGw7XG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJtb3ZlUHJvamVjdEVudHJpZXMiLCJtb3ZlRW50cnlPcGVyYXRpb24iLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsImNoZWNrRW50cnlFeGlzdHMiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiaXNFbnRyeURpcmVjdG9yeSIsImlzRGlyZWN0b3J5RW1wdHkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsInNvdXJjZUVudHJ5UGF0aHMiLCJ0YXJnZXRFbnRyeVBhdGhzIiwiZG9uZSIsImFzeW5jaHJvbm91c0ZvckVhY2giLCJzb3VyY2VFbnRyeVBhdGgiLCJ0YXJnZXRFbnRyeVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsIm5leHQiLCJpbmRleCIsInB1c2giLCJyZW1vdmVFbnRyeU9wZXJhdGlvbiIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlFeGlzdHMiLCJtb3ZlRGlyZWN0b3J5IiwibW92ZUZpbGUiLCJzb3VyY2VGaWxlUGF0aCIsInRhcmdldEZpbGVQYXRoIiwiYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCIsImFic29sdXRlVGFyZ2V0RmlsZVBhdGgiLCJ0YXJnZXRGaWxlRXhpc3RzIiwibW92ZSIsImVycm9yIiwic291cmNlRGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlFeGlzdHMiLCJzb3VyY2VEaXJlY3RvcnlFbXB0eSIsInJlbW92ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBV0EsT0F5QkM7ZUF6QnVCQTs7SUEyQlJDLGtCQUFrQjtlQUFsQkE7Ozt1QkFwQ2E7eUJBQ3NCO3dCQUVmO29DQUNDO0FBRXJDLElBQU0sQUFBRUMsbUJBQXFCQyx3QkFBYSxDQUFsQ0Qsa0JBQ0FFLG1CQUF5REMsOEJBQW1CLENBQTVFRCxrQkFBa0JFLG1CQUF1Q0QsOEJBQW1CLENBQTFEQyxrQkFBa0JDLG1CQUFxQkYsOEJBQW1CLENBQXhDRTtBQUU3QixTQUFTUCxtQkFBbUJRLHFCQUFxQixFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRTtJQUNoRixJQUFNLEFBQUVDLFdBQWFGLEtBQWJFLFVBQ0ZDLG1CQUFtQixFQUFFLEVBQ3ZCQyxtQkFBbUIsRUFBRSxFQUNuQkMsT0FBTyxXQUFNO1FBQ1gsSUFBTUwsU0FBTztZQUNYRyxrQkFBQUE7WUFDQUMsa0JBQUFBO1FBQ0Y7UUFFQUgsU0FBU0Q7SUFDWDtJQUVOTSxJQUFBQSw2QkFBbUIsRUFDakJKLFVBQ0EsU0FBQ0ssaUJBQWlCQyxpQkFBaUJDLGdCQUFnQkMsTUFBTUwsTUFBTU0sT0FBVTtRQUN2RW5CLG1CQUFtQmUsaUJBQWlCQyxpQkFBaUJULHVCQUF1QixTQUFDUSxpQkFBaUJDLGlCQUFvQjtZQUNoSEwsaUJBQWlCUyxJQUFJLENBQUNMO1lBQ3RCSCxpQkFBaUJRLElBQUksQ0FBQ0o7WUFFdEJFO1FBQ0Y7SUFDRixHQUNBTDtBQUVKO0FBRU8sU0FBU2IsbUJBQW1CZSxlQUFlLEVBQUVDLGVBQWUsRUFBRVQscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUNwRyxJQUFJTyxvQkFBb0IsSUFBSSxFQUFFO1FBQzVCSyxJQUFBQSwwQ0FBb0IsRUFBQ04saUJBQWlCQyxpQkFBaUJULHVCQUF1QkU7UUFFOUU7SUFDRixDQUFDO0lBRUQsSUFBSU0sb0JBQW9CQyxpQkFBaUI7UUFDdkNQLFNBQVNNLGlCQUFpQkM7UUFFMUI7SUFDRixDQUFDO0lBRUQsSUFBTU0sMEJBQTBCckIsaUJBQWlCTSx1QkFBdUJRLGtCQUNsRVEsb0JBQW9CcEIsaUJBQWlCbUI7SUFFM0MsSUFBSSxDQUFDQyxtQkFBbUI7UUFDdEJQLGtCQUFrQixJQUFJO1FBRXRCUCxTQUFTTSxpQkFBaUJDO1FBRTFCO0lBQ0YsQ0FBQztJQUVELElBQU1DLGlCQUFpQlosaUJBQWlCaUI7SUFFeENMLGlCQUNFTyxjQUFjVCxpQkFBaUJDLGlCQUFpQlQsdUJBQXVCRSxZQUNyRWdCLFNBQVNWLGlCQUFpQkMsaUJBQWlCVCx1QkFBdUJFLFNBQVM7QUFDakY7QUFFQSxTQUFTZ0IsU0FBU1YsZUFBZSxFQUFFQyxlQUFlLEVBQUVULHFCQUFxQixFQUFFRSxRQUFRLEVBQUU7SUFDbkYsSUFBTWlCLGlCQUFpQlgsaUJBQ2pCWSxpQkFBaUJYLGlCQUNqQlkseUJBQXlCM0IsaUJBQWlCTSx1QkFBdUJtQixpQkFDakVHLHlCQUF5QjVCLGlCQUFpQk0sdUJBQXVCb0IsaUJBQ2pFRyxtQkFBbUIzQixpQkFBaUIwQjtJQUUxQyxJQUFJQyxrQkFBa0I7UUFDcEJmLGtCQUFrQixJQUFJO1FBRXRCTixTQUFTTSxpQkFBaUJDO1FBRTFCO0lBQ0YsQ0FBQztJQUVEZSxJQUFBQSxhQUFJLEVBQUNILHdCQUF3QkMsd0JBQXdCLFNBQUNHLE9BQVU7UUFDOUQsSUFBSUEsT0FBTztZQUNUakIsa0JBQWtCLElBQUk7UUFDeEIsQ0FBQztRQUVETixTQUFTTSxpQkFBaUJDO0lBQzVCO0FBQ0Y7QUFFQSxTQUFTUSxjQUFjVCxlQUFlLEVBQUVDLGVBQWUsRUFBRVQscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUN4RixJQUFNd0Isc0JBQXNCbEIsaUJBQ3RCbUIsc0JBQXNCbEIsaUJBQ3RCbUIsOEJBQThCbEMsaUJBQWlCTSx1QkFBdUIwQixzQkFDdEVHLDhCQUE4Qm5DLGlCQUFpQk0sdUJBQXVCMkIsc0JBQ3RFRyx3QkFBd0JsQyxpQkFBaUJpQyw4QkFDekNFLHVCQUF1QmhDLGlCQUFpQjZCO0lBRTlDLElBQUksQ0FBQ0csc0JBQXNCO1FBQ3pCdkIsa0JBQWtCLElBQUk7UUFFdEJOLFNBQVNNLGlCQUFpQkM7UUFFMUI7SUFDRixDQUFDO0lBRUQsSUFBSXFCLHVCQUF1QjtRQUN6QkUsSUFBQUEsZUFBTSxFQUFDSiw2QkFBNkIsU0FBQ0gsT0FBVTtZQUM3QyxJQUFJQSxPQUFPO2dCQUNUakIsa0JBQWtCLElBQUk7WUFDeEIsQ0FBQztZQUVETixTQUFTTSxpQkFBaUJDO1FBQzVCO1FBRUE7SUFDRixDQUFDO0lBRURlLElBQUFBLGFBQUksRUFBQ0ksNkJBQTZCQyw2QkFBNkIsU0FBQ0osT0FBVTtRQUN4RSxJQUFJQSxPQUFPO1lBQ1RqQixrQkFBa0IsSUFBSTtRQUN4QixDQUFDO1FBRUROLFNBQVNNLGlCQUFpQkM7SUFDNUI7QUFDRiJ9
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tb3ZlUHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG1vdmUsIHJlbW92ZSB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuaW1wb3J0IHsgcmVtb3ZlRW50cnlPcGVyYXRpb24gfSBmcm9tIFwiLi9yZW1vdmVQcm9qZWN0RW50cmllc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRW50cnlEaXJlY3RvcnksIGlzRGlyZWN0b3J5RW1wdHkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb24sXG4gICAgICAgIHNvdXJjZUVudHJ5UGF0aHMgPSBbXSxcblx0XHQgICAgdGFyZ2V0RW50cnlQYXRocyA9IFtdLFxuICAgICAgICBkb25lID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICAgICAgICBzb3VyY2VFbnRyeVBhdGhzLFxuICAgICAgICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBjYWxsYmFjayhqc29uKTtcbiAgICAgICAgfTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSA9PiB7XG4gICAgICAgIHNvdXJjZUVudHJ5UGF0aHMucHVzaChzb3VyY2VFbnRyeVBhdGgpO1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRvbmVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBpZiAodGFyZ2V0RW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgcmVtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRW50cnlQYXRoKSxcbiAgICAgICAgZW50cnlEaXJlY3RvcnkgPSBpc0VudHJ5RGlyZWN0b3J5KGFic29sdXRlU291cmNlRW50cnlQYXRoKTtcblxuICBlbnRyeURpcmVjdG9yeSA/XG4gICAgbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VGaWxlUGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgIC8vL1xuICAgICAgICB0YXJnZXRGaWxlUGF0aCA9IHRhcmdldEVudHJ5UGF0aDsgIC8vL1xuXG4gIGlmIChzb3VyY2VGaWxlUGF0aCA9PT0gdGFyZ2V0RmlsZVBhdGgpIHtcbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUZpbGVQYXRoKSxcbiAgICAgICAgc291cmNlRmlsZUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VGaWxlRXhpc3RzKSB7XG4gICAgc291cmNlRW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGFic29sdXRlVGFyZ2V0RmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RmlsZVBhdGgpLFxuICAgICAgICB0YXJnZXRGaWxlRXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVRhcmdldEZpbGVQYXRoKTtcblxuICBpZiAodGFyZ2V0RmlsZUV4aXN0cykge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbW92ZShhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoLCBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG1vdmVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRGlyZWN0b3J5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgLy8vXG4gICAgICAgIHRhcmdldERpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGg7IC8vXG5cbiAgaWYgKHNvdXJjZURpcmVjdG9yeVBhdGggPT09IHRhcmdldERpcmVjdG9yeVBhdGgpIHtcbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHNvdXJjZURpcmVjdG9yeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUV4aXN0cykge1xuICAgIHNvdXJjZUVudHJ5UGF0aCA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzb3VyY2VEaXJlY3RvcnlFbXB0eSA9IGlzRGlyZWN0b3J5RW1wdHkoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUVtcHR5KSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHRhcmdldERpcmVjdG9yeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoKTtcblxuICBpZiAodGFyZ2V0RGlyZWN0b3J5RXhpc3RzKSB7XG4gICAgcmVtb3ZlKGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgKGVycm9yKSA9PiB7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgICB9XG5cbiAgICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgICB9KTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIG1vdmUoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoLCBhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJtb3ZlUHJvamVjdEVudHJpZXMiLCJtb3ZlRW50cnlPcGVyYXRpb24iLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsImNoZWNrRW50cnlFeGlzdHMiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiaXNFbnRyeURpcmVjdG9yeSIsImlzRGlyZWN0b3J5RW1wdHkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsInNvdXJjZUVudHJ5UGF0aHMiLCJ0YXJnZXRFbnRyeVBhdGhzIiwiZG9uZSIsImFzeW5jaHJvbm91c0ZvckVhY2giLCJzb3VyY2VFbnRyeVBhdGgiLCJ0YXJnZXRFbnRyeVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsIm5leHQiLCJpbmRleCIsInB1c2giLCJyZW1vdmVFbnRyeU9wZXJhdGlvbiIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwibW92ZURpcmVjdG9yeU9wZXJhdGlvbiIsIm1vdmVGaWxlT3BlcmF0aW9uIiwic291cmNlRmlsZVBhdGgiLCJ0YXJnZXRGaWxlUGF0aCIsImFic29sdXRlU291cmNlRmlsZVBhdGgiLCJzb3VyY2VGaWxlRXhpc3RzIiwiYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCIsInRhcmdldEZpbGVFeGlzdHMiLCJtb3ZlIiwiZXJyb3IiLCJzb3VyY2VEaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5UGF0aCIsImFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCIsInNvdXJjZURpcmVjdG9yeUV4aXN0cyIsInNvdXJjZURpcmVjdG9yeUVtcHR5IiwiYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5RXhpc3RzIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFXQSxPQXlCQztlQXpCdUJBOztJQTJCUkMsa0JBQWtCO2VBQWxCQTs7O3VCQXBDYTt5QkFDc0I7d0JBRWY7b0NBQ0M7QUFFckMsSUFBTSxBQUFFQyxtQkFBcUJDLHdCQUFhLENB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
@@ -37,46 +37,52 @@ function removeProjectEntries(projectsDirectoryPath, json, callback) {
37
37
  }, done);
38
38
  }
39
39
  function removeEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
40
- if (sourceEntryPath === targetEntryPath) {
40
+ var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
41
+ entryDirectory ? removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
42
+ }
43
+ function removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
44
+ var sourceFilePath = sourceEntryPath, targetFilePath = targetEntryPath; ///
45
+ if (sourceFilePath === targetFilePath) {
41
46
  callback(sourceEntryPath, targetEntryPath);
42
47
  return;
43
48
  }
44
- var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), entryExists = checkEntryExists(absoluteSourceEntryPath);
45
- if (!entryExists) {
46
- targetEntryPath = null;
49
+ var absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath), sourceFileExists = checkEntryExists(absoluteSourceFilePath);
50
+ if (!sourceFileExists) {
51
+ sourceEntryPath = null;
47
52
  callback(sourceEntryPath, targetEntryPath);
48
53
  return;
49
54
  }
50
- var entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
51
- entryDirectory ? removeDirectory(sourceEntryPath, projectsDirectoryPath, callback) : removeFile(sourceEntryPath, projectsDirectoryPath, callback);
52
- }
53
- function removeFile(sourceEntryPath, projectsDirectoryPath, callback) {
54
- var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath);
55
- (0, _fsExtra.remove)(absoluteSourceEntryPath, function(error) {
56
- var targetEntryPath = null;
55
+ (0, _fsExtra.remove)(absoluteSourceFilePath, function(error) {
57
56
  if (error) {
58
- sourceEntryPath = null;
59
- callback(sourceEntryPath, targetEntryPath);
60
- return;
57
+ targetEntryPath = sourceEntryPath; ///
61
58
  }
62
59
  callback(sourceEntryPath, targetEntryPath);
63
60
  });
64
61
  }
65
- function removeDirectory(sourceEntryPath, projectsDirectoryPath, callback) {
66
- var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceEntryPath);
67
- if (!sourceDirectoryEmpty) {
68
- var targetEntryPath = null;
62
+ function removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
63
+ var sourceDirectoryPath = sourceEntryPath, targetDirectoryPath = targetEntryPath; ///
64
+ if (sourceDirectoryPath === targetDirectoryPath) {
65
+ callback(sourceEntryPath, targetEntryPath);
66
+ return;
67
+ }
68
+ var absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath), sourceDirectoryExists = checkEntryExists(absoluteSourceDirectoryPath);
69
+ if (!sourceDirectoryExists) {
69
70
  sourceEntryPath = null;
70
71
  callback(sourceEntryPath, targetEntryPath);
71
72
  return;
72
73
  }
73
- (0, _fsExtra.remove)(absoluteSourceEntryPath, function(error) {
74
- var targetEntryPath = null;
74
+ var sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
75
+ if (!sourceDirectoryEmpty) {
76
+ targetEntryPath = sourceEntryPath; ///
77
+ callback(sourceEntryPath, targetEntryPath);
78
+ return;
79
+ }
80
+ (0, _fsExtra.remove)(absoluteSourceDirectoryPath, function(error) {
75
81
  if (error) {
76
- sourceEntryPath = null;
82
+ targetEntryPath = sourceEntryPath; ///
77
83
  }
78
84
  callback(sourceEntryPath, targetEntryPath);
79
85
  });
80
86
  }
81
87
 
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW1vdmVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmVtb3ZlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBhc3luY2hyb25vdXNGb3JFYWNoIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhdGhNYXBzXCI7XG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcbiAgICAgIHsgY2hlY2tFbnRyeUV4aXN0cywgaXNFbnRyeURpcmVjdG9yeSwgaXNEaXJlY3RvcnlFbXB0eSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVtb3ZlUHJvamVjdEVudHJpZXMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBqc29uLCBjYWxsYmFjaykge1xuICBjb25zdCB7IHBhdGhNYXBzIH0gPSBqc29uLFxuICAgICAgICBzb3VyY2VFbnRyeVBhdGhzID0gW10sXG5cdFx0ICAgIHRhcmdldEVudHJ5UGF0aHMgPSBbXSxcbiAgICAgICAgZG9uZSA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBqc29uID0ge1xuICAgICAgICAgICAgc291cmNlRW50cnlQYXRocyxcbiAgICAgICAgICAgIHRhcmdldEVudHJ5UGF0aHNcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY2FsbGJhY2soanNvbik7XG4gICAgICAgIH07XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChcbiAgICBwYXRoTWFwcyxcbiAgICAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBuZXh0LCBkb25lLCBpbmRleCkgPT4ge1xuICAgICAgcmVtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSA9PiB7XG4gICAgICAgIHNvdXJjZUVudHJ5UGF0aHMucHVzaChzb3VyY2VFbnRyeVBhdGgpO1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRvbmVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGlmIChzb3VyY2VFbnRyeVBhdGggPT09IHRhcmdldEVudHJ5UGF0aCkge1xuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCksXG4gICAgICAgIGVudHJ5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgaWYgKCFlbnRyeUV4aXN0cykge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgpO1xuXG4gIGVudHJ5RGlyZWN0b3J5ID9cbiAgICByZW1vdmVEaXJlY3Rvcnkoc291cmNlRW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA6XG4gICAgICByZW1vdmVGaWxlKHNvdXJjZUVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZpbGUoc291cmNlRW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgcmVtb3ZlKGFic29sdXRlU291cmNlRW50cnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBjb25zdCB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBzb3VyY2VFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVEaXJlY3Rvcnkoc291cmNlRW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCksXG4gICAgICAgIHNvdXJjZURpcmVjdG9yeUVtcHR5ID0gaXNEaXJlY3RvcnlFbXB0eShhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VEaXJlY3RvcnlFbXB0eSkge1xuICAgIGNvbnN0IHRhcmdldEVudHJ5UGF0aCA9IG51bGw7XG5cbiAgICBzb3VyY2VFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVtb3ZlKGFic29sdXRlU291cmNlRW50cnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBjb25zdCB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBzb3VyY2VFbnRyeVBhdGggPSBudWxsO1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsicmVtb3ZlUHJvamVjdEVudHJpZXMiLCJyZW1vdmVFbnRyeU9wZXJhdGlvbiIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwiY2hlY2tFbnRyeUV4aXN0cyIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJpc0VudHJ5RGlyZWN0b3J5IiwiaXNEaXJlY3RvcnlFbXB0eSIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImpzb24iLCJjYWxsYmFjayIsInBhdGhNYXBzIiwic291cmNlRW50cnlQYXRocyIsInRhcmdldEVudHJ5UGF0aHMiLCJkb25lIiwiYXN5bmNocm9ub3VzRm9yRWFjaCIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwibmV4dCIsImluZGV4IiwicHVzaCIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwiZW50cnlFeGlzdHMiLCJyZW1vdmVEaXJlY3RvcnkiLCJyZW1vdmVGaWxlIiwicmVtb3ZlIiwiZXJyb3IiLCJzb3VyY2VEaXJlY3RvcnlFbXB0eSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBVUEsT0F5QkM7ZUF6QnVCQTs7SUEyQlJDLG9CQUFvQjtlQUFwQkE7Ozt1QkFuQ087eUJBQzRCO3dCQUVmO0FBRXBDLElBQU0sQUFBRUMsbUJBQXFCQyx3QkFBYSxDQUFsQ0Qsa0JBQ0FFLG1CQUF5REMsOEJBQW1CLENBQTVFRCxrQkFBa0JFLG1CQUF1Q0QsOEJBQW1CLENBQTFEQyxrQkFBa0JDLG1CQUFxQkYsOEJBQW1CLENBQXhDRTtBQUU3QixTQUFTUCxxQkFBcUJRLHFCQUFxQixFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRTtJQUNsRixJQUFNLEFBQUVDLFdBQWFGLEtBQWJFLFVBQ0ZDLG1CQUFtQixFQUFFLEVBQ3ZCQyxtQkFBbUIsRUFBRSxFQUNuQkMsT0FBTyxXQUFNO1FBQ1gsSUFBTUwsU0FBTztZQUNYRyxrQkFBQUE7WUFDQUMsa0JBQUFBO1FBQ0Y7UUFFQUgsU0FBU0Q7SUFDWDtJQUVOTSxJQUFBQSw2QkFBbUIsRUFDakJKLFVBQ0EsU0FBQ0ssaUJBQWlCQyxpQkFBaUJDLGdCQUFnQkMsTUFBTUwsTUFBTU0sT0FBVTtRQUN2RW5CLHFCQUFxQmUsaUJBQWlCQyxpQkFBaUJULHVCQUF1QixTQUFDUSxpQkFBaUJDLGlCQUFvQjtZQUNsSEwsaUJBQWlCUyxJQUFJLENBQUNMO1lBQ3RCSCxpQkFBaUJRLElBQUksQ0FBQ0o7WUFFdEJFO1FBQ0Y7SUFDRixHQUNBTDtBQUVKO0FBRU8sU0FBU2IscUJBQXFCZSxlQUFlLEVBQUVDLGVBQWUsRUFBRVQscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUN0RyxJQUFJTSxvQkFBb0JDLGlCQUFpQjtRQUN2Q1AsU0FBU00saUJBQWlCQztRQUUxQjtJQUNGLENBQUM7SUFFRCxJQUFNSywwQkFBMEJwQixpQkFBaUJNLHVCQUF1QlEsa0JBQ2xFTyxjQUFjbkIsaUJBQWlCa0I7SUFFckMsSUFBSSxDQUFDQyxhQUFhO1FBQ2hCTixrQkFBa0IsSUFBSTtRQUV0QlAsU0FBU00saUJBQWlCQztRQUUxQjtJQUNGLENBQUM7SUFFRCxJQUFNQyxpQkFBaUJaLGlCQUFpQmdCO0lBRXhDSixpQkFDRU0sZ0JBQWdCUixpQkFBaUJSLHVCQUF1QkUsWUFDdERlLFdBQVdULGlCQUFpQlIsdUJBQXVCRSxTQUFTO0FBQ2xFO0FBRUEsU0FBU2UsV0FBV1QsZUFBZSxFQUFFUixxQkFBcUIsRUFBRUUsUUFBUSxFQUFFO0lBQ3BFLElBQU1ZLDBCQUEwQnBCLGlCQUFpQk0sdUJBQXVCUTtJQUV4RVUsSUFBQUEsZUFBTSxFQUFDSix5QkFBeUIsU0FBQ0ssT0FBVTtRQUN6QyxJQUFNVixrQkFBa0IsSUFBSTtRQUU1QixJQUFJVSxPQUFPO1lBQ1RYLGtCQUFrQixJQUFJO1lBRXRCTixTQUFTTSxpQkFBaUJDO1lBRTFCO1FBQ0YsQ0FBQztRQUVEUCxTQUFTTSxpQkFBaUJDO0lBQzVCO0FBQ0Y7QUFFQSxTQUFTTyxnQkFBZ0JSLGVBQWUsRUFBRVIscUJBQXFCLEVBQUVFLFFBQVEsRUFBRTtJQUN6RSxJQUFNWSwwQkFBMEJwQixpQkFBaUJNLHVCQUF1QlEsa0JBQ2xFWSx1QkFBdUJyQixpQkFBaUJlO0lBRTlDLElBQUksQ0FBQ00sc0JBQXNCO1FBQ3pCLElBQU1YLGtCQUFrQixJQUFJO1FBRTVCRCxrQkFBa0IsSUFBSTtRQUV0Qk4sU0FBU00saUJBQWlCQztRQUUxQjtJQUNGLENBQUM7SUFFRFMsSUFBQUEsZUFBTSxFQUFDSix5QkFBeUIsU0FBQ0ssT0FBVTtRQUN6QyxJQUFNVixrQkFBa0IsSUFBSTtRQUU1QixJQUFJVSxPQUFPO1lBQ1RYLGtCQUFrQixJQUFJO1FBQ3hCLENBQUM7UUFFRE4sU0FBU00saUJBQWlCQztJQUM1QjtBQUNGIn0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW1vdmVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmVtb3ZlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBhc3luY2hyb25vdXNGb3JFYWNoIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhdGhNYXBzXCI7XG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcbiAgICAgIHsgY2hlY2tFbnRyeUV4aXN0cywgaXNFbnRyeURpcmVjdG9yeSwgaXNEaXJlY3RvcnlFbXB0eSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVtb3ZlUHJvamVjdEVudHJpZXMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBqc29uLCBjYWxsYmFjaykge1xuICBjb25zdCB7IHBhdGhNYXBzIH0gPSBqc29uLFxuICAgICAgICBzb3VyY2VFbnRyeVBhdGhzID0gW10sXG5cdFx0ICAgIHRhcmdldEVudHJ5UGF0aHMgPSBbXSxcbiAgICAgICAgZG9uZSA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBqc29uID0ge1xuICAgICAgICAgICAgc291cmNlRW50cnlQYXRocyxcbiAgICAgICAgICAgIHRhcmdldEVudHJ5UGF0aHNcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY2FsbGJhY2soanNvbik7XG4gICAgICAgIH07XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChcbiAgICBwYXRoTWFwcyxcbiAgICAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBuZXh0LCBkb25lLCBpbmRleCkgPT4ge1xuICAgICAgcmVtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSA9PiB7XG4gICAgICAgIHNvdXJjZUVudHJ5UGF0aHMucHVzaChzb3VyY2VFbnRyeVBhdGgpO1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRvbmVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCksXG4gICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIHJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgcmVtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgdGFyZ2V0RmlsZVBhdGggPSB0YXJnZXRFbnRyeVBhdGg7ICAvLy9cblxuICBpZiAoc291cmNlRmlsZVBhdGggPT09IHRhcmdldEZpbGVQYXRoKSB7XG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VGaWxlUGF0aCksXG4gICAgICAgIHNvdXJjZUZpbGVFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRmlsZVBhdGgpO1xuXG4gIGlmICghc291cmNlRmlsZUV4aXN0cykge1xuICAgIHNvdXJjZUVudHJ5UGF0aCA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICByZW1vdmUoYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRGlyZWN0b3J5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgLy8vXG4gICAgICAgIHRhcmdldERpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGg7IC8vL1xuXG4gIGlmIChzb3VyY2VEaXJlY3RvcnlQYXRoID09PSB0YXJnZXREaXJlY3RvcnlQYXRoKSB7XG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpLFxuICAgICAgICBzb3VyY2VEaXJlY3RvcnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VEaXJlY3RvcnlFeGlzdHMpIHtcbiAgICBzb3VyY2VFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc291cmNlRGlyZWN0b3J5RW1wdHkgPSBpc0RpcmVjdG9yeUVtcHR5KGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VEaXJlY3RvcnlFbXB0eSkge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVtb3ZlKGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbInJlbW92ZVByb2plY3RFbnRyaWVzIiwicmVtb3ZlRW50cnlPcGVyYXRpb24iLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsImNoZWNrRW50cnlFeGlzdHMiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiaXNFbnRyeURpcmVjdG9yeSIsImlzRGlyZWN0b3J5RW1wdHkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsInNvdXJjZUVudHJ5UGF0aHMiLCJ0YXJnZXRFbnRyeVBhdGhzIiwiZG9uZSIsImFzeW5jaHJvbm91c0ZvckVhY2giLCJzb3VyY2VFbnRyeVBhdGgiLCJ0YXJnZXRFbnRyeVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsIm5leHQiLCJpbmRleCIsInB1c2giLCJhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCIsInJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbiIsInJlbW92ZUZpbGVPcGVyYXRpb24iLCJzb3VyY2VGaWxlUGF0aCIsInRhcmdldEZpbGVQYXRoIiwiYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCIsInNvdXJjZUZpbGVFeGlzdHMiLCJyZW1vdmUiLCJlcnJvciIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoIiwic291cmNlRGlyZWN0b3J5RXhpc3RzIiwic291cmNlRGlyZWN0b3J5RW1wdHkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVVBLE9BeUJDO2VBekJ1QkE7O0lBMkJSQyxvQkFBb0I7ZUFBcEJBOzs7dUJBbkNPO3lCQUM0Qjt3QkFFZjtBQUVwQyxJQUFNLEFBQUVDLG1CQUFxQkMsd0JBQWEsQ0FBbENELGtCQUNBRSxtQkFBeURDLDhCQUFtQixDQUE1RUQsa0JBQWtCRSxtQkFBdUNELDhCQUFtQixDQUExREMsa0JBQWtCQyxtQkFBcUJGLDhCQUFtQixDQUF4Q0U7QUFFN0IsU0FBU1AscUJBQXFCUSxxQkFBcUIsRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUU7SUFDbEYsSUFBTSxBQUFFQyxXQUFhRixLQUFiRSxVQUNGQyxtQkFBbUIsRUFBRSxFQUN2QkMsbUJBQW1CLEVBQUUsRUFDbkJD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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-file-system",
3
3
  "author": "James Smith",
4
- "version": "5.0.89",
4
+ "version": "5.0.91",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-file-system",
7
7
  "description": "Occam's file system functionality.",
@@ -43,39 +43,40 @@ export function moveEntryOperation(sourceEntryPath, targetEntryPath, projectsDir
43
43
  return;
44
44
  }
45
45
 
46
- if (sourceEntryPath === targetEntryPath) {
46
+ const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
47
+ entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
48
+
49
+ entryDirectory ?
50
+ moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) :
51
+ moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
52
+ }
53
+
54
+ function moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
55
+ const sourceFilePath = sourceEntryPath, ///
56
+ targetFilePath = targetEntryPath; ///
57
+
58
+ if (sourceFilePath === targetFilePath) {
47
59
  callback(sourceEntryPath, targetEntryPath);
48
60
 
49
61
  return;
50
62
  }
51
63
 
52
- const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
53
- sourceEntryExists = checkEntryExists(absoluteSourceEntryPath);
64
+ const absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath),
65
+ sourceFileExists = checkEntryExists(absoluteSourceFilePath);
54
66
 
55
- if (!sourceEntryExists) {
56
- targetEntryPath = null;
67
+ if (!sourceFileExists) {
68
+ sourceEntryPath = null;
57
69
 
58
70
  callback(sourceEntryPath, targetEntryPath);
59
71
 
60
72
  return;
61
73
  }
62
74
 
63
- const entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
64
-
65
- entryDirectory ?
66
- moveDirectory(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) :
67
- moveFile(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
68
- }
69
-
70
- function moveFile(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
71
- const sourceFilePath = sourceEntryPath, ///
72
- targetFilePath = targetEntryPath, ///
73
- absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath),
74
- absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath),
75
+ const absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath),
75
76
  targetFileExists = checkEntryExists(absoluteTargetFilePath);
76
77
 
77
78
  if (targetFileExists) {
78
- sourceEntryPath = null;
79
+ targetEntryPath = sourceEntryPath; ///
79
80
 
80
81
  callback(sourceEntryPath, targetEntryPath);
81
82
 
@@ -84,22 +85,27 @@ function moveFile(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callb
84
85
 
85
86
  move(absoluteSourceFilePath, absoluteTargetFilePath, (error) => {
86
87
  if (error) {
87
- sourceEntryPath = null;
88
+ targetEntryPath = sourceEntryPath; ///
88
89
  }
89
90
 
90
91
  callback(sourceEntryPath, targetEntryPath);
91
92
  });
92
93
  }
93
94
 
94
- function moveDirectory(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
95
+ function moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
95
96
  const sourceDirectoryPath = sourceEntryPath, ///
96
- targetDirectoryPath = targetEntryPath, //
97
- absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath),
98
- absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath),
99
- targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath),
100
- sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
97
+ targetDirectoryPath = targetEntryPath; //
101
98
 
102
- if (!sourceDirectoryEmpty) {
99
+ if (sourceDirectoryPath === targetDirectoryPath) {
100
+ callback(sourceEntryPath, targetEntryPath);
101
+
102
+ return;
103
+ }
104
+
105
+ const absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath),
106
+ sourceDirectoryExists = checkEntryExists(absoluteSourceDirectoryPath);
107
+
108
+ if (!sourceDirectoryExists) {
103
109
  sourceEntryPath = null;
104
110
 
105
111
  callback(sourceEntryPath, targetEntryPath);
@@ -107,10 +113,23 @@ function moveDirectory(sourceEntryPath, targetEntryPath, projectsDirectoryPath,
107
113
  return;
108
114
  }
109
115
 
116
+ const sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
117
+
118
+ if (!sourceDirectoryEmpty) {
119
+ targetEntryPath = sourceEntryPath; ///
120
+
121
+ callback(sourceEntryPath, targetEntryPath);
122
+
123
+ return;
124
+ }
125
+
126
+ const absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath),
127
+ targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
128
+
110
129
  if (targetDirectoryExists) {
111
130
  remove(absoluteSourceDirectoryPath, (error) => {
112
131
  if (error) {
113
- sourceEntryPath = null;
132
+ targetEntryPath = sourceEntryPath; ///
114
133
  }
115
134
 
116
135
  callback(sourceEntryPath, targetEntryPath);
@@ -121,7 +140,7 @@ function moveDirectory(sourceEntryPath, targetEntryPath, projectsDirectoryPath,
121
140
 
122
141
  move(absoluteSourceDirectoryPath, absoluteTargetDirectoryPath, (error) => {
123
142
  if (error) {
124
- sourceEntryPath = null;
143
+ targetEntryPath = sourceEntryPath; ///
125
144
  }
126
145
 
127
146
  callback(sourceEntryPath, targetEntryPath);
@@ -36,67 +36,78 @@ export default function removeProjectEntries(projectsDirectoryPath, json, callba
36
36
  }
37
37
 
38
38
  export function removeEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
39
- if (sourceEntryPath === targetEntryPath) {
39
+ const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
40
+ entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
41
+
42
+ entryDirectory ?
43
+ removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) :
44
+ removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
45
+ }
46
+
47
+ function removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
48
+ const sourceFilePath = sourceEntryPath, ///
49
+ targetFilePath = targetEntryPath; ///
50
+
51
+ if (sourceFilePath === targetFilePath) {
40
52
  callback(sourceEntryPath, targetEntryPath);
41
53
 
42
54
  return;
43
55
  }
44
56
 
45
- const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
46
- entryExists = checkEntryExists(absoluteSourceEntryPath);
57
+ const absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath),
58
+ sourceFileExists = checkEntryExists(absoluteSourceFilePath);
47
59
 
48
- if (!entryExists) {
49
- targetEntryPath = null;
60
+ if (!sourceFileExists) {
61
+ sourceEntryPath = null;
50
62
 
51
63
  callback(sourceEntryPath, targetEntryPath);
52
64
 
53
65
  return;
54
66
  }
55
67
 
56
- const entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
68
+ remove(absoluteSourceFilePath, (error) => {
69
+ if (error) {
70
+ targetEntryPath = sourceEntryPath; ///
71
+ }
57
72
 
58
- entryDirectory ?
59
- removeDirectory(sourceEntryPath, projectsDirectoryPath, callback) :
60
- removeFile(sourceEntryPath, projectsDirectoryPath, callback);
73
+ callback(sourceEntryPath, targetEntryPath);
74
+ });
61
75
  }
62
76
 
63
- function removeFile(sourceEntryPath, projectsDirectoryPath, callback) {
64
- const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath);
77
+ function removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
78
+ const sourceDirectoryPath = sourceEntryPath, ///
79
+ targetDirectoryPath = targetEntryPath; ///
65
80
 
66
- remove(absoluteSourceEntryPath, (error) => {
67
- const targetEntryPath = null;
81
+ if (sourceDirectoryPath === targetDirectoryPath) {
82
+ callback(sourceEntryPath, targetEntryPath);
68
83
 
69
- if (error) {
70
- sourceEntryPath = null;
84
+ return;
85
+ }
71
86
 
72
- callback(sourceEntryPath, targetEntryPath);
87
+ const absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath),
88
+ sourceDirectoryExists = checkEntryExists(absoluteSourceDirectoryPath);
73
89
 
74
- return;
75
- }
90
+ if (!sourceDirectoryExists) {
91
+ sourceEntryPath = null;
76
92
 
77
93
  callback(sourceEntryPath, targetEntryPath);
78
- });
79
- }
80
94
 
81
- function removeDirectory(sourceEntryPath, projectsDirectoryPath, callback) {
82
- const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
83
- sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceEntryPath);
95
+ return;
96
+ }
84
97
 
85
- if (!sourceDirectoryEmpty) {
86
- const targetEntryPath = null;
98
+ const sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
87
99
 
88
- sourceEntryPath = null;
100
+ if (!sourceDirectoryEmpty) {
101
+ targetEntryPath = sourceEntryPath; ///
89
102
 
90
103
  callback(sourceEntryPath, targetEntryPath);
91
104
 
92
105
  return;
93
106
  }
94
107
 
95
- remove(absoluteSourceEntryPath, (error) => {
96
- const targetEntryPath = null;
97
-
108
+ remove(absoluteSourceDirectoryPath, (error) => {
98
109
  if (error) {
99
- sourceEntryPath = null;
110
+ targetEntryPath = sourceEntryPath; ///
100
111
  }
101
112
 
102
113
  callback(sourceEntryPath, targetEntryPath);