@openforis/arena-core 2.3.32 → 2.3.34

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 (837) hide show
  1. package/dist/app/appInfo.js.map +1 -1
  2. package/dist/app/index.js.map +1 -1
  3. package/dist/auth/authGroup.js.map +1 -1
  4. package/dist/auth/authGroups.js.map +1 -1
  5. package/dist/auth/authorizer.js +45 -0
  6. package/dist/auth/authorizer.js.map +1 -1
  7. package/dist/auth/factory.js.map +1 -1
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/auth/permission.js.map +1 -1
  10. package/dist/auth/user.js.map +1 -1
  11. package/dist/auth/userAuth.js.map +1 -1
  12. package/dist/auth/userAuthTokenService.d.ts +28 -0
  13. package/dist/auth/userAuthTokenService.js.map +1 -1
  14. package/dist/auth/userGroup.js.map +1 -1
  15. package/dist/auth/userService.js.map +1 -1
  16. package/dist/auth/users.js +1 -0
  17. package/dist/auth/users.js.map +1 -1
  18. package/dist/category/categories.js.map +1 -1
  19. package/dist/category/category.js.map +1 -1
  20. package/dist/category/categoryImportSummary.js.map +1 -1
  21. package/dist/category/categoryItemGenerator.js.map +1 -1
  22. package/dist/category/categoryItems.js.map +1 -1
  23. package/dist/category/factory.js.map +1 -1
  24. package/dist/category/index.js.map +1 -1
  25. package/dist/category/item.js.map +1 -1
  26. package/dist/category/itemService.js.map +1 -1
  27. package/dist/category/level.js.map +1 -1
  28. package/dist/category/levelService.js.map +1 -1
  29. package/dist/category/service.js.map +1 -1
  30. package/dist/chain/chain.js.map +1 -1
  31. package/dist/chain/chainFactory.js.map +1 -1
  32. package/dist/chain/chainNodeDef.js.map +1 -1
  33. package/dist/chain/chainNodeDefAggregate.js.map +1 -1
  34. package/dist/chain/chainNodeDefFactory.js.map +1 -1
  35. package/dist/chain/chainNodeDefService.js.map +1 -1
  36. package/dist/chain/chainService.js.map +1 -1
  37. package/dist/chain/index.js.map +1 -1
  38. package/dist/common/Dictionary.js.map +1 -1
  39. package/dist/common/factory.js.map +1 -1
  40. package/dist/common/i18n.js.map +1 -1
  41. package/dist/common/index.js.map +1 -1
  42. package/dist/dataExport/ArenaExportInfo.js.map +1 -1
  43. package/dist/dataExport/ArenaExportInfoFactory.js.map +1 -1
  44. package/dist/dataExport/FlatDataExportModel.js +3 -3
  45. package/dist/dataExport/FlatDataExportModel.js.map +1 -1
  46. package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
  47. package/dist/dataExport/FlatDataFiles.js.map +1 -1
  48. package/dist/dataExport/UniqueFileNamesGenerator.d.ts +23 -0
  49. package/dist/dataExport/UniqueFileNamesGenerator.js +26 -1
  50. package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
  51. package/dist/dataExport/index.js.map +1 -1
  52. package/dist/dataQuery/dataQuery.js.map +1 -1
  53. package/dist/dataQuery/dataQuerySummaries.js +3 -0
  54. package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
  55. package/dist/dataQuery/index.js.map +1 -1
  56. package/dist/error/SystemError.js +1 -0
  57. package/dist/error/SystemError.js.map +1 -1
  58. package/dist/error/index.js.map +1 -1
  59. package/dist/esm/app/appInfo.js.map +1 -1
  60. package/dist/esm/app/index.js.map +1 -1
  61. package/dist/esm/auth/authGroup.js.map +1 -1
  62. package/dist/esm/auth/authGroups.js.map +1 -1
  63. package/dist/esm/auth/authorizer.js +45 -0
  64. package/dist/esm/auth/authorizer.js.map +1 -1
  65. package/dist/esm/auth/factory.js.map +1 -1
  66. package/dist/esm/auth/index.js.map +1 -1
  67. package/dist/esm/auth/permission.js.map +1 -1
  68. package/dist/esm/auth/user.js.map +1 -1
  69. package/dist/esm/auth/userAuth.js.map +1 -1
  70. package/dist/esm/auth/userAuthTokenService.js.map +1 -1
  71. package/dist/esm/auth/userGroup.js.map +1 -1
  72. package/dist/esm/auth/userService.js.map +1 -1
  73. package/dist/esm/auth/users.js +1 -0
  74. package/dist/esm/auth/users.js.map +1 -1
  75. package/dist/esm/category/categories.js.map +1 -1
  76. package/dist/esm/category/category.js.map +1 -1
  77. package/dist/esm/category/categoryImportSummary.js.map +1 -1
  78. package/dist/esm/category/categoryItemGenerator.js.map +1 -1
  79. package/dist/esm/category/categoryItems.js.map +1 -1
  80. package/dist/esm/category/factory.js.map +1 -1
  81. package/dist/esm/category/index.js.map +1 -1
  82. package/dist/esm/category/item.js.map +1 -1
  83. package/dist/esm/category/itemService.js.map +1 -1
  84. package/dist/esm/category/level.js.map +1 -1
  85. package/dist/esm/category/levelService.js.map +1 -1
  86. package/dist/esm/category/service.js.map +1 -1
  87. package/dist/esm/chain/chain.js.map +1 -1
  88. package/dist/esm/chain/chainFactory.js.map +1 -1
  89. package/dist/esm/chain/chainNodeDef.js.map +1 -1
  90. package/dist/esm/chain/chainNodeDefAggregate.js.map +1 -1
  91. package/dist/esm/chain/chainNodeDefFactory.js.map +1 -1
  92. package/dist/esm/chain/chainNodeDefService.js.map +1 -1
  93. package/dist/esm/chain/chainService.js.map +1 -1
  94. package/dist/esm/chain/index.js.map +1 -1
  95. package/dist/esm/common/Dictionary.js.map +1 -1
  96. package/dist/esm/common/factory.js.map +1 -1
  97. package/dist/esm/common/i18n.js.map +1 -1
  98. package/dist/esm/common/index.js.map +1 -1
  99. package/dist/esm/dataExport/ArenaExportInfo.js.map +1 -1
  100. package/dist/esm/dataExport/ArenaExportInfoFactory.js.map +1 -1
  101. package/dist/esm/dataExport/FlatDataExportModel.js +3 -3
  102. package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
  103. package/dist/esm/dataExport/FlatDataExportOptions.js.map +1 -1
  104. package/dist/esm/dataExport/FlatDataFiles.js.map +1 -1
  105. package/dist/esm/dataExport/UniqueFileNamesGenerator.js +26 -1
  106. package/dist/esm/dataExport/UniqueFileNamesGenerator.js.map +1 -1
  107. package/dist/esm/dataExport/index.js.map +1 -1
  108. package/dist/esm/dataQuery/dataQuery.js.map +1 -1
  109. package/dist/esm/dataQuery/dataQuerySummaries.js +3 -0
  110. package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
  111. package/dist/esm/dataQuery/index.js.map +1 -1
  112. package/dist/esm/error/SystemError.js +1 -0
  113. package/dist/esm/error/SystemError.js.map +1 -1
  114. package/dist/esm/error/index.js.map +1 -1
  115. package/dist/esm/expression/context.js.map +1 -1
  116. package/dist/esm/expression/evaluator.js.map +1 -1
  117. package/dist/esm/expression/function.js.map +1 -1
  118. package/dist/esm/expression/index.js.map +1 -1
  119. package/dist/esm/expression/javascript/evaluator.js +3 -0
  120. package/dist/esm/expression/javascript/evaluator.js.map +1 -1
  121. package/dist/esm/expression/javascript/functionsDefault.js.map +1 -1
  122. package/dist/esm/expression/javascript/global.js.map +1 -1
  123. package/dist/esm/expression/javascript/node/array.js.map +1 -1
  124. package/dist/esm/expression/javascript/node/binary.js +23 -0
  125. package/dist/esm/expression/javascript/node/binary.js.map +1 -1
  126. package/dist/esm/expression/javascript/node/call.js +12 -0
  127. package/dist/esm/expression/javascript/node/call.js.map +1 -1
  128. package/dist/esm/expression/javascript/node/compound.js.map +1 -1
  129. package/dist/esm/expression/javascript/node/conditional.js.map +1 -1
  130. package/dist/esm/expression/javascript/node/identifier.js +7 -0
  131. package/dist/esm/expression/javascript/node/identifier.js.map +1 -1
  132. package/dist/esm/expression/javascript/node/literal.js.map +1 -1
  133. package/dist/esm/expression/javascript/node/member.js +5 -1
  134. package/dist/esm/expression/javascript/node/member.js.map +1 -1
  135. package/dist/esm/expression/javascript/node/sequence.js.map +1 -1
  136. package/dist/esm/expression/javascript/node/this.js.map +1 -1
  137. package/dist/esm/expression/javascript/node/unary.js +8 -0
  138. package/dist/esm/expression/javascript/node/unary.js.map +1 -1
  139. package/dist/esm/expression/javascript/parser/jsep.js +6 -2
  140. package/dist/esm/expression/javascript/parser/jsep.js.map +1 -1
  141. package/dist/esm/expression/javascript/parser/parser.js.map +1 -1
  142. package/dist/esm/expression/node.js.map +1 -1
  143. package/dist/esm/expression/parser.js.map +1 -1
  144. package/dist/esm/expression/variable.js.map +1 -1
  145. package/dist/esm/extraProp/extraProp.js.map +1 -1
  146. package/dist/esm/extraProp/extraProps.js.map +1 -1
  147. package/dist/esm/extraProp/extraPropsDataGenerator.js.map +1 -1
  148. package/dist/esm/extraProp/index.js.map +1 -1
  149. package/dist/esm/geo/index.js.map +1 -1
  150. package/dist/esm/geo/point.js.map +1 -1
  151. package/dist/esm/geo/pointFactory.js.map +1 -1
  152. package/dist/esm/geo/points/bearing.js +11 -0
  153. package/dist/esm/geo/points/bearing.js.map +1 -1
  154. package/dist/esm/geo/points/distance.js +9 -0
  155. package/dist/esm/geo/points/distance.js.map +1 -1
  156. package/dist/esm/geo/points/equals.js.map +1 -1
  157. package/dist/esm/geo/points/getSrs.js.map +1 -1
  158. package/dist/esm/geo/points/index.js.map +1 -1
  159. package/dist/esm/geo/points/isFilled.js.map +1 -1
  160. package/dist/esm/geo/points/isValid.js +1 -1
  161. package/dist/esm/geo/points/isValid.js.map +1 -1
  162. package/dist/esm/geo/points/parse.js +9 -0
  163. package/dist/esm/geo/points/parse.js.map +1 -1
  164. package/dist/esm/geo/points/pointAtDistance.js +10 -0
  165. package/dist/esm/geo/points/pointAtDistance.js.map +1 -1
  166. package/dist/esm/geo/points/toLatLong.js.map +1 -1
  167. package/dist/esm/geo/points/toString.js.map +1 -1
  168. package/dist/esm/geo/points/transform.js +12 -0
  169. package/dist/esm/geo/points/transform.js.map +1 -1
  170. package/dist/esm/index.js.map +1 -1
  171. package/dist/esm/job/JobBase.js +99 -0
  172. package/dist/esm/job/JobBase.js.map +1 -1
  173. package/dist/esm/job/index.js.map +1 -1
  174. package/dist/esm/job/job.js.map +1 -1
  175. package/dist/esm/job/jobContext.js.map +1 -1
  176. package/dist/esm/job/jobEvent.js.map +1 -1
  177. package/dist/esm/job/jobSerialized.js.map +1 -1
  178. package/dist/esm/job/status.js.map +1 -1
  179. package/dist/esm/language/index.js.map +1 -1
  180. package/dist/esm/language/labels.js.map +1 -1
  181. package/dist/esm/language/languageCode.js.map +1 -1
  182. package/dist/esm/language/languages.js.map +1 -1
  183. package/dist/esm/logger/index.js.map +1 -1
  184. package/dist/esm/logger/logger.js.map +1 -1
  185. package/dist/esm/message/index.js.map +1 -1
  186. package/dist/esm/message/message.js.map +1 -1
  187. package/dist/esm/message/messages.js +1 -0
  188. package/dist/esm/message/messages.js.map +1 -1
  189. package/dist/esm/node/factory.js.map +1 -1
  190. package/dist/esm/node/index.js.map +1 -1
  191. package/dist/esm/node/node.js.map +1 -1
  192. package/dist/esm/node/nodePointer.js.map +1 -1
  193. package/dist/esm/node/nodeValue/code.js.map +1 -1
  194. package/dist/esm/node/nodeValue/coordinate.js.map +1 -1
  195. package/dist/esm/node/nodeValue/file.js.map +1 -1
  196. package/dist/esm/node/nodeValue/index.js.map +1 -1
  197. package/dist/esm/node/nodeValue/nodeValueComposite.js.map +1 -1
  198. package/dist/esm/node/nodeValue/taxon.js.map +1 -1
  199. package/dist/esm/node/nodeValueFormatter.js +2 -0
  200. package/dist/esm/node/nodeValueFormatter.js.map +1 -1
  201. package/dist/esm/node/nodeValueProps.js.map +1 -1
  202. package/dist/esm/node/nodeValues.js +20 -0
  203. package/dist/esm/node/nodeValues.js.map +1 -1
  204. package/dist/esm/node/nodes.js +7 -0
  205. package/dist/esm/node/nodes.js.map +1 -1
  206. package/dist/esm/node/service.js.map +1 -1
  207. package/dist/esm/nodeDef/factory.js.map +1 -1
  208. package/dist/esm/nodeDef/index.js.map +1 -1
  209. package/dist/esm/nodeDef/nodeDef.js +1 -0
  210. package/dist/esm/nodeDef/nodeDef.js.map +1 -1
  211. package/dist/esm/nodeDef/nodeDefs.js +18 -0
  212. package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
  213. package/dist/esm/nodeDef/service.js.map +1 -1
  214. package/dist/esm/nodeDef/types/boolean.js.map +1 -1
  215. package/dist/esm/nodeDef/types/code.js.map +1 -1
  216. package/dist/esm/nodeDef/types/coordinate.js.map +1 -1
  217. package/dist/esm/nodeDef/types/date.js.map +1 -1
  218. package/dist/esm/nodeDef/types/decimal.js.map +1 -1
  219. package/dist/esm/nodeDef/types/entity.js.map +1 -1
  220. package/dist/esm/nodeDef/types/file.js.map +1 -1
  221. package/dist/esm/nodeDef/types/formHeader.js.map +1 -1
  222. package/dist/esm/nodeDef/types/integer.js.map +1 -1
  223. package/dist/esm/nodeDef/types/taxon.js.map +1 -1
  224. package/dist/esm/nodeDef/types/text.js.map +1 -1
  225. package/dist/esm/nodeDef/types/time.js.map +1 -1
  226. package/dist/esm/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
  227. package/dist/esm/nodeDefExpressionEvaluator/context.js.map +1 -1
  228. package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  229. package/dist/esm/nodeDefExpressionEvaluator/functions.js +8 -1
  230. package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
  231. package/dist/esm/nodeDefExpressionEvaluator/index.js.map +1 -1
  232. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +28 -0
  233. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  234. package/dist/esm/nodeDefExpressionEvaluator/node/member.js +15 -0
  235. package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  236. package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
  237. package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
  238. package/dist/esm/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  239. package/dist/esm/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
  240. package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
  241. package/dist/esm/record/_records/recordCompletion.js +14 -0
  242. package/dist/esm/record/_records/recordCompletion.js.map +1 -1
  243. package/dist/esm/record/_records/recordGetters.js +19 -2
  244. package/dist/esm/record/_records/recordGetters.js.map +1 -1
  245. package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
  246. package/dist/esm/record/_records/recordNodesIndexUpdater.js +17 -0
  247. package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
  248. package/dist/esm/record/_records/recordPagesValidation.js +45 -0
  249. package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
  250. package/dist/esm/record/_records/recordUpdateOptions.js.map +1 -1
  251. package/dist/esm/record/_records/recordUpdater.js +2 -0
  252. package/dist/esm/record/_records/recordUpdater.js.map +1 -1
  253. package/dist/esm/record/_records/recordUtils.js.map +1 -1
  254. package/dist/esm/record/factory.js.map +1 -1
  255. package/dist/esm/record/index.js.map +1 -1
  256. package/dist/esm/record/nodePointers.js.map +1 -1
  257. package/dist/esm/record/record.js.map +1 -1
  258. package/dist/esm/record/recordCloner.js +10 -1
  259. package/dist/esm/record/recordCloner.js.map +1 -1
  260. package/dist/esm/record/recordExpressionEvaluator/context.js.map +1 -1
  261. package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
  262. package/dist/esm/record/recordExpressionEvaluator/index.js.map +1 -1
  263. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
  264. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  265. package/dist/esm/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
  266. package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
  267. package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
  268. package/dist/esm/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  269. package/dist/esm/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
  270. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  271. package/dist/esm/record/recordFixer.js +16 -0
  272. package/dist/esm/record/recordFixer.js.map +1 -1
  273. package/dist/esm/record/recordNodesUpdater/index.js.map +1 -1
  274. package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
  275. package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
  276. package/dist/esm/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
  277. package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
  278. package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
  279. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
  280. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  281. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
  282. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  283. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
  284. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
  285. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
  286. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  287. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
  288. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
  289. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
  290. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
  291. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
  292. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
  293. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
  294. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
  295. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
  296. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
  297. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
  298. package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js +10 -5
  299. package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
  300. package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
  301. package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  302. package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
  303. package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
  304. package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
  305. package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  306. package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js +8 -0
  307. package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  308. package/dist/esm/record/recordPrettyPrinter.js.map +1 -1
  309. package/dist/esm/record/recordStep.js.map +1 -1
  310. package/dist/esm/record/recordUpdater.js +1 -0
  311. package/dist/esm/record/recordUpdater.js.map +1 -1
  312. package/dist/esm/record/recordValidations.js.map +1 -1
  313. package/dist/esm/record/recordValidator/attributeKeyValidator.js +3 -0
  314. package/dist/esm/record/recordValidator/attributeKeyValidator.js.map +1 -1
  315. package/dist/esm/record/recordValidator/attributeTypeValidator.js +3 -0
  316. package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
  317. package/dist/esm/record/recordValidator/attributeUniqueValidator.js +2 -0
  318. package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  319. package/dist/esm/record/recordValidator/attributeValidator.js +12 -1
  320. package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
  321. package/dist/esm/record/recordValidator/countVaildator.js +5 -0
  322. package/dist/esm/record/recordValidator/countVaildator.js.map +1 -1
  323. package/dist/esm/record/recordValidator/index.js.map +1 -1
  324. package/dist/esm/record/recordValidator/recordValidator.js +3 -0
  325. package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
  326. package/dist/esm/record/records.js +3 -0
  327. package/dist/esm/record/records.js.map +1 -1
  328. package/dist/esm/record/service.js.map +1 -1
  329. package/dist/esm/registry/index.js.map +1 -1
  330. package/dist/esm/registry/serviceRegistry.js.map +1 -1
  331. package/dist/esm/registry/serviceType.js.map +1 -1
  332. package/dist/esm/srs/factory.js.map +1 -1
  333. package/dist/esm/srs/index.js.map +1 -1
  334. package/dist/esm/srs/srs.js.map +1 -1
  335. package/dist/esm/survey/factory.js +1 -0
  336. package/dist/esm/survey/factory.js.map +1 -1
  337. package/dist/esm/survey/index.js.map +1 -1
  338. package/dist/esm/survey/nodeDefsFixer.js +1 -0
  339. package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
  340. package/dist/esm/survey/refData/factory.js.map +1 -1
  341. package/dist/esm/survey/refData/index.js.map +1 -1
  342. package/dist/esm/survey/refData/refData.js.map +1 -1
  343. package/dist/esm/survey/service.js.map +1 -1
  344. package/dist/esm/survey/survey.js.map +1 -1
  345. package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
  346. package/dist/esm/survey/surveyDocImages.js.map +1 -1
  347. package/dist/esm/survey/surveyFileFactory.js.map +1 -1
  348. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
  349. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  350. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  351. package/dist/esm/survey/surveys/dependencies.js +11 -2
  352. package/dist/esm/survey/surveys/dependencies.js.map +1 -1
  353. package/dist/esm/survey/surveys/index.js +6 -0
  354. package/dist/esm/survey/surveys/index.js.map +1 -1
  355. package/dist/esm/survey/surveys/nodeDefs.js +12 -0
  356. package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
  357. package/dist/esm/survey/surveys/refsData.js.map +1 -1
  358. package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
  359. package/dist/esm/survey/surveys/surveysGetters.js +3 -1
  360. package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
  361. package/dist/esm/survey/surveys/surveysUtils.js.map +1 -1
  362. package/dist/esm/taxonomy/factory.js.map +1 -1
  363. package/dist/esm/taxonomy/index.js.map +1 -1
  364. package/dist/esm/taxonomy/service.js.map +1 -1
  365. package/dist/esm/taxonomy/taxa.js.map +1 -1
  366. package/dist/esm/taxonomy/taxon.js.map +1 -1
  367. package/dist/esm/taxonomy/taxonGenerator.js.map +1 -1
  368. package/dist/esm/taxonomy/taxonService.js.map +1 -1
  369. package/dist/esm/taxonomy/taxonVernacularName.js.map +1 -1
  370. package/dist/esm/taxonomy/taxonomies.js.map +1 -1
  371. package/dist/esm/taxonomy/taxonomy.js.map +1 -1
  372. package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js +2 -0
  373. package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  374. package/dist/esm/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
  375. package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
  376. package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  377. package/dist/esm/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
  378. package/dist/esm/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
  379. package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  380. package/dist/esm/tests/builder/surveyBuilder/index.js.map +1 -1
  381. package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  382. package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  383. package/dist/esm/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
  384. package/dist/esm/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
  385. package/dist/esm/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
  386. package/dist/esm/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
  387. package/dist/esm/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
  388. package/dist/esm/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
  389. package/dist/esm/utils/_objects/assoc.js.map +1 -1
  390. package/dist/esm/utils/_objects/assocPath.js +1 -0
  391. package/dist/esm/utils/_objects/assocPath.js.map +1 -1
  392. package/dist/esm/utils/_objects/camelize.js +9 -0
  393. package/dist/esm/utils/_objects/camelize.js.map +1 -1
  394. package/dist/esm/utils/_objects/deepMerge.js +10 -0
  395. package/dist/esm/utils/_objects/deepMerge.js.map +1 -1
  396. package/dist/esm/utils/_objects/deleteEmptyProps.js.map +1 -1
  397. package/dist/esm/utils/_objects/difference.js.map +1 -1
  398. package/dist/esm/utils/_objects/dissoc.js.map +1 -1
  399. package/dist/esm/utils/_objects/dissocPath.js +1 -0
  400. package/dist/esm/utils/_objects/dissocPath.js.map +1 -1
  401. package/dist/esm/utils/_objects/dissocPathIfEmpty.js.map +1 -1
  402. package/dist/esm/utils/_objects/fromPairs.js.map +1 -1
  403. package/dist/esm/utils/_objects/index.js.map +1 -1
  404. package/dist/esm/utils/_objects/isEmpty.js +8 -0
  405. package/dist/esm/utils/_objects/isEmpty.js.map +1 -1
  406. package/dist/esm/utils/_objects/isEqual.js.map +1 -1
  407. package/dist/esm/utils/_objects/isNil.js +6 -0
  408. package/dist/esm/utils/_objects/isNil.js.map +1 -1
  409. package/dist/esm/utils/_objects/isNotEmpty.js +6 -0
  410. package/dist/esm/utils/_objects/isNotEmpty.js.map +1 -1
  411. package/dist/esm/utils/_objects/parse.js +8 -0
  412. package/dist/esm/utils/_objects/parse.js.map +1 -1
  413. package/dist/esm/utils/_objects/path.js +7 -0
  414. package/dist/esm/utils/_objects/path.js.map +1 -1
  415. package/dist/esm/utils/_objects/propertyOf.js.map +1 -1
  416. package/dist/esm/utils/_objects/setInPath.js.map +1 -1
  417. package/dist/esm/utils/_objects/stringify.js +9 -0
  418. package/dist/esm/utils/_objects/stringify.js.map +1 -1
  419. package/dist/esm/utils/_objects/toPairs.js.map +1 -1
  420. package/dist/esm/utils/arrays.js.map +1 -1
  421. package/dist/esm/utils/dates.js +66 -15
  422. package/dist/esm/utils/dates.js.map +1 -1
  423. package/dist/esm/utils/fileNames.js.map +1 -1
  424. package/dist/esm/utils/fileProcessor.js +5 -1
  425. package/dist/esm/utils/fileProcessor.js.map +1 -1
  426. package/dist/esm/utils/index.js.map +1 -1
  427. package/dist/esm/utils/numbers.js +21 -0
  428. package/dist/esm/utils/numbers.js.map +1 -1
  429. package/dist/esm/utils/promises.js +15 -1
  430. package/dist/esm/utils/promises.js.map +1 -1
  431. package/dist/esm/utils/queue.js +9 -0
  432. package/dist/esm/utils/queue.js.map +1 -1
  433. package/dist/esm/utils/retryProcessor.js +5 -1
  434. package/dist/esm/utils/retryProcessor.js.map +1 -1
  435. package/dist/esm/utils/strings.js.map +1 -1
  436. package/dist/esm/utils/uuids.js.map +1 -1
  437. package/dist/esm/utils/versions.js +4 -0
  438. package/dist/esm/utils/versions.js.map +1 -1
  439. package/dist/esm/validation/factory.js.map +1 -1
  440. package/dist/esm/validation/fieldValidator.js.map +1 -1
  441. package/dist/esm/validation/fieldValidators/email.js +3 -0
  442. package/dist/esm/validation/fieldValidators/email.js.map +1 -1
  443. package/dist/esm/validation/fieldValidators/index.js.map +1 -1
  444. package/dist/esm/validation/fieldValidators/name.js +4 -0
  445. package/dist/esm/validation/fieldValidators/name.js.map +1 -1
  446. package/dist/esm/validation/fieldValidators/notKeyword.js.map +1 -1
  447. package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
  448. package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
  449. package/dist/esm/validation/fieldValidators/required.js.map +1 -1
  450. package/dist/esm/validation/index.js.map +1 -1
  451. package/dist/esm/validation/validation.js.map +1 -1
  452. package/dist/esm/validation/validationResults.js +1 -1
  453. package/dist/esm/validation/validationResults.js.map +1 -1
  454. package/dist/esm/validation/validations.js +17 -1
  455. package/dist/esm/validation/validations.js.map +1 -1
  456. package/dist/esm/validation/validator.js.map +1 -1
  457. package/dist/esm/validation/validatorErrorKeys.js.map +1 -1
  458. package/dist/expression/context.d.ts +6 -0
  459. package/dist/expression/context.js.map +1 -1
  460. package/dist/expression/evaluator.js.map +1 -1
  461. package/dist/expression/function.d.ts +13 -0
  462. package/dist/expression/function.js.map +1 -1
  463. package/dist/expression/index.js.map +1 -1
  464. package/dist/expression/javascript/evaluator.js +3 -0
  465. package/dist/expression/javascript/evaluator.js.map +1 -1
  466. package/dist/expression/javascript/functionsDefault.js.map +1 -1
  467. package/dist/expression/javascript/global.js.map +1 -1
  468. package/dist/expression/javascript/node/array.js.map +1 -1
  469. package/dist/expression/javascript/node/binary.js +23 -0
  470. package/dist/expression/javascript/node/binary.js.map +1 -1
  471. package/dist/expression/javascript/node/call.js +12 -0
  472. package/dist/expression/javascript/node/call.js.map +1 -1
  473. package/dist/expression/javascript/node/compound.js.map +1 -1
  474. package/dist/expression/javascript/node/conditional.js.map +1 -1
  475. package/dist/expression/javascript/node/identifier.d.ts +7 -0
  476. package/dist/expression/javascript/node/identifier.js +7 -0
  477. package/dist/expression/javascript/node/identifier.js.map +1 -1
  478. package/dist/expression/javascript/node/literal.js.map +1 -1
  479. package/dist/expression/javascript/node/member.js +5 -1
  480. package/dist/expression/javascript/node/member.js.map +1 -1
  481. package/dist/expression/javascript/node/sequence.js.map +1 -1
  482. package/dist/expression/javascript/node/this.js.map +1 -1
  483. package/dist/expression/javascript/node/unary.js +8 -0
  484. package/dist/expression/javascript/node/unary.js.map +1 -1
  485. package/dist/expression/javascript/parser/jsep.js +6 -2
  486. package/dist/expression/javascript/parser/jsep.js.map +1 -1
  487. package/dist/expression/javascript/parser/parser.js.map +1 -1
  488. package/dist/expression/node.js.map +1 -1
  489. package/dist/expression/parser.js.map +1 -1
  490. package/dist/expression/variable.js.map +1 -1
  491. package/dist/extraProp/extraProp.js.map +1 -1
  492. package/dist/extraProp/extraProps.js.map +1 -1
  493. package/dist/extraProp/extraPropsDataGenerator.js.map +1 -1
  494. package/dist/extraProp/index.js.map +1 -1
  495. package/dist/geo/index.js.map +1 -1
  496. package/dist/geo/point.js.map +1 -1
  497. package/dist/geo/pointFactory.js.map +1 -1
  498. package/dist/geo/points/bearing.d.ts +9 -0
  499. package/dist/geo/points/bearing.js +11 -0
  500. package/dist/geo/points/bearing.js.map +1 -1
  501. package/dist/geo/points/distance.d.ts +8 -0
  502. package/dist/geo/points/distance.js +9 -0
  503. package/dist/geo/points/distance.js.map +1 -1
  504. package/dist/geo/points/equals.js.map +1 -1
  505. package/dist/geo/points/getSrs.js.map +1 -1
  506. package/dist/geo/points/index.js.map +1 -1
  507. package/dist/geo/points/isFilled.js.map +1 -1
  508. package/dist/geo/points/isValid.js +1 -1
  509. package/dist/geo/points/isValid.js.map +1 -1
  510. package/dist/geo/points/parse.d.ts +9 -0
  511. package/dist/geo/points/parse.js +9 -0
  512. package/dist/geo/points/parse.js.map +1 -1
  513. package/dist/geo/points/pointAtDistance.d.ts +9 -0
  514. package/dist/geo/points/pointAtDistance.js +10 -0
  515. package/dist/geo/points/pointAtDistance.js.map +1 -1
  516. package/dist/geo/points/toLatLong.js.map +1 -1
  517. package/dist/geo/points/toString.js.map +1 -1
  518. package/dist/geo/points/transform.d.ts +8 -0
  519. package/dist/geo/points/transform.js +12 -0
  520. package/dist/geo/points/transform.js.map +1 -1
  521. package/dist/index.js.map +1 -1
  522. package/dist/job/JobBase.d.ts +81 -0
  523. package/dist/job/JobBase.js +99 -0
  524. package/dist/job/JobBase.js.map +1 -1
  525. package/dist/job/index.js.map +1 -1
  526. package/dist/job/job.d.ts +20 -0
  527. package/dist/job/job.js.map +1 -1
  528. package/dist/job/jobContext.js.map +1 -1
  529. package/dist/job/jobEvent.js.map +1 -1
  530. package/dist/job/jobSerialized.d.ts +3 -0
  531. package/dist/job/jobSerialized.js.map +1 -1
  532. package/dist/job/status.js.map +1 -1
  533. package/dist/language/index.js.map +1 -1
  534. package/dist/language/labels.js.map +1 -1
  535. package/dist/language/languageCode.js.map +1 -1
  536. package/dist/language/languages.js.map +1 -1
  537. package/dist/logger/index.js.map +1 -1
  538. package/dist/logger/logger.js.map +1 -1
  539. package/dist/message/index.js.map +1 -1
  540. package/dist/message/message.d.ts +3 -0
  541. package/dist/message/message.js.map +1 -1
  542. package/dist/message/messages.js +1 -0
  543. package/dist/message/messages.js.map +1 -1
  544. package/dist/node/factory.js.map +1 -1
  545. package/dist/node/index.js.map +1 -1
  546. package/dist/node/node.d.ts +38 -0
  547. package/dist/node/node.js.map +1 -1
  548. package/dist/node/nodePointer.js.map +1 -1
  549. package/dist/node/nodeValue/code.js.map +1 -1
  550. package/dist/node/nodeValue/coordinate.js.map +1 -1
  551. package/dist/node/nodeValue/file.js.map +1 -1
  552. package/dist/node/nodeValue/index.js.map +1 -1
  553. package/dist/node/nodeValue/nodeValueComposite.js.map +1 -1
  554. package/dist/node/nodeValue/taxon.js.map +1 -1
  555. package/dist/node/nodeValueFormatter.js +2 -0
  556. package/dist/node/nodeValueFormatter.js.map +1 -1
  557. package/dist/node/nodeValueProps.js.map +1 -1
  558. package/dist/node/nodeValues.d.ts +4 -0
  559. package/dist/node/nodeValues.js +20 -0
  560. package/dist/node/nodeValues.js.map +1 -1
  561. package/dist/node/nodes.js +7 -0
  562. package/dist/node/nodes.js.map +1 -1
  563. package/dist/node/service.js.map +1 -1
  564. package/dist/nodeDef/factory.js.map +1 -1
  565. package/dist/nodeDef/index.js.map +1 -1
  566. package/dist/nodeDef/nodeDef.js +1 -0
  567. package/dist/nodeDef/nodeDef.js.map +1 -1
  568. package/dist/nodeDef/nodeDefs.js +18 -0
  569. package/dist/nodeDef/nodeDefs.js.map +1 -1
  570. package/dist/nodeDef/service.js.map +1 -1
  571. package/dist/nodeDef/types/boolean.js.map +1 -1
  572. package/dist/nodeDef/types/code.js.map +1 -1
  573. package/dist/nodeDef/types/coordinate.js.map +1 -1
  574. package/dist/nodeDef/types/date.js.map +1 -1
  575. package/dist/nodeDef/types/decimal.js.map +1 -1
  576. package/dist/nodeDef/types/entity.d.ts +1 -0
  577. package/dist/nodeDef/types/entity.js.map +1 -1
  578. package/dist/nodeDef/types/file.js.map +1 -1
  579. package/dist/nodeDef/types/formHeader.js.map +1 -1
  580. package/dist/nodeDef/types/integer.js.map +1 -1
  581. package/dist/nodeDef/types/taxon.js.map +1 -1
  582. package/dist/nodeDef/types/text.js.map +1 -1
  583. package/dist/nodeDef/types/time.js.map +1 -1
  584. package/dist/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
  585. package/dist/nodeDefExpressionEvaluator/context.d.ts +3 -0
  586. package/dist/nodeDefExpressionEvaluator/context.js.map +1 -1
  587. package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  588. package/dist/nodeDefExpressionEvaluator/functions.js +8 -1
  589. package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
  590. package/dist/nodeDefExpressionEvaluator/index.js.map +1 -1
  591. package/dist/nodeDefExpressionEvaluator/node/identifier.d.ts +14 -0
  592. package/dist/nodeDefExpressionEvaluator/node/identifier.js +28 -0
  593. package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  594. package/dist/nodeDefExpressionEvaluator/node/member.js +15 -0
  595. package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  596. package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
  597. package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
  598. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  599. package/dist/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
  600. package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
  601. package/dist/record/_records/recordCompletion.d.ts +12 -0
  602. package/dist/record/_records/recordCompletion.js +14 -0
  603. package/dist/record/_records/recordCompletion.js.map +1 -1
  604. package/dist/record/_records/recordGetters.d.ts +3 -0
  605. package/dist/record/_records/recordGetters.js +19 -2
  606. package/dist/record/_records/recordGetters.js.map +1 -1
  607. package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
  608. package/dist/record/_records/recordNodesIndexUpdater.js +17 -0
  609. package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
  610. package/dist/record/_records/recordPagesValidation.d.ts +39 -0
  611. package/dist/record/_records/recordPagesValidation.js +45 -0
  612. package/dist/record/_records/recordPagesValidation.js.map +1 -1
  613. package/dist/record/_records/recordUpdateOptions.js.map +1 -1
  614. package/dist/record/_records/recordUpdater.js +2 -0
  615. package/dist/record/_records/recordUpdater.js.map +1 -1
  616. package/dist/record/_records/recordUtils.js.map +1 -1
  617. package/dist/record/factory.js.map +1 -1
  618. package/dist/record/index.js.map +1 -1
  619. package/dist/record/nodePointers.js.map +1 -1
  620. package/dist/record/record.d.ts +12 -0
  621. package/dist/record/record.js.map +1 -1
  622. package/dist/record/recordCloner.js +10 -1
  623. package/dist/record/recordCloner.js.map +1 -1
  624. package/dist/record/recordExpressionEvaluator/context.js.map +1 -1
  625. package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
  626. package/dist/record/recordExpressionEvaluator/index.js.map +1 -1
  627. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
  628. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  629. package/dist/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
  630. package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
  631. package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
  632. package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  633. package/dist/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
  634. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  635. package/dist/record/recordFixer.js +16 -0
  636. package/dist/record/recordFixer.js.map +1 -1
  637. package/dist/record/recordNodesUpdater/index.js.map +1 -1
  638. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.d.ts +6 -0
  639. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
  640. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
  641. package/dist/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
  642. package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
  643. package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
  644. package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
  645. package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  646. package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
  647. package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  648. package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
  649. package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
  650. package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
  651. package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  652. package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
  653. package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
  654. package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
  655. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
  656. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
  657. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
  658. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
  659. package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
  660. package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
  661. package/dist/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
  662. package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
  663. package/dist/record/recordNodesUpdater/recordNodesCreator.js +10 -5
  664. package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
  665. package/dist/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
  666. package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  667. package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
  668. package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
  669. package/dist/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
  670. package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  671. package/dist/record/recordNodesUpdater/recordUpdateResult.d.ts +8 -0
  672. package/dist/record/recordNodesUpdater/recordUpdateResult.js +8 -0
  673. package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  674. package/dist/record/recordPrettyPrinter.js.map +1 -1
  675. package/dist/record/recordStep.js.map +1 -1
  676. package/dist/record/recordUpdater.js +1 -0
  677. package/dist/record/recordUpdater.js.map +1 -1
  678. package/dist/record/recordValidations.js.map +1 -1
  679. package/dist/record/recordValidator/attributeKeyValidator.d.ts +4 -0
  680. package/dist/record/recordValidator/attributeKeyValidator.js +3 -0
  681. package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
  682. package/dist/record/recordValidator/attributeTypeValidator.js +3 -0
  683. package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
  684. package/dist/record/recordValidator/attributeUniqueValidator.js +2 -0
  685. package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  686. package/dist/record/recordValidator/attributeValidator.js +12 -1
  687. package/dist/record/recordValidator/attributeValidator.js.map +1 -1
  688. package/dist/record/recordValidator/countVaildator.js +5 -0
  689. package/dist/record/recordValidator/countVaildator.js.map +1 -1
  690. package/dist/record/recordValidator/index.js.map +1 -1
  691. package/dist/record/recordValidator/recordValidator.js +3 -0
  692. package/dist/record/recordValidator/recordValidator.js.map +1 -1
  693. package/dist/record/records.js +3 -0
  694. package/dist/record/records.js.map +1 -1
  695. package/dist/record/service.js.map +1 -1
  696. package/dist/registry/index.js.map +1 -1
  697. package/dist/registry/serviceRegistry.js.map +1 -1
  698. package/dist/registry/serviceType.js.map +1 -1
  699. package/dist/srs/factory.js.map +1 -1
  700. package/dist/srs/index.js.map +1 -1
  701. package/dist/srs/srs.js.map +1 -1
  702. package/dist/survey/factory.js +1 -0
  703. package/dist/survey/factory.js.map +1 -1
  704. package/dist/survey/index.js.map +1 -1
  705. package/dist/survey/nodeDefsFixer.js +1 -0
  706. package/dist/survey/nodeDefsFixer.js.map +1 -1
  707. package/dist/survey/refData/factory.js.map +1 -1
  708. package/dist/survey/refData/index.js.map +1 -1
  709. package/dist/survey/refData/refData.d.ts +15 -0
  710. package/dist/survey/refData/refData.js.map +1 -1
  711. package/dist/survey/service.js.map +1 -1
  712. package/dist/survey/survey.d.ts +9 -0
  713. package/dist/survey/survey.js.map +1 -1
  714. package/dist/survey/surveyDocImageFactory.js.map +1 -1
  715. package/dist/survey/surveyDocImages.js.map +1 -1
  716. package/dist/survey/surveyFileFactory.js.map +1 -1
  717. package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
  718. package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  719. package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  720. package/dist/survey/surveys/dependencies.js +11 -2
  721. package/dist/survey/surveys/dependencies.js.map +1 -1
  722. package/dist/survey/surveys/index.js +6 -0
  723. package/dist/survey/surveys/index.js.map +1 -1
  724. package/dist/survey/surveys/nodeDefs.js +12 -0
  725. package/dist/survey/surveys/nodeDefs.js.map +1 -1
  726. package/dist/survey/surveys/refsData.js.map +1 -1
  727. package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
  728. package/dist/survey/surveys/surveysGetters.js +3 -1
  729. package/dist/survey/surveys/surveysGetters.js.map +1 -1
  730. package/dist/survey/surveys/surveysUtils.js.map +1 -1
  731. package/dist/taxonomy/factory.js.map +1 -1
  732. package/dist/taxonomy/index.js.map +1 -1
  733. package/dist/taxonomy/service.js.map +1 -1
  734. package/dist/taxonomy/taxa.js.map +1 -1
  735. package/dist/taxonomy/taxon.js.map +1 -1
  736. package/dist/taxonomy/taxonGenerator.js.map +1 -1
  737. package/dist/taxonomy/taxonService.js.map +1 -1
  738. package/dist/taxonomy/taxonVernacularName.js.map +1 -1
  739. package/dist/taxonomy/taxonomies.js.map +1 -1
  740. package/dist/taxonomy/taxonomy.js.map +1 -1
  741. package/dist/tests/builder/recordBuilder/attributeBuilder.js +2 -0
  742. package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  743. package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
  744. package/dist/tests/builder/recordBuilder/index.js.map +1 -1
  745. package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  746. package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
  747. package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
  748. package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  749. package/dist/tests/builder/surveyBuilder/index.js.map +1 -1
  750. package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  751. package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  752. package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
  753. package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
  754. package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
  755. package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
  756. package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
  757. package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
  758. package/dist/utils/_objects/assoc.js.map +1 -1
  759. package/dist/utils/_objects/assocPath.js +1 -0
  760. package/dist/utils/_objects/assocPath.js.map +1 -1
  761. package/dist/utils/_objects/camelize.d.ts +9 -0
  762. package/dist/utils/_objects/camelize.js +9 -0
  763. package/dist/utils/_objects/camelize.js.map +1 -1
  764. package/dist/utils/_objects/deepMerge.d.ts +5 -0
  765. package/dist/utils/_objects/deepMerge.js +10 -0
  766. package/dist/utils/_objects/deepMerge.js.map +1 -1
  767. package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
  768. package/dist/utils/_objects/difference.js.map +1 -1
  769. package/dist/utils/_objects/dissoc.js.map +1 -1
  770. package/dist/utils/_objects/dissocPath.js +1 -0
  771. package/dist/utils/_objects/dissocPath.js.map +1 -1
  772. package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
  773. package/dist/utils/_objects/fromPairs.js.map +1 -1
  774. package/dist/utils/_objects/index.js.map +1 -1
  775. package/dist/utils/_objects/isEmpty.d.ts +6 -0
  776. package/dist/utils/_objects/isEmpty.js +8 -0
  777. package/dist/utils/_objects/isEmpty.js.map +1 -1
  778. package/dist/utils/_objects/isEqual.js.map +1 -1
  779. package/dist/utils/_objects/isNil.d.ts +6 -0
  780. package/dist/utils/_objects/isNil.js +6 -0
  781. package/dist/utils/_objects/isNil.js.map +1 -1
  782. package/dist/utils/_objects/isNotEmpty.d.ts +6 -0
  783. package/dist/utils/_objects/isNotEmpty.js +6 -0
  784. package/dist/utils/_objects/isNotEmpty.js.map +1 -1
  785. package/dist/utils/_objects/parse.d.ts +8 -0
  786. package/dist/utils/_objects/parse.js +8 -0
  787. package/dist/utils/_objects/parse.js.map +1 -1
  788. package/dist/utils/_objects/path.d.ts +6 -0
  789. package/dist/utils/_objects/path.js +7 -0
  790. package/dist/utils/_objects/path.js.map +1 -1
  791. package/dist/utils/_objects/propertyOf.js.map +1 -1
  792. package/dist/utils/_objects/setInPath.js.map +1 -1
  793. package/dist/utils/_objects/stringify.d.ts +9 -0
  794. package/dist/utils/_objects/stringify.js +9 -0
  795. package/dist/utils/_objects/stringify.js.map +1 -1
  796. package/dist/utils/_objects/toPairs.js.map +1 -1
  797. package/dist/utils/arrays.js.map +1 -1
  798. package/dist/utils/dates.d.ts +1 -1
  799. package/dist/utils/dates.js +66 -15
  800. package/dist/utils/dates.js.map +1 -1
  801. package/dist/utils/fileNames.js.map +1 -1
  802. package/dist/utils/fileProcessor.js +5 -1
  803. package/dist/utils/fileProcessor.js.map +1 -1
  804. package/dist/utils/index.js.map +1 -1
  805. package/dist/utils/numbers.js +21 -0
  806. package/dist/utils/numbers.js.map +1 -1
  807. package/dist/utils/promises.js +15 -1
  808. package/dist/utils/promises.js.map +1 -1
  809. package/dist/utils/queue.d.ts +7 -0
  810. package/dist/utils/queue.js +9 -0
  811. package/dist/utils/queue.js.map +1 -1
  812. package/dist/utils/retryProcessor.js +5 -1
  813. package/dist/utils/retryProcessor.js.map +1 -1
  814. package/dist/utils/strings.js.map +1 -1
  815. package/dist/utils/uuids.js.map +1 -1
  816. package/dist/utils/versions.js +4 -0
  817. package/dist/utils/versions.js.map +1 -1
  818. package/dist/validation/factory.js.map +1 -1
  819. package/dist/validation/fieldValidator.js.map +1 -1
  820. package/dist/validation/fieldValidators/email.js +3 -0
  821. package/dist/validation/fieldValidators/email.js.map +1 -1
  822. package/dist/validation/fieldValidators/index.js.map +1 -1
  823. package/dist/validation/fieldValidators/name.js +4 -0
  824. package/dist/validation/fieldValidators/name.js.map +1 -1
  825. package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
  826. package/dist/validation/fieldValidators/numeric.js.map +1 -1
  827. package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
  828. package/dist/validation/fieldValidators/required.js.map +1 -1
  829. package/dist/validation/index.js.map +1 -1
  830. package/dist/validation/validation.js.map +1 -1
  831. package/dist/validation/validationResults.js +1 -1
  832. package/dist/validation/validationResults.js.map +1 -1
  833. package/dist/validation/validations.js +17 -1
  834. package/dist/validation/validations.js.map +1 -1
  835. package/dist/validation/validator.js.map +1 -1
  836. package/dist/validation/validatorErrorKeys.js.map +1 -1
  837. package/package.json +7 -10
