occam-languages 3.0.96 → 3.0.98

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.
@@ -10,13 +10,13 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  const _necessary = require("necessary");
12
12
  const { first } = _necessary.arrayUtilities;
13
- function someTerminalNode(callback, tokenType) {
13
+ function someTerminalNode(callback, tokenType = null) {
14
14
  let index = 0;
15
15
  return this.someChildNode((childNode)=>{
16
16
  const childNodeTerminalNode = childNode.isTerminalNode();
17
17
  if (childNodeTerminalNode) {
18
18
  const terminalNode = childNode, terminalNodeType = terminalNode.getType();
19
- if (terminalNodeType === tokenType) {
19
+ if (tokenType === null || terminalNodeType === tokenType) {
20
20
  return callback(terminalNode, index++);
21
21
  }
22
22
  }
@@ -114,4 +114,4 @@ const nodeMixins = {
114
114
  };
115
115
  const _default = nodeMixins;
116
116
 
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5mdW5jdGlvbiBzb21lVGVybWluYWxOb2RlKGNhbGxiYWNrLCB0b2tlblR5cGUpIHtcbiAgbGV0IGluZGV4ID0gMDtcblxuICByZXR1cm4gdGhpcy5zb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjaGlsZE5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVUeXBlID0gdGVybWluYWxOb2RlLmdldFR5cGUoKTtcblxuICAgICAgaWYgKHRlcm1pbmFsTm9kZVR5cGUgPT09IHRva2VuVHlwZSkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2sodGVybWluYWxOb2RlLCBpbmRleCsrKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXROb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgY29uc3Qgbm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5vZGVzQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbHRlckNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBub2Rlcztcbn1cblxuZnVuY3Rpb24gZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBsZXQgbGFzdE5vZGUgPSBudWxsO1xuXG4gIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICBsYXN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbGFzdE5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldEZpcnN0Tm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gIGxldCBmaXJzdE5vZGUgPSBudWxsO1xuXG4gIHRoaXMuZm9yd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgIGZpcnN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZmlyc3ROb2RlO1xufVxuXG5mdW5jdGlvbiBnZXRTaW5ndWxhck5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBsZXQgc2luZ3VsYXJOb2RlID0gbnVsbDtcblxuICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgIHNpbmd1bGFyTm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gIH1cblxuICByZXR1cm4gc2luZ3VsYXJOb2RlO1xufVxuXG5mdW5jdGlvbiBnZXREZXNjZW5kYW50Tm9kZXNCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyRGVzY2VuZGFudE5vZGUoKGRlc2NlbmRhbnROb2RlKSA9PiB7XG4gICAgY29uc3QgZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGRlc2NlbmRhbnROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuXG5jb25zdCBub2RlTWl4aW5zID0ge1xuICBzb21lVGVybWluYWxOb2RlLFxuICBnZXROb2RlQnlSdWxlTmFtZSxcbiAgZ2V0Tm9kZXNCeVJ1bGVOYW1lLFxuICBnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUsXG4gIGdldEZpcnN0Tm9kZUJ5UnVsZU5hbWUsXG4gIGdldFNpbmd1bGFyTm9kZUJ5UnVsZU5hbWUsXG4gIGdldERlc2NlbmRhbnROb2Rlc0J5UnVsZU5hbWVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG5vZGVNaXhpbnM7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInNvbWVUZXJtaW5hbE5vZGUiLCJjYWxsYmFjayIsInRva2VuVHlwZSIsImluZGV4Iiwic29tZUNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlVHlwZSIsImdldFR5cGUiLCJnZXROb2RlQnlSdWxlTmFtZSIsInJ1bGVOYW1lcyIsIm5vZGUiLCJmaW5kQ2hpbGROb2RlIiwiY2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwicnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSIsImluY2x1ZGVzIiwiZ2V0Tm9kZXNCeVJ1bGVOYW1lIiwibm9kZXMiLCJmaWx0ZXJDaGlsZE5vZGUiLCJnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUiLCJsYXN0Tm9kZSIsImJhY2t3YXJkc1NvbWVDaGlsZE5vZGUiLCJnZXRGaXJzdE5vZGVCeVJ1bGVOYW1lIiwiZmlyc3ROb2RlIiwiZm9yd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0U2luZ3VsYXJOb2RlQnlSdWxlTmFtZSIsInNpbmd1bGFyTm9kZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZ2V0RGVzY2VuZGFudE5vZGVzQnlSdWxlTmFtZSIsImZpbHRlckRlc2NlbmRhbnROb2RlIiwiZGVzY2VuZGFudE5vZGUiLCJkZXNjZW5kYW50Tm9kZU5vblRlcm1pbmFsTm9kZSIsIm5vZGVNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQThKQTs7O2VBQUE7OzsyQkE1SitCO0FBRS9CLE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWhDLFNBQVNDLGlCQUFpQkMsUUFBUSxFQUFFQyxTQUFTO0lBQzNDLElBQUlDLFFBQVE7SUFFWixPQUFPLElBQUksQ0FBQ0MsYUFBYSxDQUFDLENBQUNDO1FBQ3pCLE1BQU1DLHdCQUF3QkQsVUFBVUUsY0FBYztRQUV0RCxJQUFJRCx1QkFBdUI7WUFDekIsTUFBTUUsZUFBZUgsV0FDZkksbUJBQW1CRCxhQUFhRSxPQUFPO1lBRTdDLElBQUlELHFCQUFxQlAsV0FBVztnQkFDbEMsT0FBT0QsU0FBU08sY0FBY0w7WUFDaEM7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxTQUFTUSxrQkFBa0IsR0FBR0MsU0FBUztJQUNyQyxNQUFNQyxPQUFPLElBQUksQ0FBQ0MsYUFBYSxDQUFDLENBQUNUO1FBQy9CLE1BQU1VLDJCQUEyQlYsVUFBVVcsaUJBQWlCO1FBRTVE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
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5mdW5jdGlvbiBzb21lVGVybWluYWxOb2RlKGNhbGxiYWNrLCB0b2tlblR5cGUgPSBudWxsKSB7XG4gIGxldCBpbmRleCA9IDA7XG5cbiAgcmV0dXJuIHRoaXMuc29tZUNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgdGVybWluYWxOb2RlVHlwZSA9IHRlcm1pbmFsTm9kZS5nZXRUeXBlKCk7XG5cbiAgICAgIGlmICgodG9rZW5UeXBlID09PSBudWxsKSB8fCAodGVybWluYWxOb2RlVHlwZSA9PT0gdG9rZW5UeXBlKSkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2sodGVybWluYWxOb2RlLCBpbmRleCsrKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXROb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgY29uc3Qgbm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5vZGVzQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbHRlckNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBub2Rlcztcbn1cblxuZnVuY3Rpb24gZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBsZXQgbGFzdE5vZGUgPSBudWxsO1xuXG4gIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICBsYXN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbGFzdE5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldEZpcnN0Tm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gIGxldCBmaXJzdE5vZGUgPSBudWxsO1xuXG4gIHRoaXMuZm9yd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgIGZpcnN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZmlyc3ROb2RlO1xufVxuXG5mdW5jdGlvbiBnZXRTaW5ndWxhck5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBsZXQgc2luZ3VsYXJOb2RlID0gbnVsbDtcblxuICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgIHNpbmd1bGFyTm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gIH1cblxuICByZXR1cm4gc2luZ3VsYXJOb2RlO1xufVxuXG5mdW5jdGlvbiBnZXREZXNjZW5kYW50Tm9kZXNCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyRGVzY2VuZGFudE5vZGUoKGRlc2NlbmRhbnROb2RlKSA9PiB7XG4gICAgY29uc3QgZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGRlc2NlbmRhbnROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuXG5jb25zdCBub2RlTWl4aW5zID0ge1xuICBzb21lVGVybWluYWxOb2RlLFxuICBnZXROb2RlQnlSdWxlTmFtZSxcbiAgZ2V0Tm9kZXNCeVJ1bGVOYW1lLFxuICBnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUsXG4gIGdldEZpcnN0Tm9kZUJ5UnVsZU5hbWUsXG4gIGdldFNpbmd1bGFyTm9kZUJ5UnVsZU5hbWUsXG4gIGdldERlc2NlbmRhbnROb2Rlc0J5UnVsZU5hbWVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG5vZGVNaXhpbnM7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInNvbWVUZXJtaW5hbE5vZGUiLCJjYWxsYmFjayIsInRva2VuVHlwZSIsImluZGV4Iiwic29tZUNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlVHlwZSIsImdldFR5cGUiLCJnZXROb2RlQnlSdWxlTmFtZSIsInJ1bGVOYW1lcyIsIm5vZGUiLCJmaW5kQ2hpbGROb2RlIiwiY2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwicnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSIsImluY2x1ZGVzIiwiZ2V0Tm9kZXNCeVJ1bGVOYW1lIiwibm9kZXMiLCJmaWx0ZXJDaGlsZE5vZGUiLCJnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUiLCJsYXN0Tm9kZSIsImJhY2t3YXJkc1NvbWVDaGlsZE5vZGUiLCJnZXRGaXJzdE5vZGVCeVJ1bGVOYW1lIiwiZmlyc3ROb2RlIiwiZm9yd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0U2luZ3VsYXJOb2RlQnlSdWxlTmFtZSIsInNpbmd1bGFyTm9kZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZ2V0RGVzY2VuZGFudE5vZGVzQnlSdWxlTmFtZSIsImZpbHRlckRlc2NlbmRhbnROb2RlIiwiZGVzY2VuZGFudE5vZGUiLCJkZXNjZW5kYW50Tm9kZU5vblRlcm1pbmFsTm9kZSIsIm5vZGVNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQThKQTs7O2VBQUE7OzsyQkE1SitCO0FBRS9CLE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWhDLFNBQVNDLGlCQUFpQkMsUUFBUSxFQUFFQyxZQUFZLElBQUk7SUFDbEQsSUFBSUMsUUFBUTtJQUVaLE9BQU8sSUFBSSxDQUFDQyxhQUFhLENBQUMsQ0FBQ0M7UUFDekIsTUFBTUMsd0JBQXdCRCxVQUFVRSxjQUFjO1FBRXRELElBQUlELHVCQUF1QjtZQUN6QixNQUFNRSxlQUFlSCxXQUNmSSxtQkFBbUJELGFBQWFFLE9BQU87WUFFN0MsSUFBSSxBQUFDUixjQUFjLFFBQVVPLHFCQUFxQlAsV0FBWTtnQkFDNUQsT0FBT0QsU0FBU08sY0FBY0w7WUFDaEM7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxTQUFTUSxrQkFBa0IsR0FBR0MsU0FBUztJQUNyQyxNQUFNQyxPQUFPLElBQUksQ0FBQ0Ms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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": "3.0.96",
4
+ "version": "3.0.98",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
@@ -11,11 +11,11 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^17.7.2",
14
- "occam-custom-grammars": "^6.1.31",
14
+ "occam-custom-grammars": "^6.1.32",
15
15
  "occam-grammar-utilities": "^8.1.27",
16
- "occam-grammars": "^1.3.700",
16
+ "occam-grammars": "^1.3.702",
17
17
  "occam-lexers": "^23.2.12",
18
- "occam-model": "^1.0.600",
18
+ "occam-model": "^1.0.601",
19
19
  "occam-parsers": "^23.2.17",
20
20
  "occam-query": "^4.1.210"
21
21
  },
@@ -4,7 +4,7 @@ import { arrayUtilities } from "necessary";
4
4
 
5
5
  const { first } = arrayUtilities;
6
6
 
7
- function someTerminalNode(callback, tokenType) {
7
+ function someTerminalNode(callback, tokenType = null) {
8
8
  let index = 0;
9
9
 
10
10
  return this.someChildNode((childNode) => {
@@ -14,7 +14,7 @@ function someTerminalNode(callback, tokenType) {
14
14
  const terminalNode = childNode, ///
15
15
  terminalNodeType = terminalNode.getType();
16
16
 
17
- if (terminalNodeType === tokenType) {
17
+ if ((tokenType === null) || (terminalNodeType === tokenType)) {
18
18
  return callback(terminalNode, index++);
19
19
  }
20
20
  }