occam-file-system 5.0.64 → 5.0.65

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.
Files changed (45) hide show
  1. package/lib/browser.js +79 -0
  2. package/lib/constants.js +34 -0
  3. package/lib/dependencies.js +114 -0
  4. package/lib/dependency.js +61 -0
  5. package/lib/directory.js +107 -0
  6. package/lib/entries.js +228 -0
  7. package/lib/file.js +141 -0
  8. package/lib/fileNames.js +59 -0
  9. package/lib/files.js +121 -0
  10. package/lib/loadFile.js +18 -0
  11. package/lib/loadFiles.js +18 -0
  12. package/lib/loadProjects.js +18 -0
  13. package/lib/loadRelease.js +18 -0
  14. package/lib/loadReleases.js +18 -0
  15. package/lib/main.js +119 -0
  16. package/lib/messages.js +13 -0
  17. package/lib/mixins/bnf.js +47 -0
  18. package/lib/mixins/entries.js +31 -0
  19. package/lib/mixins/files.js +41 -0
  20. package/lib/mixins/metaJSON.js +36 -0
  21. package/lib/mixins/pattern.js +47 -0
  22. package/lib/moveProjectEntries.js +96 -0
  23. package/lib/multiplers.js +26 -0
  24. package/lib/project.js +106 -0
  25. package/lib/projects.js +112 -0
  26. package/lib/release.js +132 -0
  27. package/lib/releases.js +112 -0
  28. package/lib/removeProjectEntries.js +82 -0
  29. package/lib/saveFile.js +25 -0
  30. package/lib/saveFiles.js +25 -0
  31. package/lib/shortenedVersion.js +84 -0
  32. package/lib/types.js +22 -0
  33. package/lib/utilities/content.js +34 -0
  34. package/lib/utilities/filePath.js +63 -0
  35. package/lib/utilities/fileSystem.js +219 -0
  36. package/lib/utilities/files.js +85 -0
  37. package/lib/utilities/http.js +63 -0
  38. package/lib/utilities/metaJSON.js +94 -0
  39. package/lib/utilities/name.js +31 -0
  40. package/lib/utilities/pathMaps.js +20 -0
  41. package/lib/utilities/query.js +41 -0
  42. package/lib/utilities/version.js +71 -0
  43. package/lib/version.js +173 -0
  44. package/lib/versionChanges.js +31 -0
  45. package/package.json +2 -1
