occam-languages 1.0.38 → 1.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -21,6 +21,9 @@ _export(exports, {
21
21
  get Context () {
22
22
  return _context.default;
23
23
  },
24
+ get ContinuationPass () {
25
+ return _continuation.default;
26
+ },
24
27
  get Element () {
25
28
  return _element.default;
26
29
  },
@@ -73,7 +76,7 @@ _export(exports, {
73
76
  return _breakPoint1.default;
74
77
  },
75
78
  get continuationUtilities () {
76
- return _continuation.default;
79
+ return _continuation1.default;
77
80
  },
78
81
  get fileContextUtilities () {
79
82
  return _fileContext.default;
@@ -110,6 +113,7 @@ const _forward = /*#__PURE__*/ _interop_require_default(require("./pass/forward"
110
113
  const _asyncZip = /*#__PURE__*/ _interop_require_default(require("./pass/asyncZip"));
111
114
  const _forwardZip = /*#__PURE__*/ _interop_require_default(require("./pass/forwardZip"));
112
115
  const _equivalence = /*#__PURE__*/ _interop_require_default(require("./pass/equivalence"));
116
+ const _continuation = /*#__PURE__*/ _interop_require_default(require("./pass/continuation"));
113
117
  const _lexer = /*#__PURE__*/ _interop_require_default(require("./furtle/lexer"));
114
118
  const _parser = /*#__PURE__*/ _interop_require_default(require("./furtle/parser"));
115
119
  const _lexer1 = /*#__PURE__*/ _interop_require_default(require("./nominal/lexer"));
@@ -122,7 +126,7 @@ const _furtle = /*#__PURE__*/ _interop_require_default(require("./utilities/furt
122
126
  const _nominal = /*#__PURE__*/ _interop_require_default(require("./utilities/nominal"));
123
127
  const _breakPoint1 = /*#__PURE__*/ _interop_require_default(require("./utilities/breakPoint"));
124
128
  const _fileContext = /*#__PURE__*/ _interop_require_default(require("./utilities/fileContext"));
125
- const _continuation = /*#__PURE__*/ _interop_require_default(require("./utilities/continuation"));
129
+ const _continuation1 = /*#__PURE__*/ _interop_require_default(require("./utilities/continuation"));
126
130
  const _verification = /*#__PURE__*/ _interop_require_default(require("./utilities/verification"));
127
131
  const _asynchronous = /*#__PURE__*/ _interop_require_default(require("./utilities/asynchronous"));
128
132
  const _releaseContext = /*#__PURE__*/ _interop_require_default(require("./utilities/releaseContext"));
@@ -132,4 +136,4 @@ function _interop_require_default(obj) {
132
136
  };
133
137
  }
134
138
 
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMb2cgfSBmcm9tIFwiLi9sb2dcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudCB9IGZyb20gXCIuL2VsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnJlYWtQb2ludCB9IGZyb20gXCIuL2JyZWFrUG9pbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L3JlbGVhc2VcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBaaXBQYXNzIH0gZnJvbSBcIi4vcGFzcy96aXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNQYXNzIH0gZnJvbSBcIi4vcGFzcy9hc3luY1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTaW1wbGVQYXNzIH0gZnJvbSBcIi4vcGFzcy9zaW1wbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9yd2FyZFBhc3MgfSBmcm9tIFwiLi9wYXNzL2ZvcndhcmRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNaaXBQYXNzIH0gZnJvbSBcIi4vcGFzcy9hc3luY1ppcFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGb3J3YXJkWmlwUGFzcyB9IGZyb20gXCIuL3Bhc3MvZm9yd2FyZFppcFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBFcXVpdmFsZW5jZVBhc3MgfSBmcm9tIFwiLi9wYXNzL2VxdWl2YWxlbmNlXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgRnVydGxlTGV4ZXIgfSBmcm9tIFwiLi9mdXJ0bGUvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRnVydGxlUGFyc2VyIH0gZnJvbSBcIi4vZnVydGxlL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb21pbmFsTGV4ZXIgfSBmcm9tIFwiLi9ub21pbmFsL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxQYXJzZXIgfSBmcm9tIFwiLi9ub21pbmFsL3BhcnNlclwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vblRlcm1pbmFsTm9kZSB9IGZyb20gXCIuL25vblRlcm1pbmFsTm9kZVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIG5vZGVNaXhpbnMgfSBmcm9tIFwiLi9taXhpbnMvbm9kZVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGJuZlV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ibmZcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9kZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZ1cnRsZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9mdXJ0bGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9taW5hbFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub21pbmFsXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGJyZWFrUG9pbnRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYnJlYWtQb2ludFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlQ29udGV4dFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9maWxlQ29udGV4dFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGludWF0aW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHZlcmlmaWNhdGlvblV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy92ZXJpZmljYXRpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FzeW5jaHJvbm91c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZWxlYXNlQ29udGV4dFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9yZWxlYXNlQ29udGV4dFwiO1xuIl0sIm5hbWVzIjpbIkFzeW5jUGFzcyIsIkFzeW5jWmlwUGFzcyIsIkJyZWFrUG9pbnQiLCJDb250ZXh0IiwiRWxlbWVudCIsIkVxdWl2YWxlbmNlUGFzcyIsIkZpbGVDb250ZXh0IiwiRm9yd2FyZFBhc3MiLCJGb3J3YXJkWmlwUGFzcyIsIkZ1cnRsZUxleGVyIiwiRnVydGxlUGFyc2VyIiwiTG9nIiwiTm9taW5hbExleGVyIiwiTm9taW5hbFBhcnNlciIsIk5vblRlcm1pbmFsTm9kZSIsIlJlbGVhc2VDb250ZXh0IiwiU2ltcGxlUGFzcyIsIlppcFBhc3MiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJibmZVdGlsaXRpZXMiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZmlsZUNvbnRleHRVdGlsaXRpZXMiLCJmdXJ0bGVVdGlsaXRpZXMiLCJub2RlTWl4aW5zIiwibm9kZVV0aWxpdGllcyIsIm5vbWluYWxVdGlsaXRpZXMiLCJyZWxlYXNlQ29udGV4dFV0aWxpdGllcyIsInZlcmlmaWNhdGlvblV0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBVW9CQTtlQUFBQSxjQUFTOztRQUdUQztlQUFBQSxpQkFBWTs7UUFSWkM7ZUFBQUEsbUJBQVU7O1FBRFZDO2VBQUFBLGdCQUFPOztRQURQQztlQUFBQSxnQkFBTzs7UUFZUEM7ZUFBQUEsb0JBQWU7O1FBVGZDO2VBQUFBLGFBQVc7O1FBTVhDO2VBQUFBLGdCQUFXOztRQUVYQztlQUFBQSxtQkFBYzs7UUFHZEM7ZUFBQUEsY0FBVzs7UUFDWEM7ZUFBQUEsZUFBWTs7UUFoQlpDO2VBQUFBLFlBQUc7O1FBaUJIQztlQUFBQSxlQUFZOztRQUNaQztlQUFBQSxnQkFBYTs7UUFFYkM7ZUFBQUEsd0JBQWU7O1FBZmZDO2VBQUFBLGdCQUFjOztRQUlkQztlQUFBQSxlQUFVOztRQUZWQztlQUFBQSxZQUFPOztRQXlCUEM7ZUFBQUEscUJBQXFCOztRQVJyQkM7ZUFBQUEsWUFBWTs7UUFJWkM7ZUFBQUEsb0JBQW1COztRQUVuQkM7ZUFBQUEscUJBQXFCOztRQURyQkM7ZUFBQUEsb0JBQW9COztRQUhwQkM7ZUFBQUEsZUFBZTs7UUFKZkM7ZUFBQUEsYUFBVTs7UUFHVkM7ZUFBQUEsY0FBYTs7UUFFYkM7ZUFBQUEsZ0JBQWdCOztRQU1oQkM7ZUFBQUEsdUJBQXVCOztRQUZ2QkM7ZUFBQUEscUJBQXFCOzs7NERBL0JWO2dFQUNJO2dFQUNBO21FQUNHOzZEQUNDO2dFQUNHOzREQUVQOzhEQUNFOytEQUNDO2dFQUNDO2lFQUNDO21FQUNFO29FQUNDOzhEQUVKOytEQUNDOytEQUNBO2dFQUNDO3dFQUVFOzZEQUVMOzREQUVFOzhEQUNDOytEQUNFO2dFQUNDO29FQUNHO29FQUNDO3FFQUNDO3FFQUNBO3FFQUNBO3VFQUNFIn0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMb2cgfSBmcm9tIFwiLi9sb2dcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudCB9IGZyb20gXCIuL2VsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnJlYWtQb2ludCB9IGZyb20gXCIuL2JyZWFrUG9pbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L3JlbGVhc2VcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBaaXBQYXNzIH0gZnJvbSBcIi4vcGFzcy96aXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNQYXNzIH0gZnJvbSBcIi4vcGFzcy9hc3luY1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTaW1wbGVQYXNzIH0gZnJvbSBcIi4vcGFzcy9zaW1wbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9yd2FyZFBhc3MgfSBmcm9tIFwiLi9wYXNzL2ZvcndhcmRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNaaXBQYXNzIH0gZnJvbSBcIi4vcGFzcy9hc3luY1ppcFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGb3J3YXJkWmlwUGFzcyB9IGZyb20gXCIuL3Bhc3MvZm9yd2FyZFppcFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBFcXVpdmFsZW5jZVBhc3MgfSBmcm9tIFwiLi9wYXNzL2VxdWl2YWxlbmNlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbnRpbnVhdGlvblBhc3MgfSBmcm9tIFwiLi9wYXNzL2NvbnRpbnVhdGlvblwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZUxleGVyIH0gZnJvbSBcIi4vZnVydGxlL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZVBhcnNlciB9IGZyb20gXCIuL2Z1cnRsZS9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbExleGVyIH0gZnJvbSBcIi4vbm9taW5hbC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb21pbmFsUGFyc2VyIH0gZnJvbSBcIi4vbm9taW5hbC9wYXJzZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwiLi9ub25UZXJtaW5hbE5vZGVcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBub2RlTWl4aW5zIH0gZnJvbSBcIi4vbWl4aW5zL25vZGVcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBibmZVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYm5mXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmdXJ0bGVVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZnVydGxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5vbWluYWxVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9taW5hbFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2JyZWFrUG9pbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmlsZUNvbnRleHRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZUNvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB2ZXJpZmljYXRpb25VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvdmVyaWZpY2F0aW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9hc3luY2hyb25vdXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVsZWFzZUNvbnRleHRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHRcIjtcbiJdLCJuYW1lcyI6WyJBc3luY1Bhc3MiLCJBc3luY1ppcFBhc3MiLCJCcmVha1BvaW50IiwiQ29udGV4dCIsIkNvbnRpbnVhdGlvblBhc3MiLCJFbGVtZW50IiwiRXF1aXZhbGVuY2VQYXNzIiwiRmlsZUNvbnRleHQiLCJGb3J3YXJkUGFzcyIsIkZvcndhcmRaaXBQYXNzIiwiRnVydGxlTGV4ZXIiLCJGdXJ0bGVQYXJzZXIiLCJMb2ciLCJOb21pbmFsTGV4ZXIiLCJOb21pbmFsUGFyc2VyIiwiTm9uVGVybWluYWxOb2RlIiwiUmVsZWFzZUNvbnRleHQiLCJTaW1wbGVQYXNzIiwiWmlwUGFzcyIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImJuZlV0aWxpdGllcyIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJmaWxlQ29udGV4dFV0aWxpdGllcyIsImZ1cnRsZVV0aWxpdGllcyIsIm5vZGVNaXhpbnMiLCJub2RlVXRpbGl0aWVzIiwibm9taW5hbFV0aWxpdGllcyIsInJlbGVhc2VDb250ZXh0VXRpbGl0aWVzIiwidmVyaWZpY2F0aW9uVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFVb0JBO2VBQUFBLGNBQVM7O1FBR1RDO2VBQUFBLGlCQUFZOztRQVJaQztlQUFBQSxtQkFBVTs7UUFEVkM7ZUFBQUEsZ0JBQU87O1FBWVBDO2VBQUFBLHFCQUFnQjs7UUFiaEJDO2VBQUFBLGdCQUFPOztRQVlQQztlQUFBQSxvQkFBZTs7UUFUZkM7ZUFBQUEsYUFBVzs7UUFNWEM7ZUFBQUEsZ0JBQVc7O1FBRVhDO2VBQUFBLG1CQUFjOztRQUlkQztlQUFBQSxjQUFXOztRQUNYQztlQUFBQSxlQUFZOztRQWpCWkM7ZUFBQUEsWUFBRzs7UUFrQkhDO2VBQUFBLGVBQVk7O1FBQ1pDO2VBQUFBLGdCQUFhOztRQUViQztlQUFBQSx3QkFBZTs7UUFoQmZDO2VBQUFBLGdCQUFjOztRQUlkQztlQUFBQSxlQUFVOztRQUZWQztlQUFBQSxZQUFPOztRQTBCUEM7ZUFBQUEscUJBQXFCOztRQVJyQkM7ZUFBQUEsWUFBWTs7UUFJWkM7ZUFBQUEsb0JBQW1COztRQUVuQkM7ZUFBQUEsc0JBQXFCOztRQURyQkM7ZUFBQUEsb0JBQW9COztRQUhwQkM7ZUFBQUEsZUFBZTs7UUFKZkM7ZUFBQUEsYUFBVTs7UUFHVkM7ZUFBQUEsY0FBYTs7UUFFYkM7ZUFBQUEsZ0JBQWdCOztRQU1oQkM7ZUFBQUEsdUJBQXVCOztRQUZ2QkM7ZUFBQUEscUJBQXFCOzs7NERBaENWO2dFQUNJO2dFQUNBO21FQUNHOzZEQUNDO2dFQUNHOzREQUVQOzhEQUNFOytEQUNDO2dFQUNDO2lFQUNDO21FQUNFO29FQUNDO3FFQUNDOzhEQUVMOytEQUNDOytEQUNBO2dFQUNDO3dFQUVFOzZEQUVMOzREQUVFOzhEQUNDOytEQUNFO2dFQUNDO29FQUNHO29FQUNDO3NFQUNDO3FFQUNBO3FFQUNBO3VFQUNFIn0=
@@ -0,0 +1,65 @@
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 ContinuationPass;
9
+ }
10
+ });
11
+ const _continuation = require("../utilities/continuation");
12
+ const _pass = require("../utilities/pass");
13
+ class ContinuationPass {
14
+ run(node, ...remainingArguments) {
15
+ const continuation = remainingArguments.pop();
16
+ this.visitNode(node, ...remainingArguments, continuation);
17
+ }
18
+ descend(childNodes, ...remainingArguments) {
19
+ const continuation = remainingArguments.pop();
20
+ (0, _continuation.every)(childNodes, (childNode, continuation)=>{
21
+ const node = childNode; ///
22
+ this.visitNode(node, ...remainingArguments, continuation);
23
+ }, continuation);
24
+ }
25
+ visitNode(node, ...remainingArguments) {
26
+ const continuation = remainingArguments.pop(), nodeTerminalNode = node.isTerminalNode();
27
+ if (nodeTerminalNode) {
28
+ const terminalNode = node; ///
29
+ this.visitTerminalNode(terminalNode, ...remainingArguments, continuation);
30
+ } else {
31
+ const nonTerminalNode = node; ///
32
+ this.visitNonTerminalNode(nonTerminalNode, ...remainingArguments, continuation);
33
+ }
34
+ }
35
+ visitTerminalNode(terminalNode, ...remainingArguments) {
36
+ const visited = true, continuation = remainingArguments.pop();
37
+ continuation(visited);
38
+ }
39
+ visitNonTerminalNode(nonTerminalNode, ...remainingArguments) {
40
+ const continuation = remainingArguments.pop();
41
+ let { maps } = this.constructor;
42
+ maps = [
43
+ ...maps,
44
+ {
45
+ nodeQuery: _pass.nonTerminalNodeQuery,
46
+ run: (node, ...remainingArguments)=>{
47
+ const continuation = remainingArguments.pop(), childNodes = nonTerminalNode.getChildNodes();
48
+ this.descend(childNodes, ...remainingArguments, continuation);
49
+ }
50
+ }
51
+ ];
52
+ (0, _continuation.some)(maps, (map, continuation)=>{
53
+ const { nodeQuery, run } = map;
54
+ const node = nodeQuery(nonTerminalNode);
55
+ if (node === null) {
56
+ const visited = false;
57
+ continuation(visited);
58
+ return;
59
+ }
60
+ run(node, ...remainingArguments, continuation);
61
+ }, continuation);
62
+ }
63
+ }
64
+
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXNzL2NvbnRpbnVhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc29tZSwgZXZlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRpbnVhdGlvblwiO1xuaW1wb3J0IHsgbm9uVGVybWluYWxOb2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Bhc3NcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGludWF0aW9uUGFzcyB7XG4gIHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICB0aGlzLnZpc2l0Tm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH1cblxuICBkZXNjZW5kKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGV2ZXJ5KGNoaWxkTm9kZXMsIChjaGlsZE5vZGUsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHRoaXMudmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9LCBjb250aW51YXRpb24pO1xuICB9XG5cbiAgdmlzaXROb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgICAgdGhpcy52aXNpdFRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICB0aGlzLnZpc2l0Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHZpc2l0VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgdmlzaXRlZCA9IHRydWUsXG4gICAgICAgICAgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgY29udGludWF0aW9uKHZpc2l0ZWQpO1xuICB9XG5cbiAgdmlzaXROb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBsZXQgeyBtYXBzIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgbWFwcyA9IFsgLy8vXG4gICAgICAuLi5tYXBzLFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnk6IG5vblRlcm1pbmFsTm9kZVF1ZXJ5LFxuICAgICAgICBydW46IChub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpID0+IHtcbiAgICAgICAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgICAgICAgICB0aGlzLmRlc2NlbmQoY2hpbGROb2RlcywgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcblxuICAgIHNvbWUobWFwcywgKG1hcCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICBjb25zdCB7IG5vZGVRdWVyeSwgcnVuIH0gPSBtYXA7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSBub2RlUXVlcnkobm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgaWYgKG5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdmlzaXRlZCA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnRpbnVhdGlvbih2aXNpdGVkKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJ1bihub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gICAgfSwgY29udGludWF0aW9uKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbnRpbnVhdGlvblBhc3MiLCJydW4iLCJub2RlIiwicmVtYWluaW5nQXJndW1lbnRzIiwiY29udGludWF0aW9uIiwicG9wIiwidmlzaXROb2RlIiwiZGVzY2VuZCIsImNoaWxkTm9kZXMiLCJldmVyeSIsImNoaWxkTm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInZpc2l0VGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwidmlzaXROb25UZXJtaW5hbE5vZGUiLCJ2aXNpdGVkIiwibWFwcyIsIm5vZGVRdWVyeSIsIm5vblRlcm1pbmFsTm9kZVF1ZXJ5IiwiZ2V0Q2hpbGROb2RlcyIsInNvbWUiLCJtYXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBcUJBOzs7OEJBSE87c0JBQ1M7QUFFdEIsTUFBTUE7SUFDbkJDLElBQUlDLElBQUksRUFBRSxHQUFHQyxrQkFBa0IsRUFBRTtRQUMvQixNQUFNQyxlQUFlRCxtQkFBbUJFLEdBQUc7UUFFM0MsSUFBSSxDQUFDQyxTQUFTLENBQUNKLFNBQVNDLG9CQUFvQkM7SUFDOUM7SUFFQUcsUUFBUUMsVUFBVSxFQUFFLEdBQUdMLGtCQUFrQixFQUFFO1FBQ3pDLE1BQU1DLGVBQWVELG1CQUFtQkUsR0FBRztRQUUzQ0ksSUFBQUEsbUJBQUssRUFBQ0QsWUFBWSxDQUFDRSxXQUFXTjtZQUM1QixNQUFNRixPQUFPUSxXQUFXLEdBQUc7WUFFM0IsSUFBSSxDQUFDSixTQUFTLENBQUNKLFNBQVNDLG9CQUFvQkM7UUFDOUMsR0FBR0E7SUFDTDtJQUVBRSxVQUFVSixJQUFJLEVBQUUsR0FBR0Msa0JBQWtCLEVBQUU7UUFDckMsTUFBTUMsZUFBZUQsbUJBQW1CRSxHQUFHLElBQ3JDTSxtQkFBbUJULEtBQUtVLGNBQWM7UUFFNUMsSUFBSUQsa0JBQWtCO1lBQ3BCLE1BQU1FLGVBQWVYLE1BQU8sR0FBRztZQUUvQixJQUFJLENBQUNZLGlCQUFpQixDQUFDRCxpQkFBaUJWLG9CQUFvQkM7UUFDOUQsT0FBTztZQUNMLE1BQU1XLGtCQUFrQmIsTUFBTyxHQUFHO1lBRWxDLElBQUksQ0FBQ2Msb0JBQW9CLENBQUNELG9CQUFvQlosb0JBQW9CQztRQUNwRTtJQUNGO0lBRUFVLGtCQUFrQkQsWUFBWSxFQUFFLEdBQUdWLGtCQUFrQixFQUFFO1FBQ3JELE1BQU1jLFVBQVUsTUFDVmIsZUFBZUQsbUJBQW1CRSxHQUFHO1FBRTNDRCxhQUFhYTtJQUNmO0lBRUFELHFCQUFxQkQsZUFBZSxFQUFFLEdBQUdaLGtCQUFrQixFQUFFO1FBQzNELE1BQU1DLGVBQWVELG1CQUFtQkUsR0FBRztRQUUzQyxJQUFJLEVBQUVhLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXO1FBRS9CQSxPQUFPO2VBQ0ZBO1lBQ0g7Z0JBQ0VDLFdBQVdDLDBCQUFvQjtnQkFDL0JuQixLQUFLLENBQUNDLE1BQU0sR0FBR0M7b0JBQ2IsTUFBTUMsZUFBZUQsbUJBQW1CRSxHQUFHLElBQ3JDRyxhQUFhTyxnQkFBZ0JNLGFBQWE7b0JBRWhELElBQUksQ0FBQ2QsT0FBTyxDQUFDQyxlQUFlTCxvQkFBb0JDO2dCQUNsRDtZQUNGO1NBQ0Q7UUFFRGtCLElBQUFBLGtCQUFJLEVBQUNKLE1BQU0sQ0FBQ0ssS0FBS25CO1lBQ2YsTUFBTSxFQUFFZSxTQUFTLEVBQUVsQixHQUFHLEVBQUUsR0FBR3NCO1lBRTNCLE1BQU1yQixPQUFPaUIsVUFBVUo7WUFFdkIsSUFBSWIsU0FBUyxNQUFNO2dCQUNqQixNQUFNZSxVQUFVO2dCQUVoQmIsYUFBYWE7Z0JBRWI7WUFDRjtZQUVBaEIsSUFBSUMsU0FBU0Msb0JBQW9CQztRQUNuQyxHQUFHQTtJQUNMO0FBQ0YifQ==
@@ -47,20 +47,16 @@ function breakPointToBreakPointJSON(breakPoint) {
47
47
  }
48
48
  function lineIndexFromNodeAndTokens(node, tokens) {
49
49
  let lineIndex = 0;
50
- // const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens);
51
- //
52
- // tokens.some((token, tokenIndex) => {
53
- // const tokenEndOfLineToken = token.isEndOfLineToken();
54
- //
55
- // if (tokenEndOfLineToken) {
56
- // lineIndex += 1;
57
- // }
58
- //
59
- // if (tokenIndex === firstSignificantTokenIndex) {
60
- // return true;
61
- // }
62
- // });
63
- lineIndex = 123;
50
+ const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens);
51
+ tokens.some((token, tokenIndex)=>{
52
+ const tokenEndOfLineToken = token.isEndOfLineToken();
53
+ if (tokenEndOfLineToken) {
54
+ lineIndex += 1;
55
+ }
56
+ if (tokenIndex === firstSignificantTokenIndex) {
57
+ return true;
58
+ }
59
+ });
64
60
  return lineIndex;
65
61
  }
66
62
  const _default = {
@@ -69,4 +65,4 @@ const _default = {
69
65
  lineIndexFromNodeAndTokens
70
66
  };
71
67
 
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYnJlYWtQb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJyZWFrUG9pbnQgZnJvbSBcIi4uL2JyZWFrUG9pbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrUG9pbnRGcm9tSlNPTihqc29uKSB7XG4gIGxldCBicmVha1BvaW50O1xuXG4gICh7IGJyZWFrUG9pbnQgfSA9IGpzb24pO1xuXG4gIGlmIChicmVha1BvaW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgYnJlYWtQb2ludEpTT04gPSBicmVha1BvaW50OyAgLy8vXG5cbiAgICBqc29uID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgIGJyZWFrUG9pbnQgPSBCcmVha1BvaW50LmZyb21KU09OKGpzb24pOyAgLy8vXG4gIH1cblxuICByZXR1cm4gYnJlYWtQb2ludDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpIHtcbiAgbGV0IGJyZWFrUG9pbnRKU09OID0gbnVsbDtcblxuICBpZiAoYnJlYWtQb2ludCAhPT0gbnVsbCkge1xuICAgIGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludC50b0pTT04oKTtcbiAgfVxuXG4gIHJldHVybiBicmVha1BvaW50SlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICBsZXQgbGluZUluZGV4ID0gMDtcblxuICAvLyBjb25zdCBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKTtcbiAgLy9cbiAgLy8gdG9rZW5zLnNvbWUoKHRva2VuLCB0b2tlbkluZGV4KSA9PiB7XG4gIC8vICAgY29uc3QgdG9rZW5FbmRPZkxpbmVUb2tlbiA9IHRva2VuLmlzRW5kT2ZMaW5lVG9rZW4oKTtcbiAgLy9cbiAgLy8gICBpZiAodG9rZW5FbmRPZkxpbmVUb2tlbikge1xuICAvLyAgICAgbGluZUluZGV4ICs9IDE7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIGlmICh0b2tlbkluZGV4ID09PSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCkge1xuICAvLyAgICAgcmV0dXJuIHRydWU7XG4gIC8vICAgfVxuICAvLyB9KTtcblxuICBsaW5lSW5kZXggPSAxMjM7XG5cbiAgcmV0dXJuIGxpbmVJbmRleDtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBicmVha1BvaW50RnJvbUpTT04sXG4gIGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OLFxuICBsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2Vuc1xufTtcbiJdLCJuYW1lcyI6WyJicmVha1BvaW50RnJvbUpTT04iLCJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zIiwianNvbiIsImJyZWFrUG9pbnQiLCJicmVha1BvaW50SlNPTiIsIkJyZWFrUG9pbnQiLCJmcm9tSlNPTiIsInRvSlNPTiIsIm5vZGUiLCJ0b2tlbnMiLCJsaW5lSW5kZXgiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUlnQkE7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7UUFnQ2hCO2VBQUE7O1FBdEJnQkM7ZUFBQUE7OzttRUE1Qk87Ozs7OztBQUVoQixTQUFTRixtQkFBbUJHLElBQUk7SUFDckMsSUFBSUM7SUFFSCxDQUFBLEVBQUVBLFVBQVUsRUFBRSxHQUFHRCxJQUFHO0lBRXJCLElBQUlDLGVBQWUsTUFBTTtRQUN2QixNQUFNQyxpQkFBaUJELFlBQWEsR0FBRztRQUV2Q0QsT0FBT0UsZ0JBQWlCLEdBQUc7UUFFM0JELGFBQWFFLG1CQUFVLENBQUNDLFFBQVEsQ0FBQ0osT0FBUSxHQUFHO0lBQzlDO0lBRUEsT0FBT0M7QUFDVDtBQUVPLFNBQVNILDJCQUEyQkcsVUFBVTtJQUNuRCxJQUFJQyxpQkFBaUI7SUFFckIsSUFBSUQsZUFBZSxNQUFNO1FBQ3ZCQyxpQkFBaUJELFdBQVdJLE1BQU07SUFDcEM7SUFFQSxPQUFPSDtBQUNUO0FBRU8sU0FBU0gsMkJBQTJCTyxJQUFJLEVBQUVDLE1BQU07SUFDckQsSUFBSUMsWUFBWTtJQUVoQixpRkFBaUY7SUFDakYsRUFBRTtJQUNGLHVDQUF1QztJQUN2QywwREFBMEQ7SUFDMUQsRUFBRTtJQUNGLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsTUFBTTtJQUNOLEVBQUU7SUFDRixxREFBcUQ7SUFDckQsbUJBQW1CO0lBQ25CLE1BQU07SUFDTixNQUFNO0lBRU5BLFlBQVk7SUFFWixPQUFPQTtBQUNUO01BRUEsV0FBZTtJQUNiWDtJQUNBQztJQUNBQztBQUNGIn0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYnJlYWtQb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJyZWFrUG9pbnQgZnJvbSBcIi4uL2JyZWFrUG9pbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrUG9pbnRGcm9tSlNPTihqc29uKSB7XG4gIGxldCBicmVha1BvaW50O1xuXG4gICh7IGJyZWFrUG9pbnQgfSA9IGpzb24pO1xuXG4gIGlmIChicmVha1BvaW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgYnJlYWtQb2ludEpTT04gPSBicmVha1BvaW50OyAgLy8vXG5cbiAgICBqc29uID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgIGJyZWFrUG9pbnQgPSBCcmVha1BvaW50LmZyb21KU09OKGpzb24pOyAgLy8vXG4gIH1cblxuICByZXR1cm4gYnJlYWtQb2ludDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpIHtcbiAgbGV0IGJyZWFrUG9pbnRKU09OID0gbnVsbDtcblxuICBpZiAoYnJlYWtQb2ludCAhPT0gbnVsbCkge1xuICAgIGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludC50b0pTT04oKTtcbiAgfVxuXG4gIHJldHVybiBicmVha1BvaW50SlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICBsZXQgbGluZUluZGV4ID0gMDtcblxuICBjb25zdCBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKTtcblxuICB0b2tlbnMuc29tZSgodG9rZW4sIHRva2VuSW5kZXgpID0+IHtcbiAgICBjb25zdCB0b2tlbkVuZE9mTGluZVRva2VuID0gdG9rZW4uaXNFbmRPZkxpbmVUb2tlbigpO1xuXG4gICAgaWYgKHRva2VuRW5kT2ZMaW5lVG9rZW4pIHtcbiAgICAgIGxpbmVJbmRleCArPSAxO1xuICAgIH1cblxuICAgIGlmICh0b2tlbkluZGV4ID09PSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbGluZUluZGV4O1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGJyZWFrUG9pbnRGcm9tSlNPTixcbiAgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04sXG4gIGxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zXG59O1xuIl0sIm5hbWVzIjpbImJyZWFrUG9pbnRGcm9tSlNPTiIsImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwibGluZUluZGV4RnJvbU5vZGVBbmRUb2tlbnMiLCJqc29uIiwiYnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwiQnJlYWtQb2ludCIsImZyb21KU09OIiwidG9KU09OIiwibm9kZSIsInRva2VucyIsImxpbmVJbmRleCIsImZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJzb21lIiwidG9rZW4iLCJ0b2tlbkluZGV4IiwidG9rZW5FbmRPZkxpbmVUb2tlbiIsImlzRW5kT2ZMaW5lVG9rZW4iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUlnQkE7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7UUE4QmhCO2VBQUE7O1FBcEJnQkM7ZUFBQUE7OzttRUE1Qk87Ozs7OztBQUVoQixTQUFTRixtQkFBbUJHLElBQUk7SUFDckMsSUFBSUM7SUFFSCxDQUFBLEVBQUVBLFVBQVUsRUFBRSxHQUFHRCxJQUFHO0lBRXJCLElBQUlDLGVBQWUsTUFBTTtRQUN2QixNQUFNQyxpQkFBaUJELFlBQWEsR0FBRztRQUV2Q0QsT0FBT0UsZ0JBQWlCLEdBQUc7UUFFM0JELGFBQWFFLG1CQUFVLENBQUNDLFFBQVEsQ0FBQ0osT0FBUSxHQUFHO0lBQzlDO0lBRUEsT0FBT0M7QUFDVDtBQUVPLFNBQVNILDJCQUEyQkcsVUFBVTtJQUNuRCxJQUFJQyxpQkFBaUI7SUFFckIsSUFBSUQsZUFBZSxNQUFNO1FBQ3ZCQyxpQkFBaUJELFdBQVdJLE1BQU07SUFDcEM7SUFFQSxPQUFPSDtBQUNUO0FBRU8sU0FBU0gsMkJBQTJCTyxJQUFJLEVBQUVDLE1BQU07SUFDckQsSUFBSUMsWUFBWTtJQUVoQixNQUFNQyw2QkFBNkJILEtBQUtJLDZCQUE2QixDQUFDSDtJQUV0RUEsT0FBT0ksSUFBSSxDQUFDLENBQUNDLE9BQU9DO1FBQ2xCLE1BQU1DLHNCQUFzQkYsTUFBTUcsZ0JBQWdCO1FBRWxELElBQUlELHFCQUFxQjtZQUN2Qk4sYUFBYTtRQUNmO1FBRUEsSUFBSUssZUFBZUosNEJBQTRCO1lBQzdDLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0Q7QUFDVDtNQUVBLFdBQWU7SUFDYlg7SUFDQUM7SUFDQUM7QUFDRiJ9
@@ -21,16 +21,36 @@ _export(exports, {
21
21
  get resolve () {
22
22
  return resolve;
23
23
  },
24
+ get some () {
25
+ return some;
26
+ },
24
27
  get unbreakable () {
25
28
  return unbreakable;
26
29
  }
27
30
  });
28
31
  const _necessary = require("necessary");
29
32
  const { filter } = _necessary.arrayUtilities, { forEach } = _necessary.asynchronousUtilities;
30
- function every(array, callback, context, contiunation) {
33
+ function some(array, callback, ...remainingArguments) {
34
+ let success = false;
35
+ const continuation = remainingArguments.pop();
36
+ forEach(array, (element, next, done)=>{
37
+ callback(element, ...remainingArguments, (passed)=>{
38
+ if (passed) {
39
+ success = true;
40
+ done();
41
+ return;
42
+ }
43
+ next();
44
+ });
45
+ }, ()=>{
46
+ continuation(success);
47
+ });
48
+ }
49
+ function every(array, callback, ...remainingArguments) {
31
50
  let success = true;
32
- forEach(array, (elmeent, next, done)=>{
33
- callback(elmeent, context, (passed)=>{
51
+ const continuation = remainingArguments.pop();
52
+ forEach(array, (element, next, done)=>{
53
+ callback(element, ...remainingArguments, (passed)=>{
34
54
  if (!passed) {
35
55
  success = false;
36
56
  done();
@@ -39,29 +59,30 @@ function every(array, callback, context, contiunation) {
39
59
  next();
40
60
  });
41
61
  }, ()=>{
42
- contiunation(success);
62
+ continuation(success);
43
63
  });
44
64
  }
45
- function resolve(arrayA, arrayB, callback, continuation) {
65
+ function resolve(arrayA, arrayB, callback, ...remainingArguments) {
46
66
  arrayA = [
47
67
  ...arrayA
48
68
  ];
69
+ const continuation = remainingArguments.pop();
49
70
  function nextPass() {
50
71
  const arrayALength = arrayA.length;
51
72
  if (arrayALength === 0) {
52
- const resolved = true; ///
53
- continuation(resolved);
73
+ const success = true; ///
74
+ continuation(success);
54
75
  return;
55
76
  }
56
- let resolved = false;
77
+ let success = false;
57
78
  let count = -1;
58
79
  function nextElement() {
59
80
  count++;
60
81
  const terminate = count === arrayALength;
61
82
  if (terminate) {
62
- if (!resolved) {
63
- const resolved = false; ///
64
- continuation(resolved);
83
+ if (!success) {
84
+ const success = false; ///
85
+ continuation(success);
65
86
  return;
66
87
  }
67
88
  filter(arrayA, (elementA)=>{
@@ -73,11 +94,11 @@ function resolve(arrayA, arrayB, callback, continuation) {
73
94
  nextPass();
74
95
  } else {
75
96
  const index = count, elementA = arrayA[index];
76
- callback(elementA, (passed)=>{
97
+ callback(elementA, ...remainingArguments, (passed)=>{
77
98
  if (passed) {
78
99
  const elementB = elementA; ///
79
100
  arrayB.push(elementB);
80
- resolved = true;
101
+ success = true;
81
102
  }
82
103
  nextElement();
83
104
  });
@@ -112,10 +133,11 @@ function unbreakable(innerFunction) {
112
133
  };
113
134
  }
114
135
  const _default = {
136
+ some,
115
137
  every,
116
138
  resolve,
117
139
  breakable,
118
140
  unbreakable
119
141
  };
120
142
 
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcywgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpbHRlciB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5KGFycmF5LCBjYWxsYmFjaywgY29udGV4dCwgY29udGl1bmF0aW9uKSB7XG4gIGxldCBzdWNjZXNzID0gdHJ1ZTtcblxuICBmb3JFYWNoKGFycmF5LCAoZWxtZWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsbWVlbnQsIGNvbnRleHQsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb250aXVuYXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2ssIGNvbnRpbnVhdGlvbikge1xuICBhcnJheUEgPSBbICAvLy9cbiAgICAuLi5hcnJheUFcbiAgXTtcblxuICBmdW5jdGlvbiBuZXh0UGFzcygpIHtcbiAgICBjb25zdCBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoO1xuXG4gICAgaWYgKGFycmF5QUxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgcmVzb2x2ZWQgPSB0cnVlOyAgLy8vXG5cbiAgICAgIGNvbnRpbnVhdGlvbihyZXNvbHZlZCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcmVzb2x2ZWQgPSBmYWxzZTtcblxuICAgIGxldCBjb3VudCA9IC0xO1xuXG4gICAgZnVuY3Rpb24gbmV4dEVsZW1lbnQoKSB7XG4gICAgICBjb3VudCsrO1xuXG4gICAgICBjb25zdCB0ZXJtaW5hdGUgPSAoY291bnQgPT09IGFycmF5QUxlbmd0aCk7XG5cbiAgICAgIGlmICh0ZXJtaW5hdGUpIHtcbiAgICAgICAgaWYgKCFyZXNvbHZlZCkge1xuICAgICAgICAgIGNvbnN0IHJlc29sdmVkID0gZmFsc2U7IC8vL1xuXG4gICAgICAgICAgY29udGludWF0aW9uKHJlc29sdmVkKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgICAgICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5leHRQYXNzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmRleCA9IGNvdW50LCAgLy8vXG4gICAgICAgICAgICAgIGVsZW1lbnRBID0gYXJyYXlBW2luZGV4XTtcblxuICAgICAgICBjYWxsYmFjayhlbGVtZW50QSwgKHBhc3NlZCkgPT4ge1xuICAgICAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRCID0gZWxlbWVudEE7ICAvLy9cblxuICAgICAgICAgICAgYXJyYXlCLnB1c2goZWxlbWVudEIpO1xuXG4gICAgICAgICAgICByZXNvbHZlZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbmV4dEVsZW1lbnQoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbmV4dEVsZW1lbnQoKTtcbiAgfVxuXG4gIG5leHRQYXNzKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmVha2FibGUoaW5uZXJGdW5jdGlvbikge1xuICByZXR1cm4gZnVuY3Rpb24oLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgcmVtYWluaW5nQXJndW1lbnRzTGVuZ3RoID0gcmVtYWluaW5nQXJndW1lbnRzLmxlbmd0aCxcbiAgICAgICAgICBpbm5lckZ1bmN0aW9uTGVuZ3RoID0gaW5uZXJGdW5jdGlvbi5sZW5ndGgsXG4gICAgICAgICAgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICAgIGNvbnRleHQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICB0aGlzLmJyZWFrKGNvbnRleHQsICgpID0+IHtcbiAgICAgIGlmIChpbm5lckZ1bmN0aW9uTGVuZ3RoID09PSByZW1haW5pbmdBcmd1bWVudHNMZW5ndGgpIHtcbiAgICAgICAgaW5uZXJGdW5jdGlvbi5jYWxsKHRoaXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGV4dCwgY29udGludWF0aW9uKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGlubmVyRnVuY3Rpb24uY2FsbCh0aGlzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRleHQpO1xuXG4gICAgICBjb250aW51YXRpb24ocmVzdWx0KTtcbiAgICB9KTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuYnJlYWthYmxlKGlubmVyRnVuY3Rpb24pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGlubmVyRnVuY3Rpb25MZW5ndGggPSBpbm5lckZ1bmN0aW9uLmxlbmd0aCxcbiAgICAgICAgICByZW1haW5pbmdBcmd1bWVudHNMZW5ndGggPSByZW1haW5pbmdBcmd1bWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKGlubmVyRnVuY3Rpb25MZW5ndGggPT09IHJlbWFpbmluZ0FyZ3VtZW50c0xlbmd0aCkge1xuICAgICAgaW5uZXJGdW5jdGlvbi5jYWxsKHRoaXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgcmVzdWx0ID0gaW5uZXJGdW5jdGlvbi5jYWxsKHRoaXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICBjb250aW51YXRpb24ocmVzdWx0KTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBldmVyeSxcbiAgcmVzb2x2ZSxcbiAgYnJlYWthYmxlLFxuICB1bmJyZWFrYWJsZVxufVxuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImV2ZXJ5IiwicmVzb2x2ZSIsInVuYnJlYWthYmxlIiwiZmlsdGVyIiwiYXJyYXlVdGlsaXRpZXMiLCJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiYXJyYXkiLCJjYWxsYmFjayIsImNvbnRleHQiLCJjb250aXVuYXRpb24iLCJzdWNjZXNzIiwiZWxtZWVudCIsIm5leHQiLCJkb25lIiwicGFzc2VkIiwiYXJyYXlBIiwiYXJyYXlCIiwiY29udGludWF0aW9uIiwibmV4dFBhc3MiLCJhcnJheUFMZW5ndGgiLCJsZW5ndGgiLCJyZXNvbHZlZCIsImNvdW50IiwibmV4dEVsZW1lbnQiLCJ0ZXJtaW5hdGUiLCJlbGVtZW50QSIsImFycmF5QkluY2x1ZGVzRWxlbWVudEEiLCJpbmNsdWRlcyIsImluZGV4IiwiZWxlbWVudEIiLCJwdXNoIiwiaW5uZXJGdW5jdGlvbiIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInJlbWFpbmluZ0FyZ3VtZW50c0xlbmd0aCIsImlubmVyRnVuY3Rpb25MZW5ndGgiLCJwb3AiLCJicmVhayIsImNhbGwiLCJyZXN1bHQiXSwibWFwcGluZ3Mi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
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcywgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpbHRlciB9ID0gYXJyYXlVdGlsaXRpZXMsXG4gICAgICB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHNvbWUoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgZm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgc3VjY2VzcyA9IHRydWU7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgY29udGludWF0aW9uKHN1Y2Nlc3MpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5KGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGxldCBzdWNjZXNzID0gdHJ1ZTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgZm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBhcnJheUEgPSBbICAvLy9cbiAgICAuLi5hcnJheUFcbiAgXTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgZnVuY3Rpb24gbmV4dFBhc3MoKSB7XG4gICAgY29uc3QgYXJyYXlBTGVuZ3RoID0gYXJyYXlBLmxlbmd0aDtcblxuICAgIGlmIChhcnJheUFMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0cnVlOyAgLy8vXG5cbiAgICAgIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICBsZXQgY291bnQgPSAtMTtcblxuICAgIGZ1bmN0aW9uIG5leHRFbGVtZW50KCkge1xuICAgICAgY291bnQrKztcblxuICAgICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBhcnJheUFMZW5ndGgpO1xuXG4gICAgICBpZiAodGVybWluYXRlKSB7XG4gICAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBmYWxzZTsgLy8vXG5cbiAgICAgICAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmaWx0ZXIoYXJyYXlBLCAoZWxlbWVudEEpID0+IHtcbiAgICAgICAgICBjb25zdCBhcnJheUJJbmNsdWRlc0VsZW1lbnRBID0gYXJyYXlCLmluY2x1ZGVzKGVsZW1lbnRBKTtcblxuICAgICAgICAgIGlmICghYXJyYXlCSW5jbHVkZXNFbGVtZW50QSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBuZXh0UGFzcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xuICAgICAgICAgICAgICBlbGVtZW50QSA9IGFycmF5QVtpbmRleF07XG5cbiAgICAgICAgY2FsbGJhY2soZWxlbWVudEEsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRCID0gZWxlbWVudEE7ICAvLy9cblxuICAgICAgICAgICAgYXJyYXlCLnB1c2goZWxlbWVudEIpO1xuXG4gICAgICAgICAgICBzdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBuZXh0RWxlbWVudCgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXh0RWxlbWVudCgpO1xuICB9XG5cbiAgbmV4dFBhc3MoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrYWJsZShpbm5lckZ1bmN0aW9uKSB7XG4gIHJldHVybiBmdW5jdGlvbiguLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCByZW1haW5pbmdBcmd1bWVudHNMZW5ndGggPSByZW1haW5pbmdBcmd1bWVudHMubGVuZ3RoLFxuICAgICAgICAgIGlubmVyRnVuY3Rpb25MZW5ndGggPSBpbm5lckZ1bmN0aW9uLmxlbmd0aCxcbiAgICAgICAgICBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIHRoaXMuYnJlYWsoY29udGV4dCwgKCkgPT4ge1xuICAgICAgaWYgKGlubmVyRnVuY3Rpb25MZW5ndGggPT09IHJlbWFpbmluZ0FyZ3VtZW50c0xlbmd0aCkge1xuICAgICAgICBpbm5lckZ1bmN0aW9uLmNhbGwodGhpcywgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250ZXh0LCBjb250aW51YXRpb24pO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0ID0gaW5uZXJGdW5jdGlvbi5jYWxsKHRoaXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGV4dCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbihyZXN1bHQpO1xuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5icmVha2FibGUoaW5uZXJGdW5jdGlvbikge1xuICByZXR1cm4gZnVuY3Rpb24oLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgaW5uZXJGdW5jdGlvbkxlbmd0aCA9IGlubmVyRnVuY3Rpb24ubGVuZ3RoLFxuICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50c0xlbmd0aCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAoaW5uZXJGdW5jdGlvbkxlbmd0aCA9PT0gcmVtYWluaW5nQXJndW1lbnRzTGVuZ3RoKSB7XG4gICAgICBpbm5lckZ1bmN0aW9uLmNhbGwodGhpcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICByZXN1bHQgPSBpbm5lckZ1bmN0aW9uLmNhbGwodGhpcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIGNvbnRpbnVhdGlvbihyZXN1bHQpO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHNvbWUsXG4gIGV2ZXJ5LFxuICByZXNvbHZlLFxuICBicmVha2FibGUsXG4gIHVuYnJlYWthYmxlXG59XG4iXSwibmFtZXMiOlsiYnJlYWthYmxlIiwiZXZlcnkiLCJyZXNvbHZlIiwic29tZSIsInVuYnJlYWthYmxlIiwiZmlsdGVyIiwiYXJyYXlVdGlsaXRpZXMiLCJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiYXJyYXkiLCJjYWxsYmFjayIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInN1Y2Nlc3MiLCJjb250aW51YXRpb24iLCJwb3AiLCJlbGVtZW50IiwibmV4dCIsImRvbmUiLCJwYXNzZWQiLCJhcnJheUEiLCJhcnJheUIiLCJuZXh0UGFzcyIsImFycmF5QUxlbmd0aCIsImxlbmd0aCIsImNvdW50IiwibmV4dEVsZW1lbnQiLCJ0ZXJtaW5hdGUiLCJlbGVtZW50QSIsImFycmF5QkluY2x1ZGVzRWxlbWVudEEiLCJpbmNsdWRlcyIsImluZGV4IiwiZWxlbWVudEIiLCJwdXNoIiwiaW5uZXJGdW5jdGlvbiIsInJlbWFpbmluZ0FyZ3VtZW50c0xlbmd0aCIsImlubmVyRnVuY3Rpb25MZW5ndGgiLCJjb250ZXh0IiwiYnJlYWsiLCJjYWxsIiwicmVzdWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF3SGdCQTtlQUFBQTs7UUF1Q2hCO2VBQUE7O1FBbElnQkM7ZUFBQUE7O1FBc0JBQztlQUFBQTs7UUE1Q0FDO2VBQUFBOztRQXNJQUM7ZUFBQUE7OzsyQkEzSXNDO0FBRXRELE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdDLHlCQUFjLEVBQzNCLEVBQUVDLE9BQU8sRUFBRSxHQUFHQyxnQ0FBcUI7QUFFbEMsU0FBU0wsS0FBS00sS0FBSyxFQUFFQyxRQUFRLEVBQUUsR0FBR0Msa0JBQWtCO0lBQ3pELElBQUlDLFVBQVU7SUFFZCxNQUFNQyxlQUFlRixtQkFBbUJHLEdBQUc7SUFFM0NQLFFBQVFFLE9BQU8sQ0FBQ00sU0FBU0MsTUFBTUM7UUFDN0JQLFNBQVNLLFlBQVlKLG9CQUFvQixD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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": "1.0.38",
4
+ "version": "1.0.40",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
package/src/index.js CHANGED
@@ -14,6 +14,7 @@ export { default as ForwardPass } from "./pass/forward";
14
14
  export { default as AsyncZipPass } from "./pass/asyncZip";
15
15
  export { default as ForwardZipPass } from "./pass/forwardZip";
16
16
  export { default as EquivalencePass } from "./pass/equivalence";
17
+ export { default as ContinuationPass } from "./pass/continuation";
17
18
 
18
19
  export { default as FurtleLexer } from "./furtle/lexer";
19
20
  export { default as FurtleParser } from "./furtle/parser";
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ import { some, every } from "../utilities/continuation";
4
+ import { nonTerminalNodeQuery } from "../utilities/pass";
5
+
6
+ export default class ContinuationPass {
7
+ run(node, ...remainingArguments) {
8
+ const continuation = remainingArguments.pop();
9
+
10
+ this.visitNode(node, ...remainingArguments, continuation);
11
+ }
12
+
13
+ descend(childNodes, ...remainingArguments) {
14
+ const continuation = remainingArguments.pop();
15
+
16
+ every(childNodes, (childNode, continuation) => {
17
+ const node = childNode; ///
18
+
19
+ this.visitNode(node, ...remainingArguments, continuation);
20
+ }, continuation);
21
+ }
22
+
23
+ visitNode(node, ...remainingArguments) {
24
+ const continuation = remainingArguments.pop(),
25
+ nodeTerminalNode = node.isTerminalNode();
26
+
27
+ if (nodeTerminalNode) {
28
+ const terminalNode = node; ///
29
+
30
+ this.visitTerminalNode(terminalNode, ...remainingArguments, continuation);
31
+ } else {
32
+ const nonTerminalNode = node; ///
33
+
34
+ this.visitNonTerminalNode(nonTerminalNode, ...remainingArguments, continuation);
35
+ }
36
+ }
37
+
38
+ visitTerminalNode(terminalNode, ...remainingArguments) {
39
+ const visited = true,
40
+ continuation = remainingArguments.pop();
41
+
42
+ continuation(visited);
43
+ }
44
+
45
+ visitNonTerminalNode(nonTerminalNode, ...remainingArguments) {
46
+ const continuation = remainingArguments.pop();
47
+
48
+ let { maps } = this.constructor;
49
+
50
+ maps = [ ///
51
+ ...maps,
52
+ {
53
+ nodeQuery: nonTerminalNodeQuery,
54
+ run: (node, ...remainingArguments) => {
55
+ const continuation = remainingArguments.pop(),
56
+ childNodes = nonTerminalNode.getChildNodes();
57
+
58
+ this.descend(childNodes, ...remainingArguments, continuation);
59
+ }
60
+ }
61
+ ];
62
+
63
+ some(maps, (map, continuation) => {
64
+ const { nodeQuery, run } = map;
65
+
66
+ const node = nodeQuery(nonTerminalNode);
67
+
68
+ if (node === null) {
69
+ const visited = false;
70
+
71
+ continuation(visited);
72
+
73
+ return;
74
+ }
75
+
76
+ run(node, ...remainingArguments, continuation);
77
+ }, continuation);
78
+ }
79
+ }
@@ -31,21 +31,19 @@ export function breakPointToBreakPointJSON(breakPoint) {
31
31
  export function lineIndexFromNodeAndTokens(node, tokens) {
32
32
  let lineIndex = 0;
33
33
 
34
- // const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens);
35
- //
36
- // tokens.some((token, tokenIndex) => {
37
- // const tokenEndOfLineToken = token.isEndOfLineToken();
38
- //
39
- // if (tokenEndOfLineToken) {
40
- // lineIndex += 1;
41
- // }
42
- //
43
- // if (tokenIndex === firstSignificantTokenIndex) {
44
- // return true;
45
- // }
46
- // });
47
-
48
- lineIndex = 123;
34
+ const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens);
35
+
36
+ tokens.some((token, tokenIndex) => {
37
+ const tokenEndOfLineToken = token.isEndOfLineToken();
38
+
39
+ if (tokenEndOfLineToken) {
40
+ lineIndex += 1;
41
+ }
42
+
43
+ if (tokenIndex === firstSignificantTokenIndex) {
44
+ return true;
45
+ }
46
+ });
49
47
 
50
48
  return lineIndex;
51
49
  }
@@ -5,11 +5,35 @@ import { arrayUtilities, asynchronousUtilities } from "necessary";
5
5
  const { filter } = arrayUtilities,
6
6
  { forEach } = asynchronousUtilities;
7
7
 
8
- export function every(array, callback, context, contiunation) {
8
+ export function some(array, callback, ...remainingArguments) {
9
+ let success = false;
10
+
11
+ const continuation = remainingArguments.pop();
12
+
13
+ forEach(array, (element, next, done) => {
14
+ callback(element, ...remainingArguments, (passed) => {
15
+ if (passed) {
16
+ success = true;
17
+
18
+ done();
19
+
20
+ return;
21
+ }
22
+
23
+ next();
24
+ });
25
+ }, () => {
26
+ continuation(success);
27
+ });
28
+ }
29
+
30
+ export function every(array, callback, ...remainingArguments) {
9
31
  let success = true;
10
32
 
11
- forEach(array, (elmeent, next, done) => {
12
- callback(elmeent, context, (passed) => {
33
+ const continuation = remainingArguments.pop();
34
+
35
+ forEach(array, (element, next, done) => {
36
+ callback(element, ...remainingArguments, (passed) => {
13
37
  if (!passed) {
14
38
  success = false;
15
39
 
@@ -21,27 +45,29 @@ export function every(array, callback, context, contiunation) {
21
45
  next();
22
46
  });
23
47
  }, () => {
24
- contiunation(success);
48
+ continuation(success);
25
49
  });
26
50
  }
27
51
 
28
- export function resolve(arrayA, arrayB, callback, continuation) {
52
+ export function resolve(arrayA, arrayB, callback, ...remainingArguments) {
29
53
  arrayA = [ ///
30
54
  ...arrayA
31
55
  ];
32
56
 
57
+ const continuation = remainingArguments.pop();
58
+
33
59
  function nextPass() {
34
60
  const arrayALength = arrayA.length;
35
61
 
36
62
  if (arrayALength === 0) {
37
- const resolved = true; ///
63
+ const success = true; ///
38
64
 
39
- continuation(resolved);
65
+ continuation(success);
40
66
 
41
67
  return;
42
68
  }
43
69
 
44
- let resolved = false;
70
+ let success = false;
45
71
 
46
72
  let count = -1;
47
73
 
@@ -51,10 +77,10 @@ export function resolve(arrayA, arrayB, callback, continuation) {
51
77
  const terminate = (count === arrayALength);
52
78
 
53
79
  if (terminate) {
54
- if (!resolved) {
55
- const resolved = false; ///
80
+ if (!success) {
81
+ const success = false; ///
56
82
 
57
- continuation(resolved);
83
+ continuation(success);
58
84
 
59
85
  return;
60
86
  }
@@ -72,13 +98,13 @@ export function resolve(arrayA, arrayB, callback, continuation) {
72
98
  const index = count, ///
73
99
  elementA = arrayA[index];
74
100
 
75
- callback(elementA, (passed) => {
101
+ callback(elementA, ...remainingArguments, (passed) => {
76
102
  if (passed) {
77
103
  const elementB = elementA; ///
78
104
 
79
105
  arrayB.push(elementB);
80
106
 
81
- resolved = true;
107
+ success = true;
82
108
  }
83
109
 
84
110
  nextElement();
@@ -132,6 +158,7 @@ export function unbreakable(innerFunction) {
132
158
  }
133
159
 
134
160
  export default {
161
+ some,
135
162
  every,
136
163
  resolve,
137
164
  breakable,