diff --git a/js-assembler/runtime-src/baselib-format.js b/js-assembler/runtime-src/baselib-format.js index 752b444..de49eb6 100644 --- a/js-assembler/runtime-src/baselib-format.js +++ b/js-assembler/runtime-src/baselib-format.js @@ -209,9 +209,22 @@ this[k] = params[k]; } } - this.objectCounter = 0; + if (this.depth === undefined) { + this.depth = 0; + } + if (this.objectCounter === undefined) { + this.objectCounter = 0; + } }; + + ToDomNodeParameters.prototype.incrementDepth = function() { + return new ToDomNodeParameters({ mode : this.mode, + depth: this.depth + 1, + objectCounter: objectCounter }); + }; + + // getMode: -> (U "print" "display" "write") ToDomNodeParameters.prototype.getMode = function() { if (this.mode) { @@ -241,6 +254,10 @@ return this.cache.put(x, this.objectCounter); }; + ToDomNodeParameters.prototype.recur = function(x) { + return toDomNode(x, this.incrementDepth()); + }; + // rationalToDomNode: rational -> dom-node