@finos/legend-application-studio 28.21.3 → 28.21.5

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.
Files changed (66) hide show
  1. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts +1 -1
  2. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
  3. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js +3 -3
  4. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js.map +1 -1
  5. package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.d.ts +3 -0
  6. package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.d.ts.map +1 -1
  7. package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js +72 -52
  8. package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js.map +1 -1
  9. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -1
  10. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js +22 -1
  11. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -1
  12. package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.d.ts +23 -0
  13. package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.d.ts.map +1 -0
  14. package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.js +267 -0
  15. package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.js.map +1 -0
  16. package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.d.ts.map +1 -1
  17. package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js +113 -75
  18. package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js.map +1 -1
  19. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts.map +1 -1
  20. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +39 -5
  21. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
  22. package/lib/components/editor/side-bar/DevMetadataPanel.d.ts.map +1 -1
  23. package/lib/components/editor/side-bar/DevMetadataPanel.js +37 -6
  24. package/lib/components/editor/side-bar/DevMetadataPanel.js.map +1 -1
  25. package/lib/index.css +2 -2
  26. package/lib/index.css.map +1 -1
  27. package/lib/package.json +1 -1
  28. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +17 -2
  29. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -1
  30. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js +56 -49
  31. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -1
  32. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts +4 -1
  33. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts.map +1 -1
  34. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js +4 -0
  35. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js.map +1 -1
  36. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.d.ts +113 -0
  37. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.d.ts.map +1 -0
  38. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.js +647 -0
  39. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.js.map +1 -0
  40. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts +18 -4
  41. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts.map +1 -1
  42. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js +214 -53
  43. package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js.map +1 -1
  44. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts +17 -1
  45. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
  46. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js +46 -1
  47. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
  48. package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.d.ts +9 -0
  49. package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.d.ts.map +1 -1
  50. package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.js +55 -0
  51. package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.js.map +1 -1
  52. package/package.json +16 -16
  53. package/src/components/editor/editor-group/data-editor/EmbeddedDataEditor.tsx +3 -0
  54. package/src/components/editor/editor-group/data-editor/RelationElementsDataEditor.tsx +331 -231
  55. package/src/components/editor/editor-group/dataProduct/DataProductEditor.tsx +32 -0
  56. package/src/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.tsx +935 -0
  57. package/src/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.tsx +425 -308
  58. package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +160 -15
  59. package/src/components/editor/side-bar/DevMetadataPanel.tsx +194 -10
  60. package/src/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.ts +82 -51
  61. package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts +4 -0
  62. package/src/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.ts +927 -0
  63. package/src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts +303 -72
  64. package/src/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.ts +66 -0
  65. package/src/stores/editor/sidebar-state/dev-metadata/DevMetadataState.ts +76 -0
  66. package/tsconfig.json +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProductTestableState.js","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAOL,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,mCAAmC,EACnC,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,gBAAgB,EAChB,8BAA8B,GAE/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,IAAI,EACJ,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,MAAM,EACN,IAAI,EACJ,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,GACZ,MAAM,MAAM,CAAC;AAGd,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAE/C,MAAM,0BAA0B,GAAG,CACjC,MAAc,EACd,UAAoB,EAAE,EACL,EAAE;IACnB,MAAM,GAAG,GAAG,2BAA2B,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACnE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,eAAe,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;IAClC,eAAe,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAC3B,WAAwB,EACD,EAAE,CACzB,WAAW,YAAY,oBAAoB;IACzC,CAAC,CAAC,WAAW,CAAC,IAAI;IAClB,CAAC,CAAC,WAAW,YAAY,mBAAmB;QAC1C,CAAC,CAAC,WAAW,CAAC,KAAK;QACnB,CAAC,CAAC,SAAS,CAAC;AAElB;;;GAGG;AACH,MAAM,oCAAoC,GAAG,CAC3C,IAAgB,EACM,EAAE;IACxB,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC3C,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CACpC,QAAkB,EACI,EAAE,CACxB,QAAQ,CAAC,aAAa,YAAY,WAAW;IAC7C,QAAQ,CAAC,aAAa,YAAY,gBAAgB,CAAC;AAErD,MAAM,0BAA0B,GAAG,CAAC,WAAwB,EAAU,EAAE,CACtE,WAAW,CAAC,EAAE,CAAC;AAOjB,MAAM,mBAAmB,GAAG,CAC1B,OAA2B,EAC3B,YAAsC,EACnB,EAAE;IACrB,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,iBAAiB;aAC7B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;aAC9B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACZ,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC,CAAC;IACR,CAAC;IACD,IAAI,OAAO,YAAY,gBAAgB,EAAE,CAAC;QACxC,OAAO,YAAY;aAChB,+BAA+B,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC,CAAC;IACR,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,KAAK,EACvC,WAAwB,EACxB,WAAwB,EACxB,MAAc,EACiB,EAAE;IACjC,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB;SAC9C,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;SACtC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GACpB,MAAM,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,qBAAqB,CACpE,MAAM,EACN,WAAW,CAAC,iBAAiB,CAAC,KAAK,CACpC,CAAC;IACJ,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,gFAAgF;AAEhF,MAAM,OAAO,oBAAqB,SAAQ,uBAAuB;IACtD,UAAU,CAA4B;IACtC,IAAI,CAA6B;IACjC,IAAI,GAAG,IAAI,EAAE,CAAC;IAEvB,oFAAoF;IACpF,qBAAqB,CAAmC;IAExD,YACE,UAAqC,EACrC,IAAgC;QAEhC,KAAK,CACH,UAAU,CAAC,aAAa,CAAC,WAAW,EACpC,IAAI,EACJ,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,UAAU,EAC1D,UAAU,CAAC,WAAW,CACvB,CAAC;QACF,cAAc,CAAC,IAAI,EAAE;YACnB,oCAAoC;YACpC,qBAAqB,EAAE,UAAU;YACjC,WAAW,EAAE,UAAU;YACvB,iBAAiB,EAAE,UAAU;YAC7B,qBAAqB,EAAE,UAAU;YACjC,eAAe,EAAE,UAAU;YAC3B,iBAAiB,EAAE,UAAU;YAC7B,iBAAiB;YACjB,qBAAqB,EAAE,UAAU;YACjC,0BAA0B;YAC1B,cAAc,EAAE,MAAM;YACtB,oBAAoB,EAAE,MAAM;YAC5B,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,MAAM;YACvB,aAAa,EAAE,MAAM;YACrB,WAAW,EAAE,MAAM;YACnB,gBAAgB,EAAE,MAAM;YACxB,uBAAuB;YACvB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,0BAA0B,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACzC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,YAAY,eAAe,CAC1D,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,kDAAkD;QAClD,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,2BAA2B,CACrD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EACzC,IAAI,CAAC,IAAI,CAAC,aAAa,CACxB,CAAC;gBACF,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,WAAW,CAAC,GAAG,EAAE;wBACf,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAC;oBAC7C,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC;QACD,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,qBAAqB,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,sBAAsB,CACzD,IAAI,CAAC,IAAI,CAAC,aAAa,CACxB,CAAC;IACJ,CAAC;CACF;AAED,gFAAgF;AAEhF,MAAM,OAAO,+BAA+B;IACjC,aAAa,CAA2B;IACxC,QAAQ,CAAmB;IAC3B,WAAW,CAAc;IACzB,yBAAyB,CAAwC;IAE1E,YACE,aAAuC,EACvC,QAA0B;QAE1B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7C,IAAI,QAAQ,CAAC,IAAI,YAAY,oBAAoB,EAAE,CAAC;YAClD,IAAI,CAAC,yBAAyB,GAAG,IAAI,yBAAyB,CAC5D,IAAI,CAAC,WAAW,EAChB,QAAQ,CAAC,IAAI,CACd,CAAC;YACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,8BAA8B,CAAC,IAAI,CAAC,OAAwB,CAAC,CAAC;IACvE,CAAC;IAEO,mBAAmB;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,yBAAyB,CAAC,GAAG,EAAE,CACvC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CACvC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,SAAoC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,OAAO,GAAa,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,OAAO,YAAY,gBAAgB,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,oCAAoC,CAChE,OAAO,EACP,KAAK,EACL,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAC9C,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;oBAC1C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,wBAAwB,CAC1D,OAAO,EACP,KAAK,EACL,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CACvB,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,EAAE;gBACd,OAAO;aACR,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,WAAW,CAAC,GAAG,EAAE;YACf,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjD,iEAAiE;YACjE,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,OAAO;iBACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CACpC,CAAC;YACF,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC;gBACrC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtD,IAAI,IAAI,EAAE,CAAC;wBACT,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,gFAAgF;AAEhF,MAAM,OAAO,wBAAwB;IAC1B,WAAW,CAAc;IACzB,UAAU,CAA4B;IAE/C,qBAAqB,GAAsC,EAAE,CAAC;IAC9D,4BAA4B,CAA8C;IAC1E,mBAAmB,GAAG,KAAK,CAAC;IAE5B,YACE,UAAqC,EACrC,OAGC;QAED,cAAc,CAAC,IAAI,EAAE;YACnB,qBAAqB,EAAE,UAAU;YACjC,4BAA4B,EAAE,UAAU;YACxC,mBAAmB,EAAE,UAAU;YAC/B,+BAA+B,EAAE,MAAM;YACvC,sBAAsB,EAAE,MAAM;YAC9B,UAAU,EAAE,MAAM;YAClB,aAAa,EAAE,MAAM;YACrB,4BAA4B,EAAE,MAAM;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,sBAAsB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;aACnB,MAAM,CACL,CAAC,EAAE,EAAkD,EAAE,CACrD,EAAE,YAAY,gBAAgB;YAC9B,EAAE,YAAY,qBAAqB,CACtC;aACA,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CACtC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC;QACrE,MAAM,UAAU,GAAyB;YACvC,GAAG,KAAK,CAAC,OAAO;YAChB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAC5D;SACF,CAAC;QACF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,sBAAsB,CAAC,GAAY;QACjC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,OAAO,GACX,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACxC,QAAQ,CAAC,OAAO,GAAG,mCAAmC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC9B,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACtC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,4BAA4B,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,aAAa,CAAC,YAA6C;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1D,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,4BAA4B,CAAC,OAE5B;QACC,MAAM,6BAA6B,GACjC,OAAO,EAAE,mBAAmB;YAC5B,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,IAAI,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,qBAAqB,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,EAAE,EAA0B,EAAE,CAAC,EAAE,YAAY,gBAAgB,CAAC;aACtE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAE9D,IAAI,CAAC,4BAA4B;YAC/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,6BAA6B,CAChE,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,+BAA+B,CAC7B,GAAgD;QAEhD,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC;IAC1C,CAAC;CACF;AAED,gFAAgF;AAEhF,MAAM,OAAO,yBAA0B,SAAQ,4BAA4B;IAChE,aAAa,CAA2B;IACxC,KAAK,CAAuB;IAC5B,UAAU,GAA2B,EAAE,CAAC;IAEjD,aAAa,CAA2B;IAExC,YACE,WAAwB,EACxB,aAAuC,EACvC,KAA2B;QAE3B,KAAK,CACH,aAAa,CAAC,WAAW,EACzB,KAAK,EACL,aAAa,CAAC,sBAAsB,CAAC,UAAU,EAC/C,WAAW,CACZ,CAAC;QACF,cAAc,CAAC,IAAI,EAAE;YACnB,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,UAAU;YAC3B,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,MAAM;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAwB,CAAC,IAAI,EAAE;YACtD,mBAAmB,EACjB,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,IAAI;SAChE,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,IAAI,EAAE,CAA+B,CAAC,CACvE,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEQ,UAAU,CAAC,IAAgC;QAClD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,CAAC,UAAU,CACT,QAAgB,EAChB,aAAqB;QAErB,MAAM,eAAe,GACnB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAExD,IAAI,eAAe,GAAa,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,2BAA2B,CAC7C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,aAAa,CACd,CAAyB,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,2EAA2E;QAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB;aACxE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;aAC9B,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,kBAAkB;YACzC,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,iBAAiB,GAAe,EAAE,CAAC;QACvC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,GAAG,GACP,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,2BAA2B,CAChF,gBAAgB,EAChB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CACzC,CAAe,CAAC;YACnB,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAC5B,CAAC,QAAQ,EAAE,EAAE,CACX,6BAA6B,CAAC,QAAQ,CAAC;gBACvC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,qEAAqE;YACrE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC5C,MAAM,OAAO,GACX,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,kBAAkB,CACzD,WAAW,CACZ,CAAC;gBACJ,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;gBACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAChD,CAAC,EAAE,EAA0B,EAAE,CAC7B,EAAE,YAAY,gBAAgB,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CACjE,CAAC;gBACF,MAAM,OAAO,GACX,gBAAgB,EAAE,IAAI,YAAY,oBAAoB;oBACpD,CAAC,CAAC,gBAAgB,CAAC,IAAI;oBACvB,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;oBACxC,QAAQ,CAAC,OAAO;wBACd,mCAAmC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;oBAC9D,4BAA4B,CAAC,UAAU,CAAC,CAAC;oBACzC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAC5B,IACE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAC9D,CAAC;4BACD,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAC1C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACxB,CAAC;4BACF,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAC3B,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5C,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,aAAa,CACjE,2CAA2C,CAC5C,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC;QAC1B,MAAM,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAC3E,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,kBAAkB,CAAC,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3C,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;QAC7C,kBAAkB,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QAC5C,SAAS,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9B,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;YACxC,OAAO,eAAe,CAAC,WAAW,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,eAAe,CAAC,WAAW,CAAC;QACrC,CAAC;QACD,IACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,EACtE,CAAC;YACD,OAAO,eAAe,CAAC,WAAW,CAAC;QACrC,CAAC;QACD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;YAChD,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;gBAChC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,IACL,MAAM,YAAY,YAAY;gBAC9B,MAAM,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,IAAI,EACvD,CAAC;gBACD,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,eAAe,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,MAAM,CAAC;QAChC,CAAC;QACD,OAAO,eAAe,CAAC,MAAM,CAAC;IAChC,CAAC;CACF;AAED,gFAAgF;AAEhF,MAAM,OAAO,wBAAwB;IAC1B,WAAW,CAAc;IACzB,sBAAsB,CAAyB;IAExD,WAAW,GAAgC,EAAE,CAAC;IAC9C,kBAAkB,CAAwC;IAC1D,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5C,oBAAoB,GAAG,KAAK,CAAC;IAC7B,mBAAmB,GAAG,KAAK,CAAC;IAC5B,aAAa,CAAwB;IAErC,YAAY,sBAA8C;QACxD,cAAc,CAAC,IAAI,EAAE;YACnB,WAAW,EAAE,UAAU;YACvB,kBAAkB,EAAE,UAAU;YAC9B,oBAAoB,EAAE,UAAU;YAChC,mBAAmB,EAAE,UAAU;YAC/B,aAAa,EAAE,UAAU;YACzB,qBAAqB,EAAE,MAAM;YAC7B,uBAAuB,EAAE,MAAM;YAC/B,sBAAsB,EAAE,MAAM;YAC9B,gBAAgB,EAAE,MAAM;YACxB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;QACtD,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACvD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,qBAAqB,CAAC,GAA0C;QAC9D,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;IAChC,CAAC;IAED,uBAAuB,CAAC,GAAY;QAClC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;IAClC,CAAC;IAED,sBAAsB,CAAC,GAAY;QACjC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;IACjC,CAAC;IAED,gBAAgB,CAAC,GAA0B;QACzC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,WAAW,CAAC,KAAgB;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACnE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAChE,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,gEAAgE;IAChE,IAAI,sBAAsB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACvD,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,qFAAqF;IACrF,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED,sBAAsB,CAAC,aAAqB;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC3C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,aAAa,CAC9C,CAAC;QACF,OAAO,WAAW;YAChB,CAAC,CAAC,0BAA0B,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,aAAa,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,CAAC,WAAW,CACV,SAAiB,EACjB,QAAgB,EAChB,aAAqB;QAErB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,MAAM,eAAe,GACnB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACzC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC;QAErB,oDAAoD;QACpD,IAAI,eAAe,GAAa,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,2BAA2B,CAC7C,IAAI,CAAC,WAAW,EAChB,EAAE,EACF,aAAa,CACd,CAAyB,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QAED,iFAAiF;QACjF,MAAM,mBAAmB,GAAG,EAAE,CAAC,iBAAiB;aAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;aAC9B,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACzC,MAAM,iBAAiB,GAAG,mBAAmB;YAC3C,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QAEd,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,GAAG,GACP,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,2BAA2B,CAChF,iBAAiB,EACjB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CACzC,CAAe,CAAC;YACnB,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAClC,CAAC,QAAQ,EAAE,EAAE,CACX,6BAA6B,CAAC,QAAQ,CAAC;gBACvC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAC1C,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC5C,MAAM,OAAO,GACX,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,kBAAkB,CACzD,WAAW,CACZ,CAAC;gBACJ,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,GAAG,mCAAmC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvE,MAAM,OAAO,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;gBAC3D,4BAA4B,CAAC,OAAO,CAAC,CAAC;gBACtC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;gBACxB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,kFAAkF;QAClF,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,aAAa,CACjE,2CAA2C,CAC5C,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,MAAM,IAAI,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC9C,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC;QAC1B,MAAM,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAC3E,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,kBAAkB,CAAC,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3C,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;QAC7C,kBAAkB,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QAC5C,SAAS,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9B,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACtE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEnC,MAAM,UAAU,GAAG,IAAI,yBAAyB,CAC9C,IAAI,CAAC,WAAW,EAChB,IAAI,EACJ,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,UAAqC;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,CAAC,WAAW;QACV,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;YACvC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACzE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;CACF"}
