@openforis/arena-core 2.3.38 → 2.3.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/auth/authGroup.js.map +1 -1
  2. package/dist/auth/authGroups.d.ts +21 -11
  3. package/dist/auth/authGroups.js.map +1 -1
  4. package/dist/auth/authorizer.d.ts +64 -38
  5. package/dist/auth/authorizer.js.map +1 -1
  6. package/dist/auth/permission.js.map +1 -1
  7. package/dist/auth/user.js.map +1 -1
  8. package/dist/auth/users.d.ts +19 -9
  9. package/dist/auth/users.js +3 -2
  10. package/dist/auth/users.js.map +1 -1
  11. package/dist/category/categories.d.ts +7 -3
  12. package/dist/category/categories.js.map +1 -1
  13. package/dist/category/categoryImportSummary.js.map +1 -1
  14. package/dist/category/categoryItemGenerator.d.ts +6 -4
  15. package/dist/category/categoryItems.d.ts +9 -4
  16. package/dist/category/categoryItems.js +2 -1
  17. package/dist/category/categoryItems.js.map +1 -1
  18. package/dist/category/factory.js.map +1 -1
  19. package/dist/chain/chain.js.map +1 -1
  20. package/dist/common/index.js.map +1 -1
  21. package/dist/dataExport/FlatDataExportModel.js.map +1 -1
  22. package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
  23. package/dist/dataExport/FlatDataFiles.d.ts +7 -5
  24. package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
  25. package/dist/dataQuery/dataQuery.js.map +1 -1
  26. package/dist/dataQuery/dataQuerySummaries.d.ts +28 -15
  27. package/dist/dataQuery/dataQuerySummaries.js +3 -3
  28. package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
  29. package/dist/error/SystemError.js.map +1 -1
  30. package/dist/esm/auth/authGroups.js.map +1 -1
  31. package/dist/esm/auth/users.js +3 -2
  32. package/dist/esm/auth/users.js.map +1 -1
  33. package/dist/esm/category/categories.js.map +1 -1
  34. package/dist/esm/category/categoryItems.js +2 -1
  35. package/dist/esm/category/categoryItems.js.map +1 -1
  36. package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
  37. package/dist/esm/dataQuery/dataQuerySummaries.js +3 -3
  38. package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
  39. package/dist/esm/expression/javascript/evaluator.js.map +1 -1
  40. package/dist/esm/extraProp/extraProps.js.map +1 -1
  41. package/dist/esm/geo/pointFactory.js.map +1 -1
  42. package/dist/esm/geo/points/bearing.js +1 -1
  43. package/dist/esm/geo/points/bearing.js.map +1 -1
  44. package/dist/esm/geo/points/distance.js +1 -1
  45. package/dist/esm/geo/points/distance.js.map +1 -1
  46. package/dist/esm/geo/points/isValid.js.map +1 -1
  47. package/dist/esm/geo/points/transform.js.map +1 -1
  48. package/dist/esm/job/JobBase.js +4 -3
  49. package/dist/esm/job/JobBase.js.map +1 -1
  50. package/dist/esm/message/messages.js +9 -8
  51. package/dist/esm/message/messages.js.map +1 -1
  52. package/dist/esm/node/factory.js +2 -1
  53. package/dist/esm/node/factory.js.map +1 -1
  54. package/dist/esm/node/nodeValueFormatter.js +2 -1
  55. package/dist/esm/node/nodeValueFormatter.js.map +1 -1
  56. package/dist/esm/node/nodeValues.js +3 -2
  57. package/dist/esm/node/nodeValues.js.map +1 -1
  58. package/dist/esm/node/nodes.js +4 -4
  59. package/dist/esm/node/nodes.js.map +1 -1
  60. package/dist/esm/nodeDef/nodeDefs.js +10 -10
  61. package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
  62. package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  63. package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
  64. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +3 -2
  65. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  66. package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  67. package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
  68. package/dist/esm/record/_records/nodeDefSelfReferences.js.map +1 -1
  69. package/dist/esm/record/_records/recordGetters.js.map +1 -1
  70. package/dist/esm/record/_records/recordNodesIndexReader.js +6 -4
  71. package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
  72. package/dist/esm/record/_records/recordNodesIndexUpdater.js +10 -7
  73. package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
  74. package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
  75. package/dist/esm/record/_records/recordUpdater.js.map +1 -1
  76. package/dist/esm/record/factory.js +2 -1
  77. package/dist/esm/record/factory.js.map +1 -1
  78. package/dist/esm/record/recordCloner.js +2 -1
  79. package/dist/esm/record/recordCloner.js.map +1 -1
  80. package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
  81. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +3 -2
  82. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  83. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js +4 -7
  84. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  85. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  86. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  87. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  88. package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  89. package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  90. package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  91. package/dist/esm/record/recordUpdater.js.map +1 -1
  92. package/dist/esm/record/recordValidator/attributeTypeValidator.js +2 -2
  93. package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
  94. package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  95. package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
  96. package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
  97. package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
  98. package/dist/esm/survey/refData/factory.js +3 -2
  99. package/dist/esm/survey/refData/factory.js.map +1 -1
  100. package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
  101. package/dist/esm/survey/surveyDocImages.js.map +1 -1
  102. package/dist/esm/survey/surveyFileFactory.js.map +1 -1
  103. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  104. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  105. package/dist/esm/survey/surveys/dependencies.js +2 -1
  106. package/dist/esm/survey/surveys/dependencies.js.map +1 -1
  107. package/dist/esm/survey/surveys/nodeDefs.js +4 -2
  108. package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
  109. package/dist/esm/survey/surveys/refsData.js +2 -1
  110. package/dist/esm/survey/surveys/refsData.js.map +1 -1
  111. package/dist/esm/survey/surveys/surveyGettersSecurity.js +1 -4
  112. package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
  113. package/dist/esm/survey/surveys/surveysGetters.js +5 -7
  114. package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
  115. package/dist/esm/taxonomy/taxa.js.map +1 -1
  116. package/dist/esm/taxonomy/taxonomies.js.map +1 -1
  117. package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  118. package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
  119. package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  120. package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  121. package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  122. package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  123. package/dist/esm/utils/_objects/camelize.js.map +1 -1
  124. package/dist/esm/utils/arrays.js.map +1 -1
  125. package/dist/esm/utils/dates.js.map +1 -1
  126. package/dist/esm/utils/fileNames.js.map +1 -1
  127. package/dist/esm/utils/fileProcessor.js +2 -1
  128. package/dist/esm/utils/fileProcessor.js.map +1 -1
  129. package/dist/esm/utils/numbers.js.map +1 -1
  130. package/dist/esm/utils/queue.js.map +1 -1
  131. package/dist/esm/utils/versions.js.map +1 -1
  132. package/dist/esm/validation/factory.js.map +1 -1
  133. package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
  134. package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
  135. package/dist/esm/validation/validationResults.js +1 -1
  136. package/dist/esm/validation/validationResults.js.map +1 -1
  137. package/dist/esm/validation/validations.js +2 -2
  138. package/dist/esm/validation/validations.js.map +1 -1
  139. package/dist/esm/validation/validator.js.map +1 -1
  140. package/dist/expression/javascript/evaluator.js.map +1 -1
  141. package/dist/expression/javascript/global.js.map +1 -1
  142. package/dist/expression/javascript/node/array.js.map +1 -1
  143. package/dist/expression/javascript/node/binary.js.map +1 -1
  144. package/dist/expression/javascript/node/call.js.map +1 -1
  145. package/dist/expression/javascript/node/compound.js.map +1 -1
  146. package/dist/expression/javascript/node/conditional.js.map +1 -1
  147. package/dist/expression/javascript/node/identifier.js.map +1 -1
  148. package/dist/expression/javascript/node/literal.js.map +1 -1
  149. package/dist/expression/javascript/node/member.js.map +1 -1
  150. package/dist/expression/javascript/node/sequence.js.map +1 -1
  151. package/dist/expression/javascript/node/this.js.map +1 -1
  152. package/dist/expression/javascript/node/unary.js.map +1 -1
  153. package/dist/expression/javascript/parser/jsep.js.map +1 -1
  154. package/dist/expression/javascript/parser/parser.js.map +1 -1
  155. package/dist/expression/node.js.map +1 -1
  156. package/dist/expression/variable.js.map +1 -1
  157. package/dist/extraProp/extraProp.js.map +1 -1
  158. package/dist/extraProp/extraProps.d.ts +9 -6
  159. package/dist/extraProp/extraProps.js.map +1 -1
  160. package/dist/extraProp/extraPropsDataGenerator.d.ts +7 -5
  161. package/dist/geo/pointFactory.js.map +1 -1
  162. package/dist/geo/points/bearing.js +5 -2
  163. package/dist/geo/points/bearing.js.map +1 -1
  164. package/dist/geo/points/distance.js +5 -2
  165. package/dist/geo/points/distance.js.map +1 -1
  166. package/dist/geo/points/equals.js.map +1 -1
  167. package/dist/geo/points/getSrs.js.map +1 -1
  168. package/dist/geo/points/index.d.ts +18 -14
  169. package/dist/geo/points/isFilled.js.map +1 -1
  170. package/dist/geo/points/isValid.js.map +1 -1
  171. package/dist/geo/points/parse.js.map +1 -1
  172. package/dist/geo/points/pointAtDistance.js.map +1 -1
  173. package/dist/geo/points/toLatLong.js.map +1 -1
  174. package/dist/geo/points/toString.js.map +1 -1
  175. package/dist/geo/points/transform.js.map +1 -1
  176. package/dist/job/JobBase.js +4 -3
  177. package/dist/job/JobBase.js.map +1 -1
  178. package/dist/job/jobEvent.js.map +1 -1
  179. package/dist/job/status.js.map +1 -1
  180. package/dist/language/languageCode.js.map +1 -1
  181. package/dist/language/languages.js.map +1 -1
  182. package/dist/message/message.js.map +1 -1
  183. package/dist/message/messages.d.ts +54 -28
  184. package/dist/message/messages.js +9 -8
  185. package/dist/message/messages.js.map +1 -1
  186. package/dist/node/factory.js +2 -1
  187. package/dist/node/factory.js.map +1 -1
  188. package/dist/node/node.js.map +1 -1
  189. package/dist/node/nodeValueFormatter.d.ts +2 -1
  190. package/dist/node/nodeValueFormatter.js +2 -1
  191. package/dist/node/nodeValueFormatter.js.map +1 -1
  192. package/dist/node/nodeValueProps.js.map +1 -1
  193. package/dist/node/nodeValues.d.ts +62 -41
  194. package/dist/node/nodeValues.js +3 -2
  195. package/dist/node/nodeValues.js.map +1 -1
  196. package/dist/node/nodes.d.ts +112 -86
  197. package/dist/node/nodes.js +4 -4
  198. package/dist/node/nodes.js.map +1 -1
  199. package/dist/nodeDef/nodeDef.js.map +1 -1
  200. package/dist/nodeDef/nodeDefs.d.ts +173 -86
  201. package/dist/nodeDef/nodeDefs.js +10 -10
  202. package/dist/nodeDef/nodeDefs.js.map +1 -1
  203. package/dist/nodeDef/types/entity.js.map +1 -1
  204. package/dist/nodeDef/types/file.js.map +1 -1
  205. package/dist/nodeDef/types/formHeader.js.map +1 -1
  206. package/dist/nodeDef/types/text.js.map +1 -1
  207. package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  208. package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
  209. package/dist/nodeDefExpressionEvaluator/node/identifier.js +3 -2
  210. package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  211. package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  212. package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.d.ts +11 -8
  213. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.d.ts +1 -1
  214. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  215. package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
  216. package/dist/record/_records/nodeDefSelfReferences.d.ts +12 -4
  217. package/dist/record/_records/nodeDefSelfReferences.js.map +1 -1
  218. package/dist/record/_records/recordCompletion.js.map +1 -1
  219. package/dist/record/_records/recordGetters.js.map +1 -1
  220. package/dist/record/_records/recordNodesIndexReader.d.ts +14 -8
  221. package/dist/record/_records/recordNodesIndexReader.js +6 -4
  222. package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
  223. package/dist/record/_records/recordNodesIndexUpdater.d.ts +22 -12
  224. package/dist/record/_records/recordNodesIndexUpdater.js +10 -7
  225. package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
  226. package/dist/record/_records/recordPagesValidation.js.map +1 -1
  227. package/dist/record/_records/recordUpdater.js.map +1 -1
  228. package/dist/record/_records/recordUtils.js.map +1 -1
  229. package/dist/record/factory.js +2 -1
  230. package/dist/record/factory.js.map +1 -1
  231. package/dist/record/nodePointers.d.ts +13 -10
  232. package/dist/record/recordCloner.d.ts +11 -10
  233. package/dist/record/recordCloner.js +2 -1
  234. package/dist/record/recordCloner.js.map +1 -1
  235. package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
  236. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +3 -2
  237. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  238. package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.d.ts +8 -6
  239. package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  240. package/dist/record/recordExpressionEvaluator/nodeValueExtractor.d.ts +7 -5
  241. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js +4 -7
  242. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  243. package/dist/record/recordFixer.d.ts +19 -10
  244. package/dist/record/recordNodesUpdater/index.d.ts +8 -7
  245. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
  246. package/dist/record/recordNodesUpdater/recordExpressionValueConverter.d.ts +2 -1
  247. package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  248. package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  249. package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
  250. package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  251. package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
  252. package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
  253. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
  254. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
  255. package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
  256. package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
  257. package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
  258. package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  259. package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
  260. package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  261. package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  262. package/dist/record/recordPrettyPrinter.d.ts +18 -15
  263. package/dist/record/recordPrettyPrinter.js.map +1 -1
  264. package/dist/record/recordStep.d.ts +5 -2
  265. package/dist/record/recordStep.js.map +1 -1
  266. package/dist/record/recordUpdater.d.ts +22 -15
  267. package/dist/record/recordUpdater.js.map +1 -1
  268. package/dist/record/recordValidations.d.ts +21 -14
  269. package/dist/record/recordValidator/attributeKeyValidator.d.ts +8 -6
  270. package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
  271. package/dist/record/recordValidator/attributeTypeValidator.d.ts +2 -1
  272. package/dist/record/recordValidator/attributeTypeValidator.js +2 -2
  273. package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
  274. package/dist/record/recordValidator/attributeUniqueValidator.d.ts +1 -5
  275. package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  276. package/dist/record/recordValidator/attributeValidator.d.ts +3 -1
  277. package/dist/record/recordValidator/attributeValidator.js.map +1 -1
  278. package/dist/record/recordValidator/countVaildator.d.ts +21 -17
  279. package/dist/record/recordValidator/index.d.ts +4 -3
  280. package/dist/record/recordValidator/recordValidator.js.map +1 -1
  281. package/dist/record/records.d.ts +62 -220
  282. package/dist/registry/serviceRegistry.js.map +1 -1
  283. package/dist/registry/serviceType.js.map +1 -1
  284. package/dist/srs/srs.js.map +1 -1
  285. package/dist/survey/nodeDefsFixer.d.ts +5 -4
  286. package/dist/survey/nodeDefsFixer.js.map +1 -1
  287. package/dist/survey/refData/factory.js +3 -2
  288. package/dist/survey/refData/factory.js.map +1 -1
  289. package/dist/survey/survey.d.ts +2 -2
  290. package/dist/survey/survey.js.map +1 -1
  291. package/dist/survey/surveyDocImageFactory.js.map +1 -1
  292. package/dist/survey/surveyDocImages.d.ts +11 -5
  293. package/dist/survey/surveyDocImages.js.map +1 -1
  294. package/dist/survey/surveyFileFactory.js.map +1 -1
  295. package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  296. package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  297. package/dist/survey/surveys/dependencies.js +2 -1
  298. package/dist/survey/surveys/dependencies.js.map +1 -1
  299. package/dist/survey/surveys/index.d.ts +82 -255
  300. package/dist/survey/surveys/nodeDefs.d.ts +4 -6
  301. package/dist/survey/surveys/nodeDefs.js +4 -2
  302. package/dist/survey/surveys/nodeDefs.js.map +1 -1
  303. package/dist/survey/surveys/refsData.js +2 -1
  304. package/dist/survey/surveys/refsData.js.map +1 -1
  305. package/dist/survey/surveys/surveyGettersSecurity.js +1 -4
  306. package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
  307. package/dist/survey/surveys/surveysGetters.js +5 -7
  308. package/dist/survey/surveys/surveysGetters.js.map +1 -1
  309. package/dist/survey/surveys/surveysUtils.js.map +1 -1
  310. package/dist/taxonomy/taxa.d.ts +17 -11
  311. package/dist/taxonomy/taxa.js.map +1 -1
  312. package/dist/taxonomy/taxonGenerator.d.ts +6 -4
  313. package/dist/taxonomy/taxonomies.d.ts +7 -3
  314. package/dist/taxonomy/taxonomies.js.map +1 -1
  315. package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  316. package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
  317. package/dist/tests/builder/recordBuilder/index.d.ts +4 -2
  318. package/dist/tests/builder/recordBuilder/index.js.map +1 -1
  319. package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  320. package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
  321. package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
  322. package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  323. package/dist/tests/builder/surveyBuilder/index.d.ts +30 -15
  324. package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  325. package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  326. package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
  327. package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
  328. package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
  329. package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
  330. package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
  331. package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
  332. package/dist/utils/_objects/assoc.js.map +1 -1
  333. package/dist/utils/_objects/assocPath.js.map +1 -1
  334. package/dist/utils/_objects/camelize.js.map +1 -1
  335. package/dist/utils/_objects/deepMerge.js.map +1 -1
  336. package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
  337. package/dist/utils/_objects/difference.js.map +1 -1
  338. package/dist/utils/_objects/dissoc.js.map +1 -1
  339. package/dist/utils/_objects/dissocPath.js.map +1 -1
  340. package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
  341. package/dist/utils/_objects/index.d.ts +34 -48
  342. package/dist/utils/_objects/isEmpty.js.map +1 -1
  343. package/dist/utils/_objects/isNil.js.map +1 -1
  344. package/dist/utils/_objects/isNotEmpty.js.map +1 -1
  345. package/dist/utils/_objects/parse.js.map +1 -1
  346. package/dist/utils/_objects/path.js.map +1 -1
  347. package/dist/utils/_objects/propertyOf.js.map +1 -1
  348. package/dist/utils/_objects/setInPath.js.map +1 -1
  349. package/dist/utils/_objects/stringify.js.map +1 -1
  350. package/dist/utils/arrays.d.ts +25 -15
  351. package/dist/utils/arrays.js.map +1 -1
  352. package/dist/utils/dates.d.ts +101 -48
  353. package/dist/utils/dates.js.map +1 -1
  354. package/dist/utils/fileNames.d.ts +7 -3
  355. package/dist/utils/fileNames.js.map +1 -1
  356. package/dist/utils/fileProcessor.js +2 -1
  357. package/dist/utils/fileProcessor.js.map +1 -1
  358. package/dist/utils/numbers.d.ts +42 -13
  359. package/dist/utils/numbers.js.map +1 -1
  360. package/dist/utils/promises.d.ts +12 -1
  361. package/dist/utils/queue.js.map +1 -1
  362. package/dist/utils/retryProcessor.js.map +1 -1
  363. package/dist/utils/strings.d.ts +22 -11
  364. package/dist/utils/uuids.d.ts +3 -1
  365. package/dist/utils/versions.d.ts +19 -7
  366. package/dist/utils/versions.js.map +1 -1
  367. package/dist/validation/factory.js.map +1 -1
  368. package/dist/validation/fieldValidators/email.js.map +1 -1
  369. package/dist/validation/fieldValidators/index.d.ts +12 -6
  370. package/dist/validation/fieldValidators/name.js.map +1 -1
  371. package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
  372. package/dist/validation/fieldValidators/numeric.js.map +1 -1
  373. package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
  374. package/dist/validation/fieldValidators/required.js.map +1 -1
  375. package/dist/validation/validation.js.map +1 -1
  376. package/dist/validation/validationResults.d.ts +17 -9
  377. package/dist/validation/validationResults.js +1 -1
  378. package/dist/validation/validationResults.js.map +1 -1
  379. package/dist/validation/validations.d.ts +71 -35
  380. package/dist/validation/validations.js +2 -2
  381. package/dist/validation/validations.js.map +1 -1
  382. package/dist/validation/validator.js.map +1 -1
  383. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"categoryItemBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/categoryItemBuilder.ts"],"names":[],"mappings":";;;AAAA,gDAA+E;AAE/E,MAAa,mBAAmB;IAM9B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAkC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,YAAmC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,YAAY,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAkB,EAAE,aAAkC,IAAI,EAAE,UAAU,GAAG,CAAC;QAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,8BAAmB,CAAC,cAAc,CAAC;YAC9C,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,UAAU,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;SAChF,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACtE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CACvD,CAAA;QACD,OAAO,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAA;IAC/B,CAAC;CACF;AAxCD,kDAwCC","sourcesContent":["import { Category, CategoryItem, CategoryItemFactory } from '../../../category'\n\nexport class CategoryItemBuilder {\n private readonly code: string\n private _label?: string\n private extraProps: { [key: string]: any }\n private childItemBuilders: CategoryItemBuilder[]\n\n constructor(code: string) {\n this.code = code\n this._label = ''\n this.extraProps = {}\n this.childItemBuilders = []\n }\n\n label(label: string): this {\n this._label = label\n return this\n }\n\n extra(extraProps: { [key: string]: any }): this {\n this.extraProps = extraProps\n return this\n }\n\n items(...itemBuilders: CategoryItemBuilder[]): this {\n this.childItemBuilders = [...itemBuilders]\n return this\n }\n\n build(category: Category, parentItem: CategoryItem | null = null, levelIndex = 0): CategoryItem[] {\n const level = category.levels[levelIndex]\n const item = CategoryItemFactory.createInstance({\n levelUuid: level.uuid,\n parentUuid: parentItem?.uuid,\n props: { code: this.code, labels: { en: this._label }, extra: this.extraProps },\n })\n const descendants = this.childItemBuilders.flatMap((childItemBuilder) =>\n childItemBuilder.build(category, item, levelIndex + 1)\n )\n return [item, ...descendants]\n }\n}\n"]}