@@ -8,24 +8,53 @@ export declare enum NodeMetaKeys {
8
8
  h = "h"
9
9
  }
10
10
  export interface NodeMeta {
11
+ /**
12
+ * Applicability of the node children (by definition UUID). If not defined, the children are applicable by default.
13
+ */
11
14
  childApplicability?: {
12
15
  [uuid: string]: boolean;
13
16
  };
17
+ /**
18
+ * Whether the node children (by definition UUID) are editable (true) or read-only (false).
19
+ * If not defined, the children are editable by default.
20
+ */
14
21
  cEdit?: {
15
22
  [uuid: string]: boolean;
16
23
  };
24
+ /**
25
+ * Maximum number of children (by definition UUID) for the node.
26
+ */
17
27
  childrenMaxCount?: {
18
28
  [uuid: string]: number;
19
29
  };
30
+ /**
31
+ * Minimum number of children (by definition UUID) for the node.
32
+ */
20
33
  childrenMinCount?: {
21
34
  [uuid: string]: number;
22
35
  };
36
+ /**
37
+ * Whether the node children (by definition UUID) are visible (true) or hidden (false).
38
+ * If not defined, the children are visible by default.
39
+ */
23
40
  cVis?: {
24
41
  [uuid: string]: boolean;
25
42
  };
43
+ /**
44
+ * Hierarchy of ancestor node UUIDs.
45
+ */
26
46
  h?: string[];
47
+ /**
48
+ * Hierarchy of code attribute ancestor UUIDs (according to the parent code defs specified).
49
+ */
27
50
  hCode?: string[];
51
+ /**
52
+ * True if the value has been auto-filled from the node default value
53
+ */
28
54
  defaultValueApplied?: boolean;
55
+ /**
56
+ * True if the value has been auto-filled from the user group qualifier
57
+ */
29
58
  qualifierValueApplied?: boolean;
30
59
  }
