@common.js/next-intl 4.13.1

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 (297) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/config.d.ts +4 -0
  4. package/dist/cjs/development/ExtractorCodec-D9Tw618d.cjs +7 -0
  5. package/dist/cjs/development/JSONCodec-CzA8ubPy.cjs +55 -0
  6. package/dist/cjs/development/POCodec-CWGHK-Gp.cjs +111 -0
  7. package/dist/cjs/development/plugin-DlFYUFWh.cjs +1613 -0
  8. package/dist/cjs/development/plugin.cjs +13 -0
  9. package/dist/esm/development/config.js +13 -0
  10. package/dist/esm/development/extractor/ExtractionCompiler.js +284 -0
  11. package/dist/esm/development/extractor/catalog/CatalogLocales.js +398 -0
  12. package/dist/esm/development/extractor/catalog/CatalogManager.js +1515 -0
  13. package/dist/esm/development/extractor/catalog/CatalogPersister.js +341 -0
  14. package/dist/esm/development/extractor/catalog/SaveScheduler.js +314 -0
  15. package/dist/esm/development/extractor/catalogLoader.js +288 -0
  16. package/dist/esm/development/extractor/extractMessages.js +180 -0
  17. package/dist/esm/development/extractor/extractionLoader.js +37 -0
  18. package/dist/esm/development/extractor/extractor/LRUCache.js +68 -0
  19. package/dist/esm/development/extractor/extractor/MessageExtractor.js +273 -0
  20. package/dist/esm/development/extractor/format/ExtractorCodec.js +13 -0
  21. package/dist/esm/development/extractor/format/codecs/JSONCodec.js +91 -0
  22. package/dist/esm/development/extractor/format/codecs/POCodec.js +227 -0
  23. package/dist/esm/development/extractor/format/index.js +289 -0
  24. package/dist/esm/development/extractor/normalizeExtractorConfig.js +91 -0
  25. package/dist/esm/development/extractor/source/SourceFileFilter.js +104 -0
  26. package/dist/esm/development/extractor/source/SourceFileScanner.js +297 -0
  27. package/dist/esm/development/extractor/source/SourceFileWatcher.js +610 -0
  28. package/dist/esm/development/extractor/utils.js +133 -0
  29. package/dist/esm/development/extractor.js +25 -0
  30. package/dist/esm/development/index.react-client.js +59 -0
  31. package/dist/esm/development/index.react-server.js +61 -0
  32. package/dist/esm/development/middleware/getAlternateLinksHeaderValue.js +142 -0
  33. package/dist/esm/development/middleware/middleware.js +231 -0
  34. package/dist/esm/development/middleware/resolveLocale.js +150 -0
  35. package/dist/esm/development/middleware/syncCookie.js +87 -0
  36. package/dist/esm/development/middleware/utils.js +403 -0
  37. package/dist/esm/development/middleware.js +16 -0
  38. package/dist/esm/development/navigation/react-client/createNavigation.js +195 -0
  39. package/dist/esm/development/navigation/react-client/useBasePathname.js +46 -0
  40. package/dist/esm/development/navigation/react-server/createNavigation.js +111 -0
  41. package/dist/esm/development/navigation/react-server/getServerLocale.js +167 -0
  42. package/dist/esm/development/navigation/shared/BaseLink.js +115 -0
  43. package/dist/esm/development/navigation/shared/createSharedNavigationFns.js +214 -0
  44. package/dist/esm/development/navigation/shared/syncLocaleCookie.js +139 -0
  45. package/dist/esm/development/navigation/shared/utils.js +352 -0
  46. package/dist/esm/development/navigation.react-client.js +16 -0
  47. package/dist/esm/development/navigation.react-server.js +16 -0
  48. package/dist/esm/development/plugin/config.js +28 -0
  49. package/dist/esm/development/plugin/createNextIntlPlugin.js +66 -0
  50. package/dist/esm/development/plugin/declaration/createMessagesDeclaration.js +91 -0
  51. package/dist/esm/development/plugin/extractor/initExtractionCompiler.js +64 -0
  52. package/dist/esm/development/plugin/getNextConfig.js +355 -0
  53. package/dist/esm/development/plugin/nextFlags.js +47 -0
  54. package/dist/esm/development/plugin/utils.js +43 -0
  55. package/dist/esm/development/plugin/watchFile.js +32 -0
  56. package/dist/esm/development/plugin.js +16 -0
  57. package/dist/esm/development/react-client/index.js +67 -0
  58. package/dist/esm/development/react-server/NextIntlClientProviderServer.js +327 -0
  59. package/dist/esm/development/react-server/useConfig.js +40 -0
  60. package/dist/esm/development/react-server/useExtracted.js +21 -0
  61. package/dist/esm/development/react-server/useFormatter.js +21 -0
  62. package/dist/esm/development/react-server/useLocale.js +20 -0
  63. package/dist/esm/development/react-server/useMessages.js +21 -0
  64. package/dist/esm/development/react-server/useNow.js +25 -0
  65. package/dist/esm/development/react-server/useTimeZone.js +20 -0
  66. package/dist/esm/development/react-server/useTranslations.js +71 -0
  67. package/dist/esm/development/routing/config.js +82 -0
  68. package/dist/esm/development/routing/defineRouting.js +116 -0
  69. package/dist/esm/development/routing.js +16 -0
  70. package/dist/esm/development/server/react-client/index.js +68 -0
  71. package/dist/esm/development/server/react-server/RequestLocale.js +267 -0
  72. package/dist/esm/development/server/react-server/RequestLocaleCache.js +33 -0
  73. package/dist/esm/development/server/react-server/createRequestConfig.js +16 -0
  74. package/dist/esm/development/server/react-server/getConfig.js +283 -0
  75. package/dist/esm/development/server/react-server/getConfigNow.js +166 -0
  76. package/dist/esm/development/server/react-server/getDefaultNow.js +16 -0
  77. package/dist/esm/development/server/react-server/getExtracted.js +176 -0
  78. package/dist/esm/development/server/react-server/getFormats.js +166 -0
  79. package/dist/esm/development/server/react-server/getFormatter.js +186 -0
  80. package/dist/esm/development/server/react-server/getLocale.js +166 -0
  81. package/dist/esm/development/server/react-server/getMessages.js +194 -0
  82. package/dist/esm/development/server/react-server/getNow.js +164 -0
  83. package/dist/esm/development/server/react-server/getRequestConfig.js +15 -0
  84. package/dist/esm/development/server/react-server/getServerExtractor.js +108 -0
  85. package/dist/esm/development/server/react-server/getServerFormatter.js +81 -0
  86. package/dist/esm/development/server/react-server/getServerTranslator.js +70 -0
  87. package/dist/esm/development/server/react-server/getTimeZone.js +180 -0
  88. package/dist/esm/development/server/react-server/getTranslations.js +179 -0
  89. package/dist/esm/development/server/react-server/validateLocale.js +20 -0
  90. package/dist/esm/development/server.react-client.js +40 -0
  91. package/dist/esm/development/server.react-server.js +53 -0
  92. package/dist/esm/development/shared/NextIntlClientProvider.js +79 -0
  93. package/dist/esm/development/shared/constants.js +12 -0
  94. package/dist/esm/development/shared/use.js +59 -0
  95. package/dist/esm/development/shared/utils.js +201 -0
  96. package/dist/esm/production/config.js +13 -0
  97. package/dist/esm/production/extractor/ExtractionCompiler.js +275 -0
  98. package/dist/esm/production/extractor/catalog/CatalogLocales.js +384 -0
  99. package/dist/esm/production/extractor/catalog/CatalogManager.js +1401 -0
  100. package/dist/esm/production/extractor/catalog/CatalogPersister.js +334 -0
  101. package/dist/esm/production/extractor/catalog/SaveScheduler.js +278 -0
  102. package/dist/esm/production/extractor/catalogLoader.js +251 -0
  103. package/dist/esm/production/extractor/extractMessages.js +178 -0
  104. package/dist/esm/production/extractor/extractionLoader.js +27 -0
  105. package/dist/esm/production/extractor/extractor/LRUCache.js +59 -0
  106. package/dist/esm/production/extractor/extractor/MessageExtractor.js +259 -0
  107. package/dist/esm/production/extractor/format/ExtractorCodec.js +13 -0
  108. package/dist/esm/production/extractor/format/codecs/JSONCodec.js +83 -0
  109. package/dist/esm/production/extractor/format/codecs/POCodec.js +210 -0
  110. package/dist/esm/production/extractor/format/index.js +278 -0
  111. package/dist/esm/production/extractor/normalizeExtractorConfig.js +54 -0
  112. package/dist/esm/production/extractor/source/SourceFileFilter.js +99 -0
  113. package/dist/esm/production/extractor/source/SourceFileScanner.js +293 -0
  114. package/dist/esm/production/extractor/source/SourceFileWatcher.js +579 -0
  115. package/dist/esm/production/extractor/utils.js +108 -0
  116. package/dist/esm/production/extractor.js +25 -0
  117. package/dist/esm/production/index.react-client.js +59 -0
  118. package/dist/esm/production/index.react-server.js +61 -0
  119. package/dist/esm/production/middleware/getAlternateLinksHeaderValue.js +104 -0
  120. package/dist/esm/production/middleware/middleware.js +155 -0
  121. package/dist/esm/production/middleware/resolveLocale.js +99 -0
  122. package/dist/esm/production/middleware/syncCookie.js +81 -0
  123. package/dist/esm/production/middleware/utils.js +315 -0
  124. package/dist/esm/production/middleware.js +16 -0
  125. package/dist/esm/production/navigation/react-client/createNavigation.js +174 -0
  126. package/dist/esm/production/navigation/react-client/useBasePathname.js +32 -0
  127. package/dist/esm/production/navigation/react-server/createNavigation.js +110 -0
  128. package/dist/esm/production/navigation/react-server/getServerLocale.js +162 -0
  129. package/dist/esm/production/navigation/shared/BaseLink.js +98 -0
  130. package/dist/esm/production/navigation/shared/createSharedNavigationFns.js +182 -0
  131. package/dist/esm/production/navigation/shared/syncLocaleCookie.js +113 -0
  132. package/dist/esm/production/navigation/shared/utils.js +264 -0
  133. package/dist/esm/production/navigation.react-client.js +16 -0
  134. package/dist/esm/production/navigation.react-server.js +16 -0
  135. package/dist/esm/production/plugin/config.js +22 -0
  136. package/dist/esm/production/plugin/createNextIntlPlugin.js +48 -0
  137. package/dist/esm/production/plugin/declaration/createMessagesDeclaration.js +72 -0
  138. package/dist/esm/production/plugin/extractor/initExtractionCompiler.js +33 -0
  139. package/dist/esm/production/plugin/getNextConfig.js +242 -0
  140. package/dist/esm/production/plugin/nextFlags.js +44 -0
  141. package/dist/esm/production/plugin/utils.js +35 -0
  142. package/dist/esm/production/plugin/watchFile.js +26 -0
  143. package/dist/esm/production/plugin.js +16 -0
  144. package/dist/esm/production/react-client/index.js +57 -0
  145. package/dist/esm/production/react-server/NextIntlClientProviderServer.js +327 -0
  146. package/dist/esm/production/react-server/useConfig.js +35 -0
  147. package/dist/esm/production/react-server/useExtracted.js +21 -0
  148. package/dist/esm/production/react-server/useFormatter.js +21 -0
  149. package/dist/esm/production/react-server/useLocale.js +19 -0
  150. package/dist/esm/production/react-server/useMessages.js +21 -0
  151. package/dist/esm/production/react-server/useNow.js +22 -0
  152. package/dist/esm/production/react-server/useTimeZone.js +19 -0
  153. package/dist/esm/production/react-server/useTranslations.js +71 -0
  154. package/dist/esm/production/routing/config.js +77 -0
  155. package/dist/esm/production/routing/defineRouting.js +13 -0
  156. package/dist/esm/production/routing.js +16 -0
  157. package/dist/esm/production/server/react-client/index.js +51 -0
  158. package/dist/esm/production/server/react-server/RequestLocale.js +246 -0
  159. package/dist/esm/production/server/react-server/RequestLocaleCache.js +30 -0
  160. package/dist/esm/production/server/react-server/createRequestConfig.js +16 -0
  161. package/dist/esm/production/server/react-server/getConfig.js +262 -0
  162. package/dist/esm/production/server/react-server/getConfigNow.js +162 -0
  163. package/dist/esm/production/server/react-server/getDefaultNow.js +14 -0
  164. package/dist/esm/production/server/react-server/getExtracted.js +166 -0
  165. package/dist/esm/production/server/react-server/getFormats.js +157 -0
  166. package/dist/esm/production/server/react-server/getFormatter.js +179 -0
  167. package/dist/esm/production/server/react-server/getLocale.js +157 -0
  168. package/dist/esm/production/server/react-server/getMessages.js +190 -0
  169. package/dist/esm/production/server/react-server/getNow.js +164 -0
  170. package/dist/esm/production/server/react-server/getRequestConfig.js +13 -0
  171. package/dist/esm/production/server/react-server/getServerExtractor.js +20 -0
  172. package/dist/esm/production/server/react-server/getServerFormatter.js +78 -0
  173. package/dist/esm/production/server/react-server/getServerTranslator.js +69 -0
  174. package/dist/esm/production/server/react-server/getTimeZone.js +176 -0
  175. package/dist/esm/production/server/react-server/getTranslations.js +166 -0
  176. package/dist/esm/production/server.react-client.js +40 -0
  177. package/dist/esm/production/server.react-server.js +53 -0
  178. package/dist/esm/production/shared/NextIntlClientProvider.js +77 -0
  179. package/dist/esm/production/shared/constants.js +11 -0
  180. package/dist/esm/production/shared/use.js +51 -0
  181. package/dist/esm/production/shared/utils.js +156 -0
  182. package/dist/types/config.d.ts +1 -0
  183. package/dist/types/extractor/ExtractionCompiler.d.ts +16 -0
  184. package/dist/types/extractor/catalog/CatalogLocales.d.ts +29 -0
  185. package/dist/types/extractor/catalog/CatalogManager.d.ts +76 -0
  186. package/dist/types/extractor/catalog/CatalogPersister.d.ts +20 -0
  187. package/dist/types/extractor/catalog/SaveScheduler.d.ts +18 -0
  188. package/dist/types/extractor/extractMessages.d.ts +2 -0
  189. package/dist/types/extractor/extractor/LRUCache.d.ts +7 -0
  190. package/dist/types/extractor/extractor/MessageExtractor.bench.d.ts +1 -0
  191. package/dist/types/extractor/extractor/MessageExtractor.d.ts +17 -0
  192. package/dist/types/extractor/format/ExtractorCodec.d.ts +33 -0
  193. package/dist/types/extractor/format/codecs/JSONCodec.d.ts +2 -0
  194. package/dist/types/extractor/format/codecs/POCodec.d.ts +2 -0
  195. package/dist/types/extractor/format/codecs/fixtures/JSONCodecStructured.d.ts +2 -0
  196. package/dist/types/extractor/format/codecs/fixtures/POCodecSourceMessageKey.d.ts +2 -0
  197. package/dist/types/extractor/format/index.d.ts +15 -0
  198. package/dist/types/extractor/format/types.d.ts +8 -0
  199. package/dist/types/extractor/index.d.ts +2 -0
  200. package/dist/types/extractor/normalizeExtractorConfig.d.ts +5 -0
  201. package/dist/types/extractor/source/SourceFileFilter.d.ts +8 -0
  202. package/dist/types/extractor/source/SourceFileScanner.d.ts +4 -0
  203. package/dist/types/extractor/source/SourceFileWatcher.d.ts +15 -0
  204. package/dist/types/extractor/types.d.ts +79 -0
  205. package/dist/types/extractor/utils.d.ts +9 -0
  206. package/dist/types/extractor.d.ts +1 -0
  207. package/dist/types/index.react-client.d.ts +8 -0
  208. package/dist/types/index.react-server.d.ts +1 -0
  209. package/dist/types/middleware/getAlternateLinksHeaderValue.d.ts +13 -0
  210. package/dist/types/middleware/index.d.ts +4 -0
  211. package/dist/types/middleware/middleware.d.ts +4 -0
  212. package/dist/types/middleware/resolveLocale.d.ts +9 -0
  213. package/dist/types/middleware/syncCookie.d.ts +7 -0
  214. package/dist/types/middleware/utils.d.ts +26 -0
  215. package/dist/types/middleware.d.ts +1 -0
  216. package/dist/types/navigation/react-client/createNavigation.d.ts +465 -0
  217. package/dist/types/navigation/react-client/index.d.ts +2 -0
  218. package/dist/types/navigation/react-client/useBasePathname.d.ts +5 -0
  219. package/dist/types/navigation/react-server/createNavigation.d.ts +384 -0
  220. package/dist/types/navigation/react-server/getServerLocale.d.ts +5 -0
  221. package/dist/types/navigation/react-server/index.d.ts +2 -0
  222. package/dist/types/navigation/shared/BaseLink.d.ts +11 -0
  223. package/dist/types/navigation/shared/StrictParams.d.ts +8 -0
  224. package/dist/types/navigation/shared/createSharedNavigationFns.d.ts +370 -0
  225. package/dist/types/navigation/shared/syncLocaleCookie.d.ts +8 -0
  226. package/dist/types/navigation/shared/utils.d.ts +53 -0
  227. package/dist/types/navigation.react-client.d.ts +1 -0
  228. package/dist/types/navigation.react-server.d.ts +1 -0
  229. package/dist/types/plugin/catalog/catalogLoader.d.ts +10 -0
  230. package/dist/types/plugin/config.d.ts +3 -0
  231. package/dist/types/plugin/createNextIntlPlugin.d.ts +3 -0
  232. package/dist/types/plugin/declaration/createMessagesDeclaration.d.ts +1 -0
  233. package/dist/types/plugin/declaration/index.d.ts +1 -0
  234. package/dist/types/plugin/extractor/extractionLoader.d.ts +3 -0
  235. package/dist/types/plugin/extractor/initExtractionCompiler.d.ts +2 -0
  236. package/dist/types/plugin/getNextConfig.d.ts +4 -0
  237. package/dist/types/plugin/index.d.ts +1 -0
  238. package/dist/types/plugin/nextFlags.d.ts +2 -0
  239. package/dist/types/plugin/types.d.ts +25 -0
  240. package/dist/types/plugin/utils.d.ts +8 -0
  241. package/dist/types/plugin/watchFile.d.ts +6 -0
  242. package/dist/types/plugin.d.ts +1 -0
  243. package/dist/types/react-client/index.d.ts +16 -0
  244. package/dist/types/react-server/NextIntlClientProviderServer.d.ts +5 -0
  245. package/dist/types/react-server/index.d.ts +16 -0
  246. package/dist/types/react-server/testUtils.d.ts +2 -0
  247. package/dist/types/react-server/useConfig.d.ts +2 -0
  248. package/dist/types/react-server/useExtracted.d.ts +2 -0
  249. package/dist/types/react-server/useFormatter.d.ts +2 -0
  250. package/dist/types/react-server/useLocale.d.ts +2 -0
  251. package/dist/types/react-server/useMessages.d.ts +2 -0
  252. package/dist/types/react-server/useNow.d.ts +2 -0
  253. package/dist/types/react-server/useTimeZone.d.ts +2 -0
  254. package/dist/types/react-server/useTranslations.d.ts +2 -0
  255. package/dist/types/routing/config.d.ts +73 -0
  256. package/dist/types/routing/defineRouting.d.ts +3 -0
  257. package/dist/types/routing/index.d.ts +3 -0
  258. package/dist/types/routing/types.d.ts +25 -0
  259. package/dist/types/routing.d.ts +1 -0
  260. package/dist/types/server/react-client/index.d.ts +10 -0
  261. package/dist/types/server/react-server/RequestLocale.d.ts +1 -0
  262. package/dist/types/server/react-server/RequestLocaleCache.d.ts +3 -0
  263. package/dist/types/server/react-server/createRequestConfig.d.ts +3 -0
  264. package/dist/types/server/react-server/getConfig.d.ts +13 -0
  265. package/dist/types/server/react-server/getConfigNow.d.ts +4 -0
  266. package/dist/types/server/react-server/getDefaultNow.d.ts +3 -0
  267. package/dist/types/server/react-server/getExtracted.d.ts +10 -0
  268. package/dist/types/server/react-server/getFormats.d.ts +3 -0
  269. package/dist/types/server/react-server/getFormatter.d.ts +10 -0
  270. package/dist/types/server/react-server/getLocale.d.ts +4 -0
  271. package/dist/types/server/react-server/getMessages.d.ts +6 -0
  272. package/dist/types/server/react-server/getNow.d.ts +4 -0
  273. package/dist/types/server/react-server/getRequestConfig.d.ts +35 -0
  274. package/dist/types/server/react-server/getServerExtractor.d.ts +5 -0
  275. package/dist/types/server/react-server/getServerFormatter.d.ts +29 -0
  276. package/dist/types/server/react-server/getServerTranslator.d.ts +4 -0
  277. package/dist/types/server/react-server/getTimeZone.d.ts +4 -0
  278. package/dist/types/server/react-server/getTranslations.d.ts +8 -0
  279. package/dist/types/server/react-server/index.d.ts +12 -0
  280. package/dist/types/server/react-server/validateLocale.d.ts +1 -0
  281. package/dist/types/server.react-client.d.ts +1 -0
  282. package/dist/types/server.react-server.d.ts +1 -0
  283. package/dist/types/shared/NextIntlClientProvider.d.ts +9 -0
  284. package/dist/types/shared/constants.d.ts +1 -0
  285. package/dist/types/shared/types.d.ts +5 -0
  286. package/dist/types/shared/use.d.ts +3 -0
  287. package/dist/types/shared/utils.d.ts +20 -0
  288. package/extractor/catalogLoader.d.ts +4 -0
  289. package/extractor/extractionLoader.d.ts +4 -0
  290. package/extractor.d.ts +2 -0
  291. package/middleware.d.ts +4 -0
  292. package/navigation.d.ts +2 -0
  293. package/package.json +60 -0
  294. package/plugin.d.cts +3 -0
  295. package/plugin.d.ts +4 -0
  296. package/routing.d.ts +2 -0
  297. package/server.d.ts +2 -0
