occam-verify-cli 1.0.949 → 1.0.951

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.
@@ -105,10 +105,10 @@ function ground(innerFunction) {
105
105
  function ablate(innerFunction, context) {
106
106
  const released = context.isReleased();
107
107
  if (!released) {
108
- let contextNominalFileContext = context instanceof _nominal1.default;
109
- while(!contextNominalFileContext){
108
+ let contextExtraneousContext = isContextExtraneousContext(context);
109
+ while(contextExtraneousContext){
110
110
  context = context.getContext();
111
- contextNominalFileContext = context instanceof _nominal1.default;
111
+ contextExtraneousContext = isContextExtraneousContext(context);
112
112
  }
113
113
  }
114
114
  return innerFunction(context);
@@ -178,10 +178,10 @@ function ablates(innerFunction, ...contexts) {
178
178
  contexts = contexts.map((context)=>{
179
179
  const released = context.isReleased();
180
180
  if (!released) {
181
- let contextNominalFileContext = context instanceof _nominal1.default;
182
- while(!contextNominalFileContext){
181
+ let contextExtraneousContext = isContextExtraneousContext(context);
182
+ while(contextExtraneousContext){
183
183
  context = context.getContext();
184
- contextNominalFileContext = context instanceof _nominal1.default;
184
+ contextExtraneousContext = isContextExtraneousContext(context);
185
185
  }
186
186
  }
187
187
  return context;
@@ -212,5 +212,9 @@ function evaluate(procedure, terms) {
212
212
  const context = procedure.getContext();
213
213
  return procedure.call(terms, context);
214
214
  }
215
+ function isContextExtraneousContext(context) {
216
+ const contextBoundedContext = context instanceof _bounded.default, contextNominalFileContext = context instanceof _nominal1.default, contextExtraneousContext = !contextBoundedContext && !contextNominalFileContext;
217
+ return contextExtraneousContext;
218
+ }
215
219
 
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1lbm1pY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbW5lbWljXCI7XG5pbXBvcnQgTmVzdGVkQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9uZXN0ZWRcIjtcbmltcG9ydCBUaGV0aWNDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3RoZXRpY1wiO1xuaW1wb3J0IEJvdW5kZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JvdW5kZWRcIjtcbmltcG9ydCBOb21pbmFsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ub21pbmFsXCI7XG5pbXBvcnQgTGl0ZXJhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbGl0ZXJhbFwiO1xuaW1wb3J0IExpbWluYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xpbWluYWxcIjtcbmltcG9ydCBQaGFuZXJpY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcGhhbmVyaWNcIjtcbmltcG9ydCBTeW5vcHRpY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvc3lub3B0aWNcIjtcbmltcG9ydCBJbGxhdGl2ZUNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvaWxsYXRpdmVcIjtcbmltcG9ydCBCcmFuY2hpbmdDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYW5jaGluZ1wiO1xuaW1wb3J0IE5vbWluYWxGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlL25vbWluYWxcIjtcblxuaW1wb3J0IHsgbW5lbWljQ29udGV4dEZyb21KU09OLCBtbmVtaWNDb250ZXh0c0Zyb21KU09OLCBtbmVtaWNDb250ZXh0VG9NbmVtaWNDb250ZXh0SlNPTiwgbW5lbWljQ29udGV4dHNUb01uZW1pY0NvbnRleHRzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gam9pbihpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb250ZXh0cyA9IGNvbnRleHRzLmZpbHRlcigoY29udGV4dCkgPT4ge1xuICAgIGlmIChjb250ZXh0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHN5bm9wdGljQ29udGV4dCA9IFN5bm9wdGljQ29udGV4dC5mcm9tQ29udGV4dHMoY29udGV4dHMpLFxuICAgICAgICBjb250ZXh0ID0gc3lub3B0aWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncm91bmQoaW5uZXJGdW5jdGlvbikge1xuICBsZXQgY29udGV4dDtcblxuICBjb25zdCBub21pbmFsQ29udGV4dCA9IE5vbWluYWxDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbiAgY29udGV4dCA9IG5vbWluYWxDb250ZXh0OyAvLy9cblxuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWJsYXRlKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgcmVsZWFzZWQgPSBjb250ZXh0LmlzUmVsZWFzZWQoKTtcblxuICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgbGV0IGNvbnRleHROb21pbmFsRmlsZUNvbnRleHQgPSAoY29udGV4dCBpbnN0YW5jZW9mIE5vbWluYWxGaWxlQ29udGV4dCk7XG5cbiAgICB3aGlsZSAoIWNvbnRleHROb21pbmFsRmlsZUNvbnRleHQpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmdldENvbnRleHQoKTtcblxuICAgICAgY29udGV4dE5vbWluYWxGaWxlQ29udGV4dCA9IChjb250ZXh0IGluc3RhbmNlb2YgTm9taW5hbEZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNob29zZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGJyYW5jaGluZ0NvbnRleHQgPSBCcmFuY2hpbmdDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBicmFuY2hpbmdDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBpbGxhdGl2ZUNvbnRleHQgPSBJbGxhdGl2ZUNvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGlsbGF0aXZlQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjbGFyZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IHRoZXRpY0NvbnRleHQgPSBUaGV0aWNDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSB0aGV0aWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNjZW5kKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgbmVzdGVkQ29udGV4dCA9IE5lc3RlZENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IG5lc3RlZENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGVtcHQoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCByZWxlYXNlZCA9IGNvbnRleHQuaXNSZWxlYXNlZCgpO1xuXG4gIGlmICghcmVsZWFzZWQpIHtcbiAgICBjb25zdCBtbmVtaWNDb250ZXh0ID0gTWVubWljQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICAgIGNvbnRleHQgPSBtbmVtaWNDb250ZXh0OyAgLy8vXG4gIH1cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY2xvc2UoaW5uZXJGdW5jdGlvbiwgbWV0YUxldmVsQXNzdW1wdGlvbnMsIGNvbnRleHQpIHtcbiAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnRleHQgPSBtZXRhTGV2ZWxBc3N1bXB0aW9uczsgIC8vL1xuXG4gICAgbWV0YUxldmVsQXNzdW1wdGlvbnMgPSBudWxsO1xuICB9XG5cbiAgY29uc3QgYm91bmRlZENvbnRleHQgPSBCb3VuZGVkQ29udGV4dC5mcm9tTWV0YUxldmVsQXNzdW1wdGlvbnMobWV0YUxldmVsQXNzdW1wdGlvbnMsIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBib3VuZGVkQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFuaWZlc3QoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29uc3QgcGhhbmVyaWNDb250ZXh0ID0gUGhhbmVyaWNDb250ZXh0LmZyb21Db250ZXh0cyhjb250ZXh0cyksXG4gICAgICAgIGNvbnRleHQgPSBwaGFuZXJpY0NvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY29uY2lsZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGxpbWluYWxDb250ZXh0ID0gTGltaW5hbENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGxpbWluYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgIG1uZW1pY0NvbnRleHRKU09OID0gbW5lbWljQ29udGV4dFRvTW5lbWljQ29udGV4dEpTT04obW5lbWljQ29udGV4dCksXG4gICAgICAgIGNvbnRleHRKU09OID0gbW5lbWljQ29udGV4dEpTT047IC8vL1xuXG4gIGNvbnRleHQgPSBjb250ZXh0SlNPTjsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5zZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwganNvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gbW5lbWljQ29udGV4dEZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBtbmVtaWNDb250ZXh0OyAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihqc29uLCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFibGF0ZXMoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29udGV4dHMgPSBjb250ZXh0cy5tYXAoKGNvbnRleHQpID0+IHsgIC8vL1xuICAgIGNvbnN0IHJlbGVhc2VkID0gY29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgICBsZXQgY29udGV4dE5vbWluYWxGaWxlQ29udGV4dCA9IChjb250ZXh0IGluc3RhbmNlb2YgTm9taW5hbEZpbGVDb250ZXh0KTtcblxuICAgICAgd2hpbGUgKCFjb250ZXh0Tm9taW5hbEZpbGVDb250ZXh0KSB7XG4gICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmdldENvbnRleHQoKTtcblxuICAgICAgICBjb250ZXh0Tm9taW5hbEZpbGVDb250ZXh0ID0gKGNvbnRleHQgaW5zdGFuY2VvZiBOb21pbmFsRmlsZUNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9KTtcblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbiguLi5jb250ZXh0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdHRlbXB0cyhpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb250ZXh0cyA9IGNvbnRleHRzLm1hcCgoY29udGV4dCkgPT4geyAgLy8vXG4gICAgY29uc3QgcmVsZWFzZWQgPSBjb250ZXh0LmlzUmVsZWFzZWQoKTtcblxuICAgIGlmICghcmVsZWFzZWQpIHtcbiAgICAgIGNvbnN0IG1uZW1pY0NvbnRleHQgPSBNZW5taWNDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbW5lbWljQ29udGV4dDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9KTtcblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbiguLi5jb250ZXh0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpc2VzKGlubmVyRnVuY3Rpb24sIC4uLmNvbnRleHRzKSB7XG4gIGNvbnN0IG1uZW1pY0NvbnRleHRzID0gY29udGV4dHMsIC8vL1xuICAgICAgICBtbmVtaWNDb250ZXh0c0pTT04gPSBtbmVtaWNDb250ZXh0c1RvTW5lbWljQ29udGV4dHNKU09OKG1uZW1pY0NvbnRleHRzKSxcbiAgICAgICAgY29udGV4dHNKU09OID0gbW5lbWljQ29udGV4dHNKU09OOyAvLy9cblxuICBjb250ZXh0cyA9IGNvbnRleHRzSlNPTjsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKC4uLmNvbnRleHRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2VyaWFsaXNlcyhpbm5lckZ1bmN0aW9uLCBqc29uLCBjb250ZXh0KSB7XG4gIGNvbnN0IG1uZW1pY0NvbnRleHRzID0gbW5lbWljQ29udGV4dHNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgY29udGV4dHMgPSBtbmVtaWNDb250ZXh0czsgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oanNvbiwgLi4uY29udGV4dHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXZhbHVhdGUocHJvY2VkdXJlLCB0ZXJtcykge1xuICBjb25zdCBjb250ZXh0ID0gcHJvY2VkdXJlLmdldENvbnRleHQoKTtcblxuICByZXR1cm4gcHJvY2VkdXJlLmNhbGwodGVybXMsIGNvbnRleHQpO1xufVxuIl0sIm5hbWVzIjpbImFibGF0ZSIsImFibGF0ZXMiLCJhdHRlbXB0IiwiYXR0ZW1wdHMiLCJjaG9vc2UiLCJkZWNsYXJlIiwiZGVyaXZlIiwiZGVzY2VuZCIsImVuY2xvc2UiLCJldmFsdWF0ZSIsImdyb3VuZCIsImluc3RhbnRpYXRlIiwiam9pbiIsIm1hbmlmZXN0IiwicmVjb25jaWxlIiwic2VyaWFsaXNlIiwic2VyaWFsaXNlcyIsInVuc2VyaWFsaXNlIiwidW5zZXJpYWxpc2VzIiwiaW5uZXJGdW5jdGlvbiIsImNvbnRleHRzIiwiZmlsdGVyIiwiY29udGV4dCIsInN5bm9wdGljQ29udGV4dCIsIlN5bm9wdGljQ29udGV4dCIsImZyb21Db250ZXh0cyIsIm5vbWluYWxDb250ZXh0IiwiTm9taW5hbENvbnRleHQiLCJmcm9tTm90aGluZyIsImxpdGVyYWxDb250ZXh0IiwiTGl0ZXJhbENvbnRleHQiLCJyZWxlYXNlZCIsImlzUmVsZWFzZWQiLCJjb250ZXh0Tm9taW5hbEZpbGVDb250ZXh0IiwiTm9taW5hbEZpbGVDb250ZXh0IiwiZ2V0Q29udGV4dCIsImJyYW5jaGluZ0NvbnRleHQiLCJCcmFuY2hpbmdDb250ZXh0IiwiaWxsYXRpdmVDb250ZXh0IiwiSWxsYXRpdmVDb250ZXh0IiwidGhldGljQ29udGV4dCIsIlRoZXRpY0NvbnRleHQiLCJuZXN0ZWRDb250ZXh0IiwiTmVzdGVkQ29udGV4dCIsIm1uZW1pY0NvbnRleHQiLCJNZW5taWNDb250ZXh0IiwibWV0YUxldmVsQXNzdW1wdGlvbnMiLCJ1bmRlZmluZWQiLCJib3VuZGVkQ29udGV4dCIsIkJvdW5kZWRDb250ZXh0IiwiZnJvbU1ldGFMZXZlbEFzc3VtcHRpb25zIiwicGhhbmVyaWNDb250ZXh0IiwiUGhhbmVyaWNDb250ZXh0IiwibGltaW5hbENvbnRleHQiLCJMaW1pbmFsQ29udGV4dCIsIm1uZW1pY0NvbnRleHRKU09OIiwibW5lbWljQ29udGV4dFRvTW5lbWljQ29udGV4dEpTT04iLCJjb250ZXh0SlNPTiIsImpzb24iLCJtbmVtaWNDb250ZXh0RnJvbUpTT04iLCJtYXAiLCJtbmVtaWNDb250ZXh0cyIsIm1uZW1pY0NvbnRleHRzSlNPTiIsIm1uZW1pY0NvbnRleHRzVG9NbmVtaWNDb250ZXh0c0pTT04iLCJjb250ZXh0c0pTT04iLCJtbmVtaWNDb250ZXh0c0Zyb21KU09OIiwicHJvY2VkdXJlIiwidGVybXMiLCJjYWxsIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE0Q2dCQTtlQUFBQTs7UUFtSEFDO2VBQUFBOztRQW5FQUM7ZUFBQUE7O1FBdUZBQztlQUFBQTs7UUF2SEFDO2VBQUFBOztRQWdCQUM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQWdCQUM7ZUFBQUE7O1FBb0JBQztlQUFBQTs7UUE0R0FDO2VBQUFBOztRQXRMQUM7ZUFBQUE7O1FBaUhBQztlQUFBQTs7UUE5SEFDO2VBQUFBOztRQXFHQUM7ZUFBQUE7O1FB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
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1lbm1pY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbW5lbWljXCI7XG5pbXBvcnQgTmVzdGVkQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9uZXN0ZWRcIjtcbmltcG9ydCBUaGV0aWNDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3RoZXRpY1wiO1xuaW1wb3J0IEJvdW5kZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JvdW5kZWRcIjtcbmltcG9ydCBOb21pbmFsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ub21pbmFsXCI7XG5pbXBvcnQgTGl0ZXJhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbGl0ZXJhbFwiO1xuaW1wb3J0IExpbWluYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xpbWluYWxcIjtcbmltcG9ydCBQaGFuZXJpY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcGhhbmVyaWNcIjtcbmltcG9ydCBTeW5vcHRpY0NvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvc3lub3B0aWNcIjtcbmltcG9ydCBJbGxhdGl2ZUNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvaWxsYXRpdmVcIjtcbmltcG9ydCBCcmFuY2hpbmdDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYW5jaGluZ1wiO1xuaW1wb3J0IE5vbWluYWxGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlL25vbWluYWxcIjtcblxuaW1wb3J0IHsgbW5lbWljQ29udGV4dEZyb21KU09OLCBtbmVtaWNDb250ZXh0c0Zyb21KU09OLCBtbmVtaWNDb250ZXh0VG9NbmVtaWNDb250ZXh0SlNPTiwgbW5lbWljQ29udGV4dHNUb01uZW1pY0NvbnRleHRzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gam9pbihpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb250ZXh0cyA9IGNvbnRleHRzLmZpbHRlcigoY29udGV4dCkgPT4ge1xuICAgIGlmIChjb250ZXh0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHN5bm9wdGljQ29udGV4dCA9IFN5bm9wdGljQ29udGV4dC5mcm9tQ29udGV4dHMoY29udGV4dHMpLFxuICAgICAgICBjb250ZXh0ID0gc3lub3B0aWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncm91bmQoaW5uZXJGdW5jdGlvbikge1xuICBsZXQgY29udGV4dDtcblxuICBjb25zdCBub21pbmFsQ29udGV4dCA9IE5vbWluYWxDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbiAgY29udGV4dCA9IG5vbWluYWxDb250ZXh0OyAvLy9cblxuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWJsYXRlKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgcmVsZWFzZWQgPSBjb250ZXh0LmlzUmVsZWFzZWQoKTtcblxuICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgbGV0IGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCA9IGlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0KGNvbnRleHQpO1xuXG4gICAgd2hpbGUgKGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCkge1xuICAgICAgY29udGV4dCA9IGNvbnRleHQuZ2V0Q29udGV4dCgpO1xuXG4gICAgICBjb250ZXh0RXh0cmFuZW91c0NvbnRleHQgPSBpc0NvbnRleHRFeHRyYW5lb3VzQ29udGV4dChjb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNob29zZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGJyYW5jaGluZ0NvbnRleHQgPSBCcmFuY2hpbmdDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBicmFuY2hpbmdDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBpbGxhdGl2ZUNvbnRleHQgPSBJbGxhdGl2ZUNvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGlsbGF0aXZlQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjbGFyZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IHRoZXRpY0NvbnRleHQgPSBUaGV0aWNDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSB0aGV0aWNDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNjZW5kKGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgbmVzdGVkQ29udGV4dCA9IE5lc3RlZENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IG5lc3RlZENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGVtcHQoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCByZWxlYXNlZCA9IGNvbnRleHQuaXNSZWxlYXNlZCgpO1xuXG4gIGlmICghcmVsZWFzZWQpIHtcbiAgICBjb25zdCBtbmVtaWNDb250ZXh0ID0gTWVubWljQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICAgIGNvbnRleHQgPSBtbmVtaWNDb250ZXh0OyAgLy8vXG4gIH1cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY2xvc2UoaW5uZXJGdW5jdGlvbiwgbWV0YUxldmVsQXNzdW1wdGlvbnMsIGNvbnRleHQpIHtcbiAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnRleHQgPSBtZXRhTGV2ZWxBc3N1bXB0aW9uczsgIC8vL1xuXG4gICAgbWV0YUxldmVsQXNzdW1wdGlvbnMgPSBudWxsO1xuICB9XG5cbiAgY29uc3QgYm91bmRlZENvbnRleHQgPSBCb3VuZGVkQ29udGV4dC5mcm9tTWV0YUxldmVsQXNzdW1wdGlvbnMobWV0YUxldmVsQXNzdW1wdGlvbnMsIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBib3VuZGVkQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFuaWZlc3QoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29uc3QgcGhhbmVyaWNDb250ZXh0ID0gUGhhbmVyaWNDb250ZXh0LmZyb21Db250ZXh0cyhjb250ZXh0cyksXG4gICAgICAgIGNvbnRleHQgPSBwaGFuZXJpY0NvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY29uY2lsZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGxpbWluYWxDb250ZXh0ID0gTGltaW5hbENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGxpbWluYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgIG1uZW1pY0NvbnRleHRKU09OID0gbW5lbWljQ29udGV4dFRvTW5lbWljQ29udGV4dEpTT04obW5lbWljQ29udGV4dCksXG4gICAgICAgIGNvbnRleHRKU09OID0gbW5lbWljQ29udGV4dEpTT047IC8vL1xuXG4gIGNvbnRleHQgPSBjb250ZXh0SlNPTjsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBsaXRlcmFsQ29udGV4dCA9IExpdGVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaXRlcmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5zZXJpYWxpc2UoaW5uZXJGdW5jdGlvbiwganNvbiwgY29udGV4dCkge1xuICBjb25zdCBtbmVtaWNDb250ZXh0ID0gbW5lbWljQ29udGV4dEZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBtbmVtaWNDb250ZXh0OyAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihqc29uLCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFibGF0ZXMoaW5uZXJGdW5jdGlvbiwgLi4uY29udGV4dHMpIHtcbiAgY29udGV4dHMgPSBjb250ZXh0cy5tYXAoKGNvbnRleHQpID0+IHsgIC8vL1xuICAgIGNvbnN0IHJlbGVhc2VkID0gY29udGV4dC5pc1JlbGVhc2VkKCk7XG5cbiAgICBpZiAoIXJlbGVhc2VkKSB7XG4gICAgICBsZXQgY29udGV4dEV4dHJhbmVvdXNDb250ZXh0ID0gaXNDb250ZXh0RXh0cmFuZW91c0NvbnRleHQoY29udGV4dCk7XG5cbiAgICAgIHdoaWxlIChjb250ZXh0RXh0cmFuZW91c0NvbnRleHQpIHtcbiAgICAgICAgY29udGV4dCA9IGNvbnRleHQuZ2V0Q29udGV4dCgpO1xuXG4gICAgICAgIGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCA9IGlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0KGNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9KTtcblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbiguLi5jb250ZXh0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdHRlbXB0cyhpbm5lckZ1bmN0aW9uLCAuLi5jb250ZXh0cykge1xuICBjb250ZXh0cyA9IGNvbnRleHRzLm1hcCgoY29udGV4dCkgPT4geyAgLy8vXG4gICAgY29uc3QgcmVsZWFzZWQgPSBjb250ZXh0LmlzUmVsZWFzZWQoKTtcblxuICAgIGlmICghcmVsZWFzZWQpIHtcbiAgICAgIGNvbnN0IG1uZW1pY0NvbnRleHQgPSBNZW5taWNDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbW5lbWljQ29udGV4dDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9KTtcblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbiguLi5jb250ZXh0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpc2VzKGlubmVyRnVuY3Rpb24sIC4uLmNvbnRleHRzKSB7XG4gIGNvbnN0IG1uZW1pY0NvbnRleHRzID0gY29udGV4dHMsIC8vL1xuICAgICAgICBtbmVtaWNDb250ZXh0c0pTT04gPSBtbmVtaWNDb250ZXh0c1RvTW5lbWljQ29udGV4dHNKU09OKG1uZW1pY0NvbnRleHRzKSxcbiAgICAgICAgY29udGV4dHNKU09OID0gbW5lbWljQ29udGV4dHNKU09OOyAvLy9cblxuICBjb250ZXh0cyA9IGNvbnRleHRzSlNPTjsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKC4uLmNvbnRleHRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2VyaWFsaXNlcyhpbm5lckZ1bmN0aW9uLCBqc29uLCBjb250ZXh0KSB7XG4gIGNvbnN0IG1uZW1pY0NvbnRleHRzID0gbW5lbWljQ29udGV4dHNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgY29udGV4dHMgPSBtbmVtaWNDb250ZXh0czsgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oanNvbiwgLi4uY29udGV4dHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXZhbHVhdGUocHJvY2VkdXJlLCB0ZXJtcykge1xuICBjb25zdCBjb250ZXh0ID0gcHJvY2VkdXJlLmdldENvbnRleHQoKTtcblxuICByZXR1cm4gcHJvY2VkdXJlLmNhbGwodGVybXMsIGNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRFeHRyYW5lb3VzQ29udGV4dChjb250ZXh0KSB7XG4gIGNvbnN0IGNvbnRleHRCb3VuZGVkQ29udGV4dCA9IChjb250ZXh0IGluc3RhbmNlb2YgQm91bmRlZENvbnRleHQpLFxuICAgICAgICBjb250ZXh0Tm9taW5hbEZpbGVDb250ZXh0ID0gKGNvbnRleHQgaW5zdGFuY2VvZiBOb21pbmFsRmlsZUNvbnRleHQpLFxuICAgICAgICBjb250ZXh0RXh0cmFuZW91c0NvbnRleHQgPSAoIWNvbnRleHRCb3VuZGVkQ29udGV4dCAmJiAhY29udGV4dE5vbWluYWxGaWxlQ29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRleHRFeHRyYW5lb3VzQ29udGV4dDtcbn0iXSwibmFtZXMiOlsiYWJsYXRlIiwiYWJsYXRlcyIsImF0dGVtcHQiLCJhdHRlbXB0cyIsImNob29zZSIsImRlY2xhcmUiLCJkZXJpdmUiLCJkZXNjZW5kIiwiZW5jbG9zZSIsImV2YWx1YXRlIiwiZ3JvdW5kIiwiaW5zdGFudGlhdGUiLCJqb2luIiwibWFuaWZlc3QiLCJyZWNvbmNpbGUiLCJzZXJpYWxpc2UiLCJzZXJpYWxpc2VzIiwidW5zZXJpYWxpc2UiLCJ1bnNlcmlhbGlzZXMiLCJpbm5lckZ1bmN0aW9uIiwiY29udGV4dHMiLCJmaWx0ZXIiLCJjb250ZXh0Iiwic3lub3B0aWNDb250ZXh0IiwiU3lub3B0aWNDb250ZXh0IiwiZnJvbUNvbnRleHRzIiwibm9taW5hbENvbnRleHQiLCJOb21pbmFsQ29udGV4dCIsImZyb21Ob3RoaW5nIiwibGl0ZXJhbENvbnRleHQiLCJMaXRlcmFsQ29udGV4dCIsInJlbGVhc2VkIiwiaXNSZWxlYXNlZCIsImNvbnRleHRFeHRyYW5lb3VzQ29udGV4dCIsImlzQ29udGV4dEV4dHJhbmVvdXNDb250ZXh0IiwiZ2V0Q29udGV4dCIsImJyYW5jaGluZ0NvbnRleHQiLCJCcmFuY2hpbmdDb250ZXh0IiwiaWxsYXRpdmVDb250ZXh0IiwiSWxsYXRpdmVDb250ZXh0IiwidGhldGljQ29udGV4dCIsIlRoZXRpY0NvbnRleHQiLCJuZXN0ZWRDb250ZXh0IiwiTmVzdGVkQ29udGV4dCIsIm1uZW1pY0NvbnRleHQiLCJNZW5taWNDb250ZXh0IiwibWV0YUxldmVsQXNzdW1wdGlvbnMiLCJ1bmRlZmluZWQiLCJib3VuZGVkQ29udGV4dCIsIkJvdW5kZWRDb250ZXh0IiwiZnJvbU1ldGFMZXZlbEFzc3VtcHRpb25zIiwicGhhbmVyaWNDb250ZXh0IiwiUGhhbmVyaWNDb250ZXh0IiwibGltaW5hbENvbnRleHQiLCJMaW1pbmFsQ29udGV4dCIsIm1uZW1pY0NvbnRleHRKU09OIiwibW5lbWljQ29udGV4dFRvTW5lbWljQ29udGV4dEpTT04iLCJjb250ZXh0SlNPTiIsImpzb24iLCJtbmVtaWNDb250ZXh0RnJvbUpTT04iLCJtYXAiLCJtbmVtaWNDb250ZXh0cyIsIm1uZW1pY0NvbnRleHRzSlNPTiIsIm1uZW1pY0NvbnRleHRzVG9NbmVtaWNDb250ZXh0c0pTT04iLCJjb250ZXh0c0pTT04iLCJtbmVtaWNDb250ZXh0c0Zyb21KU09OIiwicHJvY2VkdXJlIiwidGVybXMiLCJjYWxsIiwiY29udGV4dEJvdW5kZWRDb250ZXh0IiwiY29udGV4dE5vbWluYWxGaWxlQ29udGV4dCIsIk5vbWluYWxGaWxlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNENnQkE7ZUFBQUE7O1FBbUhBQztlQUFBQTs7UUFuRUFDO2VBQUFBOztRQXVGQUM7ZUFBQUE7O1FBdkhBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQVJBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQW9CQUM7ZUFBQUE7O1FBNEdBQztlQUFBQTs7UUF0TEFDO2VBQUFBOztRQWlIQUM7ZUFBQUE7O1FBOUhBQztlQUFBQTs7UUFxR0FDO2VBQUFBOztRQU9BQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBOERBQztlQUFBQTs7UUE1Q0FDO2VBQUFBOztRQXNEQUM7ZUFBQUE7OzsrREEzTVU7K0RBQ0E7K0RBQ0E7Z0VBQ0M7Z0VBQ0E7Z0VBQ0E7Z0VBQ0E7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBQ0M7aUVBQ0U7c0JBRXFHOzs7Ozs7QUFFN0gsU0FBU04sS0FBS08sYUFBYSxFQUFFLEdBQUdDLFFBQVE7SUFDN0NBLFdBQVdBLFNBQVNDLE1BQU0sQ0FBQyxDQUFDQztRQUMxQixJQUFJQSxZQUFZLE1BQU07WUFDcEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxNQUFNQyxrQkFBa0JDLGlCQUFlLENBQUNDLFlBQVksQ0FBQ0wsV0FDL0NFLFVBQVVDLGlCQUFrQixHQUFHO0lBRXJDLE9BQU9KLGNBQWNHO0FBQ3ZCO0FBRU8sU0FBU1osT0FBT1MsYUFBYTtJQUNsQyxJQUFJRztJQUVKLE1BQU1JLGlCQUFpQkMsZ0JBQWMsQ0FBQ0MsV0FBVztJQUVqRE4sVUFBVUksZ0JBQWdCLEdBQUc7SUFFN0IsTUFBTUcsaUJBQWlCQyxnQkFBYyxDQUFDRixXQUFXLENBQUNOO0lBRWxEQSxVQUFVTyxnQkFB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "1.0.949",
4
+ "version": "1.0.951",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -46,12 +46,12 @@ export function ablate(innerFunction, context) {
46
46
  const released = context.isReleased();
47
47
 
48
48
  if (!released) {
49
- let contextNominalFileContext = (context instanceof NominalFileContext);
49
+ let contextExtraneousContext = isContextExtraneousContext(context);
50
50
 
51
- while (!contextNominalFileContext) {
51
+ while (contextExtraneousContext) {
52
52
  context = context.getContext();
53
53
 
54
- contextNominalFileContext = (context instanceof NominalFileContext);
54
+ contextExtraneousContext = isContextExtraneousContext(context);
55
55
  }
56
56
  }
57
57
 
@@ -162,12 +162,12 @@ export function ablates(innerFunction, ...contexts) {
162
162
  const released = context.isReleased();
163
163
 
164
164
  if (!released) {
165
- let contextNominalFileContext = (context instanceof NominalFileContext);
165
+ let contextExtraneousContext = isContextExtraneousContext(context);
166
166
 
167
- while (!contextNominalFileContext) {
167
+ while (contextExtraneousContext) {
168
168
  context = context.getContext();
169
169
 
170
- contextNominalFileContext = (context instanceof NominalFileContext);
170
+ contextExtraneousContext = isContextExtraneousContext(context);
171
171
  }
172
172
  }
173
173
 
@@ -215,3 +215,11 @@ export function evaluate(procedure, terms) {
215
215
 
216
216
  return procedure.call(terms, context);
217
217
  }
218
+
219
+ function isContextExtraneousContext(context) {
220
+ const contextBoundedContext = (context instanceof BoundedContext),
221
+ contextNominalFileContext = (context instanceof NominalFileContext),
222
+ contextExtraneousContext = (!contextBoundedContext && !contextNominalFileContext);
223
+
224
+ return contextExtraneousContext;
225
+ }