@openforis/arena-core 2.3.38 → 2.3.40

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 (383) hide show
  1. package/dist/auth/authGroup.js.map +1 -1
  2. package/dist/auth/authGroups.d.ts +21 -11
  3. package/dist/auth/authGroups.js.map +1 -1
  4. package/dist/auth/authorizer.d.ts +64 -38
  5. package/dist/auth/authorizer.js.map +1 -1
  6. package/dist/auth/permission.js.map +1 -1
  7. package/dist/auth/user.js.map +1 -1
  8. package/dist/auth/users.d.ts +19 -9
  9. package/dist/auth/users.js +3 -2
  10. package/dist/auth/users.js.map +1 -1
  11. package/dist/category/categories.d.ts +7 -3
  12. package/dist/category/categories.js.map +1 -1
  13. package/dist/category/categoryImportSummary.js.map +1 -1
  14. package/dist/category/categoryItemGenerator.d.ts +6 -4
  15. package/dist/category/categoryItems.d.ts +9 -4
  16. package/dist/category/categoryItems.js +2 -1
  17. package/dist/category/categoryItems.js.map +1 -1
  18. package/dist/category/factory.js.map +1 -1
  19. package/dist/chain/chain.js.map +1 -1
  20. package/dist/common/index.js.map +1 -1
  21. package/dist/dataExport/FlatDataExportModel.js.map +1 -1
  22. package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
  23. package/dist/dataExport/FlatDataFiles.d.ts +7 -5
  24. package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
  25. package/dist/dataQuery/dataQuery.js.map +1 -1
  26. package/dist/dataQuery/dataQuerySummaries.d.ts +28 -15
  27. package/dist/dataQuery/dataQuerySummaries.js +3 -3
  28. package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
  29. package/dist/error/SystemError.js.map +1 -1
  30. package/dist/esm/auth/authGroups.js.map +1 -1
  31. package/dist/esm/auth/users.js +3 -2
  32. package/dist/esm/auth/users.js.map +1 -1
  33. package/dist/esm/category/categories.js.map +1 -1
  34. package/dist/esm/category/categoryItems.js +2 -1
  35. package/dist/esm/category/categoryItems.js.map +1 -1
  36. package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
  37. package/dist/esm/dataQuery/dataQuerySummaries.js +3 -3
  38. package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
  39. package/dist/esm/expression/javascript/evaluator.js.map +1 -1
  40. package/dist/esm/extraProp/extraProps.js.map +1 -1
  41. package/dist/esm/geo/pointFactory.js.map +1 -1
  42. package/dist/esm/geo/points/bearing.js +1 -1
  43. package/dist/esm/geo/points/bearing.js.map +1 -1
  44. package/dist/esm/geo/points/distance.js +1 -1
  45. package/dist/esm/geo/points/distance.js.map +1 -1
  46. package/dist/esm/geo/points/isValid.js.map +1 -1
  47. package/dist/esm/geo/points/transform.js.map +1 -1
  48. package/dist/esm/job/JobBase.js +4 -3
  49. package/dist/esm/job/JobBase.js.map +1 -1
  50. package/dist/esm/message/messages.js +9 -8
  51. package/dist/esm/message/messages.js.map +1 -1
  52. package/dist/esm/node/factory.js +2 -1
  53. package/dist/esm/node/factory.js.map +1 -1
  54. package/dist/esm/node/nodeValueFormatter.js +2 -1
  55. package/dist/esm/node/nodeValueFormatter.js.map +1 -1
  56. package/dist/esm/node/nodeValues.js +3 -2
  57. package/dist/esm/node/nodeValues.js.map +1 -1
  58. package/dist/esm/node/nodes.js +4 -4
  59. package/dist/esm/node/nodes.js.map +1 -1
  60. package/dist/esm/nodeDef/nodeDefs.js +10 -10
  61. package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
  62. package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  63. package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
  64. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +3 -2
  65. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  66. package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  67. package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
  68. package/dist/esm/record/_records/nodeDefSelfReferences.js.map +1 -1
  69. package/dist/esm/record/_records/recordGetters.js.map +1 -1
  70. package/dist/esm/record/_records/recordNodesIndexReader.js +6 -4
  71. package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
  72. package/dist/esm/record/_records/recordNodesIndexUpdater.js +10 -7
  73. package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
  74. package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
  75. package/dist/esm/record/_records/recordUpdater.js.map +1 -1
  76. package/dist/esm/record/factory.js +2 -1
  77. package/dist/esm/record/factory.js.map +1 -1
  78. package/dist/esm/record/recordCloner.js +2 -1
  79. package/dist/esm/record/recordCloner.js.map +1 -1
  80. package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
  81. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +3 -2
  82. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  83. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js +4 -7
  84. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  85. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  86. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  87. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  88. package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  89. package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  90. package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  91. package/dist/esm/record/recordUpdater.js.map +1 -1
  92. package/dist/esm/record/recordValidator/attributeTypeValidator.js +2 -2
  93. package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
  94. package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  95. package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
  96. package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
  97. package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
  98. package/dist/esm/survey/refData/factory.js +3 -2
  99. package/dist/esm/survey/refData/factory.js.map +1 -1
  100. package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
  101. package/dist/esm/survey/surveyDocImages.js.map +1 -1
  102. package/dist/esm/survey/surveyFileFactory.js.map +1 -1
  103. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  104. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  105. package/dist/esm/survey/surveys/dependencies.js +2 -1
  106. package/dist/esm/survey/surveys/dependencies.js.map +1 -1
  107. package/dist/esm/survey/surveys/nodeDefs.js +4 -2
  108. package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
  109. package/dist/esm/survey/surveys/refsData.js +2 -1
  110. package/dist/esm/survey/surveys/refsData.js.map +1 -1
  111. package/dist/esm/survey/surveys/surveyGettersSecurity.js +1 -4
  112. package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
  113. package/dist/esm/survey/surveys/surveysGetters.js +5 -7
  114. package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
  115. package/dist/esm/taxonomy/taxa.js.map +1 -1
  116. package/dist/esm/taxonomy/taxonomies.js.map +1 -1
  117. package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  118. package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
  119. package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  120. package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  121. package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  122. package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  123. package/dist/esm/utils/_objects/camelize.js.map +1 -1
  124. package/dist/esm/utils/arrays.js.map +1 -1
  125. package/dist/esm/utils/dates.js.map +1 -1
  126. package/dist/esm/utils/fileNames.js.map +1 -1
  127. package/dist/esm/utils/fileProcessor.js +2 -1
  128. package/dist/esm/utils/fileProcessor.js.map +1 -1
  129. package/dist/esm/utils/numbers.js.map +1 -1
  130. package/dist/esm/utils/queue.js.map +1 -1
  131. package/dist/esm/utils/versions.js.map +1 -1
  132. package/dist/esm/validation/factory.js.map +1 -1
  133. package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
  134. package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
  135. package/dist/esm/validation/validationResults.js +1 -1
  136. package/dist/esm/validation/validationResults.js.map +1 -1
  137. package/dist/esm/validation/validations.js +2 -2
  138. package/dist/esm/validation/validations.js.map +1 -1
  139. package/dist/esm/validation/validator.js.map +1 -1
  140. package/dist/expression/javascript/evaluator.js.map +1 -1
  141. package/dist/expression/javascript/global.js.map +1 -1
  142. package/dist/expression/javascript/node/array.js.map +1 -1
  143. package/dist/expression/javascript/node/binary.js.map +1 -1
  144. package/dist/expression/javascript/node/call.js.map +1 -1
  145. package/dist/expression/javascript/node/compound.js.map +1 -1
  146. package/dist/expression/javascript/node/conditional.js.map +1 -1
  147. package/dist/expression/javascript/node/identifier.js.map +1 -1
  148. package/dist/expression/javascript/node/literal.js.map +1 -1
  149. package/dist/expression/javascript/node/member.js.map +1 -1
  150. package/dist/expression/javascript/node/sequence.js.map +1 -1
  151. package/dist/expression/javascript/node/this.js.map +1 -1
  152. package/dist/expression/javascript/node/unary.js.map +1 -1
  153. package/dist/expression/javascript/parser/jsep.js.map +1 -1
  154. package/dist/expression/javascript/parser/parser.js.map +1 -1
  155. package/dist/expression/node.js.map +1 -1
  156. package/dist/expression/variable.js.map +1 -1
  157. package/dist/extraProp/extraProp.js.map +1 -1
  158. package/dist/extraProp/extraProps.d.ts +9 -6
  159. package/dist/extraProp/extraProps.js.map +1 -1
  160. package/dist/extraProp/extraPropsDataGenerator.d.ts +7 -5
  161. package/dist/geo/pointFactory.js.map +1 -1
  162. package/dist/geo/points/bearing.js +5 -2
  163. package/dist/geo/points/bearing.js.map +1 -1
  164. package/dist/geo/points/distance.js +5 -2
  165. package/dist/geo/points/distance.js.map +1 -1
  166. package/dist/geo/points/equals.js.map +1 -1
  167. package/dist/geo/points/getSrs.js.map +1 -1
  168. package/dist/geo/points/index.d.ts +18 -14
  169. package/dist/geo/points/isFilled.js.map +1 -1
  170. package/dist/geo/points/isValid.js.map +1 -1
  171. package/dist/geo/points/parse.js.map +1 -1
  172. package/dist/geo/points/pointAtDistance.js.map +1 -1
  173. package/dist/geo/points/toLatLong.js.map +1 -1
  174. package/dist/geo/points/toString.js.map +1 -1
  175. package/dist/geo/points/transform.js.map +1 -1
  176. package/dist/job/JobBase.js +4 -3
  177. package/dist/job/JobBase.js.map +1 -1
  178. package/dist/job/jobEvent.js.map +1 -1
  179. package/dist/job/status.js.map +1 -1
  180. package/dist/language/languageCode.js.map +1 -1
  181. package/dist/language/languages.js.map +1 -1
  182. package/dist/message/message.js.map +1 -1
  183. package/dist/message/messages.d.ts +54 -28
  184. package/dist/message/messages.js +9 -8
  185. package/dist/message/messages.js.map +1 -1
  186. package/dist/node/factory.js +2 -1
  187. package/dist/node/factory.js.map +1 -1
  188. package/dist/node/node.js.map +1 -1
  189. package/dist/node/nodeValueFormatter.d.ts +2 -1
  190. package/dist/node/nodeValueFormatter.js +2 -1
  191. package/dist/node/nodeValueFormatter.js.map +1 -1
  192. package/dist/node/nodeValueProps.js.map +1 -1
  193. package/dist/node/nodeValues.d.ts +62 -41
  194. package/dist/node/nodeValues.js +3 -2
  195. package/dist/node/nodeValues.js.map +1 -1
  196. package/dist/node/nodes.d.ts +112 -86
  197. package/dist/node/nodes.js +4 -4
  198. package/dist/node/nodes.js.map +1 -1
  199. package/dist/nodeDef/nodeDef.js.map +1 -1
  200. package/dist/nodeDef/nodeDefs.d.ts +173 -86
  201. package/dist/nodeDef/nodeDefs.js +10 -10
  202. package/dist/nodeDef/nodeDefs.js.map +1 -1
  203. package/dist/nodeDef/types/entity.js.map +1 -1
  204. package/dist/nodeDef/types/file.js.map +1 -1
  205. package/dist/nodeDef/types/formHeader.js.map +1 -1
  206. package/dist/nodeDef/types/text.js.map +1 -1
  207. package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  208. package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
  209. package/dist/nodeDefExpressionEvaluator/node/identifier.js +3 -2
  210. package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  211. package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  212. package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.d.ts +11 -8
  213. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.d.ts +1 -1
  214. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  215. package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
  216. package/dist/record/_records/nodeDefSelfReferences.d.ts +12 -4
  217. package/dist/record/_records/nodeDefSelfReferences.js.map +1 -1
  218. package/dist/record/_records/recordCompletion.js.map +1 -1
  219. package/dist/record/_records/recordGetters.js.map +1 -1
  220. package/dist/record/_records/recordNodesIndexReader.d.ts +14 -8
  221. package/dist/record/_records/recordNodesIndexReader.js +6 -4
  222. package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
  223. package/dist/record/_records/recordNodesIndexUpdater.d.ts +22 -12
  224. package/dist/record/_records/recordNodesIndexUpdater.js +10 -7
  225. package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
  226. package/dist/record/_records/recordPagesValidation.js.map +1 -1
  227. package/dist/record/_records/recordUpdater.js.map +1 -1
  228. package/dist/record/_records/recordUtils.js.map +1 -1
  229. package/dist/record/factory.js +2 -1
  230. package/dist/record/factory.js.map +1 -1
  231. package/dist/record/nodePointers.d.ts +13 -10
  232. package/dist/record/recordCloner.d.ts +11 -10
  233. package/dist/record/recordCloner.js +2 -1
  234. package/dist/record/recordCloner.js.map +1 -1
  235. package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
  236. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +3 -2
  237. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  238. package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.d.ts +8 -6
  239. package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  240. package/dist/record/recordExpressionEvaluator/nodeValueExtractor.d.ts +7 -5
  241. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js +4 -7
  242. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  243. package/dist/record/recordFixer.d.ts +19 -10
  244. package/dist/record/recordNodesUpdater/index.d.ts +8 -7
  245. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
  246. package/dist/record/recordNodesUpdater/recordExpressionValueConverter.d.ts +2 -1
  247. package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  248. package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  249. package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
  250. package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  251. package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
  252. package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
  253. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
  254. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
  255. package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
  256. package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
  257. package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
  258. package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  259. package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
  260. package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  261. package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  262. package/dist/record/recordPrettyPrinter.d.ts +18 -15
  263. package/dist/record/recordPrettyPrinter.js.map +1 -1
  264. package/dist/record/recordStep.d.ts +5 -2
  265. package/dist/record/recordStep.js.map +1 -1
  266. package/dist/record/recordUpdater.d.ts +22 -15
  267. package/dist/record/recordUpdater.js.map +1 -1
  268. package/dist/record/recordValidations.d.ts +21 -14
  269. package/dist/record/recordValidator/attributeKeyValidator.d.ts +8 -6
  270. package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
  271. package/dist/record/recordValidator/attributeTypeValidator.d.ts +2 -1
  272. package/dist/record/recordValidator/attributeTypeValidator.js +2 -2
  273. package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
  274. package/dist/record/recordValidator/attributeUniqueValidator.d.ts +1 -5
  275. package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  276. package/dist/record/recordValidator/attributeValidator.d.ts +3 -1
  277. package/dist/record/recordValidator/attributeValidator.js.map +1 -1
  278. package/dist/record/recordValidator/countVaildator.d.ts +21 -17
  279. package/dist/record/recordValidator/index.d.ts +4 -3
  280. package/dist/record/recordValidator/recordValidator.js.map +1 -1
  281. package/dist/record/records.d.ts +62 -220
  282. package/dist/registry/serviceRegistry.js.map +1 -1
  283. package/dist/registry/serviceType.js.map +1 -1
  284. package/dist/srs/srs.js.map +1 -1
  285. package/dist/survey/nodeDefsFixer.d.ts +5 -4
  286. package/dist/survey/nodeDefsFixer.js.map +1 -1
  287. package/dist/survey/refData/factory.js +3 -2
  288. package/dist/survey/refData/factory.js.map +1 -1
  289. package/dist/survey/survey.d.ts +2 -2
  290. package/dist/survey/survey.js.map +1 -1
  291. package/dist/survey/surveyDocImageFactory.js.map +1 -1
  292. package/dist/survey/surveyDocImages.d.ts +11 -5
  293. package/dist/survey/surveyDocImages.js.map +1 -1
  294. package/dist/survey/surveyFileFactory.js.map +1 -1
  295. package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  296. package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  297. package/dist/survey/surveys/dependencies.js +2 -1
  298. package/dist/survey/surveys/dependencies.js.map +1 -1
  299. package/dist/survey/surveys/index.d.ts +82 -255
  300. package/dist/survey/surveys/nodeDefs.d.ts +4 -6
  301. package/dist/survey/surveys/nodeDefs.js +4 -2
  302. package/dist/survey/surveys/nodeDefs.js.map +1 -1
  303. package/dist/survey/surveys/refsData.js +2 -1
  304. package/dist/survey/surveys/refsData.js.map +1 -1
  305. package/dist/survey/surveys/surveyGettersSecurity.js +1 -4
  306. package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
  307. package/dist/survey/surveys/surveysGetters.js +5 -7
  308. package/dist/survey/surveys/surveysGetters.js.map +1 -1
  309. package/dist/survey/surveys/surveysUtils.js.map +1 -1
  310. package/dist/taxonomy/taxa.d.ts +17 -11
  311. package/dist/taxonomy/taxa.js.map +1 -1
  312. package/dist/taxonomy/taxonGenerator.d.ts +6 -4
  313. package/dist/taxonomy/taxonomies.d.ts +7 -3
  314. package/dist/taxonomy/taxonomies.js.map +1 -1
  315. package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  316. package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
  317. package/dist/tests/builder/recordBuilder/index.d.ts +4 -2
  318. package/dist/tests/builder/recordBuilder/index.js.map +1 -1
  319. package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  320. package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
  321. package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
  322. package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  323. package/dist/tests/builder/surveyBuilder/index.d.ts +30 -15
  324. package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  325. package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  326. package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
  327. package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
  328. package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
  329. package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
  330. package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
  331. package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
  332. package/dist/utils/_objects/assoc.js.map +1 -1
  333. package/dist/utils/_objects/assocPath.js.map +1 -1
  334. package/dist/utils/_objects/camelize.js.map +1 -1
  335. package/dist/utils/_objects/deepMerge.js.map +1 -1
  336. package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
  337. package/dist/utils/_objects/difference.js.map +1 -1
  338. package/dist/utils/_objects/dissoc.js.map +1 -1
  339. package/dist/utils/_objects/dissocPath.js.map +1 -1
  340. package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
  341. package/dist/utils/_objects/index.d.ts +34 -48
  342. package/dist/utils/_objects/isEmpty.js.map +1 -1
  343. package/dist/utils/_objects/isNil.js.map +1 -1
  344. package/dist/utils/_objects/isNotEmpty.js.map +1 -1
  345. package/dist/utils/_objects/parse.js.map +1 -1
  346. package/dist/utils/_objects/path.js.map +1 -1
  347. package/dist/utils/_objects/propertyOf.js.map +1 -1
  348. package/dist/utils/_objects/setInPath.js.map +1 -1
  349. package/dist/utils/_objects/stringify.js.map +1 -1
  350. package/dist/utils/arrays.d.ts +25 -15
  351. package/dist/utils/arrays.js.map +1 -1
  352. package/dist/utils/dates.d.ts +101 -48
  353. package/dist/utils/dates.js.map +1 -1
  354. package/dist/utils/fileNames.d.ts +7 -3
  355. package/dist/utils/fileNames.js.map +1 -1
  356. package/dist/utils/fileProcessor.js +2 -1
  357. package/dist/utils/fileProcessor.js.map +1 -1
  358. package/dist/utils/numbers.d.ts +42 -13
  359. package/dist/utils/numbers.js.map +1 -1
  360. package/dist/utils/promises.d.ts +12 -1
  361. package/dist/utils/queue.js.map +1 -1
  362. package/dist/utils/retryProcessor.js.map +1 -1
  363. package/dist/utils/strings.d.ts +22 -11
  364. package/dist/utils/uuids.d.ts +3 -1
  365. package/dist/utils/versions.d.ts +19 -7
  366. package/dist/utils/versions.js.map +1 -1
  367. package/dist/validation/factory.js.map +1 -1
  368. package/dist/validation/fieldValidators/email.js.map +1 -1
  369. package/dist/validation/fieldValidators/index.d.ts +12 -6
  370. package/dist/validation/fieldValidators/name.js.map +1 -1
  371. package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
  372. package/dist/validation/fieldValidators/numeric.js.map +1 -1
  373. package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
  374. package/dist/validation/fieldValidators/required.js.map +1 -1
  375. package/dist/validation/validation.js.map +1 -1
  376. package/dist/validation/validationResults.d.ts +17 -9
  377. package/dist/validation/validationResults.js +1 -1
  378. package/dist/validation/validationResults.js.map +1 -1
  379. package/dist/validation/validations.d.ts +71 -35
  380. package/dist/validation/validations.js +2 -2
  381. package/dist/validation/validations.js.map +1 -1
  382. package/dist/validation/validator.js.map +1 -1
  383. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefs.js","sourceRoot":"","sources":["../../../../src/survey/surveys/nodeDefs.ts"],"names":[],"mappings":"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","sourcesContent":["import { Survey } from '../survey'\nimport {\n NodeDef,\n NodeDefCode,\n NodeDefCodeProps,\n NodeDefEntity,\n NodeDefEntityChildPosition,\n NodeDefMap,\n NodeDefProps,\n NodeDefType,\n NodeDefs,\n} from '../../nodeDef'\nimport { Arrays, Objects, Queue } from '../../utils'\nimport { SystemError } from '../../error'\nimport * as NodeDefsReader from './_nodeDefs/nodeDefsReader'\nimport * as NodeDefsIndex from './_nodeDefs/nodeDefsIndex'\nimport { TraverseMethod } from '../../common'\nimport { getCategoryByUuid } from './surveysGetters'\n\nexport const getNodeDefsArray = NodeDefsReader.getNodeDefsArray\n\nexport const findNodeDefByUuid = (params: {\n survey: Survey\n uuid: string\n}): NodeDef<NodeDefType, NodeDefProps> | undefined => {\n const { survey, uuid } = params\n return survey.nodeDefs?.[uuid]\n}\n\nexport const getNodeDefByUuid = (params: { survey: Survey; uuid: string }): NodeDef<NodeDefType, NodeDefProps> => {\n const { survey, uuid } = params\n const nodeDef = findNodeDefByUuid({ survey, uuid })\n if (!nodeDef) throw new SystemError('survey.nodeDefUuidNotFound', { uuid })\n return nodeDef\n}\n\nexport const findNodeDefByName = (params: {\n survey: Survey\n name: string\n}): NodeDef<NodeDefType, NodeDefProps> | undefined => {\n const { survey, name } = params\n const nodeDefUuidByNameIndex = survey.nodeDefsIndex?.nodeDefUuidByName\n if (nodeDefUuidByNameIndex) {\n const uuid = nodeDefUuidByNameIndex[name]\n return findNodeDefByUuid({ survey, uuid })\n }\n return getNodeDefsArray(survey).find((nodeDef) => nodeDef.props.name === name)\n}\n\nexport const getNodeDefByName = (params: { survey: Survey; name: string }): NodeDef<NodeDefType, NodeDefProps> => {\n const { survey, name } = params\n const nodeDef = findNodeDefByName({ survey, name })\n if (!nodeDef) {\n throw new SystemError('survey.nodeDefNameNotFound', { name })\n }\n return nodeDef\n}\n\nexport const getNodeDefsByUuids = (params: { survey: Survey; uuids: string[] }) => {\n const { survey, uuids } = params\n return uuids.map((uuid) => getNodeDefByUuid({ survey, uuid }))\n}\n\nexport const findNodeDefsByUuids = (params: {\n survey: Survey\n uuids: string[]\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, uuids } = params\n return uuids.reduce((acc: NodeDef<NodeDefType, NodeDefProps>[], uuid) => {\n const nodeDef = findNodeDefByUuid({ survey, uuid })\n if (nodeDef) {\n acc.push(nodeDef)\n }\n return acc\n }, [])\n}\n\nexport const getNodeDefParent = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDefEntity | undefined => {\n const { survey, nodeDef } = params\n if (!nodeDef.parentUuid) return undefined\n return getNodeDefByUuid({ survey, uuid: nodeDef.parentUuid }) as NodeDefEntity\n}\n\nexport const getNodeDefAncestorMultipleEntity = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDefEntity | undefined => {\n const { survey, nodeDef } = params\n return findAncestorNodeDef({\n survey,\n nodeDef,\n predicate: (entityDef) => NodeDefs.isRoot(entityDef) || NodeDefs.isMultiple(entityDef),\n })\n}\n\nexport const isNodeDefAncestor = (params: {\n nodeDefAncestor: NodeDef<NodeDefType, NodeDefProps>\n nodeDefDescendant: NodeDef<NodeDefType, NodeDefProps>\n}): boolean => {\n const { nodeDefAncestor, nodeDefDescendant } = params\n\n return Arrays.startsWith(nodeDefDescendant.meta.h, [...nodeDefAncestor.meta.h, nodeDefAncestor.uuid])\n}\n\nexport const getNodeDefRoot = (params: { survey: Survey }): NodeDefEntity => {\n const { survey } = params\n if (!survey.nodeDefs) throw new SystemError('survey.emptyNodeDefs')\n\n const rootDefUuidInIndex = survey.nodeDefsIndex?.rootDefUuid\n\n const rootDef = rootDefUuidInIndex\n ? getNodeDefByUuid({ survey, uuid: rootDefUuidInIndex })\n : getNodeDefsArray(survey).find((nodeDef) => !nodeDef.parentUuid)\n\n if (!rootDef) throw new SystemError('survey.rootDefNotFound')\n\n return rootDef as NodeDefEntity\n}\n\nexport const getNodeDefSource = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDef<NodeDefType, NodeDefProps> | undefined => {\n const { survey, nodeDef } = params\n return nodeDef.virtual ? getNodeDefParent({ survey, nodeDef }) : undefined\n}\n\nexport const getNodeDefChildren = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n includeAnalysis?: boolean\n includeLayoutElements?: boolean\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, nodeDef, includeAnalysis = false, includeLayoutElements = false } = params\n\n if (!survey.nodeDefs) return []\n\n let childDefs = []\n // try to get children using index\n if (survey.nodeDefsIndex) {\n const childrenUuids = Object.keys(survey.nodeDefsIndex.childDefUuidPresenceByParentUuid?.[nodeDef.uuid] ?? {})\n childDefs = getNodeDefsByUuids({ survey, uuids: childrenUuids })\n } else {\n // calculate children\n childDefs = NodeDefsReader.calculateNodeDefChildren(nodeDef)(survey)\n }\n if (includeAnalysis && includeLayoutElements) {\n return childDefs\n }\n return childDefs.filter((childDef) => {\n if (!includeAnalysis && childDef.analysis) return false\n if (!includeLayoutElements && NodeDefs.isLayoutElement(childDef)) return false\n return true\n })\n}\n\nexport const getQualifierDefs = (params: { survey: Survey }): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey } = params\n const qualifierPresence = survey.nodeDefsIndex?.qualifierPresenceByUuid\n if (qualifierPresence) {\n const qualifierUuids = Object.keys(qualifierPresence)\n return getNodeDefsByUuids({ survey, uuids: qualifierUuids })\n } else {\n return getNodeDefsArray(survey).filter((nodeDef) => NodeDefs.isQualifier(nodeDef))\n }\n}\n\nconst getIndexInChain = (params: { survey: Survey; nodeDef: NodeDef<any> }): number => {\n const { survey, nodeDef } = params\n const areaBasedEstimatedOf = NodeDefs.getAreaBasedEstimatedOf(nodeDef)\n const areaBasedEstimatedOfNodeDef = areaBasedEstimatedOf\n ? getNodeDefByUuid({ survey, uuid: areaBasedEstimatedOf })\n : null\n const nodeDefToConsider = areaBasedEstimatedOfNodeDef ?? nodeDef\n return nodeDefToConsider?.propsAdvanced?.index ?? 0\n}\n\nconst getNodeDefChildrenUuidsSortedByLayout = (params: {\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n cycle: string\n children: NodeDef<any>[]\n}): string[] => {\n const { nodeDef, cycle, children } = params\n\n const entityDef = nodeDef as NodeDefEntity\n\n const childrenEntitiesInOwnPageSortedUuids = NodeDefs.getChildrenEntitiesInOwnPageUudis(cycle)(entityDef) ?? []\n const layoutChildren = NodeDefs.getLayoutChildren(cycle)(entityDef) ?? []\n const childrenByUuids = children.reduce((acc: NodeDefMap, child) => {\n acc[child.uuid] = child\n return acc\n }, {})\n const childrenUuids = Object.keys(childrenByUuids)\n\n if (layoutChildren.length === 0 && childrenEntitiesInOwnPageSortedUuids.length === 0) {\n return childrenUuids\n }\n const sortedChildrenDefsInSamePageUuids = NodeDefs.isLayoutRenderTypeTable(cycle)(entityDef)\n ? (layoutChildren as string[])\n : [...(layoutChildren as NodeDefEntityChildPosition[])]\n .sort(\n (gridItem1: NodeDefEntityChildPosition, gridItem2: NodeDefEntityChildPosition) =>\n gridItem1.y - gridItem2.y || gridItem1.x - gridItem2.x\n )\n .map((gridItem) => gridItem.i)\n .filter((nodeDefUuid) => !!childrenByUuids[nodeDefUuid])\n\n const missingChildrenUuidsInLayout = childrenUuids.filter((childUuid) => {\n const childDef = childrenByUuids[childUuid]\n return (\n !sortedChildrenDefsInSamePageUuids.includes(childUuid) &&\n !childrenEntitiesInOwnPageSortedUuids.includes(childUuid) &&\n NodeDefs.isInCycle(cycle)(childDef)\n )\n })\n\n return (\n sortedChildrenDefsInSamePageUuids\n // add child uuids missing in layout at the end\n .concat(missingChildrenUuidsInLayout)\n // add child entities in own page at the very end\n .concat(childrenEntitiesInOwnPageSortedUuids)\n )\n}\n\nconst _booleanToNumber = (value: boolean | undefined): number => (value ? 1 : 0)\nconst _compareBooleans = (value1: boolean | undefined, value2: boolean | undefined): number =>\n _booleanToNumber(value1) - _booleanToNumber(value2)\n\nexport const getNodeDefChildrenSorted = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n cycle: string\n includeAnalysis?: boolean\n includeLayoutElements?: boolean\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, nodeDef, cycle, includeAnalysis, includeLayoutElements } = params\n\n const children = getNodeDefChildren({ survey, nodeDef, includeAnalysis, includeLayoutElements }).filter(\n NodeDefs.isInCycle(cycle)\n )\n\n const childrenUuidsSortedByLayout = getNodeDefChildrenUuidsSortedByLayout({ nodeDef, cycle, children })\n\n return children.sort((child1, child2) => {\n if (includeAnalysis && (child1.analysis || child2.analysis)) {\n // analysis attribute at the end\n const analysisComparison = _compareBooleans(child1.analysis, child2.analysis)\n if (analysisComparison !== 0) return analysisComparison\n\n // sort by chain index\n const indexInChainComparison =\n getIndexInChain({ survey, nodeDef: child1 }) - getIndexInChain({ survey, nodeDef: child2 })\n if (indexInChainComparison !== 0) return indexInChainComparison\n\n // one node def is the area base estimated of the other\n const areaBasedEstimatedOfComparison = _compareBooleans(\n !!NodeDefs.getAreaBasedEstimatedOf(child1),\n !!NodeDefs.getAreaBasedEstimatedOf(child2)\n )\n if (areaBasedEstimatedOfComparison !== 0) return areaBasedEstimatedOfComparison\n\n return (child1.id ?? 0) - (child2.id ?? 0)\n }\n // keep sorting as defined in layout props\n return childrenUuidsSortedByLayout.indexOf(child1.uuid) - childrenUuidsSortedByLayout.indexOf(child2.uuid)\n })\n}\n\nexport const visitAncestorsAndSelfNodeDef = (params: {\n survey: Survey\n nodeDef: NodeDef<any>\n visitor: (nodeDef: NodeDef<any>) => void\n stopIfFn?: () => boolean\n includeSelf?: boolean\n}): void => {\n const { survey, nodeDef, visitor, stopIfFn, includeSelf = true } = params\n if (includeSelf) {\n visitor(nodeDef)\n }\n let currentParent = getNodeDefParent({ survey, nodeDef })\n while (currentParent) {\n visitor(currentParent)\n if (stopIfFn?.()) {\n break\n }\n currentParent = getNodeDefParent({ survey, nodeDef: currentParent })\n }\n}\n\nexport const findAncestorNodeDef = (params: {\n survey: Survey\n nodeDef: NodeDef<any>\n predicate: (entityDef: NodeDefEntity) => boolean\n}): NodeDefEntity | undefined => {\n const { survey, nodeDef, predicate } = params\n let result: NodeDefEntity | undefined = undefined\n visitAncestorsAndSelfNodeDef({\n survey,\n nodeDef,\n // ancestors only: the node def itself is never an ancestor (e.g. a multiple attribute)\n includeSelf: false,\n visitor: (entityDef) => {\n if (predicate(entityDef)) {\n result = entityDef\n }\n },\n stopIfFn: () => !!result,\n })\n return result\n}\n\ntype NodeDefTraverseParams = {\n nodeDef: NodeDef<any>\n visitor: (nodeDef: NodeDef<any>) => void\n shouldTraverse: (nodeDef: NodeDef<any>) => boolean\n getChildren: (nodeDef: NodeDef<any>) => NodeDef<any>[]\n}\n\nconst traverseBreadthFirst = ({ nodeDef, visitor, shouldTraverse, getChildren }: NodeDefTraverseParams) => {\n const queue = new Queue()\n\n queue.enqueue(nodeDef)\n\n while (!queue.isEmpty()) {\n const visitedNodeDef = queue.dequeue()\n\n visitor(visitedNodeDef)\n\n if (shouldTraverse(visitedNodeDef)) {\n queue.enqueueItems(getChildren(visitedNodeDef))\n }\n }\n}\n\nconst traverseDepthFirst = ({ nodeDef, visitor, shouldTraverse, getChildren }: NodeDefTraverseParams) => {\n const stack: NodeDef<any>[] = []\n\n stack.push(nodeDef)\n\n while (stack.length > 0) {\n const visitedNodeDef = stack.pop()!\n\n visitor(visitedNodeDef)\n\n if (shouldTraverse(visitedNodeDef)) {\n const children = getChildren(visitedNodeDef)\n // add children to stack in reverse order\n for (let index = children.length - 1; index >= 0; index--) {\n stack.push(children[index])\n }\n }\n }\n}\n\nexport const visitDescendantsAndSelfNodeDef = (params: {\n survey: Survey\n cycle?: string\n nodeDef: NodeDef<any>\n visitor: (nodeDef: NodeDef<any>) => void\n includeAnalysis?: boolean\n traverseMethod?: TraverseMethod\n traverseOnlySingleEntities?: boolean\n}) => {\n const {\n survey,\n cycle,\n nodeDef,\n visitor,\n includeAnalysis = false,\n traverseMethod = TraverseMethod.bfs,\n traverseOnlySingleEntities = false,\n } = params\n\n const getNodeDefChildrenInternal = (visitedNodeDef: NodeDef<any>) =>\n Objects.isEmpty(cycle)\n ? getNodeDefChildren({ survey, nodeDef: visitedNodeDef, includeAnalysis })\n : getNodeDefChildrenSorted({ survey, nodeDef: visitedNodeDef, cycle: cycle!, includeAnalysis })\n\n const shouldTraverse = (visitedNodeDef: NodeDef<any>): boolean =>\n visitedNodeDef.type === NodeDefType.entity &&\n (visitedNodeDef === nodeDef ||\n NodeDefs.isRoot(visitedNodeDef) ||\n !traverseOnlySingleEntities ||\n NodeDefs.isSingle(visitedNodeDef))\n\n const traverseParams = { nodeDef, visitor, shouldTraverse, getChildren: getNodeDefChildrenInternal }\n if (traverseMethod === TraverseMethod.bfs) {\n traverseBreadthFirst(traverseParams)\n } else {\n traverseDepthFirst(traverseParams)\n }\n}\n\nexport const visitNodeDefs = (params: {\n survey: Survey\n visitor: (nodeDef: NodeDef<any>) => void\n includeAnalysis?: boolean\n traverseMethod?: TraverseMethod\n}) => {\n const { survey, visitor, traverseMethod = TraverseMethod.bfs, includeAnalysis = false } = params\n const rootDef = getNodeDefRoot({ survey })\n return visitDescendantsAndSelfNodeDef({ survey, nodeDef: rootDef, visitor, traverseMethod, includeAnalysis })\n}\n\n// Node Def Code\nexport const getNodeDefParentCode = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefCode | undefined => {\n const { survey, nodeDef } = params\n const parentCodeDefUuid = nodeDef.props.parentCodeDefUuid\n if (!parentCodeDefUuid) return undefined\n const parentCodeDef = getNodeDefByUuid({ survey, uuid: parentCodeDefUuid })\n return parentCodeDef as NodeDefCode\n}\n\nexport const getNodeDefAncestorCodes = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefCode[] => {\n const { survey, nodeDef } = params\n const ancestors = []\n let currentParentCode = getNodeDefParentCode({ survey, nodeDef })\n while (currentParentCode) {\n ancestors.unshift(currentParentCode)\n currentParentCode = getNodeDefParentCode({ survey, nodeDef: currentParentCode })\n }\n return ancestors\n}\n\nexport const isNodeDefParentCode = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): boolean => {\n const { survey, nodeDef } = params\n const nodeDefsArray = getNodeDefsArray(survey)\n return nodeDefsArray.some((def) => {\n try {\n return nodeDef.uuid === (def as NodeDef<NodeDefType.code, NodeDefCodeProps>).props.parentCodeDefUuid\n } catch {\n // ignore it: def is not a code attribute definition\n return\n }\n })\n}\n\nexport const getNodeDefCategoryLevelIndex = (params: { survey: Survey; nodeDef: NodeDefCode }): number => {\n const { survey, nodeDef } = params\n const parentCodeNodeDef = getNodeDefParentCode({ survey, nodeDef })\n return parentCodeNodeDef ? 1 + getNodeDefCategoryLevelIndex({ survey, nodeDef: parentCodeNodeDef }) : 0\n}\n\nexport const getDependentCodeAttributeDefs = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefCode[] => {\n const { survey, nodeDef } = params\n\n const categoryUuid = NodeDefs.getCategoryUuid(nodeDef)\n if (!categoryUuid) return []\n\n const category = getCategoryByUuid({ survey, categoryUuid })\n const levelsCount = Object.keys(category?.levels ?? {}).length\n if (levelsCount <= 1) return []\n\n const nodeDefsArray = getNodeDefsArray(survey)\n return nodeDefsArray.filter(\n (def) => def.type === NodeDefType.code && NodeDefs.getParentCodeDefUuid(def as NodeDefCode) === nodeDef.uuid\n ) as NodeDefCode[]\n}\n\nexport const getDependentEnumeratedEntityDefs = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefEntity[] => {\n const { survey, nodeDef } = params\n const result: NodeDefEntity[] = []\n const dependentCodeAttributeDefs = getDependentCodeAttributeDefs({ survey, nodeDef })\n for (const dependentCodeDef of dependentCodeAttributeDefs) {\n if (NodeDefs.isKey(dependentCodeDef)) {\n const entityDef = getNodeDefAncestorMultipleEntity({ survey, nodeDef: dependentCodeDef })\n if (entityDef && NodeDefs.isEnumerate(entityDef)) {\n result.push(entityDef)\n }\n }\n }\n return result\n}\n\nexport const getNodeDefKeys = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n cycle?: string\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, cycle, nodeDef } = params\n\n return getDescendantsInSingleEntities({\n survey,\n cycle,\n nodeDef,\n predicate: (visitedNodeDef) =>\n NodeDefs.isKey(visitedNodeDef) &&\n !visitedNodeDef.deleted &&\n (Objects.isEmpty(cycle) || NodeDefs.isInCycle(cycle!)(visitedNodeDef)),\n })\n}\n\nexport const getRootKeys = (params: { survey: Survey; cycle?: string }) => {\n const { survey, cycle } = params\n const rootDef = getNodeDefRoot({ survey })\n return getNodeDefKeys({ survey, nodeDef: rootDef, cycle })\n}\n\nexport const getNodeDefEnumerator = (params: { survey: Survey; entityDef: NodeDefEntity }): NodeDefCode | undefined => {\n const { survey, entityDef } = params\n if (!entityDef.props.enumerate) return undefined\n\n const children = getNodeDefChildren({ survey, nodeDef: entityDef })\n const codeAttributeKeys = children.filter((child) => child.type === NodeDefType.code && child.props.key)\n if (codeAttributeKeys.length === 1) {\n return codeAttributeKeys[0] as NodeDefCode\n }\n return undefined\n}\n\nexport const isNodeDefEnumerator = (params: { survey: Survey; nodeDef: NodeDef<NodeDefType> }): boolean => {\n const { survey, nodeDef } = params\n if (nodeDef.type !== NodeDefType.code) return false\n const entityDef = getNodeDefParent({ survey, nodeDef })\n if (!entityDef) return false\n const enumerator = getNodeDefEnumerator({ survey, entityDef })\n return enumerator?.uuid === nodeDef.uuid\n}\n\nexport const getDescendantsInSingleEntities = (params: {\n survey: Survey\n cycle?: string\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n predicate?: (visitedNodeDef: NodeDef<NodeDefType, NodeDefProps>) => boolean\n includeAnalysis?: boolean\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, cycle, nodeDef, predicate, includeAnalysis } = params\n const result: NodeDef<any>[] = []\n visitDescendantsAndSelfNodeDef({\n survey,\n cycle,\n nodeDef,\n visitor: (visitedNodeDef) => {\n if (!predicate || predicate(visitedNodeDef)) {\n result.push(visitedNodeDef)\n }\n },\n includeAnalysis,\n traverseOnlySingleEntities: true,\n })\n return result\n}\n\nexport const getNodeDefsIncludedInMultipleEntitySummary = (params: {\n survey: Survey\n cycle: string\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, cycle, nodeDef } = params\n return getDescendantsInSingleEntities({\n survey,\n cycle,\n nodeDef,\n predicate: (visitedNodeDef) => NodeDefs.isIncludedInMultipleEntitySummary(cycle)(visitedNodeDef),\n })\n}\n\nconst { buildAndAssocNodeDefsIndex, addNodeDefToIndex, updateNodeDefUuidByNameIndex, deleteNodeDefIndex } =\n NodeDefsIndex\nexport { buildAndAssocNodeDefsIndex, addNodeDefToIndex, updateNodeDefUuidByNameIndex, deleteNodeDefIndex }\n"]}