31
60
  export interface NodeRefData {
@@ -45,8 +74,17 @@ export interface Node {
45
74
  value?: any;
46
75
  placeholder?: boolean;
47
76
  surveyUuid?: string;
77
+ /**
78
+ * Record node has been created but not persisted yet.
79
+ */
48
80
  created?: boolean;
81
+ /**
82
+ * Record node has been deleted.
83
+ */
49
84
  deleted?: boolean;
85
+ /**
86
+ * Record node has been modified but not persisted yet.
87
+ */
50
88
  updated?: boolean;
51
89
  }
52
90
  export interface NodesMap {
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/node/node.ts"],"names":[],"mappings":";;;AAGA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,uBAAO,CAAA;AACT,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/node/node.ts"],"names":[],"mappings":";;;AAGA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,uBAAO,CAAA;AACT,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB","sourcesContent":["import { CategoryItem } from '../category'\nimport { Taxon } from '../taxonomy'\n\nexport enum NodeKeys {\n meta = 'meta',\n value = 'value',\n}\n\nexport enum NodeMetaKeys {\n h = 'h',\n}\n\nexport interface NodeMeta {\n /**\n * Applicability of the node children (by definition UUID). If not defined, the children are applicable by default.\n */\n childApplicability?: { [uuid: string]: boolean }\n /**\n * Whether the node children (by definition UUID) are editable (true) or read-only (false).\n * If not defined, the children are editable by default.\n */\n cEdit?: { [uuid: string]: boolean }\n /**\n * Maximum number of children (by definition UUID) for the node.\n */\n childrenMaxCount?: { [uuid: string]: number }\n /**\n * Minimum number of children (by definition UUID) for the node.\n */\n childrenMinCount?: { [uuid: string]: number }\n /**\n * Whether the node children (by definition UUID) are visible (true) or hidden (false).\n * If not defined, the children are visible by default.\n */\n cVis?: { [uuid: string]: boolean }\n /**\n * Hierarchy of ancestor node UUIDs.\n */\n h?: string[]\n /**\n * Hierarchy of code attribute ancestor UUIDs (according to the parent code defs specified).\n */\n hCode?: string[]\n /**\n * True if the value has been auto-filled from the node default value\n */\n defaultValueApplied?: boolean\n /**\n * True if the value has been auto-filled from the user group qualifier\n */\n qualifierValueApplied?: boolean\n}\n\nexport interface NodeRefData {\n categoryItem?: CategoryItem\n taxon?: Taxon\n}\n\nexport interface Node {\n dateCreated?: string\n dateModified?: string\n id?: number\n meta?: NodeMeta\n nodeDefUuid: string\n parentUuid?: string\n recordUuid: string\n refData?: NodeRefData\n uuid: string\n value?: any\n placeholder?: boolean\n surveyUuid?: string\n\n // transient status variables\n /**\n * Record node has been created but not persisted yet.\n */\n created?: boolean\n /**\n * Record node has been deleted.\n */\n deleted?: boolean\n /**\n * Record node has been modified but not persisted yet.\n */\n updated?: boolean\n}\n\nexport interface NodesMap {\n [key: string]: Node\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodePointer.js","sourceRoot":"","sources":["../../src/node/nodePointer.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"nodePointer.js","sourceRoot":"","sources":["../../src/node/nodePointer.ts"],"names":[],"mappings":"","sourcesContent":["import { Node } from './node'\nimport { NodeDef, NodeDefProps, NodeDefType } from '../nodeDef'\n\nexport interface NodePointer {\n nodeCtx: Node\n nodeDef: NodeDef<NodeDefType, NodeDefProps>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","sourceRoot":"","sources":["../../../src/node/nodeValue/code.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../../src/node/nodeValue/code.ts"],"names":[],"mappings":"","sourcesContent":["import { NodeValueComposite } from './nodeValueComposite'\n\nexport interface NodeValueCode extends NodeValueComposite {\n itemUuid: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"coordinate.js","sourceRoot":"","sources":["../../../src/node/nodeValue/coordinate.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"coordinate.js","sourceRoot":"","sources":["../../../src/node/nodeValue/coordinate.ts"],"names":[],"mappings":"","sourcesContent":["import { NodeValueComposite } from './nodeValueComposite'\n\nexport interface NodeValueCoordinate extends NodeValueComposite {\n srs: string\n x: number\n y: number\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/node/nodeValue/file.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/node/nodeValue/file.ts"],"names":[],"mappings":"","sourcesContent":["import { NodeValueComposite } from './nodeValueComposite'\n\nexport interface NodeValueFile extends NodeValueComposite {\n fileName?: string\n fileNameCalculated?: string\n fileSize?: number\n fileUuid: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/nodeValue/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/nodeValue/index.ts"],"names":[],"mappings":"","sourcesContent":["export type { NodeValueCode } from './code'\nexport type { NodeValueCoordinate } from './coordinate'\nexport type { NodeValueFile } from './file'\nexport type { NodeValueTaxon } from './taxon'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeValueComposite.js","sourceRoot":"","sources":["../../../src/node/nodeValue/nodeValueComposite.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"nodeValueComposite.js","sourceRoot":"","sources":["../../../src/node/nodeValue/nodeValueComposite.ts"],"names":[],"mappings":"","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-empty-object-type -- marker interface extended by composite node values\nexport interface NodeValueComposite {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"taxon.js","sourceRoot":"","sources":["../../../src/node/nodeValue/taxon.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"taxon.js","sourceRoot":"","sources":["../../../src/node/nodeValue/taxon.ts"],"names":[],"mappings":"","sourcesContent":["import { NodeValueComposite } from './nodeValueComposite'\n\nexport interface NodeValueTaxon extends NodeValueComposite {\n taxonUuid: string\n code?: string\n scientificName?: string\n vernacularName?: string\n vernacularNameUuid?: string\n}\n"]}
@@ -14,12 +14,14 @@ const extractCategoryItem = (params) => {
14
14
  if (!itemUuid)
15
15
  return undefined;
16
16
  const item = (_b = (_a = node === null || node === void 0 ? void 0 : node.refData) === null || _a === void 0 ? void 0 : _a.categoryItem) !== null && _b !== void 0 ? _b : survey_1.Surveys.getCategoryItemByUuid({ survey, itemUuid });
17
+ // check the validity of the reference data category item
17
18
  return (item === null || item === void 0 ? void 0 : item.props) && utils_1.Objects.isNotEmpty(category_1.CategoryItems.getCode(item)) ? item : undefined;
18
19
  };
19
20
  const formatters = {
20
21
  [nodeDef_1.NodeDefType.code]: (params) => {
21
22
  const { survey, cycle, nodeDef, node, value, showLabel, quoteLabels, lang } = params;
22
23
  if (!showLabel) {
24
+ // item code already inside value, no need to get category item
23
25
  const itemCode = nodeValues_1.NodeValues.getValueCode(value);
24
26
  if (!utils_1.Objects.isEmpty(itemCode))
25
27
  return itemCode;
@@ -1 +1 @@
1
- {"version":3,"file":"nodeValueFormatter.js","sourceRoot":"","sources":["../../src/node/nodeValueFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeValueFormatter.js","sourceRoot":"","sources":["../../src/node/nodeValueFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { CategoryItem, CategoryItems } from '../category'\nimport { LanguageCode } from '../language'\nimport { NodeDef, NodeDefCode, NodeDefDecimal, NodeDefs, NodeDefType } from '../nodeDef'\nimport { Survey, Surveys } from '../survey'\nimport { Taxa } from '../taxonomy'\nimport { DateFormats, Dates, Numbers, Objects, Strings } from '../utils'\nimport { Node } from './node'\nimport { NodeValues } from './nodeValues'\n\nconst extractCategoryItem = (params: { survey: Survey; node?: Node; value: any }): CategoryItem | undefined => {\n const { survey, node, value } = params\n\n const itemUuid = NodeValues.getValueItemUuid(value)\n if (!itemUuid) return undefined\n\n const item = node?.refData?.categoryItem ?? Surveys.getCategoryItemByUuid({ survey, itemUuid })\n // check the validity of the reference data category item\n return item?.props && Objects.isNotEmpty(CategoryItems.getCode(item)) ? item : undefined\n}\n\ntype FormatParams = {\n survey: Survey\n cycle: string\n nodeDef: NodeDef<NodeDefType>\n node?: Node\n value: any\n showLabel?: boolean\n quoteLabels?: boolean\n lang?: LanguageCode\n}\n\nconst formatters: { [key in NodeDefType]?: (params: FormatParams) => any } = {\n [NodeDefType.code]: (params: FormatParams) => {\n const { survey, cycle, nodeDef, node, value, showLabel, quoteLabels, lang } = params\n\n if (!showLabel) {\n // item code already inside value, no need to get category item\n const itemCode = NodeValues.getValueCode(value)\n if (!Objects.isEmpty(itemCode)) return itemCode\n }\n const categoryItem = extractCategoryItem({ survey, node, value })\n if (!categoryItem) return null\n\n if (showLabel) {\n let result\n if (NodeDefs.isCodeShown(cycle)(nodeDef as NodeDefCode)) {\n result = CategoryItems.getLabelWithCode(categoryItem, lang!)\n } else {\n result = CategoryItems.getLabel(categoryItem, lang!, true)\n }\n return quoteLabels ? Strings.quote(result) : result\n }\n return CategoryItems.getCode(categoryItem)\n },\n [NodeDefType.date]: (params: FormatParams) => {\n const { value } = params\n const dateParsed = Dates.parseISO(value)\n return Dates.format(dateParsed, DateFormats.dateDisplay)\n },\n [NodeDefType.decimal]: (params: FormatParams) => {\n const { value, nodeDef } = params\n return Numbers.formatDecimal(value, NodeDefs.getMaxNumberDecimalDigits(nodeDef as NodeDefDecimal))\n },\n [NodeDefType.integer]: (params: FormatParams) => {\n const { value } = params\n return Numbers.formatInteger(Number(value))\n },\n [NodeDefType.taxon]: (params: FormatParams) => {\n const { survey, value, showLabel } = params\n const taxonUuid = NodeValues.getValueTaxonUuid(value)\n if (!taxonUuid) return null\n const taxon = Surveys.getTaxonByUuid({ survey, taxonUuid })\n if (!taxon) return null\n return showLabel ? Taxa.getScientificName(taxon) : Taxa.getCode(taxon)\n },\n [NodeDefType.text]: (params: FormatParams) => {\n const { value, quoteLabels } = params\n return quoteLabels ? Strings.quote(value) : value\n },\n}\n\nconst format = (params: FormatParams) => {\n const { nodeDef, value } = params\n if (Objects.isEmpty(value)) {\n return ''\n }\n const formatter = formatters[NodeDefs.getType(nodeDef)]\n const formatValue = (v: any) => (formatter ? formatter({ ...params, value: v }) : v)\n\n return NodeDefs.isMultiple(nodeDef) && Array.isArray(value) ? value.map(formatValue).join(', ') : formatValue(value)\n}\n\nexport const NodeValueFormatter = {\n format,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeValueProps.js","sourceRoot":"","sources":["../../src/node/nodeValueProps.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACjB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,+BAAO,CAAA;IACP,+BAAO,CAAA;IACP,mCAAW,CAAA;IACX,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;IACrB,6DAAqC,CAAA;AACvC,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,2DAAyC,CAAA;IACzC,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,oDAAiC,CAAA;IACjC,0CAAuB,CAAA;IACvB,oDAAiC,CAAA;IACjC,4DAAyC,CAAA;AAC3C,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"nodeValueProps.js","sourceRoot":"","sources":["../../src/node/nodeValueProps.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACjB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,+BAAO,CAAA;IACP,+BAAO,CAAA;IACP,mCAAW,CAAA;IACX,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;IACrB,6DAAqC,CAAA;AACvC,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,2DAAyC,CAAA;IACzC,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,oDAAiC,CAAA;IACjC,0CAAuB,CAAA;IACvB,oDAAiC,CAAA;IACjC,4DAAyC,CAAA;AAC3C,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB","sourcesContent":["export enum ValuePropsCode {\n code = 'code',\n itemUuid = 'itemUuid',\n label = 'label',\n}\n\nexport enum ValuePropsCoordinate {\n x = 'x',\n y = 'y',\n srs = 'srs',\n accuracy = 'accuracy',\n altitude = 'altitude',\n altitudeAccuracy = 'altitudeAccuracy',\n}\n\nexport enum ValuePropsDate {\n day = 'day',\n month = 'month',\n year = 'year',\n}\n\nexport enum ValuePropsFile {\n fileUuid = 'fileUuid',\n fileName = 'fileName',\n fileNameCalculated = 'fileNameCalculated',\n fileSize = 'fileSize',\n}\n\nexport enum ValuePropsTaxon {\n code = 'code',\n scientificName = 'scientificName',\n taxonUuid = 'taxonUuid',\n vernacularName = 'vernacularName',\n vernacularNameUuid = 'vernacularNameUuid',\n}\n\nexport enum ValuePropsTime {\n hour = 'hour',\n minute = 'minute',\n seconds = 'seconds',\n}\n"]}
@@ -4,6 +4,10 @@ import { Record } from '../record';
4
4
  import { Survey } from '../survey';
5
5
  import { Node } from './node';
6
6
  import { ValuePropsCode, ValuePropsCoordinate, ValuePropsDate, ValuePropsFile, ValuePropsTaxon, ValuePropsTime } from './nodeValueProps';
7
+ /**
8
+ * Props of node value indexed by node def type.
9
+ * The node definitions here are only the ones of "composite" attributes.
10
+ */
7
11
  export declare const ValuePropsByType: {
8
12
  [key in NodeDefType]: {
9
13
  [key: string]: string;
@@ -8,6 +8,10 @@ const record_1 = require("../record");
8
8
  const survey_1 = require("../survey");
9
9
  const utils_1 = require("../utils");
10
10
  const nodeValueProps_1 = require("./nodeValueProps");
11
+ /**
12
+ * Props of node value indexed by node def type.
13
+ * The node definitions here are only the ones of "composite" attributes.
14
+ */
11
15
  exports.ValuePropsByType = {
12
16
  [nodeDef_1.NodeDefType.boolean]: null,
13
17
  [nodeDef_1.NodeDefType.code]: nodeValueProps_1.ValuePropsCode,
@@ -21,6 +25,7 @@ exports.ValuePropsByType = {
21
25
  [nodeDef_1.NodeDefType.taxon]: nodeValueProps_1.ValuePropsTaxon,
22
26
  [nodeDef_1.NodeDefType.time]: nodeValueProps_1.ValuePropsTime,
23
27
  [nodeDef_1.NodeDefType.text]: null,
28
+ // layout elements
24
29
  [nodeDef_1.NodeDefType.formHeader]: null,
25
30
  };
26
31
  const getValuePropRaw = (params) => {
@@ -32,6 +37,7 @@ const getNodeValuePropRaw = (params) => {
32
37
  const { node, prop, defaultValue } = params;
33
38
  return getValuePropRaw({ value: node.value, prop, defaultValue });
34
39
  };
40
+ // Code
35
41
  const newCodeValue = (params) => {
36
42
  const { itemUuid } = params;
37
43
  return { [nodeValueProps_1.ValuePropsCode[nodeValueProps_1.ValuePropsCode.itemUuid]]: itemUuid };
@@ -44,6 +50,7 @@ const getDateTimePart = (params) => {
44
50
  const { node, index, separator } = params;
45
51
  return Number((_b = ((_a = node.value) !== null && _a !== void 0 ? _a : '').split(separator)[index]) === null || _b === void 0 ? void 0 : _b.trim());
46
52
  };
53
+ // Date
47
54
  const getDatePart = (index) => (node) => getDateTimePart({ node, index, separator: '-' });
48
55
  const getDateYear = getDatePart(0);
49
56
  const getDateMonth = getDatePart(1);
@@ -53,10 +60,12 @@ const _datePropGetters = {
53
60
  [nodeValueProps_1.ValuePropsDate.month]: getDateMonth,
54
61
  [nodeValueProps_1.ValuePropsDate.year]: getDateYear,
55
62
  };
63
+ // File
56
64
  const getFileName = (node) => getNodeValuePropRaw({ node, prop: nodeValueProps_1.ValuePropsFile.fileName });
57
65
  const getFileNameCalculated = (node) => getNodeValuePropRaw({ node, prop: nodeValueProps_1.ValuePropsFile.fileNameCalculated });
58
66
  const getFileSize = (node) => getNodeValuePropRaw({ node, prop: nodeValueProps_1.ValuePropsFile.fileSize });
59
67
  const getFileUuid = (node) => getNodeValuePropRaw({ node, prop: nodeValueProps_1.ValuePropsFile.fileUuid });
68
+ // Taxon
60
69
  const getTaxonUuid = (node) => getNodeValuePropRaw({ node, prop: nodeValueProps_1.ValuePropsTaxon[nodeValueProps_1.ValuePropsTaxon.taxonUuid] });
61
70
  const getValueTaxonUuid = (value) => getValuePropRaw({ value, prop: nodeValueProps_1.ValuePropsTaxon[nodeValueProps_1.ValuePropsTaxon.taxonUuid] });
62
71
  const getScientificName = (node) => getNodeValuePropRaw({ node, prop: nodeValueProps_1.ValuePropsTaxon[nodeValueProps_1.ValuePropsTaxon.scientificName] });
@@ -65,6 +74,7 @@ const getVernacularName = (node) => getNodeValuePropRaw({ node, prop: nodeValueP
65
74
  const getValueVernacularName = (value) => getValuePropRaw({ value, prop: nodeValueProps_1.ValuePropsTaxon[nodeValueProps_1.ValuePropsTaxon.vernacularName] });
66
75
  const getVernacularNameUuid = (node) => getNodeValuePropRaw({ node, prop: nodeValueProps_1.ValuePropsTaxon[nodeValueProps_1.ValuePropsTaxon.vernacularNameUuid] });
67
76
  const getValueVernacularNameUuid = (value) => getValuePropRaw({ value, prop: nodeValueProps_1.ValuePropsTaxon[nodeValueProps_1.ValuePropsTaxon.vernacularNameUuid] });
77
+ // Time
68
78
  const _getTimePart = (index) => (node) => getDateTimePart({ node, index, separator: ':' });
69
79
  const getTimeHour = _getTimePart(0);
70
80
  const getTimeMinute = _getTimePart(1);
@@ -92,6 +102,7 @@ const getNodeValueProp = (params) => {
92
102
  const propGetter = _valuePropGetters[nodeDef.type];
93
103
  return propGetter ? propGetter(prop)(node) : getNodeValuePropRaw({ node, prop });
94
104
  };
105
+ // value compare
95
106
  const singlePropValueEqualComparator = (params) => {
96
107
  const { value, valueSearch } = params;
97
108
  return value === valueSearch || String(value) === String(valueSearch);
@@ -103,6 +114,7 @@ const extractCategoryItemUuidFromValue = (params) => {
103
114
  if (valueItemUuid) {
104
115
  return valueItemUuid;
105
116
  }
117
+ // find itemUuid by code
106
118
  const valueCode = getValueCode(value);
107
119
  if (utils_1.Objects.isEmpty(valueCode))
108
120
  return undefined;
@@ -156,6 +168,7 @@ const valueComparatorByNodeDefType = {
156
168
  [nodeDef_1.NodeDefType.code]: (params) => {
157
169
  const { survey, record, value, valueSearch, strict } = params;
158
170
  if (!strict || !record) {
171
+ // compare just codes (record not available, tricky to find the "correct" category item without knowing its parent item)
159
172
  const code = extractCategoryItemCodeFromValue({ survey, value });
160
173
  const codeSearch = extractCategoryItemCodeFromValue({ survey, value: valueSearch });
161
174
  return !!code && !!codeSearch && code === codeSearch;
@@ -226,18 +239,23 @@ exports.NodeValues = {
226
239
  ValuePropsTime: nodeValueProps_1.ValuePropsTime,
227
240
  getNodeValueProp,
228
241
  isValueProp,
242
+ // coordinate
229
243
  getValueAsPoint,
244
+ // code
230
245
  newCodeValue,
231
246
  getItemUuid,
232
247
  getValueCode,
233
248
  getValueItemUuid,
249
+ // date
234
250
  getDateYear,
235
251
  getDateMonth,
236
252
  getDateDay,
253
+ // file
237
254
  getFileName,
238
255
  getFileNameCalculated,
239
256
  getFileSize,
240
257
  getFileUuid,
258
+ // taxon
241
259
  getTaxonUuid,
242
260
  getValueTaxonUuid,
243
261
  getScientificName,
@@ -246,9 +264,11 @@ exports.NodeValues = {
246
264
  getValueVernacularName,
247
265
  getVernacularNameUuid,
248
266
  getValueVernacularNameUuid,
267
+ // time
249
268
  getTimeHour,
250
269
  getTimeMinute,
251
270
  getTimeSeconds,
271
+ // utils
252
272
  isValueEqual,
253
273
  };
254
274
  //# sourceMappingURL=nodeValues.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeValues.js","sourceRoot":"","sources":["../../src/node/nodeValues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeValues.js","sourceRoot":"","sources":["../../src/node/nodeValues.ts"],"names":[],"mappings":"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","sourcesContent":["import { CategoryItems } from '../category'\nimport { Point, PointFactory } from '../geo'\nimport { NodeDef, NodeDefCode, NodeDefProps, NodeDefType } from '../nodeDef'\nimport { Record, Records } from '../record'\nimport { Survey, Surveys } from '../survey'\nimport { DateFormats, Dates, Objects } from '../utils'\nimport { Node } from './node'\nimport { NodeValueCoordinate } from './nodeValue/coordinate'\nimport {\n ValuePropsCode,\n ValuePropsCoordinate,\n ValuePropsDate,\n ValuePropsFile,\n ValuePropsTaxon,\n ValuePropsTime,\n} from './nodeValueProps'\n\n/**\n * Props of node value indexed by node def type.\n * The node definitions here are only the ones of \"composite\" attributes.\n */\nexport const ValuePropsByType: { [key in NodeDefType]: { [key: string]: string } | null } = {\n [NodeDefType.boolean]: null,\n [NodeDefType.code]: ValuePropsCode,\n [NodeDefType.coordinate]: ValuePropsCoordinate,\n [NodeDefType.date]: ValuePropsDate,\n [NodeDefType.decimal]: null,\n [NodeDefType.geo]: null,\n [NodeDefType.entity]: null,\n [NodeDefType.file]: ValuePropsFile,\n [NodeDefType.integer]: null,\n [NodeDefType.taxon]: ValuePropsTaxon,\n [NodeDefType.time]: ValuePropsTime,\n [NodeDefType.text]: null,\n // layout elements\n [NodeDefType.formHeader]: null,\n}\n\nconst getValuePropRaw = (params: { value: any; prop: string; defaultValue?: any }): any => {\n const { value, prop, defaultValue } = params\n const valueProp = value?.[prop]\n return valueProp === undefined ? defaultValue : valueProp\n}\n\nconst getNodeValuePropRaw = (params: { node: Node; prop: string; defaultValue?: any }): any => {\n const { node, prop, defaultValue } = params\n return getValuePropRaw({ value: node.value, prop, defaultValue })\n}\n\n// Code\nconst newCodeValue = (params: { itemUuid: string }) => {\n const { itemUuid } = params\n return { [ValuePropsCode[ValuePropsCode.itemUuid]]: itemUuid }\n}\n\nconst getItemUuid = (node: Node): string | undefined =>\n getNodeValuePropRaw({ node, prop: ValuePropsCode[ValuePropsCode.itemUuid] })\n\nconst getValueCode = (value: any): string | undefined =>\n getValuePropRaw({ value, prop: ValuePropsCode[ValuePropsCode.code] })\n\nconst getValueItemUuid = (value: any): string | undefined =>\n getValuePropRaw({ value, prop: ValuePropsCode[ValuePropsCode.itemUuid] })\n\nconst getDateTimePart = (params: { node: Node; index: number; separator: string }): number => {\n const { node, index, separator } = params\n return Number((node.value ?? '').split(separator)[index]?.trim())\n}\n\n// Date\nconst getDatePart =\n (index: number) =>\n (node: Node): number =>\n getDateTimePart({ node, index, separator: '-' })\nconst getDateYear = getDatePart(0)\nconst getDateMonth = getDatePart(1)\nconst getDateDay = getDatePart(2)\n\nconst _datePropGetters: { [key in ValuePropsDate]: (node: Node) => number } = {\n [ValuePropsDate.day]: getDateDay,\n [ValuePropsDate.month]: getDateMonth,\n [ValuePropsDate.year]: getDateYear,\n}\n\n// File\nconst getFileName = (node: Node): string | undefined => getNodeValuePropRaw({ node, prop: ValuePropsFile.fileName })\nconst getFileNameCalculated = (node: Node): string | undefined =>\n getNodeValuePropRaw({ node, prop: ValuePropsFile.fileNameCalculated })\nconst getFileSize = (node: Node): string | undefined => getNodeValuePropRaw({ node, prop: ValuePropsFile.fileSize })\nconst getFileUuid = (node: Node): string | undefined => getNodeValuePropRaw({ node, prop: ValuePropsFile.fileUuid })\n\n// Taxon\nconst getTaxonUuid = (node: Node): string | undefined =>\n getNodeValuePropRaw({ node, prop: ValuePropsTaxon[ValuePropsTaxon.taxonUuid] })\nconst getValueTaxonUuid = (value: any): string | undefined =>\n getValuePropRaw({ value, prop: ValuePropsTaxon[ValuePropsTaxon.taxonUuid] })\nconst getScientificName = (node: Node): string | undefined =>\n getNodeValuePropRaw({ node, prop: ValuePropsTaxon[ValuePropsTaxon.scientificName] })\nconst getValueScientificName = (value: any): string | undefined =>\n getValuePropRaw({ value, prop: ValuePropsTaxon[ValuePropsTaxon.scientificName] })\nconst getVernacularName = (node: Node): string | undefined =>\n getNodeValuePropRaw({ node, prop: ValuePropsTaxon[ValuePropsTaxon.vernacularName] })\nconst getValueVernacularName = (value: any): string | undefined =>\n getValuePropRaw({ value, prop: ValuePropsTaxon[ValuePropsTaxon.vernacularName] })\nconst getVernacularNameUuid = (node: Node): string | undefined =>\n getNodeValuePropRaw({ node, prop: ValuePropsTaxon[ValuePropsTaxon.vernacularNameUuid] })\nconst getValueVernacularNameUuid = (value: any): string | undefined =>\n getValuePropRaw({ value, prop: ValuePropsTaxon[ValuePropsTaxon.vernacularNameUuid] })\n\n// Time\nconst _getTimePart =\n (index: number) =>\n (node: Node): number =>\n getDateTimePart({ node, index, separator: ':' })\nconst getTimeHour = _getTimePart(0)\nconst getTimeMinute = _getTimePart(1)\nconst getTimeSeconds = (node: Node): number => {\n const parts = (node.value ?? '').split(':')\n return parts.length > 2 ? _getTimePart(2)(node) : 0\n}\n\nconst _timePropGetters: { [key in ValuePropsTime]: any } = {\n [ValuePropsTime.hour]: getTimeHour,\n [ValuePropsTime.minute]: getTimeMinute,\n [ValuePropsTime.seconds]: getTimeSeconds,\n}\n\nconst _valuePropGetters: { [key in NodeDefType]?: (prop: string) => (node: Node) => number } = {\n [NodeDefType.date]: (prop: string) => _datePropGetters[ValuePropsDate[prop as keyof typeof ValuePropsDate]],\n [NodeDefType.time]: (prop: string) => _timePropGetters[ValuePropsTime[prop as keyof typeof ValuePropsTime]],\n}\n\nconst isValueProp = (params: { nodeDef: NodeDef<NodeDefType, NodeDefProps>; prop: string }): boolean => {\n const { nodeDef, prop } = params\n return Object.values(ValuePropsByType[nodeDef.type] ?? {}).includes(prop)\n}\n\nconst getNodeValueProp = (params: { nodeDef: NodeDef<NodeDefType, NodeDefProps>; node: Node; prop: string }): any => {\n const { nodeDef, node, prop } = params\n const propGetter: any = _valuePropGetters[nodeDef.type]\n return propGetter ? propGetter(prop)(node) : getNodeValuePropRaw({ node, prop })\n}\n\n// value compare\n\nconst singlePropValueEqualComparator = (params: NodeValuesCompareParams): boolean => {\n const { value, valueSearch } = params\n return value === valueSearch || String(value) === String(valueSearch)\n}\n\nconst extractCategoryItemUuidFromValue = (params: NodeValuesCompareParams): string | undefined => {\n const { survey, nodeDef, record, parentNode, value } = params\n const valueItemUuid = getValueItemUuid(value)\n if (valueItemUuid) {\n return valueItemUuid\n }\n // find itemUuid by code\n const valueCode = getValueCode(value)\n if (Objects.isEmpty(valueCode)) return undefined\n\n const nodeDefCode = nodeDef as NodeDefCode\n const code = valueCode!\n const categoryUuid = nodeDefCode.props?.categoryUuid\n const levelIndex = Surveys.getNodeDefCategoryLevelIndex({ survey, nodeDef: nodeDefCode })\n if (levelIndex === 0) {\n return Surveys.getCategoryItemUuidByCode({ survey, categoryUuid, parentItemUuid: undefined, code })\n }\n if (!record || !parentNode) return undefined\n\n const parentCodeAttribute = Records.getParentCodeAttribute({ parentNode, nodeDef: nodeDef as NodeDefCode })(record)\n if (!parentCodeAttribute) return undefined\n\n const parentItemUuid = getItemUuid(parentCodeAttribute)\n if (!parentItemUuid) return undefined\n\n return Surveys.getCategoryItemUuidByCode({\n survey,\n categoryUuid,\n parentItemUuid,\n code,\n })\n}\n\nconst extractCategoryItemCodeFromValue = (params: { survey: Survey; value: any }): string | undefined => {\n const { survey, value } = params\n const itemUuid = getValueItemUuid(value)\n if (itemUuid) {\n const item = Surveys.getCategoryItemByUuid({ survey, itemUuid })\n return item ? CategoryItems.getCode(item) : undefined\n }\n return getValueCode(value)\n}\n\nconst dateTimeComparator =\n (params: { formatsSource: DateFormats[]; formatTo: DateFormats }) =>\n (paramsComparator: NodeValuesCompareParams): boolean => {\n const { formatsSource, formatTo } = params\n const { value, valueSearch } = paramsComparator\n const toDateTime = (val: any) => {\n if (val instanceof Date) {\n return Dates.format(val, formatTo)\n }\n const formatFrom = formatsSource.find((format) => Dates.isValidDateInFormat(val, format))\n return formatFrom ? Dates.convertDate({ dateStr: val, formatFrom, formatTo }) : null\n }\n const dateTime = toDateTime(value)\n const dateTimeSearch = toDateTime(valueSearch)\n return !!dateTime && !!dateTimeSearch && dateTime === dateTimeSearch\n }\n\nconst valueComparatorByNodeDefType: { [key in NodeDefType]?: (params: NodeValuesCompareParams) => boolean } = {\n [NodeDefType.boolean]: singlePropValueEqualComparator,\n [NodeDefType.code]: (params: NodeValuesCompareParams): boolean => {\n const { survey, record, value, valueSearch, strict } = params\n if (!strict || !record) {\n // compare just codes (record not available, tricky to find the \"correct\" category item without knowing its parent item)\n const code = extractCategoryItemCodeFromValue({ survey, value })\n const codeSearch = extractCategoryItemCodeFromValue({ survey, value: valueSearch })\n return !!code && !!codeSearch && code === codeSearch\n }\n const itemUuid = extractCategoryItemUuidFromValue(params)\n const itemUuidSearch = extractCategoryItemUuidFromValue({\n ...params,\n value: valueSearch,\n })\n return !!itemUuidSearch && !!itemUuid && itemUuidSearch === itemUuid\n },\n [NodeDefType.coordinate]: (params: NodeValuesCompareParams) => {\n const { value, valueSearch } = params\n return Objects.isEqual(value, valueSearch)\n },\n [NodeDefType.date]: dateTimeComparator({\n formatsSource: [DateFormats.dateDisplay, DateFormats.dateStorage],\n formatTo: DateFormats.dateStorage,\n }),\n [NodeDefType.decimal]: singlePropValueEqualComparator,\n [NodeDefType.integer]: singlePropValueEqualComparator,\n [NodeDefType.taxon]: ({ value, valueSearch }) => {\n if (value === valueSearch) return true\n if (!value) return false\n if (!valueSearch) return false\n return value[ValuePropsTaxon.taxonUuid] === valueSearch[ValuePropsTaxon.taxonUuid]\n },\n [NodeDefType.text]: singlePropValueEqualComparator,\n [NodeDefType.time]: dateTimeComparator({\n formatsSource: [DateFormats.timeStorage, DateFormats.timeWithSeconds],\n formatTo: DateFormats.timeWithSeconds,\n }),\n}\n\ninterface NodeValuesCompareParams {\n survey: Survey\n nodeDef: NodeDef<NodeDefType, any>\n value: any\n valueSearch: any\n record?: Record\n parentNode?: Node\n strict?: boolean\n}\n\nconst isValueEqual = (params: NodeValuesCompareParams): boolean => {\n const { survey, nodeDef, value, valueSearch, record = undefined, parentNode = undefined, strict = false } = params\n if (value === valueSearch) return true\n if (Objects.isEmpty(value) || Objects.isEmpty(valueSearch)) return false\n\n const valueComparator = valueComparatorByNodeDefType[nodeDef.type]\n if (!valueComparator) {\n return Objects.isEqual(value, valueSearch)\n }\n return valueComparator({ survey, nodeDef, record, parentNode, value, valueSearch, strict })\n}\n\nconst getValueAsPoint = (params: { survey: Survey; node: Node }): Point | null => {\n const { survey, node } = params\n const nodeValue = node?.value\n\n if (!nodeValue) return null\n\n const nodeDef = Surveys.getNodeDefByUuid({ survey, uuid: node.nodeDefUuid })\n if (nodeDef.type === NodeDefType.coordinate) {\n const { x, y, srs } = nodeValue as NodeValueCoordinate\n\n const srsObject = Surveys.getSRSByCode(srs)(survey)\n if (!srsObject) return null\n\n return PointFactory.createInstance({ srs, x, y })\n }\n return null\n}\n\nexport const NodeValues = {\n ValuePropsByType,\n ValuePropsCode,\n ValuePropsCoordinate,\n ValuePropsDate,\n ValuePropsFile,\n ValuePropsTaxon,\n ValuePropsTime,\n\n getNodeValueProp,\n isValueProp,\n\n // coordinate\n getValueAsPoint,\n\n // code\n newCodeValue,\n getItemUuid,\n getValueCode,\n getValueItemUuid,\n\n // date\n getDateYear,\n getDateMonth,\n getDateDay,\n\n // file\n getFileName,\n getFileNameCalculated,\n getFileSize,\n getFileUuid,\n\n // taxon\n getTaxonUuid,\n getValueTaxonUuid,\n getScientificName,\n getValueScientificName,\n getVernacularName,\n getValueVernacularName,\n getVernacularNameUuid,\n getValueVernacularNameUuid,\n\n // time\n getTimeHour,\n getTimeMinute,\n getTimeSeconds,\n\n // utils\n isValueEqual,\n}\n"]}
@@ -18,14 +18,17 @@ const isRoot = (node) => !node.parentUuid;
18
18
  const areEqual = (nodeA, nodeB) => nodeA.uuid === nodeB.uuid;
19
19
  const isChildApplicable = (node, nodeDefUuid) => {
20
20
  var _a, _b;
21
+ // if child applicability is not defined for a node definition, consider it applicable
21
22
  return ((_b = (_a = node.meta) === null || _a === void 0 ? void 0 : _a.childApplicability) === null || _b === void 0 ? void 0 : _b[nodeDefUuid]) !== false;
22
23
  };
23
24
  const isChildEditable = (node, nodeDefUuid) => {
24
25
  var _a, _b;
26
+ // if child editability is not defined for a node definition, consider it editable
25
27
  return ((_b = (_a = node.meta) === null || _a === void 0 ? void 0 : _a.cEdit) === null || _b === void 0 ? void 0 : _b[nodeDefUuid]) !== false;
26
28
  };
27
29
  const isChildVisible = (node, nodeDefUuid) => {
28
30
  var _a, _b;
31
+ // if child visibility is not defined for a node definition, consider it visible
29
32
  return ((_b = (_a = node.meta) === null || _a === void 0 ? void 0 : _a.cVis) === null || _b === void 0 ? void 0 : _b[nodeDefUuid]) !== false;
30
33
  };
31
34
  const getChildrenMinOrMaxCount = (params) => {
@@ -35,6 +38,7 @@ const getChildrenMinOrMaxCount = (params) => {
35
38
  const count = countIndex === null || countIndex === void 0 ? void 0 : countIndex[nodeDef.uuid];
36
39
  if (!utils_1.Objects.isEmpty(count))
37
40
  return count;
41
+ // count can be a constant value, specified in the node def min/max count prop
38
42
  const nodeDefCount = countType === nodeDef_1.NodeDefCountType.max ? nodeDef_1.NodeDefs.getMaxCount(nodeDef) : nodeDef_1.NodeDefs.getMinCount(nodeDef);
39
43
  return nodeDefCount ? Number(nodeDefCount) : Number.NaN;
40
44
  };
@@ -108,6 +112,7 @@ const assocChildrenCount = (params) => {
108
112
  const assocChildrenMaxCount = (params) => assocChildrenCount(Object.assign(Object.assign({}, params), { countType: nodeDef_1.NodeDefCountType.max }));
109
113
  const assocChildrenMinCount = (params) => assocChildrenCount(Object.assign(Object.assign({}, params), { countType: nodeDef_1.NodeDefCountType.min }));
110
114
  const clearStatusFlagsInPlace = (node) => {
115
+ // do not use "delete": it would switch the node object to the (much bigger) V8 dictionary mode
111
116
  if (node.created !== undefined)
112
117
  node.created = undefined;
113
118
  if (node.deleted !== undefined)
@@ -128,6 +133,7 @@ const assocValue = (node, value, sideEffect = false) => {
128
133
  nodeUpdated.updated = true;
129
134
  nodeUpdated.dateModified = utils_1.Dates.nowFormattedForStorage();
130
135
  if (isDefaultValueApplied(nodeUpdated) || isQualifierValueApplied(nodeUpdated)) {
136
+ // reset defaultValueApplied and qualifierValueApplied flags
131
137
  const metaOriginal = (_a = nodeUpdated.meta) !== null && _a !== void 0 ? _a : {};
132
138
  const meta = sideEffect ? metaOriginal : Object.assign({}, metaOriginal);
133
139
  nodeUpdated.meta = Object.assign(Object.assign({}, meta), { defaultValueApplied: false, qualifierValueApplied: false });
@@ -150,6 +156,7 @@ exports.Nodes = {
150
156
  isValueBlank,
151
157
  isValueNotBlank,
152
158
  hasUserInputValue,
159
+ // update
153
160
  assocChildApplicability,
154
161
  dissocChildApplicability,
155
162
  assocChildEditable,
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/node/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/node/nodes.ts"],"names":[],"mappings":"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","sourcesContent":["import { Dictionary } from '../common'\nimport { NodeDef, NodeDefCountType, NodeDefs } from '../nodeDef'\nimport { Dates, Objects } from '../utils'\nimport { Node } from './node'\n\nconst isRoot = (node: Node): boolean => !node.parentUuid\n\nconst areEqual = (nodeA: Node, nodeB: Node): boolean => nodeA.uuid === nodeB.uuid\n\nconst isChildApplicable = (node: Node, nodeDefUuid: string): boolean => {\n // if child applicability is not defined for a node definition, consider it applicable\n return node.meta?.childApplicability?.[nodeDefUuid] !== false\n}\n\nconst isChildEditable = (node: Node, nodeDefUuid: string): boolean => {\n // if child editability is not defined for a node definition, consider it editable\n return node.meta?.cEdit?.[nodeDefUuid] !== false\n}\n\nconst isChildVisible = (node: Node, nodeDefUuid: string): boolean => {\n // if child visibility is not defined for a node definition, consider it visible\n return node.meta?.cVis?.[nodeDefUuid] !== false\n}\n\nconst getChildrenMinOrMaxCount = (params: {\n parentNode: Node\n nodeDef: NodeDef<any>\n countType: NodeDefCountType\n}): number => {\n const { parentNode, nodeDef, countType } = params\n const countIndex =\n countType === NodeDefCountType.max ? parentNode.meta?.childrenMaxCount : parentNode.meta?.childrenMinCount\n\n const count = countIndex?.[nodeDef.uuid]\n if (!Objects.isEmpty(count)) return count!\n\n // count can be a constant value, specified in the node def min/max count prop\n const nodeDefCount =\n countType === NodeDefCountType.max ? NodeDefs.getMaxCount(nodeDef) : NodeDefs.getMinCount(nodeDef)\n return nodeDefCount ? Number(nodeDefCount) : Number.NaN\n}\n\nconst getChildrenMaxCount = (params: { parentNode: Node; nodeDef: NodeDef<any> }): number =>\n getChildrenMinOrMaxCount({ ...params, countType: NodeDefCountType.max })\n\nconst getChildrenMinCount = (params: { parentNode: Node; nodeDef: NodeDef<any> }): number =>\n getChildrenMinOrMaxCount({ ...params, countType: NodeDefCountType.min })\n\nconst getHierarchy = (node: Node): string[] => [...(node.meta?.h ?? [])]\n\nconst getHierarchyCode = (node: Node): string[] => [...(node.meta?.hCode ?? [])]\n\nconst mergeNodes = (target: Node, ...sources: Node[] | object[]): Node =>\n Objects.deepMerge(target, ...sources) as unknown as Node\n\nconst isDefaultValueApplied = (node: Node): boolean => node?.meta?.defaultValueApplied ?? false\n\nconst isQualifierValueApplied = (node: Node): boolean => node?.meta?.qualifierValueApplied ?? false\n\nconst isValueBlank = (node: Node): boolean => Objects.isEmpty(node.value)\n\nconst isValueNotBlank = (node: Node): boolean => Objects.isNotEmpty(node.value)\n\nconst hasUserInputValue = (node: Node): boolean =>\n node && !isValueBlank(node) && !isDefaultValueApplied(node) && !isQualifierValueApplied(node)\n\nconst assocChildApplicability = (node: Node, nodeDefUuid: string, applicable: boolean): Node => {\n const childApplicability = { ...node.meta?.childApplicability }\n if (!applicable) {\n childApplicability[nodeDefUuid] = applicable\n } else {\n delete childApplicability[nodeDefUuid]\n }\n return {\n ...node,\n meta: { ...node.meta, childApplicability },\n updated: true,\n dateModified: Dates.nowFormattedForStorage(),\n }\n}\n\nconst dissocChildApplicability = (node: Node, nodeDefUuid: string) => {\n const childApplicability = { ...node.meta?.childApplicability }\n delete childApplicability[nodeDefUuid]\n return {\n ...node,\n meta: { ...node.meta, childApplicability },\n }\n}\n\ntype MetaBooleanDictionaryProp = 'childApplicability' | 'cEdit' | 'cVis'\n\nconst updateMetaDictionary = ({\n node,\n nodeDefUuid,\n propName,\n propValue,\n sideEffect,\n}: {\n node: Node\n nodeDefUuid: string\n propName: MetaBooleanDictionaryProp\n propValue: any\n sideEffect: boolean\n}): Node => {\n const nodeUpdated = sideEffect ? node : { ...node }\n const metaOriginal = nodeUpdated.meta ?? {}\n const meta = sideEffect ? metaOriginal : { ...metaOriginal }\n const existingDictionary: Dictionary<boolean> = meta[propName] ?? {}\n const dictionary = sideEffect ? existingDictionary : { ...existingDictionary }\n if (propValue) {\n delete dictionary[nodeDefUuid]\n } else {\n dictionary[nodeDefUuid] = propValue\n }\n meta[propName] = dictionary\n nodeUpdated.meta = meta\n nodeUpdated.updated = true\n nodeUpdated.dateModified = Dates.nowFormattedForStorage()\n return nodeUpdated\n}\n\nconst assocChildEditable = (node: Node, nodeDefUuid: string, editable: boolean, sideEffect = false): Node =>\n updateMetaDictionary({ node, nodeDefUuid, propName: 'cEdit', propValue: editable, sideEffect })\n\nconst assocChildVisible = (node: Node, nodeDefUuid: string, visible: boolean, sideEffect = false): Node =>\n updateMetaDictionary({ node, nodeDefUuid, propName: 'cVis', propValue: visible, sideEffect })\n\nconst assocChildrenCount = (params: {\n node: Node\n nodeDefUuid: string\n count: number\n countType: NodeDefCountType\n}): Node => {\n const { node, nodeDefUuid, count, countType } = params\n const countIndex = {\n ...(countType === NodeDefCountType.max ? node.meta?.childrenMaxCount : node.meta?.childrenMinCount),\n }\n if (Number.isNaN(count)) {\n delete countIndex[nodeDefUuid]\n } else {\n countIndex[nodeDefUuid] = count\n }\n const metaUpdated = { ...node.meta }\n if (countType === NodeDefCountType.max) {\n metaUpdated.childrenMaxCount = countIndex\n } else {\n metaUpdated.childrenMinCount = countIndex\n }\n return {\n ...node,\n meta: metaUpdated,\n updated: true,\n dateModified: Dates.nowFormattedForStorage(),\n }\n}\n\nconst assocChildrenMaxCount = (params: { node: Node; nodeDefUuid: string; count: number }): Node =>\n assocChildrenCount({ ...params, countType: NodeDefCountType.max })\n\nconst assocChildrenMinCount = (params: { node: Node; nodeDefUuid: string; count: number }): Node =>\n assocChildrenCount({ ...params, countType: NodeDefCountType.min })\n\nconst clearStatusFlagsInPlace = (node: Node): Node => {\n // do not use \"delete\": it would switch the node object to the (much bigger) V8 dictionary mode\n if (node.created !== undefined) node.created = undefined\n if (node.deleted !== undefined) node.deleted = undefined\n if (node.updated !== undefined) node.updated = undefined\n return node\n}\n\nconst omitStatusFlags = (node: Node): Node => {\n const { created: _created, deleted: _deleted, updated: _updated, ...nodeCleaned } = node\n return nodeCleaned\n}\n\nconst removeStatusFlags = ({ node, sideEffect = false }: { node: Node; sideEffect?: boolean }): Node =>\n sideEffect ? clearStatusFlagsInPlace(node) : omitStatusFlags(node)\n\nconst assocValue = (node: Node, value: any, sideEffect = false): Node => {\n const nodeUpdated = sideEffect ? node : { ...node }\n nodeUpdated.value = value\n nodeUpdated.updated = true\n nodeUpdated.dateModified = Dates.nowFormattedForStorage()\n if (isDefaultValueApplied(nodeUpdated) || isQualifierValueApplied(nodeUpdated)) {\n // reset defaultValueApplied and qualifierValueApplied flags\n const metaOriginal = nodeUpdated.meta ?? {}\n const meta = sideEffect ? metaOriginal : { ...metaOriginal }\n nodeUpdated.meta = { ...meta, defaultValueApplied: false, qualifierValueApplied: false }\n }\n return nodeUpdated\n}\n\nexport const Nodes = {\n isRoot,\n areEqual,\n isChildApplicable,\n isChildEditable,\n isChildVisible,\n getChildrenMinOrMaxCount,\n getChildrenMaxCount,\n getChildrenMinCount,\n getHierarchy,\n getHierarchyCode,\n isDefaultValueApplied,\n isQualifierValueApplied,\n isValueBlank,\n isValueNotBlank,\n hasUserInputValue,\n // update\n assocChildApplicability,\n dissocChildApplicability,\n assocChildEditable,\n assocChildVisible,\n assocChildrenCount,\n assocChildrenMaxCount,\n assocChildrenMinCount,\n mergeNodes,\n removeStatusFlags,\n assocValue,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/node/service.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/node/service.ts"],"names":[],"mappings":"","sourcesContent":["import { User } from '../auth'\nimport { Node } from '../node'\nimport { ArenaService } from '../common'\n\nexport interface NodeService extends ArenaService {\n // ==== CREATE\n create(options: { filePath?: string; node: Node; socketId: string; surveyId: number; user: User }): Promise<Node>\n\n // ==== READ\n get(options: { surveyId: number; nodeUuid: string }): Promise<Node>\n\n // ==== UPDATE\n update(options: { filePath?: string; node: Node; socketId: string; surveyId: number; user: User }): Promise<Node>\n\n // ==== DELETE\n delete(options: {\n nodeUuid: string\n recordUuid: string\n socketId: string\n surveyId: number\n user: User\n }): Promise<void>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/nodeDef/factory.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAYhC,MAAM,YAAY,GAAG;IACnB,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,IAAI;IACX,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,KAAK;CACf,CAAA;AAEY,QAAA,cAAc,GAAwD;IACjF,cAAc,EAAE,CAAC,MAA4B,EAAwB,EAAE;QACrE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,mCAC9F,YAAY,GACZ,MAAM,CACV,CAAA;QAED,OAAO;YACL,QAAQ;YACR,KAAK;YACL,IAAI,EAAE;gBACJ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;aACtE;YACD,UAAU,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI;YAC/B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;YAClB,aAAa;YACb,SAAS;YACT,SAAS;YACT,IAAI;YACJ,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;YAChB,OAAO;SACR,CAAA;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/nodeDef/factory.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAYhC,MAAM,YAAY,GAAG;IACnB,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,IAAI;IACX,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,KAAK;CACf,CAAA;AAEY,QAAA,cAAc,GAAwD;IACjF,cAAc,EAAE,CAAC,MAA4B,EAAwB,EAAE;QACrE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,mCAC9F,YAAY,GACZ,MAAM,CACV,CAAA;QAED,OAAO;YACL,QAAQ;YACR,KAAK;YACL,IAAI,EAAE;gBACJ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;aACtE;YACD,UAAU,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI;YAC/B,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;YAClB,aAAa;YACb,SAAS;YACT,SAAS;YACT,IAAI;YACJ,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;YAChB,OAAO;SACR,CAAA;IACH,CAAC;CACF,CAAA","sourcesContent":["import { Factory } from '../common'\nimport { UUIDs } from '../utils'\nimport { NodeDef, NodeDefType, NodeDefProps, NodeDefPropsAdvanced } from './nodeDef'\n\nexport type NodeDefFactoryParams = {\n analysis?: boolean\n nodeDefParent?: NodeDef<NodeDefType>\n props?: NodeDefProps\n propsAdvanced?: NodeDefPropsAdvanced\n type: NodeDefType\n virtual?: boolean\n}\n\nconst defaultProps = {\n analysis: false,\n draft: true,\n nodeDefParent: null,\n published: false,\n temporary: true,\n virtual: false,\n}\n\nexport const NodeDefFactory: Factory<NodeDef<NodeDefType>, NodeDefFactoryParams> = {\n createInstance: (params: NodeDefFactoryParams): NodeDef<NodeDefType> => {\n const { analysis, draft, nodeDefParent, props, propsAdvanced, published, temporary, type, virtual } = {\n ...defaultProps,\n ...params,\n }\n\n return {\n analysis,\n draft,\n meta: {\n h: nodeDefParent ? [...nodeDefParent.meta.h, nodeDefParent.uuid] : [],\n },\n parentUuid: nodeDefParent?.uuid,\n props: props ?? {},\n propsAdvanced,\n published,\n temporary,\n type,\n uuid: UUIDs.v4(),\n virtual,\n }\n },\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodeDef/index.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAAjC,yGAAA,cAAc,OAAA;AAavB,qCAAyD;AAAhD,2GAAA,gBAAgB,OAAA;AAAE,sGAAA,WAAW,OAAA;AACtC,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AAuBjB,yCAAwD;AAA/C,iHAAA,uBAAuB,OAAA;AAEhC,qCAA8C;AAArC,uGAAA,eAAe,OAAA;AAGxB,iDAAoD;AAA3C,6GAAA,eAAe,OAAA;AAQxB,qCAA0E;AAAjE,6GAAA,qBAAqB,OAAA;AAAE,4GAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodeDef/index.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAAjC,yGAAA,cAAc,OAAA;AAavB,qCAAyD;AAAhD,2GAAA,gBAAgB,OAAA;AAAE,sGAAA,WAAW,OAAA;AACtC,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AAuBjB,yCAAwD;AAA/C,iHAAA,uBAAuB,OAAA;AAEhC,qCAA8C;AAArC,uGAAA,eAAe,OAAA;AAGxB,iDAAoD;AAA3C,6GAAA,eAAe,OAAA;AAQxB,qCAA0E;AAAjE,6GAAA,qBAAqB,OAAA;AAAE,4GAAA,oBAAoB,OAAA","sourcesContent":["export { NodeDefFactory } from './factory'\n\nexport type {\n NodeDef,\n NodeDefProps,\n NodeDefPropsWithLayout,\n NodeDefMeta,\n NodeDefPropsAdvanced,\n NodeDefExpression,\n NodeDefLayout,\n NodeDefValidations,\n NodeDefMap,\n} from './nodeDef'\nexport { NodeDefCountType, NodeDefType } from './nodeDef'\nexport { NodeDefs } from './nodeDefs'\n\nexport type { NodeDefService } from './service'\n\n// ==== node def types\nexport type { NodeDefBoolean, NodeDefBooleanProps } from './types/boolean'\n\nexport type { NodeDefCode, NodeDefCodeLayout, NodeDefCodeProps } from './types/code'\n\nexport type { NodeDefCoordinate, NodeDefCoordinateProps } from './types/coordinate'\n\nexport type { NodeDefDate } from './types/date'\n\nexport type { NodeDefDecimal, NodeDefDecimalProps } from './types/decimal'\n\nexport type {\n NodeDefEntity,\n NodeDefEntityChildPosition,\n NodeDefEntityLayout,\n NodeDefEntityProps,\n NodeDefPrintOrientation,\n} from './types/entity'\n\nexport { NodeDefEntityRenderType } from './types/entity'\n\nexport { NodeDefFileType } from './types/file'\nexport type { NodeDefFile, NodeDefFileProps } from './types/file'\n\nexport { FormHeaderColor } from './types/formHeader'\nexport type { NodeDefFormHeader, NodeDefFormHeaderProps } from './types/formHeader'\n\nexport type { NodeDefInteger } from './types/integer'\n\nexport type { NodeDefTaxon, NodeDefTaxonProps } from './types/taxon'\n\nexport type { NodeDefText, NodeDefTextProps, NodeDefTextLayout } from './types/text'\nexport { NodeDefTextRenderType, NodeDefTextInputType } from './types/text'\n\nexport type { NodeDefTime, NodeDefTimeProps } from './types/time'\n"]}
@@ -16,6 +16,7 @@ var NodeDefType;
16
16
  NodeDefType["taxon"] = "taxon";
17
17
  NodeDefType["text"] = "text";
18
18
  NodeDefType["time"] = "time";
19
+ // layout elements
19
20
  NodeDefType["formHeader"] = "formHeader";
20
21
  })(NodeDefType || (exports.NodeDefType = NodeDefType = {}));
21
22
  var NodeDefCountType;
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDef.js","sourceRoot":"","sources":["../../src/nodeDef/nodeDef.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAKzC,IAAY,WAeX;AAfD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,wCAAyB,CAAA;IACzB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,0BAAW,CAAA;IACX,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,4BAAa,CAAA;IAEb,wCAAyB,CAAA;AAC3B,CAAC,EAfW,WAAW,2BAAX,WAAW,QAetB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,+BAAW,CAAA;AACb,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAoDY,QAAA,wBAAwB,GAA+D;IAClG,cAAc,EAAE,CAAC,MAAsC,EAAqB,EAAE;QAC5E,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE,EAAE,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAO,CAAC,gBAAgB,mBAAM,MAAM,EAAG,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"nodeDef.js","sourceRoot":"","sources":["../../src/nodeDef/nodeDef.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAKzC,IAAY,WAeX;AAfD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,wCAAyB,CAAA;IACzB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,0BAAW,CAAA;IACX,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,kBAAkB;IAClB,wCAAyB,CAAA;AAC3B,CAAC,EAfW,WAAW,2BAAX,WAAW,QAetB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,+BAAW,CAAA;AACb,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAoDY,QAAA,wBAAwB,GAA+D;IAClG,cAAc,EAAE,CAAC,MAAsC,EAAqB,EAAE;QAC5E,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE,EAAE,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAO,CAAC,gBAAgB,mBAAM,MAAM,EAAG,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA","sourcesContent":["import { Objects, UUIDs } from '../utils'\nimport { ArenaObject, Factory } from '../common'\nimport { Labels } from '../language'\nimport { ValidationSeverity } from '../validation'\n\nexport enum NodeDefType {\n boolean = 'boolean',\n code = 'code',\n coordinate = 'coordinate',\n date = 'date',\n decimal = 'decimal',\n geo = 'geo',\n entity = 'entity',\n file = 'file',\n integer = 'integer',\n taxon = 'taxon',\n text = 'text',\n time = 'time',\n // layout elements\n formHeader = 'formHeader',\n}\n\nexport enum NodeDefCountType {\n max = 'max',\n min = 'min',\n}\n\nexport interface NodeDefMeta {\n h: string[]\n}\n\nexport interface NodeDefProps {\n cycles?: string[]\n descriptions?: Labels\n key?: boolean\n autoIncrementalKey?: boolean\n labels?: Labels\n multiple?: boolean\n name?: string\n qualifier?: boolean\n readOnly?: boolean\n\n // available only when readOnly is true\n hidden?: boolean\n\n visibleFields?: string[]\n}\n\nexport interface NodeDefLayout {\n hiddenWhenNotRelevant?: boolean\n hiddenInMobile?: boolean\n includedInMultipleEntitySummary?: boolean\n includedInPreviousCycleLink?: boolean\n // code\n codeShown?: boolean\n}\n\nexport interface NodeDefPropsWithLayout<L extends NodeDefLayout> extends NodeDefProps {\n layout?: {\n [cycleKey: string]: L\n }\n}\n\nexport interface NodeDefExpression {\n applyIf?: string\n expression?: string\n messages?: Labels\n severity?: ValidationSeverity\n uuid: string\n}\n\nexport interface NodeDefExpressionFactoryParams {\n applyIf?: string\n expression: string\n severity?: ValidationSeverity\n}\n\nexport const NodeDefExpressionFactory: Factory<NodeDefExpression, NodeDefExpressionFactoryParams> = {\n createInstance: (params: NodeDefExpressionFactoryParams): NodeDefExpression => {\n const result = { uuid: UUIDs.v4() }\n Object.assign(result, Objects.deleteEmptyProps({ ...params }))\n return result\n },\n}\n\nexport type NodeDefCountExpression = string | NodeDefExpression[]\n\nexport interface NodeDefCountValidations {\n max?: NodeDefCountExpression\n min?: NodeDefCountExpression\n}\n\nexport interface NodeDefValidations {\n count?: NodeDefCountValidations\n expressions?: NodeDefExpression[]\n required?: boolean\n unique?: boolean\n}\n\nexport interface NodeDefPropsAdvanced {\n applicable?: NodeDefExpression[]\n defaultValues?: NodeDefExpression[]\n defaultValueEvaluatedOneTime?: boolean\n editableIf?: NodeDefExpression[]\n excludedInClone?: boolean\n formula?: NodeDefExpression[]\n validations?: NodeDefValidations\n visibleIf?: NodeDefExpression[]\n // file attribute\n fileNameExpression?: string\n // enumerate entity\n enumeratingItemsExpression?: string\n // code and taxon attribute\n itemsFilter?: string\n\n // Analysis\n script?: string\n chainUuid?: string\n index?: number\n active?: boolean\n aggregateFunctions?: { [key: string]: object }\n\n isBaseUnit?: boolean\n isSampling?: boolean\n hasAreaBasedEstimated?: boolean\n areaBasedEstimatedOf?: string // uuid of area based estimated node def\n}\n\nexport interface NodeDef<T extends NodeDefType, P extends NodeDefProps = NodeDefProps> extends ArenaObject<P> {\n analysis?: boolean\n dateCreated?: string\n dateModified?: string\n deleted?: boolean\n draft?: boolean\n id?: number\n meta: NodeDefMeta\n parentUuid?: string\n propsAdvanced?: NodeDefPropsAdvanced\n propsAdvancedDraft?: NodeDefPropsAdvanced\n published?: boolean\n temporary?: boolean\n type: T\n virtual?: boolean\n}\n\nexport interface NodeDefMap {\n [key: string]: NodeDef<any>\n}\n"]}