occam-model 1.0.484

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 (66) hide show
  1. package/.swcrc +5 -0
  2. package/README.md +78 -0
  3. package/lib/constants.js +34 -0
  4. package/lib/dependencies.js +114 -0
  5. package/lib/dependency.js +81 -0
  6. package/lib/directory.js +107 -0
  7. package/lib/entries.js +245 -0
  8. package/lib/file.js +162 -0
  9. package/lib/fileNames.js +49 -0
  10. package/lib/files.js +121 -0
  11. package/lib/index.js +83 -0
  12. package/lib/mixins/bnf.js +43 -0
  13. package/lib/mixins/entries.js +99 -0
  14. package/lib/mixins/files.js +46 -0
  15. package/lib/mixins/metaJSON.js +36 -0
  16. package/lib/mixins/vocabulary.js +43 -0
  17. package/lib/multiplers.js +26 -0
  18. package/lib/project.js +98 -0
  19. package/lib/projects.js +112 -0
  20. package/lib/propertyNames.js +26 -0
  21. package/lib/release.js +152 -0
  22. package/lib/releases.js +112 -0
  23. package/lib/shortenedVersion.js +105 -0
  24. package/lib/types.js +22 -0
  25. package/lib/utilities/content.js +42 -0
  26. package/lib/utilities/filePath.js +105 -0
  27. package/lib/utilities/files.js +99 -0
  28. package/lib/utilities/metaJSON.js +197 -0
  29. package/lib/utilities/name.js +18 -0
  30. package/lib/utilities/query.js +36 -0
  31. package/lib/utilities/validate.js +26 -0
  32. package/lib/utilities/version.js +71 -0
  33. package/lib/version.js +160 -0
  34. package/license.txt +48 -0
  35. package/package.json +34 -0
  36. package/src/constants.js +7 -0
  37. package/src/dependencies.js +65 -0
  38. package/src/dependency.js +43 -0
  39. package/src/directory.js +60 -0
  40. package/src/entries.js +206 -0
  41. package/src/file.js +113 -0
  42. package/src/fileNames.js +18 -0
  43. package/src/files.js +66 -0
  44. package/src/index.js +18 -0
  45. package/src/mixins/bnf.js +51 -0
  46. package/src/mixins/entries.js +69 -0
  47. package/src/mixins/files.js +61 -0
  48. package/src/mixins/metaJSON.js +44 -0
  49. package/src/mixins/vocabulary.js +51 -0
  50. package/src/multiplers.js +5 -0
  51. package/src/project.js +63 -0
  52. package/src/projects.js +54 -0
  53. package/src/propertyNames.js +5 -0
  54. package/src/release.js +151 -0
  55. package/src/releases.js +54 -0
  56. package/src/shortenedVersion.js +71 -0
  57. package/src/types.js +4 -0
  58. package/src/utilities/content.js +22 -0
  59. package/src/utilities/filePath.js +66 -0
  60. package/src/utilities/files.js +114 -0
  61. package/src/utilities/metaJSON.js +254 -0
  62. package/src/utilities/name.js +13 -0
  63. package/src/utilities/query.js +25 -0
  64. package/src/utilities/validate.js +5 -0
  65. package/src/utilities/version.js +70 -0
  66. package/src/version.js +123 -0
