marko 5.33.3 → 5.33.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/dist/runtime/helpers/tags-compat/dom-debug.js +1 -0
  2. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +3 -0
  3. package/dist/runtime/helpers/tags-compat/dom.js +1 -0
  4. package/dist/runtime/helpers/tags-compat/dom.mjs +3 -0
  5. package/dist/runtime/helpers/tags-compat/html-debug.js +3 -0
  6. package/dist/runtime/helpers/tags-compat/html-debug.mjs +3 -0
  7. package/dist/runtime/helpers/tags-compat/html.js +1 -0
  8. package/dist/runtime/helpers/tags-compat/html.mjs +3 -0
  9. package/dist/runtime/helpers/tags-compat/runtime-dom.js +231 -0
  10. package/dist/runtime/helpers/tags-compat/runtime-html.js +171 -0
  11. package/dist/runtime/html/AsyncStream.js +12 -12
  12. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  13. package/dist/runtime/html/helpers/attr.js +3 -3
  14. package/dist/runtime/html/helpers/data-marko.js +1 -1
  15. package/dist/runtime/html/helpers/escape-quotes.js +1 -1
  16. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  17. package/dist/runtime/renderable.js +3 -3
  18. package/dist/runtime/vdom/AsyncVDOMBuilder.js +67 -67
  19. package/dist/runtime/vdom/VComponent.js +3 -3
  20. package/dist/runtime/vdom/VDocumentFragment.js +7 -7
  21. package/dist/runtime/vdom/VElement.js +35 -35
  22. package/dist/runtime/vdom/VFragment.js +5 -5
  23. package/dist/runtime/vdom/VNode.js +30 -30
  24. package/dist/runtime/vdom/VText.js +8 -8
  25. package/dist/runtime/vdom/helpers/const-element.js +3 -3
  26. package/dist/runtime/vdom/hot-reload.js +2 -2
  27. package/dist/runtime/vdom/morphdom/fragment.js +3 -3
  28. package/dist/runtime/vdom/morphdom/helpers.js +1 -1
  29. package/dist/runtime/vdom/morphdom/index.js +31 -31
  30. package/dist/runtime/vdom/vdom.js +14 -14
  31. package/package.json +4 -4
  32. package/src/runtime/helpers/tags-compat/dom-debug.js +1 -0
  33. package/src/runtime/helpers/tags-compat/dom-debug.mjs +3 -0
  34. package/src/runtime/helpers/tags-compat/dom.js +1 -0
  35. package/src/runtime/helpers/tags-compat/dom.mjs +3 -0
  36. package/src/runtime/helpers/tags-compat/html-debug.js +3 -0
  37. package/src/runtime/helpers/tags-compat/html-debug.mjs +3 -0
  38. package/src/runtime/helpers/tags-compat/html.js +1 -0
  39. package/src/runtime/helpers/tags-compat/html.mjs +3 -0
  40. package/src/runtime/helpers/tags-compat/runtime-dom.js +231 -0
  41. package/src/runtime/helpers/tags-compat/runtime-html.js +171 -0
  42. package/dist/runtime/helpers/tags-compat-dom.js +0 -276
  43. package/dist/runtime/helpers/tags-compat-html.js +0 -172
  44. package/src/runtime/helpers/tags-compat-dom.js +0 -276
  45. package/src/runtime/helpers/tags-compat-html.js +0 -172
