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