1
+ {"version":3,"file":"categoryItemBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/categoryItemBuilder.ts"],"names":[],"mappings":";;;AAAA,gDAA+E;AAE/E;IAME,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAkC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,YAAmC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,YAAY,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAkB,EAAE,UAAU,GAAwB,IAAI,EAAE,UAAU,GAAG,CAAC;QAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,8BAAmB,CAAC,cAAc,CAAC;YAC9C,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,UAAU,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;SAChF,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACtE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CACvD,CAAA;QACD,OAAO,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAA;IAC/B,CAAC;CACF","sourcesContent":["import { Category, CategoryItem, CategoryItemFactory } from '../../../category'\n\nexport class CategoryItemBuilder {\n private readonly code: string\n private _label?: string\n private extraProps: { [key: string]: any }\n private childItemBuilders: CategoryItemBuilder[]\n\n constructor(code: string) {\n this.code = code\n this._label = ''\n this.extraProps = {}\n this.childItemBuilders = []\n }\n\n label(label: string): this {\n this._label = label\n return this\n }\n\n extra(extraProps: { [key: string]: any }): this {\n this.extraProps = extraProps\n return this\n }\n\n items(...itemBuilders: CategoryItemBuilder[]): this {\n this.childItemBuilders = [...itemBuilders]\n return this\n }\n\n build(category: Category, parentItem: CategoryItem | null = null, levelIndex = 0): CategoryItem[] {\n const level = category.levels[levelIndex]\n const item = CategoryItemFactory.createInstance({\n levelUuid: level.uuid,\n parentUuid: parentItem?.uuid,\n props: { code: this.code, labels: { en: this._label }, extra: this.extraProps },\n })\n const descendants = this.childItemBuilders.flatMap((childItemBuilder) =>\n childItemBuilder.build(category, item, levelIndex + 1)\n )\n return [item, ...descendants]\n }\n}\n"]}
@@ -8,20 +8,35 @@ import { NodeDefCodeBuilder } from './nodeDefCodeBuilder';
8
8
  import { NodeDefEntityBuilder } from './nodeDefEntityBuilder';
9
9
  import { NodeDefTaxonBuilder } from './nodeDefTaxonBuilder';
10
10
  export { SurveyBuilder } from './surveyBuilder';