@@ -0,0 +1,1401 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return d;
9
+ }
10
+ });
11
+ var _promises = /*#__PURE__*/ _interopRequireDefault(require("fs/promises"));
12
+ var _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
13
+ var _indexJs = require("../format/index.js");
14
+ var _sourceFileScannerJs = /*#__PURE__*/ _interopRequireDefault(require("../source/SourceFileScanner.js"));
15
+ var _sourceFileWatcherJs = /*#__PURE__*/ _interopRequireDefault(require("../source/SourceFileWatcher.js"));
16
+ var _utilsJs = require("../utils.js");
17
+ var _catalogLocalesJs = /*#__PURE__*/ _interopRequireDefault(require("./CatalogLocales.js"));
18
+ var _catalogPersisterJs = /*#__PURE__*/ _interopRequireDefault(require("./CatalogPersister.js"));
19
+ var _saveSchedulerJs = /*#__PURE__*/ _interopRequireDefault(require("./SaveScheduler.js"));
20
+ function _arrayLikeToArray(arr, len) {
21
+ if (len == null || len > arr.length) len = arr.length;
22
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
23
+ return arr2;
24
+ }
25
+ function _arrayWithHoles(arr) {
26
+ if (Array.isArray(arr)) return arr;
27
+ }
28
+ function _arrayWithoutHoles(arr) {
29
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
30
+ }
31
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
32
+ try {
33
+ var info = gen[key](arg);
34
+ var value = info.value;
35
+ } catch (error) {
36
+ reject(error);
37
+ return;
38
+ }
39
+ if (info.done) {
40
+ resolve(value);
41
+ } else {
42
+ Promise.resolve(value).then(_next, _throw);
43
+ }
44
+ }
45
+ function _asyncToGenerator(fn) {
46
+ return function() {
47
+ var self = this, args = arguments;
48
+ return new Promise(function(resolve, reject) {
49
+ var gen = fn.apply(self, args);
50
+ function _next(value) {
51
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
52
+ }
53
+ function _throw(err) {
54
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
55
+ }
56
+ _next(undefined);
57
+ });
58
+ };
59
+ }
60
+ function _classCallCheck(instance, Constructor) {
61
+ if (!(instance instanceof Constructor)) {
62
+ throw new TypeError("Cannot call a class as a function");
63
+ }
64
+ }
65
+ function _defineProperties(target, props) {
66
+ for(var i = 0; i < props.length; i++){
67
+ var descriptor = props[i];
68
+ descriptor.enumerable = descriptor.enumerable || false;
69
+ descriptor.configurable = true;
70
+ if ("value" in descriptor) descriptor.writable = true;
71
+ Object.defineProperty(target, descriptor.key, descriptor);
72
+ }
73
+ }
74
+ function _createClass(Constructor, protoProps, staticProps) {
75
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
76
+ if (staticProps) _defineProperties(Constructor, staticProps);
77
+ return Constructor;
78
+ }
79
+ function _defineProperty(obj, key, value) {
80
+ if (key in obj) {
81
+ Object.defineProperty(obj, key, {
82
+ value: value,
83
+ enumerable: true,
84
+ configurable: true,
85
+ writable: true
86
+ });
87
+ } else {
88
+ obj[key] = value;
89
+ }
90
+ return obj;
91
+ }
92
+ function _interopRequireDefault(obj) {
93
+ return obj && obj.__esModule ? obj : {
94
+ default: obj
95
+ };
96
+ }
97
+ function _iterableToArray(iter) {
98
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
99
+ }
100
+ function _iterableToArrayLimit(arr, i) {
101
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
102
+ if (_i == null) return;
103
+ var _arr = [];
104
+ var _n = true;
105
+ var _d = false;
106
+ var _s, _e;
107
+ try {
108
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
109
+ _arr.push(_s.value);
110
+ if (i && _arr.length === i) break;
111
+ }
112
+ } catch (err) {
113
+ _d = true;
114
+ _e = err;
115
+ } finally{
116
+ try {
117
+ if (!_n && _i["return"] != null) _i["return"]();
118
+ } finally{
119
+ if (_d) throw _e;
120
+ }
121
+ }
122
+ return _arr;
123
+ }
124
+ function _nonIterableRest() {
125
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
126
+ }
127
+ function _nonIterableSpread() {
128
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
129
+ }
130
+ function _objectSpread(target) {
131
+ for(var i = 1; i < arguments.length; i++){
132
+ var source = arguments[i] != null ? arguments[i] : {};
133
+ var ownKeys = Object.keys(source);
134
+ if (typeof Object.getOwnPropertySymbols === "function") {
135
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
136
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
137
+ }));
138
+ }
139
+ ownKeys.forEach(function(key) {
140
+ _defineProperty(target, key, source[key]);
141
+ });
142
+ }
143
+ return target;
144
+ }
145
+ function ownKeys(object, enumerableOnly) {
146
+ var keys = Object.keys(object);
147
+ if (Object.getOwnPropertySymbols) {
148
+ var symbols = Object.getOwnPropertySymbols(object);
149
+ if (enumerableOnly) {
150
+ symbols = symbols.filter(function(sym) {
151
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
152
+ });
153
+ }
154
+ keys.push.apply(keys, symbols);
155
+ }
156
+ return keys;
157
+ }
158
+ function _objectSpreadProps(target, source) {
159
+ source = source != null ? source : {};
160
+ if (Object.getOwnPropertyDescriptors) {
161
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
162
+ } else {
163
+ ownKeys(Object(source)).forEach(function(key) {
164
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
165
+ });
166
+ }
167
+ return target;
168
+ }
169
+ function _slicedToArray(arr, i) {
170
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
171
+ }
172
+ function _toConsumableArray(arr) {
173
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
174
+ }
175
+ function _unsupportedIterableToArray(o, minLen) {
176
+ if (!o) return;
177
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
178
+ var n = Object.prototype.toString.call(o).slice(8, -1);
179
+ if (n === "Object" && o.constructor) n = o.constructor.name;
180
+ if (n === "Map" || n === "Set") return Array.from(n);
181
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
182
+ }
183
+ var __generator = (void 0) && (void 0).__generator || function(thisArg, body) {
184
+ var f, y, t, g, _ = {
185
+ label: 0,
186
+ sent: function() {
187
+ if (t[0] & 1) throw t[1];
188
+ return t[1];
189
+ },
190
+ trys: [],
191
+ ops: []
192
+ };
193
+ return g = {
194
+ next: verb(0),
195
+ "throw": verb(1),
196
+ "return": verb(2)
197
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
198
+ return this;
199
+ }), g;
200
+ function verb(n) {
201
+ return function(v) {
202
+ return step([
203
+ n,
204
+ v
205
+ ]);
206
+ };
207
+ }
208
+ function step(op) {
209
+ if (f) throw new TypeError("Generator is already executing.");
210
+ while(_)try {
211
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
212
+ if (y = 0, t) op = [
213
+ op[0] & 2,
214
+ t.value
215
+ ];
216
+ switch(op[0]){
217
+ case 0:
218
+ case 1:
219
+ t = op;
220
+ break;
221
+ case 4:
222
+ _.label++;
223
+ return {
224
+ value: op[1],
225
+ done: false
226
+ };
227
+ case 5:
228
+ _.label++;
229
+ y = op[1];
230
+ op = [
231
+ 0
232
+ ];
233
+ continue;
234
+ case 7:
235
+ op = _.ops.pop();
236
+ _.trys.pop();
237
+ continue;
238
+ default:
239
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
240
+ _ = 0;
241
+ continue;
242
+ }
243
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
244
+ _.label = op[1];
245
+ break;
246
+ }
247
+ if (op[0] === 6 && _.label < t[1]) {
248
+ _.label = t[1];
249
+ t = op;
250
+ break;
251
+ }
252
+ if (t && _.label < t[2]) {
253
+ _.label = t[2];
254
+ _.ops.push(op);
255
+ break;
256
+ }
257
+ if (t[2]) _.ops.pop();
258
+ _.trys.pop();
259
+ continue;
260
+ }
261
+ op = body.call(thisArg, _);
262
+ } catch (e) {
263
+ op = [
264
+ 6,
265
+ e
266
+ ];
267
+ y = 0;
268
+ } finally{
269
+ f = t = 0;
270
+ }
271
+ if (op[0] & 5) throw op[1];
272
+ return {
273
+ value: op[0] ? op[1] : void 0,
274
+ done: true
275
+ };
276
+ }
277
+ };
278
+ var _dispose = Symbol.dispose;
279
+ var d = /*#__PURE__*/ function() {
280
+ "use strict";
281
+ function d(e, s) {
282
+ _classCallCheck(this, d);
283
+ _defineProperty(this, "sourceMessagesByFile", new Map);
284
+ _defineProperty(this, "sourceMessagesById", new Map);
285
+ _defineProperty(this, "messagesById", new Map);
286
+ _defineProperty(this, "translationsByTargetLocale", new Map);
287
+ _defineProperty(this, "lastWriteByLocale", new Map);
288
+ var _this = this;
289
+ _defineProperty(this, "onLocalesChange", function() {
290
+ var _ref = _asyncToGenerator(function(e) {
291
+ var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _$s, err, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, _$s1;
292
+ return __generator(this, function(_state) {
293
+ switch(_state.label){
294
+ case 0:
295
+ _this.loadCatalogsPromise = Promise.all([
296
+ _this.loadCatalogsPromise
297
+ ].concat(_toConsumableArray(e.added.map(function(e) {
298
+ return _this.reloadLocaleCatalog(e);
299
+ }))));
300
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
301
+ _state.label = 1;
302
+ case 1:
303
+ _state.trys.push([
304
+ 1,
305
+ 6,
306
+ 7,
307
+ 8
308
+ ]);
309
+ _iterator = e.added[Symbol.iterator]();
310
+ _state.label = 2;
311
+ case 2:
312
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
313
+ 3,
314
+ 5
315
+ ];
316
+ _$s = _step.value;
317
+ return [
318
+ 4,
319
+ _this.saveLocale(_$s)
320
+ ];
321
+ case 3:
322
+ _state.sent();
323
+ _state.label = 4;
324
+ case 4:
325
+ _iteratorNormalCompletion = true;
326
+ return [
327
+ 3,
328
+ 2
329
+ ];
330
+ case 5:
331
+ return [
332
+ 3,
333
+ 8
334
+ ];
335
+ case 6:
336
+ err = _state.sent();
337
+ _didIteratorError = true;
338
+ _iteratorError = err;
339
+ return [
340
+ 3,
341
+ 8
342
+ ];
343
+ case 7:
344
+ try {
345
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
346
+ _iterator.return();
347
+ }
348
+ } finally{
349
+ if (_didIteratorError) {
350
+ throw _iteratorError;
351
+ }
352
+ }
353
+ return [
354
+ 7
355
+ ];
356
+ case 8:
357
+ _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
358
+ try {
359
+ for(_iterator1 = e.removed[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
360
+ _$s1 = _step1.value;
361
+ _this.translationsByTargetLocale.delete(_$s1), _this.lastWriteByLocale.delete(_$s1);
362
+ }
363
+ } catch (err) {
364
+ _didIteratorError1 = true;
365
+ _iteratorError1 = err;
366
+ } finally{
367
+ try {
368
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
369
+ _iterator1.return();
370
+ }
371
+ } finally{
372
+ if (_didIteratorError1) {
373
+ throw _iteratorError1;
374
+ }
375
+ }
376
+ }
377
+ return [
378
+ 2
379
+ ];
380
+ }
381
+ });
382
+ });
383
+ return function(e) {
384
+ return _ref.apply(this, arguments);
385
+ };
386
+ }());
387
+ var _saveDebounceMs, _projectRoot, _isDevelopment;
388
+ this.config = e, this.saveScheduler = new _saveSchedulerJs.default((_saveDebounceMs = s.saveDebounceMs) !== null && _saveDebounceMs !== void 0 ? _saveDebounceMs : 50), this.projectRoot = (_projectRoot = s.projectRoot) !== null && _projectRoot !== void 0 ? _projectRoot : (0, _utilsJs.getDefaultProjectRoot)(), this.isDevelopment = (_isDevelopment = s.isDevelopment) !== null && _isDevelopment !== void 0 ? _isDevelopment : !1, this.extractor = s.extractor, this.isDevelopment && (this.sourceWatcher = new _sourceFileWatcherJs.default(this.getSrcPaths(), this.handleFileEvents.bind(this)), this.sourceWatcher.start());
389
+ }
390
+ _createClass(d, [
391
+ {
392
+ key: "getCodec",
393
+ value: function getCodec() {
394
+ var _this = this;
395
+ return _asyncToGenerator(function() {
396
+ var _tmp;
397
+ return __generator(this, function(_state) {
398
+ switch(_state.label){
399
+ case 0:
400
+ _tmp = _this.codec;
401
+ if (_tmp) return [
402
+ 3,
403
+ 2
404
+ ];
405
+ return [
406
+ 4,
407
+ (0, _indexJs.resolveCodec)(_this.config.messages.format, _this.projectRoot)
408
+ ];
409
+ case 1:
410
+ _tmp = _this.codec = _state.sent();
411
+ _state.label = 2;
412
+ case 2:
413
+ return [
414
+ 2,
415
+ (_tmp, _this.codec)
416
+ ];
417
+ }
418
+ });
419
+ })();
420
+ }
421
+ },
422
+ {
423
+ key: "getPersister",
424
+ value: function getPersister() {
425
+ var _this = this;
426
+ return _asyncToGenerator(function() {
427
+ var _tmp, _, _tmp1;
428
+ return __generator(this, function(_state) {
429
+ switch(_state.label){
430
+ case 0:
431
+ _tmp = _this.persister;
432
+ if (_tmp) return [
433
+ 3,
434
+ 2
435
+ ];
436
+ _ = _catalogPersisterJs.default.bind;
437
+ _tmp1 = {
438
+ messagesPath: _this.config.extract.path
439
+ };
440
+ return [
441
+ 4,
442
+ _this.getCodec()
443
+ ];
444
+ case 1:
445
+ _tmp = _this.persister = new (_.apply(_catalogPersisterJs.default, [
446
+ void 0,
447
+ (_tmp1.codec = _state.sent(), _tmp1.extension = (0, _indexJs.getFormatExtension)(_this.config.messages.format), _tmp1)
448
+ ]));
449
+ _state.label = 2;
450
+ case 2:
451
+ return [
452
+ 2,
453
+ (_tmp, _this.persister)
454
+ ];
455
+ }
456
+ });
457
+ })();
458
+ }
459
+ },
460
+ {
461
+ key: "getCatalogLocales",
462
+ value: function getCatalogLocales() {
463
+ if (this.catalogLocales) return this.catalogLocales;
464
+ {
465
+ var e = _path.default.join(this.projectRoot, this.config.extract.path);
466
+ return this.catalogLocales = new _catalogLocalesJs.default({
467
+ messagesDir: e,
468
+ extension: (0, _indexJs.getFormatExtension)(this.config.messages.format),
469
+ locales: this.config.extract.locales,
470
+ sourceLocale: this.config.extract.sourceLocale
471
+ }), this.catalogLocales;
472
+ }
473
+ }
474
+ },
475
+ {
476
+ key: "getTargetLocales",
477
+ value: function getTargetLocales() {
478
+ var _this = this;
479
+ return _asyncToGenerator(function() {
480
+ return __generator(this, function(_state) {
481
+ return [
482
+ 2,
483
+ _this.getCatalogLocales().getTargetLocales()
484
+ ];
485
+ });
486
+ })();
487
+ }
488
+ },
489
+ {
490
+ key: "getSrcPaths",
491
+ value: function getSrcPaths() {
492
+ var _this = this;
493
+ return (Array.isArray(this.config.extract.srcPath) ? this.config.extract.srcPath : [
494
+ this.config.extract.srcPath
495
+ ]).map(function(e) {
496
+ return _path.default.join(_this.projectRoot, e);
497
+ });
498
+ }
499
+ },
500
+ {
501
+ key: "loadMessages",
502
+ value: function loadMessages() {
503
+ var _this = this;
504
+ return _asyncToGenerator(function() {
505
+ var e;
506
+ return __generator(this, function(_state) {
507
+ switch(_state.label){
508
+ case 0:
509
+ return [
510
+ 4,
511
+ _this.loadSourceMessages()
512
+ ];
513
+ case 1:
514
+ e = _state.sent();
515
+ _this.loadCatalogsPromise = _this.loadTargetMessages();
516
+ return [
517
+ 4,
518
+ _this.loadCatalogsPromise
519
+ ];
520
+ case 2:
521
+ _state.sent(), _this.scanCompletePromise = _asyncToGenerator(function() {
522
+ var s, t, _, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, e1, s1;
523
+ return __generator(this, function(_state) {
524
+ switch(_state.label){
525
+ case 0:
526
+ _ = Array.from;
527
+ return [
528
+ 4,
529
+ _sourceFileScannerJs.default.getSourceFiles(_this.getSrcPaths())
530
+ ];
531
+ case 1:
532
+ s = _.apply(Array, [
533
+ _state.sent()
534
+ ]).toSorted(_utilsJs.localeCompare);
535
+ return [
536
+ 4,
537
+ Promise.all(s.map(function() {
538
+ var _ref = _asyncToGenerator(function(e) {
539
+ var _tmp;
540
+ return __generator(this, function(_state) {
541
+ switch(_state.label){
542
+ case 0:
543
+ _tmp = {
544
+ filePath: e
545
+ };
546
+ return [
547
+ 4,
548
+ _this.extractFile(e)
549
+ ];
550
+ case 1:
551
+ return [
552
+ 2,
553
+ (_tmp.messages = _state.sent(), _tmp)
554
+ ];
555
+ }
556
+ });
557
+ });
558
+ return function(e) {
559
+ return _ref.apply(this, arguments);
560
+ };
561
+ }()))
562
+ ];
563
+ case 2:
564
+ t = _state.sent();
565
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
566
+ try {
567
+ for(_iterator = t[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
568
+ _value = _step.value, e1 = _value.filePath, s1 = _value.messages;
569
+ s1 && _this.applyFileMessages(e1, s1);
570
+ }
571
+ } catch (err) {
572
+ _didIteratorError = true;
573
+ _iteratorError = err;
574
+ } finally{
575
+ try {
576
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
577
+ _iterator.return();
578
+ }
579
+ } finally{
580
+ if (_didIteratorError) {
581
+ throw _iteratorError;
582
+ }
583
+ }
584
+ }
585
+ _this.mergeSourceDiskMetadata(e);
586
+ return [
587
+ 2
588
+ ];
589
+ }
590
+ });
591
+ })();
592
+ return [
593
+ 4,
594
+ _this.scanCompletePromise
595
+ ];
596
+ case 3:
597
+ if (_state.sent(), _this.isDevelopment) {
598
+ _this.getCatalogLocales().subscribeLocalesChange(_this.onLocalesChange);
599
+ }
600
+ return [
601
+ 2
602
+ ];
603
+ }
604
+ });
605
+ })();
606
+ }
607
+ },
608
+ {
609
+ key: "loadSourceMessages",
610
+ value: function loadSourceMessages() {
611
+ var _this = this;
612
+ return _asyncToGenerator(function() {
613
+ var e, s, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, t;
614
+ return __generator(this, function(_state) {
615
+ switch(_state.label){
616
+ case 0:
617
+ return [
618
+ 4,
619
+ _this.loadLocaleMessages(_this.config.extract.sourceLocale)
620
+ ];
621
+ case 1:
622
+ e = _state.sent(), s = new Map;
623
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
624
+ try {
625
+ for(_iterator = e[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
626
+ t = _step.value;
627
+ s.set(t.id, t);
628
+ }
629
+ } catch (err) {
630
+ _didIteratorError = true;
631
+ _iteratorError = err;
632
+ } finally{
633
+ try {
634
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
635
+ _iterator.return();
636
+ }
637
+ } finally{
638
+ if (_didIteratorError) {
639
+ throw _iteratorError;
640
+ }
641
+ }
642
+ }
643
+ return [
644
+ 2,
645
+ s
646
+ ];
647
+ }
648
+ });
649
+ })();
650
+ }
651
+ },
652
+ {
653
+ key: "loadLocaleMessages",
654
+ value: function loadLocaleMessages(e) {
655
+ var _this = this;
656
+ return _asyncToGenerator(function() {
657
+ var s, t, a;
658
+ return __generator(this, function(_state) {
659
+ switch(_state.label){
660
+ case 0:
661
+ return [
662
+ 4,
663
+ _this.getPersister()
664
+ ];
665
+ case 1:
666
+ s = _state.sent();
667
+ return [
668
+ 4,
669
+ s.read(e)
670
+ ];
671
+ case 2:
672
+ t = _state.sent();
673
+ return [
674
+ 4,
675
+ s.getLastModified(e)
676
+ ];
677
+ case 3:
678
+ a = _state.sent();
679
+ return [
680
+ 2,
681
+ (_this.lastWriteByLocale.set(e, a), t)
682
+ ];
683
+ }
684
+ });
685
+ })();
686
+ }
687
+ },
688
+ {
689
+ key: "loadTargetMessages",
690
+ value: function loadTargetMessages() {
691
+ var _this = this;
692
+ return _asyncToGenerator(function() {
693
+ var e;
694
+ return __generator(this, function(_state) {
695
+ switch(_state.label){
696
+ case 0:
697
+ return [
698
+ 4,
699
+ _this.getTargetLocales()
700
+ ];
701
+ case 1:
702
+ e = _state.sent();
703
+ return [
704
+ 4,
705
+ Promise.all(e.map(function(e) {
706
+ return _this.reloadLocaleCatalog(e);
707
+ }))
708
+ ];
709
+ case 2:
710
+ _state.sent();
711
+ return [
712
+ 2
713
+ ];
714
+ }
715
+ });
716
+ })();
717
+ }
718
+ },
719
+ {
720
+ key: "reloadLocaleCatalog",
721
+ value: function reloadLocaleCatalog(e) {
722
+ var _this = this;
723
+ return _asyncToGenerator(function() {
724
+ var s, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _$e, s1, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, t, t1, a, t2, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _$e1, s2;
725
+ return __generator(this, function(_state) {
726
+ switch(_state.label){
727
+ case 0:
728
+ return [
729
+ 4,
730
+ _this.loadLocaleMessages(e)
731
+ ];
732
+ case 1:
733
+ s = _state.sent();
734
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
735
+ if (e === _this.config.extract.sourceLocale) try {
736
+ for(_iterator = s[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
737
+ _$e = _step.value;
738
+ s1 = _this.messagesById.get(_$e.id);
739
+ _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
740
+ if (s1) try {
741
+ for(_iterator1 = Object.keys(_$e)[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
742
+ t = _step1.value;
743
+ d.extractorOwnedAggregatorKeys.has(t) || (s1[t] = _$e[t]);
744
+ }
745
+ } catch (err) {
746
+ _didIteratorError1 = true;
747
+ _iteratorError1 = err;
748
+ } finally{
749
+ try {
750
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
751
+ _iterator1.return();
752
+ }
753
+ } finally{
754
+ if (_didIteratorError1) {
755
+ throw _iteratorError1;
756
+ }
757
+ }
758
+ }
759
+ }
760
+ } catch (err) {
761
+ _didIteratorError = true;
762
+ _iteratorError = err;
763
+ } finally{
764
+ try {
765
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
766
+ _iterator.return();
767
+ }
768
+ } finally{
769
+ if (_didIteratorError) {
770
+ throw _iteratorError;
771
+ }
772
+ }
773
+ }
774
+ else {
775
+ t1 = _this.translationsByTargetLocale.get(e), a = t1 && t1.size > 0;
776
+ if (s.length > 0) {
777
+ t2 = new Map;
778
+ _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = undefined;
779
+ try {
780
+ for(_iterator2 = s[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
781
+ _$e1 = _step2.value;
782
+ t2.set(_$e1.id, _$e1);
783
+ }
784
+ } catch (err) {
785
+ _didIteratorError2 = true;
786
+ _iteratorError2 = err;
787
+ } finally{
788
+ try {
789
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
790
+ _iterator2.return();
791
+ }
792
+ } finally{
793
+ if (_didIteratorError2) {
794
+ throw _iteratorError2;
795
+ }
796
+ }
797
+ }
798
+ _this.translationsByTargetLocale.set(e, t2);
799
+ } else if (a) ;
800
+ else {
801
+ s2 = new Map;
802
+ _this.translationsByTargetLocale.set(e, s2);
803
+ }
804
+ }
805
+ return [
806
+ 2
807
+ ];
808
+ }
809
+ });
810
+ })();
811
+ }
812
+ },
813
+ {
814
+ key: "mergeSourceDiskMetadata",
815
+ value: function mergeSourceDiskMetadata(e) {
816
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
817
+ try {
818
+ for(var _iterator = e[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
819
+ var _value = _slicedToArray(_step.value, 2), s = _value[0], t = _value[1];
820
+ var _$e = this.messagesById.get(s);
821
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
822
+ if (_$e) try {
823
+ for(var _iterator1 = Object.keys(t)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
824
+ var s1 = _step1.value;
825
+ d.extractorOwnedAggregatorKeys.has(s1) || null != _$e[s1] || (_$e[s1] = t[s1]);
826
+ }
827
+ } catch (err) {
828
+ _didIteratorError1 = true;
829
+ _iteratorError1 = err;
830
+ } finally{
831
+ try {
832
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
833
+ _iterator1.return();
834
+ }
835
+ } finally{
836
+ if (_didIteratorError1) {
837
+ throw _iteratorError1;
838
+ }
839
+ }
840
+ }
841
+ }
842
+ } catch (err) {
843
+ _didIteratorError = true;
844
+ _iteratorError = err;
845
+ } finally{
846
+ try {
847
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
848
+ _iterator.return();
849
+ }
850
+ } finally{
851
+ if (_didIteratorError) {
852
+ throw _iteratorError;
853
+ }
854
+ }
855
+ }
856
+ }
857
+ },
858
+ {
859
+ key: "processFile",
860
+ value: function processFile(e) {
861
+ var _this = this;
862
+ return _asyncToGenerator(function() {
863
+ var s;
864
+ return __generator(this, function(_state) {
865
+ switch(_state.label){
866
+ case 0:
867
+ return [
868
+ 4,
869
+ _this.extractFile(e)
870
+ ];
871
+ case 1:
872
+ s = _state.sent();
873
+ return [
874
+ 2,
875
+ !!s && _this.applyFileMessages(e, s)
876
+ ];
877
+ }
878
+ });
879
+ })();
880
+ }
881
+ },
882
+ {
883
+ key: "extractFile",
884
+ value: function extractFile(s) {
885
+ var _this = this;
886
+ return _asyncToGenerator(function() {
887
+ var t, a, o, e, e1;
888
+ return __generator(this, function(_state) {
889
+ switch(_state.label){
890
+ case 0:
891
+ t = [];
892
+ _state.label = 1;
893
+ case 1:
894
+ _state.trys.push([
895
+ 1,
896
+ 7,
897
+ ,
898
+ 8
899
+ ]);
900
+ return [
901
+ 4,
902
+ _promises.default.readFile(s, "utf8")
903
+ ];
904
+ case 2:
905
+ a = _state.sent();
906
+ _state.label = 3;
907
+ case 3:
908
+ _state.trys.push([
909
+ 3,
910
+ 5,
911
+ ,
912
+ 6
913
+ ]);
914
+ return [
915
+ 4,
916
+ _this.extractor.extract(s, a)
917
+ ];
918
+ case 4:
919
+ o = _state.sent();
920
+ return [
921
+ 3,
922
+ 6
923
+ ];
924
+ case 5:
925
+ e = _state.sent();
926
+ return [
927
+ 2
928
+ ];
929
+ case 6:
930
+ t = o.messages;
931
+ return [
932
+ 3,
933
+ 8
934
+ ];
935
+ case 7:
936
+ e1 = _state.sent();
937
+ if ("ENOENT" !== e1.code) throw e1;
938
+ return [
939
+ 3,
940
+ 8
941
+ ];
942
+ case 8:
943
+ return [
944
+ 2,
945
+ t
946
+ ];
947
+ }
948
+ });
949
+ })();
950
+ }
951
+ },
952
+ {
953
+ key: "applyFileMessages",
954
+ value: function applyFileMessages(e, s) {
955
+ var ref;
956
+ var t = this.sourceMessagesByFile.get(e), a = this.groupSourceMessagesById(s), o = new Set(_toConsumableArray((ref = t === null || t === void 0 ? void 0 : t.keys()) !== null && ref !== void 0 ? ref : []).concat(_toConsumableArray(a.keys())));
957
+ a.size > 0 ? this.sourceMessagesByFile.set(e, a) : this.sourceMessagesByFile.delete(e);
958
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
959
+ try {
960
+ for(var _iterator = o[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
961
+ var _$s = _step.value;
962
+ var t1 = this.sourceMessagesById.get(_$s);
963
+ t1 && (t1.delete(e), 0 === t1.size && this.sourceMessagesById.delete(_$s));
964
+ var o1 = a.get(_$s);
965
+ if (o1) {
966
+ var t2 = this.sourceMessagesById.get(_$s);
967
+ t2 || (t2 = new Map, this.sourceMessagesById.set(_$s, t2)), t2.set(e, o1);
968
+ }
969
+ this.rebuildMessageById(_$s);
970
+ }
971
+ } catch (err) {
972
+ _didIteratorError = true;
973
+ _iteratorError = err;
974
+ } finally{
975
+ try {
976
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
977
+ _iterator.return();
978
+ }
979
+ } finally{
980
+ if (_didIteratorError) {
981
+ throw _iteratorError;
982
+ }
983
+ }
984
+ }
985
+ return this.haveMessagesChangedForFile(t, a);
986
+ }
987
+ },
988
+ {
989
+ key: "groupSourceMessagesById",
990
+ value: function groupSourceMessagesById(e) {
991
+ var s = new Map;
992
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
993
+ try {
994
+ for(var _iterator = e[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
995
+ var t = _step.value;
996
+ var _$e = s.get(t.id);
997
+ _$e ? _$e.push(t) : s.set(t.id, [
998
+ t
999
+ ]);
1000
+ }
1001
+ } catch (err) {
1002
+ _didIteratorError = true;
1003
+ _iteratorError = err;
1004
+ } finally{
1005
+ try {
1006
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1007
+ _iterator.return();
1008
+ }
1009
+ } finally{
1010
+ if (_didIteratorError) {
1011
+ throw _iteratorError;
1012
+ }
1013
+ }
1014
+ }
1015
+ return s;
1016
+ }
1017
+ },
1018
+ {
1019
+ key: "rebuildMessageById",
1020
+ value: function rebuildMessageById(e) {
1021
+ var ref;
1022
+ var ref1;
1023
+ var s = Array.from((ref1 = (ref = this.sourceMessagesById.get(e)) === null || ref === void 0 ? void 0 : ref.values()) !== null && ref1 !== void 0 ? ref1 : []).flat();
1024
+ if (0 === s.length) return void this.messagesById.delete(e);
1025
+ var t = this.messagesById.get(e), a = {
1026
+ description: this.mergeDescriptions(s),
1027
+ id: e,
1028
+ message: s[0].message,
1029
+ references: s.map(function(e) {
1030
+ return e.reference;
1031
+ }).sort(_utilsJs.compareReferences)
1032
+ };
1033
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1034
+ if (t) try {
1035
+ for(var _iterator = Object.keys(t)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1036
+ var _$e = _step.value;
1037
+ d.extractorOwnedAggregatorKeys.has(_$e) || null != a[_$e] || (a[_$e] = t[_$e]);
1038
+ }
1039
+ } catch (err) {
1040
+ _didIteratorError = true;
1041
+ _iteratorError = err;
1042
+ } finally{
1043
+ try {
1044
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1045
+ _iterator.return();
1046
+ }
1047
+ } finally{
1048
+ if (_didIteratorError) {
1049
+ throw _iteratorError;
1050
+ }
1051
+ }
1052
+ }
1053
+ this.messagesById.set(e, a);
1054
+ }
1055
+ },
1056
+ {
1057
+ key: "mergeDescriptions",
1058
+ value: function mergeDescriptions(e) {
1059
+ var s = e.toSorted(function(e, s) {
1060
+ return (0, _utilsJs.compareReferences)(e.reference, s.reference);
1061
+ }), t = [];
1062
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1063
+ try {
1064
+ for(var _iterator = s[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1065
+ var _$e = _step.value;
1066
+ var s1 = _$e.description;
1067
+ null == s1 || t.includes(s1) || t.push(s1);
1068
+ }
1069
+ } catch (err) {
1070
+ _didIteratorError = true;
1071
+ _iteratorError = err;
1072
+ } finally{
1073
+ try {
1074
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1075
+ _iterator.return();
1076
+ }
1077
+ } finally{
1078
+ if (_didIteratorError) {
1079
+ throw _iteratorError;
1080
+ }
1081
+ }
1082
+ }
1083
+ return t;
1084
+ }
1085
+ },
1086
+ {
1087
+ key: "haveMessagesChangedForFile",
1088
+ value: function haveMessagesChangedForFile(e, s) {
1089
+ if (!e) return s.size > 0;
1090
+ if (e.size !== s.size) return !0;
1091
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1092
+ try {
1093
+ for(var _iterator = e[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1094
+ var _value = _slicedToArray(_step.value, 2), t = _value[0], a = _value[1];
1095
+ var _$e = s.get(t);
1096
+ if (!_$e) return !0;
1097
+ if (!this.areSourceMessageArraysEqual(a, _$e)) return !0;
1098
+ }
1099
+ } catch (err) {
1100
+ _didIteratorError = true;
1101
+ _iteratorError = err;
1102
+ } finally{
1103
+ try {
1104
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1105
+ _iterator.return();
1106
+ }
1107
+ } finally{
1108
+ if (_didIteratorError) {
1109
+ throw _iteratorError;
1110
+ }
1111
+ }
1112
+ }
1113
+ return !1;
1114
+ }
1115
+ },
1116
+ {
1117
+ key: "areSourceMessageArraysEqual",
1118
+ value: function areSourceMessageArraysEqual(e, s) {
1119
+ var _this = this;
1120
+ return e.length === s.length && e.every(function(e, t) {
1121
+ return _this.areSourceMessagesEqual(e, s[t]);
1122
+ });
1123
+ }
1124
+ },
1125
+ {
1126
+ key: "areSourceMessagesEqual",
1127
+ value: function areSourceMessagesEqual(e, s) {
1128
+ return e.id === s.id && e.message === s.message && e.description === s.description && e.reference.path === s.reference.path && e.reference.line === s.reference.line;
1129
+ }
1130
+ },
1131
+ {
1132
+ key: "save",
1133
+ value: function save() {
1134
+ var _this = this;
1135
+ return _asyncToGenerator(function() {
1136
+ return __generator(this, function(_state) {
1137
+ return [
1138
+ 2,
1139
+ _this.saveScheduler.schedule(function() {
1140
+ return _this.saveImpl();
1141
+ })
1142
+ ];
1143
+ });
1144
+ })();
1145
+ }
1146
+ },
1147
+ {
1148
+ key: "saveImpl",
1149
+ value: function saveImpl() {
1150
+ var _this = this;
1151
+ return _asyncToGenerator(function() {
1152
+ var e;
1153
+ return __generator(this, function(_state) {
1154
+ switch(_state.label){
1155
+ case 0:
1156
+ return [
1157
+ 4,
1158
+ _this.saveLocale(_this.config.extract.sourceLocale)
1159
+ ];
1160
+ case 1:
1161
+ _state.sent();
1162
+ return [
1163
+ 4,
1164
+ _this.getTargetLocales()
1165
+ ];
1166
+ case 2:
1167
+ e = _state.sent();
1168
+ return [
1169
+ 4,
1170
+ Promise.all(e.map(function(e) {
1171
+ return _this.saveLocale(e);
1172
+ }))
1173
+ ];
1174
+ case 3:
1175
+ _state.sent();
1176
+ return [
1177
+ 2
1178
+ ];
1179
+ }
1180
+ });
1181
+ })();
1182
+ }
1183
+ },
1184
+ {
1185
+ key: "saveLocale",
1186
+ value: function saveLocale(e) {
1187
+ var _this = this;
1188
+ return _asyncToGenerator(function() {
1189
+ var s, t, a, o, r, _tmp, i, c, n;
1190
+ return __generator(this, function(_state) {
1191
+ switch(_state.label){
1192
+ case 0:
1193
+ return [
1194
+ 4,
1195
+ _this.loadCatalogsPromise
1196
+ ];
1197
+ case 1:
1198
+ _state.sent();
1199
+ s = Array.from(_this.messagesById.values());
1200
+ return [
1201
+ 4,
1202
+ _this.getPersister()
1203
+ ];
1204
+ case 2:
1205
+ t = _state.sent(), a = e === _this.config.extract.sourceLocale, o = _this.lastWriteByLocale.get(e);
1206
+ return [
1207
+ 4,
1208
+ t.getLastModified(e)
1209
+ ];
1210
+ case 3:
1211
+ r = _state.sent();
1212
+ _tmp = r && o && r > o;
1213
+ if (!_tmp) return [
1214
+ 3,
1215
+ 5
1216
+ ];
1217
+ return [
1218
+ 4,
1219
+ _this.reloadLocaleCatalog(e)
1220
+ ];
1221
+ case 4:
1222
+ _tmp = _state.sent();
1223
+ _state.label = 5;
1224
+ case 5:
1225
+ _tmp;
1226
+ i = a ? _this.messagesById : _this.translationsByTargetLocale.get(e), c = s.map(function(e) {
1227
+ var s = i === null || i === void 0 ? void 0 : i.get(e.id);
1228
+ var ref;
1229
+ return _objectSpreadProps(_objectSpread({}, s), {
1230
+ id: e.id,
1231
+ description: e.description,
1232
+ references: e.references,
1233
+ message: a ? e.message : (ref = s === null || s === void 0 ? void 0 : s.message) !== null && ref !== void 0 ? ref : ""
1234
+ });
1235
+ });
1236
+ return [
1237
+ 4,
1238
+ t.write(c, {
1239
+ locale: e,
1240
+ sourceMessagesById: _this.messagesById
1241
+ })
1242
+ ];
1243
+ case 6:
1244
+ _state.sent();
1245
+ return [
1246
+ 4,
1247
+ t.getLastModified(e)
1248
+ ];
1249
+ case 7:
1250
+ n = _state.sent();
1251
+ _this.lastWriteByLocale.set(e, n);
1252
+ return [
1253
+ 2
1254
+ ];
1255
+ }
1256
+ });
1257
+ })();
1258
+ }
1259
+ },
1260
+ {
1261
+ key: "handleFileEvents",
1262
+ value: function handleFileEvents(e) {
1263
+ var _this = this;
1264
+ return _asyncToGenerator(function() {
1265
+ var _tmp, _tmp1, s, t, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _$e, t1, err, _tmp2;
1266
+ return __generator(this, function(_state) {
1267
+ switch(_state.label){
1268
+ case 0:
1269
+ _tmp = _this.loadCatalogsPromise;
1270
+ if (!_tmp) return [
1271
+ 3,
1272
+ 2
1273
+ ];
1274
+ return [
1275
+ 4,
1276
+ _this.loadCatalogsPromise
1277
+ ];
1278
+ case 1:
1279
+ _tmp = _state.sent();
1280
+ _state.label = 2;
1281
+ case 2:
1282
+ _tmp;
1283
+ _tmp1 = _this.scanCompletePromise;
1284
+ if (!_tmp1) return [
1285
+ 3,
1286
+ 4
1287
+ ];
1288
+ return [
1289
+ 4,
1290
+ _this.scanCompletePromise
1291
+ ];
1292
+ case 3:
1293
+ _tmp1 = _state.sent();
1294
+ _state.label = 4;
1295
+ case 4:
1296
+ _tmp1;
1297
+ s = !1;
1298
+ return [
1299
+ 4,
1300
+ _this.sourceWatcher.expandDirectoryDeleteEvents(e, Array.from(_this.sourceMessagesByFile.keys()))
1301
+ ];
1302
+ case 5:
1303
+ t = _state.sent();
1304
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1305
+ _state.label = 6;
1306
+ case 6:
1307
+ _state.trys.push([
1308
+ 6,
1309
+ 11,
1310
+ 12,
1311
+ 13
1312
+ ]);
1313
+ _iterator = t.toSorted(function(e, s) {
1314
+ return (0, _utilsJs.localeCompare)(e.path, s.path);
1315
+ })[Symbol.iterator]();
1316
+ _state.label = 7;
1317
+ case 7:
1318
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
1319
+ 3,
1320
+ 10
1321
+ ];
1322
+ _$e = _step.value;
1323
+ return [
1324
+ 4,
1325
+ _this.processFile(_$e.path)
1326
+ ];
1327
+ case 8:
1328
+ t1 = _state.sent();
1329
+ s || (s = t1);
1330
+ _state.label = 9;
1331
+ case 9:
1332
+ _iteratorNormalCompletion = true;
1333
+ return [
1334
+ 3,
1335
+ 7
1336
+ ];
1337
+ case 10:
1338
+ return [
1339
+ 3,
1340
+ 13
1341
+ ];
1342
+ case 11:
1343
+ err = _state.sent();
1344
+ _didIteratorError = true;
1345
+ _iteratorError = err;
1346
+ return [
1347
+ 3,
1348
+ 13
1349
+ ];
1350
+ case 12:
1351
+ try {
1352
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1353
+ _iterator.return();
1354
+ }
1355
+ } finally{
1356
+ if (_didIteratorError) {
1357
+ throw _iteratorError;
1358
+ }
1359
+ }
1360
+ return [
1361
+ 7
1362
+ ];
1363
+ case 13:
1364
+ _tmp2 = s;
1365
+ if (!_tmp2) return [
1366
+ 3,
1367
+ 15
1368
+ ];
1369
+ return [
1370
+ 4,
1371
+ _this.save()
1372
+ ];
1373
+ case 14:
1374
+ _tmp2 = _state.sent();
1375
+ _state.label = 15;
1376
+ case 15:
1377
+ _tmp2;
1378
+ return [
1379
+ 2
1380
+ ];
1381
+ }
1382
+ });
1383
+ })();
1384
+ }
1385
+ },
1386
+ {
1387
+ key: _dispose,
1388
+ value: function value() {
1389
+ var ref;
1390
+ (ref = this.sourceWatcher) === null || ref === void 0 ? void 0 : ref.stop(), this.sourceWatcher = void 0, this.saveScheduler[Symbol.dispose](), this.catalogLocales && this.isDevelopment && this.catalogLocales.unsubscribeLocalesChange(this.onLocalesChange);
1391
+ }
1392
+ }
1393
+ ]);
1394
+ return d;
1395
+ }();
1396
+ _defineProperty(d, "extractorOwnedAggregatorKeys", new Set([
1397
+ "description",
1398
+ "id",
1399
+ "message",
1400
+ "references"
1401
+ ]));