@next-core/brick-utils 2.45.1 → 2.45.3

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.
@@ -926,102 +926,103 @@
926
926
 
927
927
  /** Traverse a storyboard AST. */
928
928
  function traverseStoryboard(ast, callback) {
929
- traverseNode(ast, callback);
929
+ traverseNode(ast, callback, []);
930
930
  }
931
931
  /** Traverse any node(s) in storyboard AST. */
932
932
 
933
933
  function traverse(nodeOrNodes, callback) {
934
934
  if (Array.isArray(nodeOrNodes)) {
935
- traverseNodes(nodeOrNodes, callback);
935
+ traverseNodes(nodeOrNodes, callback, []);
936
936
  } else {
937
- traverseNode(nodeOrNodes, callback);
937
+ traverseNode(nodeOrNodes, callback, []);
938
938
  }
939
939
  }
940
940
 
941
- function traverseNodes(nodes, callback) {
941
+ function traverseNodes(nodes, callback, path) {
942
942
  if (!nodes) {
943
943
  return;
944
944
  }
945
945
 
946
946
  for (var _node of nodes) {
947
- traverseNode(_node, callback);
947
+ traverseNode(_node, callback, path);
948
948
  }
949
949
  }
950
950
 
951
- function traverseNode(node, callback) {
951
+ function traverseNode(node, callback, path) {
952
952
  if (!node) {
953
953
  return;
954
954
  }
955
955
 
956
- callback(node);
956
+ callback(node, path);
957
+ var childPath = path.concat(node);
957
958
 
958
959
  switch (node.type) {
959
960
  case "Root":
960
- traverseNodes(node.routes, callback);
961
- traverseNodes(node.templates, callback);
961
+ traverseNodes(node.routes, callback, childPath);
962
+ traverseNodes(node.templates, callback, childPath);
962
963
  break;
963
964
 
964
965
  case "Route":
965
- traverseNodes(node.context, callback);
966
- traverseNode(node.redirect, callback);
967
- traverseNode(node.menu, callback);
968
- traverseNodes(node.providers, callback);
969
- traverseNodes(node.defineResolves, callback);
970
- traverseNodes(node.children, callback);
966
+ traverseNodes(node.context, callback, childPath);
967
+ traverseNode(node.redirect, callback, childPath);
968
+ traverseNode(node.menu, callback, childPath);
969
+ traverseNodes(node.providers, callback, childPath);
970
+ traverseNodes(node.defineResolves, callback, childPath);
971
+ traverseNodes(node.children, callback, childPath);
971
972
  break;
972
973
 
973
974
  case "Template":
974
- traverseNodes(node.bricks, callback);
975
- traverseNodes(node.context, callback);
975
+ traverseNodes(node.bricks, callback, childPath);
976
+ traverseNodes(node.context, callback, childPath);
976
977
  break;
977
978
 
978
979
  case "Brick":
979
- traverseNode(node.if, callback);
980
- traverseNodes(node.events, callback);
981
- traverseNodes(node.lifeCycle, callback);
982
- traverseNodes(node.useBrick, callback);
983
- traverseNodes(node.useBackend, callback);
984
- traverseNodes(node.context, callback);
985
- traverseNodes(node.children, callback);
980
+ traverseNode(node.if, callback, childPath);
981
+ traverseNodes(node.events, callback, childPath);
982
+ traverseNodes(node.lifeCycle, callback, childPath);
983
+ traverseNodes(node.useBrick, callback, childPath);
984
+ traverseNodes(node.useBackend, callback, childPath);
985
+ traverseNodes(node.context, callback, childPath);
986
+ traverseNodes(node.children, callback, childPath);
986
987
  break;
987
988
 
988
989
  case "Slot":
989
990
  case "UseBrickEntry":
990
991
  case "UseBackendEntry":
991
- traverseNodes(node.children, callback);
992
+ traverseNodes(node.children, callback, childPath);
992
993
  break;
993
994
 
994
995
  case "Context":
995
- traverseNode(node.resolve, callback);
996
- traverseNodes(node.onChange, callback);
996
+ traverseNode(node.resolve, callback, childPath);
997
+ traverseNodes(node.onChange, callback, childPath);
997
998
  break;
998
999
 
999
1000
  case "ResolvableCondition":
1000
1001
  case "ResolvableMenu":
1001
- traverseNode(node.resolve, callback);
1002
+ traverseNode(node.resolve, callback, childPath);
1002
1003
  break;
1003
1004
 
1004
1005
  case "ResolveLifeCycle":
1005
- traverseNodes(node.resolves, callback);
1006
+ traverseNodes(node.resolves, callback, childPath);
1006
1007
  break;
1007
1008
 
1008
1009
  case "Event":
1009
1010
  case "EventCallback":
1010
1011
  case "SimpleLifeCycle":
1011
1012
  case "ConditionalEvent":
1012
- traverseNodes(node.handlers, callback);
1013
+ traverseNodes(node.handlers, callback, childPath);
1013
1014
  break;
1014
1015
 
1015
1016
  case "EventHandler":
1016
- traverseNodes(node.callback, callback);
1017
+ traverseNodes(node.callback, callback, childPath);
1017
1018
  break;
1018
1019
 
1019
1020
  case "ConditionalLifeCycle":
1020
- traverseNodes(node.events, callback);
1021
+ traverseNodes(node.events, callback, childPath);
1021
1022
  break;
1022
1023
 
1023
1024
  case "BrickMenu":
1024
- traverseNode(node.brick, callback);
1025
+ traverseNode(node.brick, callback, childPath);
1025
1026
  break;
1026
1027
 
1027
1028
  case "Resolvable":
@@ -23387,9 +23388,8 @@
23387
23388
 
23388
23389
  var yamlFieldsInBrick = ["permissionsPreCheck", "transformFrom"]; // Fields started with `_` will be removed by default.
23389
23390
 
23390
- var baseFieldsToRemove = ["appId", "children", "creator", "ctime", "id", "graphInfo", "modifier", "mountPoint", "mtime", "org", "parent", "sort", "name", "providersBak", "providers_bak", "previewSettings", "screenshot", "deleteAuthorizers", "readAuthorizers", "updateAuthorizers"];
23391
- var fieldsToRemoveInRoute = baseFieldsToRemove.concat("instanceId");
23392
- var fieldsToRemoveInBrick = baseFieldsToRemove.concat("type", "alias"); // Those fields can be disposed if value is null.
23391
+ var fieldsToRemoveInRoute = ["appId", "children", "creator", "ctime", "id", "graphInfo", "modifier", "mountPoint", "mtime", "org", "parent", "sort", "name", "providersBak", "providers_bak", "previewSettings", "screenshot", "deleteAuthorizers", "readAuthorizers", "updateAuthorizers"];
23392
+ var fieldsToRemoveInBrick = fieldsToRemoveInRoute.concat("type", "alias"); // Those fields can be disposed if value is null.
23393
23393
 
23394
23394
  var disposableNullFields = ["alias", "documentId", "hybrid", "bg", "context", "exports", "ref", "portal", "analyticsData"];
23395
23395
  function normalizeBuilderNode(node) {