1
+ {"version":3,"file":"nodeDefs.js","sourceRoot":"","sources":["../../../../src/survey/surveys/nodeDefs.ts"],"names":[],"mappings":"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","sourcesContent":["import { Survey } from '../survey'\nimport {\n NodeDef,\n NodeDefCode,\n NodeDefCodeProps,\n NodeDefEntity,\n NodeDefEntityChildPosition,\n NodeDefMap,\n NodeDefProps,\n NodeDefType,\n NodeDefs,\n} from '../../nodeDef'\nimport { Arrays, Objects, Queue } from '../../utils'\nimport { SystemError } from '../../error'\nimport * as NodeDefsReader from './_nodeDefs/nodeDefsReader'\nimport * as NodeDefsIndex from './_nodeDefs/nodeDefsIndex'\nimport { TraverseMethod } from '../../common'\nimport { getCategoryByUuid } from './surveysGetters'\n\nexport const getNodeDefsArray = NodeDefsReader.getNodeDefsArray\n\nexport const findNodeDefByUuid = (params: {\n survey: Survey\n uuid: string\n}): NodeDef<NodeDefType, NodeDefProps> | undefined => {\n const { survey, uuid } = params\n return survey.nodeDefs?.[uuid]\n}\n\nexport const getNodeDefByUuid = (params: { survey: Survey; uuid: string }): NodeDef<NodeDefType, NodeDefProps> => {\n const { survey, uuid } = params\n const nodeDef = findNodeDefByUuid({ survey, uuid })\n if (!nodeDef) throw new SystemError('survey.nodeDefUuidNotFound', { uuid })\n return nodeDef\n}\n\nexport const findNodeDefByName = (params: {\n survey: Survey\n name: string\n}): NodeDef<NodeDefType, NodeDefProps> | undefined => {\n const { survey, name } = params\n const nodeDefUuidByNameIndex = survey.nodeDefsIndex?.nodeDefUuidByName\n if (nodeDefUuidByNameIndex) {\n const uuid = nodeDefUuidByNameIndex[name]\n return findNodeDefByUuid({ survey, uuid })\n }\n return getNodeDefsArray(survey).find((nodeDef) => nodeDef.props.name === name)\n}\n\nexport const getNodeDefByName = (params: { survey: Survey; name: string }): NodeDef<NodeDefType, NodeDefProps> => {\n const { survey, name } = params\n const nodeDef = findNodeDefByName({ survey, name })\n if (!nodeDef) {\n throw new SystemError('survey.nodeDefNameNotFound', { name })\n }\n return nodeDef\n}\n\nexport const getNodeDefsByUuids = (params: { survey: Survey; uuids: string[] }) => {\n const { survey, uuids } = params\n return uuids.map((uuid) => getNodeDefByUuid({ survey, uuid }))\n}\n\nexport const findNodeDefsByUuids = (params: {\n survey: Survey\n uuids: string[]\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, uuids } = params\n return uuids.reduce((acc: NodeDef<NodeDefType, NodeDefProps>[], uuid) => {\n const nodeDef = findNodeDefByUuid({ survey, uuid })\n if (nodeDef) {\n acc.push(nodeDef)\n }\n return acc\n }, [])\n}\n\nexport const getNodeDefParent = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDefEntity | undefined => {\n const { survey, nodeDef } = params\n if (!nodeDef.parentUuid) return undefined\n return getNodeDefByUuid({ survey, uuid: nodeDef.parentUuid }) as NodeDefEntity\n}\n\nexport const getNodeDefAncestorMultipleEntity = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDefEntity | undefined => {\n const { survey, nodeDef } = params\n return findAncestorNodeDef({\n survey,\n nodeDef,\n predicate: (entityDef) => NodeDefs.isRoot(entityDef) || NodeDefs.isMultiple(entityDef),\n })\n}\n\nexport const isNodeDefAncestor = (params: {\n nodeDefAncestor: NodeDef<NodeDefType, NodeDefProps>\n nodeDefDescendant: NodeDef<NodeDefType, NodeDefProps>\n}): boolean => {\n const { nodeDefAncestor, nodeDefDescendant } = params\n\n return Arrays.startsWith(nodeDefDescendant.meta.h, [...nodeDefAncestor.meta.h, nodeDefAncestor.uuid])\n}\n\nexport const getNodeDefRoot = (params: { survey: Survey }): NodeDefEntity => {\n const { survey } = params\n if (!survey.nodeDefs) throw new SystemError('survey.emptyNodeDefs')\n\n const rootDefUuidInIndex = survey.nodeDefsIndex?.rootDefUuid\n\n const rootDef = rootDefUuidInIndex\n ? getNodeDefByUuid({ survey, uuid: rootDefUuidInIndex })\n : getNodeDefsArray(survey).find((nodeDef) => !nodeDef.parentUuid)\n\n if (!rootDef) throw new SystemError('survey.rootDefNotFound')\n\n return rootDef as NodeDefEntity\n}\n\nexport const getNodeDefSource = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDef<NodeDefType, NodeDefProps> | undefined => {\n const { survey, nodeDef } = params\n return nodeDef.virtual ? getNodeDefParent({ survey, nodeDef }) : undefined\n}\n\nexport const getNodeDefChildren = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n includeAnalysis?: boolean\n includeLayoutElements?: boolean\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, nodeDef, includeAnalysis = false, includeLayoutElements = false } = params\n\n if (!survey.nodeDefs) return []\n\n let childDefs = []\n // try to get children using index\n if (survey.nodeDefsIndex) {\n const childrenUuids = Object.keys(survey.nodeDefsIndex.childDefUuidPresenceByParentUuid?.[nodeDef.uuid] ?? {})\n childDefs = getNodeDefsByUuids({ survey, uuids: childrenUuids })\n } else {\n // calculate children\n childDefs = NodeDefsReader.calculateNodeDefChildren(nodeDef)(survey)\n }\n if (includeAnalysis && includeLayoutElements) {\n return childDefs\n }\n return childDefs.filter((childDef) => {\n if (!includeAnalysis && childDef.analysis) return false\n if (!includeLayoutElements && NodeDefs.isLayoutElement(childDef)) return false\n return true\n })\n}\n\nexport const getQualifierDefs = (params: { survey: Survey }): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey } = params\n const qualifierPresence = survey.nodeDefsIndex?.qualifierPresenceByUuid\n if (qualifierPresence) {\n const qualifierUuids = Object.keys(qualifierPresence)\n return getNodeDefsByUuids({ survey, uuids: qualifierUuids })\n } else {\n return getNodeDefsArray(survey).filter((nodeDef) => NodeDefs.isQualifier(nodeDef))\n }\n}\n\nconst getIndexInChain = (params: { survey: Survey; nodeDef: NodeDef<any> }): number => {\n const { survey, nodeDef } = params\n const areaBasedEstimatedOf = NodeDefs.getAreaBasedEstimatedOf(nodeDef)\n const areaBasedEstimatedOfNodeDef = areaBasedEstimatedOf\n ? getNodeDefByUuid({ survey, uuid: areaBasedEstimatedOf })\n : null\n const nodeDefToConsider = areaBasedEstimatedOfNodeDef ?? nodeDef\n return nodeDefToConsider?.propsAdvanced?.index ?? 0\n}\n\nconst getNodeDefChildrenUuidsSortedByLayout = (params: {\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n cycle: string\n children: NodeDef<any>[]\n}): string[] => {\n const { nodeDef, cycle, children } = params\n\n const entityDef = nodeDef as NodeDefEntity\n\n const childrenEntitiesInOwnPageSortedUuids = NodeDefs.getChildrenEntitiesInOwnPageUudis(cycle)(entityDef) ?? []\n const layoutChildren = NodeDefs.getLayoutChildren(cycle)(entityDef) ?? []\n const childrenByUuids = children.reduce((acc: NodeDefMap, child) => {\n acc[child.uuid] = child\n return acc\n }, {})\n const childrenUuids = Object.keys(childrenByUuids)\n\n if (layoutChildren.length === 0 && childrenEntitiesInOwnPageSortedUuids.length === 0) {\n return childrenUuids\n }\n const sortedChildrenDefsInSamePageUuids = NodeDefs.isLayoutRenderTypeTable(cycle)(entityDef)\n ? (layoutChildren as string[])\n : [...(layoutChildren as NodeDefEntityChildPosition[])]\n .sort(\n (gridItem1: NodeDefEntityChildPosition, gridItem2: NodeDefEntityChildPosition) =>\n gridItem1.y - gridItem2.y || gridItem1.x - gridItem2.x\n )\n .map((gridItem) => gridItem.i)\n .filter((nodeDefUuid) => !!childrenByUuids[nodeDefUuid])\n\n const missingChildrenUuidsInLayout = childrenUuids.filter((childUuid) => {\n const childDef = childrenByUuids[childUuid]\n return (\n !sortedChildrenDefsInSamePageUuids.includes(childUuid) &&\n !childrenEntitiesInOwnPageSortedUuids.includes(childUuid) &&\n NodeDefs.isInCycle(cycle)(childDef)\n )\n })\n\n return (\n sortedChildrenDefsInSamePageUuids\n // add child uuids missing in layout at the end\n .concat(missingChildrenUuidsInLayout)\n // add child entities in own page at the very end\n .concat(childrenEntitiesInOwnPageSortedUuids)\n )\n}\n\nconst _booleanToNumber = (value: boolean | undefined): number => (value ? 1 : 0)\nconst _compareBooleans = (value1: boolean | undefined, value2: boolean | undefined): number =>\n _booleanToNumber(value1) - _booleanToNumber(value2)\n\nexport const getNodeDefChildrenSorted = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n cycle: string\n includeAnalysis?: boolean\n includeLayoutElements?: boolean\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, nodeDef, cycle, includeAnalysis, includeLayoutElements } = params\n\n const children = getNodeDefChildren({ survey, nodeDef, includeAnalysis, includeLayoutElements }).filter(\n NodeDefs.isInCycle(cycle)\n )\n\n const childrenUuidsSortedByLayout = getNodeDefChildrenUuidsSortedByLayout({ nodeDef, cycle, children })\n\n return children.sort((child1, child2) => {\n if (includeAnalysis && (child1.analysis || child2.analysis)) {\n // analysis attribute at the end\n const analysisComparison = _compareBooleans(child1.analysis, child2.analysis)\n if (analysisComparison !== 0) return analysisComparison\n\n // sort by chain index\n const indexInChainComparison =\n getIndexInChain({ survey, nodeDef: child1 }) - getIndexInChain({ survey, nodeDef: child2 })\n if (indexInChainComparison !== 0) return indexInChainComparison\n\n // one node def is the area base estimated of the other\n const areaBasedEstimatedOfComparison = _compareBooleans(\n !!NodeDefs.getAreaBasedEstimatedOf(child1),\n !!NodeDefs.getAreaBasedEstimatedOf(child2)\n )\n if (areaBasedEstimatedOfComparison !== 0) return areaBasedEstimatedOfComparison\n\n return (child1.id ?? 0) - (child2.id ?? 0)\n }\n // keep sorting as defined in layout props\n return childrenUuidsSortedByLayout.indexOf(child1.uuid) - childrenUuidsSortedByLayout.indexOf(child2.uuid)\n })\n}\n\nexport const visitAncestorsAndSelfNodeDef = (params: {\n survey: Survey\n nodeDef: NodeDef<any>\n visitor: (nodeDef: NodeDef<any>) => void\n stopIfFn?: () => boolean\n includeSelf?: boolean\n}): void => {\n const { survey, nodeDef, visitor, stopIfFn, includeSelf = true } = params\n if (includeSelf) {\n visitor(nodeDef)\n }\n let currentParent = getNodeDefParent({ survey, nodeDef })\n while (currentParent) {\n visitor(currentParent)\n if (stopIfFn?.()) {\n break\n }\n currentParent = getNodeDefParent({ survey, nodeDef: currentParent })\n }\n}\n\nexport const findAncestorNodeDef = (params: {\n survey: Survey\n nodeDef: NodeDef<any>\n predicate: (entityDef: NodeDefEntity) => boolean\n}): NodeDefEntity | undefined => {\n const { survey, nodeDef, predicate } = params\n let result: NodeDefEntity | undefined = undefined\n visitAncestorsAndSelfNodeDef({\n survey,\n nodeDef,\n // ancestors only: the node def itself is never an ancestor (e.g. a multiple attribute)\n includeSelf: false,\n visitor: (entityDef) => {\n if (predicate(entityDef)) {\n result = entityDef\n }\n },\n stopIfFn: () => !!result,\n })\n return result\n}\n\ntype NodeDefTraverseParams = {\n nodeDef: NodeDef<any>\n visitor: (nodeDef: NodeDef<any>) => void\n shouldTraverse: (nodeDef: NodeDef<any>) => boolean\n getChildren: (nodeDef: NodeDef<any>) => NodeDef<any>[]\n}\n\nconst traverseBreadthFirst = ({ nodeDef, visitor, shouldTraverse, getChildren }: NodeDefTraverseParams) => {\n const queue = new Queue()\n\n queue.enqueue(nodeDef)\n\n while (!queue.isEmpty()) {\n const visitedNodeDef = queue.dequeue()\n\n visitor(visitedNodeDef)\n\n if (shouldTraverse(visitedNodeDef)) {\n queue.enqueueItems(getChildren(visitedNodeDef))\n }\n }\n}\n\nconst traverseDepthFirst = ({ nodeDef, visitor, shouldTraverse, getChildren }: NodeDefTraverseParams) => {\n const stack: NodeDef<any>[] = []\n\n stack.push(nodeDef)\n\n while (stack.length > 0) {\n const visitedNodeDef = stack.pop()!\n\n visitor(visitedNodeDef)\n\n if (shouldTraverse(visitedNodeDef)) {\n const children = getChildren(visitedNodeDef)\n // add children to stack in reverse order\n for (let index = children.length - 1; index >= 0; index--) {\n stack.push(children[index])\n }\n }\n }\n}\n\nexport const visitDescendantsAndSelfNodeDef = (params: {\n survey: Survey\n cycle?: string\n nodeDef: NodeDef<any>\n visitor: (nodeDef: NodeDef<any>) => void\n includeAnalysis?: boolean\n traverseMethod?: TraverseMethod\n traverseOnlySingleEntities?: boolean\n}) => {\n const {\n survey,\n cycle,\n nodeDef,\n visitor,\n includeAnalysis = false,\n traverseMethod = TraverseMethod.bfs,\n traverseOnlySingleEntities = false,\n } = params\n\n const getNodeDefChildrenInternal = (visitedNodeDef: NodeDef<any>) =>\n Objects.isEmpty(cycle)\n ? getNodeDefChildren({ survey, nodeDef: visitedNodeDef, includeAnalysis })\n : getNodeDefChildrenSorted({ survey, nodeDef: visitedNodeDef, cycle: cycle!, includeAnalysis })\n\n const shouldTraverse = (visitedNodeDef: NodeDef<any>): boolean =>\n visitedNodeDef.type === NodeDefType.entity &&\n (visitedNodeDef === nodeDef ||\n NodeDefs.isRoot(visitedNodeDef) ||\n !traverseOnlySingleEntities ||\n NodeDefs.isSingle(visitedNodeDef))\n\n const traverseParams = { nodeDef, visitor, shouldTraverse, getChildren: getNodeDefChildrenInternal }\n if (traverseMethod === TraverseMethod.bfs) {\n traverseBreadthFirst(traverseParams)\n } else {\n traverseDepthFirst(traverseParams)\n }\n}\n\nexport const visitNodeDefs = (params: {\n survey: Survey\n visitor: (nodeDef: NodeDef<any>) => void\n includeAnalysis?: boolean\n traverseMethod?: TraverseMethod\n}) => {\n const { survey, visitor, traverseMethod = TraverseMethod.bfs, includeAnalysis = false } = params\n const rootDef = getNodeDefRoot({ survey })\n return visitDescendantsAndSelfNodeDef({ survey, nodeDef: rootDef, visitor, traverseMethod, includeAnalysis })\n}\n\n// Node Def Code\nexport const getNodeDefParentCode = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefCode | undefined => {\n const { survey, nodeDef } = params\n const parentCodeDefUuid = nodeDef.props.parentCodeDefUuid\n if (!parentCodeDefUuid) return undefined\n const parentCodeDef = getNodeDefByUuid({ survey, uuid: parentCodeDefUuid })\n return parentCodeDef as NodeDefCode\n}\n\nexport const getNodeDefAncestorCodes = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefCode[] => {\n const { survey, nodeDef } = params\n const ancestors = []\n let currentParentCode = getNodeDefParentCode({ survey, nodeDef })\n while (currentParentCode) {\n ancestors.unshift(currentParentCode)\n currentParentCode = getNodeDefParentCode({ survey, nodeDef: currentParentCode })\n }\n return ancestors\n}\n\nexport const isNodeDefParentCode = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): boolean => {\n const { survey, nodeDef } = params\n const nodeDefsArray = getNodeDefsArray(survey)\n return nodeDefsArray.some((def) => {\n try {\n return nodeDef.uuid === (def as NodeDef<NodeDefType.code, NodeDefCodeProps>).props.parentCodeDefUuid\n } catch {\n // ignore it: def is not a code attribute definition\n return\n }\n })\n}\n\nexport const getNodeDefCategoryLevelIndex = (params: { survey: Survey; nodeDef: NodeDefCode }): number => {\n const { survey, nodeDef } = params\n const parentCodeNodeDef = getNodeDefParentCode({ survey, nodeDef })\n return parentCodeNodeDef ? 1 + getNodeDefCategoryLevelIndex({ survey, nodeDef: parentCodeNodeDef }) : 0\n}\n\nexport const getDependentCodeAttributeDefs = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefCode[] => {\n const { survey, nodeDef } = params\n\n const categoryUuid = NodeDefs.getCategoryUuid(nodeDef)\n if (!categoryUuid) return []\n\n const category = getCategoryByUuid({ survey, categoryUuid })\n const levelsCount = Object.keys(category?.levels ?? {}).length\n if (levelsCount <= 1) return []\n\n const nodeDefsArray = getNodeDefsArray(survey)\n return nodeDefsArray.filter(\n (def) => def.type === NodeDefType.code && NodeDefs.getParentCodeDefUuid(def as NodeDefCode) === nodeDef.uuid\n ) as NodeDefCode[]\n}\n\nexport const getDependentEnumeratedEntityDefs = (params: { survey: Survey; nodeDef: NodeDefCode }): NodeDefEntity[] => {\n const { survey, nodeDef } = params\n const result: NodeDefEntity[] = []\n const dependentCodeAttributeDefs = getDependentCodeAttributeDefs({ survey, nodeDef })\n for (const dependentCodeDef of dependentCodeAttributeDefs) {\n if (NodeDefs.isKey(dependentCodeDef)) {\n const entityDef = getNodeDefAncestorMultipleEntity({ survey, nodeDef: dependentCodeDef })\n if (entityDef && NodeDefs.isEnumerate(entityDef)) {\n result.push(entityDef)\n }\n }\n }\n return result\n}\n\nexport const getNodeDefKeys = (params: {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n cycle?: string\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, cycle, nodeDef } = params\n\n return getDescendantsInSingleEntities({\n survey,\n cycle,\n nodeDef,\n predicate: (visitedNodeDef) =>\n NodeDefs.isKey(visitedNodeDef) &&\n !visitedNodeDef.deleted &&\n (Objects.isEmpty(cycle) || NodeDefs.isInCycle(cycle!)(visitedNodeDef)),\n })\n}\n\nexport const getRootKeys = (params: { survey: Survey; cycle?: string }) => {\n const { survey, cycle } = params\n const rootDef = getNodeDefRoot({ survey })\n return getNodeDefKeys({ survey, nodeDef: rootDef, cycle })\n}\n\nexport const getNodeDefEnumerator = (params: { survey: Survey; entityDef: NodeDefEntity }): NodeDefCode | undefined => {\n const { survey, entityDef } = params\n if (!entityDef.props.enumerate) return undefined\n\n const children = getNodeDefChildren({ survey, nodeDef: entityDef })\n const codeAttributeKeys = children.filter((child) => child.type === NodeDefType.code && child.props.key)\n if (codeAttributeKeys.length === 1) {\n return codeAttributeKeys[0] as NodeDefCode\n }\n return undefined\n}\n\nexport const isNodeDefEnumerator = (params: { survey: Survey; nodeDef: NodeDef<NodeDefType> }): boolean => {\n const { survey, nodeDef } = params\n if (nodeDef.type !== NodeDefType.code) return false\n const entityDef = getNodeDefParent({ survey, nodeDef })\n if (!entityDef) return false\n const enumerator = getNodeDefEnumerator({ survey, entityDef })\n return enumerator?.uuid === nodeDef.uuid\n}\n\nexport const getDescendantsInSingleEntities = (params: {\n survey: Survey\n cycle?: string\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n predicate?: (visitedNodeDef: NodeDef<NodeDefType, NodeDefProps>) => boolean\n includeAnalysis?: boolean\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, cycle, nodeDef, predicate, includeAnalysis } = params\n const result: NodeDef<any>[] = []\n visitDescendantsAndSelfNodeDef({\n survey,\n cycle,\n nodeDef,\n visitor: (visitedNodeDef) => {\n if (!predicate || predicate(visitedNodeDef)) {\n result.push(visitedNodeDef)\n }\n },\n includeAnalysis,\n traverseOnlySingleEntities: true,\n })\n return result\n}\n\nexport const getNodeDefsIncludedInMultipleEntitySummary = (params: {\n survey: Survey\n cycle: string\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}): NodeDef<NodeDefType, NodeDefProps>[] => {\n const { survey, cycle, nodeDef } = params\n return getDescendantsInSingleEntities({\n survey,\n cycle,\n nodeDef,\n predicate: (visitedNodeDef) => NodeDefs.isIncludedInMultipleEntitySummary(cycle)(visitedNodeDef),\n })\n}\n\nconst { buildAndAssocNodeDefsIndex, addNodeDefToIndex, updateNodeDefUuidByNameIndex, deleteNodeDefIndex } =\n NodeDefsIndex\nexport { buildAndAssocNodeDefsIndex, addNodeDefToIndex, updateNodeDefUuidByNameIndex, deleteNodeDefIndex }\n"]}
@@ -8,7 +8,8 @@ export const getCategoryItemByUuid = (params) => {
8
8
  };
