occam-languages 0.0.122 → 0.0.124

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.
@@ -17,12 +17,16 @@ function _interop_require_default(obj) {
17
17
  };
18
18
  }
19
19
  class FileContext extends _context.default {
20
- constructor(context, filePath, tokens, node){
20
+ constructor(context, fileContent, filePath, tokens, node){
21
21
  super(context);
22
+ this.fileContent = fileContent;
22
23
  this.filePath = filePath;
23
24
  this.tokens = tokens;
24
25
  this.node = node;
25
26
  }
27
+ getFileContent() {
28
+ return this.fileContent;
29
+ }
26
30
  getFilePath() {
27
31
  return this.filePath;
28
32
  }
@@ -98,13 +102,13 @@ class FileContext extends _context.default {
98
102
  return verifies;
99
103
  }
100
104
  static fromFile(Class, file, ...remainingArguments) {
101
- const filePath = file.getPath(), tokens = null, node = null, context = remainingArguments.pop(), fileContext = new Class(context, filePath, tokens, node, ...remainingArguments);
105
+ const fileContent = file.getContent(), filePath = file.getPath(), tokens = null, node = null, context = remainingArguments.pop(), fileContext = new Class(context, fileContent, filePath, tokens, node, ...remainingArguments);
102
106
  return fileContext;
103
107
  }
104
108
  static fromJSON(Class, json, ...remainingArguments) {
105
- const { filePath } = json, tokens = null, node = null, context = remainingArguments.pop(), fileContext = new Class(context, filePath, tokens, node, ...remainingArguments);
109
+ const { fileContent, filePath } = json, tokens = null, node = null, context = remainingArguments.pop(), fileContext = new Class(context, fileContent, filePath, tokens, node, ...remainingArguments);
106
110
  return fileContext;
107
111
  }
108
112
  }
109
113
 
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL2NvbnRleHQnO1xuXG5pbXBvcnQgeyBsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyB9IGZyb20gXCIuLi91dGlsaXRpZXMvbGluZUluZGV4XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcsIG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSkge1xuICAgIHN1cGVyKGNvbnRleHQpO1xuXG4gICAgdGhpcy5maWxlUGF0aCA9IGZpbGVQYXRoO1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICBjb25zdCBsZXhlciA9IG51bGw7XG5cbiAgICByZXR1cm4gbGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgY29uc3QgcGFyc2VyID0gbnVsbDtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBnZXRUeXBlUHJlZml4KCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICB0eXBlUHJlZml4ID0gY29udGV4dC5nZXRUeXBlUHJlZml4KCk7XG5cbiAgICByZXR1cm4gdHlwZVByZWZpeDtcbiAgfVxuXG4gIG1hdGNoRmlsZVBhdGgoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBmaWxlUGF0aE1hdGNoZXMgPSAodGhpcy5maWxlUGF0aCA9PT0gZmlsZVBhdGgpO1xuXG4gICAgcmV0dXJuIGZpbGVQYXRoTWF0Y2hlcztcbiAgfVxuXG4gIGZpbmRGaWxlKCkge1xuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gdGhpcy5nZXRSZWxlYXNlQ29udGV4dCgpLFxuICAgICAgICAgIGZpbGUgPSByZWxlYXNlQ29udGV4dC5maW5kRmlsZSh0aGlzLmZpbGVQYXRoKTtcblxuICAgIHJldHVybiBmaWxlO1xuICB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2RlQXNTdHJpbmcobm9kZSwgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZXMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0aGlzLnRva2Vucyk7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgcHJlcGFyZSgpIHtcbiAgICBpZiAodGhpcy50b2tlbnMgIT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlID0gdGhpcy5maW5kRmlsZSgpLFxuICAgICAgICAgIGxleGVyID0gdGhpcy5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IHRoaXMuZ2V0UGFyc2VyKCksXG4gICAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpO1xuXG4gICAgdGhpcy50b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICAgIHRoaXMubm9kZSA9IHBhcnNlci5wYXJzZSh0aGlzLnRva2Vucyk7XG4gIH1cblxuICBpbml0aWFsaXNlKGpzb24pIHtcbiAgICBjb25zdCB7IGNvbnRlbnQgfSA9IGpzb24sXG4gICAgICAgICAgbGV4ZXIgPSB0aGlzLmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gdGhpcy5nZXRQYXJzZXIoKTtcblxuICAgIHRoaXMudG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICB0aGlzLm5vZGUgPSBwYXJzZXIucGFyc2UodGhpcy50b2tlbnMpO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy5hZGRQcm9jZWR1cmVzKCk7XG4gIH1cblxuICBhc3luYyBicmVhayhub2RlKSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSB0aGlzLmZpbGVQYXRoLFxuICAgICAgICAgIGxpbmVJbmRleCA9IGxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRoaXMudG9rZW5zKSxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IHRoaXMuZ2V0UmVsZWFzZUNvbnRleHQoKTtcblxuICAgIGF3YWl0IHJlbGVhc2VDb250ZXh0LmJyZWFrKGZpbGVQYXRoLCBsaW5lSW5kZXgpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgdGhpcy5wcmVwYXJlKCk7XG5cbiAgICBpZiAodGhpcy5ub2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLndhcm5pbmcoYFVuYWJsZSB0byB2ZXJpZnkgdGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlIGJlY2F1c2UgaXQgY2Fubm90IGJlIHBhcnNlZC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS4uLmApO1xuXG4gICAgICBjb25zdCBmaWxlVmVyaWZpZXMgPSBhd2FpdCB0aGlzLnZlcmlmeUZpbGUoKTtcblxuICAgICAgaWYgKGZpbGVWZXJpZmllcykge1xuICAgICAgICB2ZXJpZmllcyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHZlcmlmaWVzID9cbiAgICAgICAgdGhpcy5jb21wbGV0ZSgpIDpcbiAgICAgICAgICB0aGlzLmNsZWFyKCk7XG5cbiAgICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgICB0aGlzLmluZm8oYC4uLnZlcmlmaWVkIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGUoQ2xhc3MsIGZpbGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKENsYXNzLCBqc29uLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCB7IGZpbGVQYXRoIH0gPSBqc29uLFxuICAgICAgICAgIHRva2VucyA9IG51bGwsXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSwgLy8vXG4gICAgICAgICAgZmlsZUNvbnRleHQgPSBuZXcgQ2xhc3MoY29udGV4dCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZpbGVDb250ZXh0IiwiQ29udGV4dCIsImNvbnRleHQiLCJmaWxlUGF0aCIsInRva2VucyIsIm5vZGUiLCJnZXRGaWxlUGF0aCIsImdldFRva2VucyIsImdldE5vZGUiLCJnZXRMZXhlciIsImxleGVyIiwiZ2V0UGFyc2VyIiwicGFyc2VyIiwiZ2V0VHlwZVByZWZpeCIsImdldENvbnRleHQiLCJ0eXBlUHJlZml4IiwibWF0Y2hGaWxlUGF0aCIsImZpbGVQYXRoTWF0Y2hlcyIsImZpbmRGaWxlIiwicmVsZWFzZUNvbnRleHQiLCJnZXRSZWxlYXNlQ29udGV4dCIsImZpbGUiLCJub2RlQXNTdHJpbmciLCJzdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwibm9kZXMiLCJwcmVwYXJlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbmlzZSIsInBhcnNlIiwiaW5pdGlhbGlzZSIsImpzb24iLCJjbGVhciIsImFkZFByb2NlZHVyZXMiLCJicmVhayIsImxpbmVJbmRleCIsImxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJ3YXJuaW5nIiwiZGVidWciLCJmaWxlVmVyaWZpZXMiLCJ2ZXJpZnlGaWxlIiwiY29tcGxldGUiLCJpbmZvIiwiZnJvbUZpbGUiLCJDbGFzcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImdldFBhdGgiLCJwb3AiLCJmaWxlQ29udGV4dCIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXFCQTs7O2dFQUxEOzJCQUV1QjtzQkFDQzs7Ozs7O0FBRTdCLE1BQU1BLG9CQUFvQkMsZ0JBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxDQUFFO1FBQzNDLEtBQUssQ0FBQ0g7UUFFTixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO0lBQ2Q7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDSCxRQUFRO0lBQ3RCO0lBRUFJLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtJQUNwQjtJQUVBSSxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNI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
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL2NvbnRleHQnO1xuXG5pbXBvcnQgeyBsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyB9IGZyb20gXCIuLi91dGlsaXRpZXMvbGluZUluZGV4XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcsIG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgZmlsZUNvbnRlbnQsIGZpbGVQYXRoLCB0b2tlbnMsIG5vZGUpIHtcbiAgICBzdXBlcihjb250ZXh0KTtcblxuICAgIHRoaXMuZmlsZUNvbnRlbnQgPSBmaWxlQ29udGVudDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy50b2tlbnMgPSB0b2tlbnM7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZW50O1xuICB9XG5cbiAgZ2V0RmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVBhdGg7XG4gIH1cblxuICBnZXRUb2tlbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgY29uc3QgbGV4ZXIgPSBudWxsO1xuXG4gICAgcmV0dXJuIGxleGVyO1xuICB9XG5cbiAgZ2V0UGFyc2VyKCkge1xuICAgIGNvbnN0IHBhcnNlciA9IG51bGw7XG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZ2V0VHlwZVByZWZpeCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgdHlwZVByZWZpeCA9IGNvbnRleHQuZ2V0VHlwZVByZWZpeCgpO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXg7XG4gIH1cblxuICBtYXRjaEZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gICAgY29uc3QgZmlsZVBhdGhNYXRjaGVzID0gKHRoaXMuZmlsZVBhdGggPT09IGZpbGVQYXRoKTtcblxuICAgIHJldHVybiBmaWxlUGF0aE1hdGNoZXM7XG4gIH1cblxuICBmaW5kRmlsZSgpIHtcbiAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHRoaXMuZ2V0UmVsZWFzZUNvbnRleHQoKSxcbiAgICAgICAgICBmaWxlID0gcmVsZWFzZUNvbnRleHQuZmluZEZpbGUodGhpcy5maWxlUGF0aCk7XG5cbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRoaXMudG9rZW5zKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBub2Rlc0FzU3RyaW5nKG5vZGVzKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZXNBc1N0cmluZyhub2RlcywgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHByZXBhcmUoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IHRoaXMuZmluZEZpbGUoKSxcbiAgICAgICAgICBsZXhlciA9IHRoaXMuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSB0aGlzLmdldFBhcnNlcigpLFxuICAgICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKTtcblxuICAgIHRoaXMudG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICB0aGlzLm5vZGUgPSBwYXJzZXIucGFyc2UodGhpcy50b2tlbnMpO1xuICB9XG5cbiAgaW5pdGlhbGlzZShqc29uKSB7XG4gICAgY29uc3QgeyBjb250ZW50IH0gPSBqc29uLFxuICAgICAgICAgIGxleGVyID0gdGhpcy5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IHRoaXMuZ2V0UGFyc2VyKCk7XG5cbiAgICB0aGlzLnRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpO1xuXG4gICAgdGhpcy5ub2RlID0gcGFyc2VyLnBhcnNlKHRoaXMudG9rZW5zKTtcblxuICAgIHRoaXMuY2xlYXIoKTtcblxuICAgIHRoaXMuYWRkUHJvY2VkdXJlcygpO1xuICB9XG5cbiAgYXN5bmMgYnJlYWsobm9kZSkge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5maWxlUGF0aCxcbiAgICAgICAgICBsaW5lSW5kZXggPSBsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0aGlzLnRva2VucyksXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSB0aGlzLmdldFJlbGVhc2VDb250ZXh0KCk7XG5cbiAgICBhd2FpdCByZWxlYXNlQ29udGV4dC5icmVhayhmaWxlUGF0aCwgbGluZUluZGV4KTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIHRoaXMucHJlcGFyZSgpO1xuXG4gICAgaWYgKHRoaXMubm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy53YXJuaW5nKGBVbmFibGUgdG8gdmVyaWZ5IHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZSBiZWNhdXNlIGl0IGNhbm5vdCBiZSBwYXJzZWQuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUuLi5gKTtcblxuICAgICAgY29uc3QgZmlsZVZlcmlmaWVzID0gYXdhaXQgdGhpcy52ZXJpZnlGaWxlKCk7XG5cbiAgICAgIGlmIChmaWxlVmVyaWZpZXMpIHtcbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB2ZXJpZmllcyA/XG4gICAgICAgIHRoaXMuY29tcGxldGUoKSA6XG4gICAgICAgICAgdGhpcy5jbGVhcigpO1xuXG4gICAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgICAgdGhpcy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlKENsYXNzLCBmaWxlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBmaWxlQ29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihDbGFzcywganNvbiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgeyBmaWxlQ29udGVudCwgZmlsZVBhdGggfSA9IGpzb24sXG4gICAgICAgICAgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZpbGVDb250ZXh0IiwiQ29udGV4dCIsImNvbnRleHQiLCJmaWxlQ29udGVudCIsImZpbGVQYXRoIiwidG9rZW5zIiwibm9kZSIsImdldEZpbGVDb250ZW50IiwiZ2V0RmlsZVBhdGgiLCJnZXRUb2tlbnMiLCJnZXROb2RlIiwiZ2V0TGV4ZXIiLCJsZXhlciIsImdldFBhcnNlciIsInBhcnNlciIsImdldFR5cGVQcmVmaXgiLCJnZXRDb250ZXh0IiwidHlwZVByZWZpeCIsIm1hdGNoRmlsZVBhdGgiLCJmaWxlUGF0aE1hdGNoZXMiLCJmaW5kRmlsZSIsInJlbGVhc2VDb250ZXh0IiwiZ2V0UmVsZWFzZUNvbnRleHQiLCJmaWxlIiwibm9kZUFzU3RyaW5nIiwic3RyaW5nIiwibm9kZXNBc1N0cmluZyIsIm5vZGVzIiwicHJlcGFyZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidG9rZW5pc2UiLCJwYXJzZSIsImluaXRpYWxpc2UiLCJqc29uIiwiY2xlYXIiLCJhZGRQcm9jZWR1cmVzIiwiYnJlYWsiLCJsaW5lSW5kZXgiLCJsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsInZlcmlmeSIsInZlcmlmaWVzIiwid2FybmluZyIsImRlYnVnIiwiZmlsZVZlcmlmaWVzIiwidmVyaWZ5RmlsZSIsImNvbXBsZXRlIiwiaW5mbyIsImZyb21GaWxlIiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJnZXRQYXRoIiwicG9wIiwiZmlsZUNvbnRleHQiLCJmcm9tSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFxQkE7OztnRUFMRDsyQkFFdUI7c0JBQ0M7Ozs7OztBQUU3QixNQUFNQSxvQkFBb0JDLGdCQUFPO0lBQzlDLFlBQVlDLE9BQU8sRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-languages",
3
3
  "author": "James Smith",
4
- "version": "0.0.122",
4
+ "version": "0.0.124",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
@@ -6,14 +6,19 @@ import { lineIndexFromNodeAndTokens } from "../utilities/lineIndex";
6
6
  import { nodeAsString, nodesAsString } from "../utilities/node";
7
7
 
8
8
  export default class FileContext extends Context {
9
- constructor(context, filePath, tokens, node) {
9
+ constructor(context, fileContent, filePath, tokens, node) {
10
10
  super(context);
11
11
 
12
+ this.fileContent = fileContent;
12
13
  this.filePath = filePath;
13
14
  this.tokens = tokens;
14
15
  this.node = node;
15
16
  }
16
17
 
18
+ getFileContent() {
19
+ return this.fileContent;
20
+ }
21
+
17
22
  getFilePath() {
18
23
  return this.filePath;
19
24
  }
@@ -136,21 +141,22 @@ export default class FileContext extends Context {
136
141
  }
137
142
 
138
143
  static fromFile(Class, file, ...remainingArguments) {
139
- const filePath = file.getPath(),
144
+ const fileContent = file.getContent(),
145
+ filePath = file.getPath(),
140
146
  tokens = null,
141
147
  node = null,
142
148
  context = remainingArguments.pop(), ///
143
- fileContext = new Class(context, filePath, tokens, node, ...remainingArguments);
149
+ fileContext = new Class(context, fileContent, filePath, tokens, node, ...remainingArguments);
144
150
 
145
151
  return fileContext;
146
152
  }
147
153
 
148
154
  static fromJSON(Class, json, ...remainingArguments) {
149
- const { filePath } = json,
155
+ const { fileContent, filePath } = json,
150
156
  tokens = null,
151
157
  node = null,
152
158
  context = remainingArguments.pop(), ///
153
- fileContext = new Class(context, filePath, tokens, node, ...remainingArguments);
159
+ fileContext = new Class(context, fileContent, filePath, tokens, node, ...remainingArguments);
154
160
 
155
161
  return fileContext;
156
162
  }