11
+ declare const category: (name: string) => CategoryBuilder;
12
+ declare const categoryItem: (code: string) => CategoryItemBuilder;
13
+ declare const taxonomy: (name: string) => TaxonomyBuilder;
14
+ declare const taxon: (code: string, family: string, genus: string, scientificName: string) => TaxonBuilder;
15
+ declare const entityDef: (name: string, ...childBuilders: NodeDefBuilder[]) => NodeDefEntityBuilder;
16
+ declare const booleanDef: (name: string) => NodeDefAttributeBuilder;
17
+ declare const codeDef: (name: string, categoryName: string) => NodeDefCodeBuilder;
18
+ declare const coordinateDef: (name: string) => NodeDefAttributeBuilder;
19
+ declare const dateDef: (name: string) => NodeDefAttributeBuilder;
20
+ declare const decimalDef: (name: string) => NodeDefAttributeBuilder;
21
+ declare const fileDef: (name: string) => NodeDefAttributeBuilder;
22
+ declare const integerDef: (name: string) => NodeDefAttributeBuilder;
23
+ declare const taxonDef: (name: string, taxonomyName: string) => NodeDefTaxonBuilder;
24
+ declare const textDef: (name: string) => NodeDefAttributeBuilder;
25
+ declare const timeDef: (name: string) => NodeDefAttributeBuilder;
11
26
  export declare const SurveyObjectBuilders: {
12
- category: (name: string) => CategoryBuilder;
13
- categoryItem: (code: string) => CategoryItemBuilder;
14
- taxonomy: (name: string) => TaxonomyBuilder;
15
- taxon: (code: string, family: string, genus: string, scientificName: string) => TaxonBuilder;
16
- entityDef: (name: string, ...childBuilders: NodeDefBuilder[]) => NodeDefEntityBuilder;
17
- booleanDef: (name: string) => NodeDefAttributeBuilder;
18
- codeDef: (name: string, categoryName: string) => NodeDefCodeBuilder;
19
- coordinateDef: (name: string) => NodeDefAttributeBuilder;
20
- dateDef: (name: string) => NodeDefAttributeBuilder;
21
- decimalDef: (name: string) => NodeDefAttributeBuilder;
22
- fileDef: (name: string) => NodeDefAttributeBuilder;
23
- integerDef: (name: string) => NodeDefAttributeBuilder;
24
- taxonDef: (name: string, taxonomyName: string) => NodeDefTaxonBuilder;
25
- textDef: (name: string) => NodeDefAttributeBuilder;
26
- timeDef: (name: string) => NodeDefAttributeBuilder;
27
+ category: typeof category;
28
+ categoryItem: typeof categoryItem;
29
+ taxonomy: typeof taxonomy;
30
+ taxon: typeof taxon;
31
+ entityDef: typeof entityDef;
32
+ booleanDef: typeof booleanDef;
33
+ codeDef: typeof codeDef;
34
+ coordinateDef: typeof coordinateDef;
35
+ dateDef: typeof dateDef;
36
+ decimalDef: typeof decimalDef;
37
+ fileDef: typeof fileDef;
38
+ integerDef: typeof integerDef;
39
+ taxonDef: typeof taxonDef;
40
+ textDef: typeof textDef;
41
+ timeDef: typeof timeDef;
27
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefAttributeBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefAttributeBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAAsE;AACtE,sDAAsF;AACtF,qDAAiD;AAEjD,MAAa,uBAAwB,SAAQ,+BAAc;IACzD,YAAY,IAAY,EAAE,OAAoB,qBAAW,CAAC,IAAI;QAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAA4C,EAAE;QAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QAChC,MAAM,GAAG,GAAyB,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;QACvE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,GAAG;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,GAAG,WAAqB;QACpC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChE,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CACxD,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAgC;QAC9B,IAAI,CAAC,aAAa,CAAC,4BAA4B,GAAG,IAAI,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qBAAqB,CAAC,GAAG,WAA2C;;;QAClE,YAAA,IAAI,CAAC,aAAa,EAAC,WAAW,uCAAX,WAAW,GAAK,EAAE,EAAA;QACrC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC1E,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA5DD,0DA4DC","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefType } from '../../../nodeDef'\nimport { NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { NodeDefBuilder } from './nodeDefBuilder'\n\nexport class NodeDefAttributeBuilder extends NodeDefBuilder {\n constructor(name: string, type: NodeDefType = NodeDefType.text) {\n super(name, type)\n }\n\n build(params: { nodeDefParent?: NodeDefEntity } = {}): { [uuid: string]: NodeDef<NodeDefType> } {\n const { nodeDefParent } = params\n const def: NodeDef<NodeDefType> = this.createNodeDef({ nodeDefParent })\n return { [def.uuid]: def }\n }\n\n key(): this {\n this.props.key = true\n return this\n }\n\n qualifier(): this {\n this.props.qualifier = true\n return this\n }\n\n autoIncrementalKey(): this {\n this.props.autoIncrementalKey = true\n return this\n }\n\n readOnly(): this {\n this.props.readOnly = true\n return this\n }\n\n excludeInClone(): this {\n this.propsAdvanced.excludedInClone = true\n return this\n }\n\n defaultValue(expression: string): this {\n this.propsAdvanced.defaultValues = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n defaultValues(...expressions: string[]): this {\n this.propsAdvanced.defaultValues = expressions.map((expression) =>\n NodeDefExpressionFactory.createInstance({ expression })\n )\n return this\n }\n\n defaultValueEvaluatedOnlyOneTime(): this {\n this.propsAdvanced.defaultValueEvaluatedOneTime = true\n return this\n }\n\n validationExpressions(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.validations ??= {}\n this.propsAdvanced.validations.expressions = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n}\n"]}
1
+ {"version":3,"file":"nodeDefAttributeBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefAttributeBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAAsE;AACtE,sDAAsF;AACtF,qDAAiD;AAEjD,6BAAqC,SAAQ,+BAAc;IACzD,YAAY,IAAY,EAAE,IAAI,GAAgB,qBAAW,CAAC,IAAI;QAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,GAAsC,EAAE;QAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QAChC,MAAM,GAAG,GAAyB,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;QACvE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,GAAG;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,GAAG,WAAqB;QACpC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChE,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CACxD,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAgC;QAC9B,IAAI,CAAC,aAAa,CAAC,4BAA4B,GAAG,IAAI,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qBAAqB,CAAC,GAAG,WAA2C;;;QAClE,YAAA,IAAI,CAAC,aAAa,EAAC,WAAW,uCAAX,WAAW,GAAK,EAAE,EAAA;QACrC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC1E,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefType } from '../../../nodeDef'\nimport { NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { NodeDefBuilder } from './nodeDefBuilder'\n\nexport class NodeDefAttributeBuilder extends NodeDefBuilder {\n constructor(name: string, type: NodeDefType = NodeDefType.text) {\n super(name, type)\n }\n\n build(params: { nodeDefParent?: NodeDefEntity } = {}): { [uuid: string]: NodeDef<NodeDefType> } {\n const { nodeDefParent } = params\n const def: NodeDef<NodeDefType> = this.createNodeDef({ nodeDefParent })\n return { [def.uuid]: def }\n }\n\n key(): this {\n this.props.key = true\n return this\n }\n\n qualifier(): this {\n this.props.qualifier = true\n return this\n }\n\n autoIncrementalKey(): this {\n this.props.autoIncrementalKey = true\n return this\n }\n\n readOnly(): this {\n this.props.readOnly = true\n return this\n }\n\n excludeInClone(): this {\n this.propsAdvanced.excludedInClone = true\n return this\n }\n\n defaultValue(expression: string): this {\n this.propsAdvanced.defaultValues = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n defaultValues(...expressions: string[]): this {\n this.propsAdvanced.defaultValues = expressions.map((expression) =>\n NodeDefExpressionFactory.createInstance({ expression })\n )\n return this\n }\n\n defaultValueEvaluatedOnlyOneTime(): this {\n this.propsAdvanced.defaultValueEvaluatedOneTime = true\n return this\n }\n\n validationExpressions(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.validations ??= {}\n this.propsAdvanced.validations.expressions = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefBuilder.ts"],"names":[],"mappings":";;;AACA,8CAOyB;AACzB,sDAA8G;AAC9G,0CAAwC;AAExC,MAAsB,cAAc;IAKlC,YAAY,IAAY,EAAE,IAAiB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG;YACX,IAAI;SACL,CAAA;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;IACzB,CAAC;IAES,aAAa,CAAC,SAA4C,EAAE;QACpE,MAAM,OAAO,GAAG,wBAAc,CAAC,cAAc,CAAC;YAC5C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QACF,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,UAAkB;QACxB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QACzF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,GAAG,WAA2C;QACvD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAC,GAAG,WAA2C;QACtD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,eAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,eAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,eAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC;YAClD,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;CACF;AA5ED,wCA4EC","sourcesContent":["import { Survey } from '../../../survey'\nimport {\n NodeDef,\n NodeDefFactory,\n NodeDefEntity,\n NodeDefProps,\n NodeDefPropsAdvanced,\n NodeDefType,\n} from '../../../nodeDef'\nimport { NodeDefCountExpression, NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { Objects } from '../../../utils'\n\nexport abstract class NodeDefBuilder {\n protected props: NodeDefProps\n protected propsAdvanced: NodeDefPropsAdvanced\n protected type: NodeDefType\n\n constructor(name: string, type: NodeDefType) {\n this.type = type\n this.props = {\n name,\n }\n this.propsAdvanced = {}\n }\n\n protected createNodeDef(params: { nodeDefParent?: NodeDefEntity } = {}): NodeDef<NodeDefType, NodeDefProps> {\n const nodeDef = NodeDefFactory.createInstance({\n nodeDefParent: params.nodeDefParent,\n type: this.type,\n props: this.props,\n propsAdvanced: this.propsAdvanced,\n })\n nodeDef.temporary = false\n return nodeDef\n }\n\n abstract build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> }\n\n multiple(): this {\n this.props.multiple = true\n return this\n }\n\n applyIf(expression: string): this {\n this.propsAdvanced.applicable = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n editableIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.editableIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n visibleIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.visibleIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n maxCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'max'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n minCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'min'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n required(): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'required'],\n value: true,\n sideEffect: true,\n })\n }\n}\n"]}
1
+ {"version":3,"file":"nodeDefBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefBuilder.ts"],"names":[],"mappings":";;;AACA,8CAOyB;AACzB,sDAA8G;AAC9G,0CAAwC;AAExC;IAKE,YAAY,IAAY,EAAE,IAAiB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG;YACX,IAAI;SACL,CAAA;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;IACzB,CAAC;IAES,aAAa,CAAC,MAAM,GAAsC,EAAE;QACpE,MAAM,OAAO,GAAG,wBAAc,CAAC,cAAc,CAAC;YAC5C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QACF,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,UAAkB;QACxB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;QACzF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,GAAG,WAA2C;QACvD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAC,GAAG,WAA2C;QACtD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5D,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAwB,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CACtG,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,eAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAC,SAAiC;QACxC,OAAO,eAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,eAAO,CAAC,SAAS,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC;YAClD,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { Survey } from '../../../survey'\nimport {\n NodeDef,\n NodeDefFactory,\n NodeDefEntity,\n NodeDefProps,\n NodeDefPropsAdvanced,\n NodeDefType,\n} from '../../../nodeDef'\nimport { NodeDefCountExpression, NodeDefExpression, NodeDefExpressionFactory } from '../../../nodeDef/nodeDef'\nimport { Objects } from '../../../utils'\n\nexport abstract class NodeDefBuilder {\n protected props: NodeDefProps\n protected propsAdvanced: NodeDefPropsAdvanced\n protected type: NodeDefType\n\n constructor(name: string, type: NodeDefType) {\n this.type = type\n this.props = {\n name,\n }\n this.propsAdvanced = {}\n }\n\n protected createNodeDef(params: { nodeDefParent?: NodeDefEntity } = {}): NodeDef<NodeDefType, NodeDefProps> {\n const nodeDef = NodeDefFactory.createInstance({\n nodeDefParent: params.nodeDefParent,\n type: this.type,\n props: this.props,\n propsAdvanced: this.propsAdvanced,\n })\n nodeDef.temporary = false\n return nodeDef\n }\n\n abstract build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> }\n\n multiple(): this {\n this.props.multiple = true\n return this\n }\n\n applyIf(expression: string): this {\n this.propsAdvanced.applicable = [NodeDefExpressionFactory.createInstance({ expression })]\n return this\n }\n\n editableIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.editableIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n visibleIf(...expressions: (string | NodeDefExpression)[]): this {\n this.propsAdvanced.visibleIf = expressions.map((expression) =>\n typeof expression === 'string' ? NodeDefExpressionFactory.createInstance({ expression }) : expression\n )\n return this\n }\n\n maxCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'max'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n minCount(countExpr: NodeDefCountExpression): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'count', 'min'],\n value: countExpr,\n sideEffect: true,\n })\n }\n\n required(): this {\n return Objects.assocPath({\n obj: this,\n path: ['propsAdvanced', 'validations', 'required'],\n value: true,\n sideEffect: true,\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefCodeBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefCodeBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAAmF;AACnF,4CAAiD;AACjD,uEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,iDAAuB;IAI7D,YAAY,IAAY,EAAE,YAAoB;QAC5C,KAAK,CAAC,IAAI,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,mBAAmB,CAAC,uBAA+B;QACjD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,MAAyD;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,YAAY,aAAa,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,OAAO,GAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAgB,CAAA;QACpE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC1C,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,gBAAO,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAA;YAC9F,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAA;QACtD,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AA/BD,gDA+BC","sourcesContent":["import { NodeDef, NodeDefCode, NodeDefEntity, NodeDefType } from '../../../nodeDef'\nimport { Survey, Surveys } from '../../../survey'\nimport { NodeDefAttributeBuilder } from './nodeDefAttributeBuilder'\n\nexport class NodeDefCodeBuilder extends NodeDefAttributeBuilder {\n protected categoryName: string\n protected parentCodeAttributeName: string | undefined\n\n constructor(name: string, categoryName: string) {\n super(name, NodeDefType.code)\n this.categoryName = categoryName\n }\n\n parentCodeAttribute(parentCodeAttributeName: string): NodeDefAttributeBuilder {\n this.parentCodeAttributeName = parentCodeAttributeName\n return this\n }\n\n build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> } {\n const { survey } = params\n const result = super.build(params)\n\n const category = this.categoryName ? Surveys.getCategoryByName({ survey, categoryName: this.categoryName }) : null\n if (!category) {\n throw new Error(`Category with name \"${this.categoryName}\" not found`)\n }\n const nodeDef: NodeDefCode = Object.values(result)[0] as NodeDefCode\n nodeDef.props.categoryUuid = category.uuid\n if (this.parentCodeAttributeName) {\n const parentCodeDef = Surveys.getNodeDefByName({ survey, name: this.parentCodeAttributeName })\n nodeDef.props.parentCodeDefUuid = parentCodeDef.uuid\n }\n\n return result\n }\n}\n"]}
1
+ {"version":3,"file":"nodeDefCodeBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefCodeBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAAmF;AACnF,4CAAiD;AACjD,uEAAmE;AAEnE,wBAAgC,SAAQ,iDAAuB;IAI7D,YAAY,IAAY,EAAE,YAAoB;QAC5C,KAAK,CAAC,IAAI,EAAE,qBAAW,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,mBAAmB,CAAC,uBAA+B;QACjD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,MAAyD;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,YAAY,aAAa,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,OAAO,GAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAgB,CAAA;QACpE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC1C,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,gBAAO,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAA;YAC9F,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAA;QACtD,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { NodeDef, NodeDefCode, NodeDefEntity, NodeDefType } from '../../../nodeDef'\nimport { Survey, Surveys } from '../../../survey'\nimport { NodeDefAttributeBuilder } from './nodeDefAttributeBuilder'\n\nexport class NodeDefCodeBuilder extends NodeDefAttributeBuilder {\n protected categoryName: string\n protected parentCodeAttributeName: string | undefined\n\n constructor(name: string, categoryName: string) {\n super(name, NodeDefType.code)\n this.categoryName = categoryName\n }\n\n parentCodeAttribute(parentCodeAttributeName: string): NodeDefAttributeBuilder {\n this.parentCodeAttributeName = parentCodeAttributeName\n return this\n }\n\n build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> } {\n const { survey } = params\n const result = super.build(params)\n\n const category = this.categoryName ? Surveys.getCategoryByName({ survey, categoryName: this.categoryName }) : null\n if (!category) {\n throw new Error(`Category with name \"${this.categoryName}\" not found`)\n }\n const nodeDef: NodeDefCode = Object.values(result)[0] as NodeDefCode\n nodeDef.props.categoryUuid = category.uuid\n if (this.parentCodeAttributeName) {\n const parentCodeDef = Surveys.getNodeDefByName({ survey, name: this.parentCodeAttributeName })\n nodeDef.props.parentCodeDefUuid = parentCodeDef.uuid\n }\n\n return result\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefEntityBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefEntityBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAA0F;AAE1F,qDAAiD;AAEjD,MAAa,oBAAqB,SAAQ,+BAAc;IAGtD,YAAY,IAAY,EAAE,GAAG,aAA+B;QAC1D,KAAK,CAAC,IAAI,EAAE,qBAAW,CAAC,MAAM,CAAC,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,KAA2B,CAAA;QAC1C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0BAA0B,CAAC,UAAkB;QAC3C,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,UAAU,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uBAAuB;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAA2B,CAAA;QAC1C,CAAC,CAAC,uBAAuB,GAAG,IAAI,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,MAAyD;QAC7D,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QACxC,MAAM,GAAG,GAAkB,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAkB,CAAA;QAEjF,IAAI,aAAa,qBAAQ,MAAM,CAAE,CAAA;QAEjC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAC9B,CAAC,WAAqD,EAAE,YAA4B,EAAE,EAAE;YACtF,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAA;YAClF,aAAa,mCAAQ,MAAM,KAAE,QAAQ,kCAAO,aAAa,CAAC,QAAQ,GAAK,QAAQ,IAAI,CAAA;YACnF,uCAAY,WAAW,GAAK,QAAQ,EAAE;QACxC,CAAC,EACD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CACpB,CAAA;IACH,CAAC;CACF;AAxCD,oDAwCC","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefEntityProps, NodeDefType } from '../../../nodeDef'\nimport { Survey } from '../../../survey'\nimport { NodeDefBuilder } from './nodeDefBuilder'\n\nexport class NodeDefEntityBuilder extends NodeDefBuilder {\n protected childBuilders: NodeDefBuilder[]\n\n constructor(name: string, ...childBuilders: NodeDefBuilder[]) {\n super(name, NodeDefType.entity)\n this.childBuilders = childBuilders\n }\n\n enumerate(): this {\n const p = this.props as NodeDefEntityProps\n p.enumerate = true\n return this\n }\n\n enumeratingItemsExpression(expression: string): this {\n this.propsAdvanced.enumeratingItemsExpression = expression\n return this\n }\n\n autoCreateMinCountItems(): this {\n const p = this.props as NodeDefEntityProps\n p.autoCreateMinCountItems = true\n return this\n }\n\n build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> } {\n const { survey, nodeDefParent } = params\n const def: NodeDefEntity = this.createNodeDef({ nodeDefParent }) as NodeDefEntity\n\n let surveyUpdated = { ...survey }\n\n return this.childBuilders.reduce(\n (nodeDefsAcc: { [uuid: string]: NodeDef<NodeDefType> }, childBuilder: NodeDefBuilder) => {\n const nodeDefs = childBuilder.build({ survey: surveyUpdated, nodeDefParent: def })\n surveyUpdated = { ...survey, nodeDefs: { ...surveyUpdated.nodeDefs, ...nodeDefs } }\n return { ...nodeDefsAcc, ...nodeDefs }\n },\n { [def.uuid]: def }\n )\n }\n}\n"]}
1
+ {"version":3,"file":"nodeDefEntityBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefEntityBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAA0F;AAE1F,qDAAiD;AAEjD,0BAAkC,SAAQ,+BAAc;IAGtD,YAAY,IAAY,EAAE,GAAG,aAA+B;QAC1D,KAAK,CAAC,IAAI,EAAE,qBAAW,CAAC,MAAM,CAAC,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,KAA2B,CAAA;QAC1C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0BAA0B,CAAC,UAAkB;QAC3C,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,UAAU,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uBAAuB;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAA2B,CAAA;QAC1C,CAAC,CAAC,uBAAuB,GAAG,IAAI,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,MAAyD;QAC7D,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QACxC,MAAM,GAAG,GAAkB,IAAI,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAkB,CAAA;QAEjF,IAAI,aAAa,qBAAQ,MAAM,CAAE,CAAA;QAEjC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAC9B,CAAC,WAAqD,EAAE,YAA4B,EAAE,EAAE;YACtF,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAA;YAClF,aAAa,mCAAQ,MAAM,KAAE,QAAQ,kCAAO,aAAa,CAAC,QAAQ,GAAK,QAAQ,IAAI,CAAA;YACnF,uCAAY,WAAW,GAAK,QAAQ,EAAE;QACxC,CAAC,EACD,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CACpB,CAAA;IACH,CAAC;CACF","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefEntityProps, NodeDefType } from '../../../nodeDef'\nimport { Survey } from '../../../survey'\nimport { NodeDefBuilder } from './nodeDefBuilder'\n\nexport class NodeDefEntityBuilder extends NodeDefBuilder {\n protected childBuilders: NodeDefBuilder[]\n\n constructor(name: string, ...childBuilders: NodeDefBuilder[]) {\n super(name, NodeDefType.entity)\n this.childBuilders = childBuilders\n }\n\n enumerate(): this {\n const p = this.props as NodeDefEntityProps\n p.enumerate = true\n return this\n }\n\n enumeratingItemsExpression(expression: string): this {\n this.propsAdvanced.enumeratingItemsExpression = expression\n return this\n }\n\n autoCreateMinCountItems(): this {\n const p = this.props as NodeDefEntityProps\n p.autoCreateMinCountItems = true\n return this\n }\n\n build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> } {\n const { survey, nodeDefParent } = params\n const def: NodeDefEntity = this.createNodeDef({ nodeDefParent }) as NodeDefEntity\n\n let surveyUpdated = { ...survey }\n\n return this.childBuilders.reduce(\n (nodeDefsAcc: { [uuid: string]: NodeDef<NodeDefType> }, childBuilder: NodeDefBuilder) => {\n const nodeDefs = childBuilder.build({ survey: surveyUpdated, nodeDefParent: def })\n surveyUpdated = { ...survey, nodeDefs: { ...surveyUpdated.nodeDefs, ...nodeDefs } }\n return { ...nodeDefsAcc, ...nodeDefs }\n },\n { [def.uuid]: def }\n )\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefTaxonBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefTaxonBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAAoF;AACpF,4CAAiD;AACjD,uEAAmE;AAEnE,MAAa,mBAAoB,SAAQ,iDAAuB;IAG9D,YAAY,IAAY,EAAE,YAAoB;QAC5C,KAAK,CAAC,IAAI,EAAE,qBAAW,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,MAAyD;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,YAAY,aAAa,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAiB,CAAA;QACxD,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAA;QAE1C,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AArBD,kDAqBC","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefTaxon, NodeDefType } from '../../../nodeDef'\nimport { Survey, Surveys } from '../../../survey'\nimport { NodeDefAttributeBuilder } from './nodeDefAttributeBuilder'\n\nexport class NodeDefTaxonBuilder extends NodeDefAttributeBuilder {\n protected taxonomyName: string\n\n constructor(name: string, taxonomyName: string) {\n super(name, NodeDefType.taxon)\n this.taxonomyName = taxonomyName\n }\n\n build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> } {\n const { survey } = params\n const result = super.build(params)\n\n const taxonomy = this.taxonomyName ? Surveys.getTaxonomyByName({ survey, taxonomyName: this.taxonomyName }) : null\n if (!taxonomy) {\n throw new Error(`Taxonomy with name \"${this.taxonomyName}\" not found`)\n }\n const nodeDef = Object.values(result)[0] as NodeDefTaxon\n nodeDef.props.taxonomyUuid = taxonomy.uuid\n\n return result\n }\n}\n"]}
1
+ {"version":3,"file":"nodeDefTaxonBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/nodeDefTaxonBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAAoF;AACpF,4CAAiD;AACjD,uEAAmE;AAEnE,yBAAiC,SAAQ,iDAAuB;IAG9D,YAAY,IAAY,EAAE,YAAoB;QAC5C,KAAK,CAAC,IAAI,EAAE,qBAAW,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,MAAyD;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,YAAY,aAAa,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAiB,CAAA;QACxD,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAA;QAE1C,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { NodeDef, NodeDefEntity, NodeDefTaxon, NodeDefType } from '../../../nodeDef'\nimport { Survey, Surveys } from '../../../survey'\nimport { NodeDefAttributeBuilder } from './nodeDefAttributeBuilder'\n\nexport class NodeDefTaxonBuilder extends NodeDefAttributeBuilder {\n protected taxonomyName: string\n\n constructor(name: string, taxonomyName: string) {\n super(name, NodeDefType.taxon)\n this.taxonomyName = taxonomyName\n }\n\n build(params: { survey: Survey; nodeDefParent?: NodeDefEntity }): { [uuid: string]: NodeDef<NodeDefType> } {\n const { survey } = params\n const result = super.build(params)\n\n const taxonomy = this.taxonomyName ? Surveys.getTaxonomyByName({ survey, taxonomyName: this.taxonomyName }) : null\n if (!taxonomy) {\n throw new Error(`Taxonomy with name \"${this.taxonomyName}\" not found`)\n }\n const nodeDef = Object.values(result)[0] as NodeDefTaxon\n nodeDef.props.taxonomyUuid = taxonomy.uuid\n\n return result\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"surveyBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/surveyBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { LanguageCode } from '../../../language'\nimport { Survey, SurveyFactory, SurveyRefDataFactory, Surveys } from '../../../survey'\nimport { Category, CategoryItem } from '../../../category'\nimport { Taxon, Taxonomy } from '../../../taxonomy'\nimport { User } from '../../../auth'\nimport { NodeDefEntityBuilder } from './nodeDefEntityBuilder'\nimport { CategoryBuilder } from './categoryBuilder'\nimport { TaxonomyBuilder } from './taxonomyBuilder'\n\nexport class SurveyBuilder {\n private readonly user: User\n private readonly name: string\n private readonly label: string\n private readonly lang: LanguageCode\n private readonly rootDefBuilder: NodeDefEntityBuilder\n private categoryBuilders: CategoryBuilder[]\n private taxonomyBuilders: TaxonomyBuilder[]\n\n constructor(user: User, rootDefBuilder: NodeDefEntityBuilder) {\n this.user = user\n this.name = `do_not_use__test_${Date.now()}`\n this.label = 'DO NOT USE! Test'\n this.lang = LanguageCode.en\n this.rootDefBuilder = rootDefBuilder\n this.categoryBuilders = []\n this.taxonomyBuilders = []\n }\n\n categories(...categoryBuilders: CategoryBuilder[]): this {\n this.categoryBuilders = categoryBuilders\n return this\n }\n\n taxonomies(...taxonomyBuilders: TaxonomyBuilder[]): this {\n this.taxonomyBuilders = taxonomyBuilders\n return this\n }\n\n private buildCategories(): {\n categoriesByUuid: { [categoryUuid: string]: Category }\n itemsByCategoryUuid: { [categoryUuid: string]: CategoryItem[] }\n } {\n const categoriesByUuid: { [categoryUuid: string]: Category } = {}\n const itemsByCategoryUuid: { [categoryUuid: string]: CategoryItem[] } = {}\n\n this.categoryBuilders.forEach((categoryBuilder) => {\n const { category, items } = categoryBuilder.build()\n itemsByCategoryUuid[category.uuid] = items\n categoriesByUuid[category.uuid] = category\n })\n return { categoriesByUuid, itemsByCategoryUuid }\n }\n\n private buildTaxonomies(): {\n taxonomiesByUuid: { [taxonomyUuid: string]: Taxonomy }\n taxonIndex: { [taxonUuid: string]: Taxon }\n taxonUuidIndex: { [taxonomyUuid: string]: { [taxonCode: string]: string } }\n } {\n const taxonomiesByUuid: { [taxonomyUuid: string]: Taxonomy } = {}\n const taxonUuidIndex: { [taxonomyUuid: string]: { [taxonCode: string]: string } } = {}\n const taxonIndex: { [taxonUuid: string]: Taxon } = {}\n\n this.taxonomyBuilders.forEach((taxonomyBuilder) => {\n const { taxonomy, taxa } = taxonomyBuilder.build()\n\n taxonUuidIndex[taxonomy.uuid] = {}\n\n taxa.forEach((taxon) => {\n taxonUuidIndex[taxonomy.uuid][taxon.props.code] = taxon.uuid\n taxonIndex[taxon.uuid] = taxon\n })\n taxonomiesByUuid[taxonomy.uuid] = taxonomy\n })\n return { taxonomiesByUuid, taxonIndex, taxonUuidIndex }\n }\n\n async build(): Promise<Survey> {\n let survey = SurveyFactory.createInstance({\n name: this.name,\n ownerUuid: this.user.uuid,\n label: this.label,\n languages: [this.lang],\n })\n\n const { categoriesByUuid, itemsByCategoryUuid } = this.buildCategories()\n const { taxonomiesByUuid, taxonIndex, taxonUuidIndex } = this.buildTaxonomies()\n\n survey.categories = categoriesByUuid\n survey.taxonomies = taxonomiesByUuid\n\n survey.nodeDefs = this.rootDefBuilder.build({ survey })\n\n survey = Surveys.buildAndAssocNodeDefsIndex(survey)\n\n survey.refData = SurveyRefDataFactory.createInstance({ itemsByCategoryUuid, taxonIndex, taxonUuidIndex })\n\n survey = await Surveys.buildAndAssocDependencyGraph(survey)\n return survey\n }\n}\n"]}
1
+ {"version":3,"file":"surveyBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/surveyBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { LanguageCode } from '../../../language'\nimport { Survey, SurveyFactory, SurveyRefDataFactory, Surveys } from '../../../survey'\nimport { Category, CategoryItem } from '../../../category'\nimport { Taxon, Taxonomy } from '../../../taxonomy'\nimport { User } from '../../../auth'\nimport { NodeDefEntityBuilder } from './nodeDefEntityBuilder'\nimport { CategoryBuilder } from './categoryBuilder'\nimport { TaxonomyBuilder } from './taxonomyBuilder'\n\nexport class SurveyBuilder {\n private readonly user: User\n private readonly name: string\n private readonly label: string\n private readonly lang: LanguageCode\n private readonly rootDefBuilder: NodeDefEntityBuilder\n private categoryBuilders: CategoryBuilder[]\n private taxonomyBuilders: TaxonomyBuilder[]\n\n constructor(user: User, rootDefBuilder: NodeDefEntityBuilder) {\n this.user = user\n this.name = `do_not_use__test_${Date.now()}`\n this.label = 'DO NOT USE! Test'\n this.lang = LanguageCode.en\n this.rootDefBuilder = rootDefBuilder\n this.categoryBuilders = []\n this.taxonomyBuilders = []\n }\n\n categories(...categoryBuilders: CategoryBuilder[]): this {\n this.categoryBuilders = categoryBuilders\n return this\n }\n\n taxonomies(...taxonomyBuilders: TaxonomyBuilder[]): this {\n this.taxonomyBuilders = taxonomyBuilders\n return this\n }\n\n private buildCategories(): {\n categoriesByUuid: { [categoryUuid: string]: Category }\n itemsByCategoryUuid: { [categoryUuid: string]: CategoryItem[] }\n } {\n const categoriesByUuid: { [categoryUuid: string]: Category } = {}\n const itemsByCategoryUuid: { [categoryUuid: string]: CategoryItem[] } = {}\n\n this.categoryBuilders.forEach((categoryBuilder) => {\n const { category, items } = categoryBuilder.build()\n itemsByCategoryUuid[category.uuid] = items\n categoriesByUuid[category.uuid] = category\n })\n return { categoriesByUuid, itemsByCategoryUuid }\n }\n\n private buildTaxonomies(): {\n taxonomiesByUuid: { [taxonomyUuid: string]: Taxonomy }\n taxonIndex: { [taxonUuid: string]: Taxon }\n taxonUuidIndex: { [taxonomyUuid: string]: { [taxonCode: string]: string } }\n } {\n const taxonomiesByUuid: { [taxonomyUuid: string]: Taxonomy } = {}\n const taxonUuidIndex: { [taxonomyUuid: string]: { [taxonCode: string]: string } } = {}\n const taxonIndex: { [taxonUuid: string]: Taxon } = {}\n\n this.taxonomyBuilders.forEach((taxonomyBuilder) => {\n const { taxonomy, taxa } = taxonomyBuilder.build()\n\n taxonUuidIndex[taxonomy.uuid] = {}\n\n taxa.forEach((taxon) => {\n taxonUuidIndex[taxonomy.uuid][taxon.props.code] = taxon.uuid\n taxonIndex[taxon.uuid] = taxon\n })\n taxonomiesByUuid[taxonomy.uuid] = taxonomy\n })\n return { taxonomiesByUuid, taxonIndex, taxonUuidIndex }\n }\n\n async build(): Promise<Survey> {\n let survey = SurveyFactory.createInstance({\n name: this.name,\n ownerUuid: this.user.uuid,\n label: this.label,\n languages: [this.lang],\n })\n\n const { categoriesByUuid, itemsByCategoryUuid } = this.buildCategories()\n const { taxonomiesByUuid, taxonIndex, taxonUuidIndex } = this.buildTaxonomies()\n\n survey.categories = categoriesByUuid\n survey.taxonomies = taxonomiesByUuid\n\n survey.nodeDefs = this.rootDefBuilder.build({ survey })\n\n survey = Surveys.buildAndAssocNodeDefsIndex(survey)\n\n survey.refData = SurveyRefDataFactory.createInstance({ itemsByCategoryUuid, taxonIndex, taxonUuidIndex })\n\n survey = await Surveys.buildAndAssocDependencyGraph(survey)\n return survey\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"taxonBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/taxonBuilder.ts"],"names":[],"mappings":";;;AAAA,gDAAwG;AAExG,MAAa,YAAY;IAQvB,YAAY,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,cAAsB;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,IAAY;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,gCAAqB,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAkC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,OAAO,uBAAY,CAAC,cAAc,CAAC;YACjC,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC;YACD,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF;AA1CD,oCA0CC","sourcesContent":["import { Taxonomy, Taxon, TaxonFactory, VernacularName, VernacularNameFactory } from '../../../taxonomy'\n\nexport class TaxonBuilder {\n private readonly code: string\n private readonly family: string\n private readonly genus: string\n private readonly scientificName: string\n private extraProps: { [key: string]: any }\n private readonly vernacularNames: { [key: string]: VernacularName[] }\n\n constructor(code: string, family: string, genus: string, scientificName: string) {\n this.code = code\n this.family = family\n this.genus = genus\n this.scientificName = scientificName\n this.extraProps = {}\n this.vernacularNames = {}\n }\n\n vernacularName(lang: string, name: string): this {\n const names = this.vernacularNames[lang] || []\n names.push(VernacularNameFactory.createInstance({ lang, name }))\n this.vernacularNames[lang] = names\n return this\n }\n\n extra(extraProps: { [key: string]: any }): this {\n this.extraProps = extraProps\n return this\n }\n\n build(taxonomy: Taxonomy): Taxon {\n return TaxonFactory.createInstance({\n props: {\n code: this.code,\n extra: this.extraProps,\n family: this.family,\n genus: this.genus,\n scientificName: this.scientificName,\n },\n taxonomyUuid: taxonomy.uuid,\n vernacularNames: this.vernacularNames,\n })\n }\n}\n"]}
1
+ {"version":3,"file":"taxonBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/taxonBuilder.ts"],"names":[],"mappings":";;;AAAA,gDAAwG;AAExG;IAQE,YAAY,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,cAAsB;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,IAAY;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,gCAAqB,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAkC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,OAAO,uBAAY,CAAC,cAAc,CAAC;YACjC,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC;YACD,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { Taxonomy, Taxon, TaxonFactory, VernacularName, VernacularNameFactory } from '../../../taxonomy'\n\nexport class TaxonBuilder {\n private readonly code: string\n private readonly family: string\n private readonly genus: string\n private readonly scientificName: string\n private extraProps: { [key: string]: any }\n private readonly vernacularNames: { [key: string]: VernacularName[] }\n\n constructor(code: string, family: string, genus: string, scientificName: string) {\n this.code = code\n this.family = family\n this.genus = genus\n this.scientificName = scientificName\n this.extraProps = {}\n this.vernacularNames = {}\n }\n\n vernacularName(lang: string, name: string): this {\n const names = this.vernacularNames[lang] || []\n names.push(VernacularNameFactory.createInstance({ lang, name }))\n this.vernacularNames[lang] = names\n return this\n }\n\n extra(extraProps: { [key: string]: any }): this {\n this.extraProps = extraProps\n return this\n }\n\n build(taxonomy: Taxonomy): Taxon {\n return TaxonFactory.createInstance({\n props: {\n code: this.code,\n extra: this.extraProps,\n family: this.family,\n genus: this.genus,\n scientificName: this.scientificName,\n },\n taxonomyUuid: taxonomy.uuid,\n vernacularNames: this.vernacularNames,\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomyBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/taxonomyBuilder.ts"],"names":[],"mappings":";;;AACA,gDAAoE;AAGpE,MAAa,eAAe;IAK1B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,GAAG,aAA6B;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,aAAa,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,aAA4B;QACrC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,MAAM,QAAQ,GAAG,0BAAe,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACjH,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEvF,OAAO;YACL,QAAQ;YACR,IAAI;SACL,CAAA;IACH,CAAC;CACF;AA9BD,0CA8BC","sourcesContent":["import { ExtraPropDefs } from '../../../extraProp'\nimport { Taxonomy, TaxonomyFactory, Taxon } from '../../../taxonomy'\nimport { TaxonBuilder } from './taxonBuilder'\n\nexport class TaxonomyBuilder {\n private readonly name: string\n private taxonBuilders: TaxonBuilder[]\n private _extraProps: ExtraPropDefs\n\n constructor(name: string) {\n this.name = name\n this.taxonBuilders = []\n this._extraProps = {}\n }\n\n taxa(...taxonBuilders: TaxonBuilder[]): this {\n this.taxonBuilders = [...taxonBuilders]\n return this\n }\n\n extraProps(extraPropsDef: ExtraPropDefs): this {\n this._extraProps = extraPropsDef\n return this\n }\n\n build(): { taxonomy: Taxonomy; taxa: Taxon[] } {\n const taxonomy = TaxonomyFactory.createInstance({ props: { name: this.name, extraPropsDefs: this._extraProps } })\n const taxa = this.taxonBuilders.flatMap((taxonBuilder) => taxonBuilder.build(taxonomy))\n\n return {\n taxonomy,\n taxa,\n }\n }\n}\n"]}
1
+ {"version":3,"file":"taxonomyBuilder.js","sourceRoot":"","sources":["../../../../src/tests/builder/surveyBuilder/taxonomyBuilder.ts"],"names":[],"mappings":";;;AACA,gDAAoE;AAGpE;IAKE,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,GAAG,aAA6B;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,aAAa,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,aAA4B;QACrC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,MAAM,QAAQ,GAAG,0BAAe,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACjH,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEvF,OAAO;YACL,QAAQ;YACR,IAAI;SACL,CAAA;IACH,CAAC;CACF","sourcesContent":["import { ExtraPropDefs } from '../../../extraProp'\nimport { Taxonomy, TaxonomyFactory, Taxon } from '../../../taxonomy'\nimport { TaxonBuilder } from './taxonBuilder'\n\nexport class TaxonomyBuilder {\n private readonly name: string\n private taxonBuilders: TaxonBuilder[]\n private _extraProps: ExtraPropDefs\n\n constructor(name: string) {\n this.name = name\n this.taxonBuilders = []\n this._extraProps = {}\n }\n\n taxa(...taxonBuilders: TaxonBuilder[]): this {\n this.taxonBuilders = [...taxonBuilders]\n return this\n }\n\n extraProps(extraPropsDef: ExtraPropDefs): this {\n this._extraProps = extraPropsDef\n return this\n }\n\n build(): { taxonomy: Taxonomy; taxa: Taxon[] } {\n const taxonomy = TaxonomyFactory.createInstance({ props: { name: this.name, extraPropsDefs: this._extraProps } })\n const taxa = this.taxonBuilders.flatMap((taxonBuilder) => taxonBuilder.build(taxonomy))\n\n return {\n taxonomy,\n taxa,\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"assoc.js","sourceRoot":"","sources":["../../../src/utils/_objects/assoc.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAEhC,MAAM,KAAK,GAAG,CAAC,MAAoE,EAAO,EAAE;IACjG,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IACvD,OAAO,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;AAC5D,CAAC,CAAA;AAHY,QAAA,KAAK,SAGjB","sourcesContent":["import { assocPath } from './assocPath'\n\nexport const assoc = (params: { obj: any; prop: string; value: any; sideEffect?: boolean }): any => {\n const { obj, prop, value, sideEffect = false } = params\n return assocPath({ obj, path: [prop], value, sideEffect })\n}\n"]}
1
+ {"version":3,"file":"assoc.js","sourceRoot":"","sources":["../../../src/utils/_objects/assoc.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAEhC,MAAM,KAAK,GAAG,CAAC,MAAoE,EAAO,EAAE;IACjG,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IACvD,OAAO,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;AAC5D,CAAC,CAAA;AAHY,QAAA,KAAK,GAAL,KAAK,CAGjB","sourcesContent":["import { assocPath } from './assocPath'\n\nexport const assoc = (params: { obj: any; prop: string; value: any; sideEffect?: boolean }): any => {\n const { obj, prop, value, sideEffect = false } = params\n return assocPath({ obj, path: [prop], value, sideEffect })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"assocPath.js","sourceRoot":"","sources":["../../../src/utils/_objects/assocPath.ts"],"names":[],"mappings":";;;AAAA,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,SAAiB,EAAE,KAAU,EAAE,UAAmB,EAAO,EAAE;IACvG,0DAA0D;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAM,GAAG,CAAE,CAAA;IAChD,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAA;IAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,UAAU,CAAC,QAAQ,CAAC;QAClB,SAAS,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,QAAQ,CAAC,KAAI,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IACnH,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAEM,MAAM,SAAS,GAAG,CAAC,MAAsE,EAAO,EAAE;IACvG,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IACvD,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;AACpD,CAAC,CAAA;AAHY,QAAA,SAAS,aAGrB","sourcesContent":["const _assocPath = (obj: any, path: string[], pathIndex: number, value: any, sideEffect: boolean): any => {\n // only one copy per path level (when sideEffect is false)\n const objUpdated = sideEffect ? obj : { ...obj }\n if (pathIndex >= path.length) return objUpdated\n\n const pathPart = path[pathIndex]\n objUpdated[pathPart] =\n pathIndex === path.length - 1 ? value : _assocPath(obj?.[pathPart] || {}, path, pathIndex + 1, value, sideEffect)\n return objUpdated\n}\n\nexport const assocPath = (params: { obj: any; path: string[]; value: any; sideEffect?: boolean }): any => {\n const { obj, path, value, sideEffect = false } = params\n return _assocPath(obj, path, 0, value, sideEffect)\n}\n"]}
1
+ {"version":3,"file":"assocPath.js","sourceRoot":"","sources":["../../../src/utils/_objects/assocPath.ts"],"names":[],"mappings":";;;AAAA,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,SAAiB,EAAE,KAAU,EAAE,UAAmB,EAAO,EAAE;IACvG,0DAA0D;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAM,GAAG,CAAE,CAAA;IAChD,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAA;IAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,UAAU,CAAC,QAAQ,CAAC;QAClB,SAAS,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,QAAQ,CAAC,KAAI,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IACnH,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAEM,MAAM,SAAS,GAAG,CAAC,MAAsE,EAAO,EAAE;IACvG,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IACvD,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;AACpD,CAAC,CAAA;AAHY,QAAA,SAAS,GAAT,SAAS,CAGrB","sourcesContent":["const _assocPath = (obj: any, path: string[], pathIndex: number, value: any, sideEffect: boolean): any => {\n // only one copy per path level (when sideEffect is false)\n const objUpdated = sideEffect ? obj : { ...obj }\n if (pathIndex >= path.length) return objUpdated\n\n const pathPart = path[pathIndex]\n objUpdated[pathPart] =\n pathIndex === path.length - 1 ? value : _assocPath(obj?.[pathPart] || {}, path, pathIndex + 1, value, sideEffect)\n return objUpdated\n}\n\nexport const assocPath = (params: { obj: any; path: string[]; value: any; sideEffect?: boolean }): any => {\n const { obj, path, value, sideEffect = false } = params\n return _assocPath(obj, path, 0, value, sideEffect)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"camelize.js","sourceRoot":"","sources":["../../../src/utils/_objects/camelize.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AAA5F,QAAA,UAAU,cAAkF;AAElG,MAAM,KAAK,GAAG,CAAC,OAAsF,EAAO,EAAE;IACnH,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC5E,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;QACjG,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,GAAG,CAAC,KAAK,CAAC,GAAG,IAAA,aAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;YACpE,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,MAA8B,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,cAAc,GAAW,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,eAAe,GACnB,OAAO,IAAI,gBAAgB,KAAK,CAAC;YAC/B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAA,aAAK,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAA;QAEhF,MAAM,CAAC,cAAc,CAAC,GAAG,eAAe,CAAA;QAExC,IAAI,UAAU,IAAI,CAAC,OAAO,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,KAAK,SAkCjB;AAED;;;;;;;;GAQG;AAEI,MAAM,QAAQ,GAAG,CACtB,MAAW,EACX,UAA4E,EAAE,EACzE,EAAE;IACP,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAA,kBAAU,EAAC,MAAgB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAClD,OAAO,IAAA,aAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA;AAVY,QAAA,QAAQ,YAUpB","sourcesContent":["export const _camelCase = (str: string): string => str.replace(/[_.-](\\w|$)/g, (_, x) => x.toUpperCase())\n\nexport const _walk = (options: { object: any; skip?: string[]; limitToLevel?: number; sideEffect?: boolean }): any => {\n const { object, skip = [], limitToLevel = Number.NaN, sideEffect } = options\n if (!object || !(object instanceof Object) || object instanceof Date || object instanceof RegExp) {\n return object\n }\n if (Array.isArray(object)) {\n return object.reduce(\n (acc, item, index) => {\n acc[index] = _walk({ object: item, skip, limitToLevel, sideEffect })\n return acc\n },\n sideEffect ? object : []\n )\n }\n const nextLimitToLevel = limitToLevel ? limitToLevel - 1 : undefined\n\n return Object.entries(object).reduce(\n (objAcc: { [key: string]: any }, [key, value]) => {\n const skipped = skip.includes(key)\n const keyTransformed: string = skipped ? key : _camelCase(key)\n const valueTranformed =\n skipped || nextLimitToLevel === 0\n ? value\n : _walk({ object: value, skip, limitToLevel: nextLimitToLevel, sideEffect })\n\n objAcc[keyTransformed] = valueTranformed\n\n if (sideEffect && !skipped && keyTransformed !== key) {\n delete objAcc[key]\n }\n return objAcc\n },\n sideEffect ? object : {}\n )\n}\n\n/**\n * Recursively transform the keys of the specified object to camel-case.\n *\n * @param {!object} [object] - Object to be camelized\n * @param {!object} [options] - The camelize options.\n * @param {Array} [options.skip=array[]] - An optional list of keys to skip.\n *\n * @returns {any} - The object with keys in camel case or the value in camel case.\n */\n\nexport const camelize = (\n object: any,\n options: { skip?: string[]; limitToLevel?: number; sideEffect?: boolean } = {}\n): any => {\n if (typeof object === 'string') {\n return _camelCase(object as string)\n }\n\n const { skip, limitToLevel, sideEffect } = options\n return _walk({ object, skip, limitToLevel, sideEffect })\n}\n"]}
1
+ {"version":3,"file":"camelize.js","sourceRoot":"","sources":["../../../src/utils/_objects/camelize.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AAA5F,QAAA,UAAU,GAAV,UAAU,CAAkF;AAElG,MAAM,KAAK,GAAG,CAAC,OAAsF,EAAO,EAAE;IACnH,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC5E,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;QACjG,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,GAAG,CAAC,KAAK,CAAC,GAAG,IAAA,QAAA,KAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;YACpE,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;IACH,CAAC;IACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,MAA8B,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,cAAc,GAAW,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,QAAA,UAAU,EAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,eAAe,GACnB,OAAO,IAAI,gBAAgB,KAAK,CAAC;YAC/B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAA,QAAA,KAAK,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAA;QAEhF,MAAM,CAAC,cAAc,CAAC,GAAG,eAAe,CAAA;QAExC,IAAI,UAAU,IAAI,CAAC,OAAO,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,KAAK,GAAL,KAAK,CAkCjB;AAED;;;;;;;;GAQG;AAEI,MAAM,QAAQ,GAAG,CACtB,MAAW,EACX,OAAO,GAAqE,EAAE,EACzE,EAAE;IACP,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAA,QAAA,UAAU,EAAC,MAAgB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAClD,OAAO,IAAA,QAAA,KAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA;AAVY,QAAA,QAAQ,GAAR,QAAQ,CAUpB","sourcesContent":["export const _camelCase = (str: string): string => str.replace(/[_.-](\\w|$)/g, (_, x) => x.toUpperCase())\n\nexport const _walk = (options: { object: any; skip?: string[]; limitToLevel?: number; sideEffect?: boolean }): any => {\n const { object, skip = [], limitToLevel = Number.NaN, sideEffect } = options\n if (!object || !(object instanceof Object) || object instanceof Date || object instanceof RegExp) {\n return object\n }\n if (Array.isArray(object)) {\n return object.reduce(\n (acc, item, index) => {\n acc[index] = _walk({ object: item, skip, limitToLevel, sideEffect })\n return acc\n },\n sideEffect ? object : []\n )\n }\n const nextLimitToLevel = limitToLevel ? limitToLevel - 1 : undefined\n\n return Object.entries(object).reduce(\n (objAcc: { [key: string]: any }, [key, value]) => {\n const skipped = skip.includes(key)\n const keyTransformed: string = skipped ? key : _camelCase(key)\n const valueTranformed =\n skipped || nextLimitToLevel === 0\n ? value\n : _walk({ object: value, skip, limitToLevel: nextLimitToLevel, sideEffect })\n\n objAcc[keyTransformed] = valueTranformed\n\n if (sideEffect && !skipped && keyTransformed !== key) {\n delete objAcc[key]\n }\n return objAcc\n },\n sideEffect ? object : {}\n )\n}\n\n/**\n * Recursively transform the keys of the specified object to camel-case.\n *\n * @param {!object} [object] - Object to be camelized\n * @param {!object} [options] - The camelize options.\n * @param {Array} [options.skip=array[]] - An optional list of keys to skip.\n *\n * @returns {any} - The object with keys in camel case or the value in camel case.\n */\n\nexport const camelize = (\n object: any,\n options: { skip?: string[]; limitToLevel?: number; sideEffect?: boolean } = {}\n): any => {\n if (typeof object === 'string') {\n return _camelCase(object as string)\n }\n\n const { skip, limitToLevel, sideEffect } = options\n return _walk({ object, skip, limitToLevel, sideEffect })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../src/utils/_objects/deepMerge.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAW,EAAE;IACtC,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACjE,CAAC,CAAA;AAED;;;;GAIG;AACI,MAAM,SAAS,GAAG,CACvB,MAA2B,EAC3B,GAAG,OAAmC,EACb,EAAE;IAC3B,MAAM,OAAO,qBAAQ,MAAM,CAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAA;IAEnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAA,iBAAS,EAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAA;AACvC,CAAC,CAAA;AApBY,QAAA,SAAS,aAoBrB","sourcesContent":["/**\n * Simple object check.\n * @param item\n * @returns {boolean}\n */\nconst isObject = (item: any): boolean => {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\n/**\n * Deep merge two objects.\n * @param target\n * @param ...sources\n */\nexport const deepMerge = (\n target: Record<string, any>,\n ...sources: Array<Record<string, any>>\n): Record<string, unknown> => {\n const _target = { ...target }\n if (!sources.length) return _target\n\n const source = sources.shift()\n\n if (isObject(_target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n _target[key] = deepMerge(_target[key] || {}, source[key])\n } else {\n Object.assign(_target, { [key]: source[key] })\n }\n }\n }\n\n return deepMerge(_target, ...sources)\n}\n"]}
1
+ {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../src/utils/_objects/deepMerge.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAW,EAAE;IACtC,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACjE,CAAC,CAAA;AAED;;;;GAIG;AACI,MAAM,SAAS,GAAG,CACvB,MAA2B,EAC3B,GAAG,OAAmC,EACb,EAAE;IAC3B,MAAM,OAAO,qBAAQ,MAAM,CAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAA;IAEnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAA,QAAA,SAAS,EAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAA,QAAA,SAAS,EAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAA;AACvC,CAAC,CAAA;AApBY,QAAA,SAAS,GAAT,SAAS,CAoBrB","sourcesContent":["/**\n * Simple object check.\n * @param item\n * @returns {boolean}\n */\nconst isObject = (item: any): boolean => {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\n/**\n * Deep merge two objects.\n * @param target\n * @param ...sources\n */\nexport const deepMerge = (\n target: Record<string, any>,\n ...sources: Array<Record<string, any>>\n): Record<string, unknown> => {\n const _target = { ...target }\n if (!sources.length) return _target\n\n const source = sources.shift()\n\n if (isObject(_target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n _target[key] = deepMerge(_target[key] || {}, source[key])\n } else {\n Object.assign(_target, { [key]: source[key] })\n }\n }\n }\n\n return deepMerge(_target, ...sources)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteEmptyProps.js","sourceRoot":"","sources":["../../../src/utils/_objects/deleteEmptyProps.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAE5B,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAAO,EAAE;IAChD,MAAM,CAAC,OAAO,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACjD,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAPY,QAAA,gBAAgB,oBAO5B","sourcesContent":["import { isEmpty } from './isEmpty'\n\nexport const deleteEmptyProps = (obj: any): any => {\n Object.entries(obj ?? {}).forEach(([key, value]) => {\n if (isEmpty(value)) {\n delete obj[key]\n }\n })\n return obj\n}\n"]}
1
+ {"version":3,"file":"deleteEmptyProps.js","sourceRoot":"","sources":["../../../src/utils/_objects/deleteEmptyProps.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAE5B,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAAO,EAAE;IAChD,MAAM,CAAC,OAAO,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACjD,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAPY,QAAA,gBAAgB,GAAhB,gBAAgB,CAO5B","sourcesContent":["import { isEmpty } from './isEmpty'\n\nexport const deleteEmptyProps = (obj: any): any => {\n Object.entries(obj ?? {}).forEach(([key, value]) => {\n if (isEmpty(value)) {\n delete obj[key]\n }\n })\n return obj\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"difference.js","sourceRoot":"","sources":["../../../src/utils/_objects/difference.ts"],"names":[],"mappings":";;;;;;AAAA,kFAAkD;AAElD,uCAAmC;AACnC,2CAAuC;AACvC,uCAAmC;AAE5B,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,WAAgB,EAAoB,EAAE;IAC5E,MAAM,UAAU,GAAG,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAA;IACvC,MAAM,WAAW,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAA;IACnC,MAAM,eAAe,GAAG,IAAA,+BAAc,EAAC,UAAU,EAAE,WAAW,EAAE,iBAAO,CAAC,CAAA;IACxE,OAAO,IAAA,qBAAS,EAAC,eAAe,CAAC,CAAA;AACnC,CAAC,CAAA;AALY,QAAA,UAAU,cAKtB","sourcesContent":["import differenceWith from 'lodash.differencewith'\n\nimport { isEqual } from './isEqual'\nimport { fromPairs } from './fromPairs'\nimport { toPairs } from './toPairs'\n\nexport const difference = (object: any, otherObject: any): Record<any, any> => {\n const pairsOther = toPairs(otherObject)\n const pairsObject = toPairs(object)\n const pairsDifference = differenceWith(pairsOther, pairsObject, isEqual)\n return fromPairs(pairsDifference)\n}\n"]}
1
+ {"version":3,"file":"difference.js","sourceRoot":"","sources":["../../../src/utils/_objects/difference.ts"],"names":[],"mappings":";;;;;;AAAA,kFAAkD;AAElD,uCAAmC;AACnC,2CAAuC;AACvC,uCAAmC;AAE5B,MAAM,UAAU,GAAG,CAAC,MAAW,EAAE,WAAgB,EAAoB,EAAE;IAC5E,MAAM,UAAU,GAAG,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAA;IACvC,MAAM,WAAW,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAA;IACnC,MAAM,eAAe,GAAG,IAAA,+BAAc,EAAC,UAAU,EAAE,WAAW,EAAE,iBAAO,CAAC,CAAA;IACxE,OAAO,IAAA,qBAAS,EAAC,eAAe,CAAC,CAAA;AACnC,CAAC,CAAA;AALY,QAAA,UAAU,GAAV,UAAU,CAKtB","sourcesContent":["import differenceWith from 'lodash.differencewith'\n\nimport { isEqual } from './isEqual'\nimport { fromPairs } from './fromPairs'\nimport { toPairs } from './toPairs'\n\nexport const difference = (object: any, otherObject: any): Record<any, any> => {\n const pairsOther = toPairs(otherObject)\n const pairsObject = toPairs(object)\n const pairsDifference = differenceWith(pairsOther, pairsObject, isEqual)\n return fromPairs(pairsDifference)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dissoc.js","sourceRoot":"","sources":["../../../src/utils/_objects/dissoc.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAElC,MAAM,MAAM,GAAG,CAAC,MAAwD,EAAO,EAAE;IACtF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IACxC,OAAO,IAAA,uBAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAHY,QAAA,MAAM,UAGlB","sourcesContent":["import { dissocPath } from './dissocPath'\n\nexport const dissoc = (params: { obj: any; prop: string; sideEffect?: boolean }): any => {\n const { obj, prop, sideEffect } = params\n return dissocPath({ obj, path: [prop], sideEffect })\n}\n"]}
1
+ {"version":3,"file":"dissoc.js","sourceRoot":"","sources":["../../../src/utils/_objects/dissoc.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAElC,MAAM,MAAM,GAAG,CAAC,MAAwD,EAAO,EAAE;IACtF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IACxC,OAAO,IAAA,uBAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAHY,QAAA,MAAM,GAAN,MAAM,CAGlB","sourcesContent":["import { dissocPath } from './dissocPath'\n\nexport const dissoc = (params: { obj: any; prop: string; sideEffect?: boolean }): any => {\n const { obj, prop, sideEffect } = params\n return dissocPath({ obj, path: [prop], sideEffect })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dissocPath.js","sourceRoot":"","sources":["../../../src/utils/_objects/dissocPath.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAE5B,MAAM,UAAU,GAAG,CAAmB,MAAwD,EAAK,EAAE;IAC1G,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAChD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAM,GAAG,CAAE,CAAA;IAEhD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,mBAAmB,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAA;IACrD,MAAM,aAAa,GAAG,mBAA8C,CAAA;IAEpE,MAAM,OAAO,GAAQ,UAAU,CAAC,aAAa,CAAC,CAAA;IAE9C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,iBAAO,EAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC,aAAa,CAAC,CAAA;QAChC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,oEAAoE;IACpE,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAA;IAErF,IAAI,IAAA,iBAAO,EAAC,cAAc,CAAC,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAA;QAChC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,UAAU,CAAC,aAAa,CAAC,GAAG,cAAc,CAAA;IAC1C,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AA5BY,QAAA,UAAU,cA4BtB","sourcesContent":["import { isEmpty } from './isEmpty'\n\nexport const dissocPath = <T extends object>(params: { obj: T; path: string[]; sideEffect?: boolean }): T => {\n const { obj, path, sideEffect = false } = params\n const objUpdated = sideEffect ? obj : { ...obj }\n\n if (path.length === 0) {\n return objUpdated\n }\n\n const [firstPathPartString, ...otherPathParts] = path\n const firstPathPart = firstPathPartString as keyof typeof objUpdated\n\n const objPart: any = objUpdated[firstPathPart]\n\n if (otherPathParts.length === 0 || isEmpty(objPart)) {\n delete objUpdated[firstPathPart]\n return objUpdated\n }\n\n // objPart is copied by dissocPath itself (when sideEffect is false)\n const objPartUpdated = dissocPath({ obj: objPart, path: otherPathParts, sideEffect })\n\n if (isEmpty(objPartUpdated)) {\n delete objUpdated[firstPathPart]\n return objUpdated\n }\n\n objUpdated[firstPathPart] = objPartUpdated\n return objUpdated\n}\n"]}
1
+ {"version":3,"file":"dissocPath.js","sourceRoot":"","sources":["../../../src/utils/_objects/dissocPath.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAE5B,MAAM,UAAU,GAAG,CAAmB,MAAwD,EAAK,EAAE;IAC1G,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAChD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAM,GAAG,CAAE,CAAA;IAEhD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,mBAAmB,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAA;IACrD,MAAM,aAAa,GAAG,mBAA8C,CAAA;IAEpE,MAAM,OAAO,GAAQ,UAAU,CAAC,aAAa,CAAC,CAAA;IAE9C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,iBAAO,EAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC,aAAa,CAAC,CAAA;QAChC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,oEAAoE;IACpE,MAAM,cAAc,GAAG,IAAA,QAAA,UAAU,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAA;IAErF,IAAI,IAAA,iBAAO,EAAC,cAAc,CAAC,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAA;QAChC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,UAAU,CAAC,aAAa,CAAC,GAAG,cAAc,CAAA;IAC1C,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AA5BY,QAAA,UAAU,GAAV,UAAU,CA4BtB","sourcesContent":["import { isEmpty } from './isEmpty'\n\nexport const dissocPath = <T extends object>(params: { obj: T; path: string[]; sideEffect?: boolean }): T => {\n const { obj, path, sideEffect = false } = params\n const objUpdated = sideEffect ? obj : { ...obj }\n\n if (path.length === 0) {\n return objUpdated\n }\n\n const [firstPathPartString, ...otherPathParts] = path\n const firstPathPart = firstPathPartString as keyof typeof objUpdated\n\n const objPart: any = objUpdated[firstPathPart]\n\n if (otherPathParts.length === 0 || isEmpty(objPart)) {\n delete objUpdated[firstPathPart]\n return objUpdated\n }\n\n // objPart is copied by dissocPath itself (when sideEffect is false)\n const objPartUpdated = dissocPath({ obj: objPart, path: otherPathParts, sideEffect })\n\n if (isEmpty(objPartUpdated)) {\n delete objUpdated[firstPathPart]\n return objUpdated\n }\n\n objUpdated[firstPathPart] = objPartUpdated\n return objUpdated\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dissocPathIfEmpty.js","sourceRoot":"","sources":["../../../src/utils/_objects/dissocPathIfEmpty.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,uCAAmC;AACnC,iCAA6B;AAEtB,MAAM,iBAAiB,GAAG,CAAmB,MAAwD,EAAK,EAAE;IACjH,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IACvC,IAAI,IAAA,iBAAO,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClC,OAAO,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AANY,QAAA,iBAAiB,qBAM7B","sourcesContent":["import { dissocPath } from './dissocPath'\nimport { isEmpty } from './isEmpty'\nimport { path } from './path'\n\nexport const dissocPathIfEmpty = <T extends object>(params: { obj: T; path: string[]; sideEffect?: boolean }): T => {\n const { obj, path: pathParam } = params\n if (isEmpty(path(pathParam)(obj))) {\n return dissocPath(params)\n }\n return obj\n}\n"]}
1
+ {"version":3,"file":"dissocPathIfEmpty.js","sourceRoot":"","sources":["../../../src/utils/_objects/dissocPathIfEmpty.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,uCAAmC;AACnC,iCAA6B;AAEtB,MAAM,iBAAiB,GAAG,CAAmB,MAAwD,EAAK,EAAE;IACjH,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IACvC,IAAI,IAAA,iBAAO,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAClC,OAAO,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AANY,QAAA,iBAAiB,GAAjB,iBAAiB,CAM7B","sourcesContent":["import { dissocPath } from './dissocPath'\nimport { isEmpty } from './isEmpty'\nimport { path } from './path'\n\nexport const dissocPathIfEmpty = <T extends object>(params: { obj: T; path: string[]; sideEffect?: boolean }): T => {\n const { obj, path: pathParam } = params\n if (isEmpty(path(pathParam)(obj))) {\n return dissocPath(params)\n }\n return obj\n}\n"]}
@@ -1,57 +1,43 @@
1
+ import { assoc } from './assoc';
2
+ import { assocPath } from './assocPath';
3
+ import { camelize } from './camelize';
4
+ import { deepMerge } from './deepMerge';
5
+ import { difference } from './difference';
6
+ import { deleteEmptyProps } from './deleteEmptyProps';
7
+ import { dissoc } from './dissoc';
8
+ import { dissocPath } from './dissocPath';
9
+ import { dissocPathIfEmpty } from './dissocPathIfEmpty';
10
+ import { isEmpty } from './isEmpty';
11
+ import { isNotEmpty } from './isNotEmpty';
12
+ import { isNil } from './isNil';
13
+ import { parse } from './parse';
14
+ import { path } from './path';
15
+ import { propertyOf } from './propertyOf';
16
+ import { setInPath } from './setInPath';
17
+ import { stringify } from './stringify';
1
18
  export declare const Objects: {
2
- assoc: (params: {
3
- obj: any;
4
- prop: string;
5
- value: any;
6
- sideEffect?: boolean;
7
- }) => any;
8
- assocPath: (params: {
9
- obj: any;
10
- path: string[];
11
- value: any;
12
- sideEffect?: boolean;
13
- }) => any;
14
- camelize: (object: any, options?: {
15
- skip?: string[];
16
- limitToLevel?: number;
17
- sideEffect?: boolean;
18
- }) => any;
19
- deepMerge: (target: Record<string, any>, ...sources: Array<Record<string, any>>) => Record<string, unknown>;
20
- deleteEmptyProps: (obj: any) => any;
21
- difference: (object: any, otherObject: any) => Record<any, any>;
22
- dissoc: (params: {
23
- obj: any;
24
- prop: string;
25
- sideEffect?: boolean;
26
- }) => any;
27
- dissocPath: <T extends object>(params: {
28
- obj: T;
29
- path: string[];
30
- sideEffect?: boolean;
31
- }) => T;
32
- dissocPathIfEmpty: <T extends object>(params: {
33
- obj: T;
34
- path: string[];
35
- sideEffect?: boolean;
36
- }) => T;
19
+ assoc: typeof assoc;
20
+ assocPath: typeof assocPath;
21
+ camelize: typeof camelize;
22
+ deepMerge: typeof deepMerge;
23
+ deleteEmptyProps: typeof deleteEmptyProps;
24
+ difference: typeof difference;
25
+ dissoc: typeof dissoc;
26
+ dissocPath: typeof dissocPath;
27
+ dissocPathIfEmpty: typeof dissocPathIfEmpty;
37
28
  fromPairs: {
38
29
  <T>(pairs: import("lodash").List<[import("lodash").PropertyName, T]> | null | undefined): import("lodash").Dictionary<T>;
39
30
  (pairs: import("lodash").List<any[]> | null | undefined): import("lodash").Dictionary<any>;
40
31
  };
41
- isEmpty: (value: any) => boolean;
32
+ isEmpty: typeof isEmpty;
42
33
  isEqual: (value: any, other: any) => boolean;
43
- isNil: (value: any) => boolean;
44
- isNotEmpty: (value: any) => boolean;
45
- parse: (text: string | null | undefined) => object | Array<any> | null;
46
- path: (path: Array<string> | string) => (obj: any) => any;
47
- propertyOf: <T>(name: keyof T) => keyof T;
48
- setInPath: (params: {
49
- obj: any;
50
- path: string[];
51
- value: any;
52
- excludeEmpty?: boolean;
53
- }) => any;
54
- stringify: (object: any, _replacer?: (key: string, value: any) => any, space?: undefined) => string | null;
34
+ isNil: typeof isNil;
35
+ isNotEmpty: typeof isNotEmpty;
36
+ parse: typeof parse;
37
+ path: typeof path;
38
+ propertyOf: typeof propertyOf;
39
+ setInPath: typeof setInPath;
40
+ stringify: typeof stringify;
55
41
  toPairs: {
56
42
  <T>(object?: import("lodash").Dictionary<T> | import("lodash").NumericDictionary<T>): Array<[string, T]>;
57
43
  (object?: object): Array<[string, any]>;
@@ -1 +1 @@
1
- {"version":3,"file":"isEmpty.js","sourceRoot":"","sources":["../../../src/utils/_objects/isEmpty.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAE/B;;;;;GAKG;AACI,MAAM,OAAO,GAAG,CAAC,KAAU,EAAW,EAAE;IAC7C,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IAC3B,CAAC;IACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC5B,gKAAgK;QAChK,oEAAoE;QACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAxBY,QAAA,OAAO,WAwBnB","sourcesContent":["import { isNil } from './isNil'\n\n/**\n * Determines if the specified value is null, undefined, empty string, NaN, invalid date, empty object or empty array.\n *\n * @param {any} value - Value to verify.\n * @returns {boolean} True if the specified value is empty, false otherwise.\n */\nexport const isEmpty = (value: any): boolean => {\n if (isNil(value) || Number.isNaN(value)) {\n return true\n }\n if (typeof value === 'function') {\n return false\n }\n if (value.length !== undefined) {\n return value.length === 0\n }\n if (value instanceof Date) {\n return Number.isNaN(value.getTime())\n }\n if (value instanceof Object) {\n // Do not use Object.keys(obj).length. It is O(N) complexity because it creates an array containing all the property names only to get the length of that array.\n // Iterating over the object accomplishes the same goal but is O(1).\n for (const prop in value) {\n if (Object.hasOwn(value, prop)) {\n return false\n }\n }\n return true\n }\n return false\n}\n"]}
1
+ {"version":3,"file":"isEmpty.js","sourceRoot":"","sources":["../../../src/utils/_objects/isEmpty.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAE/B;;;;;GAKG;AACI,MAAM,OAAO,GAAG,CAAC,KAAU,EAAW,EAAE;IAC7C,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IAC3B,CAAC;IACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC5B,gKAAgK;QAChK,oEAAoE;QACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAxBY,QAAA,OAAO,GAAP,OAAO,CAwBnB","sourcesContent":["import { isNil } from './isNil'\n\n/**\n * Determines if the specified value is null, undefined, empty string, NaN, invalid date, empty object or empty array.\n *\n * @param {any} value - Value to verify.\n * @returns {boolean} True if the specified value is empty, false otherwise.\n */\nexport const isEmpty = (value: any): boolean => {\n if (isNil(value) || Number.isNaN(value)) {\n return true\n }\n if (typeof value === 'function') {\n return false\n }\n if (value.length !== undefined) {\n return value.length === 0\n }\n if (value instanceof Date) {\n return Number.isNaN(value.getTime())\n }\n if (value instanceof Object) {\n // Do not use Object.keys(obj).length. It is O(N) complexity because it creates an array containing all the property names only to get the length of that array.\n // Iterating over the object accomplishes the same goal but is O(1).\n for (const prop in value) {\n if (Object.hasOwn(value, prop)) {\n return false\n }\n }\n return true\n }\n return false\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"isNil.js","sourceRoot":"","sources":["../../../src/utils/_objects/isNil.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,KAAK,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAA;AAAtE,QAAA,KAAK,SAAiE","sourcesContent":["/**\n * Determines if the specified value is null or undefined.\n *\n * @param {any} value - Value to verify.\n * @returns {boolean} True if the specified value is null or undefined, false otherwise.\n */\nexport const isNil = (value: any): boolean => value === undefined || value === null\n"]}
1
+ {"version":3,"file":"isNil.js","sourceRoot":"","sources":["../../../src/utils/_objects/isNil.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,KAAK,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAA;AAAtE,QAAA,KAAK,GAAL,KAAK,CAAiE","sourcesContent":["/**\n * Determines if the specified value is null or undefined.\n *\n * @param {any} value - Value to verify.\n * @returns {boolean} True if the specified value is null or undefined, false otherwise.\n */\nexport const isNil = (value: any): boolean => value === undefined || value === null\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"isNotEmpty.js","sourceRoot":"","sources":["../../../src/utils/_objects/isNotEmpty.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,CAAA;AAArD,QAAA,UAAU,cAA2C","sourcesContent":["import { isEmpty } from './isEmpty'\n\n/**\n * Opposite of isEmpty.\n *\n * @param {any} value - Value to verify.\n * @returns {boolean} True if the specified value is not empty, false otherwise.\n */\nexport const isNotEmpty = (value: any): boolean => !isEmpty(value)\n"]}
1
+ {"version":3,"file":"isNotEmpty.js","sourceRoot":"","sources":["../../../src/utils/_objects/isNotEmpty.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,CAAA;AAArD,QAAA,UAAU,GAAV,UAAU,CAA2C","sourcesContent":["import { isEmpty } from './isEmpty'\n\n/**\n * Opposite of isEmpty.\n *\n * @param {any} value - Value to verify.\n * @returns {boolean} True if the specified value is not empty, false otherwise.\n */\nexport const isNotEmpty = (value: any): boolean => !isEmpty(value)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/utils/_objects/parse.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,mCAA+B;AAC/B,2CAA2C;AAE3C,MAAM,gCAAgC,GAA2B;IAC/D,GAAG;IACH,GAAG;CACJ,CAAA;AAED;;;;;;;GAOG;AACI,MAAM,KAAK,GAAG,CAAC,IAA+B,EAA8B,EAAE;IACnF,IAAI,IAAA,aAAK,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5B,IAAI,IAAA,iBAAO,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAE5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAc,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAChD,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,yBAAa,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,qBAAqB,GAAG,gCAAgC,CAAC,SAAS,CAAC,CAAA;YACzE,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,IAAA,aAAK,EAAC,KAAK,CAAC,yBAAa,CAAC,MAAM,CAAC,CAAe,CAAA;gBAC/D,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAhBY,QAAA,KAAK,SAgBjB","sourcesContent":["import { isEmpty } from './isEmpty'\nimport { isNil } from './isNil'\nimport { StringifyKeys } from './stringify'\n\nconst collectionConstructorByValueType: { [key: string]: any } = {\n Map,\n Set,\n}\n\n/**\n * Converts a JavaScript Object Notation (JSON) string to an object.\n * It handles objects, arrays, Map, Set, String, Number.\n * It is the inverse of stringify.\n *\n * @param {string | null | undefined} text - The string to parse.\n * @returns {*} - The parsed object.\n */\nexport const parse = (text: string | null | undefined): object | Array<any> | null => {\n if (isNil(text)) return null\n if (isEmpty(text)) return {}\n\n return JSON.parse(text as string, (_key, value) => {\n if (isNil(value)) return null\n const valueType = value[StringifyKeys.type]\n if (valueType) {\n const collectionConstructor = collectionConstructorByValueType[valueType]\n if (collectionConstructor) {\n const values = parse(value[StringifyKeys.values]) as Array<any>\n return new collectionConstructor(values)\n }\n }\n return value\n })\n}\n"]}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/utils/_objects/parse.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,mCAA+B;AAC/B,2CAA2C;AAE3C,MAAM,gCAAgC,GAA2B;IAC/D,GAAG;IACH,GAAG;CACJ,CAAA;AAED;;;;;;;GAOG;AACI,MAAM,KAAK,GAAG,CAAC,IAA+B,EAA8B,EAAE;IACnF,IAAI,IAAA,aAAK,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5B,IAAI,IAAA,iBAAO,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAE5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAc,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAChD,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,yBAAa,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,qBAAqB,GAAG,gCAAgC,CAAC,SAAS,CAAC,CAAA;YACzE,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,IAAA,QAAA,KAAK,EAAC,KAAK,CAAC,yBAAa,CAAC,MAAM,CAAC,CAAe,CAAA;gBAC/D,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAhBY,QAAA,KAAK,GAAL,KAAK,CAgBjB","sourcesContent":["import { isEmpty } from './isEmpty'\nimport { isNil } from './isNil'\nimport { StringifyKeys } from './stringify'\n\nconst collectionConstructorByValueType: { [key: string]: any } = {\n Map,\n Set,\n}\n\n/**\n * Converts a JavaScript Object Notation (JSON) string to an object.\n * It handles objects, arrays, Map, Set, String, Number.\n * It is the inverse of stringify.\n *\n * @param {string | null | undefined} text - The string to parse.\n * @returns {*} - The parsed object.\n */\nexport const parse = (text: string | null | undefined): object | Array<any> | null => {\n if (isNil(text)) return null\n if (isEmpty(text)) return {}\n\n return JSON.parse(text as string, (_key, value) => {\n if (isNil(value)) return null\n const valueType = value[StringifyKeys.type]\n if (valueType) {\n const collectionConstructor = collectionConstructorByValueType[valueType]\n if (collectionConstructor) {\n const values = parse(value[StringifyKeys.values]) as Array<any>\n return new collectionConstructor(values)\n }\n }\n return value\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src/utils/_objects/path.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,IAAI,GACf,CAAC,IAA4B,EAAE,EAAE,CACjC,CAAC,GAAQ,EAAO,EAAE;IAChB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1D,IAAI,OAAO,GAAG,GAAG,CAAA;IACjB,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,kEAAkE;QAClE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,MAAK,SAAS,EAAE,CAAC;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAlBU,QAAA,IAAI,QAkBd","sourcesContent":["/**\n * Extracts the value in the specified path from the specified object.\n *\n * @param {array|string} path - Array of path parts or string with parts concatenated with dots.\n * @returns {any} Value at the specified path.\n */\nexport const path =\n (path: Array<string> | string) =>\n (obj: any): any => {\n if (!obj) return null\n\n const parts = Array.isArray(path) ? path : path.split('.')\n let current = obj\n let i = 0\n\n for (; i < parts.length; i++) {\n const part = parts[i]\n // stop when a value along the path is missing (undefined) or null\n if (current?.[part] === undefined) {\n return undefined\n }\n current = current[part]\n }\n return current\n }\n"]}
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src/utils/_objects/path.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACI,MAAM,IAAI,GACf,CAAC,IAA4B,EAAE,EAAE,CACjC,CAAC,GAAQ,EAAO,EAAE;IAChB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1D,IAAI,OAAO,GAAG,GAAG,CAAA;IACjB,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,kEAAkE;QAClE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,MAAK,SAAS,EAAE,CAAC;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAlBU,QAAA,IAAI,GAAJ,IAAI,CAkBd","sourcesContent":["/**\n * Extracts the value in the specified path from the specified object.\n *\n * @param {array|string} path - Array of path parts or string with parts concatenated with dots.\n * @returns {any} Value at the specified path.\n */\nexport const path =\n (path: Array<string> | string) =>\n (obj: any): any => {\n if (!obj) return null\n\n const parts = Array.isArray(path) ? path : path.split('.')\n let current = obj\n let i = 0\n\n for (; i < parts.length; i++) {\n const part = parts[i]\n // stop when a value along the path is missing (undefined) or null\n if (current?.[part] === undefined) {\n return undefined\n }\n current = current[part]\n }\n return current\n }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"propertyOf.js","sourceRoot":"","sources":["../../../src/utils/_objects/propertyOf.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAI,IAAa,EAAW,EAAE,CAAC,IAAI,CAAA;AAAhD,QAAA,UAAU,cAAsC","sourcesContent":["export const propertyOf = <T>(name: keyof T): keyof T => name\n"]}
1
+ {"version":3,"file":"propertyOf.js","sourceRoot":"","sources":["../../../src/utils/_objects/propertyOf.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAI,IAAa,EAAW,EAAE,CAAC,IAAI,CAAA;AAAhD,QAAA,UAAU,GAAV,UAAU,CAAsC","sourcesContent":["export const propertyOf = <T>(name: keyof T): keyof T => name\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"setInPath.js","sourceRoot":"","sources":["../../../src/utils/_objects/setInPath.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAE5B,MAAM,SAAS,GAAG,CAAC,MAAwE,EAAO,EAAE;IACzG,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IACjD,IAAI,YAAY,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,UAAU,GAAQ,GAAG,CAAA;IACzB,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;YAC3B,CAAC;YACD,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAlBY,QAAA,SAAS,aAkBrB","sourcesContent":["import { isEmpty } from './isEmpty'\n\nexport const setInPath = (params: { obj: any; path: string[]; value: any; excludeEmpty?: boolean }): any => {\n const { obj, path, value, excludeEmpty } = params\n if (excludeEmpty && isEmpty(value)) {\n return obj\n }\n\n let objCurrent: any = obj\n path.forEach((pathPart, i) => {\n if (i === path.length - 1) {\n objCurrent[pathPart] = value\n } else {\n if (!Object.hasOwn(objCurrent, pathPart)) {\n objCurrent[pathPart] = {}\n }\n objCurrent = objCurrent[pathPart]\n }\n })\n return obj\n}\n"]}
1
+ {"version":3,"file":"setInPath.js","sourceRoot":"","sources":["../../../src/utils/_objects/setInPath.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAE5B,MAAM,SAAS,GAAG,CAAC,MAAwE,EAAO,EAAE;IACzG,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IACjD,IAAI,YAAY,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,UAAU,GAAQ,GAAG,CAAA;IACzB,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;YAC3B,CAAC;YACD,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAlBY,QAAA,SAAS,GAAT,SAAS,CAkBrB","sourcesContent":["import { isEmpty } from './isEmpty'\n\nexport const setInPath = (params: { obj: any; path: string[]; value: any; excludeEmpty?: boolean }): any => {\n const { obj, path, value, excludeEmpty } = params\n if (excludeEmpty && isEmpty(value)) {\n return obj\n }\n\n let objCurrent: any = obj\n path.forEach((pathPart, i) => {\n if (i === path.length - 1) {\n objCurrent[pathPart] = value\n } else {\n if (!Object.hasOwn(objCurrent, pathPart)) {\n objCurrent[pathPart] = {}\n }\n objCurrent = objCurrent[pathPart]\n }\n })\n return obj\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../src/utils/_objects/stringify.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAE/B,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED;;;;;;;;GAQG;AACI,MAAM,SAAS,GAAG,CACvB,MAAW,EACX,SAA4C,EAC5C,KAAK,GAAG,SAAS,EACF,EAAE;IACjB,IAAI,IAAA,aAAK,EAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,KAAU,EAAO,EAAE;QAChD,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAE7B,IAAI,IAAA,aAAK,EAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,GAAG;YAC3B,OAAO;gBACL,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK;gBAC3B,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAA,iBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAC/D,CAAA;QACH,IAAI,KAAK,CAAC,WAAW,KAAK,GAAG;YAC3B,OAAO;gBACL,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK;gBAC3B,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAA,iBAAS,EAAC,CAAC,GAAG,KAAK,CAAC,CAAC;aAC9C,CAAA;QACH,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAe,EAAE,KAAK,CAAC,CAAA;AACvD,CAAC,CAAA;AA1BY,QAAA,SAAS,aA0BrB","sourcesContent":["import { isNil } from './isNil'\n\nexport enum StringifyKeys {\n type = '_type_',\n values = '_values_',\n}\n\n/**\n * Converts a JavaScript value to a JavaScript Object Notation (JSON) string.\n * It handles objects, arrays, Map, Set, String, Number.\n *\n * @param {*} object - The value, object, to stringify.\n * @param _replacer - Custom replacer (not used yet)\n * @param space\n * @returns {*} - The stringified object.\n */\nexport const stringify = (\n object: any,\n _replacer?: (key: string, value: any) => any,\n space = undefined\n): string | null => {\n if (isNil(object)) return null\n\n const replacer = (key: string, value: any): any => {\n if (isNil(value)) return null\n\n if (isNil(key)) {\n return stringify(value)\n }\n if (value.constructor === Map)\n return {\n [StringifyKeys.type]: 'Map',\n [StringifyKeys.values]: stringify(Array.from(value.entries())),\n }\n if (value.constructor === Set)\n return {\n [StringifyKeys.type]: 'Set',\n [StringifyKeys.values]: stringify([...value]),\n }\n return value\n }\n return JSON.stringify(object, replacer as any, space)\n}\n"]}
1
+ {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../src/utils/_objects/stringify.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAE/B,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,aAAb,aAAa,GAAb,aAAa,QAGxB;AAED;;;;;;;;GAQG;AACI,MAAM,SAAS,GAAG,CACvB,MAAW,EACX,SAA4C,EAC5C,KAAK,GAAG,SAAS,EACF,EAAE;IACjB,IAAI,IAAA,aAAK,EAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,KAAU,EAAO,EAAE;QAChD,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAE7B,IAAI,IAAA,aAAK,EAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,IAAA,QAAA,SAAS,EAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,GAAG;YAC3B,OAAO;gBACL,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK;gBAC3B,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAA,QAAA,SAAS,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAC/D,CAAA;QACH,IAAI,KAAK,CAAC,WAAW,KAAK,GAAG;YAC3B,OAAO;gBACL,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK;gBAC3B,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAA,QAAA,SAAS,EAAC,CAAC,GAAG,KAAK,CAAC,CAAC;aAC9C,CAAA;QACH,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAe,EAAE,KAAK,CAAC,CAAA;AACvD,CAAC,CAAA;AA1BY,QAAA,SAAS,GAAT,SAAS,CA0BrB","sourcesContent":["import { isNil } from './isNil'\n\nexport enum StringifyKeys {\n type = '_type_',\n values = '_values_',\n}\n\n/**\n * Converts a JavaScript value to a JavaScript Object Notation (JSON) string.\n * It handles objects, arrays, Map, Set, String, Number.\n *\n * @param {*} object - The value, object, to stringify.\n * @param _replacer - Custom replacer (not used yet)\n * @param space\n * @returns {*} - The stringified object.\n */\nexport const stringify = (\n object: any,\n _replacer?: (key: string, value: any) => any,\n space = undefined\n): string | null => {\n if (isNil(object)) return null\n\n const replacer = (key: string, value: any): any => {\n if (isNil(value)) return null\n\n if (isNil(key)) {\n return stringify(value)\n }\n if (value.constructor === Map)\n return {\n [StringifyKeys.type]: 'Map',\n [StringifyKeys.values]: stringify(Array.from(value.entries())),\n }\n if (value.constructor === Set)\n return {\n [StringifyKeys.type]: 'Set',\n [StringifyKeys.values]: stringify([...value]),\n }\n return value\n }\n return JSON.stringify(object, replacer as any, space)\n}\n"]}
@@ -1,17 +1,27 @@
1
+ declare const addItems: <T>(items: T[], options?: {
2
+ sideEffect?: boolean;
3
+ excludeNulls?: boolean;
4
+ }) => (array: T[]) => T[];
5
+ declare const addItem: <T>(item: T, options?: {
6
+ sideEffect?: boolean;
7
+ excludeNulls?: boolean;
8
+ }) => (array: T[]) => T[];
9
+ declare const fromNumberOfElements: (numOfElements: number) => number[];
10
+ declare const intersection: <T>(array1: T[], array2: T[]) => T[];
11
+ declare const last: <T>(array?: T[]) => T | undefined;
12
+ declare const removeItem: <T>(item: T) => (array: T[]) => T[];
13
+ declare const startsWith: <T>(list: T[], start: T[]) => boolean;
14
+ declare const toArray: (value: any) => any[];
15
+ declare const toUuidIndexedObject: (array: any[]) => any;
1
16
  export declare const Arrays: {
2
- addItem: <T>(item: T, options?: {
3
- sideEffect?: boolean;
4
- excludeNulls?: boolean;
5
- }) => (array: T[]) => T[];
6
- addItems: <T>(items: T[], options?: {
7
- sideEffect?: boolean;
8
- excludeNulls?: boolean;
9
- }) => (array: T[]) => T[];
10
- fromNumberOfElements: (numOfElements: number) => number[];
11
- intersection: <T>(array1: T[], array2: T[]) => T[];
12
- last: <T>(array?: T[]) => T | undefined;
13
- removeItem: <T>(item: T) => (array: T[]) => T[];
14
- startsWith: <T>(list: T[], start: T[]) => boolean;
15
- toArray: (value: any) => any[];
16
- toUuidIndexedObject: (array: any[]) => any;
17
+ addItem: typeof addItem;
18
+ addItems: typeof addItems;
19
+ fromNumberOfElements: typeof fromNumberOfElements;
20
+ intersection: typeof intersection;
21
+ last: typeof last;
22
+ removeItem: typeof removeItem;
23
+ startsWith: typeof startsWith;
24
+ toArray: typeof toArray;
25
+ toUuidIndexedObject: typeof toUuidIndexedObject;
17
26
  };
27
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/utils/arrays.ts"],"names":[],"mappings":"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","sourcesContent":["import { Objects } from './_objects'\n\nconst addItems =\n <T>(items: T[], options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] => {\n const { sideEffect = false, excludeNulls = false } = options ?? {}\n const itemsToAdd = excludeNulls ? items.filter((item) => !Objects.isNil(item)) : items\n if (sideEffect) {\n array.push(...itemsToAdd)\n return array\n }\n return array.concat(itemsToAdd)\n }\nconst addItem =\n <T>(item: T, options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] =>\n addItems([item], options)(array)\n\nconst fromNumberOfElements = (numOfElements: number): number[] => Array.from(new Array(numOfElements).keys())\n\nconst intersection = <T>(array1: T[], array2: T[]): T[] => array1.filter((item) => array2.includes(item))\n\nconst last = <T>(array: T[] = []): T | undefined => (array.length > 0 ? array.at(-1) : undefined)\n\nconst removeItem =\n <T>(item: T) =>\n (array: T[]): T[] => {\n const result = [...array]\n const itemIndex = array.indexOf(item)\n if (itemIndex >= 0) {\n result.splice(itemIndex, 1)\n }\n return result\n }\n\nconst startsWith = <T>(list: T[], start: T[]): boolean => start.every((item, index) => list[index] === item)\n\nconst toArray = (value: any): any[] => {\n if (value === null || value === undefined) return []\n return Array.isArray(value) ? value : [value]\n}\n\nconst toUuidIndexedObject = (array: any[]) =>\n array.reduce((acc, item) => {\n acc[item.uuid] = item\n return acc\n }, {})\n\nexport const Arrays = {\n addItem,\n addItems,\n fromNumberOfElements,\n intersection,\n last,\n removeItem,\n startsWith,\n toArray,\n toUuidIndexedObject,\n}\n"]}
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/utils/arrays.ts"],"names":[],"mappings":"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","sourcesContent":["import { Objects } from './_objects'\n\nconst addItems =\n <T>(items: T[], options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] => {\n const { sideEffect = false, excludeNulls = false } = options ?? {}\n const itemsToAdd = excludeNulls ? items.filter((item) => !Objects.isNil(item)) : items\n if (sideEffect) {\n array.push(...itemsToAdd)\n return array\n }\n return array.concat(itemsToAdd)\n }\nconst addItem =\n <T>(item: T, options?: { sideEffect?: boolean; excludeNulls?: boolean }) =>\n (array: T[]): T[] =>\n addItems([item], options)(array)\n\nconst fromNumberOfElements = (numOfElements: number): number[] => Array.from(new Array(numOfElements).keys())\n\nconst intersection = <T>(array1: T[], array2: T[]): T[] => array1.filter((item) => array2.includes(item))\n\nconst last = <T>(array: T[] = []): T | undefined => (array.length > 0 ? array.at(-1) : undefined)\n\nconst removeItem =\n <T>(item: T) =>\n (array: T[]): T[] => {\n const result = [...array]\n const itemIndex = array.indexOf(item)\n if (itemIndex >= 0) {\n result.splice(itemIndex, 1)\n }\n return result\n }\n\nconst startsWith = <T>(list: T[], start: T[]): boolean => start.every((item, index) => list[index] === item)\n\nconst toArray = (value: any): any[] => {\n if (value === null || value === undefined) return []\n return Array.isArray(value) ? value : [value]\n}\n\nconst toUuidIndexedObject = (array: any[]) =>\n array.reduce((acc, item) => {\n acc[item.uuid] = item\n return acc\n }, {})\n\nexport const Arrays = {\n addItem,\n addItems,\n fromNumberOfElements,\n intersection,\n last,\n removeItem,\n startsWith,\n toArray,\n toUuidIndexedObject,\n}\n"]}