occam-server 2.0.1 → 7.0.5
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/.swcrc +5 -0
- package/README.md +40 -30
- package/lib/constants.js +26 -0
- package/lib/createProjectEntries.js +63 -0
- package/lib/index.js +75 -0
- package/lib/loadFile.js +18 -0
- package/lib/loadFiles.js +18 -0
- package/lib/loadProject.js +18 -0
- package/lib/loadProjects.js +18 -0
- package/lib/loadRelease.js +18 -0
- package/lib/loadReleases.js +18 -0
- package/lib/moveProjectEntries.js +77 -0
- package/lib/removeProjectEntries.js +68 -0
- package/lib/removeRelease.js +32 -0
- package/lib/renameProjectEntries.js +74 -0
- package/lib/saveFile.js +19 -0
- package/lib/utilities/fileSystem.js +255 -0
- package/lib/utilities/http.js +76 -0
- package/lib/utilities/name.js +16 -0
- package/lib/utilities/pathMap.js +58 -0
- package/license.txt +48 -0
- package/package.json +20 -22
- package/src/constants.js +5 -0
- package/src/createProjectEntries.js +71 -0
- package/src/index.js +16 -0
- package/src/loadFile.js +15 -0
- package/src/loadFiles.js +15 -0
- package/src/loadProject.js +15 -0
- package/src/loadProjects.js +14 -0
- package/src/loadRelease.js +14 -0
- package/src/loadReleases.js +13 -0
- package/src/moveProjectEntries.js +102 -0
- package/src/removeProjectEntries.js +79 -0
- package/src/removeRelease.js +35 -0
- package/src/renameProjectEntries.js +101 -0
- package/src/saveFile.js +14 -0
- package/src/utilities/fileSystem.js +364 -0
- package/src/utilities/http.js +71 -0
- package/src/utilities/name.js +7 -0
- package/src/utilities/pathMap.js +39 -0
- package/es6/handler/importProject.js +0 -23
- package/es6/handler/loadFile.js +0 -27
- package/es6/handler/loadFiles.js +0 -25
- package/es6/handler/loadProjects.js +0 -29
- package/es6/handler/moveProjectEntries.js +0 -24
- package/es6/handler/removeProjectEntries.js +0 -24
- package/es6/handler/saveFile.js +0 -26
- package/es6/handler/saveFiles.js +0 -26
- package/es6/handlers.js +0 -67
- package/es6/httpResponse.js +0 -46
- package/es6/main.js +0 -36
- package/es6/middleware/error.js +0 -11
- package/es6/paths.js +0 -7
- package/es6/routers.js +0 -47
- package/es6/uris.js +0 -25
- package/es6/utilities/query.js +0 -15
- package/index.js +0 -3
- package/lib/handler/importProject.js +0 -26
- package/lib/handler/loadFile.js +0 -29
- package/lib/handler/loadFiles.js +0 -28
- package/lib/handler/loadProjects.js +0 -31
- package/lib/handler/moveProjectEntries.js +0 -29
- package/lib/handler/removeProjectEntries.js +0 -29
- package/lib/handler/saveFile.js +0 -31
- package/lib/handler/saveFiles.js +0 -31
- package/lib/handlers.js +0 -81
- package/lib/httpResponse.js +0 -47
- package/lib/main.js +0 -41
- package/lib/middleware/error.js +0 -12
- package/lib/paths.js +0 -8
- package/lib/routers.js +0 -52
- package/lib/uris.js +0 -26
- package/lib/utilities/query.js +0 -16
|
@@ -0,0 +1,74 @@
|
|
|
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: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get default () {
|
|
13
|
+
return renameProjectEntries;
|
|
14
|
+
},
|
|
15
|
+
get renameProjectEntry () {
|
|
16
|
+
return renameProjectEntry;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _necessary = require("necessary");
|
|
20
|
+
var _pathMap = require("./utilities/pathMap");
|
|
21
|
+
var last = _necessary.arrayUtilities.last, concatenatePaths = _necessary.pathUtilities.concatenatePaths, renameEntry = _necessary.fileSystemUtilities.renameEntry, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, checkFileExists = _necessary.fileSystemUtilities.checkEntryExists, checkDirectoryExists = _necessary.fileSystemUtilities.checkEntryExists;
|
|
22
|
+
function renameProjectEntries(projectsDirectoryPath, json, callback) {
|
|
23
|
+
var pathMaps = json.pathMaps, lastPathMap = last(pathMaps), pathMap = lastPathMap; ///
|
|
24
|
+
renameProjectEntry(projectsDirectoryPath, pathMap);
|
|
25
|
+
var targetEntryPath = pathMap.targetEntryPath;
|
|
26
|
+
if (targetEntryPath === null) {
|
|
27
|
+
(0, _pathMap.nullifyTargetEntryPaths)(pathMaps);
|
|
28
|
+
}
|
|
29
|
+
json = {
|
|
30
|
+
pathMaps: pathMaps
|
|
31
|
+
};
|
|
32
|
+
callback(json);
|
|
33
|
+
}
|
|
34
|
+
function renameProjectEntry(projectsDirectoryPath, pathMap) {
|
|
35
|
+
var targetEntryPath = pathMap.targetEntryPath;
|
|
36
|
+
if (targetEntryPath === null) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
var sourceEntryPath = pathMap.sourceEntryPath, absoluteSourceEntryPath = concatenatePaths(projectsDirectoryPath, sourceEntryPath), sourceEntryExists = checkEntryExists(absoluteSourceEntryPath);
|
|
40
|
+
if (!sourceEntryExists) {
|
|
41
|
+
(0, _pathMap.nullifyTargetEntryPath)(pathMap);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
var entryDirectory = pathMap.entryDirectory;
|
|
45
|
+
entryDirectory ? renameProjectDirectory(projectsDirectoryPath, pathMap) : renameProjectFile(projectsDirectoryPath, pathMap);
|
|
46
|
+
}
|
|
47
|
+
function renameProjectFile(projectsDirectoryPath, pathMap) {
|
|
48
|
+
var sourceEntryPath = pathMap.sourceEntryPath, targetEntryPath = pathMap.targetEntryPath, sourceFilePath = sourceEntryPath, targetFilePath = targetEntryPath, absoluteSourceFilePath = concatenatePaths(projectsDirectoryPath, sourceFilePath), absoluteTargetFilePath = concatenatePaths(projectsDirectoryPath, targetFilePath), targetFileExists = checkFileExists(absoluteTargetFilePath);
|
|
49
|
+
if (targetFileExists) {
|
|
50
|
+
(0, _pathMap.nullifyEntryPaths)(pathMap);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
var oldEntryPath = absoluteSourceFilePath, newEntryPath = absoluteTargetFilePath; ///
|
|
55
|
+
renameEntry(oldEntryPath, newEntryPath); ///
|
|
56
|
+
} catch (error) {
|
|
57
|
+
(0, _pathMap.nullifyEntryPaths)(pathMap);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function renameProjectDirectory(projectsDirectoryPath, pathMap) {
|
|
61
|
+
var sourceEntryPath = pathMap.sourceEntryPath, targetEntryPath = pathMap.targetEntryPath, sourceDirectoryPath = sourceEntryPath, targetDirectoryPath = targetEntryPath, absoluteSourceDirectoryPath = concatenatePaths(projectsDirectoryPath, sourceDirectoryPath), absoluteTargetDirectoryPath = concatenatePaths(projectsDirectoryPath, targetDirectoryPath), targetDirectoryExists = checkDirectoryExists(absoluteTargetDirectoryPath);
|
|
62
|
+
if (targetDirectoryExists) {
|
|
63
|
+
(0, _pathMap.nullifyEntryPaths)(pathMap);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
var oldEntryPath = absoluteSourceDirectoryPath, newEntryPath = absoluteTargetDirectoryPath; ///
|
|
68
|
+
renameEntry(oldEntryPath, newEntryPath); ///
|
|
69
|
+
} catch (error) {
|
|
70
|
+
(0, _pathMap.nullifyEntryPaths)(pathMap);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW5hbWVQcm9qZWN0RW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGF0aFV0aWxpdGllcywgYXJyYXlVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IG51bGxpZnlFbnRyeVBhdGhzLCBudWxsaWZ5VGFyZ2V0RW50cnlQYXRoLCBudWxsaWZ5VGFyZ2V0RW50cnlQYXRocyB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwXCI7XG5cbmNvbnN0IHsgbGFzdCB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IGNvbmNhdGVuYXRlUGF0aHMgfSA9IHBhdGhVdGlsaXRpZXMsXG4gICAgICB7IHJlbmFtZUVudHJ5LCBjaGVja0VudHJ5RXhpc3RzLCBjaGVja0VudHJ5RXhpc3RzOiBjaGVja0ZpbGVFeGlzdHMsIGNoZWNrRW50cnlFeGlzdHM6IGNoZWNrRGlyZWN0b3J5RXhpc3RzIH0gPSBmaWxlU3lzdGVtVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZW5hbWVQcm9qZWN0RW50cmllcyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGF0aE1hcHMgfSA9IGpzb24sXG4gICAgICAgIGxhc3RQYXRoTWFwID0gbGFzdChwYXRoTWFwcyksXG4gICAgICAgIHBhdGhNYXAgPSBsYXN0UGF0aE1hcDsgLy8vXG5cbiAgcmVuYW1lUHJvamVjdEVudHJ5KHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aE1hcCk7XG5cbiAgY29uc3QgeyB0YXJnZXRFbnRyeVBhdGggfSA9IHBhdGhNYXA7XG5cbiAgaWYgKHRhcmdldEVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgIG51bGxpZnlUYXJnZXRFbnRyeVBhdGhzKHBhdGhNYXBzKTtcbiAgfVxuXG4gIGpzb24gPSB7XG4gICAgcGF0aE1hcHNcbiAgfTtcblxuICBjYWxsYmFjayhqc29uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmFtZVByb2plY3RFbnRyeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGhNYXApIHtcbiAgY29uc3QgeyB0YXJnZXRFbnRyeVBhdGggfSA9IHBhdGhNYXA7XG5cbiAgaWYgKHRhcmdldEVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgc291cmNlRW50cnlQYXRoIH0gPSBwYXRoTWFwLFxuICAgICAgICBhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VFbnRyeVBhdGgpLFxuICAgICAgICBzb3VyY2VFbnRyeUV4aXN0cyA9IGNoZWNrRW50cnlFeGlzdHMoYWJzb2x1dGVTb3VyY2VFbnRyeVBhdGgpO1xuXG4gIGlmICghc291cmNlRW50cnlFeGlzdHMpIHtcbiAgICBudWxsaWZ5VGFyZ2V0RW50cnlQYXRoKHBhdGhNYXApO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyBlbnRyeURpcmVjdG9yeSB9ID0gcGF0aE1hcDtcblxuICBlbnRyeURpcmVjdG9yeSA/XG4gICAgcmVuYW1lUHJvamVjdERpcmVjdG9yeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGhNYXApIDpcbiAgICAgIHJlbmFtZVByb2plY3RGaWxlKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aE1hcCk7XG59XG5cbmZ1bmN0aW9uIHJlbmFtZVByb2plY3RGaWxlKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgcGF0aE1hcCkge1xuICBjb25zdCB7IHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoIH0gPSBwYXRoTWFwLFxuICAgICAgICBzb3VyY2VGaWxlUGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgLy8vXG4gICAgICAgIHRhcmdldEZpbGVQYXRoID0gdGFyZ2V0RW50cnlQYXRoLCAvLy9cbiAgICAgICAgYWJzb2x1dGVTb3VyY2VGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBzb3VyY2VGaWxlUGF0aCksXG4gICAgICAgIGFic29sdXRlVGFyZ2V0RmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdGFyZ2V0RmlsZVBhdGgpLFxuICAgICAgICB0YXJnZXRGaWxlRXhpc3RzID0gY2hlY2tGaWxlRXhpc3RzKGFic29sdXRlVGFyZ2V0RmlsZVBhdGgpO1xuXG4gIGlmICh0YXJnZXRGaWxlRXhpc3RzKSB7XG4gICAgbnVsbGlmeUVudHJ5UGF0aHMocGF0aE1hcCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IG9sZEVudHJ5UGF0aCA9IGFic29sdXRlU291cmNlRmlsZVBhdGgsIC8vL1xuICAgICAgICAgIG5ld0VudHJ5UGF0aCA9IGFic29sdXRlVGFyZ2V0RmlsZVBhdGg7IC8vL1xuXG4gICAgcmVuYW1lRW50cnkob2xkRW50cnlQYXRoLCBuZXdFbnRyeVBhdGgpOyAgLy8vXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbnVsbGlmeUVudHJ5UGF0aHMocGF0aE1hcCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuYW1lUHJvamVjdERpcmVjdG9yeShwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGhNYXApIHtcbiAgY29uc3QgeyBzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCB9ID0gcGF0aE1hcCxcbiAgICAgICAgc291cmNlRGlyZWN0b3J5UGF0aCA9IHNvdXJjZUVudHJ5UGF0aCwgLy8vXG4gICAgICAgIHRhcmdldERpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGgsIC8vL1xuICAgICAgICBhYnNvbHV0ZVNvdXJjZURpcmVjdG9yeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc291cmNlRGlyZWN0b3J5UGF0aCksXG4gICAgICAgIGFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCB0YXJnZXREaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgdGFyZ2V0RGlyZWN0b3J5RXhpc3RzID0gY2hlY2tEaXJlY3RvcnlFeGlzdHMoYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoKTtcblxuICBpZiAodGFyZ2V0RGlyZWN0b3J5RXhpc3RzKSB7XG4gICAgbnVsbGlmeUVudHJ5UGF0aHMocGF0aE1hcCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IG9sZEVudHJ5UGF0aCA9IGFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCwgLy8vXG4gICAgICAgICAgbmV3RW50cnlQYXRoID0gYWJzb2x1dGVUYXJnZXREaXJlY3RvcnlQYXRoOyAvLy9cblxuICAgIHJlbmFtZUVudHJ5KG9sZEVudHJ5UGF0aCwgbmV3RW50cnlQYXRoKTsgIC8vL1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIG51bGxpZnlFbnRyeVBhdGhzKHBhdGhNYXApO1xuICB9XG59XG4iXSwibmFtZXMiOlsicmVuYW1lUHJvamVjdEVudHJpZXMiLCJyZW5hbWVQcm9qZWN0RW50cnkiLCJsYXN0IiwiYXJyYXlVdGlsaXRpZXMiLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsInJlbmFtZUVudHJ5IiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImNoZWNrRW50cnlFeGlzdHMiLCJjaGVja0ZpbGVFeGlzdHMiLCJjaGVja0RpcmVjdG9yeUV4aXN0cyIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImpzb24iLCJjYWxsYmFjayIsInBhdGhNYXBzIiwibGFzdFBhdGhNYXAiLCJwYXRoTWFwIiwidGFyZ2V0RW50cnlQYXRoIiwibnVsbGlmeVRhcmdldEVudHJ5UGF0aHMiLCJzb3VyY2VFbnRyeVBhdGgiLCJhYnNvbHV0ZVNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5RXhpc3RzIiwibnVsbGlmeVRhcmdldEVudHJ5UGF0aCIsImVudHJ5RGlyZWN0b3J5IiwicmVuYW1lUHJvamVjdERpcmVjdG9yeSIsInJlbmFtZVByb2plY3RGaWxlIiwic291cmNlRmlsZVBhdGgiLCJ0YXJnZXRGaWxlUGF0aCIsImFic29sdXRlU291cmNlRmlsZVBhdGgiLCJhYnNvbHV0ZVRhcmdldEZpbGVQYXRoIiwidGFyZ2V0RmlsZUV4aXN0cyIsIm51bGxpZnlFbnRyeVBhdGhzIiwib2xkRW50cnlQYXRoIiwibmV3RW50cnlQYXRoIiwiZXJyb3IiLCJzb3VyY2VEaXJlY3RvcnlQYXRoIiwidGFyZ2V0RGlyZWN0b3J5UGF0aCIsImFic29sdXRlU291cmNlRGlyZWN0b3J5UGF0aCIsImFic29sdXRlVGFyZ2V0RGlyZWN0b3J5UGF0aCIsInRhcmdldERpcmVjdG9yeUV4aXN0cyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBVUE7ZUFBd0JBOztRQW9CUkM7ZUFBQUE7Ozt5QkE1Qm1EO3VCQUVnQjtBQUVuRixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRCxNQUNGLEFBQUVFLG1CQUFxQkMsd0JBQWEsQ0FBbENELGtCQUNBRSxjQUE2R0MsOEJBQW1CLENBQWhJRCxhQUFhRSxtQkFBZ0dELDhCQUFtQixDQUFuSEMsa0JBQWtCQSxBQUFrQkMsa0JBQTRERiw4QkFBbUIsQ0FBakdDLGtCQUFtQ0EsQUFBa0JFLHVCQUF5QkgsOEJBQW1CLENBQTlEQztBQUUzRCxTQUFTUixxQkFBcUJXLHFCQUFxQixFQUFFQyxJQUFJLEVBQUVDLFFBQVE7SUFDaEYsSUFBTSxBQUFFQyxXQUFhRixLQUFiRSxVQUNGQyxjQUFjYixLQUFLWSxXQUNuQkUsVUFBVUQsYUFBYSxHQUFHO0lBRWhDZCxtQkFBbUJVLHVCQUF1Qks7SUFFMUMsSUFBTSxBQUFFQyxrQkFBb0JELFFBQXBCQztJQUVSLElBQUlBLG9CQUFvQixNQUFNO1FBQzVCQyxJQUFBQSxnQ0FBdUIsRUFBQ0o7SUFDMUI7SUFFQUYsT0FBTztRQUNMRSxVQUFBQTtJQUNGO0lBRUFELFNBQVNEO0FBQ1g7QUFFTyxTQUFTWCxtQkFBbUJVLHFCQUFxQixFQUFFSyxPQUFPO0lBQy9ELElBQU0sQUFBRUMsa0JBQW9CRCxRQUFwQkM7SUFFUixJQUFJQSxvQkFBb0IsTUFBTTtRQUM1QjtJQUNGO0lBRUEsSUFBTSxBQUFFRSxrQkFBb0JILFFBQXBCRyxpQkFDRkMsMEJBQTBCaEIsaUJBQWlCTyx1QkFBdUJRLGtCQUNsRUUsb0JBQW9CYixpQkFBaUJZO0lBRTNDLElBQUksQ0FBQ0MsbUJBQW1CO1FBQ3RCQyxJQUFBQSwrQkFBc0IsRUFBQ047UUFFdkI7SUFDRjtJQUVBLElBQU0sQUFBRU8saUJBQW1CUCxRQUFuQk87SUFFUkEsaUJBQ0VDLHVCQUF1QmIsdUJBQXVCSyxXQUM1Q1Msa0JBQWtCZCx1QkFBdUJLO0FBQy9DO0FBRUEsU0FBU1Msa0JBQWtCZCxxQkFBcUIsRUFBRUssT0FBTztJQUN2RCxJQUFRRyxrQkFBcUNILFFBQXJDRyxpQkFBaUJGLGtCQUFvQkQsUUFBcEJDLGlCQUNuQlMsaUJBQWlCUCxpQkFDakJRLGlCQUFpQlYsaUJBQ2pCVyx5QkFBeUJ4QixpQkFBaUJPLHVCQUF1QmUsaUJBQ2pFRyx5QkFBeUJ6QixpQkFBaUJPLHVCQUF1QmdCLGlCQUNqRUcsbUJBQW1CckIsZ0JBQWdCb0I7SUFFekMsSUFBSUMsa0JBQWtCO1FBQ3BCQyxJQUFBQSwwQkFBaUIsRUFBQ2Y7UUFFbEI7SUFDRjtJQUVBLElBQUk7UUFDRixJQUFNZ0IsZUFBZUosd0JBQ2ZLLGVBQWVKLHdCQUF3QixHQUFHO1FBRWhEdkIsWUFBWTBCLGNBQWNDLGVBQWdCLEdBQUc7SUFDL0MsRUFBRSxPQUFPQyxPQUFPO1FBQ2RILElBQUFBLDBCQUFpQixFQUFDZjtJQUNwQjtBQUNGO0FBRUEsU0FBU1EsdUJBQXVCYixxQkFBcUIsRUFBRUssT0FBTztJQUM1RCxJQUFRRyxrQkFBcUNILFFBQXJDRyxpQkFBaUJGLGtCQUFvQkQsUUFBcEJDLGlCQUNuQmtCLHNCQUFzQmhCLGlCQUN0QmlCLHNCQUFzQm5CLGlCQUN0Qm9CLDhCQUE4QmpDLGlCQUFpQk8sdUJBQXVCd0Isc0JBQ3RFRyw4QkFBOEJsQyxpQkFBaUJPLHVCQUF1QnlCLHNCQUN0RUcsd0JBQXdCN0IscUJBQXFCNEI7SUFFbkQsSUFBSUMsdUJBQXVCO1FBQ3pCUixJQUFBQSwwQkFBaUIsRUFBQ2Y7UUFFbEI7SUFDRjtJQUVBLElBQUk7UUFDRixJQUFNZ0IsZUFBZUssNkJBQ2ZKLGVBQWVLLDZCQUE2QixHQUFHO1FBRXJEaEMsWUFBWTBCLGNBQWNDLGVBQWdCLEdBQUc7SUFDL0MsRUFBRSxPQUFPQyxPQUFPO1FBQ2RILElBQUFBLDBCQUFpQixFQUFDZjtJQUNwQjtBQUNGIn0=
|
package/lib/saveFile.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return saveFile;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _occammodel = require("occam-model");
|
|
12
|
+
var _fileSystem = require("./utilities/fileSystem");
|
|
13
|
+
function saveFile(projectsDirectoryPath, json, callback) {
|
|
14
|
+
var file = _occammodel.File.fromJSON(json), success = (0, _fileSystem.saveFile)(file, projectsDirectoryPath);
|
|
15
|
+
json = success; ///
|
|
16
|
+
callback(json);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zYXZlRmlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRmlsZSB9IGZyb20gXCJvY2NhbS1tb2RlbFwiO1xuXG5pbXBvcnQgeyBzYXZlRmlsZSBhcyBzYXZlRmlsZUV4IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVTeXN0ZW1cIlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzYXZlRmlsZShwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGpzb24sIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGZpbGUgPSBGaWxlLmZyb21KU09OKGpzb24pLFxuICAgICAgICBzdWNjZXNzID0gc2F2ZUZpbGVFeChmaWxlLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xuXG4gIGpzb24gPSBzdWNjZXNzOyAvLy9cblxuICBjYWxsYmFjayhqc29uKTtcbn1cbiJdLCJuYW1lcyI6WyJzYXZlRmlsZSIsInByb2plY3RzRGlyZWN0b3J5UGF0aCIsImpzb24iLCJjYWxsYmFjayIsImZpbGUiLCJGaWxlIiwiZnJvbUpTT04iLCJzdWNjZXNzIiwic2F2ZUZpbGVFeCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7OzswQkFKSDswQkFFa0I7QUFFeEIsU0FBU0EsU0FBU0MscUJBQXFCLEVBQUVDLElBQUksRUFBRUMsUUFBUTtJQUNwRSxJQUFNQyxPQUFPQyxnQkFBSSxDQUFDQyxRQUFRLENBQUNKLE9BQ3JCSyxVQUFVQyxJQUFBQSxvQkFBVSxFQUFDSixNQUFNSDtJQUVqQ0MsT0FBT0ssU0FBUyxHQUFHO0lBRW5CSixTQUFTRDtBQUNYIn0=
|
|
@@ -0,0 +1,255 @@
|
|
|
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: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get default () {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
get loadFile () {
|
|
16
|
+
return loadFile;
|
|
17
|
+
},
|
|
18
|
+
get loadFiles () {
|
|
19
|
+
return loadFiles;
|
|
20
|
+
},
|
|
21
|
+
get loadProject () {
|
|
22
|
+
return loadProject;
|
|
23
|
+
},
|
|
24
|
+
get loadProjects () {
|
|
25
|
+
return loadProjects;
|
|
26
|
+
},
|
|
27
|
+
get loadRelease () {
|
|
28
|
+
return loadRelease;
|
|
29
|
+
},
|
|
30
|
+
get loadReleases () {
|
|
31
|
+
return loadReleases;
|
|
32
|
+
},
|
|
33
|
+
get saveFile () {
|
|
34
|
+
return saveFile;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
var _necessary = require("necessary");
|
|
38
|
+
var _occammodel = require("occam-model");
|
|
39
|
+
var _name = require("../utilities/name");
|
|
40
|
+
var first = _necessary.arrayUtilities.first, isFilePathRecognisedFilePath = _occammodel.filePathUtilities.isFilePathRecognisedFilePath, concatenatePaths = _necessary.pathUtilities.concatenatePaths, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath, readFile = _necessary.fileSystemUtilities.readFile, writeFile = _necessary.fileSystemUtilities.writeFile, isEntryFile = _necessary.fileSystemUtilities.isEntryFile, readDirectory = _necessary.fileSystemUtilities.readDirectory, isEntryDirectory = _necessary.fileSystemUtilities.isEntryDirectory, checkEntryExists = _necessary.fileSystemUtilities.checkEntryExists, checkFileExists = _necessary.fileSystemUtilities.checkEntryExists;
|
|
41
|
+
function loadFile(path, projectsDirectoryPath) {
|
|
42
|
+
var file = null;
|
|
43
|
+
try {
|
|
44
|
+
var topmostDirectoryName = topmostDirectoryNameFromPath(path);
|
|
45
|
+
if (topmostDirectoryName !== null) {
|
|
46
|
+
var absolutePath = concatenatePaths(projectsDirectoryPath, topmostDirectoryName), entryDirectory = isEntryDirectory(absolutePath);
|
|
47
|
+
file = entryDirectory ? fileFromProject(path, projectsDirectoryPath) : fileFromRelease(path, projectsDirectoryPath);
|
|
48
|
+
}
|
|
49
|
+
} catch (error) {
|
|
50
|
+
///
|
|
51
|
+
}
|
|
52
|
+
return file;
|
|
53
|
+
}
|
|
54
|
+
function saveFile(file, projectsDirectoryPath) {
|
|
55
|
+
var success = false;
|
|
56
|
+
var filePath = file.getPath(), absoluteFilePath = concatenatePaths(projectsDirectoryPath, filePath), fileExists = checkFileExists(absoluteFilePath);
|
|
57
|
+
if (fileExists) {
|
|
58
|
+
var filePath1 = absoluteFilePath, content = file.getContent();
|
|
59
|
+
try {
|
|
60
|
+
writeFile(filePath1, content);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
///
|
|
63
|
+
}
|
|
64
|
+
success = true;
|
|
65
|
+
}
|
|
66
|
+
return success;
|
|
67
|
+
}
|
|
68
|
+
function loadFiles(paths, projectsDirectoryPath) {
|
|
69
|
+
var files;
|
|
70
|
+
try {
|
|
71
|
+
files = _occammodel.Files.fromNothing();
|
|
72
|
+
var pathsLength = paths.length;
|
|
73
|
+
if (pathsLength > 0) {
|
|
74
|
+
var firstPath = first(paths), path = firstPath, topmostDirectoryName = topmostDirectoryNameFromPath(path);
|
|
75
|
+
if (topmostDirectoryName !== null) {
|
|
76
|
+
var absolutePath = concatenatePaths(projectsDirectoryPath, topmostDirectoryName), entryExists = checkEntryExists(absolutePath);
|
|
77
|
+
if (entryExists) {
|
|
78
|
+
var entryDirectory = isEntryDirectory(absolutePath);
|
|
79
|
+
files = entryDirectory ? filesFromProject(paths, projectsDirectoryPath) : filesFromRelease(paths, projectsDirectoryPath);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} catch (error) {
|
|
84
|
+
files = null;
|
|
85
|
+
}
|
|
86
|
+
return files;
|
|
87
|
+
}
|
|
88
|
+
function loadRelease(releaseName, projectsDirectoryPath) {
|
|
89
|
+
var release = null;
|
|
90
|
+
try {
|
|
91
|
+
var name = releaseName, topmostFileName = releaseName, absolutePath = concatenatePaths(projectsDirectoryPath, topmostFileName), entryFile = isEntryFile(absolutePath);
|
|
92
|
+
if (entryFile) {
|
|
93
|
+
var json, entries;
|
|
94
|
+
var content = readFile(absolutePath);
|
|
95
|
+
json = JSON.parse(content);
|
|
96
|
+
entries = json.entries;
|
|
97
|
+
json = entries; ///
|
|
98
|
+
entries = _occammodel.Entries.fromJSON(json);
|
|
99
|
+
release = _occammodel.Release.fromNameAndEntries(name, entries);
|
|
100
|
+
}
|
|
101
|
+
} catch (error) {
|
|
102
|
+
///
|
|
103
|
+
}
|
|
104
|
+
return release;
|
|
105
|
+
}
|
|
106
|
+
function loadProject(projectName, projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
107
|
+
var project = null;
|
|
108
|
+
try {
|
|
109
|
+
var name = projectName, topmostDirectoryName = projectName, entries = loadEntries(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles);
|
|
110
|
+
project = _occammodel.Project.fromNameAndEntries(name, entries);
|
|
111
|
+
} catch (error) {
|
|
112
|
+
///
|
|
113
|
+
}
|
|
114
|
+
return project;
|
|
115
|
+
}
|
|
116
|
+
function loadReleases(projectsDirectoryPath) {
|
|
117
|
+
var releases;
|
|
118
|
+
try {
|
|
119
|
+
releases = _occammodel.Releases.fromNothing();
|
|
120
|
+
var topmostFileNames = topmostFileNamesFromProjectsDirectoryPath(projectsDirectoryPath), releaseNames = topmostFileNames; ///
|
|
121
|
+
releaseNames.forEach(function(releaseName) {
|
|
122
|
+
var release = loadRelease(releaseName, projectsDirectoryPath);
|
|
123
|
+
if (release !== null) {
|
|
124
|
+
releases.addRelease(release);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
} catch (error) {
|
|
128
|
+
releases = null;
|
|
129
|
+
}
|
|
130
|
+
return releases;
|
|
131
|
+
}
|
|
132
|
+
function loadProjects(projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
133
|
+
var projects;
|
|
134
|
+
try {
|
|
135
|
+
projects = _occammodel.Projects.fromNothing();
|
|
136
|
+
var topmostDirectoryNames = topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath), projectNames = topmostDirectoryNames; ///
|
|
137
|
+
projectNames.forEach(function(projectName) {
|
|
138
|
+
var project = loadProject(projectName, projectsDirectoryPath, loadOnlyRecognisedFiles);
|
|
139
|
+
if (project !== null) {
|
|
140
|
+
projects.addProject(project);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
} catch (error) {
|
|
144
|
+
projects = null;
|
|
145
|
+
}
|
|
146
|
+
return projects;
|
|
147
|
+
}
|
|
148
|
+
var _default = {
|
|
149
|
+
loadFile: loadFile,
|
|
150
|
+
saveFile: saveFile,
|
|
151
|
+
loadFiles: loadFiles,
|
|
152
|
+
loadRelease: loadRelease,
|
|
153
|
+
loadProject: loadProject,
|
|
154
|
+
loadReleases: loadReleases,
|
|
155
|
+
loadProjects: loadProjects
|
|
156
|
+
};
|
|
157
|
+
function loadEntries(topmostDirectoryName, projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
158
|
+
var entries = _occammodel.Entries.fromNothing(), relativeDirectoryPath = topmostDirectoryName; ///
|
|
159
|
+
entriesFromRelativeDirectoryPath(entries, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles);
|
|
160
|
+
return entries;
|
|
161
|
+
}
|
|
162
|
+
function loadDirectory(path, projectsDirectoryPath) {
|
|
163
|
+
var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryDirectory = isEntryDirectory(absolutePath), directory = entryDirectory ? _occammodel.Directory.fromPath(path) : null;
|
|
164
|
+
return directory;
|
|
165
|
+
}
|
|
166
|
+
function fileFromProject(path, projectsDirectoryPath) {
|
|
167
|
+
var file = null;
|
|
168
|
+
var absolutePath = concatenatePaths(projectsDirectoryPath, path), entryFile = isEntryFile(absolutePath);
|
|
169
|
+
if (entryFile) {
|
|
170
|
+
var released = false, content = readFile(absolutePath);
|
|
171
|
+
file = _occammodel.File.fromPathContentAndReleased(path, content, released);
|
|
172
|
+
}
|
|
173
|
+
return file;
|
|
174
|
+
}
|
|
175
|
+
function fileFromRelease(path, projectsDirectoryPath) {
|
|
176
|
+
var topmostDirectoryName = topmostDirectoryNameFromPath(path), topmostFileName = topmostDirectoryName, filePath = path, release = loadRelease(topmostFileName, projectsDirectoryPath), file = release.findFile(filePath);
|
|
177
|
+
return file;
|
|
178
|
+
}
|
|
179
|
+
function filesFromProject(paths, projectsDirectoryPath) {
|
|
180
|
+
var files = _occammodel.Files.fromNothing();
|
|
181
|
+
paths.forEach(function(path) {
|
|
182
|
+
var file = fileFromProject(path, projectsDirectoryPath);
|
|
183
|
+
files.addFile(file);
|
|
184
|
+
});
|
|
185
|
+
return files;
|
|
186
|
+
}
|
|
187
|
+
function filesFromRelease(paths, projectsDirectoryPath) {
|
|
188
|
+
var files = _occammodel.Files.fromNothing(), pathsLength = paths.length;
|
|
189
|
+
if (pathsLength > 0) {
|
|
190
|
+
var firstPath = first(paths), path = firstPath, topmostDirectoryName = topmostDirectoryNameFromPath(path), topmostFileName = topmostDirectoryName, release = loadRelease(topmostFileName, projectsDirectoryPath);
|
|
191
|
+
paths.forEach(function(path) {
|
|
192
|
+
var filePath = path, file = release.findFile(filePath);
|
|
193
|
+
files.addFile(file);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
return files;
|
|
197
|
+
}
|
|
198
|
+
function entriesFromRelativeDirectoryPath(entries, relativeDirectoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles) {
|
|
199
|
+
var absoluteDirectoryPath = concatenatePaths(projectsDirectoryPath, relativeDirectoryPath), subEntryNames = readDirectory(absoluteDirectoryPath);
|
|
200
|
+
subEntryNames.forEach(function(subEntryName) {
|
|
201
|
+
var subEntryNameHiddenName = (0, _name.isNameHiddenName)(subEntryName), loadUnrecognisedFilesAndDirectories = !loadOnlyRecognisedFiles;
|
|
202
|
+
if (!subEntryNameHiddenName) {
|
|
203
|
+
var path = concatenatePaths(relativeDirectoryPath, subEntryName), directory = loadDirectory(path, projectsDirectoryPath);
|
|
204
|
+
if (directory !== null) {
|
|
205
|
+
var directoryPath = path; ///
|
|
206
|
+
if (loadUnrecognisedFilesAndDirectories) {
|
|
207
|
+
entries.addDirectory(directory);
|
|
208
|
+
}
|
|
209
|
+
entriesFromRelativeDirectoryPath(entries, directoryPath, projectsDirectoryPath, loadOnlyRecognisedFiles); ///
|
|
210
|
+
} else {
|
|
211
|
+
var file = loadFile(path, projectsDirectoryPath);
|
|
212
|
+
if (file !== null) {
|
|
213
|
+
var filePath = file.getPath(), filePathRecognisedFilePath = isFilePathRecognisedFilePath(filePath), fileRecognisedFile = filePathRecognisedFilePath; ///
|
|
214
|
+
if (fileRecognisedFile || loadUnrecognisedFilesAndDirectories) {
|
|
215
|
+
entries.addFile(file);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
function topmostFileNamesFromProjectsDirectoryPath(projectsDirectoryPath) {
|
|
223
|
+
var topmostFileNames;
|
|
224
|
+
var subEntryNames = readDirectory(projectsDirectoryPath);
|
|
225
|
+
topmostFileNames = subEntryNames.reduce(function(topmostFileNames, subEntryName) {
|
|
226
|
+
var absoluteSubEntryPath = concatenatePaths(projectsDirectoryPath, subEntryName), subEntryNameHiddenName = (0, _name.isNameHiddenName)(subEntryName);
|
|
227
|
+
if (!subEntryNameHiddenName) {
|
|
228
|
+
var subEntryFile = isEntryFile(absoluteSubEntryPath);
|
|
229
|
+
if (subEntryFile) {
|
|
230
|
+
var topmostFileName = subEntryName; ///
|
|
231
|
+
topmostFileNames.push(topmostFileName);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return topmostFileNames;
|
|
235
|
+
}, []);
|
|
236
|
+
return topmostFileNames;
|
|
237
|
+
}
|
|
238
|
+
function topmostDirectoryNamesFromProjectsDirectoryPath(projectsDirectoryPath) {
|
|
239
|
+
var topmostDirectoryNames;
|
|
240
|
+
var subEntryNames = readDirectory(projectsDirectoryPath);
|
|
241
|
+
topmostDirectoryNames = subEntryNames.reduce(function(topmostDirectoryNames, subEntryName) {
|
|
242
|
+
var absoluteSubEntryPath = concatenatePaths(projectsDirectoryPath, subEntryName), subEntryNameHiddenName = (0, _name.isNameHiddenName)(subEntryName);
|
|
243
|
+
if (!subEntryNameHiddenName) {
|
|
244
|
+
var subEntryDirectory = isEntryDirectory(absoluteSubEntryPath);
|
|
245
|
+
if (subEntryDirectory) {
|
|
246
|
+
var topmostDirectoryName = subEntryName; ///
|
|
247
|
+
topmostDirectoryNames.push(topmostDirectoryName);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return topmostDirectoryNames;
|
|
251
|
+
}, []);
|
|
252
|
+
return topmostDirectoryNames;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmlsZVN5c3RlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzLCBwYXRoVXRpbGl0aWVzLCBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xyXG5pbXBvcnQgeyBGaWxlLCBGaWxlcywgRW50cmllcywgUHJvamVjdCwgUmVsZWFzZSwgUHJvamVjdHMsIFJlbGVhc2VzLCBEaXJlY3RvcnksIGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLW1vZGVsXCI7XHJcblxyXG5pbXBvcnQgeyBpc05hbWVIaWRkZW5OYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XHJcblxyXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcclxuICAgICAgeyBpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIH0gPSBmaWxlUGF0aFV0aWxpdGllcyxcclxuICAgICAgeyBjb25jYXRlbmF0ZVBhdGhzLCB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoIH0gPSBwYXRoVXRpbGl0aWVzLFxyXG4gICAgICB7IHJlYWRGaWxlLFxyXG4gICAgICAgIHdyaXRlRmlsZSxcclxuICAgICAgICBpc0VudHJ5RmlsZSxcclxuICAgICAgICByZWFkRGlyZWN0b3J5LFxyXG4gICAgICAgIGlzRW50cnlEaXJlY3RvcnksXHJcbiAgICAgICAgY2hlY2tFbnRyeUV4aXN0cyxcclxuICAgICAgICBjaGVja0VudHJ5RXhpc3RzOiBjaGVja0ZpbGVFeGlzdHMgfSA9IGZpbGVTeXN0ZW1VdGlsaXRpZXM7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEZpbGUocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgbGV0IGZpbGUgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpO1xyXG5cclxuICAgIGlmICh0b3Btb3N0RGlyZWN0b3J5TmFtZSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdERpcmVjdG9yeU5hbWUpLFxyXG4gICAgICAgICAgICBlbnRyeURpcmVjdG9yeSA9IGlzRW50cnlEaXJlY3RvcnkoYWJzb2x1dGVQYXRoKTtcclxuXHJcbiAgICAgIGZpbGUgPSBlbnRyeURpcmVjdG9yeSA/XHJcbiAgICAgICAgICAgICAgIGZpbGVGcm9tUHJvamVjdChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIDpcclxuICAgICAgICAgICAgICAgICBmaWxlRnJvbVJlbGVhc2UocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNhdmVGaWxlKGZpbGUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCBzdWNjZXNzID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXHJcbiAgICAgICAgYWJzb2x1dGVGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBmaWxlUGF0aCksXHJcbiAgICAgICAgZmlsZUV4aXN0cyA9IGNoZWNrRmlsZUV4aXN0cyhhYnNvbHV0ZUZpbGVQYXRoKTtcclxuXHJcbiAgaWYgKGZpbGVFeGlzdHMpIHtcclxuICAgIGNvbnN0IGZpbGVQYXRoID0gYWJzb2x1dGVGaWxlUGF0aCwgIC8vL1xyXG4gICAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIHdyaXRlRmlsZShmaWxlUGF0aCwgY29udGVudCk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAvLy9cclxuICAgIH1cclxuXHJcbiAgICBzdWNjZXNzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHJldHVybiBzdWNjZXNzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEZpbGVzKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZmlsZXM7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gICAgY29uc3QgcGF0aHNMZW5ndGggPSBwYXRocy5sZW5ndGg7XHJcblxyXG4gICAgaWYgKHBhdGhzTGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmaXJzdFBhdGggPSBmaXJzdChwYXRocyksXHJcbiAgICAgICAgICAgIHBhdGggPSBmaXJzdFBhdGgsIC8vL1xyXG4gICAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCk7XHJcblxyXG4gICAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgIT09IG51bGwpIHtcclxuICAgICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgdG9wbW9zdERpcmVjdG9yeU5hbWUpLFxyXG4gICAgICAgICAgICAgIGVudHJ5RXhpc3RzID0gY2hlY2tFbnRyeUV4aXN0cyhhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgICBpZiAoZW50cnlFeGlzdHMpIHtcclxuICAgICAgICAgIGNvbnN0IGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgICAgICAgIGZpbGVzID0gZW50cnlEaXJlY3RvcnkgP1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVzRnJvbVByb2plY3QocGF0aHMsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgZmlsZXNGcm9tUmVsZWFzZShwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgZmlsZXMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2UocmVsZWFzZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlID0gbnVsbDtcclxuXHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IG5hbWUgPSByZWxlYXNlTmFtZSwgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RmlsZU5hbWUgPSByZWxlYXNlTmFtZSwgIC8vL1xyXG4gICAgICAgICAgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHRvcG1vc3RGaWxlTmFtZSksXHJcbiAgICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICAgIGlmIChlbnRyeUZpbGUpIHtcclxuICAgICAgbGV0IGpzb24sXHJcbiAgICAgICAgICBlbnRyaWVzO1xyXG5cclxuICAgICAgY29uc3QgY29udGVudCA9IHJlYWRGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgICBqc29uID0gSlNPTi5wYXJzZShjb250ZW50KTtcclxuXHJcbiAgICAgICh7IGVudHJpZXMgfSA9IGpzb24pO1xyXG5cclxuICAgICAganNvbiAgPSBlbnRyaWVzOyAgLy8vXHJcblxyXG4gICAgICBlbnRyaWVzID0gRW50cmllcy5mcm9tSlNPTihqc29uKTtcclxuXHJcbiAgICAgIHJlbGVhc2UgPSBSZWxlYXNlLmZyb21OYW1lQW5kRW50cmllcyhuYW1lLCBlbnRyaWVzKTtcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8vXHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVsZWFzZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQcm9qZWN0KHByb2plY3ROYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKSB7XHJcbiAgbGV0IHByb2plY3QgPSBudWxsO1xyXG5cclxuICB0cnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHByb2plY3ROYW1lLCAgLy8vXHJcbiAgICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHByb2plY3ROYW1lLCAvLy9cclxuICAgICAgICAgIGVudHJpZXMgPSBsb2FkRW50cmllcyh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7XHJcblxyXG4gICAgcHJvamVjdCA9IFByb2plY3QuZnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAvLy9cclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlbGVhc2VzKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCByZWxlYXNlcztcclxuXHJcbiAgdHJ5IHtcclxuICAgIHJlbGVhc2VzID0gUmVsZWFzZXMuZnJvbU5vdGhpbmcoKTtcclxuXHJcbiAgICBjb25zdCB0b3Btb3N0RmlsZU5hbWVzID0gdG9wbW9zdEZpbGVOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgocHJvamVjdHNEaXJlY3RvcnlQYXRoKSxcclxuICAgICAgICAgIHJlbGVhc2VOYW1lcyA9IHRvcG1vc3RGaWxlTmFtZXM7ICAvLy9cclxuXHJcbiAgICByZWxlYXNlTmFtZXMuZm9yRWFjaCgocmVsZWFzZU5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHJlbGVhc2VOYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKHJlbGVhc2UgIT09IG51bGwpIHtcclxuICAgICAgICByZWxlYXNlcy5hZGRSZWxlYXNlKHJlbGVhc2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgcmVsZWFzZXMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlbGVhc2VzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFByb2plY3RzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXMpIHtcclxuICBsZXQgcHJvamVjdHM7XHJcblxyXG4gIHRyeSB7XHJcbiAgICBwcm9qZWN0cyA9IFByb2plY3RzLmZyb21Ob3RoaW5nKCk7XHJcblxyXG4gICAgY29uc3QgdG9wbW9zdERpcmVjdG9yeU5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgICAgcHJvamVjdE5hbWVzID0gdG9wbW9zdERpcmVjdG9yeU5hbWVzOyAvLy9cclxuXHJcbiAgICBwcm9qZWN0TmFtZXMuZm9yRWFjaCgocHJvamVjdE5hbWUpID0+IHtcclxuICAgICAgY29uc3QgcHJvamVjdCA9IGxvYWRQcm9qZWN0KHByb2plY3ROYW1lLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgICAgIGlmIChwcm9qZWN0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcHJvamVjdHMuYWRkUHJvamVjdChwcm9qZWN0KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHByb2plY3RzID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBwcm9qZWN0cztcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGxvYWRGaWxlLFxyXG4gIHNhdmVGaWxlLFxyXG4gIGxvYWRGaWxlcyxcclxuICBsb2FkUmVsZWFzZSxcclxuICBsb2FkUHJvamVjdCxcclxuICBsb2FkUmVsZWFzZXMsXHJcbiAgbG9hZFByb2plY3RzXHJcbn07XHJcblxyXG5mdW5jdGlvbiBsb2FkRW50cmllcyh0b3Btb3N0RGlyZWN0b3J5TmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGNvbnN0IGVudHJpZXMgPSBFbnRyaWVzLmZyb21Ob3RoaW5nKCksXHJcbiAgICAgICAgcmVsYXRpdmVEaXJlY3RvcnlQYXRoID0gdG9wbW9zdERpcmVjdG9yeU5hbWU7ICAvLy9cclxuXHJcbiAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgcmVsYXRpdmVEaXJlY3RvcnlQYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIGxvYWRPbmx5UmVjb2duaXNlZEZpbGVzKTtcclxuXHJcbiAgcmV0dXJuIGVudHJpZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGxvYWREaXJlY3RvcnkocGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgYWJzb2x1dGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHBhdGgpLFxyXG4gICAgICAgIGVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVBhdGgpLFxyXG4gICAgICAgIGRpcmVjdG9yeSA9IGVudHJ5RGlyZWN0b3J5ID9cclxuICAgICAgICAgICAgICAgICAgICAgIERpcmVjdG9yeS5mcm9tUGF0aChwYXRoKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XHJcblxyXG4gIHJldHVybiBkaXJlY3Rvcnk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbGVGcm9tUHJvamVjdChwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgZmlsZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0IGFic29sdXRlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCBwYXRoKSxcclxuICAgICAgICBlbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVBhdGgpO1xyXG5cclxuICBpZiAoZW50cnlGaWxlKSB7XHJcbiAgICBjb25zdCByZWxlYXNlZCA9IGZhbHNlLFxyXG4gICAgICAgICAgY29udGVudCA9IHJlYWRGaWxlKGFic29sdXRlUGF0aCk7XHJcblxyXG4gICAgZmlsZSA9IEZpbGUuZnJvbVBhdGhDb250ZW50QW5kUmVsZWFzZWQocGF0aCwgY29udGVudCwgcmVsZWFzZWQpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZpbGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbGVGcm9tUmVsZWFzZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgocGF0aCksXHJcbiAgICAgICAgdG9wbW9zdEZpbGVOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWUsIC8vL1xyXG4gICAgICAgIGZpbGVQYXRoID0gcGF0aCwgIC8vL1xyXG4gICAgICAgIHJlbGVhc2UgPSBsb2FkUmVsZWFzZSh0b3Btb3N0RmlsZU5hbWUsIHByb2plY3RzRGlyZWN0b3J5UGF0aCksXHJcbiAgICAgICAgZmlsZSA9IHJlbGVhc2UuZmluZEZpbGUoZmlsZVBhdGgpO1xyXG5cclxuICByZXR1cm4gZmlsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZmlsZXNGcm9tUHJvamVjdChwYXRocywgcHJvamVjdHNEaXJlY3RvcnlQYXRoKSB7XHJcbiAgY29uc3QgZmlsZXMgPSBGaWxlcy5mcm9tTm90aGluZygpO1xyXG5cclxuICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlID0gZmlsZUZyb21Qcm9qZWN0KHBhdGgsIHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGZpbGVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaWxlc0Zyb21SZWxlYXNlKHBhdGhzLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCksXHJcbiAgICAgICAgcGF0aHNMZW5ndGggPSBwYXRocy5sZW5ndGg7XHJcblxyXG4gIGlmIChwYXRoc0xlbmd0aCA+IDApIHtcclxuICAgIGNvbnN0IGZpcnN0UGF0aCA9IGZpcnN0KHBhdGhzKSxcclxuICAgICAgICAgIHBhdGggPSBmaXJzdFBhdGgsIC8vL1xyXG4gICAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoKHBhdGgpLFxyXG4gICAgICAgICAgdG9wbW9zdEZpbGVOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWUsIC8vL1xyXG4gICAgICAgICAgcmVsZWFzZSA9IGxvYWRSZWxlYXNlKHRvcG1vc3RGaWxlTmFtZSwgcHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgICBwYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aCwgIC8vL1xyXG4gICAgICAgICAgICBmaWxlID0gcmVsZWFzZS5maW5kRmlsZShmaWxlUGF0aCk7XHJcblxyXG4gICAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmlsZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoKGVudHJpZXMsIHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcykge1xyXG4gIGNvbnN0IGFic29sdXRlRGlyZWN0b3J5UGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMocHJvamVjdHNEaXJlY3RvcnlQYXRoLCByZWxhdGl2ZURpcmVjdG9yeVBhdGgpLFxyXG4gICAgICAgIHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KGFic29sdXRlRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHN1YkVudHJ5TmFtZXMuZm9yRWFjaCgoc3ViRW50cnlOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpLFxyXG4gICAgICAgICAgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMgPSAhbG9hZE9ubHlSZWNvZ25pc2VkRmlsZXM7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHJlbGF0aXZlRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgICAgZGlyZWN0b3J5ID0gbG9hZERpcmVjdG9yeShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgaWYgKGRpcmVjdG9yeSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBwYXRoOyAvLy9cclxuXHJcbiAgICAgICAgaWYgKGxvYWRVbnJlY29nbmlzZWRGaWxlc0FuZERpcmVjdG9yaWVzKSB7XHJcbiAgICAgICAgICBlbnRyaWVzLmFkZERpcmVjdG9yeShkaXJlY3RvcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZW50cmllc0Zyb21SZWxhdGl2ZURpcmVjdG9yeVBhdGgoZW50cmllcywgZGlyZWN0b3J5UGF0aCwgcHJvamVjdHNEaXJlY3RvcnlQYXRoLCBsb2FkT25seVJlY29nbmlzZWRGaWxlcyk7IC8vL1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBsb2FkRmlsZShwYXRoLCBwcm9qZWN0c0RpcmVjdG9yeVBhdGgpO1xyXG5cclxuICAgICAgICBpZiAoZmlsZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcclxuICAgICAgICAgICAgICAgIGZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoID0gaXNGaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aChmaWxlUGF0aCksXHJcbiAgICAgICAgICAgICAgICBmaWxlUmVjb2duaXNlZEZpbGUgPSBmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aDsgIC8vL1xyXG5cclxuICAgICAgICAgIGlmIChmaWxlUmVjb2duaXNlZEZpbGUgfHwgbG9hZFVucmVjb2duaXNlZEZpbGVzQW5kRGlyZWN0b3JpZXMpIHtcclxuICAgICAgICAgICAgZW50cmllcy5hZGRGaWxlKGZpbGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RmlsZU5hbWVzRnJvbVByb2plY3RzRGlyZWN0b3J5UGF0aChwcm9qZWN0c0RpcmVjdG9yeVBhdGgpIHtcclxuICBsZXQgdG9wbW9zdEZpbGVOYW1lcztcclxuXHJcbiAgY29uc3Qgc3ViRW50cnlOYW1lcyA9IHJlYWREaXJlY3RvcnkocHJvamVjdHNEaXJlY3RvcnlQYXRoKTtcclxuXHJcbiAgdG9wbW9zdEZpbGVOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RmlsZU5hbWVzLCBzdWJFbnRyeU5hbWUpID0+IHtcclxuICAgIGNvbnN0IGFic29sdXRlU3ViRW50cnlQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhwcm9qZWN0c0RpcmVjdG9yeVBhdGgsIHN1YkVudHJ5TmFtZSksXHJcbiAgICAgICAgICBzdWJFbnRyeU5hbWVIaWRkZW5OYW1lID0gaXNOYW1lSGlkZGVuTmFtZShzdWJFbnRyeU5hbWUpO1xyXG5cclxuICAgIGlmICghc3ViRW50cnlOYW1lSGlkZGVuTmFtZSkge1xyXG4gICAgICBjb25zdCBzdWJFbnRyeUZpbGUgPSBpc0VudHJ5RmlsZShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgdG9wbW9zdEZpbGVOYW1lID0gc3ViRW50cnlOYW1lOyAgLy8vXHJcblxyXG4gICAgICAgIHRvcG1vc3RGaWxlTmFtZXMucHVzaCh0b3Btb3N0RmlsZU5hbWUpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9wbW9zdEZpbGVOYW1lcztcclxuICB9LCBbXSk7XHJcblxyXG4gIHJldHVybiB0b3Btb3N0RmlsZU5hbWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoKHByb2plY3RzRGlyZWN0b3J5UGF0aCkge1xyXG4gIGxldCB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcblxyXG4gIGNvbnN0IHN1YkVudHJ5TmFtZXMgPSByZWFkRGlyZWN0b3J5KHByb2plY3RzRGlyZWN0b3J5UGF0aCk7XHJcblxyXG4gIHRvcG1vc3REaXJlY3RvcnlOYW1lcyA9IHN1YkVudHJ5TmFtZXMucmVkdWNlKCh0b3Btb3N0RGlyZWN0b3J5TmFtZXMsIHN1YkVudHJ5TmFtZSkgPT4ge1xyXG4gICAgY29uc3QgYWJzb2x1dGVTdWJFbnRyeVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKHByb2plY3RzRGlyZWN0b3J5UGF0aCwgc3ViRW50cnlOYW1lKSxcclxuICAgICAgICAgIHN1YkVudHJ5TmFtZUhpZGRlbk5hbWUgPSBpc05hbWVIaWRkZW5OYW1lKHN1YkVudHJ5TmFtZSk7XHJcblxyXG4gICAgaWYgKCFzdWJFbnRyeU5hbWVIaWRkZW5OYW1lKSB7XHJcbiAgICAgIGNvbnN0IHN1YkVudHJ5RGlyZWN0b3J5ID0gaXNFbnRyeURpcmVjdG9yeShhYnNvbHV0ZVN1YkVudHJ5UGF0aCk7XHJcblxyXG4gICAgICBpZiAoc3ViRW50cnlEaXJlY3RvcnkpIHtcclxuICAgICAgICBjb25zdCB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHN1YkVudHJ5TmFtZTsgIC8vL1xyXG5cclxuICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZXMucHVzaCh0b3Btb3N0RGlyZWN0b3J5TmFtZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0b3Btb3N0RGlyZWN0b3J5TmFtZXM7XHJcbiAgfSwgW10pO1xyXG5cclxuICByZXR1cm4gdG9wbW9zdERpcmVjdG9yeU5hbWVzO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJsb2FkRmlsZSIsImxvYWRGaWxlcyIsImxvYWRQcm9qZWN0IiwibG9hZFByb2plY3RzIiwibG9hZFJlbGVhc2UiLCJsb2FkUmVsZWFzZXMiLCJzYXZlRmlsZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJpc0ZpbGVQYXRoUmVjb2duaXNlZEZpbGVQYXRoIiwiZmlsZVBhdGhVdGlsaXRpZXMiLCJjb25jYXRlbmF0ZVBhdGhzIiwicGF0aFV0aWxpdGllcyIsInRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgiLCJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJ3cml0ZUZpbGUiLCJpc0VudHJ5RmlsZSIsInJlYWREaXJlY3RvcnkiLCJpc0VudHJ5RGlyZWN0b3J5IiwiY2hlY2tFbnRyeUV4aXN0cyIsImNoZWNrRmlsZUV4aXN0cyIsInBhdGgiLCJwcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJmaWxlIiwidG9wbW9zdERpcmVjdG9yeU5hbWUiLCJhYnNvbHV0ZVBhdGgiLCJlbnRyeURpcmVjdG9yeSIsImZpbGVGcm9tUHJvamVjdCIsImZpbGVGcm9tUmVsZWFzZSIsImVycm9yIiwic3VjY2VzcyIsImZpbGVQYXRoIiwiZ2V0UGF0aCIsImFic29sdXRlRmlsZVBhdGgiLCJmaWxlRXhpc3RzIiwiY29udGVudCIsImdldENvbnRlbnQiLCJwYXRocyIsImZpbGVzIiwiRmlsZXMiLCJmcm9tTm90aGluZyIsInBhdGhzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RQYXRoIiwiZW50cnlFeGlzdHMiLCJmaWxlc0Zyb21Qcm9qZWN0IiwiZmlsZXNGcm9tUmVsZWFzZSIsInJlbGVhc2VOYW1lIiwicmVsZWFzZSIsIm5hbWUiLCJ0b3Btb3N0RmlsZU5hbWUiLCJlbnRyeUZpbGUiLCJqc29uIiwiZW50cmllcyIsIkpTT04iLCJwYXJzZSIsIkVudHJpZXMiLCJmcm9tSlNPTiIsIlJlbGVhc2UiLCJmcm9tTmFtZUFuZEVudHJpZXMiLCJwcm9qZWN0TmFtZSIsImxvYWRPbmx5UmVjb2duaXNlZEZpbGVzIiwicHJvamVjdCIsImxvYWRFbnRyaWVzIiwiUHJvamVjdCIsInJlbGVhc2VzIiwiUmVsZWFzZXMiLCJ0b3Btb3N0RmlsZU5hbWVzIiwidG9wbW9zdEZpbGVOYW1lc0Zyb21Qcm9qZWN0c0RpcmVjdG9yeVBhdGgiLCJyZWxlYXNlTmFtZXMiLCJmb3JFYWNoIiwiYWRkUmVsZWFzZSIsInByb2plY3RzIiwiUHJvamVjdHMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXMiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZXNGcm9tUHJvamVjdHNEaXJlY3RvcnlQYXRoIiwicHJvamVjdE5hbWVzIiwiYWRkUHJvamVjdCIsInJlbGF0aXZlRGlyZWN0b3J5UGF0aCIsImVudHJpZXNGcm9tUmVsYXRpdmVEaXJlY3RvcnlQYXRoIiwibG9hZERpcmVjdG9yeSIsImRpcmVjdG9yeSIsIkRpcmVjdG9yeSIsImZyb21QYXRoIiwicmVsZWFzZWQiLCJGaWxlIiwiZnJvbVBhdGhDb250ZW50QW5kUmVsZWFzZWQiLCJmaW5kRmlsZSIsImFkZEZpbGUiLCJhYnNvbHV0ZURpcmVjdG9yeVBhdGgiLCJzdWJFbnRyeU5hbWVzIiwic3ViRW50cnlOYW1lIiwic3ViRW50cnlOYW1lSGlkZGVuTmFtZSIsImlzTmFtZUhpZGRlbk5hbWUiLCJsb2FkVW5yZWNvZ25pc2VkRmlsZXNBbmREaXJlY3RvcmllcyIsImRpcmVjdG9yeVBhdGgiLCJhZGREaXJlY3RvcnkiLCJmaWxlUGF0aFJlY29nbmlzZWRGaWxlUGF0aCIsImZpbGVSZWNvZ25pc2VkRmlsZSIsInJlZHVjZSIsImFic29sdXRlU3ViRW50cnlQYXRoIiwic3ViRW50cnlGaWxlIiwicHVzaCIsInN1YkVudHJ5RGlyZWN0b3J5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE2TEE7ZUFBQTs7UUEzS2dCQTtlQUFBQTs7UUE0Q0FDO2VBQUFBOztRQWlFQUM7ZUFBQUE7O1FBdUNBQztlQUFBQTs7UUF2RUFDO2VBQUFBOztRQWdEQUM7ZUFBQUE7O1FBeEdBQztlQUFBQTs7O3lCQXJDbUQ7MEJBQ3NDO29CQUV4RTtBQUVqQyxJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRCxPQUNGLEFBQUVFLCtCQUFpQ0MsNkJBQWlCLENBQWxERCw4QkFDQUUsbUJBQW1EQyx3QkFBYSxDQUFoRUQsa0JBQWtCRSwrQkFBaUNELHdCQUFhLENBQTlDQyw4QkFDbEJDLFdBTXNDQyw4QkFBbUIsQ0FOekRELFVBQ0FFLFlBS3NDRCw4QkFBbUIsQ0FMekRDLFdBQ0FDLGNBSXNDRiw4QkFBbUIsQ0FKekRFLGFBQ0FDLGdCQUdzQ0gsOEJBQW1CLENBSHpERyxlQUNBQyxtQkFFc0NKLDhCQUFtQixDQUZ6REksa0JBQ0FDLG1CQUNzQ0wsOEJBQW1CLENBRHpESyxrQkFDQUEsQUFBa0JDLGtCQUFvQk4sOEJBQW1CLENBQXpESztBQUVELFNBQVNwQixTQUFTc0IsSUFBSSxFQUFFQyxxQkFBcUI7SUFDbEQsSUFBSUMsT0FBTztJQUVYLElBQUk7UUFDRixJQUFNQyx1QkFBdUJaLDZCQUE2QlM7UUFFMUQsSUFBSUcseUJBQXlCLE1BQU07WUFDakMsSUFBTUMsZUFBZWYsaUJBQWlCWSx1QkFBdUJFLHVCQUN2REUsaUJBQWlCUixpQkFBaUJPO1lBRXhDRixPQUFPRyxpQkFDRUMsZ0JBQWdC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
|
|
@@ -0,0 +1,76 @@
|
|
|
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: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get default () {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
get post () {
|
|
16
|
+
return post;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _stream = require("stream");
|
|
20
|
+
var _necessary = require("necessary");
|
|
21
|
+
var _constants = require("../constants");
|
|
22
|
+
function _define_property(obj, key, value) {
|
|
23
|
+
if (key in obj) {
|
|
24
|
+
Object.defineProperty(obj, key, {
|
|
25
|
+
value: value,
|
|
26
|
+
enumerable: true,
|
|
27
|
+
configurable: true,
|
|
28
|
+
writable: true
|
|
29
|
+
});
|
|
30
|
+
} else {
|
|
31
|
+
obj[key] = value;
|
|
32
|
+
}
|
|
33
|
+
return obj;
|
|
34
|
+
}
|
|
35
|
+
var POST_METHOD = _necessary.methods.POST_METHOD, createRequest = _necessary.requestUtilities.createRequest, OK_200_STATUS_CODE = _necessary.statusCodes.OK_200_STATUS_CODE, ACCEPT_HEADER = _necessary.headers.ACCEPT_HEADER, CONTENT_TYPE_HEADER = _necessary.headers.CONTENT_TYPE_HEADER, APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE = _necessary.contentTypes.APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE;
|
|
36
|
+
function post(host, uri, query, json, callback) {
|
|
37
|
+
var _obj;
|
|
38
|
+
var content = JSON.stringify(json), method = POST_METHOD, _$headers = (_obj = {}, _define_property(_obj, ACCEPT_HEADER, APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE), _define_property(_obj, CONTENT_TYPE_HEADER, APPLICATION_JSON_CHARSET_UTF_8_CONTENT_TYPE), _obj);
|
|
39
|
+
var request = createRequest(host, uri, query, method, _$headers, function(error, response) {
|
|
40
|
+
if (response === null) {
|
|
41
|
+
error = true;
|
|
42
|
+
} else {
|
|
43
|
+
var statusCode = response.statusCode;
|
|
44
|
+
if (statusCode !== OK_200_STATUS_CODE) {
|
|
45
|
+
error = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (error) {
|
|
49
|
+
var _$json = null;
|
|
50
|
+
callback(_$json);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
contentFromResponse(response, function(content) {
|
|
54
|
+
var _$json = null;
|
|
55
|
+
try {
|
|
56
|
+
_$json = JSON.parse(content);
|
|
57
|
+
} catch (error) {} ///
|
|
58
|
+
callback(_$json);
|
|
59
|
+
});
|
|
60
|
+
}), readable = _stream.Readable.from(content);
|
|
61
|
+
readable.pipe(request);
|
|
62
|
+
}
|
|
63
|
+
var _default = {
|
|
64
|
+
post: post
|
|
65
|
+
};
|
|
66
|
+
function contentFromResponse(response, callback) {
|
|
67
|
+
var content = _constants.EMPTY_STRING;
|
|
68
|
+
response.on(_constants.DATA, function(data) {
|
|
69
|
+
content += data;
|
|
70
|
+
});
|
|
71
|
+
response.on(_constants.END, function() {
|
|
72
|
+
callback(content);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaHR0cC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCB7IG1ldGhvZHMsIGhlYWRlcnMsIGNvbnRlbnRUeXBlcywgc3RhdHVzQ29kZXMsIHJlcXVlc3RVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVORCwgREFUQSwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB7IFBPU1RfTUVUSE9EIH0gPSBtZXRob2RzLFxuICAgICAgeyBjcmVhdGVSZXF1ZXN0IH0gPSByZXF1ZXN0VXRpbGl0aWVzLFxuICAgICAgeyBPS18yMDBfU1RBVFVTX0NPREUgfSA9IHN0YXR1c0NvZGVzLFxuICAgICAgeyBBQ0NFUFRfSEVBREVSLCBDT05URU5UX1RZUEVfSEVBREVSIH0gPSBoZWFkZXJzLFxuICAgICAgeyBBUFBMSUNBVElPTl9KU09OX0NIQVJTRVRfVVRGXzhfQ09OVEVOVF9UWVBFIH0gPSBjb250ZW50VHlwZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3N0KGhvc3QsIHVyaSwgcXVlcnksIGpzb24sIGNhbGxiYWNrKSB7XG5cdGNvbnN0IGNvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShqc29uKSxcdC8vL1xuXHRcdFx0XHRtZXRob2QgPSBQT1NUX01FVEhPRCxcblx0XHRcdFx0aGVhZGVycyA9IHtcbiAgICAgICAgICBbQUNDRVBUX0hFQURFUl06IEFQUExJQ0FUSU9OX0pTT05fQ0hBUlNFVF9VVEZfOF9DT05URU5UX1RZUEUsXG4gICAgICAgICAgW0NPTlRFTlRfVFlQRV9IRUFERVJdOiBBUFBMSUNBVElPTl9KU09OX0NIQVJTRVRfVVRGXzhfQ09OVEVOVF9UWVBFXG4gICAgICAgIH07XG5cblx0Y29uc3QgcmVxdWVzdCA9IGNyZWF0ZVJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCAoZXJyb3IsIHJlc3BvbnNlKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlc3BvbnNlID09PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRlcnJvciA9IHRydWU7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGNvbnN0IHsgc3RhdHVzQ29kZSB9ID0gcmVzcG9uc2U7XG5cblx0XHRcdFx0XHRcdGlmIChzdGF0dXNDb2RlICE9PSBPS18yMDBfU1RBVFVTX0NPREUpIHtcblx0XHRcdFx0XHRcdFx0ZXJyb3IgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChlcnJvcikge1xuXHRcdFx0XHRcdFx0Y29uc3QganNvbiA9IG51bGw7XG5cblx0XHRcdFx0XHRcdGNhbGxiYWNrKGpzb24pO1xuXG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Y29udGVudEZyb21SZXNwb25zZShyZXNwb25zZSwgKGNvbnRlbnQpID0+IHtcblx0XHRcdFx0XHRcdGxldCBqc29uID0gbnVsbDtcblxuXHRcdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdFx0anNvbiA9IEpTT04ucGFyc2UoY29udGVudCk7XG5cdFx0XHRcdFx0XHR9IGNhdGNoIChlcnJvcikge31cdC8vL1xuXG5cdFx0XHRcdFx0XHRjYWxsYmFjayhqc29uKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSksXG5cdFx0XHRcdHJlYWRhYmxlID0gUmVhZGFibGUuZnJvbShjb250ZW50KTtcblxuXHRyZWFkYWJsZS5waXBlKHJlcXVlc3QpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG5cdHBvc3Rcbn07XG5cbmZ1bmN0aW9uIGNvbnRlbnRGcm9tUmVzcG9uc2UocmVzcG9uc2UsIGNhbGxiYWNrKSB7XG5cdGxldCBjb250ZW50ID0gRU1QVFlfU1RSSU5HO1xuXG5cdHJlc3BvbnNlLm9uKERBVEEsIChkYXRhKSA9PiB7XG5cdFx0Y29udGVudCArPSBkYXRhO1xuXHR9KTtcblxuXHRyZXNwb25zZS5vbihFTkQsICgpID0+IHtcblx0XHRjYWxsYmFjayhjb250ZW50KTtcblx0fSk7XG59XG4iXSwibmFtZXMiOlsicG9zdCIsIlBPU1RfTUVUSE9EIiwibWV0aG9kcyIsImNyZWF0ZVJlcXVlc3QiLCJyZXF1ZXN0VXRpbGl0aWVzIiwiT0tfMjAwX1NUQVRVU19DT0RFIiwic3RhdHVzQ29kZXMiLCJBQ0NFUFRfSEVBREVSIiwiaGVhZGVycyIsIkNPTlRFTlRfVFlQRV9IRUFERVIiLCJBUFBMSUNBVElPTl9KU09OX0NIQVJTRVRfVVRGXzhfQ09OVEVOVF9UWVBFIiwiY29udGVudFR5cGVzIiwiaG9zdCIsInVyaSIsInF1ZXJ5IiwianNvbiIsImNhbGxiYWNrIiwiY29udGVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZXRob2QiLCJyZXF1ZXN0IiwiZXJyb3IiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJjb250ZW50RnJvbVJlc3BvbnNlIiwicGFyc2UiLCJyZWFkYWJsZSIsIlJlYWRhYmxlIiwiZnJvbSIsInBpcGUiLCJFTVBUWV9TVFJJTkciLCJvbiIsIkRBVEEiLCJkYXRhIiwiRU5EIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF3REE7ZUFBQTs7UUExQ2dCQTtlQUFBQTs7O3NCQVpTO3lCQUVxRDt5QkFFdEM7Ozs7Ozs7Ozs7Ozs7O0FBRXhDLElBQU0sQUFBRUMsY0FBZ0JDLGtCQUFPLENBQXZCRCxhQUNGLEFBQUVFLGdCQUFrQkMsMkJBQWdCLENBQWxDRCxlQUNGLEFBQUVFLHFCQUF1QkMsc0JBQVcsQ0FBbENELG9CQUNBRSxnQkFBdUNDLGtCQUFPLENBQTlDRCxlQUFlRSxzQkFBd0JELGtCQUFPLENBQS9CQyxxQkFDakIsQUFBRUMsOENBQWdEQyx1QkFBWSxDQUE1REQ7QUFFRCxTQUFTVixLQUFLWSxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxJQUFJLEVBQUVDLFFBQVE7UUFHdkM7SUFGYixJQUFNQyxVQUFVQyxLQUFLQyxTQUFTLENBQUNKLE9BQzVCSyxTQUFTbkIsYUFDVE8sYUFBVSxXQUNKLGlCQURJLE1BQ0hELGVBQWdCRyw4Q0FDakIsaUJBRkksTUFFSEQscUJBQXNCQyw4Q0FGbkI7SUFLYixJQUFNVyxVQUFVbEIsY0FBY1MsTUFBTUMsS0FBS0MsT0FBT00sUUFBUVosV0FBUyxTQUFDYyxPQUFPQztRQUNyRSxJQUFJQSxhQUFhLE1BQU07WUFDdEJELFFBQVE7UUFDVCxPQUFPO1lBQ04sSUFBTSxBQUFFRSxhQUFlRCxTQUFmQztZQUVSLElBQUlBLGVBQWVuQixvQkFBb0I7Z0JBQ3RDaUIsUUFBUTtZQUNUO1FBQ0Q7UUFFQSxJQUFJQSxPQUFPO1lBQ1YsSUFBTVAsU0FBTztZQUViQyxTQUFTRDtZQUVUO1FBQ0Q7UUFFQVUsb0JBQW9CRixVQUFVLFNBQUNOO1lBQzlCLElBQUlGLFNBQU87WUFFWCxJQUFJO2dCQUNIQSxTQUFPRyxLQUFLUSxLQUFLLENBQUNUO1lBQ25CLEVBQUUsT0FBT0ssT0FBTyxDQUFDLEVBQUUsR0FBRztZQUV0Qk4sU0FBU0Q7UUFDVjtJQUNELElBQ0FZLFdBQVdDLGdCQUFRLENBQUNDLElBQUksQ0FBQ1o7SUFFNUJVLFNBQVNHLElBQUksQ0FBQ1Q7QUFDZjtJQUVBLFdBQWU7SUFDZHJCLE1BQUFBO0FBQ0Q7QUFFQSxTQUFTeUIsb0JBQW9CRixRQUFRLEVBQUVQLFFBQVE7SUFDOUMsSUFBSUMsVUFBVWMsdUJBQVk7SUFFMUJSLFNBQVNTLEVBQUUsQ0FBQ0MsZUFBSSxFQUFFLFNBQUNDO1FBQ2xCakIsV0FBV2lCO0lBQ1o7SUFFQVgsU0FBU1MsRUFBRSxDQUFDRyxjQUFHLEVBQUU7UUFDaEJuQixTQUFTQztJQUNWO0FBQ0QifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "isNameHiddenName", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return isNameHiddenName;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function isNameHiddenName(name) {
|
|
12
|
+
var nameHiddenName = /^\..+/.test(name);
|
|
13
|
+
return nameHiddenName;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbmFtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmFtZUhpZGRlbk5hbWUobmFtZSkge1xuICBjb25zdCBuYW1lSGlkZGVuTmFtZSA9IC9eXFwuLisvLnRlc3QobmFtZSk7XG5cbiAgcmV0dXJuIG5hbWVIaWRkZW5OYW1lO1xufVxuIl0sIm5hbWVzIjpbImlzTmFtZUhpZGRlbk5hbWUiLCJuYW1lIiwibmFtZUhpZGRlbk5hbWUiLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGlCQUFpQkMsSUFBSTtJQUNuQyxJQUFNQyxpQkFBaUIsUUFBUUMsSUFBSSxDQUFDRjtJQUVwQyxPQUFPQztBQUNUIn0=
|
|
@@ -0,0 +1,58 @@
|
|
|
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: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get nullifyEntryPaths () {
|
|
13
|
+
return nullifyEntryPaths;
|
|
14
|
+
},
|
|
15
|
+
get nullifySourceEntryPath () {
|
|
16
|
+
return nullifySourceEntryPath;
|
|
17
|
+
},
|
|
18
|
+
get nullifySourceEntryPaths () {
|
|
19
|
+
return nullifySourceEntryPaths;
|
|
20
|
+
},
|
|
21
|
+
get nullifyTargetEntryPath () {
|
|
22
|
+
return nullifyTargetEntryPath;
|
|
23
|
+
},
|
|
24
|
+
get nullifyTargetEntryPaths () {
|
|
25
|
+
return nullifyTargetEntryPaths;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
function nullifyEntryPaths(pathMap) {
|
|
29
|
+
var sourceEntryPath = null, targetEntryPath = null;
|
|
30
|
+
Object.assign(pathMap, {
|
|
31
|
+
sourceEntryPath: sourceEntryPath,
|
|
32
|
+
targetEntryPath: targetEntryPath
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function nullifySourceEntryPath(pathMap) {
|
|
36
|
+
var sourceEntryPath = null;
|
|
37
|
+
Object.assign(pathMap, {
|
|
38
|
+
sourceEntryPath: sourceEntryPath
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function nullifyTargetEntryPath(pathMap) {
|
|
42
|
+
var targetEntryPath = null;
|
|
43
|
+
Object.assign(pathMap, {
|
|
44
|
+
targetEntryPath: targetEntryPath
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function nullifySourceEntryPaths(pathMaps) {
|
|
48
|
+
pathMaps.forEach(function(pathMap) {
|
|
49
|
+
nullifySourceEntryPath(pathMap);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function nullifyTargetEntryPaths(pathMaps) {
|
|
53
|
+
pathMaps.forEach(function(pathMap) {
|
|
54
|
+
nullifyTargetEntryPath(pathMap);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGF0aE1hcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG51bGxpZnlFbnRyeVBhdGhzKHBhdGhNYXApIHtcbiAgY29uc3Qgc291cmNlRW50cnlQYXRoID0gbnVsbCxcbiAgICAgICAgdGFyZ2V0RW50cnlQYXRoID0gbnVsbDtcblxuICBPYmplY3QuYXNzaWduKHBhdGhNYXAsIHtcbiAgICBzb3VyY2VFbnRyeVBhdGgsXG4gICAgdGFyZ2V0RW50cnlQYXRoXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVsbGlmeVNvdXJjZUVudHJ5UGF0aChwYXRoTWFwKSB7XG4gIGNvbnN0IHNvdXJjZUVudHJ5UGF0aCA9IG51bGw7XG5cbiAgT2JqZWN0LmFzc2lnbihwYXRoTWFwLCB7XG4gICAgc291cmNlRW50cnlQYXRoXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVsbGlmeVRhcmdldEVudHJ5UGF0aChwYXRoTWFwKSB7XG4gIGNvbnN0IHRhcmdldEVudHJ5UGF0aCA9IG51bGw7XG5cbiAgT2JqZWN0LmFzc2lnbihwYXRoTWFwLCB7XG4gICAgdGFyZ2V0RW50cnlQYXRoXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVsbGlmeVNvdXJjZUVudHJ5UGF0aHMocGF0aE1hcHMpIHtcbiAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4ge1xuICAgIG51bGxpZnlTb3VyY2VFbnRyeVBhdGgocGF0aE1hcCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVsbGlmeVRhcmdldEVudHJ5UGF0aHMocGF0aE1hcHMpIHtcbiAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4ge1xuICAgIG51bGxpZnlUYXJnZXRFbnRyeVBhdGgocGF0aE1hcCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbIm51bGxpZnlFbnRyeVBhdGhzIiwibnVsbGlmeVNvdXJjZUVudHJ5UGF0aCIsIm51bGxpZnlTb3VyY2VFbnRyeVBhdGhzIiwibnVsbGlmeVRhcmdldEVudHJ5UGF0aCIsIm51bGxpZnlUYXJnZXRFbnRyeVBhdGhzIiwicGF0aE1hcCIsInNvdXJjZUVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aCIsIk9iamVjdCIsImFzc2lnbiIsInBhdGhNYXBzIiwiZm9yRWFjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBRWdCQTtlQUFBQTs7UUFVQUM7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7UUFSQUM7ZUFBQUE7O1FBY0FDO2VBQUFBOzs7QUFoQ1QsU0FBU0osa0JBQWtCSyxPQUFPO0lBQ3ZDLElBQU1DLGtCQUFrQixNQUNsQkMsa0JBQWtCO0lBRXhCQyxPQUFPQyxNQUFNLENBQUNKLFNBQVM7UUFDckJDLGlCQUFBQTtRQUNBQyxpQkFBQUE7SUFDRjtBQUNGO0FBRU8sU0FBU04sdUJBQXVCSSxPQUFPO0lBQzVDLElBQU1DLGtCQUFrQjtJQUV4QkUsT0FBT0MsTUFBTSxDQUFDSixTQUFTO1FBQ3JCQyxpQkFBQUE7SUFDRjtBQUNGO0FBRU8sU0FBU0gsdUJBQXVCRSxPQUFPO0lBQzVDLElBQU1FLGtCQUFrQjtJQUV4QkMsT0FBT0MsTUFBTSxDQUFDSixTQUFTO1FBQ3JCRSxpQkFBQUE7SUFDRjtBQUNGO0FBRU8sU0FBU0wsd0JBQXdCUSxRQUFRO0lBQzlDQSxTQUFTQyxPQUFPLENBQUMsU0FBQ047UUFDaEJKLHVCQUF1Qkk7SUFDekI7QUFDRjtBQUVPLFNBQVNELHdCQUF3Qk0sUUFBUTtJQUM5Q0EsU0FBU0MsT0FBTyxDQUFDLFNBQUNOO1FBQ2hCRix1QkFBdUJFO0lBQ3pCO0FBQ0YifQ==
|
package/license.txt
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
MIT And Anti-996 Licenses
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 James Smith
|
|
4
|
+
|
|
5
|
+
These licenses shall be included in all copies or substantial portions of
|
|
6
|
+
this software and associated documentation files (the "Software").
|
|
7
|
+
|
|
8
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
of this Software, to deal in the Software without restriction, including
|
|
10
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
11
|
+
distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
12
|
+
persons to whom the Software is furnished to do so, subject to the following
|
|
13
|
+
conditions:
|
|
14
|
+
|
|
15
|
+
1. The individual or the legal entity must conspicuously display,
|
|
16
|
+
without modification, this License and the notice on each redistributed
|
|
17
|
+
or derivative copy of the Licensed Work.
|
|
18
|
+
|
|
19
|
+
2. The individual or the legal entity must strictly comply with all
|
|
20
|
+
applicable laws, regulations, rules and standards of the jurisdiction
|
|
21
|
+
relating to labor and employment where the individual is physically
|
|
22
|
+
located or where the individual was born or naturalized; or where the
|
|
23
|
+
legal entity is registered or is operating (whichever is stricter). In
|
|
24
|
+
case that the jurisdiction has no such laws, regulations, rules and
|
|
25
|
+
standards or its laws, regulations, rules and standards are
|
|
26
|
+
unenforceable, the individual or the legal entity are required to
|
|
27
|
+
comply with Core International Labor Standards.
|
|
28
|
+
|
|
29
|
+
3. The individual or the legal entity shall not induce, suggest or force
|
|
30
|
+
its employee(s), whether full-time or part-time, or its independent
|
|
31
|
+
contractor(s), in any methods, to agree in oral or written form, to
|
|
32
|
+
directly or indirectly restrict, weaken or relinquish his or her
|
|
33
|
+
rights or remedies under such laws, regulations, rules and standards
|
|
34
|
+
relating to labor and employment as mentioned above, no matter whether
|
|
35
|
+
such written or oral agreements are enforceable under the laws of the
|
|
36
|
+
said jurisdiction, nor shall such individual or the legal entity
|
|
37
|
+
limit, in any methods, the rights of its employee(s) or independent
|
|
38
|
+
contractor(s) from reporting or complaining to the copyright holder or
|
|
39
|
+
relevant authorities monitoring the compliance of the license about
|
|
40
|
+
its violation(s) of the said license.
|
|
41
|
+
|
|
42
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
43
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
44
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
45
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
46
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
47
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
48
|
+
SOFTWARE.
|