package/lib/entries.js ADDED
@@ -0,0 +1,245 @@
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 _default;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _file = /*#__PURE__*/ _interop_require_default(require("./file"));
13
+ var _files = /*#__PURE__*/ _interop_require_default(require("./files"));
14
+ var _directory = /*#__PURE__*/ _interop_require_default(require("./directory"));
15
+ var _bnf = /*#__PURE__*/ _interop_require_default(require("./mixins/bnf"));
16
+ var _files1 = /*#__PURE__*/ _interop_require_default(require("./mixins/files"));
17
+ var _metaJSON = /*#__PURE__*/ _interop_require_default(require("./mixins/metaJSON"));
18
+ var _vocabulary = /*#__PURE__*/ _interop_require_default(require("./mixins/vocabulary"));
19
+ function _class_call_check(instance, Constructor) {
20
+ if (!(instance instanceof Constructor)) {
21
+ throw new TypeError("Cannot call a class as a function");
22
+ }
23
+ }
24
+ function _defineProperties(target, props) {
25
+ for(var i = 0; i < props.length; i++){
26
+ var descriptor = props[i];
27
+ descriptor.enumerable = descriptor.enumerable || false;
28
+ descriptor.configurable = true;
29
+ if ("value" in descriptor) descriptor.writable = true;
30
+ Object.defineProperty(target, descriptor.key, descriptor);
31
+ }
32
+ }
33
+ function _create_class(Constructor, protoProps, staticProps) {
34
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
35
+ if (staticProps) _defineProperties(Constructor, staticProps);
36
+ return Constructor;
37
+ }
38
+ function _interop_require_default(obj) {
39
+ return obj && obj.__esModule ? obj : {
40
+ default: obj
41
+ };
42
+ }
43
+ var first = _necessary.arrayUtilities.first, filter = _necessary.arrayUtilities.filter, topmostDirectoryNameFromPath = _necessary.pathUtilities.topmostDirectoryNameFromPath;
44
+ var Entries = /*#__PURE__*/ function() {
45
+ function Entries(array) {
46
+ _class_call_check(this, Entries);
47
+ this.array = array;
48
+ }
49
+ _create_class(Entries, [
50
+ {
51
+ key: "getTopmostDirectoryName",
52
+ value: function getTopmostDirectoryName() {
53
+ var topmostDirectoryName = null;
54
+ var firstEntry = first(this.array); ///
55
+ if (firstEntry) {
56
+ var firstEntryPath = firstEntry.getPath();
57
+ topmostDirectoryName = topmostDirectoryNameFromPath(firstEntryPath);
58
+ if (topmostDirectoryName === null) {
59
+ topmostDirectoryName = firstEntryPath; ///
60
+ }
61
+ }
62
+ return topmostDirectoryName;
63
+ }
64
+ },
65
+ {
66
+ key: "removeFileByPath",
67
+ value: function removeFileByPath(path) {
68
+ filter(this.array, function(entry) {
69
+ var entryFile = entry.isFile();
70
+ if (entryFile) {
71
+ var file = entry, filePath = file.getPath();
72
+ if (filePath === path) {
73
+ return false;
74
+ }
75
+ }
76
+ return true;
77
+ });
78
+ }
79
+ },
80
+ {
81
+ key: "findFile",
82
+ value: function findFile(filePath) {
83
+ var files = this.getFiles(), file = files.findFile(function(file) {
84
+ var filePathMatches = file.matchFilePath(filePath);
85
+ if (filePathMatches) {
86
+ return true;
87
+ }
88
+ }) || null;
89
+ return file;
90
+ }
91
+ },
92
+ {
93
+ key: "getFiles",
94
+ value: function getFiles() {
95
+ var files = _files.default.fromNothing();
96
+ this.mapEntry(function(entry) {
97
+ var entryFile = entry.isFile();
98
+ if (entryFile) {
99
+ var file = entry; ///
100
+ files.addFile(file);
101
+ }
102
+ });
103
+ return files;
104
+ }
105
+ },
106
+ {
107
+ key: "getFilePaths",
108
+ value: function getFilePaths() {
109
+ var filePaths = this.reduceEntry(function(filePaths, entry) {
110
+ var entryFile = entry.isFile();
111
+ if (entryFile) {
112
+ var file = entry, filePath = file.getPath();
113
+ filePaths.push(filePath);
114
+ }
115
+ return filePaths;
116
+ }, []);
117
+ return filePaths;
118
+ }
119
+ },
120
+ {
121
+ key: "getDirectoryPaths",
122
+ value: function getDirectoryPaths() {
123
+ var directoryPaths = this.reduceEntry(function(directoryPaths, entry) {
124
+ var entryDirectory = entry.isDirectory();
125
+ if (entryDirectory) {
126
+ var directory = entry, directoryPath = directory.getPath();
127
+ directoryPaths.push(directoryPath);
128
+ }
129
+ return directoryPaths;
130
+ }, []);
131
+ return directoryPaths;
132
+ }
133
+ },
134
+ {
135
+ key: "matchShortenedVersion",
136
+ value: function matchShortenedVersion(shortenedVersion) {
137
+ var version = this.getVersion(), versionMatchesShortenedVersion = version.matchShortenedVersion(shortenedVersion);
138
+ return versionMatchesShortenedVersion;
139
+ }
140
+ },
141
+ {
142
+ key: "addFile",
143
+ value: function addFile(file) {
144
+ var entry = file; ///
145
+ this.addEntry(entry);
146
+ }
147
+ },
148
+ {
149
+ key: "addEntry",
150
+ value: function addEntry(entry) {
151
+ this.array.push(entry);
152
+ }
153
+ },
154
+ {
155
+ key: "addDirectory",
156
+ value: function addDirectory(directory) {
157
+ var entry = directory; ///
158
+ this.addEntry(entry);
159
+ }
160
+ },
161
+ {
162
+ key: "forEachFile",
163
+ value: function forEachFile(callback) {
164
+ var files = this.getFiles();
165
+ files.forEachFile(callback);
166
+ }
167
+ },
168
+ {
169
+ key: "mapEntry",
170
+ value: function mapEntry(callback) {
171
+ return this.array.map(callback);
172
+ }
173
+ },
174
+ {
175
+ key: "someEntry",
176
+ value: function someEntry(callback) {
177
+ return this.array.some(callback);
178
+ }
179
+ },
180
+ {
181
+ key: "everyEntry",
182
+ value: function everyEntry(callback) {
183
+ return this.array.every(callback);
184
+ }
185
+ },
186
+ {
187
+ key: "forEachEntry",
188
+ value: function forEachEntry(callback) {
189
+ this.array.forEach(callback);
190
+ }
191
+ },
192
+ {
193
+ key: "reduceEntry",
194
+ value: function reduceEntry(callback, initialValue) {
195
+ return this.array.reduce(callback, initialValue);
196
+ }
197
+ },
198
+ {
199
+ key: "toJSON",
200
+ value: function toJSON() {
201
+ var entriesJSON = this.array.map(function(entry) {
202
+ var entryJSON = entry.toJSON();
203
+ return entryJSON;
204
+ }), json = entriesJSON; ///
205
+ return json;
206
+ }
207
+ }
208
+ ], [
209
+ {
210
+ key: "fromJSON",
211
+ value: function fromJSON(json) {
212
+ var array = [], entries = new Entries(array), entriesJSON = json; ///
213
+ entriesJSON.map(function(entryJSON) {
214
+ var _$json = entryJSON, file = _file.default.fromJSON(_$json), directory = _directory.default.fromJSON(_$json), entry = file || directory; ///
215
+ entries.addEntry(entry);
216
+ });
217
+ return entries;
218
+ }
219
+ },
220
+ {
221
+ key: "fromEntry",
222
+ value: function fromEntry(entry) {
223
+ var array = [
224
+ entry
225
+ ], entries = new Entries(array);
226
+ return entries;
227
+ }
228
+ },
229
+ {
230
+ key: "fromNothing",
231
+ value: function fromNothing() {
232
+ var array = [], entries = new Entries(array);
233
+ return entries;
234
+ }
235
+ }
236
+ ]);
237
+ return Entries;
238
+ }();
239
+ Object.assign(Entries.prototype, _bnf.default);
240
+ Object.assign(Entries.prototype, _files1.default);
241
+ Object.assign(Entries.prototype, _metaJSON.default);
242
+ Object.assign(Entries.prototype, _vocabulary.default);
243
+ var _default = Entries;
244
+
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbnRyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBwYXRoVXRpbGl0aWVzLCBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEZpbGUgZnJvbSBcIi4vZmlsZVwiO1xuaW1wb3J0IEZpbGVzIGZyb20gXCIuL2ZpbGVzXCI7XG5pbXBvcnQgRGlyZWN0b3J5IGZyb20gXCIuL2RpcmVjdG9yeVwiO1xuaW1wb3J0IGJuZk1peGlucyBmcm9tIFwiLi9taXhpbnMvYm5mXCI7XG5pbXBvcnQgZmlsZXNNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2ZpbGVzXCI7XG5pbXBvcnQgbWV0YUpTT05NaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21ldGFKU09OXCI7XG5pbXBvcnQgdm9jYWJ1bGFyeU1peGlucyBmcm9tIFwiLi9taXhpbnMvdm9jYWJ1bGFyeVwiO1xuXG5jb25zdCB7IGZpcnN0LCBmaWx0ZXIgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyB0b3Btb3N0RGlyZWN0b3J5TmFtZUZyb21QYXRoIH0gPSBwYXRoVXRpbGl0aWVzO1xuXG5jbGFzcyBFbnRyaWVzIHtcbiAgY29uc3RydWN0b3IoYXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBnZXRUb3Btb3N0RGlyZWN0b3J5TmFtZSgpIHtcbiAgICBsZXQgdG9wbW9zdERpcmVjdG9yeU5hbWUgPSBudWxsO1xuICAgIFxuICAgIGNvbnN0IGZpcnN0RW50cnkgPSBmaXJzdCh0aGlzLmFycmF5KTsgLy8vXG5cbiAgICBpZiAoZmlyc3RFbnRyeSkgeyAvLy9cbiAgICAgIGNvbnN0IGZpcnN0RW50cnlQYXRoID0gZmlyc3RFbnRyeS5nZXRQYXRoKCk7XG5cbiAgICAgIHRvcG1vc3REaXJlY3RvcnlOYW1lID0gdG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aChmaXJzdEVudHJ5UGF0aCk7XG5cbiAgICAgIGlmICh0b3Btb3N0RGlyZWN0b3J5TmFtZSA9PT0gbnVsbCkge1xuICAgICAgICB0b3Btb3N0RGlyZWN0b3J5TmFtZSA9IGZpcnN0RW50cnlQYXRoOyAgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRvcG1vc3REaXJlY3RvcnlOYW1lO1xuICB9XG5cbiAgcmVtb3ZlRmlsZUJ5UGF0aChwYXRoKSB7XG4gICAgZmlsdGVyKHRoaXMuYXJyYXksIChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgZW50cnlGaWxlID0gZW50cnkuaXNGaWxlKCk7XG5cbiAgICAgIGlmIChlbnRyeUZpbGUpIHtcbiAgICAgICAgY29uc3QgZmlsZSA9IGVudHJ5LCAvLy9cbiAgICAgICAgICAgICAgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKTtcblxuICAgICAgICBpZiAoZmlsZVBhdGggPT09IHBhdGgpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBmaW5kRmlsZShmaWxlUGF0aCkge1xuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5nZXRGaWxlcygpLFxuICAgICAgICAgIGZpbGUgPSBmaWxlcy5maW5kRmlsZSgoZmlsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGhNYXRjaGVzID0gZmlsZS5tYXRjaEZpbGVQYXRoKGZpbGVQYXRoKTtcblxuICAgICAgICAgICAgaWYgKGZpbGVQYXRoTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBnZXRGaWxlcygpIHtcbiAgICBjb25zdCBmaWxlcyA9IEZpbGVzLmZyb21Ob3RoaW5nKCk7XG5cbiAgICB0aGlzLm1hcEVudHJ5KChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgZW50cnlGaWxlID0gZW50cnkuaXNGaWxlKCk7XG5cbiAgICAgIGlmIChlbnRyeUZpbGUpIHtcbiAgICAgICAgY29uc3QgZmlsZSA9IGVudHJ5OyAvLy9cblxuICAgICAgICBmaWxlcy5hZGRGaWxlKGZpbGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpbGVzO1xuICB9XG5cbiAgZ2V0RmlsZVBhdGhzKCkge1xuICAgIGNvbnN0IGZpbGVQYXRocyA9IHRoaXMucmVkdWNlRW50cnkoKGZpbGVQYXRocywgZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IGVudHJ5RmlsZSA9IGVudHJ5LmlzRmlsZSgpO1xuXG4gICAgICBpZiAoZW50cnlGaWxlKSB7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBlbnRyeSwgLy8vXG4gICAgICAgICAgICAgIGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCk7XG5cbiAgICAgICAgZmlsZVBhdGhzLnB1c2goZmlsZVBhdGgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmlsZVBhdGhzO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBmaWxlUGF0aHM7XG4gIH1cblxuICBnZXREaXJlY3RvcnlQYXRocygpIHtcbiAgICBjb25zdCBkaXJlY3RvcnlQYXRocyA9IHRoaXMucmVkdWNlRW50cnkoKGRpcmVjdG9yeVBhdGhzLCBlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgZW50cnlEaXJlY3RvcnkgPSBlbnRyeS5pc0RpcmVjdG9yeSgpO1xuXG4gICAgICBpZiAoZW50cnlEaXJlY3RvcnkpIHtcbiAgICAgICAgY29uc3QgZGlyZWN0b3J5ID0gZW50cnksIC8vL1xuICAgICAgICAgICAgICBkaXJlY3RvcnlQYXRoID0gZGlyZWN0b3J5LmdldFBhdGgoKTtcblxuICAgICAgICBkaXJlY3RvcnlQYXRocy5wdXNoKGRpcmVjdG9yeVBhdGgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGlyZWN0b3J5UGF0aHM7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeVBhdGhzO1xuICB9XG5cbiAgbWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICBjb25zdCB2ZXJzaW9uID0gdGhpcy5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgdmVyc2lvbk1hdGNoZXNTaG9ydGVuZWRWZXJzaW9uID0gdmVyc2lvbi5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICByZXR1cm4gdmVyc2lvbk1hdGNoZXNTaG9ydGVuZWRWZXJzaW9uO1xuICB9XG5cbiAgYWRkRmlsZShmaWxlKSB7XG4gICAgY29uc3QgZW50cnkgPSBmaWxlOyAvLy9cblxuICAgIHRoaXMuYWRkRW50cnkoZW50cnkpO1xuICB9XG5cbiAgYWRkRW50cnkoZW50cnkpIHsgdGhpcy5hcnJheS5wdXNoKGVudHJ5KTsgfVxuXG4gIGFkZERpcmVjdG9yeShkaXJlY3RvcnkpIHtcbiAgICBjb25zdCBlbnRyeSA9IGRpcmVjdG9yeTsgIC8vL1xuXG4gICAgdGhpcy5hZGRFbnRyeShlbnRyeSk7XG4gIH1cblxuICBmb3JFYWNoRmlsZShjYWxsYmFjaykge1xuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5nZXRGaWxlcygpO1xuXG4gICAgZmlsZXMuZm9yRWFjaEZpbGUoY2FsbGJhY2spO1xuICB9XG5cbiAgbWFwRW50cnkoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkubWFwKGNhbGxiYWNrKTsgfVxuXG4gIHNvbWVFbnRyeShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5hcnJheS5zb21lKGNhbGxiYWNrKTsgfVxuXG4gIGV2ZXJ5RW50cnkoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkuZXZlcnkoY2FsbGJhY2spOyB9XG5cbiAgZm9yRWFjaEVudHJ5KGNhbGxiYWNrKSB7IHRoaXMuYXJyYXkuZm9yRWFjaChjYWxsYmFjayk7IH1cblxuICByZWR1Y2VFbnRyeShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKSB7IHJldHVybiB0aGlzLmFycmF5LnJlZHVjZShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKTsgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBlbnRyaWVzSlNPTiA9IHRoaXMuYXJyYXkubWFwKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZW50cnlKU09OID0gZW50cnkudG9KU09OKCk7XG4gIFxuICAgICAgICAgICAgcmV0dXJuIGVudHJ5SlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBqc29uID0gZW50cmllc0pTT047IC8vL1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IGFycmF5ID0gW10sXG4gICAgICAgICAgZW50cmllcyA9IG5ldyBFbnRyaWVzKGFycmF5KSxcbiAgICAgICAgICBlbnRyaWVzSlNPTiA9IGpzb247IC8vL1xuXG4gICAgZW50cmllc0pTT04ubWFwKChlbnRyeUpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBlbnRyeUpTT04sIC8vL1xuICAgICAgICAgICAgZmlsZSA9IEZpbGUuZnJvbUpTT04oanNvbiksXG4gICAgICAgICAgICBkaXJlY3RvcnkgPSBEaXJlY3RvcnkuZnJvbUpTT04oanNvbiksXG4gICAgICAgICAgICBlbnRyeSA9IGZpbGUgfHwgZGlyZWN0b3J5OyAgLy8vXG5cbiAgICAgIGVudHJpZXMuYWRkRW50cnkoZW50cnkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGVudHJpZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbUVudHJ5KGVudHJ5KSB7XG4gICAgY29uc3QgYXJyYXkgPSBbXG4gICAgICAgICAgICBlbnRyeVxuICAgICAgICAgIF0sXG4gICAgICAgICAgZW50cmllcyA9IG5ldyBFbnRyaWVzKGFycmF5KTtcblxuICAgIHJldHVybiBlbnRyaWVzO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGFycmF5ID0gW10sXG4gICAgICAgICAgZW50cmllcyA9IG5ldyBFbnRyaWVzKGFycmF5KTtcblxuICAgIHJldHVybiBlbnRyaWVzO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRW50cmllcy5wcm90b3R5cGUsIGJuZk1peGlucyk7XG5PYmplY3QuYXNzaWduKEVudHJpZXMucHJvdG90eXBlLCBmaWxlc01peGlucyk7XG5PYmplY3QuYXNzaWduKEVudHJpZXMucHJvdG90eXBlLCBtZXRhSlNPTk1peGlucyk7XG5PYmplY3QuYXNzaWduKEVudHJpZXMucHJvdG90eXBlLCB2b2NhYnVsYXJ5TWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgRW50cmllcztcbiJdLCJuYW1lcyI6WyJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiZmlsdGVyIiwidG9wbW9zdERpcmVjdG9yeU5hbWVGcm9tUGF0aCIsInBhdGhVdGlsaXRpZXMiLCJFbnRyaWVzIiwiYXJyYXkiLCJnZXRUb3Btb3N0RGlyZWN0b3J5TmFtZSIsInRvcG1vc3REaXJlY3RvcnlOYW1lIiwiZmlyc3RFbnRyeSIsImZpcnN0RW50cnlQYXRoIiwiZ2V0UGF0aCIsInJlbW92ZUZpbGVCeVBhdGgiLCJwYXRoIiwiZW50cnkiLCJlbnRyeUZpbGUiLCJpc0ZpbGUiLCJmaWxlIiwiZmlsZVBhdGgiLCJmaW5kRmlsZSIsImZpbGVzIiwiZ2V0RmlsZXMiLCJmaWxlUGF0aE1hdGNoZXMiLCJtYXRjaEZpbGVQYXRoIiwiRmlsZXMiLCJmcm9tTm90aGluZyIsIm1hcEVudHJ5IiwiYWRkRmlsZSIsImdldEZpbGVQYXRocyIsImZpbGVQYXRocyIsInJlZHVjZUVudHJ5IiwicHVzaCIsImdldERpcmVjdG9yeVBhdGhzIiwiZGlyZWN0b3J5UGF0aHMiLCJlbnRyeURpcmVjdG9yeSIsImlzRGlyZWN0b3J5IiwiZGlyZWN0b3J5IiwiZGlyZWN0b3J5UGF0aCIsIm1hdGNoU2hvcnRlbmVkVmVyc2lvbiIsInNob3J0ZW5lZFZlcnNpb24iLCJ2ZXJzaW9uIiwiZ2V0VmVyc2lvbiIsInZlcnNpb25NYXRjaGVzU2hvcnRlbmVkVmVyc2lvbiIsImFkZEVudHJ5IiwiYWRkRGlyZWN0b3J5IiwiZm9yRWFjaEZpbGUiLCJjYWxsYmFjayIsIm1hcCIsInNvbWVFbnRyeSIsInNvbWUiLCJldmVyeUVudHJ5IiwiZXZlcnkiLCJmb3JFYWNoRW50cnkiLCJmb3JFYWNoIiwiaW5pdGlhbFZhbHVlIiwicmVkdWNlIiwidG9KU09OIiwiZW50cmllc0pTT04iLCJlbnRyeUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJlbnRyaWVzIiwiRmlsZSIsIkRpcmVjdG9yeSIsImZyb21FbnRyeSIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImJuZk1peGlucyIsImZpbGVzTWl4aW5zIiwibWV0YUpTT05NaXhpbnMiLCJ2b2NhYnVsYXJ5TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE2TUE7OztlQUFBOzs7eUJBM004QzsyREFFN0I7NERBQ0M7Z0VBQ0k7MERBQ0E7NkRBQ0U7K0RBQ0c7aUVBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBUUEsUUFBa0JDLHlCQUFjLENBQWhDRCxPQUFPRSxTQUFXRCx5QkFBYyxDQUF6QkMsUUFDVCxBQUFFQywrQkFBaUNDLHdCQUFhLENBQTlDRDtBQUVSLElBQUEsQUFBTUUsd0JBQU47YUFBTUEsUUFDUUMsS0FBSztnQ0FEYkQ7UUFFRixJQUFJLENBQUNDLEtBQUssR0FBR0E7O2tCQUZYRDs7WUFLSkUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLHVCQUF1QjtnQkFFM0IsSUFBTUMsYUFBYVQsTUFBTSxJQUFJLENBQUNNLEtBQUssR0FBRyxHQUFHO2dCQUV6QyxJQUFJRyxZQUFZO29CQUNkLElBQU1DLGlCQUFpQkQsV0FBV0UsT0FBTztvQkFFekNILHVCQUF1QkwsNkJBQTZCTztvQkFFcEQsSUFBSUYseUJBQXlCLE1BQU07d0JBQ2pDQSx1QkFBdUJFLGdCQUFpQixHQUFHO29CQUM3QztnQkFDRjtnQkFFQSxPQUFPRjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsSUFBSTtnQkFDbkJYLE9B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
package/lib/file.js ADDED
@@ -0,0 +1,162 @@
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 File;
9
+ }
10
+ });
11
+ var _types = require("./types");
12
+ var _content = require("./utilities/content");
13
+ function _class_call_check(instance, Constructor) {
14
+ if (!(instance instanceof Constructor)) {
15
+ throw new TypeError("Cannot call a class as a function");
16
+ }
17
+ }
18
+ function _defineProperties(target, props) {
19
+ for(var i = 0; i < props.length; i++){
20
+ var descriptor = props[i];
21
+ descriptor.enumerable = descriptor.enumerable || false;
22
+ descriptor.configurable = true;
23
+ if ("value" in descriptor) descriptor.writable = true;
24
+ Object.defineProperty(target, descriptor.key, descriptor);
25
+ }
26
+ }
27
+ function _create_class(Constructor, protoProps, staticProps) {
28
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
+ if (staticProps) _defineProperties(Constructor, staticProps);
30
+ return Constructor;
31
+ }
32
+ function _define_property(obj, key, value) {
33
+ if (key in obj) {
34
+ Object.defineProperty(obj, key, {
35
+ value: value,
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true
39
+ });
40
+ } else {
41
+ obj[key] = value;
42
+ }
43
+ return obj;
44
+ }
45
+ var File = /*#__PURE__*/ function() {
46
+ function File(path, content, released) {
47
+ _class_call_check(this, File);
48
+ this.path = path;
49
+ this.content = content;
50
+ this.released = released;
51
+ }
52
+ _create_class(File, [
53
+ {
54
+ key: "getPath",
55
+ value: function getPath() {
56
+ return this.path;
57
+ }
58
+ },
59
+ {
60
+ key: "getContent",
61
+ value: function getContent() {
62
+ return this.content;
63
+ }
64
+ },
65
+ {
66
+ key: "isReleased",
67
+ value: function isReleased() {
68
+ return this.released;
69
+ }
70
+ },
71
+ {
72
+ key: "isFile",
73
+ value: function isFile() {
74
+ var file = true;
75
+ return file;
76
+ }
77
+ },
78
+ {
79
+ key: "isDirectory",
80
+ value: function isDirectory() {
81
+ var directory = false;
82
+ return directory;
83
+ }
84
+ },
85
+ {
86
+ key: "setPath",
87
+ value: function setPath(path) {
88
+ this.path = path;
89
+ }
90
+ },
91
+ {
92
+ key: "setContent",
93
+ value: function setContent(content) {
94
+ this.content = content;
95
+ }
96
+ },
97
+ {
98
+ key: "setReleased",
99
+ value: function setReleased(released) {
100
+ this.released = released;
101
+ }
102
+ },
103
+ {
104
+ key: "matchFilePath",
105
+ value: function matchFilePath(filePath) {
106
+ var filePathMatches = this.path === filePath;
107
+ return filePathMatches;
108
+ }
109
+ },
110
+ {
111
+ key: "toJSON",
112
+ value: function toJSON() {
113
+ var type = File.type, path = this.path, content = this.content, released = this.released, json = {
114
+ type: type,
115
+ path: path,
116
+ content: content,
117
+ released: released
118
+ };
119
+ return json;
120
+ }
121
+ }
122
+ ], [
123
+ {
124
+ key: "fromJSON",
125
+ value: function fromJSON(json) {
126
+ var file = null;
127
+ if (json !== null) {
128
+ var type = json.type;
129
+ if (type === _types.FILE_TYPE) {
130
+ var content = json.content;
131
+ var path = json.path, released = json.released;
132
+ content = (0, _content.convertContentTabsToWhitespace)(content); ///
133
+ file = new File(path, content, released);
134
+ }
135
+ }
136
+ return file;
137
+ }
138
+ },
139
+ {
140
+ key: "fromDocument",
141
+ value: function fromDocument(document) {
142
+ var filePath = document.getFilePath(), released = document.isReleased(), path = filePath; ///
143
+ var content = document.getContent();
144
+ content = (0, _content.convertContentTabsToWhitespace)(content); ///
145
+ var file = new File(path, content, released);
146
+ return file;
147
+ }
148
+ },
149
+ {
150
+ key: "fromPathContentAndReleased",
151
+ value: function fromPathContentAndReleased(path, content, released) {
152
+ content = (0, _content.convertContentTabsToWhitespace)(content); ///
153
+ var file = new File(path, content, released);
154
+ return file;
155
+ }
156
+ }
157
+ ]);
158
+ return File;
159
+ }();
160
+ _define_property(File, "type", _types.FILE_TYPE);
161
+
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGSUxFX1RZUEUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2NvbnRlbnRcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlIHtcbiAgY29uc3RydWN0b3IocGF0aCwgY29udGVudCwgcmVsZWFzZWQpIHtcbiAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG4gICAgdGhpcy5yZWxlYXNlZCA9IHJlbGVhc2VkO1xuICB9XG5cbiAgZ2V0UGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXRoO1xuICB9XG5cbiAgZ2V0Q29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50O1xuICB9XG5cbiAgaXNSZWxlYXNlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWxlYXNlZDtcbiAgfVxuXG4gIGlzRmlsZSgpIHtcbiAgICBjb25zdCBmaWxlID0gdHJ1ZTtcblxuICAgIHJldHVybiBmaWxlO1xuICB9XG5cbiAgaXNEaXJlY3RvcnkoKSB7XG4gICAgY29uc3QgZGlyZWN0b3J5ID0gZmFsc2U7XG5cbiAgICByZXR1cm4gZGlyZWN0b3J5O1xuICB9XG5cbiAgc2V0UGF0aChwYXRoKSB7XG4gICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgfVxuXG4gIHNldENvbnRlbnQoY29udGVudCkge1xuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG4gIH1cblxuICBzZXRSZWxlYXNlZChyZWxlYXNlZCkge1xuICAgIHRoaXMucmVsZWFzZWQgPSByZWxlYXNlZDtcbiAgfVxuXG4gIG1hdGNoRmlsZVBhdGgoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBmaWxlUGF0aE1hdGNoZXMgPSAodGhpcy5wYXRoID09PSBmaWxlUGF0aCk7XG5cbiAgICByZXR1cm4gZmlsZVBhdGhNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gRmlsZSxcbiAgICAgICAgICBwYXRoID0gdGhpcy5wYXRoLFxuICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQsXG4gICAgICAgICAgcmVsZWFzZWQgPSB0aGlzLnJlbGVhc2VkLFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICByZWxlYXNlZFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyB0eXBlID0gRklMRV9UWVBFO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgbGV0IGZpbGUgPSBudWxsO1xuXG4gICAgaWYgKGpzb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgdHlwZSB9ID0ganNvbjtcblxuICAgICAgaWYgKHR5cGUgPT09IEZJTEVfVFlQRSkge1xuICAgICAgICBsZXQgeyBjb250ZW50IH0gPSBqc29uO1xuXG4gICAgICAgIGNvbnN0IHsgcGF0aCwgcmVsZWFzZWQgfSA9IGpzb247XG5cbiAgICAgICAgY29udGVudCA9IGNvbnZlcnRDb250ZW50VGFic1RvV2hpdGVzcGFjZShjb250ZW50KTsgIC8vL1xuXG4gICAgICAgIGZpbGUgPSBuZXcgRmlsZShwYXRoLCBjb250ZW50LCByZWxlYXNlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbURvY3VtZW50KGRvY3VtZW50KSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBkb2N1bWVudC5nZXRGaWxlUGF0aCgpLFxuICAgICAgICAgIHJlbGVhc2VkID0gZG9jdW1lbnQuaXNSZWxlYXNlZCgpLFxuICAgICAgICAgIHBhdGggPSBmaWxlUGF0aDsgIC8vL1xuXG4gICAgbGV0IGNvbnRlbnQgPSBkb2N1bWVudC5nZXRDb250ZW50KCk7XG5cbiAgICBjb250ZW50ID0gY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlKGNvbnRlbnQpOyAgLy8vXG5cbiAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUocGF0aCwgY29udGVudCwgcmVsZWFzZWQpO1xuXG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhdGhDb250ZW50QW5kUmVsZWFzZWQocGF0aCwgY29udGVudCwgcmVsZWFzZWQpIHtcbiAgICBjb250ZW50ID0gY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlKGNvbnRlbnQpOyAgLy8vXG5cbiAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUocGF0aCwgY29udGVudCwgcmVsZWFzZWQpO1xuXG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGaWxlIiwicGF0aCIsImNvbnRlbnQiLCJyZWxlYXNlZCIsImdldFBhdGgiLCJnZXRDb250ZW50IiwiaXNSZWxlYXNlZCIsImlzRmlsZSIsImZpbGUiLCJpc0RpcmVjdG9yeSIsImRpcmVjdG9yeSIsInNldFBhdGgiLCJzZXRDb250ZW50Iiwic2V0UmVsZWFzZWQiLCJtYXRjaEZpbGVQYXRoIiwiZmlsZVBhdGgiLCJmaWxlUGF0aE1hdGNoZXMiLCJ0b0pTT04iLCJ0eXBlIiwianNvbiIsImZyb21KU09OIiwiRklMRV9UWVBFIiwiY29udmVydENvbnRlbnRUYWJzVG9XaGl0ZXNwYWNlIiwiZnJvbURvY3VtZW50IiwiZG9jdW1lbnQiLCJnZXRGaWxlUGF0aCIsImZyb21QYXRoQ29udGVudEFuZFJlbGVhc2VkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUtxQkE7OztxQkFISzt1QkFDcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQyxJQUFBLEFBQU1BLHFCQUFOO2FBQU1BLEtBQ1BDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxRQUFRO2dDQURo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
@@ -0,0 +1,49 @@
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 META_JSON_FILE_NAME () {
13
+ return META_JSON_FILE_NAME;
14
+ },
15
+ get README_MD_FILE_NAME () {
16
+ return README_MD_FILE_NAME;
17
+ },
18
+ get STATEMENT_BNF_FILE_NAME () {
19
+ return STATEMENT_BNF_FILE_NAME;
20
+ },
21
+ get SYMBOL_VOCABULARY_FILE_NAME () {
22
+ return SYMBOL_VOCABULARY_FILE_NAME;
23
+ },
24
+ get TERM_BNF_FILE_NAME () {
25
+ return TERM_BNF_FILE_NAME;
26
+ },
27
+ get TYPE_VOCABULARY_FILE_NAME () {
28
+ return TYPE_VOCABULARY_FILE_NAME;
29
+ },
30
+ get default () {
31
+ return _default;
32
+ }
33
+ });
34
+ var README_MD_FILE_NAME = "README.md";
35
+ var META_JSON_FILE_NAME = "meta.json";
36
+ var TERM_BNF_FILE_NAME = "term.bnf";
37
+ var STATEMENT_BNF_FILE_NAME = "statement.bnf";
38
+ var TYPE_VOCABULARY_FILE_NAME = "type.vcb";
39
+ var SYMBOL_VOCABULARY_FILE_NAME = "symbol.vcb";
40
+ var _default = {
41
+ README_MD_FILE_NAME: README_MD_FILE_NAME,
42
+ META_JSON_FILE_NAME: META_JSON_FILE_NAME,
43
+ TERM_BNF_FILE_NAME: TERM_BNF_FILE_NAME,
44
+ STATEMENT_BNF_FILE_NAME: STATEMENT_BNF_FILE_NAME,
45
+ TYPE_VOCABULARY_FILE_NAME: TYPE_VOCABULARY_FILE_NAME,
46
+ SYMBOL_VOCABULARY_FILE_NAME: SYMBOL_VOCABULARY_FILE_NAME
47
+ };
48
+
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBSRUFETUVfTURfRklMRV9OQU1FID0gXCJSRUFETUUubWRcIjtcbmV4cG9ydCBjb25zdCBNRVRBX0pTT05fRklMRV9OQU1FID0gXCJtZXRhLmpzb25cIjtcblxuZXhwb3J0IGNvbnN0IFRFUk1fQk5GX0ZJTEVfTkFNRSA9IFwidGVybS5ibmZcIjtcbmV4cG9ydCBjb25zdCBTVEFURU1FTlRfQk5GX0ZJTEVfTkFNRSA9IFwic3RhdGVtZW50LmJuZlwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfVk9DQUJVTEFSWV9GSUxFX05BTUUgPSBcInR5cGUudmNiXCI7XG5leHBvcnQgY29uc3QgU1lNQk9MX1ZPQ0FCVUxBUllfRklMRV9OQU1FID0gXCJzeW1ib2wudmNiXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgUkVBRE1FX01EX0ZJTEVfTkFNRSxcbiAgTUVUQV9KU09OX0ZJTEVfTkFNRSxcbiAgVEVSTV9CTkZfRklMRV9OQU1FLFxuICBTVEFURU1FTlRfQk5GX0ZJTEVfTkFNRSxcbiAgVFlQRV9WT0NBQlVMQVJZX0ZJTEVfTkFNRSxcbiAgU1lNQk9MX1ZPQ0FCVUxBUllfRklMRV9OQU1FXG59O1xuIl0sIm5hbWVzIjpbIk1FVEFfSlNPTl9GSUxFX05BTUUiLCJSRUFETUVfTURfRklMRV9OQU1FIiwiU1RBVEVNRU5UX0JORl9GSUxFX05BTUUiLCJTWU1CT0xfVk9DQUJVTEFSWV9GSUxFX05BTUUiLCJURVJNX0JORl9GSUxFX05BTUUiLCJUWVBFX1ZPQ0FCVUxBUllfRklMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFHYUE7ZUFBQUE7O1FBREFDO2VBQUFBOztRQUlBQztlQUFBQTs7UUFFQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFHYjtlQUFBOzs7QUFSTyxJQUFNSixzQkFBc0I7QUFDNUIsSUFBTUQsc0JBQXNCO0FBRTVCLElBQU1JLHFCQUFxQjtBQUMzQixJQUFNRiwwQkFBMEI7QUFDaEMsSUFBTUcsNEJBQTRCO0FBQ2xDLElBQU1GLDhCQUE4QjtJQUUzQyxXQUFlO0lBQ2JGLHFCQUFBQTtJQUNBRCxxQkFBQUE7SUFDQUksb0JBQUFBO0lBQ0FGLHlCQUFBQTtJQUNBRywyQkFBQUE7SUFDQUYsNkJBQUFBO0FBQ0YifQ==
package/lib/files.js ADDED
@@ -0,0 +1,121 @@
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 Files;
9
+ }
10
+ });
11
+ var _file = /*#__PURE__*/ _interop_require_default(require("./file"));
12
+ function _class_call_check(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 _create_class(Constructor, protoProps, staticProps) {
27
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
+ if (staticProps) _defineProperties(Constructor, staticProps);
29
+ return Constructor;
30
+ }
31
+ function _interop_require_default(obj) {
32
+ return obj && obj.__esModule ? obj : {
33
+ default: obj
34
+ };
35
+ }
36
+ var Files = /*#__PURE__*/ function() {
37
+ function Files(array) {
38
+ _class_call_check(this, Files);
39
+ this.array = array;
40
+ }
41
+ _create_class(Files, [
42
+ {
43
+ key: "getFilePaths",
44
+ value: function getFilePaths() {
45
+ var filePaths = this.mapFile(function(file) {
46
+ var filePath = file.getPath();
47
+ return filePath;
48
+ });
49
+ return filePaths;
50
+ }
51
+ },
52
+ {
53
+ key: "addFile",
54
+ value: function addFile(file) {
55
+ this.array.push(file);
56
+ }
57
+ },
58
+ {
59
+ key: "mapFile",
60
+ value: function mapFile(callback) {
61
+ return this.array.map(callback);
62
+ }
63
+ },
64
+ {
65
+ key: "someFile",
66
+ value: function someFile(callback) {
67
+ return this.array.some(callback);
68
+ }
69
+ },
70
+ {
71
+ key: "reduceFile",
72
+ value: function reduceFile(callback, initialValue) {
73
+ return this.array.reduce(callback, initialValue);
74
+ }
75
+ },
76
+ {
77
+ key: "forEachFile",
78
+ value: function forEachFile(callback) {
79
+ this.array.forEach(callback);
80
+ }
81
+ },
82
+ {
83
+ key: "findFile",
84
+ value: function findFile(callback) {
85
+ return this.array.find(callback) || null;
86
+ } ///
87
+ },
88
+ {
89
+ key: "toJSON",
90
+ value: function toJSON() {
91
+ var filesJSON = this.array.map(function(file) {
92
+ var fileJSON = file !== null ? file.toJSON() : null;
93
+ return fileJSON;
94
+ }), json = filesJSON; ///
95
+ return json;
96
+ }
97
+ }
98
+ ], [
99
+ {
100
+ key: "fromJSON",
101
+ value: function fromJSON(json) {
102
+ var filesJSON = json, array = [], files = new Files(array);
103
+ filesJSON.forEach(function(fileJSON) {
104
+ var _$json = fileJSON, file = _file.default.fromJSON(_$json);
105
+ files.addFile(file);
106
+ });
107
+ return files;
108
+ }
109
+ },
110
+ {
111
+ key: "fromNothing",
112
+ value: function fromNothing() {
113
+ var array = [], files = new Files(array);
114
+ return files;
115
+ }
116
+ }
117
+ ]);
118
+ return Files;
119
+ }();
120
+
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEZpbGUgZnJvbSBcIi4vZmlsZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlcyB7XG4gIGNvbnN0cnVjdG9yKGFycmF5KSB7XG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0RmlsZVBhdGhzKCkge1xuICAgIGNvbnN0IGZpbGVQYXRocyA9IHRoaXMubWFwRmlsZSgoZmlsZSkgPT4ge1xuICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKTtcblxuICAgICAgcmV0dXJuIGZpbGVQYXRoO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpbGVQYXRocztcbiAgfVxuXG4gIGFkZEZpbGUoZmlsZSkgeyB0aGlzLmFycmF5LnB1c2goZmlsZSk7IH1cblxuICBtYXBGaWxlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmFycmF5Lm1hcChjYWxsYmFjayk7IH1cblxuICBzb21lRmlsZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5hcnJheS5zb21lKGNhbGxiYWNrKTsgfVxuXG4gIHJlZHVjZUZpbGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkgeyByZXR1cm4gdGhpcy5hcnJheS5yZWR1Y2UoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSk7IH1cblxuICBmb3JFYWNoRmlsZShjYWxsYmFjaykgeyB0aGlzLmFycmF5LmZvckVhY2goY2FsbGJhY2spOyB9XG5cbiAgZmluZEZpbGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkuZmluZChjYWxsYmFjaykgfHwgbnVsbDsgfSAgLy8vXG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGZpbGVzSlNPTiA9IHRoaXMuYXJyYXkubWFwKChmaWxlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlSlNPTiA9IChmaWxlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4gIFxuICAgICAgICAgICAgcmV0dXJuIGZpbGVKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGpzb24gPSBmaWxlc0pTT047IC8vL1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IGZpbGVzSlNPTiA9IGpzb24sIC8vL1xuICAgICAgICAgIGFycmF5ID0gW10sXG4gICAgICAgICAgZmlsZXMgPSBuZXcgRmlsZXMoYXJyYXkpO1xuICAgIFxuICAgIGZpbGVzSlNPTi5mb3JFYWNoKChmaWxlSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IGZpbGVKU09OLCAgLy8vXG4gICAgICAgICAgICBmaWxlID0gRmlsZS5mcm9tSlNPTihqc29uKTtcblxuICAgICAgZmlsZXMuYWRkRmlsZShmaWxlKTtcbiAgICB9KTtcbiAgICBcbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgYXJyYXkgPSBbXSxcbiAgICAgICAgICBmaWxlcyA9IG5ldyBGaWxlcyhhcnJheSk7XG5cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGaWxlcyIsImFycmF5IiwiZ2V0RmlsZVBhdGhzIiwiZmlsZVBhdGhzIiwibWFwRmlsZSIsImZpbGUiLCJmaWxlUGF0aCIsImdldFBhdGgiLCJhZGRGaWxlIiwicHVzaCIsImNhbGxiYWNrIiwibWFwIiwic29tZUZpbGUiLCJzb21lIiwicmVkdWNlRmlsZSIsImluaXRpYWxWYWx1ZSIsInJlZHVjZSIsImZvckVhY2hGaWxlIiwiZm9yRWFjaCIsImZpbmRGaWxlIiwiZmluZCIsInRvSlNPTiIsImZpbGVzSlNPTiIsImZpbGVKU09OIiwianNvbiIsImZyb21KU09OIiwiZmlsZXMiLCJGaWxlIiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7OzJEQUZKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUYsSUFBQSxBQUFNQSxzQkFBTjthQUFNQSxNQUNQQyxLQUFLO2dDQURFRDtRQUVqQixJQUFJLENBQUNDLEtBQUssR0FBR0E7O2tCQUZJRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxZQUFZLElBQUksQ0FBQ0MsT0FBTyxDQUFDLFNBQUNDO29CQUM5QixJQUFNQyxXQUFXRCxLQUFLRSxPQUFPO29CQUU3QixPQUFPRDtnQkFDVDtnQkFFQSxPQUFPSDtZQUNUOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFILElBQUk7Z0JBQUksSUFBSSxDQUFDSixLQUFLLENBQUNRLElBQUksQ0FBQ0o7WUFBTzs7O1lBRXZDRCxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUU0sUUFBUTtnQkFBSSxPQUFPLElBQUksQ0FBQ1QsS0FBSyxDQUFDVSxHQUFHLENBQUNEO1lBQVc7OztZQUVyREUsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNGLFFBQVE7Z0JBQUksT0FBTyxJQUFJLENBQUNULEtBQUssQ0FBQ1ksSUFBSSxDQUFDSDtZQUFXOzs7WUFFdkRJLEtBQUFBO21CQUFBQSxTQUFBQSxXQUFXSixRQUFRLEVBQUVLLFlBQVk7Z0JBQUksT0FBTyxJQUFJLENBQUNkLEtBQUssQ0FBQ2UsTUFBTSxDQUFDTixVQUFVSztZQUFlOzs7WUFFdkZFLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZUCxRQUFRO2dCQUFJLElBQUksQ0FBQ1QsS0FBSyxDQUFDaUIsT0FBTyxDQUFDUjtZQUFXOzs7WUFFdERTLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTVCxRQUFRO2dCQUFJLE9BQU8sSUFBSSxDQUFDVCxLQUFLLENBQUNtQixJQUFJLENBQUNWLGFBQWE7WUFBTSxFQUFHLEdBQUc7OztZQUVyRVcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFlBQVksSUFBSSxDQUFDckIsS0FBSyxDQUFDVSxHQUFHLENBQUMsU0FBQ047b0JBQzFCLElBQU1rQixXQUFXLEFBQUNsQixTQUFTLE9BQ1BBLEtBQUtnQixNQUFNLEtBQ1Q7b0JBRXRCLE9BQU9FO2dCQUNULElBQ0FDLE9BQU9GLFdBQVcsR0FBRztnQkFFM0IsT0FBT0U7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJO2dCQUNsQixJQUFNRixZQUFZRSxNQUNadkIsUUFBUSxFQUFFLEVBQ1Z5QixRQUFRLElBM0NHMUIsTUEyQ09DO2dCQUV4QnFCLFVBQVVKLE9BQU8sQ0FBQyxTQUFDSztvQkFDakIsSUFBTUMsU0FBT0QsVUFDUGxCLE9BQU9zQixhQUFJLENBQUNGLFFBQVEsQ0FBQ0Q7b0JBRTNCRSxNQUFNbEIsT0FBTyxDQUFDSDtnQkFDaEI7Z0JBRUEsT0FBT3FCO1lBQ1Q7OztZQUVPRSxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNM0IsUUFBUSxFQUFFLEVBQ1Z5QixRQUFRLElBekRHMUIsTUF5RE9DO2dCQUV4QixPQUFPeUI7WUFDVDs7O1dBNURtQjFCIn0=