package/lib/browser.js ADDED
@@ -0,0 +1,79 @@
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
+ File: function() {
13
+ return _file.default;
14
+ },
15
+ Files: function() {
16
+ return _files.default;
17
+ },
18
+ Version: function() {
19
+ return _version.default;
20
+ },
21
+ Release: function() {
22
+ return _release.default;
23
+ },
24
+ Entries: function() {
25
+ return _entries.default;
26
+ },
27
+ Project: function() {
28
+ return _project.default;
29
+ },
30
+ Projects: function() {
31
+ return _projects.default;
32
+ },
33
+ Dependency: function() {
34
+ return _dependency.default;
35
+ },
36
+ Dependencies: function() {
37
+ return _dependencies.default;
38
+ },
39
+ ShortenedVersion: function() {
40
+ return _shortenedVersion.default;
41
+ },
42
+ fileNames: function() {
43
+ return _fileNames.default;
44
+ },
45
+ versionChanges: function() {
46
+ return _versionChanges.default;
47
+ },
48
+ contentUtilities: function() {
49
+ return _content.default;
50
+ },
51
+ filePathUtilities: function() {
52
+ return _filePath.default;
53
+ },
54
+ metaJSONUtilities: function() {
55
+ return _metaJSON.default;
56
+ }
57
+ });
58
+ var _file = /*#__PURE__*/ _interopRequireDefault(require("./file"));
59
+ var _files = /*#__PURE__*/ _interopRequireDefault(require("./files"));
60
+ var _version = /*#__PURE__*/ _interopRequireDefault(require("./version"));
61
+ var _release = /*#__PURE__*/ _interopRequireDefault(require("./release"));
62
+ var _entries = /*#__PURE__*/ _interopRequireDefault(require("./entries"));
63
+ var _project = /*#__PURE__*/ _interopRequireDefault(require("./project"));
64
+ var _projects = /*#__PURE__*/ _interopRequireDefault(require("./projects"));
65
+ var _dependency = /*#__PURE__*/ _interopRequireDefault(require("./dependency"));
66
+ var _dependencies = /*#__PURE__*/ _interopRequireDefault(require("./dependencies"));
67
+ var _shortenedVersion = /*#__PURE__*/ _interopRequireDefault(require("./shortenedVersion"));
68
+ var _fileNames = /*#__PURE__*/ _interopRequireDefault(require("./fileNames"));
69
+ var _versionChanges = /*#__PURE__*/ _interopRequireDefault(require("./versionChanges"));
70
+ var _content = /*#__PURE__*/ _interopRequireDefault(require("./utilities/content"));
71
+ var _filePath = /*#__PURE__*/ _interopRequireDefault(require("./utilities/filePath"));
72
+ var _metaJSON = /*#__PURE__*/ _interopRequireDefault(require("./utilities/metaJSON"));
73
+ function _interopRequireDefault(obj) {
74
+ return obj && obj.__esModule ? obj : {
75
+ default: obj
76
+ };
77
+ }
78
+
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGUgfSBmcm9tIFwiLi9maWxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGVzIH0gZnJvbSBcIi4vZmlsZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVmVyc2lvbiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZSB9IGZyb20gXCIuL3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRW50cmllcyB9IGZyb20gXCIuL2VudHJpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvamVjdHMgfSBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmN5IH0gZnJvbSBcIi4vZGVwZW5kZW5jeVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9kZXBlbmRlbmNpZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2hvcnRlbmVkVmVyc2lvbiB9IGZyb20gXCIuL3Nob3J0ZW5lZFZlcnNpb25cIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlTmFtZXMgfSBmcm9tIFwiLi9maWxlTmFtZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyc2lvbkNoYW5nZXMgfSBmcm9tIFwiLi92ZXJzaW9uQ2hhbmdlc1wiO1xuXG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVQYXRoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG1ldGFKU09OVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL21ldGFKU09OXCI7XG4iXSwibmFtZXMiOlsiRmlsZSIsIkZpbGVzIiwiVmVyc2lvbiIsIlJlbGVhc2UiLCJFbnRyaWVzIiwiUHJvamVjdCIsIlByb2plY3RzIiwiRGVwZW5kZW5jeSIsIkRlcGVuZGVuY2llcyIsIlNob3J0ZW5lZFZlcnNpb24iLCJmaWxlTmFtZXMiLCJ2ZXJzaW9uQ2hhbmdlcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJmaWxlUGF0aFV0aWxpdGllcyIsIm1ldGFKU09OVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFb0JBLElBQUk7ZUFBSkEsYUFBSTs7SUFDSkMsS0FBSztlQUFMQSxjQUFLOztJQUNMQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxPQUFPO2VBQVBBLGdCQUFPOztJQUNQQyxRQUFRO2VBQVJBLGlCQUFROztJQUNSQyxVQUFVO2VBQVZBLG1CQUFVOztJQUNWQyxZQUFZO2VBQVpBLHFCQUFZOztJQUNaQyxnQkFBZ0I7ZUFBaEJBLHlCQUFnQjs7SUFFaEJDLFNBQVM7ZUFBVEEsa0JBQVM7O0lBQ1RDLGNBQWM7ZUFBZEEsdUJBQWM7O0lBR2RDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOztJQUNoQkMsaUJBQWlCO2VBQWpCQSxpQkFBaUI7O0lBQ2pCQyxpQkFBaUI7ZUFBakJBLGlCQUFpQjs7O3lEQWpCTDswREFDQzs0REFDRTs0REFDQTs0REFDQTs0REFDQTs2REFDQzsrREFDRTtpRUFDRTtxRUFDSTs4REFFUDttRUFDSzs0REFHRTs2REFDQzs2REFDQSJ9
@@ -0,0 +1,34 @@
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
+ END: function() {
13
+ return END;
14
+ },
15
+ DATA: function() {
16
+ return DATA;
17
+ },
18
+ EMPTY_STRING: function() {
19
+ return EMPTY_STRING;
20
+ },
21
+ DOUBLE_SPACE: function() {
22
+ return DOUBLE_SPACE;
23
+ },
24
+ ENTRIES_MAXIMUM_LENGTH: function() {
25
+ return ENTRIES_MAXIMUM_LENGTH;
26
+ }
27
+ });
28
+ var END = "end";
29
+ var DATA = "data";
30
+ var EMPTY_STRING = "";
31
+ var DOUBLE_SPACE = " ";
32
+ var ENTRIES_MAXIMUM_LENGTH = 1024;
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTkQgPSBcImVuZFwiO1xuZXhwb3J0IGNvbnN0IERBVEEgPSBcImRhdGFcIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IERPVUJMRV9TUEFDRSA9IFwiICBcIjtcbmV4cG9ydCBjb25zdCBFTlRSSUVTX01BWElNVU1fTEVOR1RIID0gMTAyNDtcbiJdLCJuYW1lcyI6WyJFTkQiLCJEQVRBIiwiRU1QVFlfU1RSSU5HIiwiRE9VQkxFX1NQQUNFIiwiRU5UUklFU19NQVhJTVVNX0xFTkdUSCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRWFBLEdBQUc7ZUFBSEE7O0lBQ0FDLElBQUk7ZUFBSkE7O0lBQ0FDLFlBQVk7ZUFBWkE7O0lBQ0FDLFlBQVk7ZUFBWkE7O0lBQ0FDLHNCQUFzQjtlQUF0QkE7OztBQUpOLElBQU1KLE1BQU07QUFDWixJQUFNQyxPQUFPO0FBQ2IsSUFBTUMsZUFBZTtBQUNyQixJQUFNQyxlQUFlO0FBQ3JCLElBQU1DLHlCQUF5QiJ9
@@ -0,0 +1,114 @@
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 Dependencies;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _dependency = /*#__PURE__*/ _interopRequireDefault(require("./dependency"));
13
+ var _shortenedVersion = /*#__PURE__*/ _interopRequireDefault(require("./shortenedVersion"));
14
+ function _classCallCheck(instance, Constructor) {
15
+ if (!(instance instanceof Constructor)) {
16
+ throw new TypeError("Cannot call a class as a function");
17
+ }
18
+ }
19
+ function _defineProperties(target, props) {
20
+ for(var i = 0; i < props.length; i++){
21
+ var descriptor = props[i];
22
+ descriptor.enumerable = descriptor.enumerable || false;
23
+ descriptor.configurable = true;
24
+ if ("value" in descriptor) descriptor.writable = true;
25
+ Object.defineProperty(target, descriptor.key, descriptor);
26
+ }
27
+ }
28
+ function _createClass(Constructor, protoProps, staticProps) {
29
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
+ if (staticProps) _defineProperties(Constructor, staticProps);
31
+ return Constructor;
32
+ }
33
+ function _interopRequireDefault(obj) {
34
+ return obj && obj.__esModule ? obj : {
35
+ default: obj
36
+ };
37
+ }
38
+ var forEach = _necessary.asynchronousUtilities.forEach;
39
+ var Dependencies = /*#__PURE__*/ function() {
40
+ function Dependencies(array) {
41
+ _classCallCheck(this, Dependencies);
42
+ this.array = array;
43
+ }
44
+ _createClass(Dependencies, [
45
+ {
46
+ key: "addDependency",
47
+ value: function addDependency(dependency) {
48
+ this.array.push(dependency);
49
+ }
50
+ },
51
+ {
52
+ key: "mapDependency",
53
+ value: function mapDependency(callback) {
54
+ return this.array.map(callback);
55
+ }
56
+ },
57
+ {
58
+ key: "everyDependency",
59
+ value: function everyDependency(callback) {
60
+ return this.array.every(callback);
61
+ }
62
+ },
63
+ {
64
+ key: "reduceDependency",
65
+ value: function reduceDependency(callback, initialValue) {
66
+ return this.array.reduce(callback, initialValue);
67
+ }
68
+ },
69
+ {
70
+ key: "forEachDependency",
71
+ value: function forEachDependency(callback) {
72
+ this.array.forEach(callback);
73
+ }
74
+ },
75
+ {
76
+ key: "asynchronousForEachDependency",
77
+ value: function asynchronousForEachDependency(operation, done) {
78
+ forEach(this.array, operation, done);
79
+ }
80
+ },
81
+ {
82
+ key: "toJSON",
83
+ value: function toJSON() {
84
+ var dependenciesJSON = this.array.reduce(function(dependenciesJSON, dependency) {
85
+ var name = dependency.getName(), shortenedVersion = dependency.getShortedVersion(), shortenedVersionString = shortenedVersion.toString();
86
+ dependenciesJSON[name] = shortenedVersionString;
87
+ return dependenciesJSON;
88
+ }, {}), json = dependenciesJSON; ///
89
+ return json;
90
+ }
91
+ }
92
+ ], [
93
+ {
94
+ key: "fromJSON",
95
+ value: function fromJSON(json) {
96
+ var dependenciesJSON = json, dependenciesJSONKeys = Object.keys(dependenciesJSON), names = dependenciesJSONKeys, array = names.map(function(name) {
97
+ var shortenedVersionString = dependenciesJSON[name], string = shortenedVersionString, shortenedVersion = _shortenedVersion.default.fromString(string), dependency = _dependency.default.fromNameAndShortenedVersion(name, shortenedVersion);
98
+ return dependency;
99
+ }), dependencies = new Dependencies(array);
100
+ return dependencies;
101
+ }
102
+ },
103
+ {
104
+ key: "fromNothing",
105
+ value: function fromNothing() {
106
+ var array = [], dependencies = new Dependencies(array);
107
+ return dependencies;
108
+ }
109
+ }
110
+ ]);
111
+ return Dependencies;
112
+ }();
113
+
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmNpZXMuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IERlcGVuZGVuY3kgZnJvbSBcIi4vZGVwZW5kZW5jeVwiO1xuaW1wb3J0IFNob3J0ZW5lZFZlcnNpb24gZnJvbSBcIi4vc2hvcnRlbmVkVmVyc2lvblwiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVwZW5kZW5jaWVzIHtcbiAgY29uc3RydWN0b3IoYXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBhZGREZXBlbmRlbmN5KGRlcGVuZGVuY3kpIHtcbiAgICB0aGlzLmFycmF5LnB1c2goZGVwZW5kZW5jeSk7XG4gIH1cblxuICBtYXBEZXBlbmRlbmN5KGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXkubWFwKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGV2ZXJ5RGVwZW5kZW5jeShjYWxsYmFjaykge1xuICAgIHJldHVybiB0aGlzLmFycmF5LmV2ZXJ5KGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJlZHVjZURlcGVuZGVuY3koY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkge1xuICAgIHJldHVybiB0aGlzLmFycmF5LnJlZHVjZShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKTtcbiAgfVxuXG4gIGZvckVhY2hEZXBlbmRlbmN5KGNhbGxiYWNrKSB7XG4gICAgdGhpcy5hcnJheS5mb3JFYWNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGFzeW5jaHJvbm91c0ZvckVhY2hEZXBlbmRlbmN5KG9wZXJhdGlvbiwgZG9uZSkgeyBmb3JFYWNoKHRoaXMuYXJyYXksIG9wZXJhdGlvbiwgZG9uZSk7IH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgZGVwZW5kZW5jaWVzSlNPTiA9IHRoaXMuYXJyYXkucmVkdWNlKChkZXBlbmRlbmNpZXNKU09OLCBkZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uID0gZGVwZW5kZW5jeS5nZXRTaG9ydGVkVmVyc2lvbigpLFxuICAgICAgICAgICAgICAgICAgc2hvcnRlbmVkVmVyc2lvblN0cmluZyA9IHNob3J0ZW5lZFZlcnNpb24udG9TdHJpbmcoKTtcblxuICAgICAgICAgICAgZGVwZW5kZW5jaWVzSlNPTltuYW1lXSA9IHNob3J0ZW5lZFZlcnNpb25TdHJpbmc7XG4gIFxuICAgICAgICAgICAgcmV0dXJuIGRlcGVuZGVuY2llc0pTT047XG4gICAgICAgICAgfSwge30pLFxuICAgICAgICAgIGpzb24gPSBkZXBlbmRlbmNpZXNKU09OOyAvLy9cblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXNKU09OID0ganNvbiwgLy8vXG4gICAgICAgICAgZGVwZW5kZW5jaWVzSlNPTktleXMgPSBPYmplY3Qua2V5cyhkZXBlbmRlbmNpZXNKU09OKSxcbiAgICAgICAgICBuYW1lcyA9IGRlcGVuZGVuY2llc0pTT05LZXlzLCAvLy9cbiAgICAgICAgICBhcnJheSA9IG5hbWVzLm1hcCgobmFtZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2hvcnRlbmVkVmVyc2lvblN0cmluZyA9IGRlcGVuZGVuY2llc0pTT05bbmFtZV0sXG4gICAgICAgICAgICAgICAgICBzdHJpbmcgPSBzaG9ydGVuZWRWZXJzaW9uU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICAgICAgICBzaG9ydGVuZWRWZXJzaW9uID0gU2hvcnRlbmVkVmVyc2lvbi5mcm9tU3RyaW5nKHN0cmluZyksXG4gICAgICAgICAgICAgICAgICBkZXBlbmRlbmN5ID0gRGVwZW5kZW5jeS5mcm9tTmFtZUFuZFNob3J0ZW5lZFZlcnNpb24obmFtZSwgc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICAgICAgICAgIHJldHVybiBkZXBlbmRlbmN5O1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGRlcGVuZGVuY2llcyA9IG5ldyBEZXBlbmRlbmNpZXMoYXJyYXkpO1xuXG4gICAgcmV0dXJuIGRlcGVuZGVuY2llcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBhcnJheSA9IFtdLFxuICAgICAgICAgIGRlcGVuZGVuY2llcyA9IG5ldyBEZXBlbmRlbmNpZXMoYXJyYXkpO1xuXG4gICAgcmV0dXJuIGRlcGVuZGVuY2llcztcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJEZXBlbmRlbmNpZXMiLCJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiYXJyYXkiLCJhZGREZXBlbmRlbmN5IiwiZGVwZW5kZW5jeSIsInB1c2giLCJtYXBEZXBlbmRlbmN5IiwiY2FsbGJhY2siLCJtYXAiLCJldmVyeURlcGVuZGVuY3kiLCJldmVyeSIsInJlZHVjZURlcGVuZGVuY3kiLCJpbml0aWFsVmFsdWUiLCJyZWR1Y2UiLCJmb3JFYWNoRGVwZW5kZW5jeSIsImFzeW5jaHJvbm91c0ZvckVhY2hEZXBlbmRlbmN5Iiwib3BlcmF0aW9uIiwiZG9uZSIsInRvSlNPTiIsImRlcGVuZGVuY2llc0pTT04iLCJuYW1lIiwiZ2V0TmFtZSIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXRTaG9ydGVkVmVyc2lvbiIsInNob3J0ZW5lZFZlcnNpb25TdHJpbmciLCJ0b1N0cmluZyIsImpzb24iLCJmcm9tSlNPTiIsImRlcGVuZGVuY2llc0pTT05LZXlzIiwiT2JqZWN0Iiwia2V5cyIsIm5hbWVzIiwic3RyaW5nIiwiU2hvcnRlbmVkVmVyc2lvbiIsImZyb21TdHJpbmciLCJEZXBlbmRlbmN5IiwiZnJvbU5hbWVBbmRTaG9ydGVuZWRWZXJzaW9uIiwiZGVwZW5kZW5jaWVzIiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7O3lCQVBpQjsrREFFZjtxRUFDTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNLEFBQUVDLFVBQVlDLGdDQUFxQixDQUFqQ0Q7QUFFTyxJQUFBLEFBQU1ELDZCQUFOO2FBQU1BLGFBQ1BHLEtBQUs7OEJBREVIO1FBRWpCLElBQUksQ0FBQ0csS0FBSyxHQUFHQTs7aUJBRklIOztZQUtuQkksS0FBQUE7bUJBQUFBLFNBQUFBLGNBQWNDLFVBQVUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDRixLQUFLLENBQUNHLElBQUksQ0FBQ0Q7WUFDbEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0MsUUFBUSxFQUFFO2dCQUN0QixPQUFPLElBQUksQ0FBQ0wsS0FBSyxDQUFDTSxHQUFHLENBQUNEO1lBQ3hCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLGdCQUFnQkYsUUFBUSxFQUFFO2dCQUN4QixPQUFPLElBQUksQ0FBQ0wsS0FBSyxDQUFDUSxLQUFLLENBQUNIO1lBQzFCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkosUUFBUSxFQUFFSyxZQUFZLEVBQUU7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDVixLQUFLLENBQUNXLE1BQU0sQ0FBQ04sVUFBVUs7WUFDckM7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCUCxRQUFRLEVBQUU7Z0JBQzFCLElBQUksQ0FBQ0wsS0FBSyxDQUFDRixPQUFPLENBQUNPO1lBQ3JCOzs7WUFFQVEsS0FBQUE7bUJBQUFBLFNBQUFBLDhCQUE4QkMsU0FBUyxFQUFFQyxJQUFJLEVBQUU7Z0JBQUVqQixRQUFRLElBQUksQ0FBQ0UsS0FBSyxFQUFFYyxXQUFXQztZQUFPOzs7WUFFdkZDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1DLG1CQUFtQixJQUFJLENBQUNqQixLQUFLLENBQUNXLE1BQU0sQ0FBQyxTQUFDTSxrQkFBa0JmLFlBQWU7b0JBQ3JFLElBQU1nQixPQUFPaEIsV0FBV2lCLE9BQU8sSUFDekJDLG1CQUFtQmxCLFdBQVdtQixpQkFBaUIsSUFDL0NDLHlCQUF5QkYsaUJBQWlCRyxRQUFRO29CQUV4RE4sZ0JBQWdCLENBQUNDLEtBQUssR0FBR0k7b0JBRXpCLE9BQU9MO2dCQUNULEdBQUcsQ0FBQyxJQUNKTyxPQUFPUCxrQkFBa0IsR0FBRztnQkFFbEMsT0FBT087WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUU7Z0JBQ3BCLElBQU1QLG1CQUFtQk8sTUFDbkJFLHVCQUF1QkMsT0FBT0MsSUFBSSxDQUFDWCxtQkFDbkNZLFFBQVFILHNCQUNSMUIsUUFBUTZCLE1BQU12QixHQUFHLENBQUMsU0FBQ1ksTUFBUztvQkFDMUIsSUFBTUkseUJBQXlCTCxnQkFBZ0IsQ0FBQ0MsS0FBSyxFQUMvQ1ksU0FBU1Isd0JBQ1RGLG1CQUFtQlcseUJBQWdCLENBQUNDLFVBQVUsQ0FBQ0YsU0FDL0M1QixhQUFhK0IsbUJBQVUsQ0FBQ0MsMkJBQTJCLENBQUNoQixNQUFNRTtvQkFFaEUsT0FBT2xCO2dCQUNULElBQ0FpQyxlQUFlLElBdERKdEMsYUFzRHFCRztnQkFFdEMsT0FBT21DO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxjQUFjO2dCQUNuQixJQUFNcEMsUUFBUSxFQUFFLEVBQ1ZtQyxlQUFlLElBN0RKdEMsYUE2RHFCRztnQkFFdEMsT0FBT21DO1lBQ1Q7OztXQWhFbUJ0QyJ9
@@ -0,0 +1,61 @@
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 Dependency;
9
+ }
10
+ });
11
+ function _classCallCheck(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+ function _defineProperties(target, props) {
17
+ for(var i = 0; i < props.length; i++){
18
+ var descriptor = props[i];
19
+ descriptor.enumerable = descriptor.enumerable || false;
20
+ descriptor.configurable = true;
21
+ if ("value" in descriptor) descriptor.writable = true;
22
+ Object.defineProperty(target, descriptor.key, descriptor);
23
+ }
24
+ }
25
+ function _createClass(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+ var Dependency = /*#__PURE__*/ function() {
31
+ function Dependency(name, shortenedVersion) {
32
+ _classCallCheck(this, Dependency);
33
+ this.name = name;
34
+ this.shortenedVersion = shortenedVersion;
35
+ }
36
+ _createClass(Dependency, [
37
+ {
38
+ key: "getName",
39
+ value: function getName() {
40
+ return this.name;
41
+ }
42
+ },
43
+ {
44
+ key: "getShortedVersion",
45
+ value: function getShortedVersion() {
46
+ return this.shortenedVersion;
47
+ }
48
+ }
49
+ ], [
50
+ {
51
+ key: "fromNameAndShortenedVersion",
52
+ value: function fromNameAndShortenedVersion(name, shortenedVersion) {
53
+ var dependency = new Dependency(name, shortenedVersion);
54
+ return dependency;
55
+ }
56
+ }
57
+ ]);
58
+ return Dependency;
59
+ }();
60
+
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZXBlbmRlbmN5IHtcbiAgY29uc3RydWN0b3IobmFtZSwgc2hvcnRlbmVkVmVyc2lvbikge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5zaG9ydGVuZWRWZXJzaW9uID0gc2hvcnRlbmVkVmVyc2lvbjtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFNob3J0ZWRWZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnNob3J0ZW5lZFZlcnNpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU5hbWVBbmRTaG9ydGVuZWRWZXJzaW9uKG5hbWUsIHNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICBjb25zdCBkZXBlbmRlbmN5ID0gbmV3IERlcGVuZGVuY3kobmFtZSwgc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICByZXR1cm4gZGVwZW5kZW5jeTtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJEZXBlbmRlbmN5IiwibmFtZSIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXROYW1lIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJmcm9tTmFtZUFuZFNob3J0ZW5lZFZlcnNpb24iLCJkZXBlbmRlbmN5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLDJCQUFOO2FBQU1BLFdBQ1BDLElBQUksRUFBRUMsZ0JBQWdCOzhCQURmRjtRQUVqQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTs7aUJBSFBGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CO2dCQUNsQixPQUFPLElBQUksQ0FBQ0YsZ0JBQWdCO1lBQzlCOzs7O1lBRU9HLEtBQUFBO21CQUFQLFNBQU9BLDRCQUE0QkosSUFBSSxFQUFFQyxnQkFBZ0IsRUFBRTtnQkFDekQsSUFBTUksYUFBYSxJQWZGTixXQWVpQkMsTUFBTUM7Z0JBRXhDLE9BQU9JO1lBQ1Q7OztXQWxCbUJOIn0=
@@ -0,0 +1,107 @@
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 Directory;
9
+ }
10
+ });
11
+ var _types = require("./types");
12
+ function _classCallCheck(instance, Constructor) {
13
+ if (!(instance instanceof Constructor)) {
14
+ throw new TypeError("Cannot call a class as a function");
15
+ }
16
+ }
17
+ function _defineProperties(target, props) {
18
+ for(var i = 0; i < props.length; i++){
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+ function _createClass(Constructor, protoProps, staticProps) {
27
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
+ if (staticProps) _defineProperties(Constructor, staticProps);
29
+ return Constructor;
30
+ }
31
+ function _defineProperty(obj, key, value) {
32
+ if (key in obj) {
33
+ Object.defineProperty(obj, key, {
34
+ value: value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ } else {
40
+ obj[key] = value;
41
+ }
42
+ return obj;
43
+ }
44
+ var Directory = /*#__PURE__*/ function() {
45
+ function Directory(path) {
46
+ _classCallCheck(this, Directory);
47
+ this.path = path;
48
+ }
49
+ _createClass(Directory, [
50
+ {
51
+ key: "getPath",
52
+ value: function getPath() {
53
+ return this.path;
54
+ }
55
+ },
56
+ {
57
+ key: "isFile",
58
+ value: function isFile() {
59
+ var file = false;
60
+ return file;
61
+ }
62
+ },
63
+ {
64
+ key: "isDirectory",
65
+ value: function isDirectory() {
66
+ var directory = true;
67
+ return directory;
68
+ }
69
+ },
70
+ {
71
+ key: "toJSON",
72
+ value: function toJSON() {
73
+ var type = Directory.type, path = this.path, json = {
74
+ type: type,
75
+ path: path
76
+ };
77
+ return json;
78
+ }
79
+ }
80
+ ], [
81
+ {
82
+ key: "fromPath",
83
+ value: function fromPath(path) {
84
+ var directory = new Directory(path);
85
+ return directory;
86
+ }
87
+ },
88
+ {
89
+ key: "fromJSON",
90
+ value: function fromJSON(json) {
91
+ var directory = null;
92
+ if (json !== null) {
93
+ var type = json.type;
94
+ if (type === _types.DIRECTORY_TYPE) {
95
+ var path = json.path;
96
+ directory = new Directory(path);
97
+ }
98
+ }
99
+ return directory;
100
+ }
101
+ }
102
+ ]);
103
+ return Directory;
104
+ }();
105
+ _defineProperty(Directory, "type", _types.DIRECTORY_TYPE);
106
+
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RvcnkuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IERJUkVDVE9SWV9UWVBFIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGlyZWN0b3J5IHtcbiAgY29uc3RydWN0b3IocGF0aCkge1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLnBhdGg7XG4gIH1cblxuICBpc0ZpbGUoKSB7XG4gICAgY29uc3QgZmlsZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBpc0RpcmVjdG9yeSgpIHtcbiAgICBjb25zdCBkaXJlY3RvcnkgPSB0cnVlO1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IERpcmVjdG9yeSxcbiAgICAgICAgICBwYXRoID0gdGhpcy5wYXRoLFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgcGF0aFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyB0eXBlID0gRElSRUNUT1JZX1RZUEU7XG5cbiAgc3RhdGljIGZyb21QYXRoKHBhdGgpIHtcbiAgICBjb25zdCBkaXJlY3RvcnkgPSBuZXcgRGlyZWN0b3J5KHBhdGgpO1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgbGV0IGRpcmVjdG9yeSA9IG51bGw7XG5cbiAgICBpZiAoanNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAgICBpZiAodHlwZSA9PT0gRElSRUNUT1JZX1RZUEUpIHtcbiAgICAgICAgY29uc3QgeyBwYXRoIH0gPSBqc29uO1xuXG4gICAgICAgIGRpcmVjdG9yeSA9IG5ldyBEaXJlY3RvcnkocGF0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpcmVjdG9yeTtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJEaXJlY3RvcnkiLCJwYXRoIiwiZ2V0UGF0aCIsImlzRmlsZSIsImZpbGUiLCJpc0RpcmVjdG9yeSIsImRpcmVjdG9yeSIsInRvSlNPTiIsInR5cGUiLCJqc29uIiwiZnJvbVBhdGgiLCJmcm9tSlNPTiIsIkRJUkVDVE9SWV9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7OztxQkFGVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhCLElBQUEsQUFBTUEsMEJBQU47YUFBTUEsVUFDUEMsSUFBSTs4QkFER0Q7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztpQkFGS0Q7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0QsSUFBSTtZQUNsQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1DLE9BQU8sS0FBSztnQkFFbEIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjO2dCQUNaLElBQU1DLFlBQVksSUFBSTtnQkFFdEIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU0sQUFBRUMsT0F0QlNSLFVBc0JUUSxNQUNGUCxPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQlEsT0FBTztvQkFDTEQsTUFBQUE7b0JBQ0FQLE1BQUFBO2dCQUNGO2dCQUVOLE9BQU9RO1lBQ1Q7Ozs7WUFJT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU1QsSUFBSSxFQUFFO2dCQUNwQixJQUFNSyxZQUFZLElBbkNETixVQW1DZUM7Z0JBRWhDLE9BQU9LO1lBQ1Q7OztZQUVPSyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRixJQUFJLEVBQUU7Z0JBQ3BCLElBQUlILFlBQVksSUFBSTtnQkFFcEIsSUFBSUcsU0FBUyxJQUFJLEVBQUU7b0JBQ2pCLElBQU0sQUFBRUQsT0FBU0MsS0FBVEQ7b0JBRVIsSUFBSUEsU0FBU0kscUJBQWMsRUFBRTt3QkFDM0IsSUFBTSxBQUFFWCxPQUFTUSxLQUFUUjt3QkFFUkssWUFBWSxJQWpEQ04sVUFpRGFDO29CQUM1QixDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT0s7WUFDVDs7O1dBdERtQk47O0FBZ0NuQixnQkFoQ21CQSxXQWdDWlEsUUFBT0kscUJBQWMifQ==
package/lib/entries.js ADDED
@@ -0,0 +1,228 @@
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 Entries;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _file = /*#__PURE__*/ _interopRequireDefault(require("./file"));
13
+ var _files = /*#__PURE__*/ _interopRequireDefault(require("./files"));
14
+ var _directory = /*#__PURE__*/ _interopRequireDefault(require("./directory"));
15
+ var _constants = require("./constants");
16
+ var _messages = require("./messages");
17
+ function _classCallCheck(instance, Constructor) {
18
+ if (!(instance instanceof Constructor)) {
19
+ throw new TypeError("Cannot call a class as a function");
20
+ }
21
+ }
22
+ function _defineProperties(target, props) {
23
+ for(var i = 0; i < props.length; i++){
24
+ var descriptor = props[i];
25
+ descriptor.enumerable = descriptor.enumerable || false;
26
+ descriptor.configurable = true;
27
+ if ("value" in descriptor) descriptor.writable = true;
28
+ Object.defineProperty(target, descriptor.key, descriptor);
29
+ }
30
+ }
31
+ function _createClass(Constructor, protoProps, staticProps) {
32
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
33
+ if (staticProps) _defineProperties(Constructor, staticProps);
34
+ return Constructor;
35
+ }
36
+ function _interopRequireDefault(obj) {
37
+ return obj && obj.__esModule ? obj : {
38
+ default: obj
39
+ };
40
+ }
41
+ var first = _necessary.arrayUtilities.first, filter = _necessary.arrayUtilities.filter, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath;
42
+ var Entries = /*#__PURE__*/ function() {
43
+ function Entries(array) {
44
+ _classCallCheck(this, Entries);
45
+ this.array = array;
46
+ }
47
+ _createClass(Entries, [
48
+ {
49
+ key: "getTopmostDirectoryName",
50
+ value: function getTopmostDirectoryName() {
51
+ var topmostDirectoryName = null;
52
+ var firstEntry = first(this.array); ///
53
+ if (firstEntry) {
54
+ var firstEntryPath = firstEntry.getPath();
55
+ topmostDirectoryName = topmostDirectoryNameFromPath(firstEntryPath);
56
+ if (topmostDirectoryName === null) {
57
+ topmostDirectoryName = firstEntryPath;
58
+ }
59
+ }
60
+ return topmostDirectoryName;
61
+ }
62
+ },
63
+ {
64
+ key: "removeFileByPath",
65
+ value: function removeFileByPath(path) {
66
+ filter(this.array, function(entry) {
67
+ var entryFile = entry.isFile();
68
+ if (entryFile) {
69
+ var file = entry, filePath = file.getPath();
70
+ if (filePath === path) {
71
+ return false;
72
+ }
73
+ }
74
+ return true;
75
+ });
76
+ }
77
+ },
78
+ {
79
+ key: "getFile",
80
+ value: function getFile(filePath) {
81
+ var files = this.getFiles(), file = files.findFile(function(file) {
82
+ var path = file.getPath();
83
+ if (path === filePath) {
84
+ return true;
85
+ }
86
+ }) || null;
87
+ return file;
88
+ }
89
+ },
90
+ {
91
+ key: "getFiles",
92
+ value: function getFiles() {
93
+ var files = _files.default.fromNothing();
94
+ this.mapEntry(function(entry) {
95
+ var entryFile = entry.isFile();
96
+ if (entryFile) {
97
+ var file = entry; ///
98
+ files.addFile(file);
99
+ }
100
+ });
101
+ return files;
102
+ }
103
+ },
104
+ {
105
+ key: "getFilePaths",
106
+ value: function getFilePaths() {
107
+ var filePaths = this.reduceEntry(function(filePaths, entry) {
108
+ var entryFile = entry.isFile();
109
+ if (entryFile) {
110
+ var file = entry, filePath = file.getPath();
111
+ filePaths.push(filePath);
112
+ }
113
+ return filePaths;
114
+ }, []);
115
+ return filePaths;
116
+ }
117
+ },
118
+ {
119
+ key: "getDirectoryPaths",
120
+ value: function getDirectoryPaths() {
121
+ var directoryPaths = this.reduceEntry(function(directoryPaths, entry) {
122
+ var entryDirectory = entry.isDirectory();
123
+ if (entryDirectory) {
124
+ var directory = entry, directoryPath = directory.getPath();
125
+ directoryPaths.push(directoryPath);
126
+ }
127
+ return directoryPaths;
128
+ }, []);
129
+ return directoryPaths;
130
+ }
131
+ },
132
+ {
133
+ key: "addFile",
134
+ value: function addFile(file) {
135
+ var entry = file; ///
136
+ this.addEntry(entry);
137
+ }
138
+ },
139
+ {
140
+ key: "addEntry",
141
+ value: function addEntry(entry) {
142
+ this.array.push(entry);
143
+ var length = this.array.length;
144
+ if (length > _constants.ENTRIES_MAXIMUM_LENGTH) {
145
+ throw new Error(_messages.ENTRIES_MAXIMUM_LENGTH_EXCEEDED_MESSAGE);
146
+ }
147
+ }
148
+ },
149
+ {
150
+ key: "addDirectory",
151
+ value: function addDirectory(directory) {
152
+ var entry = directory; ///
153
+ this.addEntry(entry);
154
+ }
155
+ },
156
+ {
157
+ key: "mapEntry",
158
+ value: function mapEntry(callback) {
159
+ return this.array.map(callback);
160
+ }
161
+ },
162
+ {
163
+ key: "someEntry",
164
+ value: function someEntry(callback) {
165
+ return this.array.some(callback);
166
+ }
167
+ },
168
+ {
169
+ key: "everyEntry",
170
+ value: function everyEntry(callback) {
171
+ return this.array.every(callback);
172
+ }
173
+ },
174
+ {
175
+ key: "forEachEntry",
176
+ value: function forEachEntry(callback) {
177
+ this.array.forEach(callback);
178
+ }
179
+ },
180
+ {
181
+ key: "reduceEntry",
182
+ value: function reduceEntry(callback, initialValue) {
183
+ return this.array.reduce(callback, initialValue);
184
+ }
185
+ },
186
+ {
187
+ key: "toJSON",
188
+ value: function toJSON() {
189
+ var entriesJSON = this.array.map(function(entry) {
190
+ var entryJSON = entry.toJSON();
191
+ return entryJSON;
192
+ }), json = entriesJSON; ///
193
+ return json;
194
+ }
195
+ }
196
+ ], [
197
+ {
198
+ key: "fromJSON",
199
+ value: function fromJSON(json) {
200
+ var array = [], entries = new Entries(array), entriesJSON = json; ///
201
+ entriesJSON.map(function(entryJSON) {
202
+ var _$json = entryJSON, file = _file.default.fromJSON(_$json), directory = _directory.default.fromJSON(_$json), entry = file || directory; ///
203
+ entries.addEntry(entry);
204
+ });
205
+ return entries;
206
+ }
207
+ },
208
+ {
209
+ key: "fromEntry",
210
+ value: function fromEntry(entry) {
211
+ var array = [
212
+ entry
213
+ ], entries = new Entries(array);
214
+ return entries;
215
+ }
216
+ },
217
+ {
218
+ key: "fromNothing",
219
+ value: function fromNothing() {
220
+ var array = [], entries = new Entries(array);
221
+ return entries;
222
+ }
223
+ }
224
+ ]);
225
+ return Entries;
226
+ }();
227
+
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbnRyaWVzLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBwYXRoVXRpbGl0aWVzLCBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEZpbGUgZnJvbSBcIi4vZmlsZVwiO1xuaW1wb3J0IEZpbGVzIGZyb20gXCIuL2ZpbGVzXCI7XG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuL2RpcmVjdG9yeVwiO1xuaW1wb3J0IHsgRU5UUklFU19NQVhJTVVNX0xFTkdUSCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgRU5UUklFU19NQVhJTVVNX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFIH0gZnJvbSBcIi4vbWVzc2FnZXNcIjtcblxuY29uc3QgeyBmaXJzdCwgZmlsdGVyIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aCB9ID0gcGF0aFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW50cmllcyB7XG4gIGNvbnN0cnVjdG9yKGFycmF5KSB7XG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0VG9wbW9zdERpcmVjdG9yeU5hbWUoKSB7XG4gICAgbGV0IHRvcG1vc3REaXJlY3RvcnlOYW1lID0gbnVsbDtcbiAgICBcbiAgICBjb25zdCBmaXJzdEVudHJ5ID0gZmlyc3QodGhpcy5hcnJheSk7IC8vL1xuXG4gICAgaWYgKGZpcnN0RW50cnkpIHsgLy8vXG4gICAgICBjb25zdCBmaXJzdEVudHJ5UGF0aCA9IGZpcnN0RW50cnkuZ2V0UGF0aCgpO1xuXG4gICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IHRvcG1vc3REaXJlY3RvcnlOYW1lRnJvbVBhdGgoZmlyc3RFbnRyeVBhdGgpO1xuXG4gICAgICBpZiAodG9wbW9zdERpcmVjdG9yeU5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSBmaXJzdEVudHJ5UGF0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG9wbW9zdERpcmVjdG9yeU5hbWU7XG4gIH1cblxuICByZW1vdmVGaWxlQnlQYXRoKHBhdGgpIHtcbiAgICBmaWx0ZXIodGhpcy5hcnJheSwgKGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBlbnRyeUZpbGUgPSBlbnRyeS5pc0ZpbGUoKTtcblxuICAgICAgaWYgKGVudHJ5RmlsZSkge1xuICAgICAgICBjb25zdCBmaWxlID0gZW50cnksIC8vL1xuICAgICAgICAgICAgICBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpO1xuXG4gICAgICAgIGlmIChmaWxlUGF0aCA9PT0gcGF0aCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEZpbGUoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMuZ2V0RmlsZXMoKSxcbiAgICAgICAgICBmaWxlID0gZmlsZXMuZmluZEZpbGUoKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBmaWxlLmdldFBhdGgoKTtcblxuICAgICAgICAgICAgaWYgKHBhdGggPT09IGZpbGVQYXRoKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGdldEZpbGVzKCkge1xuICAgIGNvbnN0IGZpbGVzID0gRmlsZXMuZnJvbU5vdGhpbmcoKTtcblxuICAgIHRoaXMubWFwRW50cnkoKGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBlbnRyeUZpbGUgPSBlbnRyeS5pc0ZpbGUoKTtcblxuICAgICAgaWYgKGVudHJ5RmlsZSkge1xuICAgICAgICBjb25zdCBmaWxlID0gZW50cnk7IC8vL1xuXG4gICAgICAgIGZpbGVzLmFkZEZpbGUoZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxuICBnZXRGaWxlUGF0aHMoKSB7XG4gICAgY29uc3QgZmlsZVBhdGhzID0gdGhpcy5yZWR1Y2VFbnRyeSgoZmlsZVBhdGhzLCBlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgZW50cnlGaWxlID0gZW50cnkuaXNGaWxlKCk7XG5cbiAgICAgIGlmIChlbnRyeUZpbGUpIHtcbiAgICAgICAgY29uc3QgZmlsZSA9IGVudHJ5LCAvLy9cbiAgICAgICAgICAgICAgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKTtcblxuICAgICAgICBmaWxlUGF0aHMucHVzaChmaWxlUGF0aCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWxlUGF0aHM7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIGZpbGVQYXRocztcbiAgfVxuXG4gIGdldERpcmVjdG9yeVBhdGhzKCkge1xuICAgIGNvbnN0IGRpcmVjdG9yeVBhdGhzID0gdGhpcy5yZWR1Y2VFbnRyeSgoZGlyZWN0b3J5UGF0aHMsIGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBlbnRyeURpcmVjdG9yeSA9IGVudHJ5LmlzRGlyZWN0b3J5KCk7XG5cbiAgICAgIGlmIChlbnRyeURpcmVjdG9yeSkge1xuICAgICAgICBjb25zdCBkaXJlY3RvcnkgPSBlbnRyeSwgLy8vXG4gICAgICAgICAgICAgIGRpcmVjdG9yeVBhdGggPSBkaXJlY3RvcnkuZ2V0UGF0aCgpO1xuXG4gICAgICAgIGRpcmVjdG9yeVBhdGhzLnB1c2goZGlyZWN0b3J5UGF0aCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkaXJlY3RvcnlQYXRocztcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gZGlyZWN0b3J5UGF0aHM7XG4gIH1cblxuICBhZGRGaWxlKGZpbGUpIHtcbiAgICBjb25zdCBlbnRyeSA9IGZpbGU7IC8vL1xuXG4gICAgdGhpcy5hZGRFbnRyeShlbnRyeSk7XG4gIH1cblxuICBhZGRFbnRyeShlbnRyeSkge1xuICAgIHRoaXMuYXJyYXkucHVzaChlbnRyeSk7XG5cbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmFycmF5Lmxlbmd0aDtcblxuICAgIGlmIChsZW5ndGggPiBFTlRSSUVTX01BWElNVU1fTEVOR1RIKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoRU5UUklFU19NQVhJTVVNX0xFTkdUSF9FWENFRURFRF9NRVNTQUdFKVxuICAgIH1cbiAgfVxuXG4gIGFkZERpcmVjdG9yeShkaXJlY3RvcnkpIHtcbiAgICBjb25zdCBlbnRyeSA9IGRpcmVjdG9yeTsgIC8vL1xuXG4gICAgdGhpcy5hZGRFbnRyeShlbnRyeSk7XG4gIH1cblxuICBtYXBFbnRyeShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5hcnJheS5tYXAoY2FsbGJhY2spOyB9XG5cbiAgc29tZUVudHJ5KGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmFycmF5LnNvbWUoY2FsbGJhY2spOyB9XG5cbiAgZXZlcnlFbnRyeShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5hcnJheS5ldmVyeShjYWxsYmFjayk7IH1cblxuICBmb3JFYWNoRW50cnkoY2FsbGJhY2spIHsgdGhpcy5hcnJheS5mb3JFYWNoKGNhbGxiYWNrKTsgfVxuXG4gIHJlZHVjZUVudHJ5KGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHsgcmV0dXJuIHRoaXMuYXJyYXkucmVkdWNlKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpOyB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGVudHJpZXNKU09OID0gdGhpcy5hcnJheS5tYXAoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbnRyeUpTT04gPSBlbnRyeS50b0pTT04oKTtcbiAgXG4gICAgICAgICAgICByZXR1cm4gZW50cnlKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGpzb24gPSBlbnRyaWVzSlNPTjsgLy8vXG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgYXJyYXkgPSBbXSxcbiAgICAgICAgICBlbnRyaWVzID0gbmV3IEVudHJpZXMoYXJyYXkpLFxuICAgICAgICAgIGVudHJpZXNKU09OID0ganNvbjsgLy8vXG5cbiAgICBlbnRyaWVzSlNPTi5tYXAoKGVudHJ5SlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IGVudHJ5SlNPTiwgLy8vXG4gICAgICAgICAgICBmaWxlID0gRmlsZS5mcm9tSlNPTihqc29uKSxcbiAgICAgICAgICAgIGRpcmVjdG9yeSA9IERpcmVjdG9yeS5mcm9tSlNPTihqc29uKSxcbiAgICAgICAgICAgIGVudHJ5ID0gZmlsZSB8fCBkaXJlY3Rvcnk7ICAvLy9cblxuICAgICAgZW50cmllcy5hZGRFbnRyeShlbnRyeSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZW50cmllcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRW50cnkoZW50cnkpIHtcbiAgICBjb25zdCBhcnJheSA9IFtcbiAgICAgICAgICAgIGVudHJ5XG4gICAgICAgICAgXSxcbiAgICAgICAgICBlbnRyaWVzID0gbmV3IEVudHJpZXMoYXJyYXkpO1xuXG4gICAgcmV0dXJuIGVudHJpZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgYXJyYXkgPSBbXSxcbiAgICAgICAgICBlbnRyaWVzID0gbmV3IEVudHJpZXMoYXJyYXkpO1xuXG4gICAgcmV0dXJuIGVudHJpZXM7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiRW50cmllcyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJmaWx0ZXIiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoIiwicGF0aFV0aWxpdGllcyIsImFycmF5IiwiZ2V0VG9wbW9zdERpcmVjdG9yeU5hbWUiLCJ0b3Btb3N0RGlyZWN0b3J5TmFtZSIsImZpcnN0RW50cnkiLCJmaXJzdEVudHJ5UGF0aCIsImdldFBhdGgiLCJyZW1vdmVGaWxlQnlQYXRoIiwicGF0aCIsImVudHJ5IiwiZW50cnlGaWxlIiwiaXNGaWxlIiwiZmlsZSIsImZpbGVQYXRoIiwiZ2V0RmlsZSIsImZpbGVzIiwiZ2V0RmlsZXMiLCJmaW5kRmlsZSIsIkZpbGVzIiwiZnJvbU5vdGhpbmciLCJtYXBFbnRyeSIsImFkZEZpbGUiLCJnZXRGaWxlUGF0aHMiLCJmaWxlUGF0aHMiLCJyZWR1Y2VFbnRyeSIsInB1c2giLCJnZXREaXJlY3RvcnlQYXRocyIsImRpcmVjdG9yeVBhdGhzIiwiZW50cnlEaXJlY3RvcnkiLCJpc0RpcmVjdG9yeSIsImRpcmVjdG9yeSIsImRpcmVjdG9yeVBhdGgiLCJhZGRFbnRyeSIsImxlbmd0aCIsIkVOVFJJRVNfTUFYSU1VTV9MRU5HVEgiLCJFcnJvciIsIkVOVFJJRVNfTUFYSU1VTV9MRU5HVEhfRVhDRUVERURfTUVTU0FHRSIsImFkZERpcmVjdG9yeSIsImNhbGxiYWNrIiwibWFwIiwic29tZUVudHJ5Iiwic29tZSIsImV2ZXJ5RW50cnkiLCJldmVyeSIsImZvckVhY2hFbnRyeSIsImZvckVhY2giLCJpbml0aWFsVmFsdWUiLCJyZWR1Y2UiLCJ0b0pTT04iLCJlbnRyaWVzSlNPTiIsImVudHJ5SlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImVudHJpZXMiLCJGaWxlIiwiRGlyZWN0b3J5IiwiZnJvbUVudHJ5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWFxQkE7Ozt5QkFYeUI7eURBRTdCOzBEQUNDOzhEQUNJO3lCQUNpQjt3QkFDaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEQsSUFBUUMsUUFBa0JDLHlCQUFjLENBQWhDRCxPQUFPRSxTQUFXRCx5QkFBYyxDQUF6QkMsUUFDVCxBQUFFQywrQkFBaUNDLHdCQUFhLENBQTlDRDtBQUVPLElBQUEsQUFBTUosd0JBQU47YUFBTUEsUUFDUE0sS0FBSzs4QkFERU47UUFFakIsSUFBSSxDQUFDTSxLQUFL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