occam-file-system 5.0.95 → 5.0.96

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.
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return createProjectEntry;
14
+ },
15
+ createEntryOperation: function() {
16
+ return createEntryOperation;
17
+ }
18
+ });
19
+ var _necessary = require("necessary");
20
+ var _fsExtra = require("fs-extra");
21
+ var first = _necessary.arrayUtilities.first, concatenatePaths = _necessary.pathUtilities.concatenatePaths, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory;
22
+ function createProjectEntry(projectsDirectoryPath, json, callback) {
23
+ var pathMaps = json.pathMaps, firstPathMap = first(pathMaps), pathMap = firstPathMap, sourceEntryPath = pathMap.sourceEntryPath, targetEntryPath = pathMap.targetEntryPath;
24
+ createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, function(sourceEntryPath, targetEntryPath) {
25
+ var sourceEntryPaths = [
26
+ sourceEntryPath
27
+ ], targetEntryPaths = [
28
+ targetEntryPath
29
+ ];
30
+ var _$json = {
31
+ sourceEntryPaths: sourceEntryPaths,
32
+ targetEntryPaths: targetEntryPaths
33
+ };
34
+ callback(_$json);
35
+ });
36
+ }
37
+ function createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
38
+ var absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
39
+ entryDirectory ? createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) : createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
40
+ }
41
+ function createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
42
+ var targetFilePath = targetEntryPath; ///
43
+ if (targetFilePath === null) {
44
+ callback(sourceEntryPath, targetEntryPath);
45
+ return;
46
+ }
47
+ var absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath), targetFileExists = checkEntryExists(absoluteTargetFilePath);
48
+ if (targetFileExists) {
49
+ callback(sourceEntryPath, targetEntryPath);
50
+ return;
51
+ }
52
+ (0, _fsExtra.createFile)(absoluteTargetFilePath, function(error) {
53
+ if (error) {
54
+ targetEntryPath = null; ///
55
+ }
56
+ callback(sourceEntryPath, targetEntryPath);
57
+ });
58
+ }
59
+ function createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
60
+ var targetDirectoryPath = targetEntryPath; //
61
+ if (targetDirectoryPath === null) {
62
+ callback(sourceEntryPath, targetEntryPath);
63
+ return;
64
+ }
65
+ var absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
66
+ if (targetDirectoryExists) {
67
+ callback(sourceEntryPath, targetEntryPath);
68
+ return;
69
+ }
70
+ (0, _fsExtra.mkdirs)(absoluteTargetDirectoryPath, function(error) {
71
+ if (error) {
72
+ targetEntryPath = null; ///
73
+ }
74
+ callback(sourceEntryPath, targetEntryPath);
75
+ });
76
+ }
77
+
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVQcm9qZWN0RW50cnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IGNyZWF0ZUZpbGUsIG1rZGlycyBhcyBjcmVhdGVEaXJlY3RvcnkgfSBmcm9tIFwiZnMtZXh0cmFcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IGNoZWNrRW50cnlFeGlzdHMsIGlzRW50cnlEaXJlY3RvcnkgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVByb2plY3RFbnRyeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb24sXG4gICAgICAgIGZpcnN0UGF0aE1hcCA9IGZpcnN0KHBhdGhNYXBzKSxcbiAgICAgICAgcGF0aE1hcCA9IGZpcnN0UGF0aE1hcCwgIC8vL1xuICAgICAgICB7IHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoIH0gPSBwYXRoTWFwO1xuXG4gIGNyZWF0ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIChzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZUVudHJ5UGF0aHMgPSBbXG4gICAgICAgICAgICBzb3VyY2VFbnRyeVBhdGhcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aHMgPSBbXG4gICAgICAgICAgICB0YXJnZXRFbnRyeVBhdGhcbiAgICAgICAgICBdO1xuXG4gICAgY29uc3QganNvbiA9IHtcbiAgICAgIHNvdXJjZUVudHJ5UGF0aHMsXG4gICAgICB0YXJnZXRFbnRyeVBhdGhzXG4gICAgfTtcblxuICAgIGNhbGxiYWNrKGpzb24pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVudHJ5T3BlcmF0aW9uKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFic29sdXRlU291cmNlRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHNvdXJjZUVudHJ5UGF0aCksXG4gICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCk7XG5cbiAgZW50cnlEaXJlY3RvcnkgP1xuICAgIGNyZWF0ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykgOlxuICAgICAgY3JlYXRlRmlsZU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpbGVPcGVyYXRpb24oc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCwgY2FsbGJhY2spIHtcbiAgY29uc3QgdGFyZ2V0RmlsZVBhdGggPSB0YXJnZXRFbnRyeVBhdGg7ICAvLy9cblxuICBpZiAodGFyZ2V0RmlsZVBhdGggPT09IG51bGwpIHtcbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhYnNvbHV0ZVRhcmdldEZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldEZpbGVQYXRoKSxcbiAgICAgICAgdGFyZ2V0RmlsZUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVUYXJnZXRGaWxlUGF0aCk7XG5cbiAgaWYgKHRhcmdldEZpbGVFeGlzdHMpIHtcbiAgICBjYWxsYmFjayhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjcmVhdGVGaWxlKGFic29sdXRlVGFyZ2V0RmlsZVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURpcmVjdG9yeU9wZXJhdGlvbihzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBjYWxsYmFjaykge1xuICBjb25zdCB0YXJnZXREaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoOyAvL1xuXG4gIGlmICh0YXJnZXREaXJlY3RvcnlQYXRoID09PSBudWxsKSB7XG4gICAgY2FsbGJhY2soc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRhcmdldERpcmVjdG9yeVBhdGgpLFxuICAgICAgICB0YXJnZXREaXJlY3RvcnlFeGlzdHMgPSBjaGVja0VudHJ5RXhpc3RzKGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCk7XG5cbiAgaWYgKHRhcmdldERpcmVjdG9yeUV4aXN0cykge1xuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNyZWF0ZURpcmVjdG9yeShhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDsgIC8vL1xuICAgIH1cblxuICAgIGNhbGxiYWNrKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUHJvamVjdEVudHJ5IiwiY3JlYXRlRW50cnlPcGVyYXRpb24iLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJjaGVja0VudHJ5RXhpc3RzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImlzRW50cnlEaXJlY3RvcnkiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJqc29uIiwiY2FsbGJhY2siLCJwYXRoTWFwcyIsImZpcnN0UGF0aE1hcCIsInBhdGhNYXAiLCJzb3VyY2VFbnRyeVBhdGgiLCJ0YXJnZXRFbnRyeVBhdGgiLCJzb3VyY2VFbnRyeVBhdGhzIiwidGFyZ2V0RW50cnlQYXRocyIsImFic29sdXRlU291cmNlRW50cnlQYXRoIiwiZW50cnlEaXJlY3RvcnkiLCJjcmVhdGVEaXJlY3RvcnlPcGVyYXRpb24iLCJjcmVhdGVGaWxlT3BlcmF0aW9uIiwidGFyZ2V0RmlsZVBhdGgiLCJhYnNvbHV0ZVRhcmdldEZpbGVQYXRoIiwidGFyZ2V0RmlsZUV4aXN0cyIsImNyZWF0ZUZpbGUiLCJlcnJvciIsInRhcmdldERpcmVjdG9yeVBhdGgiLCJhYnNvbHV0ZVRhcmdldERpcmVjdG9yeVBhdGgiLCJ0YXJnZXREaXJlY3RvcnlFeGlzdHMiLCJjcmVhdGVEaXJlY3RvcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7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
package/lib/main.js CHANGED
@@ -78,6 +78,9 @@ _export(exports, {
78
78
  renameProjectEntry: function() {
79
79
  return _renameProjectEntry.default;
80
80
  },
81
+ createProjectEntry: function() {
82
+ return _createProjectEntry.default;
83
+ },
81
84
  moveProjectEntries: function() {
82
85
  return _moveProjectEntries.default;
83
86
  },
@@ -108,6 +111,7 @@ var _saveFiles = /*#__PURE__*/ _interopRequireDefault(require("./saveFiles"));
108
111
  var _loadProjects = /*#__PURE__*/ _interopRequireDefault(require("./loadProjects"));
109
112
  var _loadReleases = /*#__PURE__*/ _interopRequireDefault(require("./loadReleases"));
110
113
  var _renameProjectEntry = /*#__PURE__*/ _interopRequireDefault(require("./renameProjectEntry"));
114
+ var _createProjectEntry = /*#__PURE__*/ _interopRequireDefault(require("./createProjectEntry"));
111
115
  var _moveProjectEntries = /*#__PURE__*/ _interopRequireDefault(require("./moveProjectEntries"));
112
116
  var _removeProjectEntries = /*#__PURE__*/ _interopRequireDefault(require("./removeProjectEntries"));
113
117
  function _interopRequireDefault(obj) {
@@ -116,4 +120,4 @@ function _interopRequireDefault(obj) {
116
120
  };
117
121
  }
118
122
 
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGUgfSBmcm9tIFwiLi9maWxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGVzIH0gZnJvbSBcIi4vZmlsZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmVyc2lvbiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZSB9IGZyb20gXCIuL3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRW50cmllcyB9IGZyb20gXCIuL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdHMgfSBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmN5IH0gZnJvbSBcIi4vZGVwZW5kZW5jeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9kZXBlbmRlbmNpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2hvcnRlbmVkVmVyc2lvbiB9IGZyb20gXCIuL3Nob3J0ZW5lZFZlcnNpb25cIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlTmFtZXMgfSBmcm9tIFwiLi9maWxlTmFtZXNcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBodHRwVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2h0dHBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVQYXRoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1ldGFKU09OVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL21ldGFKU09OXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGxvYWRGaWxlIH0gZnJvbSBcIi4vbG9hZEZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2F2ZUZpbGUgfSBmcm9tIFwiLi9zYXZlRmlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2FkRmlsZXMgfSBmcm9tIFwiLi9sb2FkRmlsZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2F2ZUZpbGVzIH0gZnJvbSBcIi4vc2F2ZUZpbGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxvYWRQcm9qZWN0cyB9IGZyb20gXCIuL2xvYWRQcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2FkUmVsZWFzZXMgfSBmcm9tIFwiLi9sb2FkUmVsZWFzZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVuYW1lUHJvamVjdEVudHJ5IH0gZnJvbSBcIi4vcmVuYW1lUHJvamVjdEVudHJ5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1vdmVQcm9qZWN0RW50cmllcyB9IGZyb20gXCIuL21vdmVQcm9qZWN0RW50cmllc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZW1vdmVQcm9qZWN0RW50cmllcyB9IGZyb20gXCIuL3JlbW92ZVByb2plY3RFbnRyaWVzXCI7XG4iXSwibmFtZXMiOlsiRmlsZSIsIkZpbGVzIiwiVmVyc2lvbiIsIlJlbGVhc2UiLCJFbnRyaWVzIiwiUHJvamVjdCIsIlByb2plY3RzIiwiRGVwZW5kZW5jeSIsIkRlcGVuZGVuY2llcyIsIlNob3J0ZW5lZFZlcnNpb24iLCJmaWxlTmFtZXMiLCJodHRwVXRpbGl0aWVzIiwiY29udGVudFV0aWxpdGllcyIsImZpbGVQYXRoVXRpbGl0aWVzIiwibWV0YUpTT05VdGlsaXRpZXMiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwibG9hZEZpbGUiLCJzYXZlRmlsZSIsImxvYWRGaWxlcyIsInNhdmVGaWxlcyIsImxvYWRQcm9qZWN0cyIsImxvYWRSZWxlYXNlcyIsInJlbmFtZVByb2plY3RFbnRyeSIsIm1vdmVQcm9qZWN0RW50cmllcyIsInJlbW92ZVByb2plY3RFbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFb0JBLElBQUk7ZUFBSkEsYUFBSTs7SUFDSkMsS0FBSztlQUFMQSxjQUFLOztJQUNMQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxRQUFRO2VBQVJBLGlCQUFROztJQUNSQyxVQUFVO2VBQVZBLG1CQUFVOztJQUNWQyxZQUFZO2VBQVpBLHFCQUFZOztJQUNaQyxnQkFBZ0I7ZUFBaEJBLHlCQUFnQjs7SUFFaEJDLFNBQVM7ZUFBVEEsa0JBQVM7O0lBRVRDLGFBQWE7ZUFBYkEsYUFBYTs7SUFDYkMsZ0JBQWdCO2VBQWhCQSxnQkFBZ0I7O0lBQ2hCQyxpQkFBaUI7ZUFBakJBLGlCQUFpQjs7SUFDakJDLGlCQUFpQjtlQUFqQkEsaUJBQWlCOztJQUNqQkMsbUJBQW1CO2VBQW5CQSxtQkFBbUI7O0lBRW5CQyxRQUFRO2VBQVJBLGlCQUFROztJQUNSQyxRQUFRO2VBQVJBLGlCQUFROztJQUNSQyxTQUFTO2VBQVRBLGtCQUFTOztJQUNUQyxTQUFTO2VBQVRBLGtCQUFTOztJQUNUQyxZQUFZO2VBQVpBLHFCQUFZOztJQUNaQyxZQUFZO2VBQVpBLHFCQUFZOztJQUNaQyxrQkFBa0I7ZUFBbEJBLDJCQUFrQjs7SUFDbEJDLGtCQUFrQjtlQUFsQkEsMkJBQWtCOztJQUNsQkMsb0JBQW9CO2VBQXBCQSw2QkFBb0I7Ozt5REEzQlI7MERBQ0M7NERBQ0U7NERBQ0E7NERBQ0E7NERBQ0E7NkRBQ0M7K0RBQ0U7aUVBQ0U7cUVBQ0k7OERBRVA7eURBRUk7NERBQ0c7NkRBQ0M7NkRBQ0E7K0RBQ0U7NkRBRVg7NkRBQ0E7OERBQ0M7OERBQ0E7aUVBQ0c7aUVBQ0E7dUVBQ007dUVBQ0E7eUVBQ0UifQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGUgfSBmcm9tIFwiLi9maWxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGVzIH0gZnJvbSBcIi4vZmlsZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmVyc2lvbiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZSB9IGZyb20gXCIuL3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRW50cmllcyB9IGZyb20gXCIuL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdHMgfSBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmN5IH0gZnJvbSBcIi4vZGVwZW5kZW5jeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9kZXBlbmRlbmNpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2hvcnRlbmVkVmVyc2lvbiB9IGZyb20gXCIuL3Nob3J0ZW5lZFZlcnNpb25cIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlTmFtZXMgfSBmcm9tIFwiLi9maWxlTmFtZXNcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBodHRwVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2h0dHBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVQYXRoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1ldGFKU09OVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL21ldGFKU09OXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGxvYWRGaWxlIH0gZnJvbSBcIi4vbG9hZEZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2F2ZUZpbGUgfSBmcm9tIFwiLi9zYXZlRmlsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2FkRmlsZXMgfSBmcm9tIFwiLi9sb2FkRmlsZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2F2ZUZpbGVzIH0gZnJvbSBcIi4vc2F2ZUZpbGVzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxvYWRQcm9qZWN0cyB9IGZyb20gXCIuL2xvYWRQcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2FkUmVsZWFzZXMgfSBmcm9tIFwiLi9sb2FkUmVsZWFzZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVuYW1lUHJvamVjdEVudHJ5IH0gZnJvbSBcIi4vcmVuYW1lUHJvamVjdEVudHJ5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZVByb2plY3RFbnRyeSB9IGZyb20gXCIuL2NyZWF0ZVByb2plY3RFbnRyeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtb3ZlUHJvamVjdEVudHJpZXMgfSBmcm9tIFwiLi9tb3ZlUHJvamVjdEVudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVtb3ZlUHJvamVjdEVudHJpZXMgfSBmcm9tIFwiLi9yZW1vdmVQcm9qZWN0RW50cmllc1wiO1xuIl0sIm5hbWVzIjpbIkZpbGUiLCJGaWxlcyIsIlZlcnNpb24iLCJSZWxlYXNlIiwiRW50cmllcyIsIlByb2plY3QiLCJQcm9qZWN0cyIsIkRlcGVuZGVuY3kiLCJEZXBlbmRlbmNpZXMiLCJTaG9ydGVuZWRWZXJzaW9uIiwiZmlsZU5hbWVzIiwiaHR0cFV0aWxpdGllcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJmaWxlUGF0aFV0aWxpdGllcyIsIm1ldGFKU09OVXRpbGl0aWVzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImxvYWRGaWxlIiwic2F2ZUZpbGUiLCJsb2FkRmlsZXMiLCJzYXZlRmlsZXMiLCJsb2FkUHJvamVjdHMiLCJsb2FkUmVsZWFzZXMiLCJyZW5hbWVQcm9qZWN0RW50cnkiLCJjcmVhdGVQcm9qZWN0RW50cnkiLCJtb3ZlUHJvamVjdEVudHJpZXMiLCJyZW1vdmVQcm9qZWN0RW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxJQUFJO2VBQUpBLGFBQUk7O0lBQ0pDLEtBQUs7ZUFBTEEsY0FBSzs7SUFDTEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsT0FBTztlQUFQQSxnQkFBTzs7SUFDUEMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsVUFBVTtlQUFWQSxtQkFBVTs7SUFDVkMsWUFBWTtlQUFaQSxxQkFBWTs7SUFDWkMsZ0JBQWdCO2VBQWhCQSx5QkFBZ0I7O0lBRWhCQyxTQUFTO2VBQVRBLGtCQUFTOztJQUVUQyxhQUFhO2VBQWJBLGFBQWE7O0lBQ2JDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOztJQUNoQkMsaUJBQWlCO2VBQWpCQSxpQkFBaUI7O0lBQ2pCQyxpQkFBaUI7ZUFBakJBLGlCQUFpQjs7SUFDakJDLG1CQUFtQjtlQUFuQkEsbUJBQW1COztJQUVuQkMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsU0FBUztlQUFUQSxrQkFBUzs7SUFDVEMsWUFBWTtlQUFaQSxxQkFBWTs7SUFDWkMsWUFBWTtlQUFaQSxxQkFBWTs7SUFDWkMsa0JBQWtCO2VBQWxCQSwyQkFBa0I7O0lBQ2xCQyxrQkFBa0I7ZUFBbEJBLDJCQUFrQjs7SUFDbEJDLGtCQUFrQjtlQUFsQkEsMkJBQWtCOztJQUNsQkMsb0JBQW9CO2VBQXBCQSw2QkFBb0I7Ozt5REE1QlI7MERBQ0M7NERBQ0U7NERBQ0E7NERBQ0E7NERBQ0E7NkRBQ0M7K0RBQ0U7aUVBQ0U7cUVBQ0k7OERBRVA7eURBRUk7NERBQ0c7NkRBQ0M7NkRBQ0E7K0RBQ0U7NkRBRVg7NkRBQ0E7OERBQ0M7OERBQ0E7aUVBQ0c7aUVBQ0E7dUVBQ007dUVBQ0E7dUVBQ0E7eUVBQ0UifQ==
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.95",
4
+ "version": "5.0.96",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-file-system",
7
7
  "description": "Occam's file system functionality.",
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ import { arrayUtilities } from "necessary";
4
+ import { pathUtilities, fileSystemUtilities } from "necessary";
5
+ import { createFile, mkdirs as createDirectory } from "fs-extra";
6
+
7
+ const { first } = arrayUtilities,
8
+ { concatenatePaths } = pathUtilities,
9
+ { checkEntryExists, isEntryDirectory } = fileSystemUtilities;
10
+
11
+ export default function createProjectEntry(projectsDirectoryPath, json, callback) {
12
+ const { pathMaps } = json,
13
+ firstPathMap = first(pathMaps),
14
+ pathMap = firstPathMap, ///
15
+ { sourceEntryPath, targetEntryPath } = pathMap;
16
+
17
+ createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, (sourceEntryPath, targetEntryPath) => {
18
+ const sourceEntryPaths = [
19
+ sourceEntryPath
20
+ ],
21
+ targetEntryPaths = [
22
+ targetEntryPath
23
+ ];
24
+
25
+ const json = {
26
+ sourceEntryPaths,
27
+ targetEntryPaths
28
+ };
29
+
30
+ callback(json);
31
+ });
32
+ }
33
+
34
+ export function createEntryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
35
+ const absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath),
36
+ entryDirectory = isEntryDirectory(absoluteSourceEntryPath);
37
+
38
+ entryDirectory ?
39
+ createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) :
40
+ createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback);
41
+ }
42
+
43
+ function createFileOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
44
+ const targetFilePath = targetEntryPath; ///
45
+
46
+ if (targetFilePath === null) {
47
+ callback(sourceEntryPath, targetEntryPath);
48
+
49
+ return;
50
+ }
51
+
52
+ const absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath),
53
+ targetFileExists = checkEntryExists(absoluteTargetFilePath);
54
+
55
+ if (targetFileExists) {
56
+ callback(sourceEntryPath, targetEntryPath);
57
+
58
+ return;
59
+ }
60
+
61
+ createFile(absoluteTargetFilePath, (error) => {
62
+ if (error) {
63
+ targetEntryPath = null; ///
64
+ }
65
+
66
+ callback(sourceEntryPath, targetEntryPath);
67
+ });
68
+ }
69
+
70
+ function createDirectoryOperation(sourceEntryPath, targetEntryPath, projectsDirectoryPath, callback) {
71
+ const targetDirectoryPath = targetEntryPath; //
72
+
73
+ if (targetDirectoryPath === null) {
74
+ callback(sourceEntryPath, targetEntryPath);
75
+
76
+ return;
77
+ }
78
+
79
+ const absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath),
80
+ targetDirectoryExists = checkEntryExists(absoluteTargetDirectoryPath);
81
+
82
+ if (targetDirectoryExists) {
83
+ callback(sourceEntryPath, targetEntryPath);
84
+
85
+ return;
86
+ }
87
+
88
+ createDirectory(absoluteTargetDirectoryPath, (error) => {
89
+ if (error) {
90
+ targetEntryPath = null; ///
91
+ }
92
+
93
+ callback(sourceEntryPath, targetEntryPath);
94
+ });
95
+ }
package/src/main.js CHANGED
@@ -26,5 +26,6 @@ export { default as saveFiles } from "./saveFiles";
26
26
  export { default as loadProjects } from "./loadProjects";
27
27
  export { default as loadReleases } from "./loadReleases";
28
28
  export { default as renameProjectEntry } from "./renameProjectEntry";
29
+ export { default as createProjectEntry } from "./createProjectEntry";
29
30
  export { default as moveProjectEntries } from "./moveProjectEntries";
30
31
  export { default as removeProjectEntries } from "./removeProjectEntries";