@bablr/agast-helpers 0.8.0 → 0.9.0

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/template.js CHANGED
@@ -8,8 +8,8 @@ import {
8
8
  Property,
9
9
  BindingTag,
10
10
  } from './symbols.js';
11
- import * as Children from './children.js';
12
- import { getOpenTag, get, isFragmentNode } from './tree.js';
11
+ import * as Tags from './tags.js';
12
+ import { getOpenTag, isFragmentNode } from './tree.js';
13
13
 
14
14
  const { freeze } = Object;
15
15
 
@@ -18,7 +18,11 @@ export const buildFilledGapFunction = (expressions) => (value) => {
18
18
  return t.buildGapTag();
19
19
  };
20
20
 
21
- export function* interpolateFragment(node, ref, expressions) {
21
+ export const interpolateFragment = (node, ref, expressions) => {
22
+ return __interpolateFragment(node, ref, expressions);
23
+ };
24
+
25
+ function* __interpolateFragment(node, ref, expressions) {
22
26
  const open = getOpenTag(node);
23
27
 
24
28
  const gap = buildFilledGapFunction(expressions);
@@ -27,7 +31,7 @@ export function* interpolateFragment(node, ref, expressions) {
27
31
  let currentRef = null;
28
32
  let currentBinding = null;
29
33
  let isFragment = isFragmentNode(node);
30
- for (let tag of Children.traverse(node.children)) {
34
+ for (let tag of Tags.traverseInner(node.tags)) {
31
35
  switch (tag.type) {
32
36
  case DoctypeTag: {
33
37
  break;
@@ -67,13 +71,13 @@ export function* interpolateFragment(node, ref, expressions) {
67
71
 
68
72
  if (type === '.') {
69
73
  // TODO check/combine flags
70
- yield freeze(ref);
71
- yield currentBinding;
74
+ yield ref;
72
75
  } else {
73
76
  yield currentRef;
74
- yield currentBinding;
75
77
  }
76
78
 
79
+ yield currentBinding;
80
+
77
81
  yield gap(tag.value.node);
78
82
 
79
83
  break;