diff --git a/lib/dust.js b/lib/dust.js index 7a664b43..8c3d1a16 100644 --- a/lib/dust.js +++ b/lib/dust.js @@ -328,12 +328,17 @@ this.options = options; this.blocks = blocks; this.templateName = templateName; + this._isContext = true; } dust.makeBase = dust.context = function(global, options) { return new Context(undefined, global, options); }; + dust.isContext = function(obj) { + return typeof obj === "object" && obj._isContext === true; + } + /** * Factory function that creates a closure scope around a Thenable-callback. * Returns a function that can be passed to a Thenable that will resume a @@ -347,8 +352,7 @@ } Context.wrap = function(context, name) { - if (context instanceof Context) { - context.templateName = name; + if (dust.isContext(context)) { return context; } return new Context(context, {}, {}, null, name);