@next-core/brick-utils 2.51.14 → 2.51.16

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.
@@ -17626,12 +17626,13 @@
17626
17626
 
17627
17627
  /** Parse storyboard as AST. */
17628
17628
  function parseStoryboard(storyboard) {
17629
- var _storyboard$meta;
17629
+ var _storyboard$meta, _storyboard$meta2;
17630
17630
  return {
17631
17631
  type: "Root",
17632
17632
  raw: storyboard,
17633
17633
  routes: parseRoutes(storyboard.routes),
17634
- templates: parseTemplates((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.customTemplates)
17634
+ templates: parseTemplates((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.customTemplates),
17635
+ menus: parseMetaMenus((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus)
17635
17636
  };
17636
17637
  }
17637
17638
  /** Parse storyboard routes as AST. */
@@ -17930,6 +17931,32 @@
17930
17931
  var type = typeof value;
17931
17932
  return value != null && (type == "object" || type == "function");
17932
17933
  }
17934
+ function parseMetaMenus(menus) {
17935
+ if (Array.isArray(menus)) {
17936
+ return menus.map(parseMetaMenu);
17937
+ }
17938
+ return [];
17939
+ }
17940
+ function parseMetaMenu(menu) {
17941
+ return {
17942
+ type: "MetaMenu",
17943
+ raw: menu,
17944
+ items: parseMetaItems(menu.items)
17945
+ };
17946
+ }
17947
+ function parseMetaItems(menuItems) {
17948
+ if (Array.isArray(menuItems)) {
17949
+ return menuItems.map(parseMetaItem);
17950
+ }
17951
+ return [];
17952
+ }
17953
+ function parseMetaItem(menuItem) {
17954
+ return {
17955
+ type: "MetaMenuItem",
17956
+ raw: menuItem,
17957
+ children: parseMetaItems(menuItem.children)
17958
+ };
17959
+ }
17933
17960
 
17934
17961
  /** Traverse a storyboard AST. */
17935
17962
  function traverseStoryboard(ast, callback) {
@@ -17962,6 +17989,7 @@
17962
17989
  case "Root":
17963
17990
  traverseNodes(node.routes, callback, childPath);
17964
17991
  traverseNodes(node.templates, callback, childPath);
17992
+ traverseNodes(node.menus, callback, childPath);
17965
17993
  break;
17966
17994
  case "Route":
17967
17995
  traverseNodes(node.context, callback, childPath);
@@ -18017,6 +18045,12 @@
18017
18045
  case "BrickMenu":
18018
18046
  traverseNode(node.brick, callback, childPath);
18019
18047
  break;
18048
+ case "MetaMenu":
18049
+ traverseNodes(node.items, callback, childPath);
18050
+ break;
18051
+ case "MetaMenuItem":
18052
+ traverseNodes(node.children, callback, childPath);
18053
+ break;
18020
18054
  case "Resolvable":
18021
18055
  case "FalseMenu":
18022
18056
  case "StaticMenu":
@@ -20271,6 +20305,7 @@
20271
20305
  case "Brick":
20272
20306
  case "EventHandler":
20273
20307
  case "Context":
20308
+ case "MetaMenuItem":
20274
20309
  computeConstantCondition(node.raw, options);
20275
20310
  break;
20276
20311
  case "Resolvable":
@@ -20324,6 +20359,12 @@
20324
20359
  shakeConditionalNodes(node.then, node.raw, "then");
20325
20360
  shakeConditionalNodes(node.else, node.raw, "else");
20326
20361
  break;
20362
+ case "MetaMenu":
20363
+ shakeConditionalNodes(node.items, node.raw, "items");
20364
+ break;
20365
+ case "MetaMenuItem":
20366
+ shakeConditionalNodes(node.children, node.raw, "children");
20367
+ break;
20327
20368
  }
20328
20369
 
20329
20370
  // Remove unreachable context/state.