@@ -0,0 +1 @@
1
+ "use strict";require("./runtime-dom.js").p(require("@marko/runtime-tags/debug/dom").compat);
@@ -0,0 +1,3 @@
1
+ import { compat } from "@marko/runtime-tags/debug/dom";
2
+ import { p } from "./runtime-dom.js";
3
+ p(compat);
@@ -0,0 +1 @@
1
+ "use strict";require("./runtime-dom.js").p(require("@marko/runtime-tags/dom").compat);
@@ -0,0 +1,3 @@
1
+ import { compat } from "@marko/runtime-tags/dom";
2
+ import { p } from "./runtime-dom.js";
3
+ p(compat);
@@ -0,0 +1,3 @@
1
+ "use strict";exports.s = require("./runtime-html.js").p(
2
+ require("@marko/runtime-tags/debug/html")
3
+ );
@@ -0,0 +1,3 @@
1
+ import * as api from "@marko/runtime-tags/debug/html";
2
+ import { p } from "./runtime-html.js";
3
+ export const s = p(api);
@@ -0,0 +1 @@
1
+ "use strict";exports.s = require("./runtime-html.js").p(require("@marko/runtime-tags/html"));
@@ -0,0 +1,3 @@
1
+ import * as api from "@marko/runtime-tags/html";
2
+ import { p } from "./runtime-html.js";
3
+ export const s = p(api);
@@ -0,0 +1,231 @@
1
+ "use strict";const { _i_ } = require("@internal/components-util");
2
+ const {
3
+ R_
4
+ } = require("../../components/ComponentsContext");
5
+ const defineComponent = require("../../components/defineComponent");
6
+ const { r: registerComponent } = require("../../components/registry");
7
+ const createRenderer = require("../../components/renderer");
8
+ const defaultCreateOut = require("../../createOut");
9
+ const morphdom = require("../../vdom/morphdom");
10
+ const { _h_ } = require("../../vdom/morphdom/fragment");
11
+ const dynamicTag = require("../dynamic-tag");
12
+
13
+ exports.p = function (domCompat) {
14
+ dynamicTag.bk_ = function tagsToVdom(
15
+ renderer,
16
+ renderBody,
17
+ args)
18
+ {
19
+ const tagsRenderer = domCompat.resolveRenderer(renderer || renderBody);
20
+
21
+ if (tagsRenderer) {
22
+ return (input, out) =>
23
+ TagsCompat({ i: args ? args : input, r: tagsRenderer }, out);
24
+ }
25
+
26
+ return renderer;
27
+ };
28
+
29
+ const TagsCompatId = "tags-compat";
30
+ const TagsCompat = createRenderer(
31
+ function (_, out, componentDef, component) {
32
+ const isHydrate =
33
+ R_(out).o_._W_;
34
+ const input = Array.isArray(_.i) ? _.i : [_.i];
35
+ const tagsRenderer = domCompat.resolveRenderer(_.r);
36
+ const newNode = domCompat.render(
37
+ isHydrate,
38
+ out,
39
+ component,
40
+ tagsRenderer,
41
+ input
42
+ );
43
+
44
+ out.bf(out._Y_, component, !newNode);
45
+ if (newNode) {
46
+ out.node({ bl_: () => newNode });
47
+ }
48
+ out.ef();
49
+ },
50
+ // eslint-disable-next-line no-constant-condition
51
+
52
+
53
+
54
+
55
+
56
+ {
57
+ t: TagsCompatId
58
+ },
59
+ {}
60
+ );
61
+
62
+ registerComponent(TagsCompatId, () => ({
63
+ _: TagsCompat,
64
+ Component: defineComponent(
65
+ {
66
+ onMount: domCompat.runComponentEffects,
67
+ onUpdate: domCompat.runComponentEffects
68
+ },
69
+ TagsCompat
70
+ )
71
+ }));
72
+
73
+ // (
74
+ // nodeAccessor: Accessor,
75
+ // dynamicTagAttrs?: IntersectionSignal,
76
+ // intersection?: IntersectionSignal,
77
+ // valueWithIntersection?: ValueSignal
78
+ // )
79
+
80
+ const rendererCache = new WeakMap();
81
+
82
+ domCompat.patchConditionals((conditional) => (...args) => {
83
+ const signal = conditional(...args);
84
+ const hasAttrs = args.length > 1;
85
+ return (scope, renderer, clean) => {
86
+ return signal(scope, create5to6Renderer(renderer, hasAttrs), clean);
87
+ };
88
+ });
89
+
90
+ function create5to6Renderer(renderer, hasAttrs) {
91
+ let newRenderer = renderer;
92
+ if (renderer && typeof renderer !== "string") {
93
+ const rendererFromAnywhere =
94
+ renderer._ ||
95
+ renderer.render ||
96
+ renderer.renderer && renderer.renderer.renderer ||
97
+ renderer.renderer;
98
+
99
+ if (!domCompat.isRenderer(rendererFromAnywhere || renderer)) {
100
+ newRenderer = rendererCache.get(renderer);
101
+ if (!newRenderer) {
102
+ const { Component } = renderer;
103
+ if (Component) {
104
+ const setCustomEvents = Component.prototype.aB_;
105
+ Component.prototype.aB_ = function (
106
+ customEvents,
107
+ scopeId)
108
+ {
109
+ for (const customEvent of customEvents) {
110
+ customEvent[1] = domCompat.resolveRenderer(customEvent[1]);
111
+ }
112
+
113
+ setCustomEvents.call(this, customEvents, scopeId);
114
+ };
115
+ }
116
+ newRenderer = domCompat.createRenderer(
117
+ (scope) => {
118
+ if (!hasAttrs) {
119
+ renderAndMorph(scope, rendererFromAnywhere, renderer, {});
120
+ }
121
+ },
122
+ () => {
123
+ const realFragment = document.createDocumentFragment();
124
+ _h_(null, null, realFragment);
125
+ return realFragment;
126
+ },
127
+ (scope, input, clean) => {
128
+ if (clean) return;
129
+ renderAndMorph(scope, rendererFromAnywhere, renderer, input);
130
+ }
131
+ );
132
+ rendererCache.set(renderer, newRenderer);
133
+ }
134
+ }
135
+ }
136
+ return newRenderer;
137
+ }
138
+
139
+ domCompat.register("@marko/tags-compat-5-to-6", create5to6Renderer);
140
+
141
+ function renderAndMorph(scope, renderer, renderBody, input) {
142
+ const out = defaultCreateOut();
143
+ let host = domCompat.getStartNode(scope);
144
+ let rootNode = host.fragment;
145
+ if (!rootNode) {
146
+ const component = scope.marko5Component = _i_[scope.m5c];
147
+ rootNode = component._A_;
148
+ host = rootNode.startNode;
149
+ domCompat.setScopeNodes(host, rootNode.endNode);
150
+ }
151
+ const existingComponent = scope.marko5Component;
152
+ const componentsContext = R_(out);
153
+ const globalComponentsContext = componentsContext.o_;
154
+ let customEvents;
155
+ globalComponentsContext.ax_ = existingComponent;
156
+ out.sync();
157
+ if (renderer) {
158
+ const [rawInput] = input;
159
+ const normalizedInput = {};
160
+
161
+ for (const key in rawInput) {
162
+ let value = rawInput[key];
163
+ if (key.startsWith("on")) {
164
+ const c = key[2];
165
+ customEvents = customEvents || {};
166
+ customEvents[(c === "-" ? "" : c.toLowerCase()) + key.slice(3)] = [
167
+ value];
168
+
169
+ } else {
170
+ normalizedInput[key] = rawInput[key];
171
+ }
172
+ }
173
+
174
+ renderer(normalizedInput, out);
175
+ } else {
176
+ RenderBodyComponent({ renderBody, args: input }, out);
177
+ }
178
+
179
+ domCompat.queueEffect(scope, () => {
180
+ const targetNode = out.af_().ay_;
181
+ morphdom(rootNode, targetNode, host, componentsContext);
182
+ const componentDefs = componentsContext.ad_(
183
+ getRootNode(host)
184
+ );
185
+ const component = componentDefs[0].r_;
186
+ component._A_ = rootNode;
187
+ component.N_ = input[0];
188
+ component.U_ = customEvents;
189
+ scope.marko5Component = component;
190
+ });
191
+ }
192
+
193
+ function getRootNode(el) {
194
+ var cur = el;
195
+ while (cur.parentNode) cur = cur.parentNode;
196
+ return cur;
197
+ }
198
+
199
+ const RenderBodyComponentId = "renderbody-renderer";
200
+ const RenderBodyComponent = createRenderer(
201
+ function (input, out, _componentDef) {
202
+ dynamicTag(
203
+ out,
204
+ input.renderBody,
205
+ null,
206
+ null,
207
+ input.args,
208
+ null,
209
+ _componentDef,
210
+ "0"
211
+ );
212
+ },
213
+ // eslint-disable-next-line no-constant-condition
214
+
215
+
216
+
217
+
218
+
219
+
220
+ {
221
+ t: RenderBodyComponentId,
222
+ i: true
223
+ },
224
+ {}
225
+ );
226
+
227
+ registerComponent(RenderBodyComponentId, () => ({
228
+ _: RenderBodyComponent,
229
+ Component: defineComponent({}, RenderBodyComponent)
230
+ }));
231
+ };
@@ -0,0 +1,171 @@
1
+ "use strict";const initComponentsTag = require("../../../core-tags/components/init-components-tag");
2
+ const {
3
+ R_
4
+ } = require("../../components/ComponentsContext");
5
+ const createRenderer = require("../../components/renderer");
6
+ const defaultCreateOut = require("../../createOut");
7
+ const dynamicTag5 = require("../dynamic-tag");
8
+
9
+ exports.p = function (tagsAPI) {
10
+ const {
11
+ patchDynamicTag,
12
+ createRenderFn,
13
+ fork,
14
+ write,
15
+ makeSerializable,
16
+ register,
17
+ writeScope,
18
+ nextScopeId,
19
+ getRegistryInfo
20
+ } = tagsAPI;
21
+ const FN_TO_JSON = function () {
22
+ // TODO: this should instead return an object that contains getRegistryInfo
23
+ // then in the dom-compat, handle that object to lookup the function in the registry
24
+ // (we also need to do this for events)
25
+ return getRegistryInfo(this);
26
+ };
27
+
28
+ const isMarko6 = (fn) => !!fn.bm_;
29
+ const isMarko5 = (fn) => !fn.bm_;
30
+
31
+ dynamicTag5.bk_ = function tagsToVdom(
32
+ tagsRenderer,
33
+ renderBody,
34
+ args)
35
+ {
36
+ if (tagsRenderer ? isMarko5(tagsRenderer) : isMarko5(renderBody))
37
+ return tagsRenderer;
38
+
39
+ if (!tagsRenderer && renderBody) {
40
+ renderBody.toJSON = FN_TO_JSON;
41
+ }
42
+
43
+ return (input, out) =>
44
+ TagsCompat(
45
+ args ?
46
+ { i: args, r: (args) => (tagsRenderer || renderBody)(...args) } :
47
+ { i: input, r: tagsRenderer || renderBody },
48
+ out
49
+ );
50
+ };
51
+
52
+ const TagsCompatId = "tags-compat";
53
+ const TagsCompat = createRenderer(
54
+ function (_, out, componentDef, component) {
55
+ const input = _.i;
56
+ const tagsRenderer = _.r;
57
+ const renderFn = createRenderFn(tagsRenderer);
58
+ const $global = out.global;
59
+ const streamData = $global.streamData = $global.streamData || {};
60
+
61
+ $global.serializedGlobals = $global.serializedGlobals || {};
62
+ $global.serializedGlobals.componentIdToScopeId = true;
63
+ $global.componentIdToScopeId = $global.componentIdToScopeId || {};
64
+ $global.componentIdToScopeId[component.id] = streamData.scopeId || 0;
65
+ out.bf(out._Y_, component, true);
66
+ renderFn(out.beginAsync(), input, {}, streamData);
67
+ out.ef();
68
+ },
69
+ // eslint-disable-next-line no-constant-condition
70
+
71
+
72
+
73
+
74
+
75
+ {
76
+ t: TagsCompatId
77
+ },
78
+ {}
79
+ );
80
+
81
+ patchDynamicTag(
82
+ function getRenderer(tag) {
83
+ const renderer = tag._ || tag.renderBody || tag;
84
+ if (isMarko6(renderer)) return renderer;
85
+
86
+ const renderer5 =
87
+ tag._ ||
88
+ tag.render ||
89
+ tag.renderer && tag.renderer.renderer ||
90
+ tag.renderer;
91
+ const renderBody5 = tag.renderBody || tag;
92
+
93
+ return (input, ...args) => {
94
+ const out = defaultCreateOut();
95
+ let customEvents;
96
+
97
+ out.global.streamData = tagsAPI.$_streamData;
98
+
99
+ if (renderer5) {
100
+ const normalizedInput = {};
101
+
102
+ for (const key in input) {
103
+ let value = input[key];
104
+ if (key.startsWith("on") && typeof value === "function") {
105
+ const c = key[2];
106
+ customEvents = customEvents || [];
107
+ customEvents.push([
108
+ (c === "-" ? "" : c.toLowerCase()) + key.slice(3),
109
+ value]
110
+ );
111
+ value.toJSON = FN_TO_JSON;
112
+ } else {
113
+ normalizedInput[key] = input[key];
114
+ }
115
+ }
116
+ renderer5(normalizedInput, out);
117
+ } else {
118
+ renderBody5(out, input, ...args);
119
+ }
120
+
121
+ const componentsContext = R_(out);
122
+ const component = componentsContext.b_[0];
123
+ if (component) {
124
+ component.r_.U_ = customEvents;
125
+ writeScope(nextScopeId(), {
126
+ m5c: component.id
127
+ });
128
+ }
129
+
130
+ initComponentsTag({}, out);
131
+
132
+ let async;
133
+ out.once("finish", (result) => {
134
+ if (!async) {
135
+ async = false;
136
+ write(result.toString());
137
+ }
138
+ });
139
+
140
+ out.end();
141
+
142
+ if (async !== false) {
143
+ async = true;
144
+ fork(out, (result) => {
145
+ write(result.toString());
146
+ });
147
+ }
148
+ };
149
+ },
150
+ function createRenderer(renderFn) {
151
+ renderFn.bm_ = true;
152
+ return renderFn;
153
+ }
154
+ );
155
+
156
+ function dummyCreate5to6Renderer() {}
157
+
158
+ register(dummyCreate5to6Renderer, "@marko/tags-compat-5-to-6");
159
+
160
+ return function serialized5to6(renderer, id) {
161
+ const dummyRenderer = () => {};
162
+ register(dummyRenderer, id);
163
+ return makeSerializable(renderer, (s) =>
164
+ s.
165
+ value(dummyCreate5to6Renderer).
166
+ code("(").
167
+ value(dummyRenderer).
168
+ code(",!0)")
169
+ );
170
+ };
171
+ };
@@ -9,7 +9,7 @@ var markoAttr = require("./helpers/data-marko");
9
9
  var escapeXmlHelper = require("./helpers/escape-xml");
