arctrl 3.0.0__py3-none-any.whl

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 (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,1941 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_library.list import (of_seq, singleton, map, FSharpList, empty as empty_1, cons, of_array)
5
+ from ..fable_library.option import (value as value_1, default_arg, map as map_2, some)
6
+ from ..fable_library.range import range_big_int
7
+ from ..fable_library.reflection import (TypeInfo, class_type)
8
+ from ..fable_library.seq import (length, to_list, delay, append, singleton as singleton_1, collect, item, empty, is_empty, map as map_1)
9
+ from ..fable_library.string_ import (to_text, printf, join, split)
10
+ from ..fable_library.types import Array
11
+ from ..fable_library.util import (IEnumerable_1, equals)
12
+ from .formatting import (Generic_formatComment, Flowchart_formatNode, Flowchart_formatLink, Generic_formatDirection, Flowchart_formatSubgraph, Generic_formatClickHref, Flowchart_formatLinkStyles, Flowchart_formatNodeStyles, Generic_formatClassDef, Generic_formatClass, Sequence_formatParticipant, Sequence_formatActor, Sequence_formatCreate, Sequence_formatDestroy, Sequence_formatBox, Sequence_formatMessage, Generic_formatNote, Sequence_formatNoteSpanning, ClassDiagram_formatClass, ClassDiagram_formatClassMember, ClassDiagram_formatClassAttr, ClassDiagram_formatClassFunction, ClassDiagram_formatMember, ClassDiagram_formatAttr, ClassDiagram_formatFunction, ClassDiagram_formatRelationship, ClassDiagram_formatRelationshipCustom, ClassDiagram_formatAnnotation, ClassDiagram_formatNote, ClassDiagram_formatClassStyles, ClassDiagram_formatCssClass, StateDiagram_formatState, StateDiagram_formatTransition, StateDiagram_formatNoteWrapper, ERDiagram_formatAttribute, ERDiagram_formatEntityWrapper, ERDiagram_formatEntityNode, ERDiagram_formatRelationship, UserJourney_formatTask, Gantt_formatTask, Siren_GanttUnit__GanttUnit_ToFormatString, PieChart_formatData, QuadrantChart_formatXAxis, QuadrantChart_formatYAxis, QuadrantChart_formatPoint, RequirementDiagram_createRequirement, RequirementDiagram_createElement, RequirementDiagram_formatRelationship, Git_formatCommit, Git_formatMerge, Git_formatCherryPick, Mindmap_handleNodeChildren, Mindmap_formatNode, Timeline_formatSingle, Timeline_createMultiple, Sankey_formatLink, Sankey_createLinks, XYChart_formatXAxis, XYChart_formatXAxisRange, XYChart_formatYAxis, XYChart_formatLine, XYChart_formatBar, Block_formatBlockType, Block_formatBlockArrow, Block_formatEmptyBlockArrow, Block_formatSpace, Block_formatLink, Block_formatStyle, Block_formatClass)
13
+ from .siren_types import (Direction, FlowchartElement, FlowchartNodeTypes, FlowchartLinkTypes, NotePosition, SequenceElement, SequenceMessageTypes, ClassMemberVisibility, ClassMemberClassifier, ClassRelationshipDirection, ClassCardinality, ClassRelationshipType, ClassDiagramElement, StateDiagramElement, ERKeyType, ERCardinalityType, ERDiagramElement, ERAttribute, JourneyElement, GanttTags, GanttUnit, GanttElement, PieChartElement, QuadrantElement, RDRiskType, RDVerifyMethod, RequirementDiagramElement, RDRelationship, GitCommitType, GitGraphElement, MindmapElement, MindmapShape, TimelineElement, SankeyElement, XYChartElement, BlockElement, BlockBlockType, BlockArrowDirection, SirenGraph, SirenElement, ConfigVariable, ThemeVariable)
14
+ from .util import Option_defaultBind
15
+ from .yaml import (Yaml_write, Yaml_root)
16
+
17
+ __M = TypeVar("__M")
18
+
19
+ __I = TypeVar("__I")
20
+
21
+ __F = TypeVar("__F")
22
+
23
+ __A = TypeVar("__A")
24
+
25
+ __E = TypeVar("__E")
26
+
27
+ __D = TypeVar("__D")
28
+
29
+ __C = TypeVar("__C")
30
+
31
+ __B = TypeVar("__B")
32
+
33
+ def _expr196() -> TypeInfo:
34
+ return class_type("Siren.formatting", None, formatting)
35
+
36
+
37
+ class formatting:
38
+ @staticmethod
39
+ def unicode(txt: str) -> str:
40
+ return ("\"" + txt) + "\""
41
+
42
+ @staticmethod
43
+ def markdown(txt: str) -> str:
44
+ return ("\"`" + txt) + "`\""
45
+
46
+ @staticmethod
47
+ def comment(txt: str) -> str:
48
+ return Generic_formatComment(txt)
49
+
50
+ @staticmethod
51
+ def protected_whitespace() -> str:
52
+ return " "
53
+
54
+
55
+ formatting_reflection = _expr196
56
+
57
+ def _expr197() -> TypeInfo:
58
+ return class_type("Siren.direction", None, direction)
59
+
60
+
61
+ class direction:
62
+ @staticmethod
63
+ def tb() -> Direction:
64
+ return Direction(0)
65
+
66
+ @staticmethod
67
+ def td() -> Direction:
68
+ return Direction(1)
69
+
70
+ @staticmethod
71
+ def bt() -> Direction:
72
+ return Direction(2)
73
+
74
+ @staticmethod
75
+ def rl() -> Direction:
76
+ return Direction(3)
77
+
78
+ @staticmethod
79
+ def lr() -> Direction:
80
+ return Direction(4)
81
+
82
+ @staticmethod
83
+ def top_to_bottom() -> Direction:
84
+ return direction.tb()
85
+
86
+ @staticmethod
87
+ def top_down() -> Direction:
88
+ return direction.td()
89
+
90
+ @staticmethod
91
+ def bottom_to_top() -> Direction:
92
+ return direction.bt()
93
+
94
+ @staticmethod
95
+ def right_to_left() -> Direction:
96
+ return direction.rl()
97
+
98
+ @staticmethod
99
+ def left_to_right() -> Direction:
100
+ return direction.lr()
101
+
102
+ @staticmethod
103
+ def custom(str_1: str) -> Direction:
104
+ return Direction(5, str_1)
105
+
106
+
107
+ direction_reflection = _expr197
108
+
109
+ def _expr198() -> TypeInfo:
110
+ return class_type("Siren.flowchart", None, flowchart)
111
+
112
+
113
+ class flowchart:
114
+ @staticmethod
115
+ def raw(txt: str) -> FlowchartElement:
116
+ return FlowchartElement(0, txt)
117
+
118
+ @staticmethod
119
+ def id(txt: str) -> FlowchartElement:
120
+ return FlowchartElement(0, txt)
121
+
122
+ @staticmethod
123
+ def node(id: str, name: str | None=None) -> FlowchartElement:
124
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(0)))
125
+
126
+ @staticmethod
127
+ def node_round(id: str, name: str | None=None) -> FlowchartElement:
128
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(1)))
129
+
130
+ @staticmethod
131
+ def node_stadium(id: str, name: str | None=None) -> FlowchartElement:
132
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(2)))
133
+
134
+ @staticmethod
135
+ def node_subroutine(id: str, name: str | None=None) -> FlowchartElement:
136
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(3)))
137
+
138
+ @staticmethod
139
+ def node_cylindrical(id: str, name: str | None=None) -> FlowchartElement:
140
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(4)))
141
+
142
+ @staticmethod
143
+ def node_circle(id: str, name: str | None=None) -> FlowchartElement:
144
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(5)))
145
+
146
+ @staticmethod
147
+ def node_asymmetric(id: str, name: str | None=None) -> FlowchartElement:
148
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(6)))
149
+
150
+ @staticmethod
151
+ def node_rhombus(id: str, name: str | None=None) -> FlowchartElement:
152
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(7)))
153
+
154
+ @staticmethod
155
+ def node_hexagon(id: str, name: str | None=None) -> FlowchartElement:
156
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(8)))
157
+
158
+ @staticmethod
159
+ def node_parallelogram(id: str, name: str | None=None) -> FlowchartElement:
160
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(9)))
161
+
162
+ @staticmethod
163
+ def node_parallelogram_alt(id: str, name: str | None=None) -> FlowchartElement:
164
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(10)))
165
+
166
+ @staticmethod
167
+ def node_trapezoid(id: str, name: str | None=None) -> FlowchartElement:
168
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(11)))
169
+
170
+ @staticmethod
171
+ def node_trapezoid_alt(id: str, name: str | None=None) -> FlowchartElement:
172
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(12)))
173
+
174
+ @staticmethod
175
+ def node_double_circle(id: str, name: str | None=None) -> FlowchartElement:
176
+ return FlowchartElement(0, Flowchart_formatNode(id, name, FlowchartNodeTypes(13)))
177
+
178
+ @staticmethod
179
+ def link_arrow(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
180
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(0), message, added_length))
181
+
182
+ @staticmethod
183
+ def link_arrow_double(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
184
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(9), message, added_length))
185
+
186
+ @staticmethod
187
+ def link_open(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
188
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(1), message, added_length))
189
+
190
+ @staticmethod
191
+ def link_dotted(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
192
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(2), message, added_length))
193
+
194
+ @staticmethod
195
+ def link_dotted_arrow(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
196
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(3), message, added_length))
197
+
198
+ @staticmethod
199
+ def link_thick(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
200
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(4), message, added_length))
201
+
202
+ @staticmethod
203
+ def link_thick_arrow(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
204
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(5), message, added_length))
205
+
206
+ @staticmethod
207
+ def link_invisible(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
208
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(6), message, added_length))
209
+
210
+ @staticmethod
211
+ def link_circle_edge(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
212
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(7), message, added_length))
213
+
214
+ @staticmethod
215
+ def link_circle_double(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
216
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(10), message, added_length))
217
+
218
+ @staticmethod
219
+ def link_cross_edge(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
220
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(8), message, added_length))
221
+
222
+ @staticmethod
223
+ def link_cross_double(id1: str, id2: str, message: str | None=None, added_length: int | None=None) -> FlowchartElement:
224
+ return FlowchartElement(0, Flowchart_formatLink(id1, id2, FlowchartLinkTypes(11), message, added_length))
225
+
226
+ @staticmethod
227
+ def direction(direction_1: Direction) -> FlowchartElement:
228
+ return FlowchartElement(0, Generic_formatDirection(direction_1))
229
+
230
+ @staticmethod
231
+ def direction_tb() -> FlowchartElement:
232
+ return FlowchartElement(0, Generic_formatDirection(Direction(0)))
233
+
234
+ @staticmethod
235
+ def direction_td() -> FlowchartElement:
236
+ return FlowchartElement(0, Generic_formatDirection(Direction(1)))
237
+
238
+ @staticmethod
239
+ def direction_bt() -> FlowchartElement:
240
+ return FlowchartElement(0, Generic_formatDirection(Direction(2)))
241
+
242
+ @staticmethod
243
+ def direction_rl() -> FlowchartElement:
244
+ return FlowchartElement(0, Generic_formatDirection(Direction(3)))
245
+
246
+ @staticmethod
247
+ def direction_lr() -> FlowchartElement:
248
+ return FlowchartElement(0, Generic_formatDirection(Direction(4)))
249
+
250
+ @staticmethod
251
+ def subgraph_named(id: str, name: str, children: Any) -> FlowchartElement:
252
+ return FlowchartElement(1, Flowchart_formatSubgraph(id, name), "end", of_seq(children))
253
+
254
+ @staticmethod
255
+ def subgraph(id: str, children: Any) -> FlowchartElement:
256
+ return FlowchartElement(1, Flowchart_formatSubgraph(id, None), "end", of_seq(children))
257
+
258
+ @staticmethod
259
+ def click_href(id: str, url: str, tooltip: str | None=None) -> FlowchartElement:
260
+ return FlowchartElement(0, Generic_formatClickHref(id, url, tooltip))
261
+
262
+ @staticmethod
263
+ def comment(txt: str) -> FlowchartElement:
264
+ return FlowchartElement(0, Generic_formatComment(txt))
265
+
266
+ @staticmethod
267
+ def styles_link(link_order_id: int, styles: Any) -> FlowchartElement:
268
+ return FlowchartElement(0, Flowchart_formatLinkStyles(singleton(link_order_id), of_seq(styles)))
269
+
270
+ @staticmethod
271
+ def styles_links(link_order_ids: Any, styles: Any) -> FlowchartElement:
272
+ return FlowchartElement(0, Flowchart_formatLinkStyles(of_seq(link_order_ids), of_seq(styles)))
273
+
274
+ @staticmethod
275
+ def styles_node(node_id: str, styles: Any) -> FlowchartElement:
276
+ return FlowchartElement(0, Flowchart_formatNodeStyles(singleton(node_id), of_seq(styles)))
277
+
278
+ @staticmethod
279
+ def class_def(class_name: str, styles: Any) -> FlowchartElement:
280
+ return FlowchartElement(0, Generic_formatClassDef(class_name, of_seq(styles)))
281
+
282
+ @staticmethod
283
+ def class_(node_ids: Any, class_name: str) -> FlowchartElement:
284
+ return FlowchartElement(0, Generic_formatClass(of_seq(node_ids), class_name))
285
+
286
+
287
+ flowchart_reflection = _expr198
288
+
289
+ def _expr199() -> TypeInfo:
290
+ return class_type("Siren.notePosition", None, note_position)
291
+
292
+
293
+ class note_position:
294
+ @staticmethod
295
+ def over() -> NotePosition:
296
+ return NotePosition(0)
297
+
298
+ @staticmethod
299
+ def right_of() -> NotePosition:
300
+ return NotePosition(1)
301
+
302
+ @staticmethod
303
+ def left_of() -> NotePosition:
304
+ return NotePosition(2)
305
+
306
+
307
+ note_position_reflection = _expr199
308
+
309
+ def _expr209() -> TypeInfo:
310
+ return class_type("Siren.sequence", None, sequence)
311
+
312
+
313
+ class sequence:
314
+ @staticmethod
315
+ def raw(txt: str) -> SequenceElement:
316
+ return SequenceElement(0, txt)
317
+
318
+ @staticmethod
319
+ def participant(name: str, alias: str | None=None) -> SequenceElement:
320
+ return SequenceElement(0, Sequence_formatParticipant(name, alias))
321
+
322
+ @staticmethod
323
+ def actor(name: str, alias: str | None=None) -> SequenceElement:
324
+ return SequenceElement(0, Sequence_formatActor(name, alias))
325
+
326
+ @staticmethod
327
+ def create_participant(name: str, alias: str | None=None) -> SequenceElement:
328
+ return SequenceElement(0, Sequence_formatCreate(Sequence_formatParticipant, name, alias))
329
+
330
+ @staticmethod
331
+ def create_actor(name: str, alias: str | None=None) -> SequenceElement:
332
+ return SequenceElement(0, Sequence_formatCreate(Sequence_formatActor, name, alias))
333
+
334
+ @staticmethod
335
+ def destroy(id: str) -> SequenceElement:
336
+ return SequenceElement(0, Sequence_formatDestroy(id))
337
+
338
+ @staticmethod
339
+ def box(name: str, children: Any) -> SequenceElement:
340
+ return SequenceElement(1, Sequence_formatBox(name, None), "end", of_seq(children))
341
+
342
+ @staticmethod
343
+ def box_colored(name: str, color: str, children: Any) -> SequenceElement:
344
+ return SequenceElement(1, Sequence_formatBox(name, color), "end", of_seq(children))
345
+
346
+ @staticmethod
347
+ def message(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
348
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(0), message, activate))
349
+
350
+ @staticmethod
351
+ def message_solid(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
352
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(0), message, activate))
353
+
354
+ @staticmethod
355
+ def message_dotted(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
356
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(1), message, activate))
357
+
358
+ @staticmethod
359
+ def message_arrow(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
360
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(2), message, activate))
361
+
362
+ @staticmethod
363
+ def message_dotted_arrow(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
364
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(3), message, activate))
365
+
366
+ @staticmethod
367
+ def message_cross(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
368
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(4), message, activate))
369
+
370
+ @staticmethod
371
+ def message_dotted_cross(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
372
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(5), message, activate))
373
+
374
+ @staticmethod
375
+ def message_open_arrow(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
376
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(6), message, activate))
377
+
378
+ @staticmethod
379
+ def message_dotted_open_arrow(a1: str, a2: str, message: str, activate: bool | None=None) -> SequenceElement:
380
+ return SequenceElement(0, Sequence_formatMessage(a1, a2, SequenceMessageTypes(7), message, activate))
381
+
382
+ @staticmethod
383
+ def activate(id: str) -> SequenceElement:
384
+ return SequenceElement(0, to_text(printf("activate %s"))(id))
385
+
386
+ @staticmethod
387
+ def deactivate(id: str) -> SequenceElement:
388
+ return SequenceElement(0, to_text(printf("deactivate %s"))(id))
389
+
390
+ @staticmethod
391
+ def note(id: str, text: str, note_position: NotePosition | None=None) -> SequenceElement:
392
+ return SequenceElement(0, Generic_formatNote(id, note_position, text))
393
+
394
+ @staticmethod
395
+ def note_spanning(id1: str, id2: str, text: str, note_position: NotePosition | None=None) -> SequenceElement:
396
+ return SequenceElement(0, Sequence_formatNoteSpanning(id1, id2, note_position, text))
397
+
398
+ @staticmethod
399
+ def loop(name: str, children: Any) -> SequenceElement:
400
+ return SequenceElement(1, to_text(printf("loop %s"))(name), "end", of_seq(children))
401
+
402
+ @staticmethod
403
+ def alt(name: str, children: Any, else_list: Any) -> SequenceElement:
404
+ else_items: int = length(else_list) or 0
405
+ alt_closer: str = "end" if (else_items == 0) else ""
406
+ last: int = (else_items - 1) or 0
407
+ def _arrow202(__unit: None=None) -> IEnumerable_1[SequenceElement]:
408
+ def _arrow201(__unit: None=None) -> IEnumerable_1[SequenceElement]:
409
+ def _arrow200(i: int) -> IEnumerable_1[SequenceElement]:
410
+ pattern_input: tuple[str, __M] = item(i, else_list)
411
+ closer: str = "end" if (i == last) else ""
412
+ return singleton_1(SequenceElement(1, to_text(printf("else %s"))(pattern_input[0]), closer, of_seq(pattern_input[1])))
413
+
414
+ return collect(_arrow200, range_big_int(0, 1, last)) if (else_items != 0) else empty()
415
+
416
+ return append(singleton_1(SequenceElement(1, to_text(printf("alt %s"))(name), alt_closer, of_seq(children))), delay(_arrow201))
417
+
418
+ return SequenceElement(2, to_list(delay(_arrow202)))
419
+
420
+ @staticmethod
421
+ def opt(name: str, children: Any) -> SequenceElement:
422
+ return SequenceElement(1, to_text(printf("opt %s"))(name), "end", of_seq(children))
423
+
424
+ @staticmethod
425
+ def par(name: str, children: Any, and_list: Any) -> SequenceElement:
426
+ else_items: int = length(and_list) or 0
427
+ alt_closer: str = "end" if (else_items == 0) else ""
428
+ last: int = (else_items - 1) or 0
429
+ def _arrow205(__unit: None=None) -> IEnumerable_1[SequenceElement]:
430
+ def _arrow204(__unit: None=None) -> IEnumerable_1[SequenceElement]:
431
+ def _arrow203(i: int) -> IEnumerable_1[SequenceElement]:
432
+ pattern_input: tuple[str, __I] = item(i, and_list)
433
+ closer: str = "end" if (i == last) else ""
434
+ return singleton_1(SequenceElement(1, to_text(printf("and %s"))(pattern_input[0]), closer, of_seq(pattern_input[1])))
435
+
436
+ return collect(_arrow203, range_big_int(0, 1, last)) if (else_items != 0) else empty()
437
+
438
+ return append(singleton_1(SequenceElement(1, to_text(printf("par %s"))(name), alt_closer, of_seq(children))), delay(_arrow204))
439
+
440
+ return SequenceElement(2, to_list(delay(_arrow205)))
441
+
442
+ @staticmethod
443
+ def critical(name: str, children: Any, option_list: Any) -> SequenceElement:
444
+ else_items: int = length(option_list) or 0
445
+ alt_closer: str = "end" if (else_items == 0) else ""
446
+ last: int = (else_items - 1) or 0
447
+ def _arrow208(__unit: None=None) -> IEnumerable_1[SequenceElement]:
448
+ def _arrow207(__unit: None=None) -> IEnumerable_1[SequenceElement]:
449
+ def _arrow206(i: int) -> IEnumerable_1[SequenceElement]:
450
+ pattern_input: tuple[str, __F] = item(i, option_list)
451
+ closer: str = "end" if (i == last) else ""
452
+ return singleton_1(SequenceElement(1, to_text(printf("option %s"))(pattern_input[0]), closer, of_seq(pattern_input[1])))
453
+
454
+ return collect(_arrow206, range_big_int(0, 1, last)) if (else_items != 0) else empty()
455
+
456
+ return append(singleton_1(SequenceElement(1, to_text(printf("critical %s"))(name), alt_closer, of_seq(children))), delay(_arrow207))
457
+
458
+ return SequenceElement(2, to_list(delay(_arrow208)))
459
+
460
+ @staticmethod
461
+ def break_seq(name: str, children: Any) -> SequenceElement:
462
+ return SequenceElement(1, to_text(printf("break %s"))(name), "end", of_seq(children))
463
+
464
+ @staticmethod
465
+ def rect(color: str, children: Any) -> SequenceElement:
466
+ return SequenceElement(1, to_text(printf("rect %s"))(color), "end", of_seq(children))
467
+
468
+ @staticmethod
469
+ def comment(txt: str) -> SequenceElement:
470
+ return SequenceElement(0, Generic_formatComment(txt))
471
+
472
+ @staticmethod
473
+ def auto_number() -> SequenceElement:
474
+ return SequenceElement(0, "autonumber")
475
+
476
+ @staticmethod
477
+ def link(id: str, url_label: str, url: str) -> SequenceElement:
478
+ return SequenceElement(0, to_text(printf("link %s: %s @ %s"))(id)(url_label)(url))
479
+
480
+ @staticmethod
481
+ def links(id: str, urls: Any) -> SequenceElement:
482
+ def mapping(tupled_arg: tuple[str, str]) -> str:
483
+ return to_text(printf("\"%s\": \"%s\""))(tupled_arg[0])(tupled_arg[1])
484
+
485
+ json: str = ("{" + join(", ", map(mapping, of_seq(urls)))) + "}"
486
+ return SequenceElement(0, to_text(printf("links %s: %s"))(id)(json))
487
+
488
+
489
+ sequence_reflection = _expr209
490
+
491
+ def _expr210() -> TypeInfo:
492
+ return class_type("Siren.classMemberVisibility", None, class_member_visibility)
493
+
494
+
495
+ class class_member_visibility:
496
+ @staticmethod
497
+ def Public() -> ClassMemberVisibility:
498
+ return ClassMemberVisibility(0)
499
+
500
+ @staticmethod
501
+ def Private() -> ClassMemberVisibility:
502
+ return ClassMemberVisibility(1)
503
+
504
+ @staticmethod
505
+ def Protected() -> ClassMemberVisibility:
506
+ return ClassMemberVisibility(2)
507
+
508
+ @staticmethod
509
+ def package_internal() -> ClassMemberVisibility:
510
+ return ClassMemberVisibility(3)
511
+
512
+ @staticmethod
513
+ def custom(str_1: str) -> ClassMemberVisibility:
514
+ return ClassMemberVisibility(4, str_1)
515
+
516
+
517
+ class_member_visibility_reflection = _expr210
518
+
519
+ def _expr211() -> TypeInfo:
520
+ return class_type("Siren.classMemberClassifier", None, class_member_classifier)
521
+
522
+
523
+ class class_member_classifier:
524
+ @staticmethod
525
+ def Abstract() -> ClassMemberClassifier:
526
+ return ClassMemberClassifier(0)
527
+
528
+ @staticmethod
529
+ def Static() -> ClassMemberClassifier:
530
+ return ClassMemberClassifier(1)
531
+
532
+ @staticmethod
533
+ def custom(str_1: str) -> ClassMemberClassifier:
534
+ return ClassMemberClassifier(2, str_1)
535
+
536
+
537
+ class_member_classifier_reflection = _expr211
538
+
539
+ def _expr212() -> TypeInfo:
540
+ return class_type("Siren.classDirection", None, class_direction)
541
+
542
+
543
+ class class_direction:
544
+ @staticmethod
545
+ def two_way() -> ClassRelationshipDirection:
546
+ return ClassRelationshipDirection(2)
547
+
548
+ @staticmethod
549
+ def left() -> ClassRelationshipDirection:
550
+ return ClassRelationshipDirection(0)
551
+
552
+ @staticmethod
553
+ def right() -> ClassRelationshipDirection:
554
+ return ClassRelationshipDirection(1)
555
+
556
+
557
+ class_direction_reflection = _expr212
558
+
559
+ def _expr213() -> TypeInfo:
560
+ return class_type("Siren.classCardinality", None, class_cardinality)
561
+
562
+
563
+ class class_cardinality:
564
+ @staticmethod
565
+ def n() -> ClassCardinality:
566
+ return ClassCardinality(4)
567
+
568
+ @staticmethod
569
+ def many() -> ClassCardinality:
570
+ return ClassCardinality(3)
571
+
572
+ @staticmethod
573
+ def one() -> ClassCardinality:
574
+ return ClassCardinality(0)
575
+
576
+ @staticmethod
577
+ def one_or_more() -> ClassCardinality:
578
+ return ClassCardinality(2)
579
+
580
+ @staticmethod
581
+ def one_to_n() -> ClassCardinality:
582
+ return ClassCardinality(6)
583
+
584
+ @staticmethod
585
+ def zero_or_one() -> ClassCardinality:
586
+ return ClassCardinality(1)
587
+
588
+ @staticmethod
589
+ def zero_to_n() -> ClassCardinality:
590
+ return ClassCardinality(5)
591
+
592
+ @staticmethod
593
+ def custom(cardinality: str) -> ClassCardinality:
594
+ return ClassCardinality(7, cardinality)
595
+
596
+
597
+ class_cardinality_reflection = _expr213
598
+
599
+ def _expr214() -> TypeInfo:
600
+ return class_type("Siren.classRltsType", None, class_rlts_type)
601
+
602
+
603
+ class class_rlts_type:
604
+ @staticmethod
605
+ def inheritance() -> ClassRelationshipType:
606
+ return ClassRelationshipType(0)
607
+
608
+ @staticmethod
609
+ def aggregation() -> ClassRelationshipType:
610
+ return ClassRelationshipType(2)
611
+
612
+ @staticmethod
613
+ def association() -> ClassRelationshipType:
614
+ return ClassRelationshipType(3)
615
+
616
+ @staticmethod
617
+ def composition() -> ClassRelationshipType:
618
+ return ClassRelationshipType(1)
619
+
620
+ @staticmethod
621
+ def dashed() -> ClassRelationshipType:
622
+ return ClassRelationshipType(6)
623
+
624
+ @staticmethod
625
+ def dependency() -> ClassRelationshipType:
626
+ return ClassRelationshipType(7)
627
+
628
+ @staticmethod
629
+ def link() -> ClassRelationshipType:
630
+ return ClassRelationshipType(4)
631
+
632
+ @staticmethod
633
+ def realization() -> ClassRelationshipType:
634
+ return ClassRelationshipType(8)
635
+
636
+ @staticmethod
637
+ def solid() -> ClassRelationshipType:
638
+ return ClassRelationshipType(5)
639
+
640
+
641
+ class_rlts_type_reflection = _expr214
642
+
643
+ def _expr215() -> TypeInfo:
644
+ return class_type("Siren.classDiagram", None, class_diagram)
645
+
646
+
647
+ class class_diagram:
648
+ @staticmethod
649
+ def raw(txt: str) -> ClassDiagramElement:
650
+ return ClassDiagramElement(0, txt)
651
+
652
+ @staticmethod
653
+ def class_(id: str, members: Any) -> ClassDiagramElement:
654
+ return ClassDiagramElement(1, ClassDiagram_formatClass(id, None, None) + "{", "}", of_seq(members))
655
+
656
+ @staticmethod
657
+ def class_id(id: str, name: str | None=None, generic: str | None=None, members: Any | None=None) -> ClassDiagramElement:
658
+ return ClassDiagramElement(1, ClassDiagram_formatClass(id, name, generic) + "{", "}", of_seq(value_1(members))) if (members is not None) else ClassDiagramElement(0, ClassDiagram_formatClass(id, name, generic))
659
+
660
+ @staticmethod
661
+ def class_member(name: str, class_member_visibility: ClassMemberVisibility | None=None, class_member_classifier: ClassMemberClassifier | None=None) -> ClassDiagramElement:
662
+ return ClassDiagramElement(0, ClassDiagram_formatClassMember(name, class_member_visibility, class_member_classifier))
663
+
664
+ @staticmethod
665
+ def class_attr(name: str, generic: str | None=None, class_member_visibility: ClassMemberVisibility | None=None, class_member_classifier: ClassMemberClassifier | None=None) -> ClassDiagramElement:
666
+ return ClassDiagramElement(0, ClassDiagram_formatClassAttr(name, generic, class_member_visibility, class_member_classifier))
667
+
668
+ @staticmethod
669
+ def class_function(name: str, param: str | None=None, return_type: str | None=None, class_member_visibility: ClassMemberVisibility | None=None, class_member_classifier: ClassMemberClassifier | None=None) -> ClassDiagramElement:
670
+ return ClassDiagramElement(0, ClassDiagram_formatClassFunction(name, param, return_type, class_member_visibility, class_member_classifier))
671
+
672
+ @staticmethod
673
+ def id_member(id: str, name: str, class_member_visibility: ClassMemberVisibility | None=None, class_member_classifier: ClassMemberClassifier | None=None) -> ClassDiagramElement:
674
+ return ClassDiagramElement(0, ClassDiagram_formatMember(id, name, class_member_visibility, class_member_classifier))
675
+
676
+ @staticmethod
677
+ def id_attr(id: str, name: str, generic: str | None=None, class_member_visibility: ClassMemberVisibility | None=None, class_member_classifier: ClassMemberClassifier | None=None) -> ClassDiagramElement:
678
+ return ClassDiagramElement(0, ClassDiagram_formatAttr(id, name, generic, class_member_visibility, class_member_classifier))
679
+
680
+ @staticmethod
681
+ def id_function(id: str, name: str, param: str | None=None, return_type: str | None=None, class_member_visibility: ClassMemberVisibility | None=None, class_member_classifier: ClassMemberClassifier | None=None) -> ClassDiagramElement:
682
+ return ClassDiagramElement(0, ClassDiagram_formatFunction(id, name, param, return_type, class_member_visibility, class_member_classifier))
683
+
684
+ @staticmethod
685
+ def relationship_inheritance(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
686
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(0), label, cardinality1, cardinality2))
687
+
688
+ @staticmethod
689
+ def relationship_composition(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
690
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(1), label, cardinality1, cardinality2))
691
+
692
+ @staticmethod
693
+ def relationship_aggregation(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
694
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(2), label, cardinality1, cardinality2))
695
+
696
+ @staticmethod
697
+ def relationship_association(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
698
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(3), label, cardinality1, cardinality2))
699
+
700
+ @staticmethod
701
+ def relationship_solid(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
702
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(5), label, cardinality1, cardinality2))
703
+
704
+ @staticmethod
705
+ def relationship_dependency(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
706
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(7), label, cardinality1, cardinality2))
707
+
708
+ @staticmethod
709
+ def relationship_realization(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
710
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(8), label, cardinality1, cardinality2))
711
+
712
+ @staticmethod
713
+ def relationship_dashed(id1: str, id2: str, label: str | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
714
+ return ClassDiagramElement(0, ClassDiagram_formatRelationship(id1, id2, ClassRelationshipType(6), label, cardinality1, cardinality2))
715
+
716
+ @staticmethod
717
+ def relationship_custom(id1: str, id2: str, rlts_type: ClassRelationshipType, label: str | None=None, direction_1: ClassRelationshipDirection | None=None, is_dotted: bool | None=None, cardinality1: ClassCardinality | None=None, cardinality2: ClassCardinality | None=None) -> ClassDiagramElement:
718
+ return ClassDiagramElement(0, ClassDiagram_formatRelationshipCustom(id1, id2, rlts_type, direction_1, is_dotted, label, cardinality1, cardinality2))
719
+
720
+ @staticmethod
721
+ def namespace(name: str, children: Any) -> ClassDiagramElement:
722
+ return ClassDiagramElement(2) if is_empty(children) else ClassDiagramElement(1, to_text(printf("namespace %s {"))(name), "}", of_seq(children))
723
+
724
+ @staticmethod
725
+ def Interface(id: str | None=None) -> ClassDiagramElement:
726
+ return ClassDiagramElement(0, ClassDiagram_formatAnnotation(id, "Interface"))
727
+
728
+ @staticmethod
729
+ def Abstract(id: str | None=None) -> ClassDiagramElement:
730
+ return ClassDiagramElement(0, ClassDiagram_formatAnnotation(id, "Abstract"))
731
+
732
+ @staticmethod
733
+ def service(id: str | None=None) -> ClassDiagramElement:
734
+ return ClassDiagramElement(0, ClassDiagram_formatAnnotation(id, "Service"))
735
+
736
+ @staticmethod
737
+ def enumeration(id: str | None=None) -> ClassDiagramElement:
738
+ return ClassDiagramElement(0, ClassDiagram_formatAnnotation(id, "Enumeration"))
739
+
740
+ @staticmethod
741
+ def annotation(name: str, id: str | None=None) -> ClassDiagramElement:
742
+ return ClassDiagramElement(0, ClassDiagram_formatAnnotation(id, name))
743
+
744
+ @staticmethod
745
+ def comment(txt: str) -> ClassDiagramElement:
746
+ return ClassDiagramElement(0, Generic_formatComment(txt))
747
+
748
+ @staticmethod
749
+ def direction(direction_1: Direction) -> ClassDiagramElement:
750
+ return ClassDiagramElement(0, Generic_formatDirection(direction_1))
751
+
752
+ @staticmethod
753
+ def direction_tb() -> ClassDiagramElement:
754
+ return ClassDiagramElement(0, Generic_formatDirection(Direction(0)))
755
+
756
+ @staticmethod
757
+ def direction_td() -> ClassDiagramElement:
758
+ return ClassDiagramElement(0, Generic_formatDirection(Direction(1)))
759
+
760
+ @staticmethod
761
+ def direction_bt() -> ClassDiagramElement:
762
+ return ClassDiagramElement(0, Generic_formatDirection(Direction(2)))
763
+
764
+ @staticmethod
765
+ def direction_rl() -> ClassDiagramElement:
766
+ return ClassDiagramElement(0, Generic_formatDirection(Direction(3)))
767
+
768
+ @staticmethod
769
+ def direction_lr() -> ClassDiagramElement:
770
+ return ClassDiagramElement(0, Generic_formatDirection(Direction(4)))
771
+
772
+ @staticmethod
773
+ def click_href(id: str, url: str, tooltip: str | None=None) -> ClassDiagramElement:
774
+ return ClassDiagramElement(0, Generic_formatClickHref(id, url, tooltip))
775
+
776
+ @staticmethod
777
+ def note(txt: str, id: str | None=None) -> ClassDiagramElement:
778
+ return ClassDiagramElement(0, ClassDiagram_formatNote(txt, id))
779
+
780
+ @staticmethod
781
+ def link(id: str, url: str, tooltip: str | None=None) -> ClassDiagramElement:
782
+ return ClassDiagramElement(0, Generic_formatClickHref(id, url, tooltip))
783
+
784
+ @staticmethod
785
+ def style(id: str, styles: Any) -> ClassDiagramElement:
786
+ return ClassDiagramElement(0, ClassDiagram_formatClassStyles(id, of_seq(styles)))
787
+
788
+ @staticmethod
789
+ def css_class(ids: Any, class_name: str) -> ClassDiagramElement:
790
+ return ClassDiagramElement(0, ClassDiagram_formatCssClass(of_seq(ids), class_name))
791
+
792
+
793
+ class_diagram_reflection = _expr215
794
+
795
+ def _expr220() -> TypeInfo:
796
+ return class_type("Siren.state_diagram", None, state_diagram)
797
+
798
+
799
+ class state_diagram:
800
+ @staticmethod
801
+ def state(id: str, description: str | None=None) -> StateDiagramElement:
802
+ return StateDiagramElement(0, StateDiagram_formatState(id, description))
803
+
804
+ @staticmethod
805
+ def transition(id1: str, id2: str, description: str | None=None) -> StateDiagramElement:
806
+ return StateDiagramElement(0, StateDiagram_formatTransition(id1, id2, description))
807
+
808
+ @staticmethod
809
+ def transition_start(id: str, description: str | None=None) -> StateDiagramElement:
810
+ return StateDiagramElement(0, StateDiagram_formatTransition(state_diagram.start_end(), id, description))
811
+
812
+ @staticmethod
813
+ def transition_end(id: str, description: str | None=None) -> StateDiagramElement:
814
+ return StateDiagramElement(0, StateDiagram_formatTransition(id, state_diagram.start_end(), description))
815
+
816
+ @staticmethod
817
+ def start_end() -> str:
818
+ return "[*]"
819
+
820
+ @staticmethod
821
+ def state_composite(id: str, children: Any) -> StateDiagramElement:
822
+ return StateDiagramElement(1, to_text(printf("state %s {"))(id), "}", of_seq(children))
823
+
824
+ @staticmethod
825
+ def state_choice(id: str) -> StateDiagramElement:
826
+ return StateDiagramElement(0, to_text(printf("state %s <<choice>>"))(id))
827
+
828
+ @staticmethod
829
+ def state_fork(id: str) -> StateDiagramElement:
830
+ return StateDiagramElement(0, to_text(printf("state %s <<fork>>"))(id))
831
+
832
+ @staticmethod
833
+ def state_join(id: str) -> StateDiagramElement:
834
+ return StateDiagramElement(0, to_text(printf("state %s <<join>>"))(id))
835
+
836
+ @staticmethod
837
+ def note(id: str, msg: str, note_position: NotePosition | None=None) -> StateDiagramElement:
838
+ if equals(value_1(note_position), NotePosition(0)) if (note_position is not None) else False:
839
+ raise Exception("Error: Cannot use \"over\" for note in State Diagram!")
840
+
841
+ lines: Array[str] = split(msg, ["\r\n", "\n"], None, 1)
842
+ def _arrow217(__unit: None=None) -> IEnumerable_1[StateDiagramElement]:
843
+ def _arrow216(line: str) -> StateDiagramElement:
844
+ return StateDiagramElement(0, line)
845
+
846
+ return map_1(_arrow216, lines)
847
+
848
+ return StateDiagramElement(1, StateDiagram_formatNoteWrapper(id, note_position), "end note", to_list(delay(_arrow217)))
849
+
850
+ @staticmethod
851
+ def note_multi_line(id: str, lines: Any, note_position: NotePosition | None=None) -> StateDiagramElement:
852
+ if equals(value_1(note_position), NotePosition(0)) if (note_position is not None) else False:
853
+ raise Exception("Error: Cannot use \"over\" for note in State Diagram!")
854
+
855
+ def _arrow219(__unit: None=None) -> IEnumerable_1[StateDiagramElement]:
856
+ def _arrow218(line: str) -> StateDiagramElement:
857
+ return StateDiagramElement(0, line)
858
+
859
+ return map_1(_arrow218, lines)
860
+
861
+ return StateDiagramElement(1, StateDiagram_formatNoteWrapper(id, note_position), "end note", to_list(delay(_arrow219)))
862
+
863
+ @staticmethod
864
+ def note_line(id: str, msg: str, note_position: NotePosition | None=None) -> StateDiagramElement:
865
+ if equals(value_1(note_position), NotePosition(0)) if (note_position is not None) else False:
866
+ raise Exception("Error: Cannot use \"over\" for note in State Diagram!")
867
+
868
+ return StateDiagramElement(0, Generic_formatNote(id, note_position, msg))
869
+
870
+ @staticmethod
871
+ def concurrency() -> StateDiagramElement:
872
+ return StateDiagramElement(0, "--")
873
+
874
+ @staticmethod
875
+ def direction(direction_1: Direction) -> StateDiagramElement:
876
+ return StateDiagramElement(0, Generic_formatDirection(direction_1))
877
+
878
+ @staticmethod
879
+ def comment(txt: str) -> StateDiagramElement:
880
+ return StateDiagramElement(0, Generic_formatComment(txt))
881
+
882
+ @staticmethod
883
+ def class_def(class_name: str, styles: Any) -> StateDiagramElement:
884
+ return StateDiagramElement(0, Generic_formatClassDef(class_name, of_seq(styles)))
885
+
886
+ @staticmethod
887
+ def class_(node_ids: Any, class_name: str) -> StateDiagramElement:
888
+ return StateDiagramElement(0, Generic_formatClass(of_seq(node_ids), class_name))
889
+
890
+
891
+ state_diagram_reflection = _expr220
892
+
893
+ def _expr221() -> TypeInfo:
894
+ return class_type("Siren.erKey", None, er_key)
895
+
896
+
897
+ class er_key:
898
+ @staticmethod
899
+ def pk() -> ERKeyType:
900
+ return ERKeyType(0)
901
+
902
+ @staticmethod
903
+ def fk() -> ERKeyType:
904
+ return ERKeyType(1)
905
+
906
+ @staticmethod
907
+ def uk() -> ERKeyType:
908
+ return ERKeyType(2)
909
+
910
+
911
+ er_key_reflection = _expr221
912
+
913
+ def _expr222() -> TypeInfo:
914
+ return class_type("Siren.erCardinality", None, er_cardinality)
915
+
916
+
917
+ class er_cardinality:
918
+ @staticmethod
919
+ def one_or_many() -> ERCardinalityType:
920
+ return ERCardinalityType(1)
921
+
922
+ @staticmethod
923
+ def one_or_zero() -> ERCardinalityType:
924
+ return ERCardinalityType(0)
925
+
926
+ @staticmethod
927
+ def only_one() -> ERCardinalityType:
928
+ return ERCardinalityType(3)
929
+
930
+ @staticmethod
931
+ def zero_or_many() -> ERCardinalityType:
932
+ return ERCardinalityType(2)
933
+
934
+
935
+ er_cardinality_reflection = _expr222
936
+
937
+ def _expr227() -> TypeInfo:
938
+ return class_type("Siren.erDiagram", None, er_diagram)
939
+
940
+
941
+ class er_diagram:
942
+ @staticmethod
943
+ def raw(line: str) -> ERDiagramElement:
944
+ return ERDiagramElement(0, line)
945
+
946
+ @staticmethod
947
+ def entity(id: str, attr: Any | None=None) -> ERDiagramElement:
948
+ if attr is not None:
949
+ def _arrow224(__unit: None=None) -> IEnumerable_1[ERDiagramElement]:
950
+ def _arrow223(attr_1: ERAttribute) -> ERDiagramElement:
951
+ return ERDiagramElement(0, ERDiagram_formatAttribute(attr_1))
952
+
953
+ return map_1(_arrow223, value_1(attr))
954
+
955
+ children: FSharpList[ERDiagramElement] = to_list(delay(_arrow224))
956
+ return ERDiagramElement(1, ERDiagram_formatEntityWrapper(id, None), "}", children)
957
+
958
+ else:
959
+ return ERDiagramElement(0, ERDiagram_formatEntityNode(id, None))
960
+
961
+
962
+ @staticmethod
963
+ def entity_alias(id: str, alias: str, attr: Any | None=None) -> ERDiagramElement:
964
+ if attr is not None:
965
+ def _arrow226(__unit: None=None) -> IEnumerable_1[ERDiagramElement]:
966
+ def _arrow225(attr_1: ERAttribute) -> ERDiagramElement:
967
+ return ERDiagramElement(0, ERDiagram_formatAttribute(attr_1))
968
+
969
+ return map_1(_arrow225, value_1(attr))
970
+
971
+ children: FSharpList[ERDiagramElement] = to_list(delay(_arrow226))
972
+ return ERDiagramElement(1, ERDiagram_formatEntityWrapper(id, alias), "}", children)
973
+
974
+ else:
975
+ return ERDiagramElement(0, ERDiagram_formatEntityNode(id, alias))
976
+
977
+
978
+ @staticmethod
979
+ def relationship(id1: str, er_cardinality1: ERCardinalityType, id2: str, er_cardinality2: ERCardinalityType, message: str, is_optional: bool | None=None) -> ERDiagramElement:
980
+ return ERDiagramElement(0, ERDiagram_formatRelationship(id1, er_cardinality1, id2, er_cardinality2, message, is_optional))
981
+
982
+ @staticmethod
983
+ def attribute(attr_type: str, name: str, keys: Any | None=None, comment: str | None=None) -> ERAttribute:
984
+ return ERAttribute(attr_type, name, default_arg(map_2(of_seq, keys), empty_1()), comment)
985
+
986
+
987
+ er_diagram_reflection = _expr227
988
+
989
+ def _expr228() -> TypeInfo:
990
+ return class_type("Siren.journey", None, journey)
991
+
992
+
993
+ class journey:
994
+ @staticmethod
995
+ def raw(line: str) -> JourneyElement:
996
+ return JourneyElement(0, line)
997
+
998
+ @staticmethod
999
+ def title(name: str) -> JourneyElement:
1000
+ return JourneyElement(0, to_text(printf("title %s"))(name))
1001
+
1002
+ @staticmethod
1003
+ def section(name: str) -> JourneyElement:
1004
+ return JourneyElement(0, to_text(printf("section %s"))(name))
1005
+
1006
+ @staticmethod
1007
+ def task(name: str, score: int, actors: Any) -> JourneyElement:
1008
+ return JourneyElement(0, UserJourney_formatTask(name, score, some(actors)))
1009
+
1010
+ @staticmethod
1011
+ def task_empty(name: str, score: int) -> JourneyElement:
1012
+ return JourneyElement(0, UserJourney_formatTask(name, score, None))
1013
+
1014
+
1015
+ journey_reflection = _expr228
1016
+
1017
+ def _expr229() -> TypeInfo:
1018
+ return class_type("Siren.ganttTime", None, gantt_time)
1019
+
1020
+
1021
+ class gantt_time:
1022
+ @staticmethod
1023
+ def length(timespan: str) -> str:
1024
+ return timespan
1025
+
1026
+ @staticmethod
1027
+ def date_time(datetime: str) -> str:
1028
+ return datetime
1029
+
1030
+ @staticmethod
1031
+ def after(id: str) -> str:
1032
+ return to_text(printf("after %s"))(id)
1033
+
1034
+ @staticmethod
1035
+ def until(id: str) -> str:
1036
+ return to_text(printf("until %s"))(id)
1037
+
1038
+
1039
+ gantt_time_reflection = _expr229
1040
+
1041
+ def _expr230() -> TypeInfo:
1042
+ return class_type("Siren.gantt_tags", None, gantt_tags)
1043
+
1044
+
1045
+ class gantt_tags:
1046
+ @staticmethod
1047
+ def active() -> GanttTags:
1048
+ return GanttTags(0)
1049
+
1050
+ @staticmethod
1051
+ def done() -> GanttTags:
1052
+ return GanttTags(1)
1053
+
1054
+ @staticmethod
1055
+ def crit() -> GanttTags:
1056
+ return GanttTags(2)
1057
+
1058
+ @staticmethod
1059
+ def milestone() -> GanttTags:
1060
+ return GanttTags(3)
1061
+
1062
+
1063
+ gantt_tags_reflection = _expr230
1064
+
1065
+ def _expr231() -> TypeInfo:
1066
+ return class_type("Siren.ganttUnit", None, gantt_unit)
1067
+
1068
+
1069
+ class gantt_unit:
1070
+ @staticmethod
1071
+ def millisecond() -> GanttUnit:
1072
+ return GanttUnit(0)
1073
+
1074
+ @staticmethod
1075
+ def second() -> GanttUnit:
1076
+ return GanttUnit(1)
1077
+
1078
+ @staticmethod
1079
+ def minute() -> GanttUnit:
1080
+ return GanttUnit(2)
1081
+
1082
+ @staticmethod
1083
+ def hour() -> GanttUnit:
1084
+ return GanttUnit(3)
1085
+
1086
+ @staticmethod
1087
+ def day() -> GanttUnit:
1088
+ return GanttUnit(4)
1089
+
1090
+ @staticmethod
1091
+ def week() -> GanttUnit:
1092
+ return GanttUnit(5)
1093
+
1094
+ @staticmethod
1095
+ def month() -> GanttUnit:
1096
+ return GanttUnit(6)
1097
+
1098
+
1099
+ gantt_unit_reflection = _expr231
1100
+
1101
+ def _expr233() -> TypeInfo:
1102
+ return class_type("Siren.gantt", None, gantt)
1103
+
1104
+
1105
+ class gantt:
1106
+ @staticmethod
1107
+ def raw(line: str) -> GanttElement:
1108
+ return GanttElement(0, line)
1109
+
1110
+ @staticmethod
1111
+ def title(name: str) -> GanttElement:
1112
+ return GanttElement(0, to_text(printf("title %s"))(name))
1113
+
1114
+ @staticmethod
1115
+ def section(name: str) -> GanttElement:
1116
+ return GanttElement(0, to_text(printf("section %s"))(name))
1117
+
1118
+ @staticmethod
1119
+ def task(title: str, id: str, start_date: str, end_date: str, tags: Any | None=None) -> GanttElement:
1120
+ return GanttElement(0, Gantt_formatTask(title, Option_defaultBind(of_seq, empty_1(), tags), id, start_date, end_date))
1121
+
1122
+ @staticmethod
1123
+ def task_start_end(title: str, start_date: str, end_date: str, tags: Any | None=None) -> GanttElement:
1124
+ return GanttElement(0, Gantt_formatTask(title, Option_defaultBind(of_seq, empty_1(), tags), None, start_date, end_date))
1125
+
1126
+ @staticmethod
1127
+ def task_end(title: str, end_date: str, tags: Any | None=None) -> GanttElement:
1128
+ return GanttElement(0, Gantt_formatTask(title, Option_defaultBind(of_seq, empty_1(), tags), None, None, end_date))
1129
+
1130
+ @staticmethod
1131
+ def milestone(title: str, id: str, start_date: str, end_date: str, tags: Any | None=None) -> GanttElement:
1132
+ return GanttElement(0, Gantt_formatTask(title, cons(gantt_tags.milestone(), Option_defaultBind(of_seq, empty_1(), tags)), id, start_date, end_date))
1133
+
1134
+ @staticmethod
1135
+ def milestone_start_end(title: str, start_date: str, end_date: str, tags: Any | None=None) -> GanttElement:
1136
+ return GanttElement(0, Gantt_formatTask(title, cons(gantt_tags.milestone(), Option_defaultBind(of_seq, empty_1(), tags)), None, start_date, end_date))
1137
+
1138
+ @staticmethod
1139
+ def milestone_end(title: str, end_date: str, tags: Any | None=None) -> GanttElement:
1140
+ return GanttElement(0, Gantt_formatTask(title, cons(gantt_tags.milestone(), Option_defaultBind(of_seq, empty_1(), tags)), None, None, end_date))
1141
+
1142
+ @staticmethod
1143
+ def date_format(format_string: str) -> GanttElement:
1144
+ return GanttElement(0, to_text(printf("dateFormat %s"))(format_string))
1145
+
1146
+ @staticmethod
1147
+ def axis_format(format_string: str) -> GanttElement:
1148
+ return GanttElement(0, to_text(printf("axisFormat %s"))(format_string))
1149
+
1150
+ @staticmethod
1151
+ def tick_interval(interval: int, unit: GanttUnit) -> GanttElement:
1152
+ def _arrow232(__unit: None=None) -> str:
1153
+ arg_1: str = Siren_GanttUnit__GanttUnit_ToFormatString(unit)
1154
+ return to_text(printf("tickInterval %i%s"))(interval)(arg_1)
1155
+
1156
+ return GanttElement(0, _arrow232())
1157
+
1158
+ @staticmethod
1159
+ def weekday(day: str) -> GanttElement:
1160
+ return GanttElement(0, to_text(printf("weekday %s"))(day))
1161
+
1162
+ @staticmethod
1163
+ def excludes(day: str) -> GanttElement:
1164
+ return GanttElement(0, to_text(printf("excludes %s"))(day))
1165
+
1166
+ @staticmethod
1167
+ def comment(txt: str) -> GanttElement:
1168
+ return GanttElement(0, Generic_formatComment(txt))
1169
+
1170
+
1171
+ gantt_reflection = _expr233
1172
+
1173
+ def _expr234() -> TypeInfo:
1174
+ return class_type("Siren.pieChart", None, pie_chart)
1175
+
1176
+
1177
+ class pie_chart:
1178
+ @staticmethod
1179
+ def raw(line: str) -> PieChartElement:
1180
+ return PieChartElement(0, line)
1181
+
1182
+ @staticmethod
1183
+ def data(name: str, value: float) -> PieChartElement:
1184
+ return PieChartElement(0, PieChart_formatData(name, value))
1185
+
1186
+
1187
+ pie_chart_reflection = _expr234
1188
+
1189
+ def _expr235() -> TypeInfo:
1190
+ return class_type("Siren.quadrant", None, quadrant)
1191
+
1192
+
1193
+ class quadrant:
1194
+ @staticmethod
1195
+ def raw(txt: str) -> QuadrantElement:
1196
+ return QuadrantElement(0, txt)
1197
+
1198
+ @staticmethod
1199
+ def title(title: str) -> QuadrantElement:
1200
+ return QuadrantElement(0, "title " + title)
1201
+
1202
+ @staticmethod
1203
+ def x_axis(left: str, right: str | None=None) -> QuadrantElement:
1204
+ return QuadrantElement(0, QuadrantChart_formatXAxis(left, right))
1205
+
1206
+ @staticmethod
1207
+ def y_axis(bottom: str, top: str | None=None) -> QuadrantElement:
1208
+ return QuadrantElement(0, QuadrantChart_formatYAxis(bottom, top))
1209
+
1210
+ @staticmethod
1211
+ def quadrant1(title: str) -> QuadrantElement:
1212
+ return QuadrantElement(0, "quadrant-1 " + title)
1213
+
1214
+ @staticmethod
1215
+ def quadrant2(title: str) -> QuadrantElement:
1216
+ return QuadrantElement(0, "quadrant-2 " + title)
1217
+
1218
+ @staticmethod
1219
+ def quadrant3(title: str) -> QuadrantElement:
1220
+ return QuadrantElement(0, "quadrant-3 " + title)
1221
+
1222
+ @staticmethod
1223
+ def quadrant4(title: str) -> QuadrantElement:
1224
+ return QuadrantElement(0, "quadrant-4 " + title)
1225
+
1226
+ @staticmethod
1227
+ def point(name: str, x_axis: float, y_axis: float) -> QuadrantElement:
1228
+ return QuadrantElement(0, QuadrantChart_formatPoint(name, x_axis, y_axis))
1229
+
1230
+ @staticmethod
1231
+ def comment(txt: str) -> QuadrantElement:
1232
+ return QuadrantElement(0, Generic_formatComment(txt))
1233
+
1234
+
1235
+ quadrant_reflection = _expr235
1236
+
1237
+ def _expr236() -> TypeInfo:
1238
+ return class_type("Siren.rqRisk", None, rq_risk)
1239
+
1240
+
1241
+ class rq_risk:
1242
+ @staticmethod
1243
+ def low() -> RDRiskType:
1244
+ return RDRiskType(0)
1245
+
1246
+ @staticmethod
1247
+ def medium() -> RDRiskType:
1248
+ return RDRiskType(1)
1249
+
1250
+ @staticmethod
1251
+ def high() -> RDRiskType:
1252
+ return RDRiskType(2)
1253
+
1254
+
1255
+ rq_risk_reflection = _expr236
1256
+
1257
+ def _expr237() -> TypeInfo:
1258
+ return class_type("Siren.rqMethod", None, rq_method)
1259
+
1260
+
1261
+ class rq_method:
1262
+ @staticmethod
1263
+ def analysis() -> RDVerifyMethod:
1264
+ return RDVerifyMethod(0)
1265
+
1266
+ @staticmethod
1267
+ def inspection() -> RDVerifyMethod:
1268
+ return RDVerifyMethod(1)
1269
+
1270
+ @staticmethod
1271
+ def test() -> RDVerifyMethod:
1272
+ return RDVerifyMethod(2)
1273
+
1274
+ @staticmethod
1275
+ def demonstration() -> RDVerifyMethod:
1276
+ return RDVerifyMethod(3)
1277
+
1278
+
1279
+ rq_method_reflection = _expr237
1280
+
1281
+ def _expr238() -> TypeInfo:
1282
+ return class_type("Siren.requirement", None, requirement)
1283
+
1284
+
1285
+ class requirement:
1286
+ @staticmethod
1287
+ def raw(txt: str) -> RequirementDiagramElement:
1288
+ return RequirementDiagramElement(0, txt)
1289
+
1290
+ @staticmethod
1291
+ def requirement(name: str, id: str | None=None, text: str | None=None, rq_risk: RDRiskType | None=None, rq_method: RDVerifyMethod | None=None) -> RequirementDiagramElement:
1292
+ return RequirementDiagram_createRequirement("requirement", name, id, text, rq_risk, rq_method)
1293
+
1294
+ @staticmethod
1295
+ def functional_requirement(name: str, id: str | None=None, text: str | None=None, rq_risk: RDRiskType | None=None, rq_method: RDVerifyMethod | None=None) -> RequirementDiagramElement:
1296
+ return RequirementDiagram_createRequirement("functionalRequirement", name, id, text, rq_risk, rq_method)
1297
+
1298
+ @staticmethod
1299
+ def interface_requirement(name: str, id: str | None=None, text: str | None=None, rq_risk: RDRiskType | None=None, rq_method: RDVerifyMethod | None=None) -> RequirementDiagramElement:
1300
+ return RequirementDiagram_createRequirement("interfaceRequirement", name, id, text, rq_risk, rq_method)
1301
+
1302
+ @staticmethod
1303
+ def performance_requirement(name: str, id: str | None=None, text: str | None=None, rq_risk: RDRiskType | None=None, rq_method: RDVerifyMethod | None=None) -> RequirementDiagramElement:
1304
+ return RequirementDiagram_createRequirement("performanceRequirement", name, id, text, rq_risk, rq_method)
1305
+
1306
+ @staticmethod
1307
+ def physical_requirement(name: str, id: str | None=None, text: str | None=None, rq_risk: RDRiskType | None=None, rq_method: RDVerifyMethod | None=None) -> RequirementDiagramElement:
1308
+ return RequirementDiagram_createRequirement("physicalRequirement", name, id, text, rq_risk, rq_method)
1309
+
1310
+ @staticmethod
1311
+ def design_constraint(name: str, id: str | None=None, text: str | None=None, rq_risk: RDRiskType | None=None, rq_method: RDVerifyMethod | None=None) -> RequirementDiagramElement:
1312
+ return RequirementDiagram_createRequirement("designConstraint", name, id, text, rq_risk, rq_method)
1313
+
1314
+ @staticmethod
1315
+ def element(name: str, element_type: str | None=None, docref: str | None=None) -> RequirementDiagramElement:
1316
+ return RequirementDiagram_createElement(name, element_type, docref)
1317
+
1318
+ @staticmethod
1319
+ def contains(id1: str, id2: str) -> RequirementDiagramElement:
1320
+ return RequirementDiagramElement(0, RequirementDiagram_formatRelationship(id1, id2, RDRelationship(0)))
1321
+
1322
+ @staticmethod
1323
+ def copies(id1: str, id2: str) -> RequirementDiagramElement:
1324
+ return RequirementDiagramElement(0, RequirementDiagram_formatRelationship(id1, id2, RDRelationship(1)))
1325
+
1326
+ @staticmethod
1327
+ def derives(id1: str, id2: str) -> RequirementDiagramElement:
1328
+ return RequirementDiagramElement(0, RequirementDiagram_formatRelationship(id1, id2, RDRelationship(2)))
1329
+
1330
+ @staticmethod
1331
+ def satisfies(id1: str, id2: str) -> RequirementDiagramElement:
1332
+ return RequirementDiagramElement(0, RequirementDiagram_formatRelationship(id1, id2, RDRelationship(3)))
1333
+
1334
+ @staticmethod
1335
+ def verifies(id1: str, id2: str) -> RequirementDiagramElement:
1336
+ return RequirementDiagramElement(0, RequirementDiagram_formatRelationship(id1, id2, RDRelationship(4)))
1337
+
1338
+ @staticmethod
1339
+ def refines(id1: str, id2: str) -> RequirementDiagramElement:
1340
+ return RequirementDiagramElement(0, RequirementDiagram_formatRelationship(id1, id2, RDRelationship(5)))
1341
+
1342
+ @staticmethod
1343
+ def traces(id1: str, id2: str) -> RequirementDiagramElement:
1344
+ return RequirementDiagramElement(0, RequirementDiagram_formatRelationship(id1, id2, RDRelationship(6)))
1345
+
1346
+
1347
+ requirement_reflection = _expr238
1348
+
1349
+ def _expr239() -> TypeInfo:
1350
+ return class_type("Siren.gitType", None, git_type)
1351
+
1352
+
1353
+ class git_type:
1354
+ @staticmethod
1355
+ def normal() -> GitCommitType:
1356
+ return GitCommitType(0)
1357
+
1358
+ @staticmethod
1359
+ def reverse() -> GitCommitType:
1360
+ return GitCommitType(1)
1361
+
1362
+ @staticmethod
1363
+ def highlight() -> GitCommitType:
1364
+ return GitCommitType(2)
1365
+
1366
+
1367
+ git_type_reflection = _expr239
1368
+
1369
+ def _expr240() -> TypeInfo:
1370
+ return class_type("Siren.git", None, git)
1371
+
1372
+
1373
+ class git:
1374
+ @staticmethod
1375
+ def raw(line: str) -> GitGraphElement:
1376
+ return GitGraphElement(0, line)
1377
+
1378
+ @staticmethod
1379
+ def commit(id: str | None=None, git_type: GitCommitType | None=None, tag: str | None=None) -> GitGraphElement:
1380
+ return GitGraphElement(0, Git_formatCommit(id, git_type, tag))
1381
+
1382
+ @staticmethod
1383
+ def merge(target_branch_id: str, mergeid: str | None=None, git_type: GitCommitType | None=None, tag: str | None=None) -> GitGraphElement:
1384
+ return GitGraphElement(0, Git_formatMerge(target_branch_id, mergeid, git_type, tag))
1385
+
1386
+ @staticmethod
1387
+ def cherry_pick(commitid: str, parent_id: str | None=None) -> GitGraphElement:
1388
+ return GitGraphElement(0, Git_formatCherryPick(commitid, parent_id))
1389
+
1390
+ @staticmethod
1391
+ def branch(id: str) -> GitGraphElement:
1392
+ return GitGraphElement(0, "branch " + id)
1393
+
1394
+ @staticmethod
1395
+ def checkout(id: str) -> GitGraphElement:
1396
+ return GitGraphElement(0, "checkout " + id)
1397
+
1398
+
1399
+ git_reflection = _expr240
1400
+
1401
+ def _expr242() -> TypeInfo:
1402
+ return class_type("Siren.mindmap", None, mindmap)
1403
+
1404
+
1405
+ class mindmap:
1406
+ @staticmethod
1407
+ def raw(line: str) -> MindmapElement:
1408
+ return MindmapElement(0, line)
1409
+
1410
+ @staticmethod
1411
+ def node(name: str, children: Any | None=None) -> MindmapElement:
1412
+ return Mindmap_handleNodeChildren(children, name)
1413
+
1414
+ @staticmethod
1415
+ def square(name: str, children: Any | None=None) -> MindmapElement:
1416
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(name, None, MindmapShape(0)))
1417
+
1418
+ @staticmethod
1419
+ def square_id(id: str, name: str, children: Any | None=None) -> MindmapElement:
1420
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(id, name, MindmapShape(0)))
1421
+
1422
+ @staticmethod
1423
+ def rounded_square(name: str, children: Any | None=None) -> MindmapElement:
1424
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(name, None, MindmapShape(1)))
1425
+
1426
+ @staticmethod
1427
+ def rounded_square_id(id: str, name: str, children: Any | None=None) -> MindmapElement:
1428
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(id, name, MindmapShape(1)))
1429
+
1430
+ @staticmethod
1431
+ def circle(name: str, children: Any | None=None) -> MindmapElement:
1432
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(name, None, MindmapShape(2)))
1433
+
1434
+ @staticmethod
1435
+ def circle_id(id: str, name: str, children: Any | None=None) -> MindmapElement:
1436
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(id, name, MindmapShape(2)))
1437
+
1438
+ @staticmethod
1439
+ def bang(name: str, children: Any | None=None) -> MindmapElement:
1440
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(name, None, MindmapShape(3)))
1441
+
1442
+ @staticmethod
1443
+ def bang_id(id: str, name: str, children: Any | None=None) -> MindmapElement:
1444
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(id, name, MindmapShape(3)))
1445
+
1446
+ @staticmethod
1447
+ def cloud(name: str, children: Any | None=None) -> MindmapElement:
1448
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(name, None, MindmapShape(4)))
1449
+
1450
+ @staticmethod
1451
+ def cloud_id(id: str, name: str, children: Any | None=None) -> MindmapElement:
1452
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(id, name, MindmapShape(4)))
1453
+
1454
+ @staticmethod
1455
+ def hexagon(name: str, children: Any | None=None) -> MindmapElement:
1456
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(name, None, MindmapShape(5)))
1457
+
1458
+ @staticmethod
1459
+ def hexagon_id(id: str, name: str, children: Any | None=None) -> MindmapElement:
1460
+ return Mindmap_handleNodeChildren(children, Mindmap_formatNode(id, name, MindmapShape(5)))
1461
+
1462
+ @staticmethod
1463
+ def icon(icon_class: str) -> MindmapElement:
1464
+ return MindmapElement(0, to_text(printf("::icon(%s)"))(icon_class))
1465
+
1466
+ @staticmethod
1467
+ def class_name(class_name: str) -> MindmapElement:
1468
+ return MindmapElement(0, to_text(printf("::: %s"))(class_name))
1469
+
1470
+ @staticmethod
1471
+ def class_names(class_names: Any | None=None) -> MindmapElement:
1472
+ def _arrow241(__unit: None=None) -> str:
1473
+ arg: str = join(" ", class_names)
1474
+ return to_text(printf("::: %s"))(arg)
1475
+
1476
+ return MindmapElement(0, _arrow241())
1477
+
1478
+ @staticmethod
1479
+ def comment(txt: str) -> str:
1480
+ return Generic_formatComment(txt)
1481
+
1482
+
1483
+ mindmap_reflection = _expr242
1484
+
1485
+ def _expr243() -> TypeInfo:
1486
+ return class_type("Siren.timeline", None, timeline)
1487
+
1488
+
1489
+ class timeline:
1490
+ @staticmethod
1491
+ def raw(line: str) -> TimelineElement:
1492
+ return TimelineElement(0, line)
1493
+
1494
+ @staticmethod
1495
+ def title(name: str) -> TimelineElement:
1496
+ return TimelineElement(0, "title " + name)
1497
+
1498
+ @staticmethod
1499
+ def period(name: str) -> TimelineElement:
1500
+ return TimelineElement(0, name)
1501
+
1502
+ @staticmethod
1503
+ def single(time_period: str, event: str | None=None) -> TimelineElement:
1504
+ return TimelineElement(0, Timeline_formatSingle(time_period, event))
1505
+
1506
+ @staticmethod
1507
+ def multiple(time_period: str, events: Any) -> TimelineElement:
1508
+ return Timeline_createMultiple(time_period, of_seq(events))
1509
+
1510
+ @staticmethod
1511
+ def section(name: str, children: Any) -> TimelineElement:
1512
+ return TimelineElement(1, "section " + name, "", of_seq(children))
1513
+
1514
+ @staticmethod
1515
+ def comment(txt: str) -> TimelineElement:
1516
+ return TimelineElement(0, Generic_formatComment(txt))
1517
+
1518
+
1519
+ timeline_reflection = _expr243
1520
+
1521
+ def _expr244() -> TypeInfo:
1522
+ return class_type("Siren.sankey", None, sankey)
1523
+
1524
+
1525
+ class sankey:
1526
+ @staticmethod
1527
+ def raw(line: str) -> SankeyElement:
1528
+ return SankeyElement(0, line)
1529
+
1530
+ @staticmethod
1531
+ def comment(txt: str) -> SankeyElement:
1532
+ return SankeyElement(0, Generic_formatComment(txt))
1533
+
1534
+ @staticmethod
1535
+ def link(source: str, target: str, value: float) -> SankeyElement:
1536
+ return SankeyElement(0, Sankey_formatLink(source, target, value))
1537
+
1538
+ @staticmethod
1539
+ def links(source: str, targets: Any) -> SankeyElement:
1540
+ return Sankey_createLinks(source, of_seq(targets))
1541
+
1542
+
1543
+ sankey_reflection = _expr244
1544
+
1545
+ def _expr245() -> TypeInfo:
1546
+ return class_type("Siren.xyChart", None, xy_chart)
1547
+
1548
+
1549
+ class xy_chart:
1550
+ @staticmethod
1551
+ def raw(line: str) -> XYChartElement:
1552
+ return XYChartElement(0, line)
1553
+
1554
+ @staticmethod
1555
+ def title(name: str) -> XYChartElement:
1556
+ return XYChartElement(0, to_text(printf("title \"%s\""))(name))
1557
+
1558
+ @staticmethod
1559
+ def x_axis(data: Any | None=None) -> XYChartElement:
1560
+ return XYChartElement(0, XYChart_formatXAxis(None, of_seq(data)))
1561
+
1562
+ @staticmethod
1563
+ def x_axis_named(name: str, data: Any) -> XYChartElement:
1564
+ return XYChartElement(0, XYChart_formatXAxis(name, of_seq(data)))
1565
+
1566
+ @staticmethod
1567
+ def x_axis_range(range_start: float, range_end: float) -> XYChartElement:
1568
+ return XYChartElement(0, XYChart_formatXAxisRange(None, range_start, range_end))
1569
+
1570
+ @staticmethod
1571
+ def x_axis_named_range(name: str, range_start: float, range_end: float) -> XYChartElement:
1572
+ return XYChartElement(0, XYChart_formatXAxisRange(name, range_start, range_end))
1573
+
1574
+ @staticmethod
1575
+ def y_axis(name: str) -> XYChartElement:
1576
+ return XYChartElement(0, XYChart_formatYAxis(name, None))
1577
+
1578
+ @staticmethod
1579
+ def y_axis_range(range_start: float, range_end: float) -> XYChartElement:
1580
+ return XYChartElement(0, XYChart_formatYAxis(None, (range_start, range_end)))
1581
+
1582
+ @staticmethod
1583
+ def y_axis_named_range(name: str, range_start: float, range_end: float) -> XYChartElement:
1584
+ return XYChartElement(0, XYChart_formatYAxis(name, (range_start, range_end)))
1585
+
1586
+ @staticmethod
1587
+ def line(data: Any | None=None) -> XYChartElement:
1588
+ return XYChartElement(0, XYChart_formatLine(of_seq(data)))
1589
+
1590
+ @staticmethod
1591
+ def bar(data: Any | None=None) -> XYChartElement:
1592
+ return XYChartElement(0, XYChart_formatBar(of_seq(data)))
1593
+
1594
+ @staticmethod
1595
+ def comment(txt: str) -> XYChartElement:
1596
+ return XYChartElement(0, Generic_formatComment(txt))
1597
+
1598
+
1599
+ xy_chart_reflection = _expr245
1600
+
1601
+ def _expr246() -> TypeInfo:
1602
+ return class_type("Siren.block", None, block)
1603
+
1604
+
1605
+ class block:
1606
+ @staticmethod
1607
+ def columns(count: int) -> BlockElement:
1608
+ return BlockElement(0, to_text(printf("columns %i"))(count))
1609
+
1610
+ @staticmethod
1611
+ def simple(id: str) -> BlockElement:
1612
+ return BlockElement(0, id)
1613
+
1614
+ @staticmethod
1615
+ def simples(ids: Any | None=None) -> BlockElement:
1616
+ return BlockElement(0, join(" ", ids))
1617
+
1618
+ @staticmethod
1619
+ def c_block(children: Any | None=None) -> BlockElement:
1620
+ return BlockElement(1, "block", "end", of_seq(children))
1621
+
1622
+ @staticmethod
1623
+ def c_id_block(id: str, children: Any) -> BlockElement:
1624
+ return BlockElement(1, to_text(printf("block:%s"))(id), "end", of_seq(children))
1625
+
1626
+ @staticmethod
1627
+ def c_id_width_block(id: str, width: int, children: Any) -> BlockElement:
1628
+ return BlockElement(1, to_text(printf("block:%s:%i"))(id)(width), "end", of_seq(children))
1629
+
1630
+ @staticmethod
1631
+ def line(children: Any | None=None) -> BlockElement:
1632
+ return BlockElement(2, of_seq(children))
1633
+
1634
+ @staticmethod
1635
+ def block(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1636
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(0)))
1637
+
1638
+ @staticmethod
1639
+ def block_rounded(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1640
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(1)))
1641
+
1642
+ @staticmethod
1643
+ def block_statidum(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1644
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(2)))
1645
+
1646
+ @staticmethod
1647
+ def block_subroutine(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1648
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(3)))
1649
+
1650
+ @staticmethod
1651
+ def block_cylindrical(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1652
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(4)))
1653
+
1654
+ @staticmethod
1655
+ def block_circle(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1656
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(5)))
1657
+
1658
+ @staticmethod
1659
+ def block_asymmetric(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1660
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(6)))
1661
+
1662
+ @staticmethod
1663
+ def block_rhombus(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1664
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(7)))
1665
+
1666
+ @staticmethod
1667
+ def block_hexagon(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1668
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(8)))
1669
+
1670
+ @staticmethod
1671
+ def block_parallelogram(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1672
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(9)))
1673
+
1674
+ @staticmethod
1675
+ def block_parallelogram_alt(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1676
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(10)))
1677
+
1678
+ @staticmethod
1679
+ def block_trapezoid(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1680
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(11)))
1681
+
1682
+ @staticmethod
1683
+ def block_trapezoid_alt(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1684
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(12)))
1685
+
1686
+ @staticmethod
1687
+ def block_double_circle(id: str, label: str | None=None, width: int | None=None) -> BlockElement:
1688
+ return BlockElement(0, Block_formatBlockType(id, label, width, BlockBlockType(13)))
1689
+
1690
+ @staticmethod
1691
+ def arrow_right_labeled(id: str, label: str | None=None) -> BlockElement:
1692
+ return BlockElement(0, Block_formatBlockArrow(id, label, BlockArrowDirection(0)))
1693
+
1694
+ @staticmethod
1695
+ def arrow_right(id: str, width: int | None=None) -> BlockElement:
1696
+ return BlockElement(0, Block_formatEmptyBlockArrow(id, width, BlockArrowDirection(0)))
1697
+
1698
+ @staticmethod
1699
+ def arrow_left_labeled(id: str, label: str | None=None) -> BlockElement:
1700
+ return BlockElement(0, Block_formatBlockArrow(id, label, BlockArrowDirection(1)))
1701
+
1702
+ @staticmethod
1703
+ def arrow_left(id: str, width: int | None=None) -> BlockElement:
1704
+ return BlockElement(0, Block_formatEmptyBlockArrow(id, width, BlockArrowDirection(1)))
1705
+
1706
+ @staticmethod
1707
+ def arrow_up_labeled(id: str, label: str | None=None) -> BlockElement:
1708
+ return BlockElement(0, Block_formatBlockArrow(id, label, BlockArrowDirection(2)))
1709
+
1710
+ @staticmethod
1711
+ def arrow_up(id: str, width: int | None=None) -> BlockElement:
1712
+ return BlockElement(0, Block_formatEmptyBlockArrow(id, width, BlockArrowDirection(2)))
1713
+
1714
+ @staticmethod
1715
+ def arrow_down_labeled(id: str, label: str | None=None) -> BlockElement:
1716
+ return BlockElement(0, Block_formatBlockArrow(id, label, BlockArrowDirection(3)))
1717
+
1718
+ @staticmethod
1719
+ def arrow_down(id: str, width: int | None=None) -> BlockElement:
1720
+ return BlockElement(0, Block_formatEmptyBlockArrow(id, width, BlockArrowDirection(3)))
1721
+
1722
+ @staticmethod
1723
+ def arrow_xlabeled(id: str, label: str | None=None) -> BlockElement:
1724
+ return BlockElement(0, Block_formatBlockArrow(id, label, BlockArrowDirection(4)))
1725
+
1726
+ @staticmethod
1727
+ def arrow_x(id: str, width: int | None=None) -> BlockElement:
1728
+ return BlockElement(0, Block_formatEmptyBlockArrow(id, width, BlockArrowDirection(4)))
1729
+
1730
+ @staticmethod
1731
+ def arrow_ylabeled(id: str, label: str | None=None) -> BlockElement:
1732
+ return BlockElement(0, Block_formatBlockArrow(id, label, BlockArrowDirection(5)))
1733
+
1734
+ @staticmethod
1735
+ def arrow_y(id: str, width: int | None=None) -> BlockElement:
1736
+ return BlockElement(0, Block_formatEmptyBlockArrow(id, width, BlockArrowDirection(5)))
1737
+
1738
+ @staticmethod
1739
+ def arrow_custom_labeled(id: str, direction_1: str, label: str | None=None) -> BlockElement:
1740
+ return BlockElement(0, Block_formatBlockArrow(id, label, BlockArrowDirection(6, direction_1)))
1741
+
1742
+ @staticmethod
1743
+ def arrow_custom(id: str, direction_1: str, width: int | None=None) -> BlockElement:
1744
+ return BlockElement(0, Block_formatEmptyBlockArrow(id, width, BlockArrowDirection(6, direction_1)))
1745
+
1746
+ @staticmethod
1747
+ def space() -> BlockElement:
1748
+ return BlockElement(0, Block_formatSpace(None))
1749
+
1750
+ @staticmethod
1751
+ def spacew(width: int | None=None) -> BlockElement:
1752
+ return BlockElement(0, Block_formatSpace(width))
1753
+
1754
+ @staticmethod
1755
+ def link(id1: str, id2: str, label: str | None=None) -> BlockElement:
1756
+ return BlockElement(0, Block_formatLink(id1, id2, label))
1757
+
1758
+ @staticmethod
1759
+ def style(id: str, styles: Any) -> BlockElement:
1760
+ return BlockElement(0, Block_formatStyle(id, of_seq(styles)))
1761
+
1762
+ @staticmethod
1763
+ def class_def(class_name: str, styles: Any) -> BlockElement:
1764
+ return BlockElement(0, Generic_formatClassDef(class_name, of_seq(styles)))
1765
+
1766
+ @staticmethod
1767
+ def class_(node_ids: Any, class_name: str) -> BlockElement:
1768
+ return BlockElement(0, Block_formatClass(of_seq(node_ids), class_name))
1769
+
1770
+ @staticmethod
1771
+ def comment(txt: str) -> BlockElement:
1772
+ return BlockElement(0, Generic_formatComment(txt))
1773
+
1774
+
1775
+ block_reflection = _expr246
1776
+
1777
+ def _expr247() -> TypeInfo:
1778
+ return class_type("Siren.theme", None, theme)
1779
+
1780
+
1781
+ class theme:
1782
+ @staticmethod
1783
+ def light() -> str:
1784
+ return "default"
1785
+
1786
+ @staticmethod
1787
+ def neutral() -> str:
1788
+ return "neutral"
1789
+
1790
+ @staticmethod
1791
+ def dark() -> str:
1792
+ return "dark"
1793
+
1794
+ @staticmethod
1795
+ def forest() -> str:
1796
+ return "forest"
1797
+
1798
+ @staticmethod
1799
+ def base() -> str:
1800
+ return "base"
1801
+
1802
+ @staticmethod
1803
+ def custom(theme_1: str) -> str:
1804
+ return theme_1
1805
+
1806
+
1807
+ theme_reflection = _expr247
1808
+
1809
+ def _expr248() -> TypeInfo:
1810
+ return class_type("Siren.siren", None, siren)
1811
+
1812
+
1813
+ class siren:
1814
+ @staticmethod
1815
+ def flowchart(direction_1: Direction, children: Any) -> SirenElement:
1816
+ graph: SirenGraph = SirenGraph(0, direction_1, of_seq(children))
1817
+ return SirenElement.init(graph)
1818
+
1819
+ @staticmethod
1820
+ def sequence(children: Any | None=None) -> SirenElement:
1821
+ graph: SirenGraph = SirenGraph(1, of_seq(children))
1822
+ return SirenElement.init(graph)
1823
+
1824
+ @staticmethod
1825
+ def class_diagram(children: Any | None=None) -> SirenElement:
1826
+ graph: SirenGraph = SirenGraph(2, of_seq(children))
1827
+ return SirenElement.init(graph)
1828
+
1829
+ @staticmethod
1830
+ def state(children: Any | None=None) -> SirenElement:
1831
+ graph: SirenGraph = SirenGraph(3, of_seq(children))
1832
+ return SirenElement.init(graph)
1833
+
1834
+ @staticmethod
1835
+ def state_v2(children: Any | None=None) -> SirenElement:
1836
+ graph: SirenGraph = SirenGraph(4, of_seq(children))
1837
+ return SirenElement.init(graph)
1838
+
1839
+ @staticmethod
1840
+ def er_diagram(children: Any | None=None) -> SirenElement:
1841
+ graph: SirenGraph = SirenGraph(5, of_seq(children))
1842
+ return SirenElement.init(graph)
1843
+
1844
+ @staticmethod
1845
+ def journey(children: Any | None=None) -> SirenElement:
1846
+ graph: SirenGraph = SirenGraph(6, of_seq(children))
1847
+ return SirenElement.init(graph)
1848
+
1849
+ @staticmethod
1850
+ def gantt(children: Any | None=None) -> SirenElement:
1851
+ graph: SirenGraph = SirenGraph(7, of_seq(children))
1852
+ return SirenElement.init(graph)
1853
+
1854
+ @staticmethod
1855
+ def pie_chart(children: Any, show_data: bool | None=None, title: str | None=None) -> SirenElement:
1856
+ graph: SirenGraph = SirenGraph(8, default_arg(show_data, False), title, of_seq(children))
1857
+ return SirenElement.init(graph)
1858
+
1859
+ @staticmethod
1860
+ def quadrant(children: Any | None=None) -> SirenElement:
1861
+ graph: SirenGraph = SirenGraph(9, of_seq(children))
1862
+ return SirenElement.init(graph)
1863
+
1864
+ @staticmethod
1865
+ def requirement(children: Any | None=None) -> SirenElement:
1866
+ graph: SirenGraph = SirenGraph(10, of_seq(children))
1867
+ return SirenElement.init(graph)
1868
+
1869
+ @staticmethod
1870
+ def git(children: Any | None=None) -> SirenElement:
1871
+ graph: SirenGraph = SirenGraph(11, of_seq(children))
1872
+ return SirenElement.init(graph)
1873
+
1874
+ @staticmethod
1875
+ def mindmap(children: Any | None=None) -> SirenElement:
1876
+ graph: SirenGraph = SirenGraph(12, of_seq(children))
1877
+ return SirenElement.init(graph)
1878
+
1879
+ @staticmethod
1880
+ def timeline(children: Any | None=None) -> SirenElement:
1881
+ graph: SirenGraph = SirenGraph(13, of_seq(children))
1882
+ return SirenElement.init(graph)
1883
+
1884
+ @staticmethod
1885
+ def sankey(children: Any | None=None) -> SirenElement:
1886
+ graph: SirenGraph = SirenGraph(14, of_seq(children))
1887
+ return SirenElement.init(graph)
1888
+
1889
+ @staticmethod
1890
+ def xy_chart(children: Any, is_horizontal: bool | None=None) -> SirenElement:
1891
+ graph: SirenGraph = SirenGraph(15, default_arg(is_horizontal, False), of_seq(children))
1892
+ return SirenElement.init(graph)
1893
+
1894
+ @staticmethod
1895
+ def block(children: Any | None=None) -> SirenElement:
1896
+ graph: SirenGraph = SirenGraph(16, of_seq(children))
1897
+ return SirenElement.init(graph)
1898
+
1899
+ @staticmethod
1900
+ def with_title(title: str, diagram: SirenElement) -> SirenElement:
1901
+ diagram.Config.Title = title
1902
+ return diagram
1903
+
1904
+ @staticmethod
1905
+ def with_theme(theme_1: str, diagram: SirenElement) -> SirenElement:
1906
+ diagram.Config.Theme = theme_1
1907
+ return diagram
1908
+
1909
+ @staticmethod
1910
+ def with_graph_config(config_func: Callable[[Array[ConfigVariable]], None], diagram: SirenElement) -> SirenElement:
1911
+ config: Array[ConfigVariable] = default_arg(diagram.Config.GraphConfig, [])
1912
+ config_func(config)
1913
+ diagram.Config.GraphConfig = config
1914
+ return diagram
1915
+
1916
+ @staticmethod
1917
+ def with_theme_variables(theme_variables_func: Callable[[Array[ThemeVariable]], None], diagram: SirenElement) -> SirenElement:
1918
+ theme_variables: Array[ThemeVariable] = default_arg(diagram.Config.ThemeVariables, [])
1919
+ theme_variables_func(theme_variables)
1920
+ diagram.Config.ThemeVariables = theme_variables
1921
+ return diagram
1922
+
1923
+ @staticmethod
1924
+ def add_theme_variable(var: ThemeVariable, diagram: SirenElement) -> SirenElement:
1925
+ diagram.Config.AddThemeVariable(var)
1926
+ return diagram
1927
+
1928
+ @staticmethod
1929
+ def add_graph_config_variable(var: ConfigVariable, diagram: SirenElement) -> SirenElement:
1930
+ diagram.Config.AddGraphConfig(var)
1931
+ return diagram
1932
+
1933
+ @staticmethod
1934
+ def write(diagram: SirenElement) -> str:
1935
+ return Yaml_write(Yaml_root(of_array([diagram.Config.ToYamlAst(), diagram.Graph.ToYamlAst()])))
1936
+
1937
+
1938
+ siren_reflection = _expr248
1939
+
1940
+ __all__ = ["formatting_reflection", "direction_reflection", "flowchart_reflection", "note_position_reflection", "sequence_reflection", "class_member_visibility_reflection", "class_member_classifier_reflection", "class_direction_reflection", "class_cardinality_reflection", "class_rlts_type_reflection", "class_diagram_reflection", "state_diagram_reflection", "er_key_reflection", "er_cardinality_reflection", "er_diagram_reflection", "journey_reflection", "gantt_time_reflection", "gantt_tags_reflection", "gantt_unit_reflection", "gantt_reflection", "pie_chart_reflection", "quadrant_reflection", "rq_risk_reflection", "rq_method_reflection", "requirement_reflection", "git_type_reflection", "git_reflection", "mindmap_reflection", "timeline_reflection", "sankey_reflection", "xy_chart_reflection", "block_reflection", "theme_reflection", "siren_reflection"]
1941
+