aotrautils 0.0.589 → 0.0.591

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.
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- /*utils COMMONS library associated with aotra version : «1_29072022-2359 (15/09/2023-00:52:40)»*/
3
+ /*utils COMMONS library associated with aotra version : «1_29072022-2359 (18/09/2023-23:43:23)»*/
4
4
  /*-----------------------------------------------------------------------------*/
5
5
 
6
6
 
@@ -503,22 +503,30 @@ window.aotestMethods.getScenariiInTest=function(test){
503
503
  return window.aotestMethods.doForAllTestsByType(allTestsByType, doOnIteration, filter, mustTerminate);
504
504
  };
505
505
 
506
- /*public*/window.aotestMethods.iterateOverValues=function(scenario, doOnIterationForValue, visited=[], valuePath=""){
506
+ /*public*/window.aotestMethods.iterateOverValues=function(scenarioParam, doOnIterationForValue, visited=[], valuePath="", isValueFunction=null){
507
+
508
+ // CAUTION : We ABSOLUTELY need to iterate over a deep copy, or else it will create weird incomprehensible bugs
509
+ // if we do another recursive browsing on the initial object !!!
510
+ const scenario=JSON.parse(JSON.stringify(scenarioParam));
511
+
507
512
 
508
513
  const basePath=valuePath;
509
514
  foreach(scenario,(item, itemNameOrIndex)=>{
510
- if(contains(visited,item)) return "continue";
515
+
516
+ if(contains(visited, item)) return "continue";
511
517
  visited.push(item);
512
518
 
513
519
  valuePath=basePath+"."+itemNameOrIndex;
514
520
 
515
- if(isArray(item)){
516
- window.aotestMethods.iterateOverValues(item, doOnIterationForValue, visited, valuePath);
517
- }else if(isObject(item)){
518
- window.aotestMethods.iterateOverValues(item, doOnIterationForValue, visited, valuePath);
521
+ const isValue=(isValueFunction && isValueFunction(item));
522
+ if(isArray(item) && !isValue){
523
+ window.aotestMethods.iterateOverValues(item, doOnIterationForValue, visited, valuePath, isValueFunction);
524
+ }else if(isObject(item) && !isValue){
525
+ window.aotestMethods.iterateOverValues(item, doOnIterationForValue, visited, valuePath, isValueFunction);
519
526
  }else{
520
527
  scenario[itemNameOrIndex]=doOnIterationForValue(item, itemNameOrIndex, valuePath);
521
528
  }
529
+
522
530
  });
523
531
 
524
532
  };
@@ -4976,7 +4984,7 @@ AOTRAUTILS_LIB_IS_LOADED=true;
4976
4984
 
4977
4985
 
4978
4986
 
4979
- /*utils CLIENT library associated with aotra version : «1_29072022-2359 (15/09/2023-00:52:40)»*/
4987
+ /*utils CLIENT library associated with aotra version : «1_29072022-2359 (18/09/2023-23:43:23)»*/
4980
4988
  /*-----------------------------------------------------------------------------*/
4981
4989
  /* ## Utility global methods in a browser (htmljs) client environment.
4982
4990
  *
@@ -13243,7 +13251,7 @@ createOritaMicroClient=function(url, port, isNode=false, staticMicroClientIdPara
13243
13251
 
13244
13252
 
13245
13253
 
13246
- /*utils GEOMETRY library associated with aotra version : «1_29072022-2359 (15/09/2023-00:52:40)»*/
13254
+ /*utils GEOMETRY library associated with aotra version : «1_29072022-2359 (18/09/2023-23:43:23)»*/
13247
13255
  /*-----------------------------------------------------------------------------*/
13248
13256
 
13249
13257
 
@@ -14482,7 +14490,7 @@ function rayVsUnitSphereClosestPoint(p, r) {
14482
14490
  // MUST REMAIN AT THE END OF THIS LIBRARY FILE !
14483
14491
 
14484
14492
  AOTRAUTILS_GEOMETRY_LIB_IS_LOADED=true;
14485
- /*utils SERVER library associated with aotra version : «1_29072022-2359 (15/09/2023-00:52:40)»*/
14493
+ /*utils SERVER library associated with aotra version : «1_29072022-2359 (18/09/2023-23:43:23)»*/
14486
14494
  /*-----------------------------------------------------------------------------*/
14487
14495
 
14488
14496
 
aotrautils/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aotrautils",
3
- "version": "0.0.589",
3
+ "version": "0.0.591",
4
4
  "main": "aotrautils.build.js",
5
5
  "description": "A library for vanilla javascript utils (client-side) used in aotra javascript CMS",
6
6
  "author": "Jeremie Ratomposon <info@alqemia.com> (https://alqemia.com)",