occam-languages 2.2.47 → 2.2.50

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/context.js CHANGED
@@ -8,7 +8,9 @@ Object.defineProperty(exports, "default", {
8
8
  return Context;
9
9
  }
10
10
  });
11
+ const _necessary = require("necessary");
11
12
  const _constants = require("./constants");
13
+ const { isBoolean } = _necessary.jsonUtilities;
12
14
  class Context {
13
15
  constructor(context){
14
16
  this.context = context;
@@ -16,15 +18,29 @@ class Context {
16
18
  getContext() {
17
19
  return this.context;
18
20
  }
19
- commit() {
20
- const context = this; ///
21
- return context;
22
- }
23
21
  getDepth() {
24
22
  let depth = this.context.getDepth();
25
23
  depth++;
26
24
  return depth;
27
25
  }
26
+ commit(context, recursive = false) {
27
+ const contextBoolean = isBoolean(context);
28
+ if (contextBoolean) {
29
+ recursive = context; ///
30
+ context = undefined;
31
+ }
32
+ if (context === undefined) {
33
+ context = this.context;
34
+ }
35
+ this.merge(context);
36
+ if (recursive) {
37
+ context = context.commit(recursive);
38
+ }
39
+ return context;
40
+ }
41
+ merge(context) {
42
+ ///
43
+ }
28
44
  isReleased() {
29
45
  return this.context.isReleased();
30
46
  }
@@ -76,4 +92,4 @@ class Context {
76
92
  }
77
93
  }
78
94
 
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBET1VCTEVfU1BBQ0UsIFRSQUNFX0xFVkVMLCBERUJVR19MRVZFTCwgSU5GT19MRVZFTCwgRVJST1JfTEVWRUwsIFdBUk5JTkdfTEVWRUwgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgY29tbWl0KCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG5cbiAgZ2V0RGVwdGgoKSB7XG4gICAgbGV0IGRlcHRoID0gdGhpcy5jb250ZXh0LmdldERlcHRoKCk7XG5cbiAgICBkZXB0aCsrO1xuXG4gICAgcmV0dXJuIGRlcHRoO1xuICB9XG5cbiAgaXNSZWxlYXNlZCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5pc1JlbGVhc2VkKCk7IH1cblxuICBpc1VucmVsZWFzZWQoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNVbnJlbGVhc2VkKCk7IH1cblxuICBnZXRSZWxlYXNlQ29udGV4dCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRSZWxlYXNlQ29udGV4dCgpOyB9XG5cbiAgbm9kZXNBc1N0cmluZyhub2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQubm9kZXNBc1N0cmluZyhub2RlKTsgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpOyB9XG5cbiAgdHJhY2UobWVzc2FnZSkge1xuICAgIGNvbnN0IGxldmVsID0gVFJBQ0VfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgZGVidWcobWVzc2FnZSkge1xuICAgIGNvbnN0IGxldmVsID0gREVCVUdfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBJTkZPX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIHdhcm5pbmcobWVzc2FnZSkge1xuICAgIGNvbnN0IGxldmVsID0gV0FSTklOR19MRVZFTDtcblxuICAgIHRoaXMud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBFUlJPUl9MRVZFTDtcblxuICAgIHRoaXMud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICB3cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgZGVwdGggPSB0aGlzLmdldERlcHRoKCksXG4gICAgICAgICAgaW5kZW50ID0gRE9VQkxFX1NQQUNFLnJlcGVhdChkZXB0aCk7XG5cbiAgICBtZXNzYWdlID0gYCR7aW5kZW50fSR7bWVzc2FnZX1gOyAgLy8vXG5cbiAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHRoaXMuZ2V0UmVsZWFzZUNvbnRleHQoKTtcblxuICAgIHJlbGVhc2VDb250ZXh0LndyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgYnJlYWsobm9kZSwgYnJlYWtQb2ludCwgY29udGludW5hdGlvbikgeyByZXR1cm4gdGhpcy5jb250ZXh0LmJyZWFrKG5vZGUsIGJyZWFrUG9pbnQsIGNvbnRpbnVuYXRpb24pOyB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKENsYXNzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGNvbnRleHQgPSBuZXcgQ2xhc3MoY29udGV4dCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTsgIC8vL1xuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb250ZXh0IiwiY29udGV4dCIsImdldENvbnRleHQiLCJjb21taXQiLCJnZXREZXB0aCIsImRlcHRoIiwiaXNSZWxlYXNlZCIsImlzVW5yZWxlYXNlZCIsImdldFJlbGVhc2VDb250ZXh0Iiwibm9kZXNBc1N0cmluZyIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm1lc3NhZ2UiLCJsZXZlbCIsIlRSQUNFX0xFVkVMIiwid3JpdGVUb0xvZyIsImRlYnVnIiwiREVCVUdfTEVWRUwiLCJpbmZvIiwiSU5GT19MRVZFTCIsIndhcm5pbmciLCJXQVJOSU5HX0xFVkVMIiwiZXJyb3IiLCJFUlJPUl9MRVZFTCIsImluZGVudCIsIkRPVUJMRV9TUEFDRSIsInJlcGVhdCIsInJlbGVhc2VDb250ZXh0IiwiYnJlYWsiLCJicmVha1BvaW50IiwiY29udGludW5hdGlvbiIsImZyb21Ob3RoaW5nIiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJwb3AiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7MkJBRjBFO0FBRWhGLE1BQU1BO0lBQ25CLFlBQVlDLE9BQU8sQ0FBRTtRQUNuQixJQUFJLENBQUNBLE9BQU8sR0FBR0E7SUFDakI7SUFFQUMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDRCxPQUFPO0lBQ3JCO0lBRUFFLFNBQVM7UUFDUCxNQUFNRixVQUFVLElBQUksRUFBRSxHQUFHO1FBRXpCLE9BQU9BO0lBQ1Q7SUFFQUcsV0FBVztRQUNULElBQUlDLFFBQVEsSUFBSSxDQUFDSixPQUFPLENBQUNHLFFBQVE7UUFFakNDO1FBRUEsT0FBT0E7SUFDVDtJQUVBQyxhQUFhO1FBQUUsT0FBTyxJQUFJLENBQUNMLE9BQU8sQ0FBQ0ssVUFBVTtJQUFJO0lBRWpEQyxlQUFlO1FBQUUsT0FBTyxJQUFJLENBQUNOLE9BQU8sQ0FBQ00sWUFBWTtJQUFJO0lBRXJEQyxvQkFBb0I7UUFBRSxPQUFPLElBQUksQ0FBQ1AsT0FBTyxDQUFDTyxpQkFBaUI7SUFBSTtJQUUvREMsY0FBY0MsSUFBSSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUNULE9BQU8sQ0FBQ1EsYUFBYSxDQUFDQztJQUFPO0lBRS9EQyxhQUFhRCxJQUFJLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQ1QsT0FBTyxDQUFDVSxZQUFZLENBQUNEO0lBQU87SUFFN0RFLE1BQU1DLE9BQU8sRUFBRTtRQUNiLE1BQU1DLFFBQVFDLHNCQUFXO1FBRXpCLElBQUksQ0FBQ0MsVUFBVSxDQUFDRixPQUFPRDtJQUN6QjtJQUVBSSxNQUFNSixPQUFPLEVBQUU7UUFDYixNQUFNQyxRQUFRSSxzQkFBVztRQUV6QixJQUFJLENBQUNGLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQU0sS0FBS04sT0FBTyxFQUFFO1FBQ1osTUFBTUMsUUFBUU0scUJBQVU7UUFFeEIsSUFBSSxDQUFDSixVQUFVLENBQUNGLE9BQU9EO0lBQ3pCO0lBRUFRLFFBQVFSLE9BQU8sRUFBRTtRQUNmLE1BQU1DLFFBQVFRLHdCQUFhO1FBRTNCLElBQUksQ0FBQ04sVUFBVSxDQUFDRixPQUFPRDtJQUN6QjtJQUVBVSxNQUFNVixPQUFPLEVBQUU7UUFDYixNQUFNQyxRQUFRVSxzQkFBVztRQUV6QixJQUFJLENBQUNSLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQUcsV0FBV0YsS0FBSyxFQUFFRCxPQUFPLEVBQUU7UUFDekIsTUFBTVIsUUFBUSxJQUFJLENBQUNELFFBQVEsSUFDckJxQixTQUFTQyx1QkFBWSxDQUFDQyxNQUFNLENBQUN0QjtRQUVuQ1EsVUFBVSxHQUFHWSxTQUFTWixTQUFTLEVBQUcsR0FBRztRQUVyQyxNQUFNZSxpQkFBaUIsSUFBSSxDQUFDcEIsaUJBQWlCO1FBRTdDb0IsZUFBZVosVUFBVSxDQUFDRixPQUFPRDtJQUNuQztJQUVBZ0IsTUFBTW5CLElBQUksRUFBRW9CLFVBQVUsRUFBRUMsYUFBYSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUM5QixPQUFPLENBQUM0QixLQUFLLENBQUNuQixNQUFNb0IsWUFBWUM7SUFBZ0I7SUFFckcsT0FBT0MsWUFBWUMsS0FBSyxFQUFFLEdBQUdDLGtCQUFrQixFQUFFO1FBQy9DLElBQUlqQyxVQUFVaUMsbUJBQW1CQyxHQUFHO1FBRXBDbEMsVUFBVSxJQUFJZ0MsTUFBTWhDLFlBQVlpQyxxQkFBc0IsR0FBRztRQUV6RCxPQUFPakM7SUFDVDtBQUNGIn0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBqc29uVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBET1VCTEVfU1BBQ0UsIFRSQUNFX0xFVkVMLCBERUJVR19MRVZFTCwgSU5GT19MRVZFTCwgRVJST1JfTEVWRUwsIFdBUk5JTkdfTEVWRUwgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBpc0Jvb2xlYW4gfSA9IGpzb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGdldERlcHRoKCkge1xuICAgIGxldCBkZXB0aCA9IHRoaXMuY29udGV4dC5nZXREZXB0aCgpO1xuXG4gICAgZGVwdGgrKztcblxuICAgIHJldHVybiBkZXB0aDtcbiAgfVxuXG4gIGNvbW1pdChjb250ZXh0LCByZWN1cnNpdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IGNvbnRleHRCb29sZWFuID0gaXNCb29sZWFuKGNvbnRleHQpO1xuXG4gICAgaWYgKGNvbnRleHRCb29sZWFuKSB7XG4gICAgICByZWN1cnNpdmUgPSBjb250ZXh0OyAgLy8vXG5cbiAgICAgIGNvbnRleHQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29udGV4dCA9IHRoaXMuY29udGV4dDtcbiAgICB9XG5cbiAgICB0aGlzLm1lcmdlKGNvbnRleHQpO1xuXG4gICAgaWYgKHJlY3Vyc2l2ZSkge1xuICAgICAgY29udGV4dCA9IGNvbnRleHQuY29tbWl0KHJlY3Vyc2l2ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cblxuICBtZXJnZShjb250ZXh0KSB7XG4gICAgLy8vXG4gIH1cblxuICBpc1JlbGVhc2VkKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmlzUmVsZWFzZWQoKTsgfVxuXG4gIGlzVW5yZWxlYXNlZCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5pc1VucmVsZWFzZWQoKTsgfVxuXG4gIGdldFJlbGVhc2VDb250ZXh0KCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldFJlbGVhc2VDb250ZXh0KCk7IH1cblxuICBub2Rlc0FzU3RyaW5nKG5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5ub2Rlc0FzU3RyaW5nKG5vZGUpOyB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBUUkFDRV9MRVZFTDtcblxuICAgIHRoaXMud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBERUJVR19MRVZFTDtcblxuICAgIHRoaXMud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICBpbmZvKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBsZXZlbCA9IElORk9fTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBXQVJOSU5HX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBsZXZlbCA9IEVSUk9SX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIHdyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpIHtcbiAgICBjb25zdCBkZXB0aCA9IHRoaXMuZ2V0RGVwdGgoKSxcbiAgICAgICAgICBpbmRlbnQgPSBET1VCTEVfU1BBQ0UucmVwZWF0KGRlcHRoKTtcblxuICAgIG1lc3NhZ2UgPSBgJHtpbmRlbnR9JHttZXNzYWdlfWA7ICAvLy9cblxuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gdGhpcy5nZXRSZWxlYXNlQ29udGV4dCgpO1xuXG4gICAgcmVsZWFzZUNvbnRleHQud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICBicmVhayhub2RlLCBicmVha1BvaW50LCBjb250aW51bmF0aW9uKSB7IHJldHVybiB0aGlzLmNvbnRleHQuYnJlYWsobm9kZSwgYnJlYWtQb2ludCwgY29udGludW5hdGlvbik7IH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgY29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpOyAgLy8vXG5cbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbnRleHQiLCJpc0Jvb2xlYW4iLCJqc29uVXRpbGl0aWVzIiwiY29udGV4dCIsImdldENvbnRleHQiLCJnZXREZXB0aCIsImRlcHRoIiwiY29tbWl0IiwicmVjdXJzaXZlIiwiY29udGV4dEJvb2xlYW4iLCJ1bmRlZmluZWQiLCJtZXJnZSIsImlzUmVsZWFzZWQiLCJpc1VucmVsZWFzZWQiLCJnZXRSZWxlYXNlQ29udGV4dCIsIm5vZGVzQXNTdHJpbmciLCJub2RlIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXNzYWdlIiwibGV2ZWwiLCJUUkFDRV9MRVZFTCIsIndyaXRlVG9Mb2ciLCJkZWJ1ZyIsIkRFQlVHX0xFVkVMIiwiaW5mbyIsIklORk9fTEVWRUwiLCJ3YXJuaW5nIiwiV0FSTklOR19MRVZFTCIsImVycm9yIiwiRVJST1JfTEVWRUwiLCJpbmRlbnQiLCJET1VCTEVfU1BBQ0UiLCJyZXBlYXQiLCJyZWxlYXNlQ29udGV4dCIsImJyZWFrIiwiYnJlYWtQb2ludCIsImNvbnRpbnVuYXRpb24iLCJmcm9tTm90aGluZyIsIkNsYXNzIiwicmVtYWluaW5nQXJndW1lbnRzIiwicG9wIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXFCQTs7OzJCQU5TOzJCQUVpRTtBQUUvRixNQUFNLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyx3QkFBYTtBQUVwQixNQUFNRjtJQUNuQixZQUFZRyxPQUFPLENBQUU7UUFDbkIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQ0QsT0FBTztJQUNyQjtJQUVBRSxXQUFXO1FBQ1QsSUFBSUMsUUFBUSxJQUFJLENBQUNILE9BQU8sQ0FBQ0UsUUFBUTtRQUVqQ0M7UUFFQSxPQUFPQTtJQUNUO0lBRUFDLE9BQU9KLE9BQU8sRUFBRUssWUFBWSxLQUFLLEVBQUU7UUFDakMsTUFBTUMsaUJBQWlCUixVQUFVRTtRQUVqQyxJQUFJTSxnQkFBZ0I7WUFDbEJELFlBQVlMLFNBQVUsR0FBRztZQUV6QkEsVUFBVU87UUFDWjtRQUVBLElBQUlQLFlBQVlPLFdBQVc7WUFDekJQLFVBQVUsSUFBSSxDQUFDQSxPQUFPO1FBQ3hCO1FBRUEsSUFBSSxDQUFDUSxLQUFLLENBQUNSO1FBRVgsSUFBSUssV0FBVztZQUNiTCxVQUFVQSxRQUFRSSxNQUFNLENBQUNDO1FBQzNCO1FBRUEsT0FBT0w7SUFDVDtJQUVBUSxNQUFNUixPQUFPLEVBQUU7SUFDYixHQUFHO0lBQ0w7SUFFQVMsYUFBYTtRQUFFLE9BQU8sSUFBSSxDQUFDVCxPQUFPLENBQUNTLFVBQVU7SUFBSTtJQUVqREMsZUFBZTtRQUFFLE9BQU8sSUFBSSxDQUFDVixPQUFPLENBQUNVLFlBQVk7SUFBSTtJQUVyREMsb0JBQW9CO1FBQUUsT0FBTyxJQUFJLENBQUNYLE9BQU8sQ0FBQ1csaUJBQWlCO0lBQUk7SUFFL0RDLGNBQWNDLElBQUksRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDYixPQUFPLENBQUNZLGFBQWEsQ0FBQ0M7SUFBTztJQUUvREMsYUFBYUQsSUFBSSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUNiLE9BQU8sQ0FBQ2MsWUFBWSxDQUFDRDtJQUFPO0lBRTdERSxNQUFNQyxPQUFPLEVBQUU7UUFDYixNQUFNQyxRQUFRQyxzQkFBVztRQUV6QixJQUFJLENBQUNDLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQUksTUFBTUosT0FBTyxFQUFFO1FBQ2IsTUFBTUMsUUFBUUksc0JBQVc7UUFFekIsSUFBSSxDQUFDRixVQUFVLENBQUNGLE9BQU9EO0lBQ3pCO0lBRUFNLEtBQUtOLE9BQU8sRUFBRTtRQUNaLE1BQU1DLFFBQVFNLHFCQUFVO1FBRXhCLElBQUksQ0FBQ0osVUFBVSxDQUFDRixPQUFPRDtJQUN6QjtJQUVBUSxRQUFRUixPQUFPLEVBQUU7UUFDZixNQUFNQyxRQUFRUSx3QkFBYTtRQUUzQixJQUFJLENBQUNOLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQVUsTUFBTVYsT0FBTyxFQUFFO1FBQ2IsTUFBTUMsUUFBUVUsc0JBQVc7UUFFekIsSUFBSSxDQUFDUixVQUFVLENBQUNGLE9BQU9EO0lBQ3pCO0lBRUFHLFdBQVdGLEtBQUssRUFBRUQsT0FBTyxFQUFFO1FBQ3pCLE1BQU1iLFFBQVEsSUFBSSxDQUFDRCxRQUFRLElBQ3JCMEIsU0FBU0MsdUJBQVksQ0FBQ0MsTUFBTSxDQUFDM0I7UUFFbkNhLFVBQVUsR0FBR1ksU0FBU1osU0FBUyxFQUFHLEdBQUc7UUFFckMsTUFBTWUsaUJBQWlCLElBQUksQ0FBQ3BCLGlCQUFpQjtRQUU3Q29CLGVBQWVaLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDbkM7SUFFQWdCLE1BQU1uQixJQUFJLEVBQUVvQixVQUFVLEVBQUVDLGFBQWEsRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDbEMsT0FBTyxDQUFDZ0MsS0FBSyxDQUFDbkIsTUFBTW9CLFlBQVlDO0lBQWdCO0lBRXJHLE9BQU9DLFlBQVlDLEtBQUssRUFBRSxHQUFHQyxrQkFBa0IsRUFBRTtRQUMvQyxJQUFJckMsVUFBVXFDLG1CQUFtQkMsR0FBRztRQUVwQ3RDLFVBQVUsSUFBSW9DLE1BQU1wQyxZQUFZcUMscUJBQXNCLEdBQUc7UUFFekQsT0FBT3JDO0lBQ1Q7QUFDRiJ9
package/lib/element.js CHANGED
@@ -46,7 +46,8 @@ class Element {
46
46
  this.breakPoint = breakPoint;
47
47
  }
48
48
  commit(context) {
49
- context = context.commit(); ///
49
+ const recursive = true;
50
+ context = context.commit(recursive); ///
50
51
  this.context = context;
51
52
  }
52
53
  break(context, continuation) {
@@ -60,4 +61,4 @@ class Element {
60
61
  }
61
62
  }
62
63
 
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYnJlYWtQb2ludCBmcm9tIFwiLi91dGlsaXRpZXMvYnJlYWtQb2ludFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMuYnJlYWtQb2ludCA9IGJyZWFrUG9pbnQ7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0QnJlYWtQb2ludCgpIHtcbiAgICByZXR1cm4gdGhpcy5icmVha1BvaW50O1xuICB9XG5cbiAgc2V0Q29udGV4dChjb250ZXh0KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgfVxuXG4gIHNldFN0cmluZyhzdHJpbmcpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgfVxuXG4gIHNldE5vZGUobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cblxuICBzZXRCcmVha1BvaW50KGJyZWFrUG9pbnQpIHtcbiAgICB0aGlzLmJyZWFrUG9pbnQgPSBicmVha1BvaW50O1xuICB9XG5cbiAgY29tbWl0KGNvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gY29udGV4dC5jb21taXQoKTsgLy8vXG5cbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB9XG5cbiAgYnJlYWsoY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgcmV0dXJuIGNvbnRleHQuYnJlYWsodGhpcy5ub2RlLCB0aGlzLmJyZWFrUG9pbnQsIChicmVha1BvaW50KSA9PiB7XG4gICAgICB0aGlzLmJyZWFrUG9pbnQgPSBicmVha1BvaW50O1xuXG4gICAgICByZXR1cm4gY29udGludWF0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICBtYXRjaE5vZGUobm9kZSkgeyByZXR1cm4gdGhpcy5ub2RlLm1hdGNoKG5vZGUpOyB9XG59XG4iXSwibmFtZXMiOlsiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsImdldENvbnRleHQiLCJnZXRTdHJpbmciLCJnZXROb2RlIiwiZ2V0QnJlYWtQb2ludCIsInNldENvbnRleHQiLCJzZXRTdHJpbmciLCJzZXROb2RlIiwic2V0QnJlYWtQb2ludCIsImNvbW1pdCIsImJyZWFrIiwiY29udGludWF0aW9uIiwibWF0Y2hOb2RlIiwibWF0Y2giXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7bUVBRkU7Ozs7OztBQUVSLE1BQU1BO0lBQ25CLFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsQ0FBRTtRQUM3QyxJQUFJLENBQUNILE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSixPQUFPO0lBQ3JCO0lBRUFLLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0osTUFBTTtJQUNwQjtJQUVBSyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNKLElBQUk7SUFDbEI7SUFFQUssZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNKLFVBQVU7SUFDeEI7SUFFQUssV0FBV1IsT0FBTyxFQUFFO1FBQ2xCLElBQUksQ0FBQ0EsT0FBTyxHQUFHQTtJQUNqQjtJQUVBUyxVQUFVUixNQUFNLEVBQUU7UUFDaEIsSUFBSSxDQUFDQSxNQUFNLEdBQUdBO0lBQ2hCO0lBRUFTLFFBQVFSLElBQUksRUFBRTtRQUNaLElBQUksQ0FBQ0EsSUFBSSxHQUFHQTtJQUNkO0lBRUFTLGNBQWNSLFVBQVUsRUFBRTtRQUN4QixJQUFJLENBQUNBLFVBQVUsR0FBR0E7SUFDcEI7SUFFQVMsT0FBT1osT0FBTyxFQUFFO1FBQ2RBLFVBQVVBLFFBQVFZLE1BQU0sSUFBSSxHQUFHO1FBRS9CLElBQUksQ0FBQ1osT0FBTyxHQUFHQTtJQUNqQjtJQUVBYSxNQUFNYixPQUFPLEVBQUVjLFlBQVksRUFBRTtRQUMzQixPQUFPZCxRQUFRYSxLQUFLLENBQUMsSUFBSSxDQUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDQyxVQUFVLEVBQUUsQ0FBQ0E7WUFDaEQsSUFBSSxDQUFDQSxVQUFVLEdBQUdBO1lBRWxCLE9BQU9XO1FBQ1Q7SUFDRjtJQUVBQyxVQUFVYixJQUFJLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQ0EsSUFBSSxDQUFDYyxLQUFLLENBQUNkO0lBQU87QUFDbEQifQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYnJlYWtQb2ludCBmcm9tIFwiLi91dGlsaXRpZXMvYnJlYWtQb2ludFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMuYnJlYWtQb2ludCA9IGJyZWFrUG9pbnQ7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0QnJlYWtQb2ludCgpIHtcbiAgICByZXR1cm4gdGhpcy5icmVha1BvaW50O1xuICB9XG5cbiAgc2V0Q29udGV4dChjb250ZXh0KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgfVxuXG4gIHNldFN0cmluZyhzdHJpbmcpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgfVxuXG4gIHNldE5vZGUobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cblxuICBzZXRCcmVha1BvaW50KGJyZWFrUG9pbnQpIHtcbiAgICB0aGlzLmJyZWFrUG9pbnQgPSBicmVha1BvaW50O1xuICB9XG5cbiAgY29tbWl0KGNvbnRleHQpIHtcbiAgICBjb25zdCByZWN1cnNpdmUgPSB0cnVlO1xuXG4gICAgY29udGV4dCA9IGNvbnRleHQuY29tbWl0KHJlY3Vyc2l2ZSk7ICAvLy9cblxuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICBicmVhayhjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICByZXR1cm4gY29udGV4dC5icmVhayh0aGlzLm5vZGUsIHRoaXMuYnJlYWtQb2ludCwgKGJyZWFrUG9pbnQpID0+IHtcbiAgICAgIHRoaXMuYnJlYWtQb2ludCA9IGJyZWFrUG9pbnQ7XG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hdGNoTm9kZShub2RlKSB7IHJldHVybiB0aGlzLm5vZGUubWF0Y2gobm9kZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiZ2V0Q29udGV4dCIsImdldFN0cmluZyIsImdldE5vZGUiLCJnZXRCcmVha1BvaW50Iiwic2V0Q29udGV4dCIsInNldFN0cmluZyIsInNldE5vZGUiLCJzZXRCcmVha1BvaW50IiwiY29tbWl0IiwicmVjdXJzaXZlIiwiYnJlYWsiLCJjb250aW51YXRpb24iLCJtYXRjaE5vZGUiLCJtYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OzttRUFGRTs7Ozs7O0FBRVIsTUFBTUE7SUFDbkIsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxDQUFFO1FBQzdDLElBQUksQ0FBQ0gsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNKLE9BQU87SUFDckI7SUFFQUssWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDSixNQUFNO0lBQ3BCO0lBRUFLLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0osSUFBSTtJQUNsQjtJQUVBSyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0osVUFBVTtJQUN4QjtJQUVBSyxXQUFXUixPQUFPLEVBQUU7UUFDbEIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFTLFVBQVVSLE1BQU0sRUFBRTtRQUNoQixJQUFJLENBQUNBLE1BQU0sR0FBR0E7SUFDaEI7SUFFQVMsUUFBUVIsSUFBSSxFQUFFO1FBQ1osSUFBSSxDQUFDQSxJQUFJLEdBQUdBO0lBQ2Q7SUFFQVMsY0FBY1IsVUFBVSxFQUFFO1FBQ3hCLElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtJQUNwQjtJQUVBUyxPQUFPWixPQUFPLEVBQUU7UUFDZCxNQUFNYSxZQUFZO1FBRWxCYixVQUFVQSxRQUFRWSxNQUFNLENBQUNDLFlBQWEsR0FBRztRQUV6QyxJQUFJLENBQUNiLE9BQU8sR0FBR0E7SUFDakI7SUFFQWMsTUFBTWQsT0FBTyxFQUFFZSxZQUFZLEVBQUU7UUFDM0IsT0FBT2YsUUFBUWMsS0FBSyxDQUFDLElBQUksQ0FBQ1osSUFBSSxFQUFFLElBQUksQ0FBQ0MsVUFBVSxFQUFFLENBQUNBO1lBQ2hELElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtZQUVsQixPQUFPWTtRQUNUO0lBQ0Y7SUFFQUMsVUFBVWQsSUFBSSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUNBLElBQUksQ0FBQ2UsS0FBSyxDQUFDZjtJQUFPO0FBQ2xEIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-languages",
3
3
  "author": "James Smith",
4
- "version": "2.2.47",
4
+ "version": "2.2.50",
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/context.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ import { jsonUtilities } from "necessary";
4
+
3
5
  import { DOUBLE_SPACE, TRACE_LEVEL, DEBUG_LEVEL, INFO_LEVEL, ERROR_LEVEL, WARNING_LEVEL } from "./constants";
4
6
 
7
+ const { isBoolean } = jsonUtilities;
8
+
5
9
  export default class Context {
6
10
  constructor(context) {
7
11
  this.context = context;
@@ -11,12 +15,6 @@ export default class Context {
11
15
  return this.context;
12
16
  }
13
17
 
14
- commit() {
15
- const context = this; ///
16
-
17
- return context;
18
- }
19
-
20
18
  getDepth() {
21
19
  let depth = this.context.getDepth();
22
20
 
@@ -25,6 +23,32 @@ export default class Context {
25
23
  return depth;
26
24
  }
27
25
 
26
+ commit(context, recursive = false) {
27
+ const contextBoolean = isBoolean(context);
28
+
29
+ if (contextBoolean) {
30
+ recursive = context; ///
31
+
32
+ context = undefined;
33
+ }
34
+
35
+ if (context === undefined) {
36
+ context = this.context;
37
+ }
38
+
39
+ this.merge(context);
40
+
41
+ if (recursive) {
42
+ context = context.commit(recursive);
43
+ }
44
+
45
+ return context;
46
+ }
47
+
48
+ merge(context) {
49
+ ///
50
+ }
51
+
28
52
  isReleased() { return this.context.isReleased(); }
29
53
 
30
54
  isUnreleased() { return this.context.isUnreleased(); }
package/src/element.js CHANGED
@@ -43,7 +43,9 @@ export default class Element {
43
43
  }
44
44
 
45
45
  commit(context) {
46
- context = context.commit(); ///
46
+ const recursive = true;
47
+
48
+ context = context.commit(recursive); ///
47
49
 
48
50
  this.context = context;
49
51
  }