9
9
  const nullParentItemUuid = 'null';
10
10
  export const getCategoryItems = (params) => {
11
- var _a, _b, _c, _d;
11
+ var _a, _b, _c;
12
+ var _d;
12
13
  const { survey, categoryUuid, parentItemUuid = nullParentItemUuid } = params;
13
14
  const itemUuids = Object.values((_d = (_c = (_b = (_a = survey.refData) === null || _a === void 0 ? void 0 : _a.categoryItemUuidIndex) === null || _b === void 0 ? void 0 : _b[categoryUuid]) === null || _c === void 0 ? void 0 : _c[parentItemUuid]) !== null && _d !== void 0 ? _d : {});
14
15
  const items = itemUuids.reduce((acc, itemUuid) => {
@@ -1 +1 @@
1
- {"version":3,"file":"refsData.js","sourceRoot":"","sources":["../../../../src/survey/surveys/refsData.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE5D,OAAO,EAAe,QAAQ,EAAgB,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAA4C,EAA4B,EAAE;;IAC9G,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IACnC,OAAO,MAAA,MAAM,CAAC,OAAO,0CAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,MAAM,CAAA;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAIhC,EAAkB,EAAE;;IACnB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,GAAG,kBAAkB,EAAE,GAAG,MAAM,CAAA;IAC5E,MAAM,SAAS,GAAa,MAAM,CAAC,MAAM,CACvC,MAAA,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,qBAAqB,0CAAG,YAAY,CAAC,0CAAG,cAAc,CAAC,mCAAI,EAAE,CAC9E,CAAA;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAmB,EAAE,QAAQ,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACxD,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAA;QACV,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QACD,OAAO,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAKzC,EAAsB,EAAE;;IACvB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,GAAG,kBAAkB,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAClF,OAAO,MAAA,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,qBAAqB,0CAAG,YAAY,CAAC,0CAAG,cAAc,CAAC,0CAAG,IAAI,CAAC,CAAA;AACxF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAI1C,EAA4B,EAAE;IAC7B,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,iBAAqC,EAAE,IAAI,EAAE,EAAE,CAC9C,iBAAiB;QACf,CAAC,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC9F,CAAC,CAAC,SAAS,EACf,MAAM,CACP,CAAA;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAqE,EAAE,EAAE;IAC/G,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA;IACvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;IAC5D,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEtC,IAAI,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;IACnC,IAAI,iBAAiB,GAAG,CAAC,CAAA;IACzB,OAAO,iBAAiB,IAAI,UAAU,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;YACrC,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;QAClF,CAAC;QACD,iBAAiB,IAAI,CAAC,CAAA;QACtB,cAAc,GAAG,YAAY,CAAA;IAC/B,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAgD,EAAE,EAAE;IAC5F,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAE,CAAA;IACvD,MAAM,UAAU,GAAG,4BAA4B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IACpE,OAAO,uBAAuB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAA6C,EAAqB,EAAE;;IACjG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IACpC,OAAO,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,UAAU,0CAAG,SAAS,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAI9B,EAAqB,EAAE;;IACtB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAClD,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,cAAc,0CAAG,YAAY,CAAC,0CAAG,SAAS,CAAC,CAAA;IAC7E,OAAO,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAK1C,EAAsB,EAAE;;IACvB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAClE,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAA;IACjE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,mCAAI,EAAE,CAAC;SAClE,IAAI,EAAE;SACN,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;IACnE,OAAO,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAK3C,EAAW,EAAE;;IACZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAA;IACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACtD,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAA;IAE/B,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAA;IACjE,MAAM,qBAAqB,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,mCAAI,EAAE,CAAA;IAE1D,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CACnE,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,KAAK,kBAAkB,CAAC,CACrF,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Survey } from '../survey'\nimport { CategoryItem, CategoryItems } from '../../category'\nimport { Taxon } from '../../taxonomy'\nimport { NodeDefCode, NodeDefs, NodeDefTaxon } from '../../nodeDef'\nimport { getNodeDefCategoryLevelIndex } from './nodeDefs'\n\nexport const getCategoryItemByUuid = (params: { survey: Survey; itemUuid: string }): CategoryItem | undefined => {\n const { survey, itemUuid } = params\n return survey.refData?.categoryItemIndex[itemUuid]\n}\n\nconst nullParentItemUuid = 'null'\n\nexport const getCategoryItems = (params: {\n survey: Survey\n categoryUuid: string\n parentItemUuid?: string\n}): CategoryItem[] => {\n const { survey, categoryUuid, parentItemUuid = nullParentItemUuid } = params\n const itemUuids: string[] = Object.values(\n survey.refData?.categoryItemUuidIndex?.[categoryUuid]?.[parentItemUuid] ?? {}\n )\n const items = itemUuids.reduce((acc: CategoryItem[], itemUuid) => {\n const item = getCategoryItemByUuid({ survey, itemUuid })\n if (item) acc.push(item)\n return acc\n }, [])\n return items.sort((item1, item2) => {\n const index1 = CategoryItems.getIndex(item1)\n const index2 = CategoryItems.getIndex(item2)\n if (Number.isNaN(index1) && Number.isNaN(index2)) {\n return (item1.id ?? 0) - (item2.id ?? 0)\n }\n if (Number.isNaN(index1)) {\n return 1\n }\n if (Number.isNaN(index2)) {\n return -1\n }\n return index1 - index2\n })\n}\n\nexport const getCategoryItemUuidByCode = (params: {\n survey: Survey\n categoryUuid: string\n parentItemUuid: string | undefined\n code: string\n}): string | undefined => {\n const { survey, categoryUuid, parentItemUuid = nullParentItemUuid, code } = params\n return survey.refData?.categoryItemUuidIndex?.[categoryUuid]?.[parentItemUuid]?.[code]\n}\n\nexport const getCategoryItemByCodePaths = (params: {\n survey: Survey\n categoryUuid: string\n codePaths: string[]\n}): CategoryItem | undefined => {\n const { survey, categoryUuid, codePaths } = params\n const itemUuid = codePaths.reduce(\n (currentParentUuid: string | undefined, code) =>\n currentParentUuid\n ? getCategoryItemUuidByCode({ survey, categoryUuid, parentItemUuid: currentParentUuid, code })\n : undefined,\n 'null'\n )\n return itemUuid ? getCategoryItemByUuid({ survey, itemUuid }) : undefined\n}\n\nexport const getCategoryItemsInLevel = (params: { survey: Survey; categoryUuid: string; levelIndex?: number }) => {\n const { survey, categoryUuid, levelIndex = 0 } = params\n const rootItems = getCategoryItems({ survey, categoryUuid })\n if (levelIndex === 0) return rootItems\n\n let itemsPrevLevel = [...rootItems]\n let currentLevelIndex = 1\n while (currentLevelIndex <= levelIndex) {\n const itemsInLevel = []\n for (const item of itemsPrevLevel) {\n const { uuid: parentItemUuid } = item\n itemsInLevel.push(...getCategoryItems({ survey, categoryUuid, parentItemUuid }))\n }\n currentLevelIndex += 1\n itemsPrevLevel = itemsInLevel\n }\n return itemsPrevLevel\n}\n\nexport const getCategoryItemsByNodeDef = (params: { survey: Survey; nodeDef: NodeDefCode }) => {\n const { survey, nodeDef } = params\n const categoryUuid = NodeDefs.getCategoryUuid(nodeDef)!\n const levelIndex = getNodeDefCategoryLevelIndex({ survey, nodeDef })\n return getCategoryItemsInLevel({ survey, categoryUuid, levelIndex })\n}\n\nexport const getTaxonByUuid = (params: { survey: Survey; taxonUuid: string }): Taxon | undefined => {\n const { survey, taxonUuid } = params\n return survey.refData?.taxonIndex?.[taxonUuid]\n}\n\nexport const getTaxonByCode = (params: {\n survey: Survey\n taxonomyUuid: string\n taxonCode: string\n}): Taxon | undefined => {\n const { survey, taxonomyUuid, taxonCode } = params\n const taxonUuid = survey.refData?.taxonUuidIndex?.[taxonomyUuid]?.[taxonCode]\n return taxonUuid ? getTaxonByUuid({ survey, taxonUuid }) : undefined\n}\n\nexport const getTaxonVernacularNameUuid = (params: {\n survey: Survey\n taxonomyUuid: string\n taxonCode: string\n vernacularName: string\n}): string | undefined => {\n const { survey, taxonomyUuid, taxonCode, vernacularName } = params\n const taxon = getTaxonByCode({ survey, taxonomyUuid, taxonCode })\n const vernacularNameObj = Object.values(taxon?.vernacularNames ?? {})\n .flat()\n .find((vernNameObj) => vernNameObj.props.name === vernacularName)\n return vernacularNameObj?.uuid\n}\n\nexport const includesTaxonVernacularName = (params: {\n survey: Survey\n nodeDef: NodeDefTaxon\n taxonCode: string\n vernacularNameUuid: string\n}): boolean => {\n const { survey, nodeDef, taxonCode, vernacularNameUuid } = params\n const taxonomyUuid = NodeDefs.getTaxonomyUuid(nodeDef)\n if (!taxonomyUuid) return false\n\n const taxon = getTaxonByCode({ survey, taxonomyUuid, taxonCode })\n const vernacularNamesByLang = taxon?.vernacularNames ?? {}\n\n return Object.values(vernacularNamesByLang).some((vernacularNames) =>\n vernacularNames.some((vernacularName) => vernacularName.uuid === vernacularNameUuid)\n )\n}\n"]}
1
+ {"version":3,"file":"refsData.js","sourceRoot":"","sources":["../../../../src/survey/surveys/refsData.ts"],"names":[],"mappings":"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","sourcesContent":["import { Survey } from '../survey'\nimport { CategoryItem, CategoryItems } from '../../category'\nimport { Taxon } from '../../taxonomy'\nimport { NodeDefCode, NodeDefs, NodeDefTaxon } from '../../nodeDef'\nimport { getNodeDefCategoryLevelIndex } from './nodeDefs'\n\nexport const getCategoryItemByUuid = (params: { survey: Survey; itemUuid: string }): CategoryItem | undefined => {\n const { survey, itemUuid } = params\n return survey.refData?.categoryItemIndex[itemUuid]\n}\n\nconst nullParentItemUuid = 'null'\n\nexport const getCategoryItems = (params: {\n survey: Survey\n categoryUuid: string\n parentItemUuid?: string\n}): CategoryItem[] => {\n const { survey, categoryUuid, parentItemUuid = nullParentItemUuid } = params\n const itemUuids: string[] = Object.values(\n survey.refData?.categoryItemUuidIndex?.[categoryUuid]?.[parentItemUuid] ?? {}\n )\n const items = itemUuids.reduce((acc: CategoryItem[], itemUuid) => {\n const item = getCategoryItemByUuid({ survey, itemUuid })\n if (item) acc.push(item)\n return acc\n }, [])\n return items.sort((item1, item2) => {\n const index1 = CategoryItems.getIndex(item1)\n const index2 = CategoryItems.getIndex(item2)\n if (Number.isNaN(index1) && Number.isNaN(index2)) {\n return (item1.id ?? 0) - (item2.id ?? 0)\n }\n if (Number.isNaN(index1)) {\n return 1\n }\n if (Number.isNaN(index2)) {\n return -1\n }\n return index1 - index2\n })\n}\n\nexport const getCategoryItemUuidByCode = (params: {\n survey: Survey\n categoryUuid: string\n parentItemUuid: string | undefined\n code: string\n}): string | undefined => {\n const { survey, categoryUuid, parentItemUuid = nullParentItemUuid, code } = params\n return survey.refData?.categoryItemUuidIndex?.[categoryUuid]?.[parentItemUuid]?.[code]\n}\n\nexport const getCategoryItemByCodePaths = (params: {\n survey: Survey\n categoryUuid: string\n codePaths: string[]\n}): CategoryItem | undefined => {\n const { survey, categoryUuid, codePaths } = params\n const itemUuid = codePaths.reduce(\n (currentParentUuid: string | undefined, code) =>\n currentParentUuid\n ? getCategoryItemUuidByCode({ survey, categoryUuid, parentItemUuid: currentParentUuid, code })\n : undefined,\n 'null'\n )\n return itemUuid ? getCategoryItemByUuid({ survey, itemUuid }) : undefined\n}\n\nexport const getCategoryItemsInLevel = (params: { survey: Survey; categoryUuid: string; levelIndex?: number }) => {\n const { survey, categoryUuid, levelIndex = 0 } = params\n const rootItems = getCategoryItems({ survey, categoryUuid })\n if (levelIndex === 0) return rootItems\n\n let itemsPrevLevel = [...rootItems]\n let currentLevelIndex = 1\n while (currentLevelIndex <= levelIndex) {\n const itemsInLevel = []\n for (const item of itemsPrevLevel) {\n const { uuid: parentItemUuid } = item\n itemsInLevel.push(...getCategoryItems({ survey, categoryUuid, parentItemUuid }))\n }\n currentLevelIndex += 1\n itemsPrevLevel = itemsInLevel\n }\n return itemsPrevLevel\n}\n\nexport const getCategoryItemsByNodeDef = (params: { survey: Survey; nodeDef: NodeDefCode }) => {\n const { survey, nodeDef } = params\n const categoryUuid = NodeDefs.getCategoryUuid(nodeDef)!\n const levelIndex = getNodeDefCategoryLevelIndex({ survey, nodeDef })\n return getCategoryItemsInLevel({ survey, categoryUuid, levelIndex })\n}\n\nexport const getTaxonByUuid = (params: { survey: Survey; taxonUuid: string }): Taxon | undefined => {\n const { survey, taxonUuid } = params\n return survey.refData?.taxonIndex?.[taxonUuid]\n}\n\nexport const getTaxonByCode = (params: {\n survey: Survey\n taxonomyUuid: string\n taxonCode: string\n}): Taxon | undefined => {\n const { survey, taxonomyUuid, taxonCode } = params\n const taxonUuid = survey.refData?.taxonUuidIndex?.[taxonomyUuid]?.[taxonCode]\n return taxonUuid ? getTaxonByUuid({ survey, taxonUuid }) : undefined\n}\n\nexport const getTaxonVernacularNameUuid = (params: {\n survey: Survey\n taxonomyUuid: string\n taxonCode: string\n vernacularName: string\n}): string | undefined => {\n const { survey, taxonomyUuid, taxonCode, vernacularName } = params\n const taxon = getTaxonByCode({ survey, taxonomyUuid, taxonCode })\n const vernacularNameObj = Object.values(taxon?.vernacularNames ?? {})\n .flat()\n .find((vernNameObj) => vernNameObj.props.name === vernacularName)\n return vernacularNameObj?.uuid\n}\n\nexport const includesTaxonVernacularName = (params: {\n survey: Survey\n nodeDef: NodeDefTaxon\n taxonCode: string\n vernacularNameUuid: string\n}): boolean => {\n const { survey, nodeDef, taxonCode, vernacularNameUuid } = params\n const taxonomyUuid = NodeDefs.getTaxonomyUuid(nodeDef)\n if (!taxonomyUuid) return false\n\n const taxon = getTaxonByCode({ survey, taxonomyUuid, taxonCode })\n const vernacularNamesByLang = taxon?.vernacularNames ?? {}\n\n return Object.values(vernacularNamesByLang).some((vernacularNames) =>\n vernacularNames.some((vernacularName) => vernacularName.uuid === vernacularNameUuid)\n )\n}\n"]}
@@ -1,8 +1,5 @@
1
1
  import { surveySecurityDefaults, SurveySecurityProp } from '../survey';
2
- export const getSecurity = (survey) => {
3
- var _a;
4
- return (Object.assign(Object.assign({}, surveySecurityDefaults), (_a = survey === null || survey === void 0 ? void 0 : survey.props) === null || _a === void 0 ? void 0 : _a.security));
5
- };
2
+ export const getSecurity = (survey) => { var _a; return (Object.assign(Object.assign({}, surveySecurityDefaults), (_a = survey === null || survey === void 0 ? void 0 : survey.props) === null || _a === void 0 ? void 0 : _a.security)); };
6
3
  export const isSecurityPropEnabled = (prop) => (survey) => !!getSecurity(survey)[prop];
7
4
  export const isDataEditorViewNotOwnedRecordsAllowed = (survey) => isSecurityPropEnabled(SurveySecurityProp.dataEditorViewNotOwnedRecordsAllowed)(survey);
8
5
  export const isDataAnalystViewNotOwnedRecordsAllowed = (survey) => isSecurityPropEnabled(SurveySecurityProp.dataAnalystViewNotOwnedRecordsAllowed)(survey);
@@ -1 +1 @@
1
- {"version":3,"file":"surveyGettersSecurity.js","sourceRoot":"","sources":["../../../../src/survey/surveys/surveyGettersSecurity.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAkB,EAAE;;IAAC,OAAA,iCAC1D,sBAAsB,GACtB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,QAAQ,EAC1B,CAAA;CAAA,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,IAAwB,EAAE,EAAE,CAC7B,CAAC,MAAc,EAAW,EAAE,CAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,MAAc,EAAW,EAAE,CAChF,qBAAqB,CAAC,kBAAkB,CAAC,oCAAoC,CAAC,CAAC,MAAM,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,MAAc,EAAW,EAAE,CACjF,qBAAqB,CAAC,kBAAkB,CAAC,qCAAqC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAW,EAAE,CAC3D,qBAAqB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAc,EAAW,EAAE,CAC1E,qBAAqB,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAc,EAAW,EAAE,CAC1E,qBAAqB,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhF,MAAM,CAAC,MAAM,0CAA0C,GAAG,CAAC,MAAc,EAAW,EAAE,CACpF,qBAAqB,CAAC,kBAAkB,CAAC,sCAAsC,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,MAAc,EAAW,EAAE,CAC3E,qBAAqB,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAA","sourcesContent":["import { Survey, SurveySecurity, surveySecurityDefaults, SurveySecurityProp } from '../survey'\n\nexport const getSecurity = (survey: Survey): SurveySecurity => ({\n ...surveySecurityDefaults,\n ...survey?.props?.security,\n})\n\nexport const isSecurityPropEnabled =\n (prop: SurveySecurityProp) =>\n (survey: Survey): boolean =>\n !!getSecurity(survey)[prop]\n\nexport const isDataEditorViewNotOwnedRecordsAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.dataEditorViewNotOwnedRecordsAllowed)(survey)\n\nexport const isDataAnalystViewNotOwnedRecordsAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.dataAnalystViewNotOwnedRecordsAllowed)(survey)\n\nexport const isVisibleInMobile = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.visibleInMobile)(survey)\n\nexport const isRecordsDownloadInMobileAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsDownloadInMobile)(survey)\n\nexport const isRecordsUploadFromMobileAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsUploadFromMobile)(survey)\n\nexport const isRecordsWithErrorsUploadFromMobileAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsWithErrorsUploadFromMobile)(survey)\n\nexport const isRecordsMergeWithSameKeysAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsMergeWithSameKeys)(survey)\n"]}
1
+ {"version":3,"file":"surveyGettersSecurity.js","sourceRoot":"","sources":["../../../../src/survey/surveys/surveyGettersSecurity.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAkB,EAAE,kBAAC,iCAC1D,sBAAsB,GACtB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,QAAQ,EAC1B,GAAA,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,IAAwB,EAAE,EAAE,CAC7B,CAAC,MAAc,EAAW,EAAE,CAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,MAAc,EAAW,EAAE,CAChF,qBAAqB,CAAC,kBAAkB,CAAC,oCAAoC,CAAC,CAAC,MAAM,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,MAAc,EAAW,EAAE,CACjF,qBAAqB,CAAC,kBAAkB,CAAC,qCAAqC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAW,EAAE,CAC3D,qBAAqB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAc,EAAW,EAAE,CAC1E,qBAAqB,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAc,EAAW,EAAE,CAC1E,qBAAqB,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhF,MAAM,CAAC,MAAM,0CAA0C,GAAG,CAAC,MAAc,EAAW,EAAE,CACpF,qBAAqB,CAAC,kBAAkB,CAAC,sCAAsC,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,MAAc,EAAW,EAAE,CAC3E,qBAAqB,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAA","sourcesContent":["import { Survey, SurveySecurity, surveySecurityDefaults, SurveySecurityProp } from '../survey'\n\nexport const getSecurity = (survey: Survey): SurveySecurity => ({\n ...surveySecurityDefaults,\n ...survey?.props?.security,\n})\n\nexport const isSecurityPropEnabled =\n (prop: SurveySecurityProp) =>\n (survey: Survey): boolean =>\n !!getSecurity(survey)[prop]\n\nexport const isDataEditorViewNotOwnedRecordsAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.dataEditorViewNotOwnedRecordsAllowed)(survey)\n\nexport const isDataAnalystViewNotOwnedRecordsAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.dataAnalystViewNotOwnedRecordsAllowed)(survey)\n\nexport const isVisibleInMobile = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.visibleInMobile)(survey)\n\nexport const isRecordsDownloadInMobileAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsDownloadInMobile)(survey)\n\nexport const isRecordsUploadFromMobileAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsUploadFromMobile)(survey)\n\nexport const isRecordsWithErrorsUploadFromMobileAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsWithErrorsUploadFromMobile)(survey)\n\nexport const isRecordsMergeWithSameKeysAllowed = (survey: Survey): boolean =>\n isSecurityPropEnabled(SurveySecurityProp.allowRecordsMergeWithSameKeys)(survey)\n"]}
@@ -38,7 +38,8 @@ export const getTaxonomyByUuid = (params) => {
38
38
  return (_a = survey.taxonomies) === null || _a === void 0 ? void 0 : _a[taxonomyUuid];
39
39
  };
40
40
  export const getCycleKeys = (survey) => {
41
- var _a, _b;
41
+ var _a;
42
+ var _b;
42
43
  const cycles = (_b = (_a = survey.props) === null || _a === void 0 ? void 0 : _a.cycles) !== null && _b !== void 0 ? _b : {};
43
44
  return Object.keys(cycles);
44
45
  };
@@ -52,12 +53,9 @@ export const getDefaultCycleKey = (survey) => {
52
53
  ? lastCycleKey
53
54
  : defaultCycleKey;
54
55
  };
55
- export const getSRSs = (survey) => {
56
- var _a, _b, _c, _d, _e;
57
- return (_e = (_b = (_a = survey.props) === null || _a === void 0 ? void 0 : _a.srs) !== null && _b !== void 0 ? _b :
58
- // backwards compatibility with Arena: srs stored in info in UI
59
- (_d = (_c = survey.info) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.srs) !== null && _e !== void 0 ? _e : [];
60
- };
56
+ export const getSRSs = (survey) => { var _a, _b, _c; var _d, _e; return (_e = (_d = (_a = survey.props) === null || _a === void 0 ? void 0 : _a.srs) !== null && _d !== void 0 ? _d :
57
+ // backwards compatibility with Arena: srs stored in info in UI
58
+ (_c = (_b = survey.info) === null || _b === void 0 ? void 0 : _b.props) === null || _c === void 0 ? void 0 : _c.srs) !== null && _e !== void 0 ? _e : []; };
61
59
  export const getSRSIndex = (survey) => getSRSs(survey).reduce((acc, srs) => {
62
60
  acc[srs.code] = srs;
63
61
  return acc;
@@ -1 +1 @@
1
- {"version":3,"file":"surveysGetters.js","sourceRoot":"","sources":["../../../../src/survey/surveys/surveysGetters.ts"],"names":[],"mappings":"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","sourcesContent":["import { AuthGroupName, UserAuthGroup } from '../../auth'\nimport { Category } from '../../category'\nimport { LanguageCode } from '../../language'\nimport { SRS, SRSIndex } from '../../srs'\nimport { Taxonomy } from '../../taxonomy'\nimport { Arrays, Objects } from '../../utils'\nimport { Survey } from '../survey'\n\nexport const getName = (survey: Survey): string => survey.props.name\n\nexport const getLanguages = (survey: Survey): LanguageCode[] => survey.props.languages\n\nexport const getDefaultLanguage = (survey: Survey): LanguageCode => getLanguages(survey)[0]\n\nconst getMultilangPropValue =\n (prop: 'labels' | 'descriptions' | 'fieldManualLinks') =>\n (langCode?: LanguageCode) =>\n (survey: Survey): string | undefined => {\n const languageCode = langCode ?? getDefaultLanguage(survey)\n return survey.props[prop]?.[languageCode]\n }\nexport const getLabel = getMultilangPropValue('labels')\nexport const getDescription = getMultilangPropValue('descriptions')\nexport const getFieldManualLink = getMultilangPropValue('fieldManualLinks')\n\nexport const getLabelOrName =\n (langCode?: LanguageCode) =>\n (survey: Survey): string => {\n const label = getLabel(langCode)(survey)\n return label ?? getName(survey)\n }\n\nexport const getCategoryByName = (params: { survey: Survey; categoryName: string }): Category | undefined => {\n const { survey, categoryName } = params\n return survey.categories\n ? Object.values(survey.categories).find((category) => category.props.name === categoryName)\n : undefined\n}\n\nexport const getCategoryByUuid = (params: { survey: Survey; categoryUuid: string }): Category | undefined => {\n const { survey, categoryUuid } = params\n return survey.categories?.[categoryUuid]\n}\n\nexport const getTaxonomyByName = (params: { survey: Survey; taxonomyName: string }): Taxonomy | undefined => {\n const { survey, taxonomyName } = params\n return survey.taxonomies\n ? Object.values(survey.taxonomies).find((taxonomy) => taxonomy.props.name === taxonomyName)\n : undefined\n}\n\nexport const getTaxonomyByUuid = (params: { survey: Survey; taxonomyUuid: string }): Taxonomy | undefined => {\n const { survey, taxonomyUuid } = params\n return survey.taxonomies?.[taxonomyUuid]\n}\n\nexport const getCycleKeys = (survey: Survey): string[] => {\n const cycles = survey.props?.cycles ?? {}\n return Object.keys(cycles)\n}\n\nexport const getLastCycleKey = (survey: Survey): string => Arrays.last(getCycleKeys(survey)) as string\n\nexport const isKeepNonApplicableValues = (survey: Survey): boolean => survey?.props?.keepNonApplicableValues === true\n\nexport const getDefaultCycleKey = (survey: Survey) => {\n const defaultCycleKey = survey.props?.defaultCycleKey\n const lastCycleKey = getLastCycleKey(survey)\n return Objects.isEmpty(defaultCycleKey) || Number(defaultCycleKey) > Number(lastCycleKey)\n ? lastCycleKey\n : defaultCycleKey\n}\n\nexport const getSRSs = (survey: Survey): SRS[] =>\n survey.props?.srs ??\n // backwards compatibility with Arena: srs stored in info in UI\n (survey as any).info?.props?.srs ??\n []\n\nexport const getSRSIndex = (survey: Survey): SRSIndex =>\n getSRSs(survey).reduce((acc: SRSIndex, srs) => {\n acc[srs.code] = srs\n return acc\n }, {})\n\nexport const getSRSByCode =\n (code: string) =>\n (survey: Survey): SRS | undefined =>\n getSRSIndex(survey)[code]\n\nexport const getAuthGroups = (survey: Survey): UserAuthGroup[] => survey?.authGroups ?? []\n\nexport const getAuthGroupAdmin = (survey: Survey): UserAuthGroup | undefined =>\n getAuthGroups(survey).find((authGroup) => authGroup.name === AuthGroupName.surveyAdmin)\n"]}
1
+ {"version":3,"file":"surveysGetters.js","sourceRoot":"","sources":["../../../../src/survey/surveys/surveysGetters.ts"],"names":[],"mappings":"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","sourcesContent":["import { AuthGroupName, UserAuthGroup } from '../../auth'\nimport { Category } from '../../category'\nimport { LanguageCode } from '../../language'\nimport { SRS, SRSIndex } from '../../srs'\nimport { Taxonomy } from '../../taxonomy'\nimport { Arrays, Objects } from '../../utils'\nimport { Survey } from '../survey'\n\nexport const getName = (survey: Survey): string => survey.props.name\n\nexport const getLanguages = (survey: Survey): LanguageCode[] => survey.props.languages\n\nexport const getDefaultLanguage = (survey: Survey): LanguageCode => getLanguages(survey)[0]\n\nconst getMultilangPropValue =\n (prop: 'labels' | 'descriptions' | 'fieldManualLinks') =>\n (langCode?: LanguageCode) =>\n (survey: Survey): string | undefined => {\n const languageCode = langCode ?? getDefaultLanguage(survey)\n return survey.props[prop]?.[languageCode]\n }\nexport const getLabel = getMultilangPropValue('labels')\nexport const getDescription = getMultilangPropValue('descriptions')\nexport const getFieldManualLink = getMultilangPropValue('fieldManualLinks')\n\nexport const getLabelOrName =\n (langCode?: LanguageCode) =>\n (survey: Survey): string => {\n const label = getLabel(langCode)(survey)\n return label ?? getName(survey)\n }\n\nexport const getCategoryByName = (params: { survey: Survey; categoryName: string }): Category | undefined => {\n const { survey, categoryName } = params\n return survey.categories\n ? Object.values(survey.categories).find((category) => category.props.name === categoryName)\n : undefined\n}\n\nexport const getCategoryByUuid = (params: { survey: Survey; categoryUuid: string }): Category | undefined => {\n const { survey, categoryUuid } = params\n return survey.categories?.[categoryUuid]\n}\n\nexport const getTaxonomyByName = (params: { survey: Survey; taxonomyName: string }): Taxonomy | undefined => {\n const { survey, taxonomyName } = params\n return survey.taxonomies\n ? Object.values(survey.taxonomies).find((taxonomy) => taxonomy.props.name === taxonomyName)\n : undefined\n}\n\nexport const getTaxonomyByUuid = (params: { survey: Survey; taxonomyUuid: string }): Taxonomy | undefined => {\n const { survey, taxonomyUuid } = params\n return survey.taxonomies?.[taxonomyUuid]\n}\n\nexport const getCycleKeys = (survey: Survey): string[] => {\n const cycles = survey.props?.cycles ?? {}\n return Object.keys(cycles)\n}\n\nexport const getLastCycleKey = (survey: Survey): string => Arrays.last(getCycleKeys(survey)) as string\n\nexport const isKeepNonApplicableValues = (survey: Survey): boolean => survey?.props?.keepNonApplicableValues === true\n\nexport const getDefaultCycleKey = (survey: Survey) => {\n const defaultCycleKey = survey.props?.defaultCycleKey\n const lastCycleKey = getLastCycleKey(survey)\n return Objects.isEmpty(defaultCycleKey) || Number(defaultCycleKey) > Number(lastCycleKey)\n ? lastCycleKey\n : defaultCycleKey\n}\n\nexport const getSRSs = (survey: Survey): SRS[] =>\n survey.props?.srs ??\n // backwards compatibility with Arena: srs stored in info in UI\n (survey as any).info?.props?.srs ??\n []\n\nexport const getSRSIndex = (survey: Survey): SRSIndex =>\n getSRSs(survey).reduce((acc: SRSIndex, srs) => {\n acc[srs.code] = srs\n return acc\n }, {})\n\nexport const getSRSByCode =\n (code: string) =>\n (survey: Survey): SRS | undefined =>\n getSRSIndex(survey)[code]\n\nexport const getAuthGroups = (survey: Survey): UserAuthGroup[] => survey?.authGroups ?? []\n\nexport const getAuthGroupAdmin = (survey: Survey): UserAuthGroup | undefined =>\n getAuthGroups(survey).find((authGroup) => authGroup.name === AuthGroupName.surveyAdmin)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"taxa.js","sourceRoot":"","sources":["../../../src/taxonomy/taxa.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;AAClD,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAA;AACtE,MAAM,uBAAuB,GAC3B,CAAC,kBAA0B,EAAE,EAAE,CAC/B,CAAC,KAAY,EAA8B,EAAE;;IAC3C,MAAM,qBAAqB,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,mCAAI,EAAE,CAAA;IAC1D,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACjE,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;QACvD,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE,CAAC;YACjD,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC/C,OAAO,cAAc,CAAA;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAEH,MAAM,qBAAqB,GAAG,CAAC,cAA8B,EAAsB,EAAE,WAAC,OAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,IAAI,CAAA,EAAA,CAAA;AACjH,MAAM,qBAAqB,GAAG,CAAC,cAA8B,EAAsB,EAAE,WAAC,OAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,IAAI,CAAA,EAAA,CAAA;AAEjH,MAAM,wBAAwB,GAAG,CAAC,kBAA0B,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE;IAChF,IAAI,cAAc,EAAE,cAAc,CAAA;IAClC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAA;IAC5E,IAAI,iBAAiB,EAAE,CAAC;QACtB,cAAc,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;QACzD,cAAc,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;IAC3D,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;QACrC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;IACvC,CAAC;IACD,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAY,EAAW,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;AAE9F,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO;IACP,iBAAiB;IACjB,uBAAuB;IACvB,wBAAwB;IACxB,mBAAmB;CACpB,CAAA","sourcesContent":["import { Taxon } from './taxon'\nimport { VernacularName } from './taxonVernacularName'\n\nconst getCode = (taxon: Taxon) => taxon.props.code\nconst getScientificName = (taxon: Taxon) => taxon.props.scientificName\nconst getVernacularNameByUuid =\n (vernacularNameUuid: string) =>\n (taxon: Taxon): VernacularName | undefined => {\n const vernacularNamesByLang = taxon?.vernacularNames ?? {}\n const vernacularNameArrays = Object.values(vernacularNamesByLang)\n for (const vernacularNameArray of vernacularNameArrays) {\n for (const vernacularName of vernacularNameArray) {\n if (vernacularName.uuid === vernacularNameUuid) {\n return vernacularName\n }\n }\n }\n return undefined\n }\n\nconst getVernacularNameName = (vernacularName: VernacularName): string | undefined => vernacularName?.props?.name\nconst getVernacularNameLang = (vernacularName: VernacularName): string | undefined => vernacularName?.props?.lang\n\nconst getVernacularNameAndLang = (vernacularNameUuid: string) => (taxon: Taxon) => {\n let vernacularName, vernacularLang\n const vernacularNameObj = getVernacularNameByUuid(vernacularNameUuid)(taxon)\n if (vernacularNameObj) {\n vernacularName = getVernacularNameName(vernacularNameObj)\n vernacularLang = getVernacularNameLang(vernacularNameObj)\n } else {\n vernacularName = taxon.vernacularName\n vernacularLang = taxon.vernacularLang\n }\n return vernacularName ? { vernacularName, vernacularLang } : {}\n}\n\nconst isUnknownOrUnlisted = (taxon: Taxon): boolean => ['UNK', 'UNL'].includes(getCode(taxon))\n\nexport const Taxa = {\n getCode,\n getScientificName,\n getVernacularNameByUuid,\n getVernacularNameAndLang,\n isUnknownOrUnlisted,\n}\n"]}
1
+ {"version":3,"file":"taxa.js","sourceRoot":"","sources":["../../../src/taxonomy/taxa.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;AAClD,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAA;AACtE,MAAM,uBAAuB,GAC3B,CAAC,kBAA0B,EAAE,EAAE,CAC/B,CAAC,KAAY,EAA8B,EAAE;;IAC3C,MAAM,qBAAqB,SAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,mCAAI,EAAE,CAAA;IAC1D,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACjE,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;QACvD,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE,CAAC;YACjD,IAAI,cAAc,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC/C,OAAO,cAAc,CAAA;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAEH,MAAM,qBAAqB,GAAG,CAAC,cAA8B,EAAsB,EAAE,kBAAC,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,IAAI,GAAA,CAAA;AACjH,MAAM,qBAAqB,GAAG,CAAC,cAA8B,EAAsB,EAAE,kBAAC,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,IAAI,GAAA,CAAA;AAEjH,MAAM,wBAAwB,GAAG,CAAC,kBAA0B,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE;IAChF,IAAI,cAAc,EAAE,cAAc,CAAA;IAClC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAA;IAC5E,IAAI,iBAAiB,EAAE,CAAC;QACtB,cAAc,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;QACzD,cAAc,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;IAC3D,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;QACrC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;IACvC,CAAC;IACD,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAY,EAAW,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;AAE9F,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO;IACP,iBAAiB;IACjB,uBAAuB;IACvB,wBAAwB;IACxB,mBAAmB;CACpB,CAAA","sourcesContent":["import { Taxon } from './taxon'\nimport { VernacularName } from './taxonVernacularName'\n\nconst getCode = (taxon: Taxon) => taxon.props.code\nconst getScientificName = (taxon: Taxon) => taxon.props.scientificName\nconst getVernacularNameByUuid =\n (vernacularNameUuid: string) =>\n (taxon: Taxon): VernacularName | undefined => {\n const vernacularNamesByLang = taxon?.vernacularNames ?? {}\n const vernacularNameArrays = Object.values(vernacularNamesByLang)\n for (const vernacularNameArray of vernacularNameArrays) {\n for (const vernacularName of vernacularNameArray) {\n if (vernacularName.uuid === vernacularNameUuid) {\n return vernacularName\n }\n }\n }\n return undefined\n }\n\nconst getVernacularNameName = (vernacularName: VernacularName): string | undefined => vernacularName?.props?.name\nconst getVernacularNameLang = (vernacularName: VernacularName): string | undefined => vernacularName?.props?.lang\n\nconst getVernacularNameAndLang = (vernacularNameUuid: string) => (taxon: Taxon) => {\n let vernacularName, vernacularLang\n const vernacularNameObj = getVernacularNameByUuid(vernacularNameUuid)(taxon)\n if (vernacularNameObj) {\n vernacularName = getVernacularNameName(vernacularNameObj)\n vernacularLang = getVernacularNameLang(vernacularNameObj)\n } else {\n vernacularName = taxon.vernacularName\n vernacularLang = taxon.vernacularLang\n }\n return vernacularName ? { vernacularName, vernacularLang } : {}\n}\n\nconst isUnknownOrUnlisted = (taxon: Taxon): boolean => ['UNK', 'UNL'].includes(getCode(taxon))\n\nexport const Taxa = {\n getCode,\n getScientificName,\n getVernacularNameByUuid,\n getVernacularNameAndLang,\n isUnknownOrUnlisted,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomies.js","sourceRoot":"","sources":["../../../src/taxonomy/taxonomies.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAA;AAE9E,MAAM,oBAAoB,GAAG,CAAC,QAAkB,EAAY,EAAE,WAAC,OAAA,MAAM,CAAC,IAAI,CAAC,MAAA,gBAAgB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAA;AAE5G,MAAM,qBAAqB,GACzB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,QAAkB,EAA4B,EAAE,WAC/C,OAAA,MAAA,gBAAgB,CAAC,QAAQ,CAAC,0CAAG,IAAI,CAAC,CAAA,EAAA,CAAA;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;CACtB,CAAA","sourcesContent":["import { ExtraPropDef } from '../extraProp'\nimport { Taxonomy } from './taxonomy'\n\nconst getExtraPropDefs = (taxonomy: Taxonomy) => taxonomy.props.extraPropsDefs\n\nconst getExtraPropDefNames = (taxonomy: Taxonomy): string[] => Object.keys(getExtraPropDefs(taxonomy) ?? {})\n\nconst getExtraPropDefByName =\n (name: string) =>\n (taxonomy: Taxonomy): ExtraPropDef | undefined =>\n getExtraPropDefs(taxonomy)?.[name]\n\nexport const Taxonomies = {\n getExtraPropDefs,\n getExtraPropDefNames,\n getExtraPropDefByName,\n}\n"]}
1
+ {"version":3,"file":"taxonomies.js","sourceRoot":"","sources":["../../../src/taxonomy/taxonomies.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAA;AAE9E,MAAM,oBAAoB,GAAG,CAAC,QAAkB,EAAY,EAAE,kBAAC,MAAM,CAAC,IAAI,OAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC,GAAA,CAAA;AAE5G,MAAM,qBAAqB,GACzB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,QAAkB,EAA4B,EAAE,kBAC/C,MAAA,gBAAgB,CAAC,QAAQ,CAAC,0CAAG,IAAI,CAAC,GAAA,CAAA;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;CACtB,CAAA","sourcesContent":["import { ExtraPropDef } from '../extraProp'\nimport { Taxonomy } from './taxonomy'\n\nconst getExtraPropDefs = (taxonomy: Taxonomy) => taxonomy.props.extraPropsDefs\n\nconst getExtraPropDefNames = (taxonomy: Taxonomy): string[] => Object.keys(getExtraPropDefs(taxonomy) ?? {})\n\nconst getExtraPropDefByName =\n (name: string) =>\n (taxonomy: Taxonomy): ExtraPropDef | undefined =>\n getExtraPropDefs(taxonomy)?.[name]\n\nexport const Taxonomies = {\n getExtraPropDefs,\n getExtraPropDefNames,\n getExtraPropDefByName,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"attributeBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/recordBuilder/attributeBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { Node, NodeFactory, NodeValueCode, NodeValueTaxon } from '../../../node'\nimport { NodeMeta } from '../../../node/node'\nimport { NodeDef, NodeDefCode, NodeDefTaxon, NodeDefType } from '../../../nodeDef'\nimport { Record, Records } from '../../../record'\nimport { Survey, Surveys } from '../../../survey'\nimport { NodeBuilder } from './nodeBuilder'\n\nexport class AttributeBuilder extends NodeBuilder {\n private readonly value: any\n\n constructor(nodeDefName: string, value: any = null) {\n super(nodeDefName)\n this.value = value\n }\n\n private buildCodeValue(params: { survey: Survey; nodeDef: NodeDefCode }) {\n const { survey, nodeDef } = params\n\n if (this.value.itemUuid) {\n // value is already a NodeValueCode object\n return this.value\n }\n\n const code = this.value\n const item = Surveys.getCategoryItemByCodePaths({\n survey,\n categoryUuid: nodeDef.props.categoryUuid,\n codePaths: [code],\n })\n if (!item) {\n throw new Error(`could not find category item with code: ${code}`)\n }\n\n return {\n itemUuid: item.uuid,\n code: item.props.code,\n } as NodeValueCode\n }\n\n private buildTaxonValue(params: { survey: Survey; nodeDef: NodeDefTaxon }) {\n const { survey, nodeDef } = params\n\n if (this.value.taxonUuid) {\n // value is already a NodeValueTaxon object\n return this.value\n }\n const taxonCode = this.value.code || this.value\n const taxonomyUuid = nodeDef.props.taxonomyUuid\n\n const taxon = Surveys.getTaxonByCode({ survey, taxonomyUuid, taxonCode })\n if (!taxon) {\n throw new Error(`could not find taxon with code: ${JSON.stringify(taxonCode)}`)\n }\n\n return {\n taxonUuid: taxon.uuid,\n code: taxon.props.code,\n scientificName: taxon.props.scientificName,\n } as NodeValueTaxon\n }\n\n private buildValue(params: { survey: Survey }) {\n const { survey } = params\n const nodeDef = this.getNodeDef({ survey })\n\n if (this.value === null || this.value === undefined) return null\n\n if (nodeDef.type === NodeDefType.code) {\n return this.buildCodeValue({ survey, nodeDef: nodeDef as NodeDefCode })\n }\n if (nodeDef.type === NodeDefType.taxon) {\n return this.buildTaxonValue({ survey, nodeDef: nodeDef as NodeDefTaxon })\n }\n return this.value\n }\n\n private buildMeta(params: { nodeDef: NodeDef<any>; record: Record; parentNode?: Node }): NodeMeta {\n const { nodeDef, record, parentNode } = params\n\n const meta: NodeMeta = {}\n\n if (nodeDef.type === NodeDefType.code) {\n const nodeDefCode = nodeDef as NodeDefCode\n if (nodeDefCode.props.parentCodeDefUuid && parentNode) {\n const parentCodeAttribute = Records.getParentCodeAttribute({ parentNode, nodeDef: nodeDefCode })(record)\n if (!parentCodeAttribute) throw new Error('Could not find the parent code attibute')\n return { ...meta, hCode: [parentCodeAttribute.uuid] }\n }\n }\n\n return meta\n }\n\n build(params: { survey: Survey; record: Record; parentNode?: Node }): Record {\n const { survey, record, parentNode } = params\n\n const nodeDef = this.getNodeDef({ survey })\n\n const value = this.buildValue({ survey })\n\n const attribute = NodeFactory.createInstance({\n nodeDefUuid: nodeDef.uuid,\n parentNode,\n recordUuid: record.uuid,\n value,\n })\n attribute.meta = {\n ...attribute.meta,\n ...this.buildMeta({ nodeDef, parentNode, record }),\n }\n return Records.addNode(attribute)(record)\n }\n}\n"]}
1
+ {"version":3,"file":"attributeBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/recordBuilder/attributeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAiC,MAAM,eAAe,CAAA;AAEhF,OAAO,EAAsC,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,EAAU,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAU,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAG/C,YAAY,WAAmB,EAAE,KAAK,GAAQ,IAAI;QAChD,KAAK,CAAC,WAAW,CAAC,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAEO,cAAc,CAAC,MAAgD;QACrE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QAElC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,0CAA0C;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAA;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,0BAA0B,CAAC;YAC9C,MAAM;YACN,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;YACxC,SAAS,EAAE,CAAC,IAAI,CAAC;SAClB,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;SACL,CAAA;IACpB,CAAC;IAEO,eAAe,CAAC,MAAiD;QACvE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QAElC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzB,2CAA2C;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAA;QACnB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA;QAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAA;QAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACjF,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACtB,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc;SACzB,CAAA;IACrB,CAAC;IAEO,UAAU,CAAC,MAA0B;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAE3C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEhE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAsB,EAAE,CAAC,CAAA;QACzE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAuB,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAEO,SAAS,CAAC,MAAoE;QACpF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;QAE9C,MAAM,IAAI,GAAa,EAAE,CAAA;QAEzB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,OAAsB,CAAA;YAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,iBAAiB,IAAI,UAAU,EAAE,CAAC;gBACtD,MAAM,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;gBACxG,IAAI,CAAC,mBAAmB;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;gBACpF,uCAAY,IAAI,KAAE,KAAK,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAE;YACvD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,MAA6D;QACjE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAEzC,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC;YAC3C,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,UAAU;YACV,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,KAAK;SACN,CAAC,CAAA;QACF,SAAS,CAAC,IAAI,mCACT,SAAS,CAAC,IAAI,GACd,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CACnD,CAAA;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;CACF","sourcesContent":["import { Node, NodeFactory, NodeValueCode, NodeValueTaxon } from '../../../node'\nimport { NodeMeta } from '../../../node/node'\nimport { NodeDef, NodeDefCode, NodeDefTaxon, NodeDefType } from '../../../nodeDef'\nimport { Record, Records } from '../../../record'\nimport { Survey, Surveys } from '../../../survey'\nimport { NodeBuilder } from './nodeBuilder'\n\nexport class AttributeBuilder extends NodeBuilder {\n private readonly value: any\n\n constructor(nodeDefName: string, value: any = null) {\n super(nodeDefName)\n this.value = value\n }\n\n private buildCodeValue(params: { survey: Survey; nodeDef: NodeDefCode }) {\n const { survey, nodeDef } = params\n\n if (this.value.itemUuid) {\n // value is already a NodeValueCode object\n return this.value\n }\n\n const code = this.value\n const item = Surveys.getCategoryItemByCodePaths({\n survey,\n categoryUuid: nodeDef.props.categoryUuid,\n codePaths: [code],\n })\n if (!item) {\n throw new Error(`could not find category item with code: ${code}`)\n }\n\n return {\n itemUuid: item.uuid,\n code: item.props.code,\n } as NodeValueCode\n }\n\n private buildTaxonValue(params: { survey: Survey; nodeDef: NodeDefTaxon }) {\n const { survey, nodeDef } = params\n\n if (this.value.taxonUuid) {\n // value is already a NodeValueTaxon object\n return this.value\n }\n const taxonCode = this.value.code || this.value\n const taxonomyUuid = nodeDef.props.taxonomyUuid\n\n const taxon = Surveys.getTaxonByCode({ survey, taxonomyUuid, taxonCode })\n if (!taxon) {\n throw new Error(`could not find taxon with code: ${JSON.stringify(taxonCode)}`)\n }\n\n return {\n taxonUuid: taxon.uuid,\n code: taxon.props.code,\n scientificName: taxon.props.scientificName,\n } as NodeValueTaxon\n }\n\n private buildValue(params: { survey: Survey }) {\n const { survey } = params\n const nodeDef = this.getNodeDef({ survey })\n\n if (this.value === null || this.value === undefined) return null\n\n if (nodeDef.type === NodeDefType.code) {\n return this.buildCodeValue({ survey, nodeDef: nodeDef as NodeDefCode })\n }\n if (nodeDef.type === NodeDefType.taxon) {\n return this.buildTaxonValue({ survey, nodeDef: nodeDef as NodeDefTaxon })\n }\n return this.value\n }\n\n private buildMeta(params: { nodeDef: NodeDef<any>; record: Record; parentNode?: Node }): NodeMeta {\n const { nodeDef, record, parentNode } = params\n\n const meta: NodeMeta = {}\n\n if (nodeDef.type === NodeDefType.code) {\n const nodeDefCode = nodeDef as NodeDefCode\n if (nodeDefCode.props.parentCodeDefUuid && parentNode) {\n const parentCodeAttribute = Records.getParentCodeAttribute({ parentNode, nodeDef: nodeDefCode })(record)\n if (!parentCodeAttribute) throw new Error('Could not find the parent code attibute')\n return { ...meta, hCode: [parentCodeAttribute.uuid] }\n }\n }\n\n return meta\n }\n\n build(params: { survey: Survey; record: Record; parentNode?: Node }): Record {\n const { survey, record, parentNode } = params\n\n const nodeDef = this.getNodeDef({ survey })\n\n const value = this.buildValue({ survey })\n\n const attribute = NodeFactory.createInstance({\n nodeDefUuid: nodeDef.uuid,\n parentNode,\n recordUuid: record.uuid,\n value,\n })\n attribute.meta = {\n ...attribute.meta,\n ...this.buildMeta({ nodeDef, parentNode, record }),\n }\n return Records.addNode(attribute)(record)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tests/builder/recordBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAE,QAAa,IAAI,EAAoB,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAExH,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,GAAG,aAA4B,EAAiB,EAAE,CACrF,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,MAAM;CACP,CAAA","sourcesContent":["import { AttributeBuilder } from './attributeBuilder'\nimport { EntityBuilder } from './entityBuilder'\nimport { NodeBuilder } from './nodeBuilder'\n\nexport { RecordBuilder } from './recordBuilder'\n\nconst attribute = (nodeDefName: string, value: any = null): AttributeBuilder => new AttributeBuilder(nodeDefName, value)\n\nconst entity = (nodeDefName: string, ...childBuilders: NodeBuilder[]): EntityBuilder =>\n new EntityBuilder(nodeDefName, ...childBuilders)\n\nexport const RecordNodeBuilders = {\n attribute,\n entity,\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tests/builder/recordBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAE,KAAK,GAAQ,IAAI,EAAoB,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAExH,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,GAAG,aAA4B,EAAiB,EAAE,CACrF,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,MAAM;CACP,CAAA","sourcesContent":["import { AttributeBuilder } from './attributeBuilder'\nimport { EntityBuilder } from './entityBuilder'\nimport { NodeBuilder } from './nodeBuilder'\n\nexport { RecordBuilder } from './recordBuilder'\n\nconst attribute = (nodeDefName: string, value: any = null): AttributeBuilder => new AttributeBuilder(nodeDefName, value)\n\nconst entity = (nodeDefName: string, ...childBuilders: NodeBuilder[]): EntityBuilder =>\n new EntityBuilder(nodeDefName, ...childBuilders)\n\nexport const RecordNodeBuilders = {\n attribute,\n entity,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/recordBuilder/nodeBuilder.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,WAAW;IAG/B,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAES,UAAU,CAAC,MAA0B;;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,CAAA;QAE1G,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,WAAW,sBAAsB,CAAC,CAAA;QAC/E,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CAGF","sourcesContent":["import { Node } from '../../../node'\nimport { NodeDef, NodeDefProps, NodeDefType } from '../../../nodeDef'\nimport { Record } from '../../../record'\nimport { Survey } from '../../../survey'\n\nexport abstract class NodeBuilder {\n protected nodeDefName: string\n\n constructor(nodeDefName: string) {\n this.nodeDefName = nodeDefName\n }\n\n protected getNodeDef(params: { survey: Survey }): NodeDef<NodeDefType, NodeDefProps> {\n const nodeDef = Object.values(params.survey.nodeDefs ?? {}).find((n) => n.props.name === this.nodeDefName)\n\n if (!nodeDef) {\n throw new Error(`Node def with name ${this.nodeDefName} not found in survey`)\n }\n\n return nodeDef\n }\n\n abstract build(params: { survey: Survey; record: Record; parentNode?: Node }): Record\n}\n"]}
1
+ {"version":3,"file":"nodeBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/recordBuilder/nodeBuilder.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,WAAW;IAG/B,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAES,UAAU,CAAC,MAA0B;;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,OAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,CAAA;QAE1G,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,WAAW,sBAAsB,CAAC,CAAA;QAC/E,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CAGF","sourcesContent":["import { Node } from '../../../node'\nimport { NodeDef, NodeDefProps, NodeDefType } from '../../../nodeDef'\nimport { Record } from '../../../record'\nimport { Survey } from '../../../survey'\n\nexport abstract class NodeBuilder {\n protected nodeDefName: string\n\n constructor(nodeDefName: string) {\n this.nodeDefName = nodeDefName\n }\n\n protected getNodeDef(params: { survey: Survey }): NodeDef<NodeDefType, NodeDefProps> {\n const nodeDef = Object.values(params.survey.nodeDefs ?? {}).find((n) => n.props.name === this.nodeDefName)\n\n if (!nodeDef) {\n throw new Error(`Node def with name ${this.nodeDefName} not found in survey`)\n }\n\n return nodeDef\n }\n\n abstract build(params: { survey: Survey; record: Record; parentNode?: Node }): Record\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"categoryItemBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/surveyBuilder/categoryItemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE/E,MAAM,OAAO,mBAAmB;IAM9B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAkC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,YAAmC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,YAAY,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAkB,EAAE,aAAkC,IAAI,EAAE,UAAU,GAAG,CAAC;QAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,cAAc,CAAC;YAC9C,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,UAAU,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;SAChF,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACtE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CACvD,CAAA;QACD,OAAO,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAA;IAC/B,CAAC;CACF","sourcesContent":["import { Category, CategoryItem, CategoryItemFactory } from '../../../category'\n\nexport class CategoryItemBuilder {\n private readonly code: string\n private _label?: string\n private extraProps: { [key: string]: any }\n private childItemBuilders: CategoryItemBuilder[]\n\n constructor(code: string) {\n this.code = code\n this._label = ''\n this.extraProps = {}\n this.childItemBuilders = []\n }\n\n label(label: string): this {\n this._label = label\n return this\n }\n\n extra(extraProps: { [key: string]: any }): this {\n this.extraProps = extraProps\n return this\n }\n\n items(...itemBuilders: CategoryItemBuilder[]): this {\n this.childItemBuilders = [...itemBuilders]\n return this\n }\n\n build(category: Category, parentItem: CategoryItem | null = null, levelIndex = 0): CategoryItem[] {\n const level = category.levels[levelIndex]\n const item = CategoryItemFactory.createInstance({\n levelUuid: level.uuid,\n parentUuid: parentItem?.uuid,\n props: { code: this.code, labels: { en: this._label }, extra: this.extraProps },\n })\n const descendants = this.childItemBuilders.flatMap((childItemBuilder) =>\n childItemBuilder.build(category, item, levelIndex + 1)\n )\n return [item, ...descendants]\n }\n}\n"]}
1
+ {"version":3,"file":"categoryItemBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/surveyBuilder/categoryItemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE/E,MAAM,OAAO,mBAAmB;IAM9B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAkC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,YAAmC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,YAAY,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAkB,EAAE,UAAU,GAAwB,IAAI,EAAE,UAAU,GAAG,CAAC;QAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,cAAc,CAAC;YAC9C,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,UAAU,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;SAChF,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACtE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CACvD,CAAA;QACD,OAAO,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAA;IAC/B,CAAC;CACF","sourcesContent":["import { Category, CategoryItem, CategoryItemFactory } from '../../../category'\n\nexport class CategoryItemBuilder {\n private readonly code: string\n private _label?: string\n private extraProps: { [key: string]: any }\n private childItemBuilders: CategoryItemBuilder[]\n\n constructor(code: string) {\n this.code = code\n this._label = ''\n this.extraProps = {}\n this.childItemBuilders = []\n }\n\n label(label: string): this {\n this._label = label\n return this\n }\n\n extra(extraProps: { [key: string]: any }): this {\n this.extraProps = extraProps\n return this\n }\n\n items(...itemBuilders: CategoryItemBuilder[]): this {\n this.childItemBuilders = [...itemBuilders]\n return this\n }\n\n build(category: Category, parentItem: CategoryItem | null = null, levelIndex = 0): CategoryItem[] {\n const level = category.levels[levelIndex]\n const item = CategoryItemFactory.createInstance({\n levelUuid: level.uuid,\n parentUuid: parentItem?.uuid,\n props: { code: this.code, labels: { en: this._label }, extra: this.extraProps },\n })\n const descendants = this.childItemBuilders.flatMap((childItemBuilder) =>\n childItemBuilder.build(category, item, levelIndex + 1)\n )\n return [item, ...descendants]\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefAttributeBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/surveyBuilder/nodeDefAttributeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAqB,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACzD,YAAY,IAAY,EAAE,OAAoB,WAAW,CAAC,IAAI;QAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAA4C,EAAE;QAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QAChC,MAAM,GAAG,GAAyB,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;QACvE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,GAAG;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,GAAG,WAAqB;QACpC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChE,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CACxD,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAgC;QAC9B,IAAI,CAAC,aAAa,CAAC,4BAA4B,GAAG,IAAI,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qBAAqB,CAAC,GAAG,WAA2C;;;QAClE,YAAA,IAAI,CAAC,aAAa,EAAC,WAAW,uCAAX,WAAW,GAAK,EAAE,EAAA;QACrC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC1E,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefType } from '../../../nodeDef'\nimport { NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { NodeDefBuilder } from './nodeDefBuilder'\n\nexport class NodeDefAttributeBuilder extends NodeDefBuilder {\n constructor(name: string, type: NodeDefType = NodeDefType.text) {\n super(name, type)\n }\n\n build(params: { nodeDefParent?: NodeDefEntity } = {}): { [uuid: string]: NodeDef<NodeDefType> } {\n const { nodeDefParent } = params\n const def: NodeDef<NodeDefType> = this.createNodeDef({ nodeDefParent })\n return { [def.uuid]: def }\n }\n\n key(): this {\n this.props.key = true\n return this\n }\n\n qualifier(): this {\n this.props.qualifier = true\n return this\n }\n\n autoIncrementalKey(): this {\n this.props.autoIncrementalKey = true\n return this\n }\n\n readOnly(): this {\n this.props.readOnly = true\n return this\n }\n\n excludeInClone(): this {\n this.propsAdvanced.excludedInClone = true\n return this\n }\n\n defaultValue(expression: string): this {\n this.propsAdvanced.defaultValues = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n defaultValues(...expressions: string[]): this {\n this.propsAdvanced.defaultValues = expressions.map((expression) =>\n NodeDefExpressionFactory.createInstance({ expression })\n )\n return this\n }\n\n defaultValueEvaluatedOnlyOneTime(): this {\n this.propsAdvanced.defaultValueEvaluatedOneTime = true\n return this\n }\n\n validationExpressions(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.validations ??= {}\n this.propsAdvanced.validations.expressions = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n}\n"]}
1
+ {"version":3,"file":"nodeDefAttributeBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/surveyBuilder/nodeDefAttributeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAqB,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACzD,YAAY,IAAY,EAAE,IAAI,GAAgB,WAAW,CAAC,IAAI;QAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,GAAsC,EAAE;QAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QAChC,MAAM,GAAG,GAAyB,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;QACvE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,GAAG;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,GAAG,WAAqB;QACpC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChE,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CACxD,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAgC;QAC9B,IAAI,CAAC,aAAa,CAAC,4BAA4B,GAAG,IAAI,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qBAAqB,CAAC,GAAG,WAA2C;;;QAClE,YAAA,IAAI,CAAC,aAAa,EAAC,WAAW,uCAAX,WAAW,GAAK,EAAE,EAAA;QACrC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC1E,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefType } from '../../../nodeDef'\nimport { NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { NodeDefBuilder } from './nodeDefBuilder'\n\nexport class NodeDefAttributeBuilder extends NodeDefBuilder {\n constructor(name: string, type: NodeDefType = NodeDefType.text) {\n super(name, type)\n }\n\n build(params: { nodeDefParent?: NodeDefEntity } = {}): { [uuid: string]: NodeDef<NodeDefType> } {\n const { nodeDefParent } = params\n const def: NodeDef<NodeDefType> = this.createNodeDef({ nodeDefParent })\n return { [def.uuid]: def }\n }\n\n key(): this {\n this.props.key = true\n return this\n }\n\n qualifier(): this {\n this.props.qualifier = true\n return this\n }\n\n autoIncrementalKey(): this {\n this.props.autoIncrementalKey = true\n return this\n }\n\n readOnly(): this {\n this.props.readOnly = true\n return this\n }\n\n excludeInClone(): this {\n this.propsAdvanced.excludedInClone = true\n return this\n }\n\n defaultValue(expression: string): this {\n this.propsAdvanced.defaultValues = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n defaultValues(...expressions: string[]): this {\n this.propsAdvanced.defaultValues = expressions.map((expression) =>\n NodeDefExpressionFactory.createInstance({ expression })\n )\n return this\n }\n\n defaultValueEvaluatedOnlyOneTime(): this {\n this.propsAdvanced.defaultValueEvaluatedOneTime = true\n return this\n }\n\n validationExpressions(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.validations ??= {}\n this.propsAdvanced.validations.expressions = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/surveyBuilder/nodeDefBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,cAAc,GAKf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAA6C,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC9G,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAgB,cAAc;IAKlC,YAAY,IAAY,EAAE,IAAiB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG;YACX,IAAI;SACL,CAAA;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;IACzB,CAAC;IAES,aAAa,CAAC,SAA4C,EAAE;QACpE,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC;YAC5C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QACF,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,UAAkB;QACxB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QACzF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,GAAG,WAA2C;QACvD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAC,GAAG,WAA2C;QACtD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,OAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,OAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC;YAClD,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { Survey } from '../../../survey'\nimport {\n NodeDef,\n NodeDefFactory,\n NodeDefEntity,\n NodeDefProps,\n NodeDefPropsAdvanced,\n NodeDefType,\n} from '../../../nodeDef'\nimport { NodeDefCountExpression, NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { Objects } from '../../../utils'\n\nexport abstract class NodeDefBuilder {\n protected props: NodeDefProps\n protected propsAdvanced: NodeDefPropsAdvanced\n protected type: NodeDefType\n\n constructor(name: string, type: NodeDefType) {\n this.type = type\n this.props = {\n name,\n }\n this.propsAdvanced = {}\n }\n\n protected createNodeDef(params: { nodeDefParent?: NodeDefEntity } = {}): NodeDef<NodeDefType, NodeDefProps> {\n const nodeDef = NodeDefFactory.createInstance({\n nodeDefParent: params.nodeDefParent,\n type: this.type,\n props: this.props,\n propsAdvanced: this.propsAdvanced,\n })\n nodeDef.temporary = false\n return nodeDef\n }\n\n abstract build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> }\n\n multiple(): this {\n this.props.multiple = true\n return this\n }\n\n applyIf(expression: string): this {\n this.propsAdvanced.applicable = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n editableIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.editableIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n visibleIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.visibleIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n maxCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'max'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n minCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'min'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n required(): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'required'],\n value: true,\n sideEffect: true,\n })\n }\n}\n"]}
1
+ {"version":3,"file":"nodeDefBuilder.js","sourceRoot":"","sources":["../../../../../src/tests/builder/surveyBuilder/nodeDefBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,cAAc,GAKf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAA6C,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC9G,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAgB,cAAc;IAKlC,YAAY,IAAY,EAAE,IAAiB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG;YACX,IAAI;SACL,CAAA;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;IACzB,CAAC;IAES,aAAa,CAAC,MAAM,GAAsC,EAAE;QACpE,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC;YAC5C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QACF,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,UAAkB;QACxB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QACzF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,GAAG,WAA2C;QACvD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAC,GAAG,WAA2C;QACtD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,OAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,OAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC;YAClD,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { Survey } from '../../../survey'\nimport {\n NodeDef,\n NodeDefFactory,\n NodeDefEntity,\n NodeDefProps,\n NodeDefPropsAdvanced,\n NodeDefType,\n} from '../../../nodeDef'\nimport { NodeDefCountExpression, NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { Objects } from '../../../utils'\n\nexport abstract class NodeDefBuilder {\n protected props: NodeDefProps\n protected propsAdvanced: NodeDefPropsAdvanced\n protected type: NodeDefType\n\n constructor(name: string, type: NodeDefType) {\n this.type = type\n this.props = {\n name,\n }\n this.propsAdvanced = {}\n }\n\n protected createNodeDef(params: { nodeDefParent?: NodeDefEntity } = {}): NodeDef<NodeDefType, NodeDefProps> {\n const nodeDef = NodeDefFactory.createInstance({\n nodeDefParent: params.nodeDefParent,\n type: this.type,\n props: this.props,\n propsAdvanced: this.propsAdvanced,\n })\n nodeDef.temporary = false\n return nodeDef\n }\n\n abstract build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> }\n\n multiple(): this {\n this.props.multiple = true\n return this\n }\n\n applyIf(expression: string): this {\n this.propsAdvanced.applicable = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n editableIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.editableIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n visibleIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.visibleIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n maxCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'max'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n minCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'min'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n required(): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'required'],\n value: true,\n sideEffect: true,\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"camelize.js","sourceRoot":"","sources":["../../../../src/utils/_objects/camelize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AAEzG,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAsF,EAAO,EAAE;IACnH,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC5E,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;QACjG,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;YACpE,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,MAA8B,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,cAAc,GAAW,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,eAAe,GACnB,OAAO,IAAI,gBAAgB,KAAK,CAAC;YAC/B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAA;QAEhF,MAAM,CAAC,cAAc,CAAC,GAAG,eAAe,CAAA;QAExC,IAAI,UAAU,IAAI,CAAC,OAAO,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAAW,EACX,UAA4E,EAAE,EACzE,EAAE;IACP,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,MAAgB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAClD,OAAO,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA","sourcesContent":["export const _camelCase = (str: string): string => str.replace(/[_.-](\\w|$)/g, (_, x) => x.toUpperCase())\n\nexport const _walk = (options: { object: any; skip?: string[]; limitToLevel?: number; sideEffect?: boolean }): any => {\n const { object, skip = [], limitToLevel = Number.NaN, sideEffect } = options\n if (!object || !(object instanceof Object) || object instanceof Date || object instanceof RegExp) {\n return object\n }\n if (Array.isArray(object)) {\n return object.reduce(\n (acc, item, index) => {\n acc[index] = _walk({ object: item, skip, limitToLevel, sideEffect })\n return acc\n },\n sideEffect ? object : []\n )\n }\n const nextLimitToLevel = limitToLevel ? limitToLevel - 1 : undefined\n\n return Object.entries(object).reduce(\n (objAcc: { [key: string]: any }, [key, value]) => {\n const skipped = skip.includes(key)\n const keyTransformed: string = skipped ? key : _camelCase(key)\n const valueTranformed =\n skipped || nextLimitToLevel === 0\n ? value\n : _walk({ object: value, skip, limitToLevel: nextLimitToLevel, sideEffect })\n\n objAcc[keyTransformed] = valueTranformed\n\n if (sideEffect && !skipped && keyTransformed !== key) {\n delete objAcc[key]\n }\n return objAcc\n },\n sideEffect ? object : {}\n )\n}\n\n/**\n * Recursively transform the keys of the specified object to camel-case.\n *\n * @param {!object} [object] - Object to be camelized\n * @param {!object} [options] - The camelize options.\n * @param {Array} [options.skip=array[]] - An optional list of keys to skip.\n *\n * @returns {any} - The object with keys in camel case or the value in camel case.\n */\n\nexport const camelize = (\n object: any,\n options: { skip?: string[]; limitToLevel?: number; sideEffect?: boolean } = {}\n): any => {\n if (typeof object === 'string') {\n return _camelCase(object as string)\n }\n\n const { skip, limitToLevel, sideEffect } = options\n return _walk({ object, skip, limitToLevel, sideEffect })\n}\n"]}
1
+ {"version":3,"file":"camelize.js","sourceRoot":"","sources":["../../../../src/utils/_objects/camelize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AAEzG,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAsF,EAAO,EAAE;IACnH,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC5E,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;QACjG,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;YACpE,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,MAA8B,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,cAAc,GAAW,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,eAAe,GACnB,OAAO,IAAI,gBAAgB,KAAK,CAAC;YAC/B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAA;QAEhF,MAAM,CAAC,cAAc,CAAC,GAAG,eAAe,CAAA;QAExC,IAAI,UAAU,IAAI,CAAC,OAAO,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAAW,EACX,OAAO,GAAqE,EAAE,EACzE,EAAE;IACP,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,MAAgB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAClD,OAAO,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA","sourcesContent":["export const _camelCase = (str: string): string => str.replace(/[_.-](\\w|$)/g, (_, x) => x.toUpperCase())\n\nexport const _walk = (options: { object: any; skip?: string[]; limitToLevel?: number; sideEffect?: boolean }): any => {\n const { object, skip = [], limitToLevel = Number.NaN, sideEffect } = options\n if (!object || !(object instanceof Object) || object instanceof Date || object instanceof RegExp) {\n return object\n }\n if (Array.isArray(object)) {\n return object.reduce(\n (acc, item, index) => {\n acc[index] = _walk({ object: item, skip, limitToLevel, sideEffect })\n return acc\n },\n sideEffect ? object : []\n )\n }\n const nextLimitToLevel = limitToLevel ? limitToLevel - 1 : undefined\n\n return Object.entries(object).reduce(\n (objAcc: { [key: string]: any }, [key, value]) => {\n const skipped = skip.includes(key)\n const keyTransformed: string = skipped ? key : _camelCase(key)\n const valueTranformed =\n skipped || nextLimitToLevel === 0\n ? value\n : _walk({ object: value, skip, limitToLevel: nextLimitToLevel, sideEffect })\n\n objAcc[keyTransformed] = valueTranformed\n\n if (sideEffect && !skipped && keyTransformed !== key) {\n delete objAcc[key]\n }\n return objAcc\n },\n sideEffect ? object : {}\n )\n}\n\n/**\n * Recursively transform the keys of the specified object to camel-case.\n *\n * @param {!object} [object] - Object to be camelized\n * @param {!object} [options] - The camelize options.\n * @param {Array} [options.skip=array[]] - An optional list of keys to skip.\n *\n * @returns {any} - The object with keys in camel case or the value in camel case.\n */\n\nexport const camelize = (\n object: any,\n options: { skip?: string[]; limitToLevel?: number; sideEffect?: boolean } = {}\n): any => {\n if (typeof object === 'string') {\n return _camelCase(object as string)\n }\n\n const { skip, limitToLevel, sideEffect } = options\n return _walk({ object, skip, limitToLevel, sideEffect })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/utils/arrays.ts"],"names":[],"mappings":"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","sourcesContent":["import { Objects } from './_objects'\n\nconst addItems =\n <T>(items: T[], options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] => {\n const { sideEffect = false, excludeNulls = false } = options ?? {}\n const itemsToAdd = excludeNulls ? items.filter((item) => !Objects.isNil(item)) : items\n if (sideEffect) {\n array.push(...itemsToAdd)\n return array\n }\n return array.concat(itemsToAdd)\n }\nconst addItem =\n <T>(item: T, options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] =>\n addItems([item], options)(array)\n\nconst fromNumberOfElements = (numOfElements: number): number[] => Array.from(new Array(numOfElements).keys())\n\nconst intersection = <T>(array1: T[], array2: T[]): T[] => array1.filter((item) => array2.includes(item))\n\nconst last = <T>(array: T[] = []): T | undefined => (array.length > 0 ? array.at(-1) : undefined)\n\nconst removeItem =\n <T>(item: T) =>\n (array: T[]): T[] => {\n const result = [...array]\n const itemIndex = array.indexOf(item)\n if (itemIndex >= 0) {\n result.splice(itemIndex, 1)\n }\n return result\n }\n\nconst startsWith = <T>(list: T[], start: T[]): boolean => start.every((item, index) => list[index] === item)\n\nconst toArray = (value: any): any[] => {\n if (value === null || value === undefined) return []\n return Array.isArray(value) ? value : [value]\n}\n\nconst toUuidIndexedObject = (array: any[]) =>\n array.reduce((acc, item) => {\n acc[item.uuid] = item\n return acc\n }, {})\n\nexport const Arrays = {\n addItem,\n addItems,\n fromNumberOfElements,\n intersection,\n last,\n removeItem,\n startsWith,\n toArray,\n toUuidIndexedObject,\n}\n"]}
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/utils/arrays.ts"],"names":[],"mappings":"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","sourcesContent":["import { Objects } from './_objects'\n\nconst addItems =\n <T>(items: T[], options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] => {\n const { sideEffect = false, excludeNulls = false } = options ?? {}\n const itemsToAdd = excludeNulls ? items.filter((item) => !Objects.isNil(item)) : items\n if (sideEffect) {\n array.push(...itemsToAdd)\n return array\n }\n return array.concat(itemsToAdd)\n }\nconst addItem =\n <T>(item: T, options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] =>\n addItems([item], options)(array)\n\nconst fromNumberOfElements = (numOfElements: number): number[] => Array.from(new Array(numOfElements).keys())\n\nconst intersection = <T>(array1: T[], array2: T[]): T[] => array1.filter((item) => array2.includes(item))\n\nconst last = <T>(array: T[] = []): T | undefined => (array.length > 0 ? array.at(-1) : undefined)\n\nconst removeItem =\n <T>(item: T) =>\n (array: T[]): T[] => {\n const result = [...array]\n const itemIndex = array.indexOf(item)\n if (itemIndex >= 0) {\n result.splice(itemIndex, 1)\n }\n return result\n }\n\nconst startsWith = <T>(list: T[], start: T[]): boolean => start.every((item, index) => list[index] === item)\n\nconst toArray = (value: any): any[] => {\n if (value === null || value === undefined) return []\n return Array.isArray(value) ? value : [value]\n}\n\nconst toUuidIndexedObject = (array: any[]) =>\n array.reduce((acc, item) => {\n acc[item.uuid] = item\n return acc\n }, {})\n\nexport const Arrays = {\n addItem,\n addItems,\n fromNumberOfElements,\n intersection,\n last,\n removeItem,\n startsWith,\n toArray,\n toUuidIndexedObject,\n}\n"]}