@next-core/brick-utils 2.51.13 → 2.51.15

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/dist/index.esm.js CHANGED
@@ -17620,12 +17620,13 @@ function beforeVisitProcessorsFactory(collection) {
17620
17620
 
17621
17621
  /** Parse storyboard as AST. */
17622
17622
  function parseStoryboard(storyboard) {
17623
- var _storyboard$meta;
17623
+ var _storyboard$meta, _storyboard$meta2;
17624
17624
  return {
17625
17625
  type: "Root",
17626
17626
  raw: storyboard,
17627
17627
  routes: parseRoutes(storyboard.routes),
17628
- templates: parseTemplates((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.customTemplates)
17628
+ templates: parseTemplates((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.customTemplates),
17629
+ menus: parseMetaMenus((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus)
17629
17630
  };
17630
17631
  }
17631
17632
  /** Parse storyboard routes as AST. */
@@ -17924,6 +17925,32 @@ function isObject(value) {
17924
17925
  var type = typeof value;
17925
17926
  return value != null && (type == "object" || type == "function");
17926
17927
  }
17928
+ function parseMetaMenus(menus) {
17929
+ if (Array.isArray(menus)) {
17930
+ return menus.map(parseMetaMenu);
17931
+ }
17932
+ return [];
17933
+ }
17934
+ function parseMetaMenu(menu) {
17935
+ return {
17936
+ type: "MetaMenu",
17937
+ raw: menu,
17938
+ items: parseMetaItems(menu.items)
17939
+ };
17940
+ }
17941
+ function parseMetaItems(menuItems) {
17942
+ if (Array.isArray(menuItems)) {
17943
+ return menuItems.map(parseMetaItem);
17944
+ }
17945
+ return [];
17946
+ }
17947
+ function parseMetaItem(menuItem) {
17948
+ return {
17949
+ type: "MetaMenuItem",
17950
+ raw: menuItem,
17951
+ children: parseMetaItems(menuItem.children)
17952
+ };
17953
+ }
17927
17954
 
17928
17955
  /** Traverse a storyboard AST. */
17929
17956
  function traverseStoryboard(ast, callback) {
@@ -17956,6 +17983,7 @@ function traverseNode(node, callback, path) {
17956
17983
  case "Root":
17957
17984
  traverseNodes(node.routes, callback, childPath);
17958
17985
  traverseNodes(node.templates, callback, childPath);
17986
+ traverseNodes(node.menus, callback, childPath);
17959
17987
  break;
17960
17988
  case "Route":
17961
17989
  traverseNodes(node.context, callback, childPath);
@@ -18011,6 +18039,12 @@ function traverseNode(node, callback, path) {
18011
18039
  case "BrickMenu":
18012
18040
  traverseNode(node.brick, callback, childPath);
18013
18041
  break;
18042
+ case "MetaMenu":
18043
+ traverseNodes(node.items, callback, childPath);
18044
+ break;
18045
+ case "MetaMenuItem":
18046
+ traverseNodes(node.children, callback, childPath);
18047
+ break;
18014
18048
  case "Resolvable":
18015
18049
  case "FalseMenu":
18016
18050
  case "StaticMenu":
@@ -20265,6 +20299,7 @@ function removeDeadConditionsByAst(ast, options) {
20265
20299
  case "Brick":
20266
20300
  case "EventHandler":
20267
20301
  case "Context":
20302
+ case "MetaMenuItem":
20268
20303
  computeConstantCondition(node.raw, options);
20269
20304
  break;
20270
20305
  case "Resolvable":
@@ -20318,6 +20353,12 @@ function removeDeadConditionsByAst(ast, options) {
20318
20353
  shakeConditionalNodes(node.then, node.raw, "then");
20319
20354
  shakeConditionalNodes(node.else, node.raw, "else");
20320
20355
  break;
20356
+ case "MetaMenu":
20357
+ shakeConditionalNodes(node.items, node.raw, "items");
20358
+ break;
20359
+ case "MetaMenuItem":
20360
+ shakeConditionalNodes(node.children, node.raw, "children");
20361
+ break;
20321
20362
  }
20322
20363
 
20323
20364
  // Remove unreachable context/state.