@openforis/arena-core 2.3.36 → 2.3.39

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 +11 -4
@@ -1 +1 @@
1
- {"version":3,"file":"JobBase.js","sourceRoot":"","sources":["../../src/job/JobBase.ts"],"names":[],"mappings":"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","sourcesContent":["import { Dictionary } from '../common'\nimport { SystemError } from '../error'\nimport { Logger } from '../logger'\nimport { UUIDs } from '../utils'\n\nimport { Job } from './job'\nimport { JobContext } from './jobContext'\nimport { JobEvent, JobEventType } from './jobEvent'\nimport { JobSerialized } from './jobSerialized'\nimport { JobStatus } from './status'\n\nexport interface JobConstructor {\n new <C extends JobContext, R>(context: C, innerJobs?: JobBase<any>[]): JobBase<C, R>\n readonly prototype: JobBase<any, any>\n}\n\nconst PROGRESS_NOTIFICATION_THROTTLE_MILLIS = 1000\n\n/**\n * Asynchronous task handler.\n *\n * Status workflow:\n * - pending\n * - running\n * - (end)\n * -- succeeded\n * -- failed\n * -- canceled\n *\n * Methods that can be overwritten by subclasses:\n * - shouldExecute (in tx)\n * - onStart (in tx)\n * - execute (in tx)\n * - beforeSuccess (in tx)\n * - generateResult (in tx)\n * - beforeEnd (in tx)\n * - onEnd (out of tx)\n * - getErrorInfo\n */\nexport abstract class JobBase<C extends JobContext, R = undefined> implements Job<R> {\n static readonly keysContext = {\n surveyId: 'surveyId',\n survey: 'survey',\n user: 'user',\n }\n\n readonly uuid: string\n readonly type: string\n status: JobStatus = JobStatus.pending\n startTime?: Date\n endTime?: Date\n total: number\n result: R | undefined = undefined\n errors: Record<string, any> = {}\n canceledByAdmin?: boolean\n\n protected logger: Logger\n protected context: C\n protected innerJobs: JobBase<C, any>[]\n protected currentInnerJobIndex = -1\n\n private _processed = 0\n private eventListener: ((event: JobEvent) => unknown) | undefined = undefined\n private progressThrottleTimeoutId: ReturnType<typeof setTimeout> | undefined = undefined\n private progressThrottleLastRunTime = 0\n private _stopOnInnerJobFailure = true\n // set as soon as cancel() is called (the canceled status is set only after beforeEnd has run)\n private cancelRequested = false\n private beforeEndCalled = false\n // inner job events are handled in sequence; executeJobs waits for them before going on\n private innerJobEventsQueue: Promise<void> = Promise.resolve()\n\n public constructor(context: C, innerJobs: JobBase<C, any>[] = []) {\n this.context = { ...context }\n this.innerJobs = innerJobs\n\n this.uuid = UUIDs.v4()\n this.type = this.context.type ?? this.constructor.name\n this.total = innerJobs.length > 0 ? innerJobs.length : 1\n\n // Created last, so that createLogger() overrides can safely build the logger name out of\n // the job identity (e.g. arena's `Job <ClassName> (<uuid>)` log correlation id).\n this.logger = this.createLogger()\n }\n\n get processed(): number {\n return this._processed\n }\n\n set processed(value: number) {\n this._processed = value\n this.notifyProgress()\n }\n\n get stopOnInnerJobFailure(): boolean {\n return this._stopOnInnerJobFailure\n }\n\n set stopOnInnerJobFailure(value: boolean) {\n this._stopOnInnerJobFailure = value\n }\n\n protected get surveyId(): number | null {\n return this.getContextProp(JobBase.keysContext.surveyId)\n }\n\n protected get user(): any {\n return this.getContextProp(JobBase.keysContext.user)\n }\n\n protected get userUuid(): string | undefined {\n return this.user?.uuid\n }\n\n protected get contextSurvey(): any {\n return this.getContextProp(JobBase.keysContext.survey)\n }\n\n protected getContextProp<T = any>(prop: string, defaultValue: T | null = null): T | null {\n const value = (this.context as any)[prop]\n return value ?? defaultValue\n }\n\n protected setContext(context: Partial<C>): void {\n Object.assign(this.context, context)\n }\n\n protected deleteContextProps(...propNames: string[]): void {\n propNames.forEach((propName) => {\n delete (this.context as any)[propName]\n })\n }\n\n /**\n * Registers the listener notified of job events (status changes and progress).\n * Only one listener can be registered at a time; registering a new one replaces the previous one.\n * Errors thrown (or rejections returned) by the listener are logged and do not affect the job execution.\n */\n onEvent(listener: (event: JobEvent) => unknown): this {\n this.eventListener = listener\n return this\n }\n\n isPending(): boolean {\n return this.status === JobStatus.pending\n }\n\n isRunning(): boolean {\n return this.status === JobStatus.running\n }\n\n isSucceeded(): boolean {\n return this.status === JobStatus.succeeded\n }\n\n isFailed(): boolean {\n return this.status === JobStatus.failed\n }\n\n isCanceled(): boolean {\n return this.status === JobStatus.canceled\n }\n\n isEnded(): boolean {\n return [JobStatus.succeeded, JobStatus.failed, JobStatus.canceled].includes(this.status)\n }\n\n hasErrors(): boolean {\n return Object.keys(this.errors).length > 0\n }\n\n protected getCurrentInnerJob(): JobBase<C, any> | undefined {\n return this.innerJobs[this.currentInnerJobIndex]\n }\n\n protected combineInnerJobsResults(): Record<string, any> {\n const results: Record<string, any> = {}\n this.innerJobs.forEach((innerJob) => Object.assign(results, innerJob.result ?? {}))\n return results\n }\n\n protected combineInnerJobsErrors(): Record<string, any> {\n const errors: Record<string, any> = {}\n this.innerJobs.forEach((innerJob) => Object.assign(errors, innerJob.errors ?? {}))\n return errors\n }\n\n async cancel(options: { canceledByAdmin?: boolean } = {}): Promise<void> {\n const { canceledByAdmin = false } = options\n if (this.isEnded()) return\n\n this.cancelRequested = true\n\n const currentInnerJob = this.getCurrentInnerJob()\n if (currentInnerJob?.isRunning()) {\n // the parent job status will be set to canceled when handling the canceled event of the inner job\n await currentInnerJob.cancel({ canceledByAdmin })\n return\n }\n // no inner job running (job without inner jobs, or between two inner jobs)\n this.canceledByAdmin = canceledByAdmin\n // release the resources (temp files/directories, streams) allocated before the cancellation\n await this.runBeforeEnd()\n await this.setStatus(JobStatus.canceled)\n }\n\n private isCancelRequestedOrNotRunning(): boolean {\n return this.cancelRequested || !this.isRunning()\n }\n\n /**\n * Runs beforeEnd only once (it can be called by cancel() and when the job execution ends).\n */\n private async runBeforeEnd(): Promise<void> {\n if (this.beforeEndCalled) return\n this.beforeEndCalled = true\n await this.beforeEnd()\n }\n\n async start(client: any = null): Promise<void> {\n this.logDebug('start')\n\n try {\n if (client) {\n await client.tx(async (tx: any) => {\n this.context.tx = tx\n await this.executeInTransaction()\n })\n } else {\n await this.executeInTransaction()\n }\n if (!this.isCancelRequestedOrNotRunning()) {\n await this.setStatus(JobStatus.succeeded)\n }\n } catch (error: any) {\n // a job can fail while still pending (e.g. the transaction cannot be opened, or onStart fails)\n if (!this.cancelRequested && !this.isFailed() && !this.isCanceled()) {\n this.logError(error.stack ?? error)\n const { key, params } = this.getErrorInfo(error)\n this.addError({ error: { valid: false, errors: [{ key, params }] } })\n await this.setStatus(JobStatus.failed)\n }\n } finally {\n this.context.tx = undefined\n }\n }\n\n private async executeInTransaction(): Promise<void> {\n try {\n await this.onStart()\n\n const shouldExecute = await this.shouldExecute()\n if (shouldExecute) {\n if (this.innerJobs.length > 0) {\n await this.executeJobs()\n } else {\n await this.execute()\n }\n if (!this.isCancelRequestedOrNotRunning()) {\n await this.beforeSuccess()\n }\n }\n } finally {\n // runs only if not already run by cancel()\n await this.runBeforeEnd()\n this.context.tx = undefined\n }\n\n if (this.isCancelRequestedOrNotRunning()) {\n this.throwError('jobCanceledOrErrorsFound')\n }\n }\n\n /**\n * Generates a plain JSON-serializable representation of the job, including its inner jobs.\n */\n toJSON(): JobSerialized<R> {\n const { errors, processed, result, status, total, type, userUuid, uuid } = this\n\n return {\n uuid,\n type,\n userUuid,\n surveyId: this.surveyId,\n innerJobs: this.innerJobs.map((job) => job.toJSON()),\n currentInnerJobIndex: this.currentInnerJobIndex,\n\n status,\n pending: this.isPending(),\n running: this.isRunning(),\n succeeded: this.isSucceeded(),\n canceled: this.isCanceled(),\n failed: this.isFailed(),\n ended: this.isEnded(),\n\n total,\n processed,\n progressPercent: this.calculateProgressPercent(),\n elapsedMillis: this.calculateElapsedMillis(),\n\n errors: this.isFailed() ? errors : undefined,\n result: this.isSucceeded() ? result : undefined,\n }\n }\n\n private async executeJobs(): Promise<void> {\n this.logDebug(`- ${this.total} inner jobs found`)\n\n for (let i = 0; i < this.innerJobs.length; i++) {\n this.logDebug(`- executing inner job ${i + 1}`)\n this.currentInnerJobIndex = i\n const currentInnerJob = this.innerJobs[i]\n if (currentInnerJob.context) {\n Object.assign(this.context, currentInnerJob.context)\n }\n currentInnerJob.context = this.context\n currentInnerJob.onEvent((event) => {\n // handle the inner job events in sequence; errors are logged (they would be unhandled rejections otherwise)\n this.innerJobEventsQueue = this.innerJobEventsQueue\n .then(() => this.onInnerJobEvent(event))\n .catch((error) => this.logError(error?.stack ?? error))\n })\n\n // The inner job shares this very context object, and its own start()/executeInTransaction()\n // clear `context.tx` when they terminate: without saving and restoring it here, the first\n // inner job would wipe the parent's transaction handle, leaving every following inner job\n // (and the parent's own beforeSuccess()/beforeEnd()) running outside of the transaction.\n // start() never throws (it swallows/records errors internally), so a plain restore is enough.\n const parentTx = this.context.tx\n await currentInnerJob.start(parentTx)\n this.context.tx = parentTx\n // the inner job events (e.g. canceled, failed) update the status of this job\n await this.innerJobEventsQueue\n\n if (this.cancelRequested || this.isCanceled() || currentInnerJob.isCanceled()) {\n break\n }\n if (currentInnerJob.isSucceeded()) {\n this.incrementProcessedItems()\n } else if (this.stopOnInnerJobFailure) {\n break\n }\n }\n\n this.logDebug(`- ${this.processed} inner jobs processed successfully`)\n }\n\n /**\n * Runs the job's own work when it has no inner jobs. Default implementation is a no-op, so\n * subclasses that only supply inner jobs (and never override this) don't need to. It also means\n * a subclass can safely call `super.execute()` defensively without knowing whether any ancestor\n * overrides it - if this were `abstract` instead, TypeScript would compile away any runtime\n * property for it entirely, so `super.execute()` would throw the moment no ancestor overrides it\n * (confirmed in production: a subclass whose immediate parent didn't override `execute()` crashed\n * with \"(intermediate value).execute is not a function\" the instant it called `super.execute()`).\n */\n protected async execute(): Promise<void> {\n // to be extended by subclasses\n }\n\n /**\n * Determines whether the job should actually run.\n * When it returns false, \"execute\" (or the inner jobs) will be skipped, but the job will still succeed.\n */\n protected shouldExecute(): Promise<boolean> {\n return Promise.resolve(true)\n }\n\n protected incrementProcessedItems(incrementBy = 1): void {\n this.processed += incrementBy\n }\n\n protected async setStatus(status: JobStatus): Promise<void> {\n this.logDebug(`set status: ${status}`)\n this.status = status\n\n const event: JobEvent = { type: JobEventType.statusChange, status, total: this.total, processed: this.processed }\n if (status === JobStatus.failed) {\n event.errors = this.errors\n }\n\n if (this.isEnded()) {\n this.logDebug('onEnd...')\n await this.onEnd()\n this.logDebug(`onEnd run. Job completed in ${this.elapsedTimePrettyFormat}`)\n }\n\n this.notifyEvent(event)\n }\n\n /**\n * Inner job event handler.\n */\n protected async onInnerJobEvent(event: JobEvent): Promise<void> {\n const { status } = event\n if (status === JobStatus.canceled) {\n this.canceledByAdmin = this.getCurrentInnerJob()?.canceledByAdmin ?? false\n return this.setStatus(status)\n }\n if (status === JobStatus.failed) {\n // report the errors of the failed inner job in the failed event (and in the errors) of this job\n Object.assign(this.errors, this.getCurrentInnerJob()?.errors ?? {})\n return this.setStatus(status)\n }\n if (status === JobStatus.running) {\n this.notifyEvent({\n type: JobEventType.progress,\n status: this.status,\n total: this.total,\n processed: this.processed,\n })\n return\n }\n this.logDebug(`Unknown inner job status: ${status}`)\n }\n\n /**\n * Called when the job just has been started.\n */\n protected async onStart(): Promise<void> {\n this.startTime = new Date()\n await this.setStatus(JobStatus.running)\n }\n\n /**\n * Called before beforeEnd only if the status will change to 'success'.\n * Default implementation stores the value returned by generateResult() via setResult().\n * It runs INSIDE the current db transaction.\n */\n protected async beforeSuccess(): Promise<void> {\n this.setResult(await this.generateResult())\n }\n\n /**\n * Computes the value beforeSuccess() will store as this job's result.\n * Default implementation returns whatever is already in `this.result`\n * (e.g. accumulated via earlier setResult() calls during execute()).\n */\n protected generateResult(): Promise<R | undefined> {\n return Promise.resolve(this.result)\n }\n\n /**\n * Updates this job's result. When both the current and incoming values are plain objects,\n * they are merged (Object.assign); otherwise the incoming value replaces the current one.\n * This keeps it safe for subclasses whose result is a primitive (e.g. a plain number) as\n * well as ones that build an object result incrementally across multiple setResult() calls.\n */\n protected setResult(result: R | undefined): void {\n if (result && typeof result === 'object' && this.result && typeof this.result === 'object') {\n Object.assign(this.result, result)\n } else {\n this.result = result\n }\n }\n\n /**\n * Called before onEnd. Useful for flushing resources used by the job before it terminates completely.\n * It runs INSIDE the current db transaction.\n */\n protected beforeEnd(): Promise<void> {\n this.logDebug('Cleanup')\n return Promise.resolve()\n }\n\n /**\n * Called when the job status changes to success, failed or canceled\n * (it runs OUTSIDE of the current db transaction)\n */\n protected onEnd(): Promise<void> {\n this.endTime = new Date()\n this.cancelNotifyProgress()\n return Promise.resolve()\n }\n\n protected addError(error: any, errorKey?: string): void {\n const key = errorKey ?? String(this.processed + 1)\n this.errors[key] = error\n }\n\n protected throwError(errorKey: string, params?: Dictionary<any>): void {\n // SystemError: getErrorInfo will report the translatable key instead of a generic error\n throw new SystemError(errorKey, params)\n }\n\n protected getErrorInfo(error: any): { key: string; params: Record<string, any> } {\n if (error instanceof SystemError) {\n return { key: `appErrors:${error.key}`, params: error.params }\n }\n return { key: 'appErrors:generic', params: { text: error.toString() } }\n }\n\n protected abstract createLogger(): Logger\n\n protected logDebug(...msgs: any[]): void {\n this.logger.debug(...msgs)\n }\n\n protected logInfo(...msgs: any[]): void {\n this.logger.info(...msgs)\n }\n\n protected logWarn(...msgs: any[]): void {\n this.logger.warn(...msgs)\n }\n\n protected logError(...msgs: any[]): void {\n this.logger.error(...msgs)\n }\n\n private get elapsedTimePrettyFormat(): string {\n const elapsedTime = this.calculateElapsedMillis()\n const elapsedMins = Math.floor(elapsedTime / 1000 / 60)\n const elapsedSeconds = String(Math.floor(elapsedTime / 1000) % 60).padStart(2, '0')\n const elapsedMillis = String(elapsedTime % 1000).padStart(3, '0')\n return `${elapsedMins}:${elapsedSeconds}.${elapsedMillis}`\n }\n\n private calculatePartialProgress(): number {\n if (this.isSucceeded()) return 100\n if (this.total > 0) return Math.floor((100 * this.processed) / this.total)\n return 0\n }\n\n private calculateProgressPercent(): number {\n const partialProgress = this.calculatePartialProgress()\n const currentInnerJob = this.getCurrentInnerJob()\n if (\n !currentInnerJob ||\n this.currentInnerJobIndex < 0 ||\n partialProgress === 100 ||\n this.processed > this.currentInnerJobIndex\n ) {\n return partialProgress\n }\n return partialProgress + Math.floor(currentInnerJob.calculateProgressPercent() / this.total)\n }\n\n private calculateElapsedMillis(): number {\n if (!this.startTime) return 0\n return (this.endTime ?? new Date()).getTime() - this.startTime.getTime()\n }\n\n /**\n * Notifies a progress event to the registered listener, throttled so that fast-changing\n * progress does not flood consumers (e.g. web socket clients).\n */\n private notifyProgress(): void {\n const run = (): void => {\n this.progressThrottleTimeoutId = undefined\n this.progressThrottleLastRunTime = Date.now()\n this.notifyEvent({\n type: JobEventType.progress,\n status: this.status,\n total: this.total,\n processed: this.processed,\n })\n }\n\n if (this.progressThrottleTimeoutId) return\n\n const elapsed = Date.now() - this.progressThrottleLastRunTime\n if (!this.progressThrottleLastRunTime || elapsed >= PROGRESS_NOTIFICATION_THROTTLE_MILLIS) {\n run()\n } else {\n this.progressThrottleTimeoutId = setTimeout(run, PROGRESS_NOTIFICATION_THROTTLE_MILLIS - elapsed)\n }\n }\n\n /**\n * Cancels any pending throttled progress notification and resets the throttle state.\n */\n private cancelNotifyProgress(): void {\n if (this.progressThrottleTimeoutId) {\n clearTimeout(this.progressThrottleTimeoutId)\n this.progressThrottleTimeoutId = undefined\n }\n this.progressThrottleLastRunTime = 0\n }\n\n /**\n * Notifies the event to the registered listener.\n * Listener errors are only logged: they would otherwise fail the job or, when thrown inside the progress\n * throttle timeout, crash the process.\n */\n private notifyEvent(event: JobEvent): void {\n const listener = this.eventListener\n if (!listener) return\n try {\n Promise.resolve(listener(event)).catch((error) => this.logListenerError(error))\n } catch (error) {\n this.logListenerError(error)\n }\n }\n\n private logListenerError(error: any): void {\n this.logError(`error in job event listener: ${error?.stack ?? error}`)\n }\n}\n"]}
1
+ {"version":3,"file":"JobBase.js","sourceRoot":"","sources":["../../src/job/JobBase.ts"],"names":[],"mappings":"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","sourcesContent":["import { Dictionary } from '../common'\nimport { SystemError } from '../error'\nimport { Logger } from '../logger'\nimport { UUIDs } from '../utils'\n\nimport { Job } from './job'\nimport { JobContext } from './jobContext'\nimport { JobEvent, JobEventType } from './jobEvent'\nimport { JobSerialized } from './jobSerialized'\nimport { JobStatus } from './status'\n\nexport interface JobConstructor {\n new <C extends JobContext, R>(context: C, innerJobs?: JobBase<any>[]): JobBase<C, R>\n readonly prototype: JobBase<any, any>\n}\n\nconst PROGRESS_NOTIFICATION_THROTTLE_MILLIS = 1000\n\n/**\n * Asynchronous task handler.\n *\n * Status workflow:\n * - pending\n * - running\n * - (end)\n * -- succeeded\n * -- failed\n * -- canceled\n *\n * Methods that can be overwritten by subclasses:\n * - shouldExecute (in tx)\n * - onStart (in tx)\n * - execute (in tx)\n * - beforeSuccess (in tx)\n * - generateResult (in tx)\n * - beforeEnd (in tx)\n * - onEnd (out of tx)\n * - getErrorInfo\n */\nexport abstract class JobBase<C extends JobContext, R = undefined> implements Job<R> {\n static readonly keysContext = {\n surveyId: 'surveyId',\n survey: 'survey',\n user: 'user',\n }\n\n readonly uuid: string\n readonly type: string\n status: JobStatus = JobStatus.pending\n startTime?: Date\n endTime?: Date\n total: number\n result: R | undefined = undefined\n errors: Record<string, any> = {}\n canceledByAdmin?: boolean\n\n protected logger: Logger\n protected context: C\n protected innerJobs: JobBase<C, any>[]\n protected currentInnerJobIndex = -1\n\n private _processed = 0\n private eventListener: ((event: JobEvent) => unknown) | undefined = undefined\n private progressThrottleTimeoutId: ReturnType<typeof setTimeout> | undefined = undefined\n private progressThrottleLastRunTime = 0\n private _stopOnInnerJobFailure = true\n // set as soon as cancel() is called (the canceled status is set only after beforeEnd has run)\n private cancelRequested = false\n private beforeEndCalled = false\n // inner job events are handled in sequence; executeJobs waits for them before going on\n private innerJobEventsQueue: Promise<void> = Promise.resolve()\n\n public constructor(context: C, innerJobs: JobBase<C, any>[] = []) {\n this.context = { ...context }\n this.innerJobs = innerJobs\n\n this.uuid = UUIDs.v4()\n this.type = this.context.type ?? this.constructor.name\n this.total = innerJobs.length > 0 ? innerJobs.length : 1\n\n // Created last, so that createLogger() overrides can safely build the logger name out of\n // the job identity (e.g. arena's `Job <ClassName> (<uuid>)` log correlation id).\n this.logger = this.createLogger()\n }\n\n get processed(): number {\n return this._processed\n }\n\n set processed(value: number) {\n this._processed = value\n this.notifyProgress()\n }\n\n get stopOnInnerJobFailure(): boolean {\n return this._stopOnInnerJobFailure\n }\n\n set stopOnInnerJobFailure(value: boolean) {\n this._stopOnInnerJobFailure = value\n }\n\n protected get surveyId(): number | null {\n return this.getContextProp(JobBase.keysContext.surveyId)\n }\n\n protected get user(): any {\n return this.getContextProp(JobBase.keysContext.user)\n }\n\n protected get userUuid(): string | undefined {\n return this.user?.uuid\n }\n\n protected get contextSurvey(): any {\n return this.getContextProp(JobBase.keysContext.survey)\n }\n\n protected getContextProp<T = any>(prop: string, defaultValue: T | null = null): T | null {\n const value = (this.context as any)[prop]\n return value ?? defaultValue\n }\n\n protected setContext(context: Partial<C>): void {\n Object.assign(this.context, context)\n }\n\n protected deleteContextProps(...propNames: string[]): void {\n propNames.forEach((propName) => {\n delete (this.context as any)[propName]\n })\n }\n\n /**\n * Registers the listener notified of job events (status changes and progress).\n * Only one listener can be registered at a time; registering a new one replaces the previous one.\n * Errors thrown (or rejections returned) by the listener are logged and do not affect the job execution.\n */\n onEvent(listener: (event: JobEvent) => unknown): this {\n this.eventListener = listener\n return this\n }\n\n isPending(): boolean {\n return this.status === JobStatus.pending\n }\n\n isRunning(): boolean {\n return this.status === JobStatus.running\n }\n\n isSucceeded(): boolean {\n return this.status === JobStatus.succeeded\n }\n\n isFailed(): boolean {\n return this.status === JobStatus.failed\n }\n\n isCanceled(): boolean {\n return this.status === JobStatus.canceled\n }\n\n isEnded(): boolean {\n return [JobStatus.succeeded, JobStatus.failed, JobStatus.canceled].includes(this.status)\n }\n\n hasErrors(): boolean {\n return Object.keys(this.errors).length > 0\n }\n\n protected getCurrentInnerJob(): JobBase<C, any> | undefined {\n return this.innerJobs[this.currentInnerJobIndex]\n }\n\n protected combineInnerJobsResults(): Record<string, any> {\n const results: Record<string, any> = {}\n this.innerJobs.forEach((innerJob) => Object.assign(results, innerJob.result ?? {}))\n return results\n }\n\n protected combineInnerJobsErrors(): Record<string, any> {\n const errors: Record<string, any> = {}\n this.innerJobs.forEach((innerJob) => Object.assign(errors, innerJob.errors ?? {}))\n return errors\n }\n\n async cancel(options: { canceledByAdmin?: boolean } = {}): Promise<void> {\n const { canceledByAdmin = false } = options\n if (this.isEnded()) return\n\n this.cancelRequested = true\n\n const currentInnerJob = this.getCurrentInnerJob()\n if (currentInnerJob?.isRunning()) {\n // the parent job status will be set to canceled when handling the canceled event of the inner job\n await currentInnerJob.cancel({ canceledByAdmin })\n return\n }\n // no inner job running (job without inner jobs, or between two inner jobs)\n this.canceledByAdmin = canceledByAdmin\n // release the resources (temp files/directories, streams) allocated before the cancellation\n await this.runBeforeEnd()\n await this.setStatus(JobStatus.canceled)\n }\n\n private isCancelRequestedOrNotRunning(): boolean {\n return this.cancelRequested || !this.isRunning()\n }\n\n /**\n * Runs beforeEnd only once (it can be called by cancel() and when the job execution ends).\n */\n private async runBeforeEnd(): Promise<void> {\n if (this.beforeEndCalled) return\n this.beforeEndCalled = true\n await this.beforeEnd()\n }\n\n async start(client: any = null): Promise<void> {\n this.logDebug('start')\n\n try {\n if (client) {\n await client.tx(async (tx: any) => {\n this.context.tx = tx\n await this.executeInTransaction()\n })\n } else {\n await this.executeInTransaction()\n }\n if (!this.isCancelRequestedOrNotRunning()) {\n await this.setStatus(JobStatus.succeeded)\n }\n } catch (error: any) {\n // a job can fail while still pending (e.g. the transaction cannot be opened, or onStart fails)\n if (!this.cancelRequested && !this.isFailed() && !this.isCanceled()) {\n this.logError(error.stack ?? error)\n const { key, params } = this.getErrorInfo(error)\n this.addError({ error: { valid: false, errors: [{ key, params }] } })\n await this.setStatus(JobStatus.failed)\n }\n } finally {\n this.context.tx = undefined\n }\n }\n\n private async executeInTransaction(): Promise<void> {\n try {\n await this.onStart()\n\n const shouldExecute = await this.shouldExecute()\n if (shouldExecute) {\n if (this.innerJobs.length > 0) {\n await this.executeJobs()\n } else {\n await this.execute()\n }\n if (!this.isCancelRequestedOrNotRunning()) {\n await this.beforeSuccess()\n }\n }\n } finally {\n // runs only if not already run by cancel()\n await this.runBeforeEnd()\n this.context.tx = undefined\n }\n\n if (this.isCancelRequestedOrNotRunning()) {\n this.throwError('jobCanceledOrErrorsFound')\n }\n }\n\n /**\n * Generates a plain JSON-serializable representation of the job, including its inner jobs.\n */\n toJSON(): JobSerialized<R> {\n const { errors, processed, result, status, total, type, userUuid, uuid } = this\n\n return {\n uuid,\n type,\n userUuid,\n surveyId: this.surveyId,\n innerJobs: this.innerJobs.map((job) => job.toJSON()),\n currentInnerJobIndex: this.currentInnerJobIndex,\n\n status,\n pending: this.isPending(),\n running: this.isRunning(),\n succeeded: this.isSucceeded(),\n canceled: this.isCanceled(),\n failed: this.isFailed(),\n ended: this.isEnded(),\n\n total,\n processed,\n progressPercent: this.calculateProgressPercent(),\n elapsedMillis: this.calculateElapsedMillis(),\n\n errors: this.isFailed() ? errors : undefined,\n result: this.isSucceeded() ? result : undefined,\n }\n }\n\n private async executeJobs(): Promise<void> {\n this.logDebug(`- ${this.total} inner jobs found`)\n\n for (let i = 0; i < this.innerJobs.length; i++) {\n this.logDebug(`- executing inner job ${i + 1}`)\n this.currentInnerJobIndex = i\n const currentInnerJob = this.innerJobs[i]\n if (currentInnerJob.context) {\n Object.assign(this.context, currentInnerJob.context)\n }\n currentInnerJob.context = this.context\n currentInnerJob.onEvent((event) => {\n // handle the inner job events in sequence; errors are logged (they would be unhandled rejections otherwise)\n this.innerJobEventsQueue = this.innerJobEventsQueue\n .then(() => this.onInnerJobEvent(event))\n .catch((error) => this.logError(error?.stack ?? error))\n })\n\n // The inner job shares this very context object, and its own start()/executeInTransaction()\n // clear `context.tx` when they terminate: without saving and restoring it here, the first\n // inner job would wipe the parent's transaction handle, leaving every following inner job\n // (and the parent's own beforeSuccess()/beforeEnd()) running outside of the transaction.\n // start() never throws (it swallows/records errors internally), so a plain restore is enough.\n const parentTx = this.context.tx\n await currentInnerJob.start(parentTx)\n this.context.tx = parentTx\n // the inner job events (e.g. canceled, failed) update the status of this job\n await this.innerJobEventsQueue\n\n if (this.cancelRequested || this.isCanceled() || currentInnerJob.isCanceled()) {\n break\n }\n if (currentInnerJob.isSucceeded()) {\n this.incrementProcessedItems()\n } else if (this.stopOnInnerJobFailure) {\n break\n }\n }\n\n this.logDebug(`- ${this.processed} inner jobs processed successfully`)\n }\n\n /**\n * Runs the job's own work when it has no inner jobs. Default implementation is a no-op, so\n * subclasses that only supply inner jobs (and never override this) don't need to. It also means\n * a subclass can safely call `super.execute()` defensively without knowing whether any ancestor\n * overrides it - if this were `abstract` instead, TypeScript would compile away any runtime\n * property for it entirely, so `super.execute()` would throw the moment no ancestor overrides it\n * (confirmed in production: a subclass whose immediate parent didn't override `execute()` crashed\n * with \"(intermediate value).execute is not a function\" the instant it called `super.execute()`).\n */\n protected async execute(): Promise<void> {\n // to be extended by subclasses\n }\n\n /**\n * Determines whether the job should actually run.\n * When it returns false, \"execute\" (or the inner jobs) will be skipped, but the job will still succeed.\n */\n protected shouldExecute(): Promise<boolean> {\n return Promise.resolve(true)\n }\n\n protected incrementProcessedItems(incrementBy = 1): void {\n this.processed += incrementBy\n }\n\n protected async setStatus(status: JobStatus): Promise<void> {\n this.logDebug(`set status: ${status}`)\n this.status = status\n\n const event: JobEvent = { type: JobEventType.statusChange, status, total: this.total, processed: this.processed }\n if (status === JobStatus.failed) {\n event.errors = this.errors\n }\n\n if (this.isEnded()) {\n this.logDebug('onEnd...')\n await this.onEnd()\n this.logDebug(`onEnd run. Job completed in ${this.elapsedTimePrettyFormat}`)\n }\n\n this.notifyEvent(event)\n }\n\n /**\n * Inner job event handler.\n */\n protected async onInnerJobEvent(event: JobEvent): Promise<void> {\n const { status } = event\n if (status === JobStatus.canceled) {\n this.canceledByAdmin = this.getCurrentInnerJob()?.canceledByAdmin ?? false\n return this.setStatus(status)\n }\n if (status === JobStatus.failed) {\n // report the errors of the failed inner job in the failed event (and in the errors) of this job\n Object.assign(this.errors, this.getCurrentInnerJob()?.errors ?? {})\n return this.setStatus(status)\n }\n if (status === JobStatus.running) {\n this.notifyEvent({\n type: JobEventType.progress,\n status: this.status,\n total: this.total,\n processed: this.processed,\n })\n return\n }\n this.logDebug(`Unknown inner job status: ${status}`)\n }\n\n /**\n * Called when the job just has been started.\n */\n protected async onStart(): Promise<void> {\n this.startTime = new Date()\n await this.setStatus(JobStatus.running)\n }\n\n /**\n * Called before beforeEnd only if the status will change to 'success'.\n * Default implementation stores the value returned by generateResult() via setResult().\n * It runs INSIDE the current db transaction.\n */\n protected async beforeSuccess(): Promise<void> {\n this.setResult(await this.generateResult())\n }\n\n /**\n * Computes the value beforeSuccess() will store as this job's result.\n * Default implementation returns whatever is already in `this.result`\n * (e.g. accumulated via earlier setResult() calls during execute()).\n */\n protected generateResult(): Promise<R | undefined> {\n return Promise.resolve(this.result)\n }\n\n /**\n * Updates this job's result. When both the current and incoming values are plain objects,\n * they are merged (Object.assign); otherwise the incoming value replaces the current one.\n * This keeps it safe for subclasses whose result is a primitive (e.g. a plain number) as\n * well as ones that build an object result incrementally across multiple setResult() calls.\n */\n protected setResult(result: R | undefined): void {\n if (result && typeof result === 'object' && this.result && typeof this.result === 'object') {\n Object.assign(this.result, result)\n } else {\n this.result = result\n }\n }\n\n /**\n * Called before onEnd. Useful for flushing resources used by the job before it terminates completely.\n * It runs INSIDE the current db transaction.\n */\n protected beforeEnd(): Promise<void> {\n this.logDebug('Cleanup')\n return Promise.resolve()\n }\n\n /**\n * Called when the job status changes to success, failed or canceled\n * (it runs OUTSIDE of the current db transaction)\n */\n protected onEnd(): Promise<void> {\n this.endTime = new Date()\n this.cancelNotifyProgress()\n return Promise.resolve()\n }\n\n protected addError(error: any, errorKey?: string): void {\n const key = errorKey ?? String(this.processed + 1)\n this.errors[key] = error\n }\n\n protected throwError(errorKey: string, params?: Dictionary<any>): void {\n // SystemError: getErrorInfo will report the translatable key instead of a generic error\n throw new SystemError(errorKey, params)\n }\n\n protected getErrorInfo(error: any): { key: string; params: Record<string, any> } {\n if (error instanceof SystemError) {\n return { key: `appErrors:${error.key}`, params: error.params }\n }\n return { key: 'appErrors:generic', params: { text: error.toString() } }\n }\n\n protected abstract createLogger(): Logger\n\n protected logDebug(...msgs: any[]): void {\n this.logger.debug(...msgs)\n }\n\n protected logInfo(...msgs: any[]): void {\n this.logger.info(...msgs)\n }\n\n protected logWarn(...msgs: any[]): void {\n this.logger.warn(...msgs)\n }\n\n protected logError(...msgs: any[]): void {\n this.logger.error(...msgs)\n }\n\n private get elapsedTimePrettyFormat(): string {\n const elapsedTime = this.calculateElapsedMillis()\n const elapsedMins = Math.floor(elapsedTime / 1000 / 60)\n const elapsedSeconds = String(Math.floor(elapsedTime / 1000) % 60).padStart(2, '0')\n const elapsedMillis = String(elapsedTime % 1000).padStart(3, '0')\n return `${elapsedMins}:${elapsedSeconds}.${elapsedMillis}`\n }\n\n private calculatePartialProgress(): number {\n if (this.isSucceeded()) return 100\n if (this.total > 0) return Math.floor((100 * this.processed) / this.total)\n return 0\n }\n\n private calculateProgressPercent(): number {\n const partialProgress = this.calculatePartialProgress()\n const currentInnerJob = this.getCurrentInnerJob()\n if (\n !currentInnerJob ||\n this.currentInnerJobIndex < 0 ||\n partialProgress === 100 ||\n this.processed > this.currentInnerJobIndex\n ) {\n return partialProgress\n }\n return partialProgress + Math.floor(currentInnerJob.calculateProgressPercent() / this.total)\n }\n\n private calculateElapsedMillis(): number {\n if (!this.startTime) return 0\n return (this.endTime ?? new Date()).getTime() - this.startTime.getTime()\n }\n\n /**\n * Notifies a progress event to the registered listener, throttled so that fast-changing\n * progress does not flood consumers (e.g. web socket clients).\n */\n private notifyProgress(): void {\n const run = (): void => {\n this.progressThrottleTimeoutId = undefined\n this.progressThrottleLastRunTime = Date.now()\n this.notifyEvent({\n type: JobEventType.progress,\n status: this.status,\n total: this.total,\n processed: this.processed,\n })\n }\n\n if (this.progressThrottleTimeoutId) return\n\n const elapsed = Date.now() - this.progressThrottleLastRunTime\n if (!this.progressThrottleLastRunTime || elapsed >= PROGRESS_NOTIFICATION_THROTTLE_MILLIS) {\n run()\n } else {\n this.progressThrottleTimeoutId = setTimeout(run, PROGRESS_NOTIFICATION_THROTTLE_MILLIS - elapsed)\n }\n }\n\n /**\n * Cancels any pending throttled progress notification and resets the throttle state.\n */\n private cancelNotifyProgress(): void {\n if (this.progressThrottleTimeoutId) {\n clearTimeout(this.progressThrottleTimeoutId)\n this.progressThrottleTimeoutId = undefined\n }\n this.progressThrottleLastRunTime = 0\n }\n\n /**\n * Notifies the event to the registered listener.\n * Listener errors are only logged: they would otherwise fail the job or, when thrown inside the progress\n * throttle timeout, crash the process.\n */\n private notifyEvent(event: JobEvent): void {\n const listener = this.eventListener\n if (!listener) return\n try {\n Promise.resolve(listener(event)).catch((error) => this.logListenerError(error))\n } catch (error) {\n this.logListenerError(error)\n }\n }\n\n private logListenerError(error: any): void {\n this.logError(`error in job event listener: ${error?.stack ?? error}`)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"jobEvent.js","sourceRoot":"","sources":["../../src/job/jobEvent.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,qCAAqB,CAAA;AACvB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB","sourcesContent":["import { JobStatus } from './status'\n\nexport enum JobEventType {\n statusChange = 'statusChange',\n progress = 'progress',\n}\n\nexport interface JobEvent {\n type: JobEventType\n status: JobStatus\n total: number\n processed: number\n errors?: Record<string, any>\n}\n"]}
1
+ {"version":3,"file":"jobEvent.js","sourceRoot":"","sources":["../../src/job/jobEvent.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,qCAAqB,CAAA;AACvB,CAAC,EAHW,YAAY,aAAZ,YAAY,GAAZ,YAAY,QAGvB","sourcesContent":["import { JobStatus } from './status'\n\nexport enum JobEventType {\n statusChange = 'statusChange',\n progress = 'progress',\n}\n\nexport interface JobEvent {\n type: JobEventType\n status: JobStatus\n total: number\n processed: number\n errors?: Record<string, any>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/job/status.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB","sourcesContent":["export enum JobStatus {\n pending = 'pending',\n running = 'running',\n succeeded = 'succeeded',\n canceled = 'canceled',\n failed = 'failed',\n}\n"]}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/job/status.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,aAAT,SAAS,GAAT,SAAS,QAMpB","sourcesContent":["export enum JobStatus {\n pending = 'pending',\n running = 'running',\n succeeded = 'succeeded',\n canceled = 'canceled',\n failed = 'failed',\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"languageCode.js","sourceRoot":"","sources":["../../src/language/languageCode.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAyLX;AAzLD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAzLW,YAAY,4BAAZ,YAAY,QAyLvB","sourcesContent":["export enum LanguageCode {\n aa = 'aa',\n ab = 'ab',\n ae = 'ae',\n af = 'af',\n ak = 'ak',\n am = 'am',\n an = 'an',\n ar = 'ar',\n as = 'as',\n av = 'av',\n ay = 'ay',\n az = 'az',\n ba = 'ba',\n be = 'be',\n bg = 'bg',\n bh = 'bh',\n bi = 'bi',\n bm = 'bm',\n bn = 'bn',\n bo = 'bo',\n br = 'br',\n bs = 'bs',\n ca = 'ca',\n ce = 'ce',\n ch = 'ch',\n co = 'co',\n cr = 'cr',\n cs = 'cs',\n cu = 'cu',\n cv = 'cv',\n cy = 'cy',\n da = 'da',\n de = 'de',\n dv = 'dv',\n dz = 'dz',\n ee = 'ee',\n el = 'el',\n en = 'en',\n eo = 'eo',\n es = 'es',\n et = 'et',\n eu = 'eu',\n fa = 'fa',\n ff = 'ff',\n fi = 'fi',\n fj = 'fj',\n fo = 'fo',\n fr = 'fr',\n fy = 'fy',\n ga = 'ga',\n gd = 'gd',\n gl = 'gl',\n gn = 'gn',\n gu = 'gu',\n gv = 'gv',\n ha = 'ha',\n he = 'he',\n hi = 'hi',\n ho = 'ho',\n hr = 'hr',\n ht = 'ht',\n hu = 'hu',\n hy = 'hy',\n hz = 'hz',\n ia = 'ia',\n id = 'id',\n ie = 'ie',\n ig = 'ig',\n ii = 'ii',\n ik = 'ik',\n io = 'io',\n is = 'is',\n it = 'it',\n iu = 'iu',\n ja = 'ja',\n jv = 'jv',\n ka = 'ka',\n kg = 'kg',\n ki = 'ki',\n kj = 'kj',\n kk = 'kk',\n kl = 'kl',\n km = 'km',\n kn = 'kn',\n ko = 'ko',\n kr = 'kr',\n ks = 'ks',\n ku = 'ku',\n kv = 'kv',\n kw = 'kw',\n ky = 'ky',\n la = 'la',\n lb = 'lb',\n lg = 'lg',\n li = 'li',\n ln = 'ln',\n lo = 'lo',\n lt = 'lt',\n lu = 'lu',\n lv = 'lv',\n mg = 'mg',\n mh = 'mh',\n mi = 'mi',\n mk = 'mk',\n ml = 'ml',\n mn = 'mn',\n mr = 'mr',\n ms = 'ms',\n mt = 'mt',\n my = 'my',\n na = 'na',\n nb = 'nb',\n nd = 'nd',\n ne = 'ne',\n ng = 'ng',\n nl = 'nl',\n nn = 'nn',\n no = 'no',\n nr = 'nr',\n nv = 'nv',\n ny = 'ny',\n oc = 'oc',\n oj = 'oj',\n om = 'om',\n or = 'or',\n os = 'os',\n pa = 'pa',\n pi = 'pi',\n pl = 'pl',\n ps = 'ps',\n pt = 'pt',\n qu = 'qu',\n rm = 'rm',\n rn = 'rn',\n ro = 'ro',\n ru = 'ru',\n rw = 'rw',\n sa = 'sa',\n sc = 'sc',\n sd = 'sd',\n se = 'se',\n sg = 'sg',\n si = 'si',\n sk = 'sk',\n sl = 'sl',\n sm = 'sm',\n sn = 'sn',\n so = 'so',\n sq = 'sq',\n sr = 'sr',\n ss = 'ss',\n st = 'st',\n su = 'su',\n sv = 'sv',\n sw = 'sw',\n ta = 'ta',\n te = 'te',\n tg = 'tg',\n th = 'th',\n ti = 'ti',\n tk = 'tk',\n tl = 'tl',\n tn = 'tn',\n to = 'to',\n tr = 'tr',\n ts = 'ts',\n tt = 'tt',\n tw = 'tw',\n ty = 'ty',\n ug = 'ug',\n uk = 'uk',\n ur = 'ur',\n uz = 'uz',\n ve = 've',\n vi = 'vi',\n vo = 'vo',\n wa = 'wa',\n wo = 'wo',\n xh = 'xh',\n yi = 'yi',\n yo = 'yo',\n za = 'za',\n zh = 'zh',\n zu = 'zu',\n}\n"]}
1
+ {"version":3,"file":"languageCode.js","sourceRoot":"","sources":["../../src/language/languageCode.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAyLX;AAzLD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAzLW,YAAY,aAAZ,YAAY,GAAZ,YAAY,QAyLvB","sourcesContent":["export enum LanguageCode {\n aa = 'aa',\n ab = 'ab',\n ae = 'ae',\n af = 'af',\n ak = 'ak',\n am = 'am',\n an = 'an',\n ar = 'ar',\n as = 'as',\n av = 'av',\n ay = 'ay',\n az = 'az',\n ba = 'ba',\n be = 'be',\n bg = 'bg',\n bh = 'bh',\n bi = 'bi',\n bm = 'bm',\n bn = 'bn',\n bo = 'bo',\n br = 'br',\n bs = 'bs',\n ca = 'ca',\n ce = 'ce',\n ch = 'ch',\n co = 'co',\n cr = 'cr',\n cs = 'cs',\n cu = 'cu',\n cv = 'cv',\n cy = 'cy',\n da = 'da',\n de = 'de',\n dv = 'dv',\n dz = 'dz',\n ee = 'ee',\n el = 'el',\n en = 'en',\n eo = 'eo',\n es = 'es',\n et = 'et',\n eu = 'eu',\n fa = 'fa',\n ff = 'ff',\n fi = 'fi',\n fj = 'fj',\n fo = 'fo',\n fr = 'fr',\n fy = 'fy',\n ga = 'ga',\n gd = 'gd',\n gl = 'gl',\n gn = 'gn',\n gu = 'gu',\n gv = 'gv',\n ha = 'ha',\n he = 'he',\n hi = 'hi',\n ho = 'ho',\n hr = 'hr',\n ht = 'ht',\n hu = 'hu',\n hy = 'hy',\n hz = 'hz',\n ia = 'ia',\n id = 'id',\n ie = 'ie',\n ig = 'ig',\n ii = 'ii',\n ik = 'ik',\n io = 'io',\n is = 'is',\n it = 'it',\n iu = 'iu',\n ja = 'ja',\n jv = 'jv',\n ka = 'ka',\n kg = 'kg',\n ki = 'ki',\n kj = 'kj',\n kk = 'kk',\n kl = 'kl',\n km = 'km',\n kn = 'kn',\n ko = 'ko',\n kr = 'kr',\n ks = 'ks',\n ku = 'ku',\n kv = 'kv',\n kw = 'kw',\n ky = 'ky',\n la = 'la',\n lb = 'lb',\n lg = 'lg',\n li = 'li',\n ln = 'ln',\n lo = 'lo',\n lt = 'lt',\n lu = 'lu',\n lv = 'lv',\n mg = 'mg',\n mh = 'mh',\n mi = 'mi',\n mk = 'mk',\n ml = 'ml',\n mn = 'mn',\n mr = 'mr',\n ms = 'ms',\n mt = 'mt',\n my = 'my',\n na = 'na',\n nb = 'nb',\n nd = 'nd',\n ne = 'ne',\n ng = 'ng',\n nl = 'nl',\n nn = 'nn',\n no = 'no',\n nr = 'nr',\n nv = 'nv',\n ny = 'ny',\n oc = 'oc',\n oj = 'oj',\n om = 'om',\n or = 'or',\n os = 'os',\n pa = 'pa',\n pi = 'pi',\n pl = 'pl',\n ps = 'ps',\n pt = 'pt',\n qu = 'qu',\n rm = 'rm',\n rn = 'rn',\n ro = 'ro',\n ru = 'ru',\n rw = 'rw',\n sa = 'sa',\n sc = 'sc',\n sd = 'sd',\n se = 'se',\n sg = 'sg',\n si = 'si',\n sk = 'sk',\n sl = 'sl',\n sm = 'sm',\n sn = 'sn',\n so = 'so',\n sq = 'sq',\n sr = 'sr',\n ss = 'ss',\n st = 'st',\n su = 'su',\n sv = 'sv',\n sw = 'sw',\n ta = 'ta',\n te = 'te',\n tg = 'tg',\n th = 'th',\n ti = 'ti',\n tk = 'tk',\n tl = 'tl',\n tn = 'tn',\n to = 'to',\n tr = 'tr',\n ts = 'ts',\n tt = 'tt',\n tw = 'tw',\n ty = 'ty',\n ug = 'ug',\n uk = 'uk',\n ur = 'ur',\n uz = 'uz',\n ve = 've',\n vi = 'vi',\n vo = 'vo',\n wa = 'wa',\n wo = 'wo',\n xh = 'xh',\n yi = 'yi',\n yo = 'yo',\n za = 'za',\n zh = 'zh',\n zu = 'zu',\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/language/languages.ts"],"names":[],"mappings":"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ACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;CACV,CAAA;AAEY,QAAA,SAAS,GAAoB,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAC1F,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE;IACtC,MAAM,OAAO,GAAgB,4BAAoB,CAAC,aAAa,CAAC,CAAA;IAChE,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAA;IAC5B,OAAO,GAAG,CAAA;AACZ,CAAC,EACD,EAAqB,CACtB,CAAA","sourcesContent":["import { LanguageCode } from './languageCode'\n\ntype LanguageMap = {\n [code in LanguageCode]?: string\n}\n\ntype LanguagesObject = {\n [key: string]: LanguageMap\n}\n\nexport const LanguagesISO639part2: { [key: string]: LanguageMap } = {\n aar: {\n en: 'Afar',\n },\n abk: {\n en: 'Abkhazian',\n },\n ace: {\n en: 'Achinese',\n },\n ach: {\n en: 'Acoli',\n },\n ada: {\n en: 'Adangme',\n },\n ady: {\n en: 'Adyghe; Adygei',\n },\n afa: {\n en: 'Afro-Asiatic languages',\n },\n afh: {\n en: 'Afrihili',\n },\n afr: {\n en: 'Afrikaans',\n },\n ain: {\n en: 'Ainu',\n },\n aka: {\n en: 'Akan',\n },\n akk: {\n en: 'Akkadian',\n },\n alb: {\n en: 'Albanian',\n },\n ale: {\n en: 'Aleut',\n },\n alg: {\n en: 'Algonquian languages',\n },\n alt: {\n en: 'Southern Altai',\n },\n amh: {\n en: 'Amharic',\n },\n ang: {\n en: 'English, Old (ca.450-1100)',\n },\n anp: {\n en: 'Angika',\n },\n apa: {\n en: 'Apache languages',\n },\n ara: {\n en: 'Arabic',\n },\n arc: {\n en: 'Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)',\n },\n arg: {\n en: 'Aragonese',\n },\n arm: {\n en: 'Armenian',\n },\n arn: {\n en: 'Mapudungun; Mapuche',\n },\n arp: {\n en: 'Arapaho',\n },\n art: {\n en: 'Artificial languages',\n },\n arw: {\n en: 'Arawak',\n },\n asm: {\n en: 'Assamese',\n },\n ast: {\n en: 'Asturian; Bable; Leonese; Asturleonese',\n },\n ath: {\n en: 'Athapascan languages',\n },\n aus: {\n en: 'Australian languages',\n },\n ava: {\n en: 'Avaric',\n },\n ave: {\n en: 'Avestan',\n },\n awa: {\n en: 'Awadhi',\n },\n aym: {\n en: 'Aymara',\n },\n aze: {\n en: 'Azerbaijani',\n },\n bad: {\n en: 'Banda languages',\n },\n bai: {\n en: 'Bamileke languages',\n },\n bak: {\n en: 'Bashkir',\n },\n bal: {\n en: 'Baluchi',\n },\n bam: {\n en: 'Bambara',\n },\n ban: {\n en: 'Balinese',\n },\n baq: {\n en: 'Basque',\n },\n bas: {\n en: 'Basa',\n },\n bat: {\n en: 'Baltic languages',\n },\n bej: {\n en: 'Beja; Bedawiyet',\n },\n bel: {\n en: 'Belarusian',\n },\n bem: {\n en: 'Bemba',\n },\n ben: {\n en: 'Bengali',\n },\n ber: {\n en: 'Berber languages',\n },\n bho: {\n en: 'Bhojpuri',\n },\n bih: {\n en: 'Bihari languages',\n },\n bik: {\n en: 'Bikol',\n },\n bin: {\n en: 'Bini; Edo',\n },\n bis: {\n en: 'Bislama',\n },\n bla: {\n en: 'Siksika',\n },\n bnt: {\n en: 'Bantu languages',\n },\n bod: {\n en: 'Tibetan',\n },\n bos: {\n en: 'Bosnian',\n },\n bra: {\n en: 'Braj',\n },\n bre: {\n en: 'Breton',\n },\n btk: {\n en: 'Batak languages',\n },\n bua: {\n en: 'Buriat',\n },\n bug: {\n en: 'Buginese',\n },\n bul: {\n en: 'Bulgarian',\n },\n bur: {\n en: 'Burmese',\n },\n byn: {\n en: 'Blin; Bilin',\n },\n cad: {\n en: 'Caddo',\n },\n cai: {\n en: 'Central American Indian languages',\n },\n car: {\n en: 'Galibi Carib',\n },\n cat: {\n en: 'Catalan; Valencian',\n },\n cau: {\n en: 'Caucasian languages',\n },\n ceb: {\n en: 'Cebuano',\n },\n cel: {\n en: 'Celtic languages',\n },\n ces: {\n en: 'Czech',\n },\n cha: {\n en: 'Chamorro',\n },\n chb: {\n en: 'Chibcha',\n },\n che: {\n en: 'Chechen',\n },\n chg: {\n en: 'Chagatai',\n },\n chi: {\n en: 'Chinese',\n },\n chk: {\n en: 'Chuukese',\n },\n chm: {\n en: 'Mari',\n },\n chn: {\n en: 'Chinook jargon',\n },\n cho: {\n en: 'Choctaw',\n },\n chp: {\n en: 'Chipewyan; Dene Suline',\n },\n chr: {\n en: 'Cherokee',\n },\n chu: {\n en: 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic',\n },\n chv: {\n en: 'Chuvash',\n },\n chy: {\n en: 'Cheyenne',\n },\n cmc: {\n en: 'Chamic languages',\n },\n cnr: {\n en: 'Montenegrin',\n },\n cop: {\n en: 'Coptic',\n },\n cor: {\n en: 'Cornish',\n },\n cos: {\n en: 'Corsican',\n },\n cpe: {\n en: 'Creoles and pidgins, English based',\n },\n cpf: {\n en: 'Creoles and pidgins, French-based',\n },\n cpp: {\n en: 'Creoles and pidgins, Portuguese-based',\n },\n cre: {\n en: 'Cree',\n },\n crh: {\n en: 'Crimean Tatar; Crimean Turkish',\n },\n crp: {\n en: 'Creoles and pidgins',\n },\n csb: {\n en: 'Kashubian',\n },\n cus: {\n en: 'Cushitic languages',\n },\n cym: {\n en: 'Welsh',\n },\n cze: {\n en: 'Czech',\n },\n dak: {\n en: 'Dakota',\n },\n dan: {\n en: 'Danish',\n },\n dar: {\n en: 'Dargwa',\n },\n day: {\n en: 'Land Dayak languages',\n },\n del: {\n en: 'Delaware',\n },\n den: {\n en: 'Slave (Athapascan)',\n },\n deu: {\n en: 'German',\n },\n dgr: {\n en: 'Dogrib',\n },\n din: {\n en: 'Dinka',\n },\n div: {\n en: 'Divehi; Dhivehi; Maldivian',\n },\n doi: {\n en: 'Dogri',\n },\n dra: {\n en: 'Dravidian languages',\n },\n dsb: {\n en: 'Lower Sorbian',\n },\n dua: {\n en: 'Duala',\n },\n dum: {\n en: 'Dutch, Middle (ca.1050-1350)',\n },\n dut: {\n en: 'Dutch; Flemish',\n },\n dyu: {\n en: 'Dyula',\n },\n dzo: {\n en: 'Dzongkha',\n },\n efi: {\n en: 'Efik',\n },\n egy: {\n en: 'Egyptian (Ancient)',\n },\n eka: {\n en: 'Ekajuk',\n },\n ell: {\n en: 'Greek, Modern (1453-)',\n },\n elx: {\n en: 'Elamite',\n },\n eng: {\n en: 'English',\n },\n enm: {\n en: 'English, Middle (1100-1500)',\n },\n epo: {\n en: 'Esperanto',\n },\n est: {\n en: 'Estonian',\n },\n eus: {\n en: 'Basque',\n },\n ewe: {\n en: 'Ewe',\n },\n ewo: {\n en: 'Ewondo',\n },\n fan: {\n en: 'Fang',\n },\n fao: {\n en: 'Faroese',\n },\n fas: {\n en: 'Persian',\n },\n fat: {\n en: 'Fanti',\n },\n fij: {\n en: 'Fijian',\n },\n fil: {\n en: 'Filipino; Pilipino',\n },\n fin: {\n en: 'Finnish',\n },\n fiu: {\n en: 'Finno-Ugrian languages',\n },\n fon: {\n en: 'Fon',\n },\n fra: {\n en: 'French',\n },\n fre: {\n en: 'French',\n },\n frm: {\n en: 'French, Middle (ca.1400-1600)',\n },\n fro: {\n en: 'French, Old (842-ca.1400)',\n },\n frr: {\n en: 'Northern Frisian',\n },\n frs: {\n en: 'Eastern Frisian',\n },\n fry: {\n en: 'Western Frisian',\n },\n ful: {\n en: 'Fulah',\n },\n fur: {\n en: 'Friulian',\n },\n gaa: {\n en: 'Ga',\n },\n gay: {\n en: 'Gayo',\n },\n gba: {\n en: 'Gbaya',\n },\n gem: {\n en: 'Germanic languages',\n },\n geo: {\n en: 'Georgian',\n },\n ger: {\n en: 'German',\n },\n gez: {\n en: 'Geez',\n },\n gil: {\n en: 'Gilbertese',\n },\n gla: {\n en: 'Gaelic; Scottish Gaelic',\n },\n gle: {\n en: 'Irish',\n },\n glg: {\n en: 'Galician',\n },\n glv: {\n en: 'Manx',\n },\n gmh: {\n en: 'German, Middle High (ca.1050-1500)',\n },\n goh: {\n en: 'German, Old High (ca.750-1050)',\n },\n gon: {\n en: 'Gondi',\n },\n gor: {\n en: 'Gorontalo',\n },\n got: {\n en: 'Gothic',\n },\n grb: {\n en: 'Grebo',\n },\n grc: {\n en: 'Greek, Ancient (to 1453)',\n },\n gre: {\n en: 'Greek, Modern (1453-)',\n },\n grn: {\n en: 'Guarani',\n },\n gsw: {\n en: 'Swiss German; Alemannic; Alsatian',\n },\n guj: {\n en: 'Gujarati',\n },\n gwi: {\n en: \"Gwich'in\",\n },\n hai: {\n en: 'Haida',\n },\n hat: {\n en: 'Haitian; Haitian Creole',\n },\n hau: {\n en: 'Hausa',\n },\n haw: {\n en: 'Hawaiian',\n },\n heb: {\n en: 'Hebrew',\n },\n her: {\n en: 'Herero',\n },\n hil: {\n en: 'Hiligaynon',\n },\n him: {\n en: 'Himachali languages; Western Pahari languages',\n },\n hin: {\n en: 'Hindi',\n },\n hit: {\n en: 'Hittite',\n },\n hmn: {\n en: 'Hmong; Mong',\n },\n hmo: {\n en: 'Hiri Motu',\n },\n hrv: {\n en: 'Croatian',\n },\n hsb: {\n en: 'Upper Sorbian',\n },\n hun: {\n en: 'Hungarian',\n },\n hup: {\n en: 'Hupa',\n },\n hye: {\n en: 'Armenian',\n },\n iba: {\n en: 'Iban',\n },\n ibo: {\n en: 'Igbo',\n },\n ice: {\n en: 'Icelandic',\n },\n ido: {\n en: 'Ido',\n },\n iii: {\n en: 'Sichuan Yi; Nuosu',\n },\n ijo: {\n en: 'Ijo languages',\n },\n iku: {\n en: 'Inuktitut',\n },\n ile: {\n en: 'Interlingue; Occidental',\n },\n ilo: {\n en: 'Iloko',\n },\n ina: {\n en: 'Interlingua (International Auxiliary Language Association)',\n },\n inc: {\n en: 'Indic languages',\n },\n ind: {\n en: 'Indonesian',\n },\n ine: {\n en: 'Indo-European languages',\n },\n inh: {\n en: 'Ingush',\n },\n ipk: {\n en: 'Inupiaq',\n },\n ira: {\n en: 'Iranian languages',\n },\n iro: {\n en: 'Iroquoian languages',\n },\n isl: {\n en: 'Icelandic',\n },\n ita: {\n en: 'Italian',\n },\n jav: {\n en: 'Javanese',\n },\n jbo: {\n en: 'Lojban',\n },\n jpn: {\n en: 'Japanese',\n },\n jpr: {\n en: 'Judeo-Persian',\n },\n jrb: {\n en: 'Judeo-Arabic',\n },\n kaa: {\n en: 'Kara-Kalpak',\n },\n kab: {\n en: 'Kabyle',\n },\n kac: {\n en: 'Kachin; Jingpho',\n },\n kal: {\n en: 'Kalaallisut; Greenlandic',\n },\n kam: {\n en: 'Kamba',\n },\n kan: {\n en: 'Kannada',\n },\n kar: {\n en: 'Karen languages',\n },\n kas: {\n en: 'Kashmiri',\n },\n kat: {\n en: 'Georgian',\n },\n kau: {\n en: 'Kanuri',\n },\n kaw: {\n en: 'Kawi',\n },\n kaz: {\n en: 'Kazakh',\n },\n kbd: {\n en: 'Kabardian',\n },\n kha: {\n en: 'Khasi',\n },\n khi: {\n en: 'Khoisan languages',\n },\n khm: {\n en: 'Central Khmer',\n },\n kho: {\n en: 'Khotanese; Sakan',\n },\n kik: {\n en: 'Kikuyu; Gikuyu',\n },\n kin: {\n en: 'Kinyarwanda',\n },\n kir: {\n en: 'Kirghiz; Kyrgyz',\n },\n kmb: {\n en: 'Kimbundu',\n },\n kok: {\n en: 'Konkani',\n },\n kom: {\n en: 'Komi',\n },\n kon: {\n en: 'Kongo',\n },\n kor: {\n en: 'Korean',\n },\n kos: {\n en: 'Kosraean',\n },\n kpe: {\n en: 'Kpelle',\n },\n krc: {\n en: 'Karachay-Balkar',\n },\n krl: {\n en: 'Karelian',\n },\n kro: {\n en: 'Kru languages',\n },\n kru: {\n en: 'Kurukh',\n },\n kua: {\n en: 'Kuanyama; Kwanyama',\n },\n kum: {\n en: 'Kumyk',\n },\n kur: {\n en: 'Kurdish',\n },\n kut: {\n en: 'Kutenai',\n },\n lad: {\n en: 'Ladino',\n },\n lah: {\n en: 'Lahnda',\n },\n lam: {\n en: 'Lamba',\n },\n lao: {\n en: 'Lao',\n },\n lat: {\n en: 'Latin',\n },\n lav: {\n en: 'Latvian',\n },\n lez: {\n en: 'Lezghian',\n },\n lim: {\n en: 'Limburgan; Limburger; Limburgish',\n },\n lin: {\n en: 'Lingala',\n },\n lit: {\n en: 'Lithuanian',\n },\n lol: {\n en: 'Mongo',\n },\n loz: {\n en: 'Lozi',\n },\n ltz: {\n en: 'Luxembourgish; Letzeburgesch',\n },\n lua: {\n en: 'Luba-Lulua',\n },\n lub: {\n en: 'Luba-Katanga',\n },\n lug: {\n en: 'Ganda',\n },\n lui: {\n en: 'Luiseno',\n },\n lun: {\n en: 'Lunda',\n },\n luo: {\n en: 'Luo (Kenya and Tanzania)',\n },\n lus: {\n en: 'Lushai',\n },\n mac: {\n en: 'Macedonian',\n },\n mad: {\n en: 'Madurese',\n },\n mag: {\n en: 'Magahi',\n },\n mah: {\n en: 'Marshallese',\n },\n mai: {\n en: 'Maithili',\n },\n mak: {\n en: 'Makasar',\n },\n mal: {\n en: 'Malayalam',\n },\n man: {\n en: 'Mandingo',\n },\n mao: {\n en: 'Maori',\n },\n map: {\n en: 'Austronesian languages',\n },\n mar: {\n en: 'Marathi',\n },\n mas: {\n en: 'Masai',\n },\n may: {\n en: 'Malay',\n },\n mdf: {\n en: 'Moksha',\n },\n mdr: {\n en: 'Mandar',\n },\n men: {\n en: 'Mende',\n },\n mga: {\n en: 'Irish, Middle (900-1200)',\n },\n mic: {\n en: \"Mi'kmaq; Micmac\",\n },\n min: {\n en: 'Minangkabau',\n },\n mis: {\n en: 'Uncoded languages',\n },\n mkd: {\n en: 'Macedonian',\n },\n mkh: {\n en: 'Mon-Khmer languages',\n },\n mlg: {\n en: 'Malagasy',\n },\n mlt: {\n en: 'Maltese',\n },\n mnc: {\n en: 'Manchu',\n },\n mni: {\n en: 'Manipuri',\n },\n mno: {\n en: 'Manobo languages',\n },\n moh: {\n en: 'Mohawk',\n },\n mon: {\n en: 'Mongolian',\n },\n mos: {\n en: 'Mossi',\n },\n mri: {\n en: 'Maori',\n },\n msa: {\n en: 'Malay',\n },\n mul: {\n en: 'Multiple languages',\n },\n mun: {\n en: 'Munda languages',\n },\n mus: {\n en: 'Creek',\n },\n mwl: {\n en: 'Mirandese',\n },\n mwr: {\n en: 'Marwari',\n },\n mya: {\n en: 'Burmese',\n },\n myn: {\n en: 'Mayan languages',\n },\n myv: {\n en: 'Erzya',\n },\n nah: {\n en: 'Nahuatl languages',\n },\n nai: {\n en: 'North American Indian languages',\n },\n nap: {\n en: 'Neapolitan',\n },\n nau: {\n en: 'Nauru',\n },\n nav: {\n en: 'Navajo; Navaho',\n },\n nbl: {\n en: 'Ndebele, South; South Ndebele',\n },\n nde: {\n en: 'Ndebele, North; North Ndebele',\n },\n ndo: {\n en: 'Ndonga',\n },\n nds: {\n en: 'Low German; Low Saxon; German, Low; Saxon, Low',\n },\n nep: {\n en: 'Nepali',\n },\n new: {\n en: 'Nepal Bhasa; Newari',\n },\n nia: {\n en: 'Nias',\n },\n nic: {\n en: 'Niger-Kordofanian languages',\n },\n niu: {\n en: 'Niuean',\n },\n nld: {\n en: 'Dutch; Flemish',\n },\n nno: {\n en: 'Norwegian Nynorsk; Nynorsk, Norwegian',\n },\n nob: {\n en: 'Bokmål, Norwegian; Norwegian Bokmål',\n },\n nog: {\n en: 'Nogai',\n },\n non: {\n en: 'Norse, Old',\n },\n nor: {\n en: 'Norwegian',\n },\n nqo: {\n en: \"N'Ko\",\n },\n nso: {\n en: 'Pedi; Sepedi; Northern Sotho',\n },\n nub: {\n en: 'Nubian languages',\n },\n nwc: {\n en: 'Classical Newari; Old Newari; Classical Nepal Bhasa',\n },\n nya: {\n en: 'Chichewa; Chewa; Nyanja',\n },\n nym: {\n en: 'Nyamwezi',\n },\n nyn: {\n en: 'Nyankole',\n },\n nyo: {\n en: 'Nyoro',\n },\n nzi: {\n en: 'Nzima',\n },\n oci: {\n en: 'Occitan (post 1500)',\n },\n oji: {\n en: 'Ojibwa',\n },\n ori: {\n en: 'Oriya',\n },\n orm: {\n en: 'Oromo',\n },\n osa: {\n en: 'Osage',\n },\n oss: {\n en: 'Ossetian; Ossetic',\n },\n ota: {\n en: 'Turkish, Ottoman (1500-1928)',\n },\n oto: {\n en: 'Otomian languages',\n },\n paa: {\n en: 'Papuan languages',\n },\n pag: {\n en: 'Pangasinan',\n },\n pal: {\n en: 'Pahlavi',\n },\n pam: {\n en: 'Pampanga; Kapampangan',\n },\n pan: {\n en: 'Panjabi; Punjabi',\n },\n pap: {\n en: 'Papiamento',\n },\n pau: {\n en: 'Palauan',\n },\n peo: {\n en: 'Persian, Old (ca.600-400 B.C.)',\n },\n per: {\n en: 'Persian',\n },\n phi: {\n en: 'Philippine languages',\n },\n phn: {\n en: 'Phoenician',\n },\n pli: {\n en: 'Pali',\n },\n pol: {\n en: 'Polish',\n },\n pon: {\n en: 'Pohnpeian',\n },\n por: {\n en: 'Portuguese',\n },\n pra: {\n en: 'Prakrit languages',\n },\n pro: {\n en: 'Provençal, Old (to 1500);Occitan, Old (to 1500)',\n },\n pus: {\n en: 'Pushto; Pashto',\n },\n 'qaa-qtz': {\n en: 'Reserved for local use',\n },\n que: {\n en: 'Quechua',\n },\n raj: {\n en: 'Rajasthani',\n },\n rap: {\n en: 'Rapanui',\n },\n rar: {\n en: 'Rarotongan; Cook Islands Maori',\n },\n roa: {\n en: 'Romance languages',\n },\n roh: {\n en: 'Romansh',\n },\n rom: {\n en: 'Romany',\n },\n ron: {\n en: 'Romanian; Moldavian; Moldovan',\n },\n rum: {\n en: 'Romanian; Moldavian; Moldovan',\n },\n run: {\n en: 'Rundi',\n },\n rup: {\n en: 'Aromanian; Arumanian; Macedo-Romanian',\n },\n rus: {\n en: 'Russian',\n },\n sad: {\n en: 'Sandawe',\n },\n sag: {\n en: 'Sango',\n },\n sah: {\n en: 'Yakut',\n },\n sai: {\n en: 'South American Indian languages',\n },\n sal: {\n en: 'Salishan languages',\n },\n sam: {\n en: 'Samaritan Aramaic',\n },\n san: {\n en: 'Sanskrit',\n },\n sas: {\n en: 'Sasak',\n },\n sat: {\n en: 'Santali',\n },\n scn: {\n en: 'Sicilian',\n },\n sco: {\n en: 'Scots',\n },\n sel: {\n en: 'Selkup',\n },\n sem: {\n en: 'Semitic languages',\n },\n sga: {\n en: 'Irish, Old (to 900)',\n },\n sgn: {\n en: 'Sign Languages',\n },\n shn: {\n en: 'Shan',\n },\n sid: {\n en: 'Sidamo',\n },\n sin: {\n en: 'Sinhala; Sinhalese',\n },\n sio: {\n en: 'Siouan languages',\n },\n sit: {\n en: 'Sino-Tibetan languages',\n },\n sla: {\n en: 'Slavic languages',\n },\n slk: {\n en: 'Slovak',\n },\n slo: {\n en: 'Slovak',\n },\n slv: {\n en: 'Slovenian',\n },\n sma: {\n en: 'Southern Sami',\n },\n sme: {\n en: 'Northern Sami',\n },\n smi: {\n en: 'Sami languages',\n },\n smj: {\n en: 'Lule Sami',\n },\n smn: {\n en: 'Inari Sami',\n },\n smo: {\n en: 'Samoan',\n },\n sms: {\n en: 'Skolt Sami',\n },\n sna: {\n en: 'Shona',\n },\n snd: {\n en: 'Sindhi',\n },\n snk: {\n en: 'Soninke',\n },\n sog: {\n en: 'Sogdian',\n },\n som: {\n en: 'Somali',\n },\n son: {\n en: 'Songhai languages',\n },\n sot: {\n en: 'Sotho, Southern',\n },\n spa: {\n en: 'Spanish',\n },\n sqi: {\n en: 'Albanian',\n },\n srd: {\n en: 'Sardinian',\n },\n srn: {\n en: 'Sranan Tongo',\n },\n srp: {\n en: 'Serbian',\n },\n srr: {\n en: 'Serer',\n },\n ssa: {\n en: 'Nilo-Saharan languages',\n },\n ssw: {\n en: 'Swati',\n },\n suk: {\n en: 'Sukuma',\n },\n sun: {\n en: 'Sundanese',\n },\n sus: {\n en: 'Susu',\n },\n sux: {\n en: 'Sumerian',\n },\n swa: {\n en: 'Swahili',\n },\n swe: {\n en: 'Swedish',\n },\n syc: {\n en: 'Classical Syriac',\n },\n syr: {\n en: 'Syriac',\n },\n tah: {\n en: 'Tahitian',\n },\n tai: {\n en: 'Tai languages',\n },\n tam: {\n en: 'Tamil',\n },\n tat: {\n en: 'Tatar',\n },\n tel: {\n en: 'Telugu',\n },\n tem: {\n en: 'Timne',\n },\n ter: {\n en: 'Tereno',\n },\n tet: {\n en: 'Tetum',\n },\n tgk: {\n en: 'Tajik',\n },\n tgl: {\n en: 'Tagalog',\n },\n tha: {\n en: 'Thai',\n },\n tib: {\n en: 'Tibetan',\n },\n tig: {\n en: 'Tigre',\n },\n tir: {\n en: 'Tigrinya',\n },\n tiv: {\n en: 'Tiv',\n },\n tkl: {\n en: 'Tokelau',\n },\n tlh: {\n en: 'Klingon; tlhIngan-Hol',\n },\n tli: {\n en: 'Tlingit',\n },\n tmh: {\n en: 'Tamashek',\n },\n tog: {\n en: 'Tonga (Nyasa)',\n },\n ton: {\n en: 'Tonga (Tonga Islands)',\n },\n tpi: {\n en: 'Tok Pisin',\n },\n tsi: {\n en: 'Tsimshian',\n },\n tsn: {\n en: 'Tswana',\n },\n tso: {\n en: 'Tsonga',\n },\n tuk: {\n en: 'Turkmen',\n },\n tum: {\n en: 'Tumbuka',\n },\n tup: {\n en: 'Tupi languages',\n },\n tur: {\n en: 'Turkish',\n },\n tut: {\n en: 'Altaic languages',\n },\n tvl: {\n en: 'Tuvalu',\n },\n twi: {\n en: 'Twi',\n },\n tyv: {\n en: 'Tuvinian',\n },\n udm: {\n en: 'Udmurt',\n },\n uga: {\n en: 'Ugaritic',\n },\n uig: {\n en: 'Uighur; Uyghur',\n },\n ukr: {\n en: 'Ukrainian',\n },\n umb: {\n en: 'Umbundu',\n },\n und: {\n en: 'Undetermined',\n },\n urd: {\n en: 'Urdu',\n },\n uzb: {\n en: 'Uzbek',\n },\n vai: {\n en: 'Vai',\n },\n ven: {\n en: 'Venda',\n },\n vie: {\n en: 'Vietnamese',\n },\n vol: {\n en: 'Volapük',\n },\n vot: {\n en: 'Votic',\n },\n wak: {\n en: 'Wakashan languages',\n },\n wal: {\n en: 'Wolaitta; Wolaytta',\n },\n war: {\n en: 'Waray',\n },\n was: {\n en: 'Washo',\n },\n wel: {\n en: 'Welsh',\n },\n wen: {\n en: 'Sorbian languages',\n },\n wln: {\n en: 'Walloon',\n },\n wol: {\n en: 'Wolof',\n },\n xal: {\n en: 'Kalmyk; Oirat',\n },\n xho: {\n en: 'Xhosa',\n },\n yao: {\n en: 'Yao',\n },\n yap: {\n en: 'Yapese',\n },\n yid: {\n en: 'Yiddish',\n },\n yor: {\n en: 'Yoruba',\n },\n ypk: {\n en: 'Yupik languages',\n },\n zap: {\n en: 'Zapotec',\n },\n zbl: {\n en: 'Blissymbols; Blissymbolics; Bliss',\n },\n zen: {\n en: 'Zenaga',\n },\n zgh: {\n en: 'Standard Moroccan Tamazight',\n },\n zha: {\n en: 'Zhuang; Chuang',\n },\n zho: {\n en: 'Chinese',\n },\n znd: {\n en: 'Zande languages',\n },\n zul: {\n en: 'Zulu',\n },\n zun: {\n en: 'Zuni',\n },\n zxx: {\n en: 'No linguistic content; Not applicable',\n },\n zza: {\n en: 'Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki',\n },\n}\n\nconst iso_639_1_to_iso_639_2_code: LanguageMap = {\n aa: 'aar',\n ab: 'abk',\n ae: 'ave',\n af: 'afr',\n ak: 'aka',\n am: 'amh',\n an: 'arg',\n ar: 'ara',\n as: 'asm',\n av: 'ava',\n ay: 'aym',\n az: 'aze',\n ba: 'bak',\n be: 'bel',\n bg: 'bul',\n bh: 'bih',\n bi: 'bis',\n bm: 'bam',\n bn: 'ben',\n bo: 'tib',\n br: 'bre',\n bs: 'bos',\n ca: 'cat',\n ce: 'che',\n ch: 'cha',\n co: 'cos',\n cr: 'cre',\n cs: 'cze',\n cu: 'chu',\n cv: 'chv',\n cy: 'wel',\n da: 'dan',\n de: 'ger',\n dv: 'div',\n dz: 'dzo',\n ee: 'ewe',\n el: 'gre',\n en: 'eng',\n eo: 'epo',\n es: 'spa',\n et: 'est',\n eu: 'eus',\n fa: 'per',\n ff: 'ful',\n fi: 'fin',\n fj: 'fij',\n fo: 'fao',\n fr: 'fre',\n fy: 'fry',\n ga: 'gle',\n gd: 'gla',\n gl: 'glg',\n gn: 'grn',\n gu: 'guj',\n gv: 'glv',\n ha: 'hau',\n he: 'heb',\n hi: 'hin',\n ho: 'hmo',\n hr: 'hrv',\n ht: 'hat',\n hu: 'hun',\n hy: 'hye',\n hz: 'her',\n ia: 'ina',\n id: 'ind',\n ie: 'ile',\n ig: 'ibo',\n ii: 'iii',\n ik: 'ipk',\n io: 'ido',\n is: 'isl',\n it: 'ita',\n iu: 'iku',\n ja: 'jpn',\n jv: 'jav',\n ka: 'kat',\n kg: 'kon',\n ki: 'kik',\n kj: 'kua',\n kk: 'kaz',\n kl: 'kal',\n km: 'khm',\n kn: 'kan',\n ko: 'kor',\n kr: 'kau',\n ks: 'kas',\n ku: 'kur',\n kv: 'kom',\n kw: 'cor',\n ky: 'kir',\n la: 'lat',\n lb: 'ltz',\n lg: 'lug',\n li: 'lim',\n ln: 'lin',\n lo: 'lao',\n lt: 'lit',\n lu: 'lub',\n lv: 'lav',\n mg: 'mlg',\n mh: 'mah',\n mi: 'mri',\n mk: 'mkd',\n ml: 'mal',\n mn: 'mon',\n mr: 'mar',\n ms: 'msa',\n mt: 'mlt',\n my: 'mya',\n na: 'nau',\n nb: 'nob',\n nd: 'nde',\n ne: 'nep',\n ng: 'ndo',\n nl: 'nld',\n nn: 'nno',\n no: 'nor',\n nr: 'nbl',\n nv: 'nav',\n ny: 'nya',\n oc: 'oci',\n oj: 'oji',\n om: 'orm',\n or: 'ori',\n os: 'oss',\n pa: 'pan',\n pi: 'pli',\n pl: 'pol',\n ps: 'pus',\n pt: 'por',\n qu: 'que',\n rm: 'roh',\n rn: 'run',\n ro: 'rum',\n ru: 'rus',\n rw: 'kin',\n sa: 'san',\n sc: 'srd',\n sd: 'snd',\n se: 'sme',\n sg: 'sag',\n si: 'sin',\n sk: 'slo',\n sl: 'slv',\n sm: 'smo',\n sn: 'sna',\n so: 'som',\n sq: 'sqi',\n sr: 'srp',\n ss: 'ssw',\n st: 'sot',\n su: 'sun',\n sv: 'swe',\n sw: 'swa',\n ta: 'tam',\n te: 'tel',\n tg: 'tgk',\n th: 'tha',\n ti: 'tir',\n tk: 'tuk',\n tl: 'tgl',\n tn: 'tsn',\n to: 'ton',\n tr: 'tur',\n ts: 'tso',\n tt: 'tat',\n tw: 'twi',\n ty: 'tah',\n ug: 'uig',\n uk: 'ukr',\n ur: 'urd',\n uz: 'uzb',\n ve: 'ven',\n vi: 'vie',\n vo: 'vol',\n wa: 'wln',\n wo: 'wol',\n xh: 'xho',\n yi: 'yid',\n yo: 'yor',\n za: 'zha',\n zh: 'zho',\n zu: 'zul',\n}\n\nexport const Languages: LanguagesObject = Object.entries(iso_639_1_to_iso_639_2_code).reduce(\n (acc, [iso639_1_code, iso639_2_code]) => {\n const langMap: LanguageMap = LanguagesISO639part2[iso639_2_code]\n acc[iso639_1_code] = langMap\n return acc\n },\n {} as LanguagesObject\n)\n"]}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/language/languages.ts"],"names":[],"mappings":"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ACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;CACV,CAAA;AAEY,QAAA,SAAS,GAAoB,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAC1F,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE;IACtC,MAAM,OAAO,GAAgB,QAAA,oBAAoB,CAAC,aAAa,CAAC,CAAA;IAChE,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAA;IAC5B,OAAO,GAAG,CAAA;AACZ,CAAC,EACD,EAAqB,CACtB,CAAA","sourcesContent":["import { LanguageCode } from './languageCode'\n\ntype LanguageMap = {\n [code in LanguageCode]?: string\n}\n\ntype LanguagesObject = {\n [key: string]: LanguageMap\n}\n\nexport const LanguagesISO639part2: { [key: string]: LanguageMap } = {\n aar: {\n en: 'Afar',\n },\n abk: {\n en: 'Abkhazian',\n },\n ace: {\n en: 'Achinese',\n },\n ach: {\n en: 'Acoli',\n },\n ada: {\n en: 'Adangme',\n },\n ady: {\n en: 'Adyghe; Adygei',\n },\n afa: {\n en: 'Afro-Asiatic languages',\n },\n afh: {\n en: 'Afrihili',\n },\n afr: {\n en: 'Afrikaans',\n },\n ain: {\n en: 'Ainu',\n },\n aka: {\n en: 'Akan',\n },\n akk: {\n en: 'Akkadian',\n },\n alb: {\n en: 'Albanian',\n },\n ale: {\n en: 'Aleut',\n },\n alg: {\n en: 'Algonquian languages',\n },\n alt: {\n en: 'Southern Altai',\n },\n amh: {\n en: 'Amharic',\n },\n ang: {\n en: 'English, Old (ca.450-1100)',\n },\n anp: {\n en: 'Angika',\n },\n apa: {\n en: 'Apache languages',\n },\n ara: {\n en: 'Arabic',\n },\n arc: {\n en: 'Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)',\n },\n arg: {\n en: 'Aragonese',\n },\n arm: {\n en: 'Armenian',\n },\n arn: {\n en: 'Mapudungun; Mapuche',\n },\n arp: {\n en: 'Arapaho',\n },\n art: {\n en: 'Artificial languages',\n },\n arw: {\n en: 'Arawak',\n },\n asm: {\n en: 'Assamese',\n },\n ast: {\n en: 'Asturian; Bable; Leonese; Asturleonese',\n },\n ath: {\n en: 'Athapascan languages',\n },\n aus: {\n en: 'Australian languages',\n },\n ava: {\n en: 'Avaric',\n },\n ave: {\n en: 'Avestan',\n },\n awa: {\n en: 'Awadhi',\n },\n aym: {\n en: 'Aymara',\n },\n aze: {\n en: 'Azerbaijani',\n },\n bad: {\n en: 'Banda languages',\n },\n bai: {\n en: 'Bamileke languages',\n },\n bak: {\n en: 'Bashkir',\n },\n bal: {\n en: 'Baluchi',\n },\n bam: {\n en: 'Bambara',\n },\n ban: {\n en: 'Balinese',\n },\n baq: {\n en: 'Basque',\n },\n bas: {\n en: 'Basa',\n },\n bat: {\n en: 'Baltic languages',\n },\n bej: {\n en: 'Beja; Bedawiyet',\n },\n bel: {\n en: 'Belarusian',\n },\n bem: {\n en: 'Bemba',\n },\n ben: {\n en: 'Bengali',\n },\n ber: {\n en: 'Berber languages',\n },\n bho: {\n en: 'Bhojpuri',\n },\n bih: {\n en: 'Bihari languages',\n },\n bik: {\n en: 'Bikol',\n },\n bin: {\n en: 'Bini; Edo',\n },\n bis: {\n en: 'Bislama',\n },\n bla: {\n en: 'Siksika',\n },\n bnt: {\n en: 'Bantu languages',\n },\n bod: {\n en: 'Tibetan',\n },\n bos: {\n en: 'Bosnian',\n },\n bra: {\n en: 'Braj',\n },\n bre: {\n en: 'Breton',\n },\n btk: {\n en: 'Batak languages',\n },\n bua: {\n en: 'Buriat',\n },\n bug: {\n en: 'Buginese',\n },\n bul: {\n en: 'Bulgarian',\n },\n bur: {\n en: 'Burmese',\n },\n byn: {\n en: 'Blin; Bilin',\n },\n cad: {\n en: 'Caddo',\n },\n cai: {\n en: 'Central American Indian languages',\n },\n car: {\n en: 'Galibi Carib',\n },\n cat: {\n en: 'Catalan; Valencian',\n },\n cau: {\n en: 'Caucasian languages',\n },\n ceb: {\n en: 'Cebuano',\n },\n cel: {\n en: 'Celtic languages',\n },\n ces: {\n en: 'Czech',\n },\n cha: {\n en: 'Chamorro',\n },\n chb: {\n en: 'Chibcha',\n },\n che: {\n en: 'Chechen',\n },\n chg: {\n en: 'Chagatai',\n },\n chi: {\n en: 'Chinese',\n },\n chk: {\n en: 'Chuukese',\n },\n chm: {\n en: 'Mari',\n },\n chn: {\n en: 'Chinook jargon',\n },\n cho: {\n en: 'Choctaw',\n },\n chp: {\n en: 'Chipewyan; Dene Suline',\n },\n chr: {\n en: 'Cherokee',\n },\n chu: {\n en: 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic',\n },\n chv: {\n en: 'Chuvash',\n },\n chy: {\n en: 'Cheyenne',\n },\n cmc: {\n en: 'Chamic languages',\n },\n cnr: {\n en: 'Montenegrin',\n },\n cop: {\n en: 'Coptic',\n },\n cor: {\n en: 'Cornish',\n },\n cos: {\n en: 'Corsican',\n },\n cpe: {\n en: 'Creoles and pidgins, English based',\n },\n cpf: {\n en: 'Creoles and pidgins, French-based',\n },\n cpp: {\n en: 'Creoles and pidgins, Portuguese-based',\n },\n cre: {\n en: 'Cree',\n },\n crh: {\n en: 'Crimean Tatar; Crimean Turkish',\n },\n crp: {\n en: 'Creoles and pidgins',\n },\n csb: {\n en: 'Kashubian',\n },\n cus: {\n en: 'Cushitic languages',\n },\n cym: {\n en: 'Welsh',\n },\n cze: {\n en: 'Czech',\n },\n dak: {\n en: 'Dakota',\n },\n dan: {\n en: 'Danish',\n },\n dar: {\n en: 'Dargwa',\n },\n day: {\n en: 'Land Dayak languages',\n },\n del: {\n en: 'Delaware',\n },\n den: {\n en: 'Slave (Athapascan)',\n },\n deu: {\n en: 'German',\n },\n dgr: {\n en: 'Dogrib',\n },\n din: {\n en: 'Dinka',\n },\n div: {\n en: 'Divehi; Dhivehi; Maldivian',\n },\n doi: {\n en: 'Dogri',\n },\n dra: {\n en: 'Dravidian languages',\n },\n dsb: {\n en: 'Lower Sorbian',\n },\n dua: {\n en: 'Duala',\n },\n dum: {\n en: 'Dutch, Middle (ca.1050-1350)',\n },\n dut: {\n en: 'Dutch; Flemish',\n },\n dyu: {\n en: 'Dyula',\n },\n dzo: {\n en: 'Dzongkha',\n },\n efi: {\n en: 'Efik',\n },\n egy: {\n en: 'Egyptian (Ancient)',\n },\n eka: {\n en: 'Ekajuk',\n },\n ell: {\n en: 'Greek, Modern (1453-)',\n },\n elx: {\n en: 'Elamite',\n },\n eng: {\n en: 'English',\n },\n enm: {\n en: 'English, Middle (1100-1500)',\n },\n epo: {\n en: 'Esperanto',\n },\n est: {\n en: 'Estonian',\n },\n eus: {\n en: 'Basque',\n },\n ewe: {\n en: 'Ewe',\n },\n ewo: {\n en: 'Ewondo',\n },\n fan: {\n en: 'Fang',\n },\n fao: {\n en: 'Faroese',\n },\n fas: {\n en: 'Persian',\n },\n fat: {\n en: 'Fanti',\n },\n fij: {\n en: 'Fijian',\n },\n fil: {\n en: 'Filipino; Pilipino',\n },\n fin: {\n en: 'Finnish',\n },\n fiu: {\n en: 'Finno-Ugrian languages',\n },\n fon: {\n en: 'Fon',\n },\n fra: {\n en: 'French',\n },\n fre: {\n en: 'French',\n },\n frm: {\n en: 'French, Middle (ca.1400-1600)',\n },\n fro: {\n en: 'French, Old (842-ca.1400)',\n },\n frr: {\n en: 'Northern Frisian',\n },\n frs: {\n en: 'Eastern Frisian',\n },\n fry: {\n en: 'Western Frisian',\n },\n ful: {\n en: 'Fulah',\n },\n fur: {\n en: 'Friulian',\n },\n gaa: {\n en: 'Ga',\n },\n gay: {\n en: 'Gayo',\n },\n gba: {\n en: 'Gbaya',\n },\n gem: {\n en: 'Germanic languages',\n },\n geo: {\n en: 'Georgian',\n },\n ger: {\n en: 'German',\n },\n gez: {\n en: 'Geez',\n },\n gil: {\n en: 'Gilbertese',\n },\n gla: {\n en: 'Gaelic; Scottish Gaelic',\n },\n gle: {\n en: 'Irish',\n },\n glg: {\n en: 'Galician',\n },\n glv: {\n en: 'Manx',\n },\n gmh: {\n en: 'German, Middle High (ca.1050-1500)',\n },\n goh: {\n en: 'German, Old High (ca.750-1050)',\n },\n gon: {\n en: 'Gondi',\n },\n gor: {\n en: 'Gorontalo',\n },\n got: {\n en: 'Gothic',\n },\n grb: {\n en: 'Grebo',\n },\n grc: {\n en: 'Greek, Ancient (to 1453)',\n },\n gre: {\n en: 'Greek, Modern (1453-)',\n },\n grn: {\n en: 'Guarani',\n },\n gsw: {\n en: 'Swiss German; Alemannic; Alsatian',\n },\n guj: {\n en: 'Gujarati',\n },\n gwi: {\n en: \"Gwich'in\",\n },\n hai: {\n en: 'Haida',\n },\n hat: {\n en: 'Haitian; Haitian Creole',\n },\n hau: {\n en: 'Hausa',\n },\n haw: {\n en: 'Hawaiian',\n },\n heb: {\n en: 'Hebrew',\n },\n her: {\n en: 'Herero',\n },\n hil: {\n en: 'Hiligaynon',\n },\n him: {\n en: 'Himachali languages; Western Pahari languages',\n },\n hin: {\n en: 'Hindi',\n },\n hit: {\n en: 'Hittite',\n },\n hmn: {\n en: 'Hmong; Mong',\n },\n hmo: {\n en: 'Hiri Motu',\n },\n hrv: {\n en: 'Croatian',\n },\n hsb: {\n en: 'Upper Sorbian',\n },\n hun: {\n en: 'Hungarian',\n },\n hup: {\n en: 'Hupa',\n },\n hye: {\n en: 'Armenian',\n },\n iba: {\n en: 'Iban',\n },\n ibo: {\n en: 'Igbo',\n },\n ice: {\n en: 'Icelandic',\n },\n ido: {\n en: 'Ido',\n },\n iii: {\n en: 'Sichuan Yi; Nuosu',\n },\n ijo: {\n en: 'Ijo languages',\n },\n iku: {\n en: 'Inuktitut',\n },\n ile: {\n en: 'Interlingue; Occidental',\n },\n ilo: {\n en: 'Iloko',\n },\n ina: {\n en: 'Interlingua (International Auxiliary Language Association)',\n },\n inc: {\n en: 'Indic languages',\n },\n ind: {\n en: 'Indonesian',\n },\n ine: {\n en: 'Indo-European languages',\n },\n inh: {\n en: 'Ingush',\n },\n ipk: {\n en: 'Inupiaq',\n },\n ira: {\n en: 'Iranian languages',\n },\n iro: {\n en: 'Iroquoian languages',\n },\n isl: {\n en: 'Icelandic',\n },\n ita: {\n en: 'Italian',\n },\n jav: {\n en: 'Javanese',\n },\n jbo: {\n en: 'Lojban',\n },\n jpn: {\n en: 'Japanese',\n },\n jpr: {\n en: 'Judeo-Persian',\n },\n jrb: {\n en: 'Judeo-Arabic',\n },\n kaa: {\n en: 'Kara-Kalpak',\n },\n kab: {\n en: 'Kabyle',\n },\n kac: {\n en: 'Kachin; Jingpho',\n },\n kal: {\n en: 'Kalaallisut; Greenlandic',\n },\n kam: {\n en: 'Kamba',\n },\n kan: {\n en: 'Kannada',\n },\n kar: {\n en: 'Karen languages',\n },\n kas: {\n en: 'Kashmiri',\n },\n kat: {\n en: 'Georgian',\n },\n kau: {\n en: 'Kanuri',\n },\n kaw: {\n en: 'Kawi',\n },\n kaz: {\n en: 'Kazakh',\n },\n kbd: {\n en: 'Kabardian',\n },\n kha: {\n en: 'Khasi',\n },\n khi: {\n en: 'Khoisan languages',\n },\n khm: {\n en: 'Central Khmer',\n },\n kho: {\n en: 'Khotanese; Sakan',\n },\n kik: {\n en: 'Kikuyu; Gikuyu',\n },\n kin: {\n en: 'Kinyarwanda',\n },\n kir: {\n en: 'Kirghiz; Kyrgyz',\n },\n kmb: {\n en: 'Kimbundu',\n },\n kok: {\n en: 'Konkani',\n },\n kom: {\n en: 'Komi',\n },\n kon: {\n en: 'Kongo',\n },\n kor: {\n en: 'Korean',\n },\n kos: {\n en: 'Kosraean',\n },\n kpe: {\n en: 'Kpelle',\n },\n krc: {\n en: 'Karachay-Balkar',\n },\n krl: {\n en: 'Karelian',\n },\n kro: {\n en: 'Kru languages',\n },\n kru: {\n en: 'Kurukh',\n },\n kua: {\n en: 'Kuanyama; Kwanyama',\n },\n kum: {\n en: 'Kumyk',\n },\n kur: {\n en: 'Kurdish',\n },\n kut: {\n en: 'Kutenai',\n },\n lad: {\n en: 'Ladino',\n },\n lah: {\n en: 'Lahnda',\n },\n lam: {\n en: 'Lamba',\n },\n lao: {\n en: 'Lao',\n },\n lat: {\n en: 'Latin',\n },\n lav: {\n en: 'Latvian',\n },\n lez: {\n en: 'Lezghian',\n },\n lim: {\n en: 'Limburgan; Limburger; Limburgish',\n },\n lin: {\n en: 'Lingala',\n },\n lit: {\n en: 'Lithuanian',\n },\n lol: {\n en: 'Mongo',\n },\n loz: {\n en: 'Lozi',\n },\n ltz: {\n en: 'Luxembourgish; Letzeburgesch',\n },\n lua: {\n en: 'Luba-Lulua',\n },\n lub: {\n en: 'Luba-Katanga',\n },\n lug: {\n en: 'Ganda',\n },\n lui: {\n en: 'Luiseno',\n },\n lun: {\n en: 'Lunda',\n },\n luo: {\n en: 'Luo (Kenya and Tanzania)',\n },\n lus: {\n en: 'Lushai',\n },\n mac: {\n en: 'Macedonian',\n },\n mad: {\n en: 'Madurese',\n },\n mag: {\n en: 'Magahi',\n },\n mah: {\n en: 'Marshallese',\n },\n mai: {\n en: 'Maithili',\n },\n mak: {\n en: 'Makasar',\n },\n mal: {\n en: 'Malayalam',\n },\n man: {\n en: 'Mandingo',\n },\n mao: {\n en: 'Maori',\n },\n map: {\n en: 'Austronesian languages',\n },\n mar: {\n en: 'Marathi',\n },\n mas: {\n en: 'Masai',\n },\n may: {\n en: 'Malay',\n },\n mdf: {\n en: 'Moksha',\n },\n mdr: {\n en: 'Mandar',\n },\n men: {\n en: 'Mende',\n },\n mga: {\n en: 'Irish, Middle (900-1200)',\n },\n mic: {\n en: \"Mi'kmaq; Micmac\",\n },\n min: {\n en: 'Minangkabau',\n },\n mis: {\n en: 'Uncoded languages',\n },\n mkd: {\n en: 'Macedonian',\n },\n mkh: {\n en: 'Mon-Khmer languages',\n },\n mlg: {\n en: 'Malagasy',\n },\n mlt: {\n en: 'Maltese',\n },\n mnc: {\n en: 'Manchu',\n },\n mni: {\n en: 'Manipuri',\n },\n mno: {\n en: 'Manobo languages',\n },\n moh: {\n en: 'Mohawk',\n },\n mon: {\n en: 'Mongolian',\n },\n mos: {\n en: 'Mossi',\n },\n mri: {\n en: 'Maori',\n },\n msa: {\n en: 'Malay',\n },\n mul: {\n en: 'Multiple languages',\n },\n mun: {\n en: 'Munda languages',\n },\n mus: {\n en: 'Creek',\n },\n mwl: {\n en: 'Mirandese',\n },\n mwr: {\n en: 'Marwari',\n },\n mya: {\n en: 'Burmese',\n },\n myn: {\n en: 'Mayan languages',\n },\n myv: {\n en: 'Erzya',\n },\n nah: {\n en: 'Nahuatl languages',\n },\n nai: {\n en: 'North American Indian languages',\n },\n nap: {\n en: 'Neapolitan',\n },\n nau: {\n en: 'Nauru',\n },\n nav: {\n en: 'Navajo; Navaho',\n },\n nbl: {\n en: 'Ndebele, South; South Ndebele',\n },\n nde: {\n en: 'Ndebele, North; North Ndebele',\n },\n ndo: {\n en: 'Ndonga',\n },\n nds: {\n en: 'Low German; Low Saxon; German, Low; Saxon, Low',\n },\n nep: {\n en: 'Nepali',\n },\n new: {\n en: 'Nepal Bhasa; Newari',\n },\n nia: {\n en: 'Nias',\n },\n nic: {\n en: 'Niger-Kordofanian languages',\n },\n niu: {\n en: 'Niuean',\n },\n nld: {\n en: 'Dutch; Flemish',\n },\n nno: {\n en: 'Norwegian Nynorsk; Nynorsk, Norwegian',\n },\n nob: {\n en: 'Bokmål, Norwegian; Norwegian Bokmål',\n },\n nog: {\n en: 'Nogai',\n },\n non: {\n en: 'Norse, Old',\n },\n nor: {\n en: 'Norwegian',\n },\n nqo: {\n en: \"N'Ko\",\n },\n nso: {\n en: 'Pedi; Sepedi; Northern Sotho',\n },\n nub: {\n en: 'Nubian languages',\n },\n nwc: {\n en: 'Classical Newari; Old Newari; Classical Nepal Bhasa',\n },\n nya: {\n en: 'Chichewa; Chewa; Nyanja',\n },\n nym: {\n en: 'Nyamwezi',\n },\n nyn: {\n en: 'Nyankole',\n },\n nyo: {\n en: 'Nyoro',\n },\n nzi: {\n en: 'Nzima',\n },\n oci: {\n en: 'Occitan (post 1500)',\n },\n oji: {\n en: 'Ojibwa',\n },\n ori: {\n en: 'Oriya',\n },\n orm: {\n en: 'Oromo',\n },\n osa: {\n en: 'Osage',\n },\n oss: {\n en: 'Ossetian; Ossetic',\n },\n ota: {\n en: 'Turkish, Ottoman (1500-1928)',\n },\n oto: {\n en: 'Otomian languages',\n },\n paa: {\n en: 'Papuan languages',\n },\n pag: {\n en: 'Pangasinan',\n },\n pal: {\n en: 'Pahlavi',\n },\n pam: {\n en: 'Pampanga; Kapampangan',\n },\n pan: {\n en: 'Panjabi; Punjabi',\n },\n pap: {\n en: 'Papiamento',\n },\n pau: {\n en: 'Palauan',\n },\n peo: {\n en: 'Persian, Old (ca.600-400 B.C.)',\n },\n per: {\n en: 'Persian',\n },\n phi: {\n en: 'Philippine languages',\n },\n phn: {\n en: 'Phoenician',\n },\n pli: {\n en: 'Pali',\n },\n pol: {\n en: 'Polish',\n },\n pon: {\n en: 'Pohnpeian',\n },\n por: {\n en: 'Portuguese',\n },\n pra: {\n en: 'Prakrit languages',\n },\n pro: {\n en: 'Provençal, Old (to 1500);Occitan, Old (to 1500)',\n },\n pus: {\n en: 'Pushto; Pashto',\n },\n 'qaa-qtz': {\n en: 'Reserved for local use',\n },\n que: {\n en: 'Quechua',\n },\n raj: {\n en: 'Rajasthani',\n },\n rap: {\n en: 'Rapanui',\n },\n rar: {\n en: 'Rarotongan; Cook Islands Maori',\n },\n roa: {\n en: 'Romance languages',\n },\n roh: {\n en: 'Romansh',\n },\n rom: {\n en: 'Romany',\n },\n ron: {\n en: 'Romanian; Moldavian; Moldovan',\n },\n rum: {\n en: 'Romanian; Moldavian; Moldovan',\n },\n run: {\n en: 'Rundi',\n },\n rup: {\n en: 'Aromanian; Arumanian; Macedo-Romanian',\n },\n rus: {\n en: 'Russian',\n },\n sad: {\n en: 'Sandawe',\n },\n sag: {\n en: 'Sango',\n },\n sah: {\n en: 'Yakut',\n },\n sai: {\n en: 'South American Indian languages',\n },\n sal: {\n en: 'Salishan languages',\n },\n sam: {\n en: 'Samaritan Aramaic',\n },\n san: {\n en: 'Sanskrit',\n },\n sas: {\n en: 'Sasak',\n },\n sat: {\n en: 'Santali',\n },\n scn: {\n en: 'Sicilian',\n },\n sco: {\n en: 'Scots',\n },\n sel: {\n en: 'Selkup',\n },\n sem: {\n en: 'Semitic languages',\n },\n sga: {\n en: 'Irish, Old (to 900)',\n },\n sgn: {\n en: 'Sign Languages',\n },\n shn: {\n en: 'Shan',\n },\n sid: {\n en: 'Sidamo',\n },\n sin: {\n en: 'Sinhala; Sinhalese',\n },\n sio: {\n en: 'Siouan languages',\n },\n sit: {\n en: 'Sino-Tibetan languages',\n },\n sla: {\n en: 'Slavic languages',\n },\n slk: {\n en: 'Slovak',\n },\n slo: {\n en: 'Slovak',\n },\n slv: {\n en: 'Slovenian',\n },\n sma: {\n en: 'Southern Sami',\n },\n sme: {\n en: 'Northern Sami',\n },\n smi: {\n en: 'Sami languages',\n },\n smj: {\n en: 'Lule Sami',\n },\n smn: {\n en: 'Inari Sami',\n },\n smo: {\n en: 'Samoan',\n },\n sms: {\n en: 'Skolt Sami',\n },\n sna: {\n en: 'Shona',\n },\n snd: {\n en: 'Sindhi',\n },\n snk: {\n en: 'Soninke',\n },\n sog: {\n en: 'Sogdian',\n },\n som: {\n en: 'Somali',\n },\n son: {\n en: 'Songhai languages',\n },\n sot: {\n en: 'Sotho, Southern',\n },\n spa: {\n en: 'Spanish',\n },\n sqi: {\n en: 'Albanian',\n },\n srd: {\n en: 'Sardinian',\n },\n srn: {\n en: 'Sranan Tongo',\n },\n srp: {\n en: 'Serbian',\n },\n srr: {\n en: 'Serer',\n },\n ssa: {\n en: 'Nilo-Saharan languages',\n },\n ssw: {\n en: 'Swati',\n },\n suk: {\n en: 'Sukuma',\n },\n sun: {\n en: 'Sundanese',\n },\n sus: {\n en: 'Susu',\n },\n sux: {\n en: 'Sumerian',\n },\n swa: {\n en: 'Swahili',\n },\n swe: {\n en: 'Swedish',\n },\n syc: {\n en: 'Classical Syriac',\n },\n syr: {\n en: 'Syriac',\n },\n tah: {\n en: 'Tahitian',\n },\n tai: {\n en: 'Tai languages',\n },\n tam: {\n en: 'Tamil',\n },\n tat: {\n en: 'Tatar',\n },\n tel: {\n en: 'Telugu',\n },\n tem: {\n en: 'Timne',\n },\n ter: {\n en: 'Tereno',\n },\n tet: {\n en: 'Tetum',\n },\n tgk: {\n en: 'Tajik',\n },\n tgl: {\n en: 'Tagalog',\n },\n tha: {\n en: 'Thai',\n },\n tib: {\n en: 'Tibetan',\n },\n tig: {\n en: 'Tigre',\n },\n tir: {\n en: 'Tigrinya',\n },\n tiv: {\n en: 'Tiv',\n },\n tkl: {\n en: 'Tokelau',\n },\n tlh: {\n en: 'Klingon; tlhIngan-Hol',\n },\n tli: {\n en: 'Tlingit',\n },\n tmh: {\n en: 'Tamashek',\n },\n tog: {\n en: 'Tonga (Nyasa)',\n },\n ton: {\n en: 'Tonga (Tonga Islands)',\n },\n tpi: {\n en: 'Tok Pisin',\n },\n tsi: {\n en: 'Tsimshian',\n },\n tsn: {\n en: 'Tswana',\n },\n tso: {\n en: 'Tsonga',\n },\n tuk: {\n en: 'Turkmen',\n },\n tum: {\n en: 'Tumbuka',\n },\n tup: {\n en: 'Tupi languages',\n },\n tur: {\n en: 'Turkish',\n },\n tut: {\n en: 'Altaic languages',\n },\n tvl: {\n en: 'Tuvalu',\n },\n twi: {\n en: 'Twi',\n },\n tyv: {\n en: 'Tuvinian',\n },\n udm: {\n en: 'Udmurt',\n },\n uga: {\n en: 'Ugaritic',\n },\n uig: {\n en: 'Uighur; Uyghur',\n },\n ukr: {\n en: 'Ukrainian',\n },\n umb: {\n en: 'Umbundu',\n },\n und: {\n en: 'Undetermined',\n },\n urd: {\n en: 'Urdu',\n },\n uzb: {\n en: 'Uzbek',\n },\n vai: {\n en: 'Vai',\n },\n ven: {\n en: 'Venda',\n },\n vie: {\n en: 'Vietnamese',\n },\n vol: {\n en: 'Volapük',\n },\n vot: {\n en: 'Votic',\n },\n wak: {\n en: 'Wakashan languages',\n },\n wal: {\n en: 'Wolaitta; Wolaytta',\n },\n war: {\n en: 'Waray',\n },\n was: {\n en: 'Washo',\n },\n wel: {\n en: 'Welsh',\n },\n wen: {\n en: 'Sorbian languages',\n },\n wln: {\n en: 'Walloon',\n },\n wol: {\n en: 'Wolof',\n },\n xal: {\n en: 'Kalmyk; Oirat',\n },\n xho: {\n en: 'Xhosa',\n },\n yao: {\n en: 'Yao',\n },\n yap: {\n en: 'Yapese',\n },\n yid: {\n en: 'Yiddish',\n },\n yor: {\n en: 'Yoruba',\n },\n ypk: {\n en: 'Yupik languages',\n },\n zap: {\n en: 'Zapotec',\n },\n zbl: {\n en: 'Blissymbols; Blissymbolics; Bliss',\n },\n zen: {\n en: 'Zenaga',\n },\n zgh: {\n en: 'Standard Moroccan Tamazight',\n },\n zha: {\n en: 'Zhuang; Chuang',\n },\n zho: {\n en: 'Chinese',\n },\n znd: {\n en: 'Zande languages',\n },\n zul: {\n en: 'Zulu',\n },\n zun: {\n en: 'Zuni',\n },\n zxx: {\n en: 'No linguistic content; Not applicable',\n },\n zza: {\n en: 'Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki',\n },\n}\n\nconst iso_639_1_to_iso_639_2_code: LanguageMap = {\n aa: 'aar',\n ab: 'abk',\n ae: 'ave',\n af: 'afr',\n ak: 'aka',\n am: 'amh',\n an: 'arg',\n ar: 'ara',\n as: 'asm',\n av: 'ava',\n ay: 'aym',\n az: 'aze',\n ba: 'bak',\n be: 'bel',\n bg: 'bul',\n bh: 'bih',\n bi: 'bis',\n bm: 'bam',\n bn: 'ben',\n bo: 'tib',\n br: 'bre',\n bs: 'bos',\n ca: 'cat',\n ce: 'che',\n ch: 'cha',\n co: 'cos',\n cr: 'cre',\n cs: 'cze',\n cu: 'chu',\n cv: 'chv',\n cy: 'wel',\n da: 'dan',\n de: 'ger',\n dv: 'div',\n dz: 'dzo',\n ee: 'ewe',\n el: 'gre',\n en: 'eng',\n eo: 'epo',\n es: 'spa',\n et: 'est',\n eu: 'eus',\n fa: 'per',\n ff: 'ful',\n fi: 'fin',\n fj: 'fij',\n fo: 'fao',\n fr: 'fre',\n fy: 'fry',\n ga: 'gle',\n gd: 'gla',\n gl: 'glg',\n gn: 'grn',\n gu: 'guj',\n gv: 'glv',\n ha: 'hau',\n he: 'heb',\n hi: 'hin',\n ho: 'hmo',\n hr: 'hrv',\n ht: 'hat',\n hu: 'hun',\n hy: 'hye',\n hz: 'her',\n ia: 'ina',\n id: 'ind',\n ie: 'ile',\n ig: 'ibo',\n ii: 'iii',\n ik: 'ipk',\n io: 'ido',\n is: 'isl',\n it: 'ita',\n iu: 'iku',\n ja: 'jpn',\n jv: 'jav',\n ka: 'kat',\n kg: 'kon',\n ki: 'kik',\n kj: 'kua',\n kk: 'kaz',\n kl: 'kal',\n km: 'khm',\n kn: 'kan',\n ko: 'kor',\n kr: 'kau',\n ks: 'kas',\n ku: 'kur',\n kv: 'kom',\n kw: 'cor',\n ky: 'kir',\n la: 'lat',\n lb: 'ltz',\n lg: 'lug',\n li: 'lim',\n ln: 'lin',\n lo: 'lao',\n lt: 'lit',\n lu: 'lub',\n lv: 'lav',\n mg: 'mlg',\n mh: 'mah',\n mi: 'mri',\n mk: 'mkd',\n ml: 'mal',\n mn: 'mon',\n mr: 'mar',\n ms: 'msa',\n mt: 'mlt',\n my: 'mya',\n na: 'nau',\n nb: 'nob',\n nd: 'nde',\n ne: 'nep',\n ng: 'ndo',\n nl: 'nld',\n nn: 'nno',\n no: 'nor',\n nr: 'nbl',\n nv: 'nav',\n ny: 'nya',\n oc: 'oci',\n oj: 'oji',\n om: 'orm',\n or: 'ori',\n os: 'oss',\n pa: 'pan',\n pi: 'pli',\n pl: 'pol',\n ps: 'pus',\n pt: 'por',\n qu: 'que',\n rm: 'roh',\n rn: 'run',\n ro: 'rum',\n ru: 'rus',\n rw: 'kin',\n sa: 'san',\n sc: 'srd',\n sd: 'snd',\n se: 'sme',\n sg: 'sag',\n si: 'sin',\n sk: 'slo',\n sl: 'slv',\n sm: 'smo',\n sn: 'sna',\n so: 'som',\n sq: 'sqi',\n sr: 'srp',\n ss: 'ssw',\n st: 'sot',\n su: 'sun',\n sv: 'swe',\n sw: 'swa',\n ta: 'tam',\n te: 'tel',\n tg: 'tgk',\n th: 'tha',\n ti: 'tir',\n tk: 'tuk',\n tl: 'tgl',\n tn: 'tsn',\n to: 'ton',\n tr: 'tur',\n ts: 'tso',\n tt: 'tat',\n tw: 'twi',\n ty: 'tah',\n ug: 'uig',\n uk: 'ukr',\n ur: 'urd',\n uz: 'uzb',\n ve: 'ven',\n vi: 'vie',\n vo: 'vol',\n wa: 'wln',\n wo: 'wol',\n xh: 'xho',\n yi: 'yid',\n yo: 'yor',\n za: 'zha',\n zh: 'zho',\n zu: 'zul',\n}\n\nexport const Languages: LanguagesObject = Object.entries(iso_639_1_to_iso_639_2_code).reduce(\n (acc, [iso639_1_code, iso639_2_code]) => {\n const langMap: LanguageMap = LanguagesISO639part2[iso639_2_code]\n acc[iso639_1_code] = langMap\n return acc\n },\n {} as LanguagesObject\n)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/message/message.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,sCAAqB,CAAA;AACvB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC/B,oCAAW,CAAA;IACX,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;IAC9B,2DAAkC,CAAA;IAClC,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;IAC9B,qDAA4B,CAAA;IAC5B,kDAAyB,CAAA;AAC3B,CAAC,EATW,qBAAqB,qCAArB,qBAAqB,QAShC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,iEAAsC,CAAA;AACxC,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAED,IAAY,eAWX;AAXD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,gDAA6B,CAAA;IAC7B,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,sDAAmC,CAAA;IACnC,wEAAqD,CAAA;IACrD,0DAAuC,CAAA;IACvC,sDAAmC,CAAA;IACnC,oDAAiC,CAAA;AACnC,CAAC,EAXW,eAAe,+BAAf,eAAe,QAW1B","sourcesContent":["export enum MessageStatus {\n Draft = 'draft',\n Sent = 'sent',\n Archived = 'archived',\n}\n\nexport enum MessageTargetUserType {\n All = 'all',\n SystemAdmins = 'system_admins',\n SurveyAdmins = 'survey_admins',\n SurveyManagers = 'survey_managers',\n DataAnalysts = 'data_analysts',\n DataCleaners = 'data_cleaners',\n DataEditors = 'data_editors',\n Individual = 'individual',\n}\n\nexport enum MessageNotificationType {\n Email = 'email',\n PushNotification = 'push_notification',\n}\n\nexport enum MessagePropsKey {\n subject = 'subject',\n body = 'body',\n targetAppIds = 'targetAppIds',\n targetUserTypes = 'targetUserTypes',\n targetUserEmails = 'targetUserEmails',\n targetUserUuids = 'targetUserUuids',\n targetExcludedUserEmails = 'targetExcludedUserEmails',\n notificationTypes = 'notificationTypes',\n dateScheduledAt = 'dateScheduledAt',\n dateValidUntil = 'dateValidUntil',\n}\n\nexport type MessageProps = {\n [MessagePropsKey.subject]?: string\n [MessagePropsKey.body]?: string\n [MessagePropsKey.targetAppIds]: string[]\n [MessagePropsKey.targetUserTypes]: MessageTargetUserType[]\n [MessagePropsKey.targetUserEmails]?: string[]\n [MessagePropsKey.targetUserUuids]?: string[]\n [MessagePropsKey.targetExcludedUserEmails]?: string[]\n [MessagePropsKey.notificationTypes]: MessageNotificationType[]\n [MessagePropsKey.dateScheduledAt]?: Date\n [MessagePropsKey.dateValidUntil]?: Date\n}\n\n/**\n * Represents a message record in the database.\n */\nexport type Message = {\n uuid: string\n status: MessageStatus\n props?: MessageProps\n createdByUserUuid: string\n dateCreated?: Date\n dateModified?: Date\n}\n"]}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/message/message.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,sCAAqB,CAAA;AACvB,CAAC,EAJW,aAAa,aAAb,aAAa,GAAb,aAAa,QAIxB;AAED,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC/B,oCAAW,CAAA;IACX,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;IAC9B,2DAAkC,CAAA;IAClC,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;IAC9B,qDAA4B,CAAA;IAC5B,kDAAyB,CAAA;AAC3B,CAAC,EATW,qBAAqB,aAArB,qBAAqB,GAArB,qBAAqB,QAShC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,iEAAsC,CAAA;AACxC,CAAC,EAHW,uBAAuB,aAAvB,uBAAuB,GAAvB,uBAAuB,QAGlC;AAED,IAAY,eAWX;AAXD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,gDAA6B,CAAA;IAC7B,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,sDAAmC,CAAA;IACnC,wEAAqD,CAAA;IACrD,0DAAuC,CAAA;IACvC,sDAAmC,CAAA;IACnC,oDAAiC,CAAA;AACnC,CAAC,EAXW,eAAe,aAAf,eAAe,GAAf,eAAe,QAW1B","sourcesContent":["export enum MessageStatus {\n Draft = 'draft',\n Sent = 'sent',\n Archived = 'archived',\n}\n\nexport enum MessageTargetUserType {\n All = 'all',\n SystemAdmins = 'system_admins',\n SurveyAdmins = 'survey_admins',\n SurveyManagers = 'survey_managers',\n DataAnalysts = 'data_analysts',\n DataCleaners = 'data_cleaners',\n DataEditors = 'data_editors',\n Individual = 'individual',\n}\n\nexport enum MessageNotificationType {\n Email = 'email',\n PushNotification = 'push_notification',\n}\n\nexport enum MessagePropsKey {\n subject = 'subject',\n body = 'body',\n targetAppIds = 'targetAppIds',\n targetUserTypes = 'targetUserTypes',\n targetUserEmails = 'targetUserEmails',\n targetUserUuids = 'targetUserUuids',\n targetExcludedUserEmails = 'targetExcludedUserEmails',\n notificationTypes = 'notificationTypes',\n dateScheduledAt = 'dateScheduledAt',\n dateValidUntil = 'dateValidUntil',\n}\n\nexport type MessageProps = {\n [MessagePropsKey.subject]?: string\n [MessagePropsKey.body]?: string\n [MessagePropsKey.targetAppIds]: string[]\n [MessagePropsKey.targetUserTypes]: MessageTargetUserType[]\n [MessagePropsKey.targetUserEmails]?: string[]\n [MessagePropsKey.targetUserUuids]?: string[]\n [MessagePropsKey.targetExcludedUserEmails]?: string[]\n [MessagePropsKey.notificationTypes]: MessageNotificationType[]\n [MessagePropsKey.dateScheduledAt]?: Date\n [MessagePropsKey.dateValidUntil]?: Date\n}\n\n/**\n * Represents a message record in the database.\n */\nexport type Message = {\n uuid: string\n status: MessageStatus\n props?: MessageProps\n createdByUserUuid: string\n dateCreated?: Date\n dateModified?: Date\n}\n"]}
@@ -1,33 +1,59 @@
1
1
  import { User } from '../auth';
2
2
  import type { I18n } from '../common';
3
3
  import { Message, MessageNotificationType, MessageStatus, MessageTargetUserType } from './message';
4
+ declare const getStatus: (message: Message) => MessageStatus;
5
+ declare const getDateCreated: (message: Message) => Date | undefined;
6
+ declare const getDateModified: (message: Message) => Date | undefined;
7
+ declare const getDateValidUntil: (message: Message) => Date | undefined;
8
+ declare const getDateScheduledAt: (message: Message) => Date | undefined;
9
+ declare const getNotificationTypes: (message: Message) => MessageNotificationType[];
10
+ declare const getSubject: (message: Message) => string | undefined;
11
+ declare const getBody: (message: Message) => string | undefined;
12
+ declare const getTargetAppIds: (message: Message) => string[];
13
+ declare const getTargetUserTypes: (message: Message) => MessageTargetUserType[];
14
+ declare const getTargetUserEmails: (message: Message) => string[];
15
+ declare const getTargetExcludedUserEmails: (message: Message) => string[];
16
+ declare const assocStatus: (status: MessageStatus) => (message: Message) => Message;
17
+ declare const assocSubject: (subject: string) => (message: Message) => Message;
18
+ declare const assocBody: (body: string) => (message: Message) => Message;
19
+ declare const assocNotificationTypes: (notificationTypes: MessageNotificationType[]) => (message: Message) => Message;
20
+ declare const assocTargetAppIds: (targetAppIds: string[]) => (message: Message) => Message;
21
+ declare const assocTargetUserTypes: (targetUserTypes: MessageTargetUserType[]) => (message: Message) => Message;
22
+ declare const assocTargetUserEmails: (emails: string[]) => (message: Message) => Message;
23
+ declare const assocTargetExcludedUserEmails: (emails: string[]) => (message: Message) => Message;
24
+ declare const assocDateValidUntil: (dateValidUntil: Date | undefined) => (message: Message) => Message;
25
+ declare const isTargetingUser: (user: User) => (message: Message) => boolean;
26
+ declare const clearHiddenProps: (message: Message) => Message;
27
+ declare const clearNotApplicableProps: (message: Message) => Message;
28
+ declare const replaceBodyTemplateVariables: ({ i18n, user }: {
29
+ i18n: I18n;
30
+ user: User;
31
+ }) => (message: Message) => Message;
4
32
  export declare const Messages: {
5
- getStatus: (message: Message) => MessageStatus;
6
- getDateCreated: (message: Message) => Date | undefined;
7
- getDateModified: (message: Message) => Date | undefined;
8
- getDateScheduledAt: (message: Message) => Date | undefined;
9
- getDateValidUntil: (message: Message) => Date | undefined;
10
- getNotificationTypes: (message: Message) => MessageNotificationType[];
11
- getSubject: (message: Message) => string | undefined;
12
- getBody: (message: Message) => string | undefined;
13
- getTargetAppIds: (message: Message) => string[];
14
- getTargetUserTypes: (message: Message) => MessageTargetUserType[];
15
- getTargetUserEmails: (message: Message) => string[];
16
- getTargetExcludedUserEmails: (message: Message) => string[];
17
- assocStatus: (status: MessageStatus) => (message: Message) => Message;
18
- assocSubject: (subject: string) => (message: Message) => Message;
19
- assocBody: (body: string) => (message: Message) => Message;
20
- assocNotificationTypes: (notificationTypes: MessageNotificationType[]) => (message: Message) => Message;
21
- assocTargetAppIds: (targetAppIds: string[]) => (message: Message) => Message;
22
- assocTargetUserTypes: (targetUserTypes: MessageTargetUserType[]) => (message: Message) => Message;
23
- assocTargetUserEmails: (emails: string[]) => (message: Message) => Message;
24
- assocTargetExcludedUserEmails: (emails: string[]) => (message: Message) => Message;
25
- assocDateValidUntil: (dateValidUntil: Date | undefined) => (message: Message) => Message;
26
- isTargetingUser: (user: User) => (message: Message) => boolean;
27
- clearHiddenProps: (message: Message) => Message;
28
- clearNotApplicableProps: (message: Message) => Message;
29
- replaceBodyTemplateVariables: ({ i18n, user }: {
30
- i18n: I18n;
31
- user: User;
32
- }) => (message: Message) => Message;
33
+ getStatus: typeof getStatus;
34
+ getDateCreated: typeof getDateCreated;
35
+ getDateModified: typeof getDateModified;
36
+ getDateScheduledAt: typeof getDateScheduledAt;
37
+ getDateValidUntil: typeof getDateValidUntil;
38
+ getNotificationTypes: typeof getNotificationTypes;
39
+ getSubject: typeof getSubject;
40
+ getBody: typeof getBody;
41
+ getTargetAppIds: typeof getTargetAppIds;
42
+ getTargetUserTypes: typeof getTargetUserTypes;
43
+ getTargetUserEmails: typeof getTargetUserEmails;
44
+ getTargetExcludedUserEmails: typeof getTargetExcludedUserEmails;
45
+ assocStatus: typeof assocStatus;
46
+ assocSubject: typeof assocSubject;
47
+ assocBody: typeof assocBody;
48
+ assocNotificationTypes: typeof assocNotificationTypes;
49
+ assocTargetAppIds: typeof assocTargetAppIds;
50
+ assocTargetUserTypes: typeof assocTargetUserTypes;
51
+ assocTargetUserEmails: typeof assocTargetUserEmails;
52
+ assocTargetExcludedUserEmails: typeof assocTargetExcludedUserEmails;
53
+ assocDateValidUntil: typeof assocDateValidUntil;
54
+ isTargetingUser: typeof isTargetingUser;
55
+ clearHiddenProps: typeof clearHiddenProps;
56
+ clearNotApplicableProps: typeof clearNotApplicableProps;
57
+ replaceBodyTemplateVariables: typeof replaceBodyTemplateVariables;
33
58
  };
59
+ export {};