10
10
  var StringWriter = require("./StringWriter");
11
11
  var escapeXmlOrNullish = escapeXmlHelper.x;
12
- var escapeXmlString = escapeXmlHelper.bu_;
12
+ var escapeXmlString = escapeXmlHelper.bn_;
13
13
 
14
14
  function noop() {}
15
15
 
@@ -104,7 +104,7 @@ function AsyncStream(global, writer, parentOut) {
104
104
  this._X_ = null;
105
105
  this._Y_ = null;
106
106
  this.b__ = null;
107
- this.bv_ = false;
107
+ this.bo_ = false;
108
108
  }
109
109
 
110
110
  AsyncStream.DEFAULT_TIMEOUT = 10000;
@@ -125,11 +125,11 @@ AsyncStream.enableAsyncStackTrace = function () {
125
125
  var proto = AsyncStream.prototype = {
126
126
  constructor: AsyncStream,
127
127
  A_: typeof document === "object" && document,
128
- bw_: true,
128
+ bp_: true,
129
129
 
130
130
  [Symbol.asyncIterator]() {
131
- if (this.bx_) {
132
- return this.bx_;
131
+ if (this.bq_) {
132
+ return this.bq_;
133
133
  }
134
134
 
135
135
  const originalWriter = this._state.writer;
@@ -190,7 +190,7 @@ var proto = AsyncStream.prototype = {
190
190
  };
191
191
  }
192
192
 
193
- return this.bx_ = {
193
+ return this.bq_ = {
194
194
  next: iteratorNextFn,
195
195
  [Symbol.asyncIterator]() {
196
196
  return this;
@@ -235,7 +235,7 @@ var proto = AsyncStream.prototype = {
235
235
  return this._state.writer.toString();
236
236
  },
237
237
 
238
- by_: function () {
238
+ br_: function () {
239
239
  this._result = this._result || new RenderResult(this);
240
240
  return this._result;
241
241
  },
@@ -286,7 +286,7 @@ var proto = AsyncStream.prototype = {
286
286
  }
287
287
 
288
288
  this._lastCount++;
289
- newStream.bv_ = true;
289
+ newStream.bo_ = true;
290
290
  }
291
291
 
292
292
  name = options.name;
@@ -332,7 +332,7 @@ var proto = AsyncStream.prototype = {
332
332
  }
333
333
 
334
334
  if (state.events !== state.stream) {
335
- state.events.emit("finish", this.by_());
335
+ state.events.emit("finish", this.br_());
336
336
  }
337
337
  },
338
338
 
@@ -404,7 +404,7 @@ var proto = AsyncStream.prototype = {
404
404
  parentOut._handleChildDone(this);
405
405
  }
406
406
  } else {
407
- if (childOut.bv_) {
407
+ if (childOut.bo_) {
408
408
  this._lastCount--;
409
409
  }
410
410
 
@@ -445,7 +445,7 @@ var proto = AsyncStream.prototype = {
445
445
  var state = this._state;
446
446
 
447
447
  if (event === "finish" && state.finished === true) {
448
- callback(this.by_());
448
+ callback(this.br_());
449
449
  } else if (event === "last") {
450
450
  this.onLast(callback);
451
451
  } else {
@@ -459,7 +459,7 @@ var proto = AsyncStream.prototype = {
459
459
  var state = this._state;
460
460
 
461
461
  if (event === "finish" && state.finished === true) {
462
- callback(this.by_());
462
+ callback(this.br_());
463
463
  } else if (event === "last") {
464
464
  this.onLast(callback);
465
465
  } else {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var attrHelper = require("./attr");
3
- var notEmptyAttr = attrHelper.bz_;
4
- var isEmptyAttrValue = attrHelper.bA_;
3
+ var notEmptyAttr = attrHelper.bs_;
4
+ var isEmptyAttrValue = attrHelper.bt_;
5
5
  var classHelper = require("./class-attr");
6
6
  var styleHelper = require("./style-attr");
7
7
 
@@ -2,13 +2,13 @@
2
2
 
3
3
  var escapeQuoteHelpers = require("./escape-quotes");
4
4
  var escapeDoubleQuotes = escapeQuoteHelpers.m_;
5
- var escapeSingleQuotes = escapeQuoteHelpers.bB_;
5
+ var escapeSingleQuotes = escapeQuoteHelpers.bu_;
6
6
 
7
7
 
8
8
  module.exports = maybeEmptyAttr;
9
9
 
10
- maybeEmptyAttr.bz_ = notEmptyAttr;
11
- maybeEmptyAttr.bA_ = isEmpty;
10
+ maybeEmptyAttr.bs_ = notEmptyAttr;
11
+ maybeEmptyAttr.bt_ = isEmpty;
12
12
 
13
13
  function maybeEmptyAttr(name, value) {
14
14
  if (isEmpty(value)) {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var escapeQuoteHelpers = require("./escape-quotes");
4
- var escapeSingleQuotes = escapeQuoteHelpers.bB_;
4
+ var escapeSingleQuotes = escapeQuoteHelpers.bu_;
5
5
  var escapeDoubleQuotes = escapeQuoteHelpers.m_;
6
6
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
7
7
  // var FLAG_HAS_RENDER_BODY = 2;
@@ -6,7 +6,7 @@ exports.d = function (value) {
6
6
 
7
7
  exports.m_ = escapeDoubleQuotes;
8
8
 
9
- exports.bB_ = escapeSingleQuotes;
9
+ exports.bu_ = escapeSingleQuotes;
10
10
 
11
11
  function escapeSingleQuotes(value, startPos) {
12
12
  return escapeQuote(value, startPos, "'", "'");
@@ -12,7 +12,7 @@ module.exports.x = function (value) {
12
12
  return escapeXML(value + "");
13
13
  };
14
14
 
15
- exports.bu_ = escapeXML;
15
+ exports.bn_ = escapeXML;
16
16
 
17
17
  function escapeXML(str) {
18
18
  var len = str.length;
@@ -73,7 +73,7 @@ module.exports = function (target, renderer) {
73
73
  }
74
74
 
75
75
  render(localData, out);
76
- return out.by_();
76
+ return out.br_();
77
77
  },
78
78
 
79
79
  /**
@@ -160,7 +160,7 @@ module.exports = function (target, renderer) {
160
160
  finalData = {};
161
161
  }
162
162
 
163
- if (out && out.bw_) {
163
+ if (out && out.bp_) {
164
164
  finalOut = out;
165
165
  shouldEnd = false;
166
166
  extend(out.global, globalData);
@@ -179,7 +179,7 @@ module.exports = function (target, renderer) {
179
179
  if (callback) {
180
180
  finalOut.
181
181
  on("finish", function () {
182
- callback(null, finalOut.by_(), finalOut);
182
+ callback(null, finalOut.br_(), finalOut);
183
183
  }).
184
184
  once("error", callback);
185
185
  }