occam-file-system 6.0.6 → 6.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -35,9 +35,17 @@ The exported functions are:
35
35
  * `loadFile()`
36
36
  * `saveFile()`
37
37
  * `loadFiles()`
38
+ * `loadProject()`
39
+ * `loadRelease()`
38
40
  * `loadProjects()`
41
+ * `loadReleases()`
42
+ * `removeRelease()`
39
43
  * `moveProjectEntries()`
40
44
  * `removeProjectEntries()`
45
+ * `renameProjectEntries()`
46
+ * `createProjectEntries()`
47
+
48
+ Soem utility functions are also exported. See the source for details.
41
49
 
42
50
  Typical usage is as follows:
43
51
 
@@ -25,7 +25,7 @@ _export(exports, {
25
25
  var _necessary = require("necessary");
26
26
  var _pathMaps = require("./utilities/pathMaps");
27
27
  var _removeProjectEntries = require("./removeProjectEntries");
28
- var concatenatePaths = _necessary.pathUtilities.concatenatePaths, pathWithoutBottommostNameFromPath = _necessary.pathUtilities.pathWithoutBottommostNameFromPath, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, renameFileEx = _necessary.fileSystemUtilities.renameFile, renameDirectoryEx = _necessary.fileSystemUtilities.renameDirectory, checkFileExists = _necessary.fileSystemUtilities.checkEntryExists, checkDirectoryExists = _necessary.fileSystemUtilities.checkEntryExists;
28
+ var concatenatePaths = _necessary.pathUtilities.concatenatePaths, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, moveFileEx = _necessary.fileSystemUtilities.moveFile, moveDirectoryEx = _necessary.fileSystemUtilities.moveDirectory;
29
29
  function moveProjectEntries(projectsDirectoryPath, json, callback) {
30
30
  var pathMaps = json.pathMaps;
31
31
  moveEntries(pathMaps, projectsDirectoryPath, function(targetEntryPaths) {
@@ -50,29 +50,19 @@ function moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, pr
50
50
  }
51
51
  function moveDirectory(oldDirectoryPath, newDirectoryPath, callback) {
52
52
  var error = null;
53
- var newDirectoryPathWithoutBottommostName = pathWithoutBottommostNameFromPath(newDirectoryPath), newParentDirectoryPath = newDirectoryPathWithoutBottommostName, newParentDirectoryExists = checkDirectoryExists(newParentDirectoryPath);
54
- if (!newParentDirectoryExists) {
55
- error = "The new '".concat(newDirectoryPath, "' directory's parent directory does not exist.");
56
- } else {
57
- try {
58
- renameDirectoryEx(oldDirectoryPath);
59
- } catch (nativeError) {
60
- error = nativeError; ///
61
- }
53
+ try {
54
+ moveDirectoryEx(oldDirectoryPath);
55
+ } catch (nativeError) {
56
+ error = nativeError; ///
62
57
  }
63
58
  callback(error);
64
59
  }
65
60
  function moveFile(oldFilePath, newFilePath, callback) {
66
61
  var error = null;
67
- var newFilePathWithoutBottommostName = pathWithoutBottommostNameFromPath(newFilePath), newParentDirectoryPath = newFilePathWithoutBottommostName, newParentDirectoryExists = checkFileExists(newParentDirectoryPath);
68
- if (!newParentDirectoryExists) {
69
- error = "The new '".concat(newFilePath, "' file's parent directory does not exist.");
70
- } else {
71
- try {
72
- renameFileEx(oldFilePath, newFilePath);
73
- } catch (nativeError) {
74
- error = nativeError; ///
75
- }
62
+ try {
63
+ moveFileEx(oldFilePath, newFilePath);
64
+ } catch (nativeError) {
65
+ error = nativeError; ///
76
66
  }
77
67
  callback(error);
78
68
  }
@@ -97,7 +87,7 @@ function moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPa
97
87
  var oldFilePath = absoluteSourceFilePath, newFilePath = absoluteTargetFilePath; ///
98
88
  moveFile(oldFilePath, newFilePath, function(error) {
99
89
  if (error) {
100
- targetEntryPath = null;
90
+ targetEntryPath = sourceEntryPath; ///
101
91
  }
102
92
  callback(sourceEntryPath, targetEntryPath);
103
93
  });
@@ -112,7 +102,7 @@ function moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirect
112
102
  var absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
113
103
  if (targetDirectoryExists) {
114
104
  var directoryPath = absoluteSourceDirectoryPath; ///
115
- (0, _removeProjectEntries.removeEntry)(directoryPath, function(error) {
105
+ (0, _removeProjectEntries.removeDirectory)(directoryPath, function(error) {
116
106
  if (error) {
117
107
  targetEntryPath = sourceEntryPath; ///
118
108
  }
@@ -129,4 +119,4 @@ function moveDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirect
129
119
  });
130
120
  }
131
121
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tb3ZlUHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c0ZvckVhY2ggfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcHNcIjtcbmltcG9ydCB7IHJlbW92ZUVudHJ5T3BlcmF0aW9uIH0gZnJvbSBcIi4vcmVtb3ZlUHJvamVjdEVudHJpZXNcIjtcbmltcG9ydCB7IHJlbW92ZUVudHJ5IGFzIHJlbW92ZURpcmVjdG9yeSB9IGZyb20gXCIuL3JlbW92ZVByb2plY3RFbnRyaWVzXCI7XG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocywgcGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZUZyb21QYXRoIH0gPSBwYXRoVXRpbGl0aWVzLFxuICAgICAgeyBpc0RpcmVjdG9yeUVtcHR5LFxuICAgICAgICBjaGVja0VudHJ5RXhpc3RzLFxuICAgICAgICByZW5hbWVGaWxlOiByZW5hbWVGaWxlRXgsXG4gICAgICAgIHJlbmFtZURpcmVjdG9yeTogcmVuYW1lRGlyZWN0b3J5RXgsXG4gICAgICAgIGNoZWNrRW50cnlFeGlzdHM6IGNoZWNrRmlsZUV4aXN0cyxcbiAgICAgICAgY2hlY2tFbnRyeUV4aXN0czogY2hlY2tEaXJlY3RvcnlFeGlzdHMgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb247XG5cbiAgbW92ZUVudHJpZXMocGF0aE1hcHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHRhcmdldEVudHJ5UGF0aHMpID0+IHtcbiAgICBjb25zdCBqc29uID0ge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgIH07XG5cbiAgICBjYWxsYmFjayhqc29uKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGlmICh0YXJnZXRFbnRyeVBhdGggPT09IG51bGwpIHtcbiAgICByZW1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRW50cnlQYXRoKSxcbiAgICAgICAgc291cmNlRW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRW50cnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZUVudHJ5RXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGVudHJ5RGlyZWN0b3J5ID9cbiAgICBtb3ZlRGlyZWN0b3J5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA6XG4gICAgICBtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlRGlyZWN0b3J5KG9sZERpcmVjdG9yeVBhdGgsIG5ld0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGxldCBlcnJvciA9IG51bGw7XG5cbiAgY29uc3QgbmV3RGlyZWN0b3J5UGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZSA9IHBhdGhXaXRob3V0Qm90dG9tbW9zdE5hbWVGcm9tUGF0aChuZXdEaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgbmV3UGFyZW50RGlyZWN0b3J5UGF0aCA9IG5ld0RpcmVjdG9yeVBhdGhXaXRob3V0Qm90dG9tbW9zdE5hbWUsIC8vL1xuICAgICAgICBuZXdQYXJlbnREaXJlY3RvcnlFeGlzdHMgPSBjaGVja0RpcmVjdG9yeUV4aXN0cyhuZXdQYXJlbnREaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIW5ld1BhcmVudERpcmVjdG9yeUV4aXN0cykge1xuICAgIGVycm9yID0gYFRoZSBuZXcgJyR7bmV3RGlyZWN0b3J5UGF0aH0nIGRpcmVjdG9yeSdzIHBhcmVudCBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuYDtcbiAgfSBlbHNlIHtcbiAgICB0cnkge1xuICAgICAgcmVuYW1lRGlyZWN0b3J5RXgob2xkRGlyZWN0b3J5UGF0aCk7XG4gICAgfSBjYXRjaCAobmF0aXZlRXJyb3IpIHtcbiAgICAgIGVycm9yID0gbmF0aXZlRXJyb3I7ICAvLy9cbiAgICB9XG4gIH1cblxuICBjYWxsYmFjayhlcnJvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlRmlsZShvbGRGaWxlUGF0aCwgbmV3RmlsZVBhdGgsIGNhbGxiYWNrKSB7XG4gIGxldCBlcnJvciA9IG51bGw7XG5cbiAgY29uc3QgbmV3RmlsZVBhdGhXaXRob3V0Qm90dG9tbW9zdE5hbWUgPSBwYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lRnJvbVBhdGgobmV3RmlsZVBhdGgpLFxuICAgICAgICBuZXdQYXJlbnREaXJlY3RvcnlQYXRoID0gbmV3RmlsZVBhdGhXaXRob3V0Qm90dG9tbW9zdE5hbWUsIC8vL1xuICAgICAgICBuZXdQYXJlbnREaXJlY3RvcnlFeGlzdHMgPSBjaGVja0ZpbGVFeGlzdHMobmV3UGFyZW50RGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFuZXdQYXJlbnREaXJlY3RvcnlFeGlzdHMpIHtcbiAgICBlcnJvciA9IGBUaGUgbmV3ICcke25ld0ZpbGVQYXRofScgZmlsZSdzIHBhcmVudCBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuYDtcbiAgfSBlbHNlIHtcbiAgICB0cnkge1xuICAgICAgcmVuYW1lRmlsZUV4KG9sZEZpbGVQYXRoLCBuZXdGaWxlUGF0aCk7XG4gICAgfSBjYXRjaCAobmF0aXZlRXJyb3IpIHtcbiAgICAgIGVycm9yID0gbmF0aXZlRXJyb3I7ICAvLy9cbiAgICB9XG4gIH1cblxuICBjYWxsYmFjayhlcnJvcik7XG59XG5cbmZ1bmN0aW9uIG1vdmVFbnRyaWVzKHBhdGhNYXBzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHRhcmdldEVudHJ5UGF0aHMgPSBbXTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgICgpID0+IHtcbiAgICAgIGNhbGxiYWNrKHRhcmdldEVudHJ5UGF0aHMpO1xuICAgIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsIC8vL1xuICAgICAgICB0YXJnZXRGaWxlUGF0aCA9IHRhcmdldEVudHJ5UGF0aCwgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRmlsZVBhdGgpLFxuICAgICAgICBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldEZpbGVQYXRoKSxcbiAgICAgICAgdGFyZ2V0RmlsZUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCk7XG5cbiAgaWYgKHRhcmdldEZpbGVFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IG9sZEZpbGVQYXRoID0gYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCwgLy8vXG4gICAgICAgIG5ld0ZpbGVQYXRoID0gYWJzb2x1dGVUYXJnZXRGaWxlUGF0aDsgLy8vXG5cbiAgbW92ZUZpbGUob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGw7XG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VEaXJlY3RvcnlQYXRoID0gc291cmNlRW50cnlQYXRoLCAgLy8vXG4gICAgICAgIHRhcmdldERpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpLFxuICAgICAgICBzb3VyY2VEaXJlY3RvcnlFbXB0eSA9IGlzRGlyZWN0b3J5RW1wdHkoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUVtcHR5KSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHRhcmdldERpcmVjdG9yeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoKTtcblxuICBpZiAodGFyZ2V0RGlyZWN0b3J5RXhpc3RzKSB7XG4gICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aDsgIC8vL1xuXG4gICAgcmVtb3ZlRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBvbGREaXJlY3RvcnlQYXRoID0gYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoLCAvLy9cbiAgICAgICAgbmV3RGlyZWN0b3J5UGF0aCA9IGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aDsgLy8vXG5cbiAgbW92ZURpcmVjdG9yeShvbGREaXJlY3RvcnlQYXRoLCBuZXdEaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsibW92ZVByb2plY3RFbnRyaWVzIiwibW92ZURpcmVjdG9yeSIsIm1vdmVFbnRyeU9wZXJhdGlvbiIsIm1vdmVGaWxlIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJwYXRoV2l0aG91dEJvdHRvbW1vc3ROYW1lRnJvbVBhdGgiLCJpc0RpcmVjdG9yeUVtcHR5IiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImNoZWNrRW50cnlFeGlzdHMiLCJyZW5hbWVGaWxlIiwicmVuYW1lRmlsZUV4IiwicmVuYW1lRGlyZWN0b3J5IiwicmVuYW1lRGlyZWN0b3J5RXgiLCJjaGVja0ZpbGVFeGlzdHMiLCJjaGVja0RpcmVjdG9yeUV4aXN0cyIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImpzb24iLCJjYWxsYmFjayIsInBhdGhNYXBzIiwibW92ZUVudHJpZXMiLCJ0YXJnZXRFbnRyeVBhdGhzIiwic291cmNlRW50cnlQYXRoIiwidGFyZ2V0RW50cnlQYXRoIiwiZW50cnlEaXJlY3RvcnkiLCJyZW1vdmVFbnRyeU9wZXJhdGlvbiIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlFeGlzdHMiLCJtb3ZlRGlyZWN0b3J5T3BlcmF0aW9uIiwibW92ZUZpbGVPcGVyYXRpb24iLCJvbGREaXJlY3RvcnlQYXRoIiwibmV3RGlyZWN0b3J5UGF0aCIsImVycm9yIiwibmV3RGlyZWN0b3J5UGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZSIsIm5ld1BhcmVudERpcmVjdG9yeVBhdGgiLCJuZXdQYXJlbnREaXJlY3RvcnlFeGlzdHMiLCJuYXRpdmVFcnJvciIsIm9sZEZpbGVQYXRoIiwibmV3RmlsZVBhdGgiLCJuZXdGaWxlUGF0aFdpdGhvdXRCb3R0b21tb3N0TmFtZSIsImFzeW5jaHJvbm91c0ZvckVhY2giLCJuZXh0IiwiZG9uZSIsImluZGV4IiwicHVzaCIsInNvdXJjZUZpbGVQYXRoIiwidGFyZ2V0RmlsZVBhdGgiLCJhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoIiwiYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCIsInRhcmdldEZpbGVFeGlzdHMiLCJzb3VyY2VEaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5UGF0aCIsImFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCIsInNvdXJjZURpcmVjdG9yeUVtcHR5IiwiYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5RXhpc3RzIiwiZGlyZWN0b3J5UGF0aCIsInJlbW92ZURpcmVjdG9yeSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBZ0JBLE9BVUM7ZUFWdUJBOztJQW1DUkMsYUFBYTtlQUFiQTs7SUF2QkFDLGtCQUFrQjtlQUFsQkE7O0lBMkNBQyxRQUFRO2VBQVJBOzs7eUJBckVtQzt3QkFFZjtvQ0FDQztBQUdyQyxJQUFRQyxtQkFBd0RDLHdCQUFhLENBQXJFRCxrQkFBa0JFLG9DQUFzQ0Qsd0JBQWEsQ0FBbkRDLG1DQUNsQkMsbUJBSzJDQyw4QkFBbUIsQ0FMOURELGtCQUNBRSxtQkFJMkNELDhCQUFtQixDQUo5REMsa0JBQ0FDLEFBQVlDLGVBRytCSCw4QkFBbUIsQ0FIOURFLFlBQ0FF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
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tb3ZlUHJvamVjdEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c0ZvckVhY2ggfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcHNcIjtcbmltcG9ydCB7IHJlbW92ZURpcmVjdG9yeSwgcmVtb3ZlRW50cnlPcGVyYXRpb24gfSBmcm9tIFwiLi9yZW1vdmVQcm9qZWN0RW50cmllc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGlzRGlyZWN0b3J5RW1wdHksXG4gICAgICAgIGNoZWNrRW50cnlFeGlzdHMsXG4gICAgICAgIG1vdmVGaWxlOiBtb3ZlRmlsZUV4LFxuICAgICAgICBtb3ZlRGlyZWN0b3J5OiBtb3ZlRGlyZWN0b3J5RXggfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb247XG5cbiAgbW92ZUVudHJpZXMocGF0aE1hcHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHRhcmdldEVudHJ5UGF0aHMpID0+IHtcbiAgICBjb25zdCBqc29uID0ge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoc1xuICAgIH07XG5cbiAgICBjYWxsYmFjayhqc29uKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGlmICh0YXJnZXRFbnRyeVBhdGggPT09IG51bGwpIHtcbiAgICByZW1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRW50cnlQYXRoKSxcbiAgICAgICAgc291cmNlRW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlU291cmNlRW50cnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZUVudHJ5RXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGVudHJ5RGlyZWN0b3J5ID9cbiAgICBtb3ZlRGlyZWN0b3J5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA6XG4gICAgICBtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlRGlyZWN0b3J5KG9sZERpcmVjdG9yeVBhdGgsIG5ld0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGxldCBlcnJvciA9IG51bGw7XG5cbiAgdHJ5IHtcbiAgICBtb3ZlRGlyZWN0b3J5RXgob2xkRGlyZWN0b3J5UGF0aCk7XG4gIH0gY2F0Y2ggKG5hdGl2ZUVycm9yKSB7XG4gICAgZXJyb3IgPSBuYXRpdmVFcnJvcjsgIC8vL1xuICB9XG5cbiAgY2FsbGJhY2soZXJyb3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW92ZUZpbGUob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoLCBjYWxsYmFjaykge1xuICBsZXQgZXJyb3IgPSBudWxsO1xuXG4gIHRyeSB7XG4gICAgbW92ZUZpbGVFeChvbGRGaWxlUGF0aCwgbmV3RmlsZVBhdGgpO1xuICB9IGNhdGNoIChuYXRpdmVFcnJvcikge1xuICAgIGVycm9yID0gbmF0aXZlRXJyb3I7ICAvLy9cbiAgfVxuXG4gIGNhbGxiYWNrKGVycm9yKTtcbn1cblxuZnVuY3Rpb24gbW92ZUVudHJpZXMocGF0aE1hcHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3QgdGFyZ2V0RW50cnlQYXRocyA9IFtdO1xuXG4gIGFzeW5jaHJvbm91c0ZvckVhY2goXG4gICAgcGF0aE1hcHMsXG4gICAgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgbmV4dCwgZG9uZSwgaW5kZXgpID0+IHtcbiAgICAgIG1vdmVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSA9PiB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aHMucHVzaCh0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgKCkgPT4ge1xuICAgICAgY2FsbGJhY2sodGFyZ2V0RW50cnlQYXRocyk7XG4gICAgfVxuICApO1xufVxuXG5mdW5jdGlvbiBtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VGaWxlUGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgLy8vXG4gICAgICAgIHRhcmdldEZpbGVQYXRoID0gdGFyZ2V0RW50cnlQYXRoLCAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VGaWxlUGF0aCksXG4gICAgICAgIGFic29sdXRlVGFyZ2V0RmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RmlsZVBhdGgpLFxuICAgICAgICB0YXJnZXRGaWxlRXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVRhcmdldEZpbGVQYXRoKTtcblxuICBpZiAodGFyZ2V0RmlsZUV4aXN0cykge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb2xkRmlsZVBhdGggPSBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoLCAvLy9cbiAgICAgICAgbmV3RmlsZVBhdGggPSBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoOyAvLy9cblxuICBtb3ZlRmlsZShvbGRGaWxlUGF0aCwgbmV3RmlsZVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VEaXJlY3RvcnlQYXRoID0gc291cmNlRW50cnlQYXRoLCAgLy8vXG4gICAgICAgIHRhcmdldERpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpLFxuICAgICAgICBzb3VyY2VEaXJlY3RvcnlFbXB0eSA9IGlzRGlyZWN0b3J5RW1wdHkoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUVtcHR5KSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHRhcmdldERpcmVjdG9yeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoKTtcblxuICBpZiAodGFyZ2V0RGlyZWN0b3J5RXhpc3RzKSB7XG4gICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aDsgIC8vL1xuXG4gICAgcmVtb3ZlRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBvbGREaXJlY3RvcnlQYXRoID0gYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoLCAvLy9cbiAgICAgICAgbmV3RGlyZWN0b3J5UGF0aCA9IGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aDsgLy8vXG5cbiAgbW92ZURpcmVjdG9yeShvbGREaXJlY3RvcnlQYXRoLCBuZXdEaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsibW92ZVByb2plY3RFbnRyaWVzIiwibW92ZURpcmVjdG9yeSIsIm1vdmVFbnRyeU9wZXJhdGlvbiIsIm1vdmVGaWxlIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJpc0RpcmVjdG9yeUVtcHR5IiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImNoZWNrRW50cnlFeGlzdHMiLCJtb3ZlRmlsZUV4IiwibW92ZURpcmVjdG9yeUV4IiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwianNvbiIsImNhbGxiYWNrIiwicGF0aE1hcHMiLCJtb3ZlRW50cmllcyIsInRhcmdldEVudHJ5UGF0aHMiLCJzb3VyY2VFbnRyeVBhdGgiLCJ0YXJnZXRFbnRyeVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsInJlbW92ZUVudHJ5T3BlcmF0aW9uIiwiYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeUV4aXN0cyIsIm1vdmVEaXJlY3RvcnlPcGVyYXRpb24iLCJtb3ZlRmlsZU9wZXJhdGlvbiIsIm9sZERpcmVjdG9yeVBhdGgiLCJuZXdEaXJlY3RvcnlQYXRoIiwiZXJyb3IiLCJuYXRpdmVFcnJvciIsIm9sZEZpbGVQYXRoIiwibmV3RmlsZVBhdGgiLCJhc3luY2hyb25vdXNGb3JFYWNoIiwibmV4dCIsImRvbmUiLCJpbmRleCIsInB1c2giLCJzb3VyY2VGaWxlUGF0aCIsInRhcmdldEZpbGVQYXRoIiwiYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCIsImFic29sdXRlVGFyZ2V0RmlsZVBhdGgiLCJ0YXJnZXRGaWxlRXhpc3RzIiwic291cmNlRGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgiLCJzb3VyY2VEaXJlY3RvcnlFbXB0eSIsImFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeUV4aXN0cyIsImRpcmVjdG9yeVBhdGgiLCJyZW1vdmVEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWFBLE9BVUM7ZUFWdUJBOztJQW1DUkMsYUFBYTtlQUFiQTs7SUF2QkFDLGtCQUFrQjtlQUFsQkE7O0lBbUNBQyxRQUFRO2VBQVJBOzs7eUJBMURtQzt3QkFFZjtvQ0FDa0I7QUFFdEQsSUFBTSxBQUFFQyxtQkFBcUJDLHdCQUFhLENBQWxDRCxrQkFDQUUsbUJBR21DQyw4QkFBbUIsQ0FIdERELGtCQUNBRSxtQkFFbUNELDhCQUFtQixDQUZ0REMsa0JBQ0FMLEFBQVVNLGFBQ3lCRiw4QkFBbUIsQ0FEdERKLFVBQ0FGLEFBQWVTLGtCQUFvQkgsOEJBQW1CLENBQXRETjtBQUVPLFNBQVNELG1CQUFtQlcscUJBQXFCLEVBQUVDLElBQUksRUFBRUMsUUFBUTtJQUM5RSxJQUFNLEFBQUVDLFdBQWFGLEtBQWJFO0lBRVJDLFlBQVlELFVBQVVILHVCQUF1QixTQUFDSztRQUM1QyxJQUFNSixTQUFPO1lBQ1hJLGtCQUFBQTtRQUNGO1FBRUFILFNBQVNEO0lBQ1g7QUFDRjtBQUVPLFNBQVNWLG1CQUFtQmUsZUFBZSxFQUFFQyxlQUFlLEVBQUVDLGNBQWMsRUFBRVIscUJBQXFCLEVBQUVFLFFBQVE7SUFDbEgsSUFBSUssb0JBQW9CLE1BQU07UUFDNUJFLElBQUFBLDBDQUFvQixFQUFDSCxpQkFBaUJDLGlCQUFpQkMsZ0JBQWdCUix1QkFBdUJFO1FBRTlG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
@@ -12,16 +12,19 @@ _export(exports, {
12
12
  default: function() {
13
13
  return removeProjectEntries;
14
14
  },
15
- removeEntry: function() {
16
- return removeEntry;
15
+ removeDirectory: function() {
16
+ return removeDirectory;
17
17
  },
18
18
  removeEntryOperation: function() {
19
19
  return removeEntryOperation;
20
+ },
21
+ removeFile: function() {
22
+ return removeFile;
20
23
  }
21
24
  });
22
25
  var _necessary = require("necessary");
23
26
  var _pathMaps = require("./utilities/pathMaps");
24
- var concatenatePaths = _necessary.pathUtilities.concatenatePaths, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty, removeEntryEx = _necessary.fileSystemUtilities.removeEntry;
27
+ var concatenatePaths = _necessary.pathUtilities.concatenatePaths, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, removeFileEx = _necessary.fileSystemUtilities.removeEntry, removeDirectoryEx = _necessary.fileSystemUtilities.removeEntry;
25
28
  function removeProjectEntries(projectsDirectoryPath, json, callback) {
26
29
  var pathMaps = json.pathMaps;
27
30
  removeEntries(pathMaps, projectsDirectoryPath, function(targetEntryPaths) {
@@ -40,17 +43,21 @@ function removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory,
40
43
  }
41
44
  entryDirectory ? removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
42
45
  }
43
- function removeEntry(entryPath, callback) {
46
+ function removeDirectory(directoryPath, callback) {
44
47
  var error = null;
45
- var entryExists = checkEntryExists(entryPath);
46
- if (!entryExists) {
47
- error = "The '".concat(entryPath, "' entry does not exist.");
48
- } else {
49
- try {
50
- removeEntryEx(entryPath);
51
- } catch (nativeError) {
52
- error = nativeError; ///
53
- }
48
+ try {
49
+ removeDirectoryEx(directoryPath);
50
+ } catch (nativeError) {
51
+ error = nativeError; ///
52
+ }
53
+ callback(error);
54
+ }
55
+ function removeFile(filePath, callback) {
56
+ var error = null;
57
+ try {
58
+ removeFileEx(filePath);
59
+ } catch (nativeError) {
60
+ error = nativeError; ///
54
61
  }
55
62
  callback(error);
56
63
  }
@@ -67,7 +74,7 @@ function removeEntries(pathMaps, projectsDirectoryPath, callback) {
67
74
  }
68
75
  function removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
69
76
  var sourceFilePath = sourceEntryPath, absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath), entryPath = absoluteSourceFilePath; ///
70
- removeEntry(entryPath, function(error) {
77
+ removeFile(entryPath, function(error) {
71
78
  if (error) {
72
79
  targetEntryPath = sourceEntryPath; ///
73
80
  }
@@ -81,8 +88,8 @@ function removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDire
81
88
  callback(sourceEntryPath, targetEntryPath);
82
89
  return;
83
90
  }
84
- var entryPath = absoluteSourceDirectoryPath; ///
85
- removeEntry(entryPath, function(error) {
91
+ var directoryPath = absoluteSourceDirectoryPath; ///
92
+ removeDirectory(directoryPath, function(error) {
86
93
  if (error) {
87
94
  targetEntryPath = sourceEntryPath; ///
88
95
  }
@@ -90,4 +97,4 @@ function removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDire
90
97
  });
91
98
  }
92
99
 
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW1vdmVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRGlyZWN0b3J5RW1wdHksIHJlbW92ZUVudHJ5OiByZW1vdmVFbnRyeUV4IH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZW1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb247XG5cbiAgcmVtb3ZlRW50cmllcyhwYXRoTWFwcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCAodGFyZ2V0RW50cnlQYXRocykgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGhzXG4gICAgfTtcblxuICAgIGNhbGxiYWNrKGpzb24pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VFbnRyeVBhdGgpLFxuICAgICAgICBzb3VyY2VFbnRyeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgpO1xuXG4gIGlmICghc291cmNlRW50cnlFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIHJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgcmVtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbnRyeShlbnRyeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGxldCBlcnJvciA9IG51bGw7XG5cbiAgY29uc3QgZW50cnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGVudHJ5UGF0aCk7XG5cbiAgaWYgKCFlbnRyeUV4aXN0cykge1xuICAgIGVycm9yID0gYFRoZSAnJHtlbnRyeVBhdGh9JyBlbnRyeSBkb2VzIG5vdCBleGlzdC5gO1xuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICByZW1vdmVFbnRyeUV4KGVudHJ5UGF0aCk7XG4gICAgfSBjYXRjaCAobmF0aXZlRXJyb3IpIHtcbiAgICAgIGVycm9yID0gbmF0aXZlRXJyb3I7ICAvLy9cbiAgICB9XG4gIH1cblxuICBjYWxsYmFjayhlcnJvcik7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUVudHJpZXMocGF0aE1hcHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3QgdGFyZ2V0RW50cnlQYXRocyA9IFtdO1xuXG4gIGFzeW5jaHJvbm91c0ZvckVhY2goXG4gICAgcGF0aE1hcHMsXG4gICAgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgbmV4dCwgZG9uZSwgaW5kZXgpID0+IHtcbiAgICAgIHJlbW92ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpID0+IHtcbiAgICAgICAgdGFyZ2V0RW50cnlQYXRocy5wdXNoKHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICAoKSA9PiB7XG4gICAgICBjYWxsYmFjayh0YXJnZXRFbnRyeVBhdGhzKTtcbiAgICB9XG4gICk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGgsIC8vL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUZpbGVQYXRoKSxcbiAgICAgICAgZW50cnlQYXRoID0gYWJzb2x1dGVTb3VyY2VGaWxlUGF0aDsgLy8vXG5cbiAgcmVtb3ZlRW50cnkoZW50cnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VEaXJlY3RvcnlQYXRoID0gc291cmNlRW50cnlQYXRoLCAgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VEaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgc291cmNlRGlyZWN0b3J5RW1wdHkgPSBpc0RpcmVjdG9yeUVtcHR5KGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VEaXJlY3RvcnlFbXB0eSkge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZW50cnlQYXRoID0gYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoOyAgLy8vXG5cbiAgcmVtb3ZlRW50cnkoZW50cnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsicmVtb3ZlUHJvamVjdEVudHJpZXMiLCJyZW1vdmVFbnRyeSIsInJlbW92ZUVudHJ5T3BlcmF0aW9uIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImlzRGlyZWN0b3J5RW1wdHkiLCJyZW1vdmVFbnRyeUV4IiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwianNvbiIsImNhbGxiYWNrIiwicGF0aE1hcHMiLCJyZW1vdmVFbnRyaWVzIiwidGFyZ2V0RW50cnlQYXRocyIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwiYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeUV4aXN0cyIsInJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbiIsInJlbW92ZUZpbGVPcGVyYXRpb24iLCJlbnRyeVBhdGgiLCJlcnJvciIsImVudHJ5RXhpc3RzIiwibmF0aXZlRXJyb3IiLCJhc3luY2hyb25vdXNGb3JFYWNoIiwibmV4dCIsImRvbmUiLCJpbmRleCIsInB1c2giLCJzb3VyY2VGaWxlUGF0aCIsImFic29sdXRlU291cmNlRmlsZVBhdGgiLCJzb3VyY2VEaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoIiwic291cmNlRGlyZWN0b3J5RW1wdHkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVNBLE9BVUM7ZUFWdUJBOztJQTZCUkMsV0FBVztlQUFYQTs7SUFqQkFDLG9CQUFvQjtlQUFwQkE7Ozt5QkFuQm1DO3dCQUVmO0FBRXBDLElBQU0sQUFBRUMsbUJBQXFCQyx3QkFBYSxDQUFsQ0Qsa0JBQ0FFLG1CQUFtRUMsOEJBQW1CLENBQXRGRCxrQkFBa0JFLG1CQUFpREQsOEJBQW1CLENBQXBFQyxrQkFBa0JOLEFBQWFPLGdCQUFrQkYsOEJBQW1CLENBQWxETDtBQUU3QixTQUFTRCxxQkFBcUJTLHFCQUFxQixFQUFFQyxJQUFJLEVBQUVDLFFBQVE7SUFDaEYsSUFBTSxBQUFFQyxXQUFhRixLQUFiRTtJQUVSQyxjQUFjRCxVQUFVSCx1QkFBdUIsU0FBQ0s7UUFDOUMsSUFBTUosU0FBTztZQUNYSSxrQkFBQUE7UUFDRjtRQUVBSCxTQUFTRDtJQUNYO0FBQ0Y7QUFFTyxTQUFTUixxQkFBcUJhLGVBQWUsRUFBRUMsZUFBZSxFQUFFQyxjQUFjLEVBQUVSLHFCQUFxQixFQUFFRSxRQUFRO0lBQ3BILElBQU1PLDBCQUEwQmYsaUJBQWlCTSx1QkFBdUJNLGtCQUNsRUksb0JBQW9CZCxpQkFBaUJhO0lBRTNDLElBQUksQ0FBQ0MsbUJBQW1CO1FBQ3RCSCxrQkFBa0I7UUFFbEJMLFNBQVNJLGlCQUFpQkM7UUFFMUI7SUFDRjtJQUVBQyxpQkFDRUcseUJBQXlCTCxpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRSxZQUNoRlUsb0JBQW9CTixpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRTtBQUNuRjtBQUVPLFNBQVNWLFlBQVlxQixTQUFTLEVBQUVYLFFBQVE7SUFDN0MsSUFBSVksUUFBUTtJQUVaLElBQU1DLGNBQWNuQixpQkFBaUJpQjtJQUVyQyxJQUFJLENBQUNFLGFBQWE7UUFDaEJELFFBQVEsQUFBQyxRQUFpQixPQUFWRCxXQUFVO0lBQzVCLE9BQU87UUFDTCxJQUFJO1lBQ0ZkLGNBQWNjO1FBQ2hCLEVBQUUsT0FBT0csYUFBYTtZQUNwQkYsUUFBUUUsYUFBYyxHQUFHO1FBQzNCO0lBQ0Y7SUFFQWQsU0FBU1k7QUFDWDtBQUVBLFNBQVNWLGNBQWNELFFBQVEsRUFBRUgscUJBQXFCLEVBQUVFLFFBQVE7SUFDOUQsSUFBTUcsbUJBQW1CLEVBQUU7SUFFM0JZLElBQUFBLDZCQUFtQixFQUNqQmQsVUFDQSxTQUFDRyxpQkFBaUJDLGlCQUFpQkMsZ0JBQWdCVSxNQUFNQyxNQUFNQztRQUM3RDNCLHFCQUFxQmEsaUJBQWlCQyxpQkFBaUJDLGdCQUFnQlIsdUJBQXVCLFNBQUNNLGlCQUFpQkM7WUFDOUdGLGlCQUFpQmdCLElBQUksQ0FBQ2Q7WUFFdEJXO1FBQ0Y7SUFDRixHQUNBO1FBQ0VoQixTQUFTRztJQUNYO0FBRUo7QUFFQSxTQUFTTyxvQkFBb0JOLGVBQWUsRUFBRUMsZUFBZSxFQUFFUCxxQkFBcUIsRUFBRUUsUUFBUTtJQUM1RixJQUFNb0IsaUJBQWlCaEIsaUJBQ2pCaUIseUJBQXlCN0IsaUJBQWlCTSx1QkFBdUJzQixpQkFDakVULFlBQVlVLHdCQUF3QixHQUFHO0lBRTdDL0IsWUFBWXFCLFdBQVcsU0FBQ0M7UUFDdEIsSUFBSUEsT0FBTztZQUNUUCxrQkFBa0JELGlCQUFrQixHQUFHO1FBQ3pDO1FBRUFKLFNBQVNJLGlCQUFpQkM7SUFDNUI7QUFDRjtBQUVBLFNBQVNJLHlCQUF5QkwsZUFBZSxFQUFFQyxlQUFlLEVBQUVQLHFCQUFxQixFQUFFRSxRQUFRO0lBQ2pHLElBQU1zQixzQkFBc0JsQixpQkFDdEJtQiw4QkFBOEIvQixpQkFBaUJNLHVCQUF1QndCLHNCQUN0RUUsdUJBQXVCNUIsaUJBQWlCMkI7SUFFOUMsSUFBSSxDQUFDQyxzQkFBc0I7UUFDekJuQixrQkFBa0JELGlCQUFrQixHQUFHO1FBRXZDSixTQUFTSSxpQkFBaUJDO1FBRTFCO0lBQ0Y7SUFFQSxJQUFNTSxZQUFZWSw2QkFBOEIsR0FBRztJQUVuRGpDLFlBQVlxQixXQUFXLFNBQUNDO1FBQ3RCLElBQUlBLE9BQU87WUFDVFAsa0JBQWtCRCxpQkFBa0IsR0FBRztRQUN6QztRQUVBSixTQUFTSSxpQkFBaUJDO0lBQzVCO0FBQ0YifQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW1vdmVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuXG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcbiAgICAgIHsgaXNEaXJlY3RvcnlFbXB0eSxcbiAgICAgICAgY2hlY2tFbnRyeUV4aXN0cyxcbiAgICAgICAgcmVtb3ZlRW50cnk6IHJlbW92ZUZpbGVFeCxcbiAgICAgICAgcmVtb3ZlRW50cnk6IHJlbW92ZURpcmVjdG9yeUV4IH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZW1vdmVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb247XG5cbiAgcmVtb3ZlRW50cmllcyhwYXRoTWFwcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCAodGFyZ2V0RW50cnlQYXRocykgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGhzXG4gICAgfTtcblxuICAgIGNhbGxiYWNrKGpzb24pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuXG5cblxuXG5cblxuICBjb25zdCBhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VFbnRyeVBhdGgpLFxuICAgICAgICBzb3VyY2VFbnRyeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgpO1xuXG4gIGlmICghc291cmNlRW50cnlFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIHJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgcmVtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVEaXJlY3RvcnkoZGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgbGV0IGVycm9yID0gbnVsbDtcblxuICB0cnkge1xuICAgIHJlbW92ZURpcmVjdG9yeUV4KGRpcmVjdG9yeVBhdGgpO1xuICB9IGNhdGNoIChuYXRpdmVFcnJvcikge1xuICAgIGVycm9yID0gbmF0aXZlRXJyb3I7ICAvLy9cbiAgfVxuXG4gIGNhbGxiYWNrKGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUZpbGUoZmlsZVBhdGgsIGNhbGxiYWNrKSB7XG4gIGxldCBlcnJvciA9IG51bGw7XG5cbiAgdHJ5IHtcbiAgICByZW1vdmVGaWxlRXgoZmlsZVBhdGgpO1xuICB9IGNhdGNoIChuYXRpdmVFcnJvcikge1xuICAgIGVycm9yID0gbmF0aXZlRXJyb3I7ICAvLy9cbiAgfVxuXG4gIGNhbGxiYWNrKGVycm9yKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRW50cmllcyhwYXRoTWFwcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCB0YXJnZXRFbnRyeVBhdGhzID0gW107XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChcbiAgICBwYXRoTWFwcyxcbiAgICAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBuZXh0LCBkb25lLCBpbmRleCkgPT4ge1xuICAgICAgcmVtb3ZlRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgICgpID0+IHtcbiAgICAgIGNhbGxiYWNrKHRhcmdldEVudHJ5UGF0aHMpO1xuICAgIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VGaWxlUGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgLy8vXG5cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VGaWxlUGF0aCksXG5cblxuXG5cblxuXG5cblxuXG5cblxuICAgICAgICBlbnRyeVBhdGggPSBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoOyAvLy9cblxuXG4gIHJlbW92ZUZpbGUoZW50cnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VEaXJlY3RvcnlQYXRoID0gc291cmNlRW50cnlQYXRoLCAgLy8vXG5cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpLFxuICAgICAgICBzb3VyY2VEaXJlY3RvcnlFbXB0eSA9IGlzRGlyZWN0b3J5RW1wdHkoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUVtcHR5KSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuICBjb25zdCBkaXJlY3RvcnlQYXRoID0gYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoOyAgLy8vXG5cbiAgcmVtb3ZlRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJyZW1vdmVQcm9qZWN0RW50cmllcyIsInJlbW92ZURpcmVjdG9yeSIsInJlbW92ZUVudHJ5T3BlcmF0aW9uIiwicmVtb3ZlRmlsZSIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwiaXNEaXJlY3RvcnlFbXB0eSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwicmVtb3ZlRW50cnkiLCJyZW1vdmVGaWxlRXgiLCJyZW1vdmVEaXJlY3RvcnlFeCIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImpzb24iLCJjYWxsYmFjayIsInBhdGhNYXBzIiwicmVtb3ZlRW50cmllcyIsInRhcmdldEVudHJ5UGF0aHMiLCJzb3VyY2VFbnRyeVBhdGgiLCJ0YXJnZXRFbnRyeVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlFeGlzdHMiLCJyZW1vdmVEaXJlY3RvcnlPcGVyYXRpb24iLCJyZW1vdmVGaWxlT3BlcmF0aW9uIiwiZGlyZWN0b3J5UGF0aCIsImVycm9yIiwibmF0aXZlRXJyb3IiLCJmaWxlUGF0aCIsImFzeW5jaHJvbm91c0ZvckVhY2giLCJuZXh0IiwiZG9uZSIsImluZGV4IiwicHVzaCIsInNvdXJjZUZpbGVQYXRoIiwiYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCIsImVudHJ5UGF0aCIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgiLCJzb3VyY2VEaXJlY3RvcnlFbXB0eSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBYUEsT0FVQztlQVZ1QkE7O0lBbUNSQyxlQUFlO2VBQWZBOztJQXZCQUMsb0JBQW9CO2VBQXBCQTs7SUFtQ0FDLFVBQVU7ZUFBVkE7Ozt5QkExRG1DO3dCQUVmO0FBR3BDLElBQU0sQUFBRUMsbUJBQXFCQyx3QkFBYSxDQUFsQ0Qsa0JBQ0FFLG1CQUdtQ0MsOEJBQW1CLENBSHRERCxrQkFDQUUsbUJBRW1DRCw4QkFBbUIsQ0FGdERDLGtCQUNBQyxBQUFhQyxlQUNzQkgsOEJBQW1C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
@@ -12,14 +12,19 @@ _export(exports, {
12
12
  default: function() {
13
13
  return renameProjectEntries;
14
14
  },
15
+ renameDirectory: function() {
16
+ return renameDirectory;
17
+ },
15
18
  renameEntryOperation: function() {
16
19
  return renameEntryOperation;
20
+ },
21
+ renameFile: function() {
22
+ return renameFile;
17
23
  }
18
24
  });
19
25
  var _necessary = require("necessary");
20
26
  var _pathMaps = require("./utilities/pathMaps");
21
- var _moveProjectEntries = require("./moveProjectEntries");
22
- var concatenatePaths = _necessary.pathUtilities.concatenatePaths, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty;
27
+ var concatenatePaths = _necessary.pathUtilities.concatenatePaths, isDirectoryEmpty = _necessary.fileSystemUtilities.isDirectoryEmpty, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, renameFileEx = _necessary.fileSystemUtilities.renameFile, renameDirectoryEx = _necessary.fileSystemUtilities.renameDirectory;
23
28
  function renameProjectEntries(projectsDirectoryPath, json, callback) {
24
29
  var pathMaps = json.pathMaps;
25
30
  renameEntries(pathMaps, projectsDirectoryPath, function(targetEntryPaths) {
@@ -38,6 +43,24 @@ function renameEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory,
38
43
  }
39
44
  entryDirectory ? renameDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : renameFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
40
45
  }
46
+ function renameDirectory(oldDirectoryPath, newDirectoryPath, callback) {
47
+ var error = null;
48
+ try {
49
+ renameDirectoryEx(oldDirectoryPath);
50
+ } catch (nativeError) {
51
+ error = nativeError; ///
52
+ }
53
+ callback(error);
54
+ }
55
+ function renameFile(oldFilePath, newFilePath, callback) {
56
+ var error = null;
57
+ try {
58
+ renameFileEx(oldFilePath, newFilePath);
59
+ } catch (nativeError) {
60
+ error = nativeError; ///
61
+ }
62
+ callback(error);
63
+ }
41
64
  function renameEntries(pathMaps, projectsDirectoryPath, callback) {
42
65
  var targetEntryPaths = [];
43
66
  (0, _pathMaps.asynchronousForEach)(pathMaps, function(sourceEntryPath, targetEntryPath, entryDirectory, next, done, index) {
@@ -57,7 +80,7 @@ function renameFileOperation(sourceEntryPath, targetEntryPath, projectsDirectory
57
80
  return;
58
81
  }
59
82
  var oldFilePath = absoluteSourceFilePath, newFilePath = absoluteTargetFilePath; ///
60
- (0, _moveProjectEntries.moveFile)(oldFilePath, newFilePath, function(error) {
83
+ renameFile(oldFilePath, newFilePath, function(error) {
61
84
  if (error) {
62
85
  targetEntryPath = sourceEntryPath; ///
63
86
  }
@@ -83,7 +106,7 @@ function renameDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDire
83
106
  return;
84
107
  }
85
108
  var oldDirectoryPath = absoluteSourceDirectoryPath, newDirectoryPath = absoluteTargetDirectoryPath; ///
86
- (0, _moveProjectEntries.moveDirectory)(oldDirectoryPath, newDirectoryPath, function(error) {
109
+ renameDirectory(oldDirectoryPath, newDirectoryPath, function(error) {
87
110
  if (error) {
88
111
  targetEntryPath = sourceEntryPath; ///
89
112
  }
@@ -91,4 +114,4 @@ function renameDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDire
91
114
  });
92
115
  }
93
116
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW5hbWVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuXG5pbXBvcnQgeyBtb3ZlRmlsZSBhcyByZW5hbWVGaWxlLCBtb3ZlRGlyZWN0b3J5IGFzIHJlbmFtZURpcmVjdG9yeSB9IGZyb20gXCIuL21vdmVQcm9qZWN0RW50cmllc1wiO1xuXG5jb25zdCB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRGlyZWN0b3J5RW1wdHkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlbmFtZVByb2plY3RFbnRyaWVzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwganNvbiwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyBwYXRoTWFwcyB9ID0ganNvbjtcblxuICByZW5hbWVFbnRyaWVzKHBhdGhNYXBzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsICh0YXJnZXRFbnRyeVBhdGhzKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aHNcbiAgICB9O1xuXG4gICAgY2FsbGJhY2soanNvbik7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuYW1lRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCksXG4gICAgICAgIHNvdXJjZUVudHJ5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VFbnRyeUV4aXN0cykge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBlbnRyeURpcmVjdG9yeSA/XG4gICAgcmVuYW1lRGlyZWN0b3J5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSA6XG4gICAgICByZW5hbWVGaWxlT3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gcmVuYW1lRW50cmllcyhwYXRoTWFwcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCB0YXJnZXRFbnRyeVBhdGhzID0gW107XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChcbiAgICBwYXRoTWFwcyxcbiAgICAoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBuZXh0LCBkb25lLCBpbmRleCkgPT4ge1xuICAgICAgcmVuYW1lRW50cnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIGVudHJ5RGlyZWN0b3J5LCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGhzLnB1c2godGFyZ2V0RW50cnlQYXRoKTtcblxuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgICgpID0+IHtcbiAgICAgIGNhbGxiYWNrKHRhcmdldEVudHJ5UGF0aHMpO1xuICAgIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gcmVuYW1lRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VGaWxlUGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgLy8vXG4gICAgICAgIHRhcmdldEZpbGVQYXRoID0gdGFyZ2V0RW50cnlQYXRoLCAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VGaWxlUGF0aCksXG4gICAgICAgIGFic29sdXRlVGFyZ2V0RmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RmlsZVBhdGgpLFxuICAgICAgICB0YXJnZXRGaWxlRXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVRhcmdldEZpbGVQYXRoKTtcblxuICBpZiAodGFyZ2V0RmlsZUV4aXN0cykge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb2xkRmlsZVBhdGggPSBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoLCAvLy9cbiAgICAgICAgbmV3RmlsZVBhdGggPSBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoOyAvLy9cblxuICByZW5hbWVGaWxlKG9sZEZpbGVQYXRoLCBuZXdGaWxlUGF0aCwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICB9XG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW5hbWVEaXJlY3RvcnlPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3Qgc291cmNlRGlyZWN0b3J5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgIC8vL1xuICAgICAgICB0YXJnZXREaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoLCAgLy8vXG4gICAgICAgIGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VEaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgc291cmNlRGlyZWN0b3J5RW1wdHkgPSBpc0RpcmVjdG9yeUVtcHR5KGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKCFzb3VyY2VEaXJlY3RvcnlFbXB0eSkge1xuICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgpLFxuICAgICAgICB0YXJnZXREaXJlY3RvcnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKHRhcmdldERpcmVjdG9yeUV4aXN0cykge1xuICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGg7ICAvLy9cblxuICAgIHJlbW92ZURpcmVjdG9yeShkaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICB0YXJnZXRFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb2xkRGlyZWN0b3J5UGF0aCA9IGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgLy8vXG4gICAgICAgIG5ld0RpcmVjdG9yeVBhdGggPSBhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGg7IC8vL1xuXG4gIHJlbmFtZURpcmVjdG9yeShvbGREaXJlY3RvcnlQYXRoLCBuZXdEaXJlY3RvcnlQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsicmVuYW1lUHJvamVjdEVudHJpZXMiLCJyZW5hbWVFbnRyeU9wZXJhdGlvbiIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwiY2hlY2tFbnRyeUV4aXN0cyIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJpc0RpcmVjdG9yeUVtcHR5IiwicHJvamVjdHNEaXJlY3RvcnlQYXRoIiwianNvbiIsImNhbGxiYWNrIiwicGF0aE1hcHMiLCJyZW5hbWVFbnRyaWVzIiwidGFyZ2V0RW50cnlQYXRocyIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwiYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeUV4aXN0cyIsInJlbmFtZURpcmVjdG9yeU9wZXJhdGlvbiIsInJlbmFtZUZpbGVPcGVyYXRpb24iLCJhc3luY2hyb25vdXNGb3JFYWNoIiwibmV4dCIsImRvbmUiLCJpbmRleCIsInB1c2giLCJzb3VyY2VGaWxlUGF0aCIsInRhcmdldEZpbGVQYXRoIiwiYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCIsImFic29sdXRlVGFyZ2V0RmlsZVBhdGgiLCJ0YXJnZXRGaWxlRXhpc3RzIiwib2xkRmlsZVBhdGgiLCJuZXdGaWxlUGF0aCIsInJlbmFtZUZpbGUiLCJlcnJvciIsInNvdXJjZURpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlQYXRoIiwiYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoIiwic291cmNlRGlyZWN0b3J5RW1wdHkiLCJhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlFeGlzdHMiLCJkaXJlY3RvcnlQYXRoIiwicmVtb3ZlRGlyZWN0b3J5Iiwib2xkRGlyZWN0b3J5UGF0aCIsIm5ld0RpcmVjdG9yeVBhdGgiLCJyZW5hbWVEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVdBLE9BVUM7ZUFWdUJBOztJQVlSQyxvQkFBb0I7ZUFBcEJBOzs7eUJBckJtQzt3QkFFZjtrQ0FFcUM7QUFFekUsSUFBTSxBQUFFQyxtQkFBcUJDLHdCQUFhLENBQWxDRCxrQkFDQUUsbUJBQXVDQyw4QkFBbUIsQ0FBMURELGtCQUFrQkUsbUJBQXFCRCw4QkFBbUIsQ0FBeENDO0FBRVgsU0FBU04scUJBQXFCTyxxQkFBcUIsRUFBRUMsSUFBSSxFQUFFQyxRQUFRO0lBQ2hGLElBQU0sQUFBRUMsV0FBYUYsS0FBYkU7SUFFUkMsY0FBY0QsVUFBVUgsdUJBQXVCLFNBQUNLO1FBQzlDLElBQU1KLFNBQU87WUFDWEksa0JBQUFBO1FBQ0Y7UUFFQUgsU0FBU0Q7SUFDWDtBQUNGO0FBRU8sU0FBU1AscUJBQXFCWSxlQUFlLEVBQUVDLGVBQWUsRUFBRUMsY0FBYyxFQUFFUixxQkFBcUIsRUFBRUUsUUFBUTtJQUNwSCxJQUFNTywwQkFBMEJkLGlC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
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW5hbWVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzRm9yRWFjaCB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwc1wiO1xuXG5cbmNvbnN0IHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcyxcbiAgICAgIHsgaXNEaXJlY3RvcnlFbXB0eSxcbiAgICAgICAgY2hlY2tFbnRyeUV4aXN0cyxcbiAgICAgICAgcmVuYW1lRmlsZTogcmVuYW1lRmlsZUV4LFxuICAgICAgICByZW5hbWVEaXJlY3Rvcnk6IHJlbmFtZURpcmVjdG9yeUV4IH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZW5hbWVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb247XG5cbiAgcmVuYW1lRW50cmllcyhwYXRoTWFwcywgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCAodGFyZ2V0RW50cnlQYXRocykgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICB0YXJnZXRFbnRyeVBhdGhzXG4gICAgfTtcblxuICAgIGNhbGxiYWNrKGpzb24pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBlbnRyeURpcmVjdG9yeSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuXG5cblxuXG5cblxuICBjb25zdCBhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VFbnRyeVBhdGgpLFxuICAgICAgICBzb3VyY2VFbnRyeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgpO1xuXG4gIGlmICghc291cmNlRW50cnlFeGlzdHMpIHtcbiAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsO1xuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIHJlbmFtZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgcmVuYW1lRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5hbWVEaXJlY3Rvcnkob2xkRGlyZWN0b3J5UGF0aCwgbmV3RGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgbGV0IGVycm9yID0gbnVsbDtcblxuICB0cnkge1xuICAgIHJlbmFtZURpcmVjdG9yeUV4KG9sZERpcmVjdG9yeVBhdGgpO1xuICB9IGNhdGNoIChuYXRpdmVFcnJvcikge1xuICAgIGVycm9yID0gbmF0aXZlRXJyb3I7ICAvLy9cbiAgfVxuXG4gIGNhbGxiYWNrKGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZUZpbGUob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoLCBjYWxsYmFjaykge1xuICBsZXQgZXJyb3IgPSBudWxsO1xuXG4gIHRyeSB7XG4gICAgcmVuYW1lRmlsZUV4KG9sZEZpbGVQYXRoLCBuZXdGaWxlUGF0aCk7XG4gIH0gY2F0Y2ggKG5hdGl2ZUVycm9yKSB7XG4gICAgZXJyb3IgPSBuYXRpdmVFcnJvcjsgIC8vL1xuICB9XG5cbiAgY2FsbGJhY2soZXJyb3IpO1xufVxuXG5mdW5jdGlvbiByZW5hbWVFbnRyaWVzKHBhdGhNYXBzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHRhcmdldEVudHJ5UGF0aHMgPSBbXTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKFxuICAgIHBhdGhNYXBzLFxuICAgIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIG5leHQsIGRvbmUsIGluZGV4KSA9PiB7XG4gICAgICByZW5hbWVFbnRyeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgZW50cnlEaXJlY3RvcnksIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSA9PiB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aHMucHVzaCh0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgKCkgPT4ge1xuICAgICAgY2FsbGJhY2sodGFyZ2V0RW50cnlQYXRocyk7XG4gICAgfVxuICApO1xufVxuXG5mdW5jdGlvbiByZW5hbWVGaWxlT3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHNvdXJjZUZpbGVQYXRoID0gc291cmNlRW50cnlQYXRoLCAvLy9cbiAgICAgICAgdGFyZ2V0RmlsZVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsIC8vL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZUZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUZpbGVQYXRoKSxcbiAgICAgICAgYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCB0YXJnZXRGaWxlUGF0aCksXG4gICAgICAgIHRhcmdldEZpbGVFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlVGFyZ2V0RmlsZVBhdGgpO1xuXG4gIGlmICh0YXJnZXRGaWxlRXhpc3RzKSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBvbGRGaWxlUGF0aCA9IGFic29sdXRlU291cmNlRmlsZVBhdGgsIC8vL1xuICAgICAgICBuZXdGaWxlUGF0aCA9IGFic29sdXRlVGFyZ2V0RmlsZVBhdGg7IC8vL1xuXG4gIHJlbmFtZUZpbGUob2xkRmlsZVBhdGgsIG5ld0ZpbGVQYXRoLCAoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlbmFtZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCBzb3VyY2VEaXJlY3RvcnlQYXRoID0gc291cmNlRW50cnlQYXRoLCAgLy8vXG4gICAgICAgIHRhcmdldERpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsICAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZURpcmVjdG9yeVBhdGgpLFxuICAgICAgICBzb3VyY2VEaXJlY3RvcnlFbXB0eSA9IGlzRGlyZWN0b3J5RW1wdHkoYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoKTtcblxuICBpZiAoIXNvdXJjZURpcmVjdG9yeUVtcHR5KSB7XG4gICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RGlyZWN0b3J5UGF0aCksXG4gICAgICAgIHRhcmdldERpcmVjdG9yeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoKTtcblxuICBpZiAodGFyZ2V0RGlyZWN0b3J5RXhpc3RzKSB7XG4gICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aDsgIC8vL1xuXG4gICAgcmVtb3ZlRGlyZWN0b3J5KGRpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBvbGREaXJlY3RvcnlQYXRoID0gYWJzb2x1dGVTb3VyY2VEaXJlY3RvcnlQYXRoLCAvLy9cbiAgICAgICAgbmV3RGlyZWN0b3J5UGF0aCA9IGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aDsgLy8vXG5cbiAgcmVuYW1lRGlyZWN0b3J5KG9sZERpcmVjdG9yeVBhdGgsIG5ld0RpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG4gICAgfVxuXG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJyZW5hbWVQcm9qZWN0RW50cmllcyIsInJlbmFtZURpcmVjdG9yeSIsInJlbmFtZUVudHJ5T3BlcmF0aW9uIiwicmVuYW1lRmlsZSIsImNvbmNhdGVuYXRlUGF0aHMiLCJwYXRoVXRpbGl0aWVzIiwiaXNEaXJlY3RvcnlFbXB0eSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwicmVuYW1lRmlsZUV4IiwicmVuYW1lRGlyZWN0b3J5RXgiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsInJlbmFtZUVudHJpZXMiLCJ0YXJnZXRFbnRyeVBhdGhzIiwic291cmNlRW50cnlQYXRoIiwidGFyZ2V0RW50cnlQYXRoIiwiZW50cnlEaXJlY3RvcnkiLCJhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5RXhpc3RzIiwicmVuYW1lRGlyZWN0b3J5T3BlcmF0aW9uIiwicmVuYW1lRmlsZU9wZXJhdGlvbiIsIm9sZERpcmVjdG9yeVBhdGgiLCJuZXdEaXJlY3RvcnlQYXRoIiwiZXJyb3IiLCJuYXRpdmVFcnJvciIsIm9sZEZpbGVQYXRoIiwibmV3RmlsZVBhdGgiLCJhc3luY2hyb25vdXNGb3JFYWNoIiwibmV4dCIsImRvbmUiLCJpbmRleCIsInB1c2giLCJzb3VyY2VGaWxlUGF0aCIsInRhcmdldEZpbGVQYXRoIiwiYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCIsImFic29sdXRlVGFyZ2V0RmlsZVBhdGgiLCJ0YXJnZXRGaWxlRXhpc3RzIiwic291cmNlRGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGgiLCJzb3VyY2VEaXJlY3RvcnlFbXB0eSIsImFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeUV4aXN0cyIsImRpcmVjdG9yeVBhdGgiLCJyZW1vdmVEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWFBLE9BVUM7ZUFWdUJBOztJQW1DUkMsZUFBZTtlQUFmQTs7SUF2QkFDLG9CQUFvQjtlQUFwQkE7O0lBbUNBQyxVQUFVO2VBQVZBOzs7eUJBMURtQzt3QkFFZjtBQUdwQyxJQUFNLEFBQUVDLG1CQUFxQkMsd0JBQWEsQ0FBbENELGtCQUNBRSxtQkFHdUNDLDhCQUFtQixDQUgxREQsa0JBQ0FFLG1CQUV1Q0QsOEJBQW1CLENBRjFEQyxrQkFDQUwsQUFBWU0sZUFDMkJGLDhCQUFtQixDQUQxREosWUFDQUYsQUFBaUJTLG9CQUFzQkgsOEJBQW1CLENBQTFETjtBQUVPLFNBQVNELHFCQUFxQlcscUJBQXFCLEVBQUVDLElBQUksRUFBRUMsUUFBUTtJQUNoRixJQUFNLEFBQUVDLFdBQWFGLEtBQWJFO0lBRVJDLGNBQWNELFVBQVVILHVCQUF1QixTQUFDSztRQUM5QyxJQUFNSixTQUFPO1lBQ1hJLGtCQUFBQTtRQUNGO1FBRUFILFNBQVNEO0lBQ1g7QUFDRjtBQUVPLFNBQVNWLHFCQUFxQmUsZUFBZSxFQUFFQyxlQUFlLEVBQUVDLGNBQWMsRUFBRVIscUJBQXFCLEVBQUVFLFFBQVE7SUFPcEgsSUFBTU8sMEJBQTBCaEIsaUJBQWlCTyx1QkFBdUJNLGtCQUNsRUksb0JBQW9CYixpQkFBaUJZO0lBRTNDLElBQUksQ0FBQ0MsbUJBQW1CO1FBQ3RCSCxrQkFBa0I7UUFFbEJMLFNBQVNJLGlCQUFpQkM7UUFFMUI7SUFDRjtJQUVBQyxpQkFDRUcseUJBQXlCTCxpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRSxZQUNoRlUsb0JBQW9CTixpQkFBaUJDLGlCQUFpQlAsdUJBQXVCRTtBQUNuRjtBQUVPLFNBQVNaLGdCQUFnQnVCLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRVosUUFBUTtJQUMxRSxJQUFJYSxRQUFRO0lBRVos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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": "6.0.6",
4
+ "version": "6.0.9",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-file-system",
7
7
  "description": "Occam's file system functionality.",
@@ -10,8 +10,8 @@
10
10
  "url": "https://github.com/djalbat/occam-file-system"
11
11
  },
12
12
  "dependencies": {
13
- "necessary": "^11.9.3",
14
- "occam-entities": "^1.0.7"
13
+ "necessary": "^11.10.2",
14
+ "occam-entities": "^1.0.9"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@swc/core": "^1.2.51",
@@ -3,16 +3,13 @@
3
3
  import { pathUtilities, fileSystemUtilities } from "necessary";
4
4
 
5
5
  import { asynchronousForEach } from "./utilities/pathMaps";
6
- import { removeEntryOperation } from "./removeProjectEntries";
7
- import { removeEntry as removeDirectory } from "./removeProjectEntries";
6
+ import { removeDirectory, removeEntryOperation } from "./removeProjectEntries";
8
7
 
9
- const { concatenatePaths, pathWithoutBottommostNameFromPath } = pathUtilities,
8
+ const { concatenatePaths } = pathUtilities,
10
9
  { isDirectoryEmpty,
11
10
  checkEntryExists,
12
- renameFile: renameFileEx,
13
- renameDirectory: renameDirectoryEx,
14
- checkEntryExists: checkFileExists,
15
- checkEntryExists: checkDirectoryExists } = fileSystemUtilities;
11
+ moveFile: moveFileEx,
12
+ moveDirectory: moveDirectoryEx } = fileSystemUtilities;
16
13
 
17
14
  export default function moveProjectEntries(projectsDirectoryPath, json, callback) {
18
15
  const { pathMaps } = json;
@@ -52,18 +49,10 @@ export function moveEntryOperation(sourceEntryPath, targetEntryPath, entryDirect
52
49
  export function moveDirectory(oldDirectoryPath, newDirectoryPath, callback) {
53
50
  let error = null;
54
51
 
55
- const newDirectoryPathWithoutBottommostName = pathWithoutBottommostNameFromPath(newDirectoryPath),
56
- newParentDirectoryPath = newDirectoryPathWithoutBottommostName, ///
57
- newParentDirectoryExists = checkDirectoryExists(newParentDirectoryPath);
58
-
59
- if (!newParentDirectoryExists) {
60
- error = `The new '${newDirectoryPath}' directory's parent directory does not exist.`;
61
- } else {
62
- try {
63
- renameDirectoryEx(oldDirectoryPath);
64
- } catch (nativeError) {
65
- error = nativeError; ///
66
- }
52
+ try {
53
+ moveDirectoryEx(oldDirectoryPath);
54
+ } catch (nativeError) {
55
+ error = nativeError; ///
67
56
  }
68
57
 
69
58
  callback(error);
@@ -72,18 +61,10 @@ export function moveDirectory(oldDirectoryPath, newDirectoryPath, callback) {
72
61
  export function moveFile(oldFilePath, newFilePath, callback) {
73
62
  let error = null;
74
63
 
75
- const newFilePathWithoutBottommostName = pathWithoutBottommostNameFromPath(newFilePath),
76
- newParentDirectoryPath = newFilePathWithoutBottommostName, ///
77
- newParentDirectoryExists = checkFileExists(newParentDirectoryPath);
78
-
79
- if (!newParentDirectoryExists) {
80
- error = `The new '${newFilePath}' file's parent directory does not exist.`;
81
- } else {
82
- try {
83
- renameFileEx(oldFilePath, newFilePath);
84
- } catch (nativeError) {
85
- error = nativeError; ///
86
- }
64
+ try {
65
+ moveFileEx(oldFilePath, newFilePath);
66
+ } catch (nativeError) {
67
+ error = nativeError; ///
87
68
  }
88
69
 
89
70
  callback(error);
@@ -127,7 +108,7 @@ function moveFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPa
127
108
 
128
109
  moveFile(oldFilePath, newFilePath, (error) => {
129
110
  if (error) {
130
- targetEntryPath = null;
111
+ targetEntryPath = sourceEntryPath; ///
131
112
  }
132
113
 
133
114
  callback(sourceEntryPath, targetEntryPath);
@@ -4,8 +4,12 @@ import { pathUtilities, fileSystemUtilities } from "necessary";
4
4
 
5
5
  import { asynchronousForEach } from "./utilities/pathMaps";
6
6
 
7
+
7
8
  const { concatenatePaths } = pathUtilities,
8
- { checkEntryExists, isDirectoryEmpty, removeEntry: removeEntryEx } = fileSystemUtilities;
9
+ { isDirectoryEmpty,
10
+ checkEntryExists,
11
+ removeEntry: removeFileEx,
12
+ removeEntry: removeDirectoryEx } = fileSystemUtilities;
9
13
 
10
14
  export default function removeProjectEntries(projectsDirectoryPath, json, callback) {
11
15
  const { pathMaps } = json;
@@ -20,6 +24,12 @@ export default function removeProjectEntries(projectsDirectoryPath, json, callba
20
24
  }
21
25
 
22
26
  export function removeEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, callback) {
27
+
28
+
29
+
30
+
31
+
32
+
23
33
  const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
24
34
  sourceEntryExists = checkEntryExists(absoluteSourceEntryPath);
25
35
 
@@ -36,19 +46,25 @@ export function removeEntryOperation(sourceEntryPath, targetEntryPath, entryDire
36
46
  removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
37
47
  }
38
48
 
39
- export function removeEntry(entryPath, callback) {
49
+ export function removeDirectory(directoryPath, callback) {
40
50
  let error = null;
41
51
 
42
- const entryExists = checkEntryExists(entryPath);
52
+ try {
53
+ removeDirectoryEx(directoryPath);
54
+ } catch (nativeError) {
55
+ error = nativeError; ///
56
+ }
43
57
 
44
- if (!entryExists) {
45
- error = `The '${entryPath}' entry does not exist.`;
46
- } else {
47
- try {
48
- removeEntryEx(entryPath);
49
- } catch (nativeError) {
50
- error = nativeError; ///
51
- }
58
+ callback(error);
59
+ }
60
+
61
+ export function removeFile(filePath, callback) {
62
+ let error = null;
63
+
64
+ try {
65
+ removeFileEx(filePath);
66
+ } catch (nativeError) {
67
+ error = nativeError; ///
52
68
  }
53
69
 
54
70
  callback(error);
@@ -74,10 +90,23 @@ function removeEntries(pathMaps, projectsDirectoryPath, callback) {
74
90
 
75
91
  function removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
76
92
  const sourceFilePath = sourceEntryPath, ///
93
+
77
94
  absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath),
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
78
106
  entryPath = absoluteSourceFilePath; ///
79
107
 
80
- removeEntry(entryPath, (error) => {
108
+
109
+ removeFile(entryPath, (error) => {
81
110
  if (error) {
82
111
  targetEntryPath = sourceEntryPath; ///
83
112
  }
@@ -88,6 +117,7 @@ function removeFileOperation(sourceEntryPath, targetEntryPath, projectsDirectory
88
117
 
89
118
  function removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
90
119
  const sourceDirectoryPath = sourceEntryPath, ///
120
+
91
121
  absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath),
92
122
  sourceDirectoryEmpty = isDirectoryEmpty(absoluteSourceDirectoryPath);
93
123
 
@@ -99,9 +129,27 @@ function removeDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDire
99
129
  return;
100
130
  }
101
131
 
102
- const entryPath = absoluteSourceDirectoryPath; ///
103
132
 
104
- removeEntry(entryPath, (error) => {
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+ const directoryPath = absoluteSourceDirectoryPath; ///
151
+
152
+ removeDirectory(directoryPath, (error) => {
105
153
  if (error) {
106
154
  targetEntryPath = sourceEntryPath; ///
107
155
  }
@@ -4,10 +4,12 @@ import { pathUtilities, fileSystemUtilities } from "necessary";
4
4
 
5
5
  import { asynchronousForEach } from "./utilities/pathMaps";
6
6
 
7
- import { moveFile as renameFile, moveDirectory as renameDirectory } from "./moveProjectEntries";
8
7
 
9
8
  const { concatenatePaths } = pathUtilities,
10
- { checkEntryExists, isDirectoryEmpty } = fileSystemUtilities;
9
+ { isDirectoryEmpty,
10
+ checkEntryExists,
11
+ renameFile: renameFileEx,
12
+ renameDirectory: renameDirectoryEx } = fileSystemUtilities;
11
13
 
12
14
  export default function renameProjectEntries(projectsDirectoryPath, json, callback) {
13
15
  const { pathMaps } = json;
@@ -22,6 +24,12 @@ export default function renameProjectEntries(projectsDirectoryPath, json, callba
22
24
  }
23
25
 
24
26
  export function renameEntryOperation(sourceEntryPath, targetEntryPath, entryDirectory, projectsDirectoryPath, callback) {
27
+
28
+
29
+
30
+
31
+
32
+
25
33
  const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
26
34
  sourceEntryExists = checkEntryExists(absoluteSourceEntryPath);
27
35
 
@@ -38,6 +46,30 @@ export function renameEntryOperation(sourceEntryPath, targetEntryPath, entryDire
38
46
  renameFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
39
47
  }
40
48
 
49
+ export function renameDirectory(oldDirectoryPath, newDirectoryPath, callback) {
50
+ let error = null;
51
+
52
+ try {
53
+ renameDirectoryEx(oldDirectoryPath);
54
+ } catch (nativeError) {
55
+ error = nativeError; ///
56
+ }
57
+
58
+ callback(error);
59
+ }
60
+
61
+ export function renameFile(oldFilePath, newFilePath, callback) {
62
+ let error = null;
63
+
64
+ try {
65
+ renameFileEx(oldFilePath, newFilePath);
66
+ } catch (nativeError) {
67
+ error = nativeError; ///
68
+ }
69
+
70
+ callback(error);
71
+ }
72
+
41
73
  function renameEntries(pathMaps, projectsDirectoryPath, callback) {
42
74
  const targetEntryPaths = [];
43
75