@@ -15,7 +15,8 @@
15
15
  */
16
16
  import type { EditorStore } from '../../../../EditorStore.js';
17
17
  import type { FunctionEditorState } from '../../FunctionEditorState.js';
18
- import { type ConcreteFunctionDefinition, type EmbeddedData, type AtomicTest, type EngineRuntime, type ObserverContext, type ValueSpecification, FunctionParameterValue, VariableExpression, FunctionTest, FunctionTestData, FunctionTestSuite } from '@finos/legend-graph';
18
+ import { type GeneratorFn } from '@finos/legend-shared';
19
+ import { type ConcreteFunctionDefinition, type EmbeddedData, type AtomicTest, type EngineRuntime, type ObserverContext, type ValueSpecification, FunctionParameterValue, VariableExpression, FunctionTest, FunctionTestData, FunctionTestSuite, type Accessor } from '@finos/legend-graph';
19
20
  import { TestablePackageableElementEditorState, TestableTestEditorState, TestableTestSuiteEditorState } from '../../testable/TestableEditorState.js';
20
21
  import { EmbeddedDataEditorState } from '../../data/DataEditorState.js';
21
22
  export declare class FunctionStoreTestDataState {
@@ -25,6 +26,8 @@ export declare class FunctionStoreTestDataState {
25
26
  embeddedEditorState: EmbeddedDataEditorState;
26
27
  dataElementModal: boolean;
27
28
  constructor(editorStore: EditorStore, testDataState: FunctionTestDataState, value: FunctionTestData);
29
+ private initAccessorOptions;
30
+ private refreshAccessorOptions;
28
31
  setDataElementModal(val: boolean): void;
29
32
  changeEmbeddedData(val: EmbeddedData): void;
30
33
  }
@@ -74,13 +77,20 @@ declare class FunctionTestDataState {
74
77
  selectedDataState: FunctionStoreTestDataState | undefined;
75
78
  dataHolder: FunctionTestSuite;
76
79
  showNewModal: boolean;
80
+ showAddElementModal: boolean;
77
81
  constructor(editorStore: EditorStore, functionTestableState: FunctionTestableState, holder: FunctionTestSuite);
78
82
  initDefaultStore(): void;
79
83
  setShowModal(val: boolean): void;
84
+ setShowAddElementModal(val: boolean): void;
85
+ get existingElementPaths(): string[];
86
+ get availableElementsToAdd(): {
87
+ path: string;
88
+ }[];
89
+ addDataElement(elementPath: string): void;
80
90
  deleteStoreTestData(val: FunctionTestData): void;
81
91
  openStoreTestData(val: FunctionTestData): void;
82
92
  }
83
- export declare const createFunctionTest: (id: string, observerContext: ObserverContext, containsRuntime: boolean, functionDefinition: ConcreteFunctionDefinition, editorStore: EditorStore, suite?: FunctionTestSuite | undefined) => FunctionTest;
93
+ export declare const createFunctionTest: (id: string, observerContext: ObserverContext, containsRuntime: boolean, functionDefinition: ConcreteFunctionDefinition, editorStore: EditorStore, suite?: FunctionTestSuite | undefined) => Promise<FunctionTest>;
84
94
  export declare class FunctionTestSuiteState extends TestableTestSuiteEditorState {
85
95
  readonly functionTestableState: FunctionTestableState;
86
96
  suite: FunctionTestSuite;
@@ -92,20 +102,24 @@ export declare class FunctionTestSuiteState extends TestableTestSuiteEditorState
92
102
  setShowModal(val: boolean): void;
93
103
  buildTestStates(): FunctionTestState[];
94
104
  buildTestState(val: AtomicTest): FunctionTestState | undefined;
95
- addNewTest(id: string): void;
105
+ addNewTest(id: string): GeneratorFn<void>;
96
106
  }
97
107
  export declare class FunctionTestableState extends TestablePackageableElementEditorState {
98
108
  readonly functionEditorState: FunctionEditorState;
99
109
  selectedTestSuite: FunctionTestSuiteState | undefined;
100
110
  runningSuite: FunctionTestSuite | undefined;
101
111
  createSuiteModal: boolean;
112
+ cachedAccessors: Accessor[];
102
113
  constructor(functionEditorState: FunctionEditorState);
103
114
  get function(): ConcreteFunctionDefinition;
104
115
  get associatedRuntimes(): EngineRuntime[] | undefined;
105
116
  get containsRuntime(): boolean;
117
+ get resolvedIngestOrDataProductAccessors(): Accessor[];
118
+ private buildRawLambdaFromFunction;
119
+ resolveAccessors(): GeneratorFn<void>;
106
120
  init(): void;
107
121
  setCreateSuite(val: boolean): void;
108
- createSuite(suiteName: string, testName: string): void;
122
+ createSuite(suiteName: string, testName: string): GeneratorFn<void>;
109
123
  buildTestSuiteState(val: FunctionTestSuite): FunctionTestSuiteState;
110
124
  changeSuite(suite: FunctionTestSuite): void;
111
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionTestableState.d.ts","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionTestableState.d.ts","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { action, flow, makeObservable, observable } from 'mobx';
17
- import { assertErrorThrown, isNonNullable, uuid, LogEvent, guaranteeNonNullable, addUniqueEntry, uniq, assertTrue, returnUndefOnError, filterByType, deleteEntry, UnsupportedOperationError, } from '@finos/legend-shared';
18
- import { FunctionParameterValue, VariableExpression, FunctionTest, FunctionTestData, FunctionTestSuite, RawLambda, PackageableRuntime, SimpleFunctionExpression, LambdaFunctionInstanceValue, SUPPORTED_FUNCTIONS, matchFunctionName, InstanceValue, PackageableElementReference, Database, PackageableElementExplicitReference, observe_ValueSpecification, buildLambdaVariableExpressions, EqualTo, ModelStore, RelationElementsData, CORE_PURE_PATH, } from '@finos/legend-graph';
16
+ import { action, flow, flowResult, makeObservable, observable } from 'mobx';
17
+ import { assertErrorThrown, isNonNullable, uuid, LogEvent, guaranteeNonNullable, addUniqueEntry, uniq, assertTrue, returnUndefOnError, filterByType, deleteEntry, UnsupportedOperationError, noop, } from '@finos/legend-shared';
18
+ import { FunctionParameterValue, VariableExpression, FunctionTest, FunctionTestData, FunctionTestSuite, RawLambda, PackageableRuntime, SimpleFunctionExpression, LambdaFunctionInstanceValue, SUPPORTED_FUNCTIONS, matchFunctionName, InstanceValue, PackageableElementReference, Database, PackageableElementExplicitReference, observe_ValueSpecification, buildLambdaVariableExpressions, EqualTo, EqualToRelation, RelationElement, observe_RelationElement, ModelStore, RelationElementsData, CORE_PURE_PATH, DataProductAccessor, IngestionAccessor, RelationalStoreAccessor, V1_buildRelationElementsDataFromAccessors, } from '@finos/legend-graph';
19
19
  import { TestablePackageableElementEditorState, TestableTestEditorState, TestableTestSuiteEditorState, } from '../../testable/TestableEditorState.js';
20
20
  import { EmbeddedDataEditorState } from '../../data/DataEditorState.js';
21
+ import { RelationElementsDataState } from '../../data/EmbeddedDataState.js';
21
22
  import { functionTestable_deleteDataStore, functionTestable_setEmbeddedData, function_addParameterValue, function_addTestSuite, function_deleteParameterValue, function_setParameterName, function_setParameterValueSpec, function_setParameterValues, } from '../../../../../graph-modifier/DomainGraphModifierHelper.js';
22
23
  import { DEFAULT_TEST_ASSERTION_ID, createDefaultEqualToJSONTestAssertion, createBareExternalFormat, } from '../../../../utils/TestableUtils.js';
23
24
  import { LEGEND_STUDIO_APP_EVENT } from '../../../../../../__lib__/LegendStudioEvent.js';
@@ -98,6 +99,56 @@ export class FunctionStoreTestDataState {
98
99
  this.embeddedEditorState = new EmbeddedDataEditorState(this.testDataState.editorStore, this.storeTestData.data, {
99
100
  hideSource: true,
100
101
  });
102
+ this.initAccessorOptions();
103
+ }
104
+ initAccessorOptions() {
105
+ const embeddedDataState = this.embeddedEditorState.embeddedDataState;
106
+ if (!(embeddedDataState instanceof RelationElementsDataState)) {
107
+ return;
108
+ }
109
+ this.refreshAccessorOptions(embeddedDataState).catch(noop());
110
+ embeddedDataState.setRefreshAccessorOptions(() => this.refreshAccessorOptions(embeddedDataState));
111
+ }
112
+ async refreshAccessorOptions(embeddedDataState) {
113
+ const parentElement = this.storeTestData.element.value;
114
+ const accessors = this.testDataState.functionTestableState
115
+ .resolvedIngestOrDataProductAccessors;
116
+ const parentAccessors = accessors.filter((a) => a.accessorOwner === parentElement.path);
117
+ if (!parentAccessors.length) {
118
+ embeddedDataState.setAccessorOptions(undefined, undefined);
119
+ return;
120
+ }
121
+ const firstAccessor = parentAccessors[0];
122
+ if (!firstAccessor) {
123
+ embeddedDataState.setAccessorOptions(undefined, undefined);
124
+ return;
125
+ }
126
+ const columnOverrides = new Map();
127
+ for (const accessor of parentAccessors) {
128
+ const cols = accessor.relationType.columns.map((col) => col.name);
129
+ if (cols.length > 0) {
130
+ columnOverrides.set(accessor.accessor, cols);
131
+ }
132
+ }
133
+ const typeLabel = firstAccessor.accessorLabel;
134
+ const options = parentAccessors.map((a) => ({
135
+ label: a.accessor,
136
+ value: a.accessor,
137
+ columns: columnOverrides.get(a.accessor) ?? [],
138
+ }));
139
+ if (columnOverrides.size > 0) {
140
+ for (const relState of embeddedDataState.relationElementStates) {
141
+ const rel = relState.relationElement;
142
+ if (rel.columns.length === 0) {
143
+ const key = rel.paths[rel.paths.length - 1];
144
+ const cols = key ? columnOverrides.get(key) : undefined;
145
+ if (cols) {
146
+ rel.columns = cols;
147
+ }
148
+ }
149
+ }
150
+ }
151
+ embeddedDataState.setAccessorOptions(options, typeLabel);
101
152
  }
102
153
  setDataElementModal(val) {
103
154
  this.dataElementModal = val;
@@ -307,14 +358,18 @@ class FunctionTestDataState {
307
358
  selectedDataState;
308
359
  dataHolder;
309
360
  showNewModal = false;
361
+ showAddElementModal = false;
310
362
  constructor(editorStore, functionTestableState, holder) {
311
363
  makeObservable(this, {
312
364
  selectedDataState: observable,
313
365
  dataHolder: observable,
314
366
  showNewModal: observable,
367
+ showAddElementModal: observable,
315
368
  initDefaultStore: action,
316
369
  setShowModal: action,
370
+ setShowAddElementModal: action,
317
371
  deleteStoreTestData: action,
372
+ addDataElement: action,
318
373
  openStoreTestData: action,
319
374
  });
320
375
  this.editorStore = editorStore;
@@ -334,6 +389,40 @@ class FunctionTestDataState {
334
389
  setShowModal(val) {
335
390
  this.showNewModal = val;
336
391
  }
392
+ setShowAddElementModal(val) {
393
+ this.showAddElementModal = val;
394
+ }
395
+ get existingElementPaths() {
396
+ return (this.dataHolder.testData ?? []).map((td) => td.element.value.path);
397
+ }
398
+ get availableElementsToAdd() {
399
+ const accessors = this.functionTestableState.resolvedIngestOrDataProductAccessors;
400
+ const existingPaths = new Set(this.existingElementPaths);
401
+ const parentPaths = new Set();
402
+ for (const accessor of accessors) {
403
+ const parentPath = accessor.path[0];
404
+ if (parentPath && !existingPaths.has(parentPath)) {
405
+ parentPaths.add(parentPath);
406
+ }
407
+ }
408
+ return Array.from(parentPaths).map((path) => ({ path }));
409
+ }
410
+ addDataElement(elementPath) {
411
+ const accessors = this.functionTestableState.resolvedIngestOrDataProductAccessors;
412
+ const group = accessors.filter((a) => a.path[0] === elementPath);
413
+ if (!group.length) {
414
+ return;
415
+ }
416
+ const element = this.editorStore.graphManagerState.graph.getElement(elementPath);
417
+ const data = new FunctionTestData();
418
+ data.element = PackageableElementExplicitReference.create(element);
419
+ data.data = V1_buildRelationElementsDataFromAccessors(group);
420
+ if (!this.dataHolder.testData) {
421
+ this.dataHolder.testData = [];
422
+ }
423
+ this.dataHolder.testData.push(data);
424
+ this.openStoreTestData(data);
425
+ }
337
426
  deleteStoreTestData(val) {
338
427
  functionTestable_deleteDataStore(this.dataHolder, val);
339
428
  this.initDefaultStore();
@@ -342,18 +431,41 @@ class FunctionTestDataState {
342
431
  this.selectedDataState = new FunctionStoreTestDataState(this.editorStore, this, val);
343
432
  }
344
433
  }
345
- export const createFunctionTest = (id, observerContext, containsRuntime, functionDefinition, editorStore, suite) => {
434
+ export const createFunctionTest = async (id, observerContext, containsRuntime, functionDefinition, editorStore, suite) => {
346
435
  const funcionTest = new FunctionTest();
347
436
  funcionTest.id = id;
348
437
  funcionTest.assertions = [];
349
438
  let _assertion;
350
- if (containsRuntime) {
439
+ const type = functionDefinition.returnType.value.rawType;
440
+ if (type.path === CORE_PURE_PATH.RELATION ||
441
+ type.path === CORE_PURE_PATH.TABULAR_DATASET) {
442
+ const assertion = new EqualToRelation();
443
+ assertion.id = DEFAULT_TEST_ASSERTION_ID;
444
+ const expectedRelElement = new RelationElement();
445
+ expectedRelElement.paths = [];
446
+ expectedRelElement.rows = [];
447
+ let inferredColumns = [];
448
+ if (type.path === CORE_PURE_PATH.RELATION) {
449
+ try {
450
+ const rawLambda = new RawLambda(functionDefinition.parameters.map((_param) => editorStore.graphManagerState.graphManager.serializeRawValueSpecification(_param)), functionDefinition.expressionSequence);
451
+ const relationTypeMetadata = await editorStore.graphManagerState.graphManager.getLambdaRelationType(rawLambda, editorStore.graphManagerState.graph);
452
+ inferredColumns = relationTypeMetadata.columns.map((col) => col.name);
453
+ }
454
+ catch {
455
+ // best-effort: leave columns empty
456
+ }
457
+ }
458
+ expectedRelElement.columns = inferredColumns;
459
+ observe_RelationElement(expectedRelElement);
460
+ assertion.expected = expectedRelElement;
461
+ _assertion = assertion;
462
+ }
463
+ else if (containsRuntime) {
351
464
  _assertion = createDefaultEqualToJSONTestAssertion(DEFAULT_TEST_ASSERTION_ID);
352
465
  }
353
466
  else {
354
467
  const equalTo = new EqualTo();
355
468
  equalTo.id = DEFAULT_TEST_ASSERTION_ID;
356
- const type = functionDefinition.returnType.value.rawType;
357
469
  const valSpec = buildDefaultInstanceValue(editorStore.graphManagerState.graph, type, editorStore.changeDetectionState.observerContext, true);
358
470
  const expected = editorStore.graphManagerState.graphManager.serializeValueSpecification(valSpec);
359
471
  equalTo.expected = expected;
@@ -387,7 +499,7 @@ export class FunctionTestSuiteState extends TestableTestSuiteEditorState {
387
499
  deleteTest: action,
388
500
  buildTestStates: action,
389
501
  setShowModal: action,
390
- addNewTest: action,
502
+ addNewTest: flow,
391
503
  });
392
504
  this.functionTestableState = functionTestableState;
393
505
  this.suite = suite;
@@ -409,8 +521,8 @@ export class FunctionTestSuiteState extends TestableTestSuiteEditorState {
409
521
  }
410
522
  return undefined;
411
523
  }
412
- addNewTest(id) {
413
- const test = createFunctionTest(id, this.editorStore.changeDetectionState.observerContext, this.functionTestableState.containsRuntime, this.functionTestableState.function, this.editorStore, this.suite);
524
+ *addNewTest(id) {
525
+ const test = (yield createFunctionTest(id, this.editorStore.changeDetectionState.observerContext, this.functionTestableState.containsRuntime, this.functionTestableState.function, this.editorStore, this.suite));
414
526
  testSuite_addTest(this.suite, test, this.functionTestableState.editorStore.changeDetectionState
415
527
  .observerContext);
416
528
  const testState = this.buildTestState(test);
@@ -423,6 +535,7 @@ export class FunctionTestSuiteState extends TestableTestSuiteEditorState {
423
535
  export class FunctionTestableState extends TestablePackageableElementEditorState {
424
536
  functionEditorState;
425
537
  createSuiteModal = false;
538
+ cachedAccessors = [];
426
539
  constructor(functionEditorState) {
427
540
  super(functionEditorState, functionEditorState.functionElement);
428
541
  makeObservable(this, {
@@ -433,6 +546,7 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
433
546
  runningSuite: observable,
434
547
  testableComponentToRename: observable,
435
548
  createSuiteModal: observable,
549
+ cachedAccessors: observable,
436
550
  init: action,
437
551
  buildTestSuiteState: action,
438
552
  deleteTestSuite: action,
@@ -441,6 +555,8 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
441
555
  setRenameComponent: action,
442
556
  clearTestResultsForSuite: action,
443
557
  setCreateSuite: action,
558
+ resolveAccessors: flow,
559
+ createSuite: flow,
444
560
  runTestable: flow,
445
561
  runSuite: flow,
446
562
  runAllFailingSuites: flow,
@@ -457,6 +573,22 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
457
573
  get containsRuntime() {
458
574
  return Boolean(this.associatedRuntimes?.length);
459
575
  }
576
+ get resolvedIngestOrDataProductAccessors() {
577
+ return this.cachedAccessors.filter((a) => a instanceof DataProductAccessor || a instanceof IngestionAccessor);
578
+ }
579
+ buildRawLambdaFromFunction() {
580
+ return new RawLambda(this.function.parameters.map((_param) => this.editorStore.graphManagerState.graphManager.serializeRawValueSpecification(_param)), this.function.expressionSequence);
581
+ }
582
+ *resolveAccessors() {
583
+ try {
584
+ const rawLambda = this.buildRawLambdaFromFunction();
585
+ this.cachedAccessors =
586
+ (yield this.editorStore.graphManagerState.graphManager.collectAccessorsInRawLambda(rawLambda, this.editorStore.graphManagerState.graph));
587
+ }
588
+ catch {
589
+ this.cachedAccessors = [];
590
+ }
591
+ }
460
592
  init() {
461
593
  if (!this.selectedTestSuite) {
462
594
  const suite = this.function.tests[0];
@@ -464,62 +596,91 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
464
596
  ? this.buildTestSuiteState(suite)
465
597
  : undefined;
466
598
  }
599
+ flowResult(this.resolveAccessors()).catch(noop);
467
600
  }
468
601
  setCreateSuite(val) {
469
602
  this.createSuiteModal = val;
470
603
  }
471
- createSuite(suiteName, testName) {
604
+ *createSuite(suiteName, testName) {
472
605
  const functionSuite = new FunctionTestSuite();
473
606
  functionSuite.id = suiteName;
474
- const engineRuntimes = this.associatedRuntimes;
475
- if (!engineRuntimes?.length) {
476
- const type = this.function.returnType.value.rawType;
477
- if (type.path === CORE_PURE_PATH.RELATION ||
478
- type.path === CORE_PURE_PATH.TABULAR_DATASET) {
479
- this.editorStore.applicationStore.notificationService.notifyWarning(`Unable to find runtime or function contains accessors incompatible for test suite creation`);
480
- return;
481
- }
482
- }
483
- else {
484
- try {
485
- assertTrue(engineRuntimes.length === 1, `Function Test Suite Only supports One Runtime at this time. Found ${engineRuntimes.length}`);
486
- const engineRuntime = guaranteeNonNullable(engineRuntimes[0]);
487
- assertTrue(!(engineRuntime.connectionStores.length &&
488
- engineRuntime.connections.length), `Runtime found has two connection types defined. Please use connection stores only`);
489
- const stores = [
490
- ...engineRuntime.connections
491
- .map((e) => e.storeConnections.map((s) => s.connection.store?.value).flat())
492
- .flat(),
493
- ...engineRuntime.connectionStores
494
- .map((e) => e.storePointers.map((sPt) => sPt.value))
495
- .flat(),
496
- ].filter(isNonNullable);
497
- assertTrue(Boolean(stores.length), 'No runtime store found');
498
- assertTrue(stores.length === 1, 'Only one store supported in runtime for function tests');
499
- const store = guaranteeNonNullable(stores[0]);
500
- const data = new FunctionTestData();
501
- if (store instanceof Database) {
502
- const relation = new RelationElementsData();
503
- data.element = PackageableElementExplicitReference.create(store);
504
- data.data = relation;
607
+ yield flowResult(this.resolveAccessors());
608
+ const ingestOrDataProductAccessors = this.resolvedIngestOrDataProductAccessors;
609
+ const databaseAccessors = this.cachedAccessors.filter((a) => a instanceof RelationalStoreAccessor);
610
+ try {
611
+ if (ingestOrDataProductAccessors.length) {
612
+ // Group by parent element path and create test data per parent
613
+ const parentElementMap = new Map();
614
+ for (const accessor of ingestOrDataProductAccessors) {
615
+ const key = accessor.accessorOwner;
616
+ if (key) {
617
+ const group = parentElementMap.get(key) ?? [];
618
+ group.push(accessor);
619
+ parentElementMap.set(key, group);
620
+ }
505
621
  }
506
- else if (store instanceof ModelStore) {
507
- const modelStoreData = createBareExternalFormat();
508
- data.element = PackageableElementExplicitReference.create(store);
509
- data.data = modelStoreData;
622
+ functionSuite.testData = Array.from(parentElementMap.entries()).map(([parentPath, group]) => {
623
+ const data = new FunctionTestData();
624
+ const element = this.editorStore.graphManagerState.graph.getElement(parentPath);
625
+ data.element = PackageableElementExplicitReference.create(element);
626
+ data.data = V1_buildRelationElementsDataFromAccessors(group);
627
+ return data;
628
+ });
629
+ }
630
+ else {
631
+ // No ingest/data product accessors found — try runtime-based approach
632
+ const engineRuntimes = this.associatedRuntimes;
633
+ if (engineRuntimes?.length) {
634
+ assertTrue(engineRuntimes.length === 1, `Function Test Suite Only supports One Runtime at this time. Found ${engineRuntimes.length}`);
635
+ const engineRuntime = guaranteeNonNullable(engineRuntimes[0]);
636
+ assertTrue(!(engineRuntime.connectionStores.length &&
637
+ engineRuntime.connections.length), `Runtime found has two connection types defined. Please use connection stores only`);
638
+ const stores = [
639
+ ...engineRuntime.connections
640
+ .map((e) => e.storeConnections.map((s) => s.connection.store?.value).flat())
641
+ .flat(),
642
+ ...engineRuntime.connectionStores
643
+ .map((e) => e.storePointers.map((sPt) => sPt.value))
644
+ .flat(),
645
+ ].filter(isNonNullable);
646
+ assertTrue(Boolean(stores.length), 'No runtime store found');
647
+ assertTrue(stores.length === 1, 'Only one store supported in runtime for function tests');
648
+ const store = guaranteeNonNullable(stores[0]);
649
+ const data = new FunctionTestData();
650
+ if (store instanceof Database) {
651
+ const relation = new RelationElementsData();
652
+ data.element = PackageableElementExplicitReference.create(store);
653
+ data.data = relation;
654
+ }
655
+ else if (store instanceof ModelStore) {
656
+ const modelStoreData = createBareExternalFormat();
657
+ data.element = PackageableElementExplicitReference.create(store);
658
+ data.data = modelStoreData;
659
+ }
660
+ else {
661
+ throw new UnsupportedOperationError(`function test store data does not support store: ${store.path}`);
662
+ }
663
+ functionSuite.testData = [data];
510
664
  }
511
665
  else {
512
- throw new UnsupportedOperationError(`function test store data does not support store: ${store.path}`);
666
+ const type = this.function.returnType.value.rawType;
667
+ if (type.path === CORE_PURE_PATH.RELATION ||
668
+ type.path === CORE_PURE_PATH.TABULAR_DATASET) {
669
+ this.editorStore.applicationStore.notificationService.notifyError(`Unable to create function test suite: no runtime or accessors found, or they could not be resolved`);
670
+ return;
671
+ }
513
672
  }
514
- functionSuite.testData = [data];
515
- }
516
- catch (error) {
517
- assertErrorThrown(error);
518
- this.editorStore.applicationStore.notificationService.notifyError(`Unable to create function test suite: ${error.message}`);
519
- return;
520
673
  }
521
674
  }
522
- createFunctionTest(testName, this.editorStore.changeDetectionState.observerContext, this.containsRuntime, this.function, this.editorStore, functionSuite);
675
+ catch (error) {
676
+ assertErrorThrown(error);
677
+ this.editorStore.applicationStore.notificationService.notifyError(`Unable to create function test suite: ${error.message}`);
678
+ return;
679
+ }
680
+ const hasTestData = this.containsRuntime ||
681
+ ingestOrDataProductAccessors.length > 0 ||
682
+ databaseAccessors.length > 0;
683
+ yield createFunctionTest(testName, this.editorStore.changeDetectionState.observerContext, hasTestData, this.function, this.editorStore, functionSuite);
523
684
  // set test suite
524
685
  function_addTestSuite(this.function, functionSuite, this.editorStore.changeDetectionState.observerContext);
525
686
  this.changeSuite(functionSuite);