@tolgee/core 4.9.2 → 4.9.3-rc.d287ae9.0

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 (276) hide show
  1. package/dist/tolgee.cjs.js +1127 -7028
  2. package/dist/tolgee.cjs.js.map +1 -1
  3. package/dist/tolgee.cjs.min.js +1 -1
  4. package/dist/tolgee.cjs.min.js.map +1 -1
  5. package/dist/tolgee.esm.min.mjs +1 -1
  6. package/dist/tolgee.esm.min.mjs.map +1 -1
  7. package/dist/tolgee.esm.mjs +1125 -7023
  8. package/dist/tolgee.esm.mjs.map +1 -1
  9. package/dist/tolgee.umd.js +1127 -7028
  10. package/dist/tolgee.umd.js.map +1 -1
  11. package/dist/tolgee.umd.min.js +1 -1
  12. package/dist/tolgee.umd.min.js.map +1 -1
  13. package/lib/Controller/Cache/Cache.d.ts +22 -0
  14. package/lib/Controller/Cache/helpers.d.ts +4 -0
  15. package/lib/Controller/Controller.d.ts +146 -0
  16. package/lib/Controller/Events/EventEmitter.d.ts +6 -0
  17. package/lib/Controller/Events/EventEmitterSelective.d.ts +15 -0
  18. package/lib/Controller/Events/Events.d.ts +50 -0
  19. package/lib/Controller/Plugins/Plugins.d.ts +36 -0
  20. package/lib/Controller/State/State.d.ts +39 -0
  21. package/lib/Controller/State/helpers.d.ts +6 -0
  22. package/lib/Controller/State/initObserverOptions.d.ts +13 -0
  23. package/lib/Controller/State/initState.d.ts +47 -0
  24. package/lib/Controller/ValueObserver.d.ts +5 -0
  25. package/lib/Tolgee.d.ts +2 -68
  26. package/lib/TranslateParams.d.ts +2 -0
  27. package/lib/{Constants/Global.d.ts → constants.d.ts} +1 -2
  28. package/lib/helpers.d.ts +3 -0
  29. package/lib/index.d.ts +3 -8
  30. package/lib/types.d.ts +244 -84
  31. package/package.json +20 -29
  32. package/src/Controller/Cache/Cache.ts +293 -0
  33. package/src/Controller/Cache/helpers.ts +37 -0
  34. package/src/Controller/Controller.ts +310 -0
  35. package/src/Controller/Events/EventEmitter.ts +27 -0
  36. package/src/Controller/Events/EventEmitterSelective.test.ts +125 -0
  37. package/src/Controller/Events/EventEmitterSelective.ts +179 -0
  38. package/src/Controller/Events/Events.ts +66 -0
  39. package/src/Controller/Plugins/Plugins.ts +315 -0
  40. package/src/Controller/State/State.ts +175 -0
  41. package/src/Controller/State/helpers.ts +41 -0
  42. package/src/Controller/State/initObserverOptions.ts +38 -0
  43. package/src/Controller/State/initState.ts +81 -0
  44. package/src/Controller/ValueObserver.ts +23 -0
  45. package/src/Tolgee.ts +79 -330
  46. package/src/TranslateParams.test.ts +41 -0
  47. package/src/TranslateParams.ts +51 -0
  48. package/src/__test/backend.test.ts +48 -0
  49. package/src/__test/cache.test.ts +148 -0
  50. package/src/__test/client.test.ts +48 -0
  51. package/src/__test/events.test.ts +33 -0
  52. package/src/__test/initialization.test.ts +85 -0
  53. package/src/__test/jest-setup.ts +2 -0
  54. package/src/__test/languageDetection.test.ts +129 -0
  55. package/src/__test/languageStorage.test.ts +145 -0
  56. package/src/__test/languages.test.ts +112 -0
  57. package/src/__test/loading.test.ts +39 -0
  58. package/src/__test/namespaces.test.ts +99 -0
  59. package/src/__test/namespacesFallback.test.ts +74 -0
  60. package/src/__test/plugins.test.ts +136 -0
  61. package/src/__test/testTools.ts +7 -0
  62. package/src/{Constants/Global.ts → constants.ts} +1 -3
  63. package/src/helpers.ts +17 -0
  64. package/src/index.ts +9 -8
  65. package/src/types.ts +338 -90
  66. package/README.md +0 -45
  67. package/dist/Constants/Global.d.ts +0 -6
  68. package/dist/Constants/ModifierKey.d.ts +0 -6
  69. package/dist/Errors/ApiHttpError.d.ts +0 -5
  70. package/dist/Observer.d.ts +0 -14
  71. package/dist/Observer.test.d.ts +0 -2
  72. package/dist/Properties.d.ts +0 -17
  73. package/dist/Properties.test.d.ts +0 -1
  74. package/dist/Tolgee.d.ts +0 -68
  75. package/dist/Tolgee.test.d.ts +0 -1
  76. package/dist/TolgeeConfig.d.ts +0 -69
  77. package/dist/TolgeeConfig.test.d.ts +0 -1
  78. package/dist/__integration/FormatterIcu.test.d.ts +0 -1
  79. package/dist/__integration/FormatterMissing.d.ts +0 -1
  80. package/dist/__integration/Tolgee.test.d.ts +0 -1
  81. package/dist/__integration/TolgeeInvisible.test.d.ts +0 -1
  82. package/dist/__integration/mockTranslations.d.ts +0 -7
  83. package/dist/__integration/testConfig.d.ts +0 -9
  84. package/dist/__testFixtures/classMock.d.ts +0 -3
  85. package/dist/__testFixtures/createElement.d.ts +0 -2
  86. package/dist/__testFixtures/createTestDom.d.ts +0 -9
  87. package/dist/__testFixtures/mocked.d.ts +0 -20
  88. package/dist/__testFixtures/setupAfterEnv.d.ts +0 -8
  89. package/dist/helpers/NodeHelper.d.ts +0 -14
  90. package/dist/helpers/TextHelper.d.ts +0 -5
  91. package/dist/helpers/TextHelper.test.d.ts +0 -1
  92. package/dist/helpers/commonTypes.d.ts +0 -2
  93. package/dist/helpers/encoderPolyfill.d.ts +0 -8
  94. package/dist/helpers/secret.d.ts +0 -6
  95. package/dist/helpers/secret.test.d.ts +0 -1
  96. package/dist/helpers/sleep.d.ts +0 -1
  97. package/dist/highlighter/HighlightFunctionsInitializer.d.ts +0 -10
  98. package/dist/highlighter/HighlightFunctionsInitializer.test.d.ts +0 -1
  99. package/dist/highlighter/MouseEventHandler.d.ts +0 -29
  100. package/dist/highlighter/MouseEventHandler.test.d.ts +0 -1
  101. package/dist/highlighter/TranslationHighlighter.d.ts +0 -14
  102. package/dist/highlighter/TranslationHighlighter.test.d.ts +0 -1
  103. package/dist/index.d.ts +0 -10
  104. package/dist/internal.d.ts +0 -2
  105. package/dist/modules/IcuFormatter.d.ts +0 -2
  106. package/dist/modules/IcuFormatter.test.d.ts +0 -1
  107. package/dist/modules/index.d.ts +0 -1
  108. package/dist/services/ApiHttpService.d.ts +0 -15
  109. package/dist/services/CoreService.d.ts +0 -18
  110. package/dist/services/CoreService.test.d.ts +0 -1
  111. package/dist/services/DependencyService.d.ts +0 -39
  112. package/dist/services/DependencyService.test.d.ts +0 -1
  113. package/dist/services/ElementRegistrar.d.ts +0 -19
  114. package/dist/services/ElementRegistrar.test.d.ts +0 -1
  115. package/dist/services/EventEmitter.d.ts +0 -13
  116. package/dist/services/EventService.d.ts +0 -9
  117. package/dist/services/ModuleService.d.ts +0 -5
  118. package/dist/services/ScreenshotService.d.ts +0 -15
  119. package/dist/services/Subscription.d.ts +0 -5
  120. package/dist/services/TextService.d.ts +0 -14
  121. package/dist/services/TextService.test.d.ts +0 -1
  122. package/dist/services/TranslationService.d.ts +0 -75
  123. package/dist/services/TranslationService.test.d.ts +0 -1
  124. package/dist/services/__mocks__/CoreService.d.ts +0 -2
  125. package/dist/toolsManager/Messages.d.ts +0 -8
  126. package/dist/toolsManager/Messages.test.d.ts +0 -1
  127. package/dist/toolsManager/PluginManager.d.ts +0 -21
  128. package/dist/toolsManager/PluginManager.test.d.ts +0 -1
  129. package/dist/types/DTOs.d.ts +0 -20
  130. package/dist/types/apiSchema.generated.d.ts +0 -6185
  131. package/dist/types.d.ts +0 -123
  132. package/dist/wrappers/AbstractWrapper.d.ts +0 -8
  133. package/dist/wrappers/NodeHandler.d.ts +0 -18
  134. package/dist/wrappers/WrappedHandler.d.ts +0 -8
  135. package/dist/wrappers/invisible/AttributeHandler.d.ts +0 -8
  136. package/dist/wrappers/invisible/Coder.d.ts +0 -7
  137. package/dist/wrappers/invisible/ContentHandler.d.ts +0 -6
  138. package/dist/wrappers/invisible/CoreHandler.d.ts +0 -10
  139. package/dist/wrappers/invisible/InvisibleWrapper.d.ts +0 -18
  140. package/dist/wrappers/invisible/ValueMemory.d.ts +0 -5
  141. package/dist/wrappers/invisible/ValueMemory.test.d.ts +0 -1
  142. package/dist/wrappers/text/AttributeHandler.d.ts +0 -8
  143. package/dist/wrappers/text/AttributeHandler.test.d.ts +0 -1
  144. package/dist/wrappers/text/Coder.d.ts +0 -15
  145. package/dist/wrappers/text/Coder.test.d.ts +0 -1
  146. package/dist/wrappers/text/ContentHandler.d.ts +0 -8
  147. package/dist/wrappers/text/ContentHandler.test.d.ts +0 -1
  148. package/dist/wrappers/text/CoreHandler.d.ts +0 -17
  149. package/dist/wrappers/text/CoreHandler.test.d.ts +0 -1
  150. package/dist/wrappers/text/TextWrapper.d.ts +0 -20
  151. package/index.js +0 -7
  152. package/lib/Constants/ModifierKey.d.ts +0 -6
  153. package/lib/Errors/ApiHttpError.d.ts +0 -5
  154. package/lib/Observer.d.ts +0 -14
  155. package/lib/Properties.d.ts +0 -17
  156. package/lib/TolgeeConfig.d.ts +0 -69
  157. package/lib/helpers/NodeHelper.d.ts +0 -14
  158. package/lib/helpers/TextHelper.d.ts +0 -5
  159. package/lib/helpers/commonTypes.d.ts +0 -2
  160. package/lib/helpers/encoderPolyfill.d.ts +0 -8
  161. package/lib/helpers/secret.d.ts +0 -6
  162. package/lib/helpers/sleep.d.ts +0 -1
  163. package/lib/highlighter/HighlightFunctionsInitializer.d.ts +0 -10
  164. package/lib/highlighter/MouseEventHandler.d.ts +0 -29
  165. package/lib/highlighter/TranslationHighlighter.d.ts +0 -14
  166. package/lib/modules/IcuFormatter.d.ts +0 -2
  167. package/lib/modules/index.d.ts +0 -1
  168. package/lib/services/ApiHttpService.d.ts +0 -15
  169. package/lib/services/CoreService.d.ts +0 -18
  170. package/lib/services/DependencyService.d.ts +0 -39
  171. package/lib/services/ElementRegistrar.d.ts +0 -19
  172. package/lib/services/EventEmitter.d.ts +0 -13
  173. package/lib/services/EventService.d.ts +0 -9
  174. package/lib/services/ModuleService.d.ts +0 -5
  175. package/lib/services/ScreenshotService.d.ts +0 -15
  176. package/lib/services/Subscription.d.ts +0 -5
  177. package/lib/services/TextService.d.ts +0 -14
  178. package/lib/services/TranslationService.d.ts +0 -75
  179. package/lib/toolsManager/Messages.d.ts +0 -8
  180. package/lib/toolsManager/PluginManager.d.ts +0 -21
  181. package/lib/types/DTOs.d.ts +0 -20
  182. package/lib/types/apiSchema.generated.d.ts +0 -6185
  183. package/lib/wrappers/AbstractWrapper.d.ts +0 -8
  184. package/lib/wrappers/NodeHandler.d.ts +0 -18
  185. package/lib/wrappers/WrappedHandler.d.ts +0 -8
  186. package/lib/wrappers/invisible/AttributeHandler.d.ts +0 -8
  187. package/lib/wrappers/invisible/Coder.d.ts +0 -7
  188. package/lib/wrappers/invisible/ContentHandler.d.ts +0 -6
  189. package/lib/wrappers/invisible/CoreHandler.d.ts +0 -10
  190. package/lib/wrappers/invisible/InvisibleWrapper.d.ts +0 -18
  191. package/lib/wrappers/invisible/ValueMemory.d.ts +0 -5
  192. package/lib/wrappers/text/AttributeHandler.d.ts +0 -8
  193. package/lib/wrappers/text/Coder.d.ts +0 -15
  194. package/lib/wrappers/text/ContentHandler.d.ts +0 -8
  195. package/lib/wrappers/text/CoreHandler.d.ts +0 -17
  196. package/lib/wrappers/text/TextWrapper.d.ts +0 -20
  197. package/src/Constants/ModifierKey.ts +0 -6
  198. package/src/Errors/ApiHttpError.ts +0 -8
  199. package/src/Observer.test.ts +0 -119
  200. package/src/Observer.ts +0 -68
  201. package/src/Properties.test.ts +0 -150
  202. package/src/Properties.ts +0 -112
  203. package/src/Tolgee.test.ts +0 -473
  204. package/src/TolgeeConfig.test.ts +0 -21
  205. package/src/TolgeeConfig.ts +0 -134
  206. package/src/__integration/FormatterIcu.test.ts +0 -80
  207. package/src/__integration/FormatterMissing.ts +0 -54
  208. package/src/__integration/Tolgee.test.ts +0 -90
  209. package/src/__integration/TolgeeInvisible.test.ts +0 -145
  210. package/src/__integration/mockTranslations.ts +0 -6
  211. package/src/__integration/testConfig.ts +0 -16
  212. package/src/__testFixtures/classMock.ts +0 -11
  213. package/src/__testFixtures/createElement.ts +0 -43
  214. package/src/__testFixtures/createTestDom.ts +0 -26
  215. package/src/__testFixtures/mocked.ts +0 -25
  216. package/src/__testFixtures/setupAfterEnv.ts +0 -34
  217. package/src/helpers/NodeHelper.ts +0 -90
  218. package/src/helpers/TextHelper.test.ts +0 -62
  219. package/src/helpers/TextHelper.ts +0 -58
  220. package/src/helpers/commonTypes.ts +0 -8
  221. package/src/helpers/encoderPolyfill.ts +0 -96
  222. package/src/helpers/secret.test.ts +0 -61
  223. package/src/helpers/secret.ts +0 -68
  224. package/src/helpers/sleep.ts +0 -2
  225. package/src/highlighter/HighlightFunctionsInitializer.test.ts +0 -40
  226. package/src/highlighter/HighlightFunctionsInitializer.ts +0 -61
  227. package/src/highlighter/MouseEventHandler.test.ts +0 -151
  228. package/src/highlighter/MouseEventHandler.ts +0 -191
  229. package/src/highlighter/TranslationHighlighter.test.ts +0 -177
  230. package/src/highlighter/TranslationHighlighter.ts +0 -113
  231. package/src/internal.ts +0 -2
  232. package/src/modules/IcuFormatter.test.ts +0 -21
  233. package/src/modules/IcuFormatter.ts +0 -39
  234. package/src/modules/index.ts +0 -1
  235. package/src/services/ApiHttpService.ts +0 -85
  236. package/src/services/CoreService.test.ts +0 -141
  237. package/src/services/CoreService.ts +0 -76
  238. package/src/services/DependencyService.test.ts +0 -51
  239. package/src/services/DependencyService.ts +0 -116
  240. package/src/services/ElementRegistrar.test.ts +0 -131
  241. package/src/services/ElementRegistrar.ts +0 -108
  242. package/src/services/EventEmitter.ts +0 -52
  243. package/src/services/EventService.ts +0 -14
  244. package/src/services/ModuleService.ts +0 -14
  245. package/src/services/ScreenshotService.ts +0 -31
  246. package/src/services/Subscription.ts +0 -7
  247. package/src/services/TextService.test.ts +0 -88
  248. package/src/services/TextService.ts +0 -82
  249. package/src/services/TranslationService.test.ts +0 -358
  250. package/src/services/TranslationService.ts +0 -417
  251. package/src/services/__mocks__/CoreService.ts +0 -17
  252. package/src/toolsManager/Messages.test.ts +0 -79
  253. package/src/toolsManager/Messages.ts +0 -60
  254. package/src/toolsManager/PluginManager.test.ts +0 -108
  255. package/src/toolsManager/PluginManager.ts +0 -129
  256. package/src/types/DTOs.ts +0 -25
  257. package/src/types/apiSchema.generated.ts +0 -6208
  258. package/src/wrappers/AbstractWrapper.ts +0 -14
  259. package/src/wrappers/NodeHandler.ts +0 -143
  260. package/src/wrappers/WrappedHandler.ts +0 -28
  261. package/src/wrappers/invisible/AttributeHandler.ts +0 -23
  262. package/src/wrappers/invisible/Coder.ts +0 -65
  263. package/src/wrappers/invisible/ContentHandler.ts +0 -15
  264. package/src/wrappers/invisible/CoreHandler.ts +0 -17
  265. package/src/wrappers/invisible/InvisibleWrapper.ts +0 -59
  266. package/src/wrappers/invisible/ValueMemory.test.ts +0 -25
  267. package/src/wrappers/invisible/ValueMemory.ts +0 -16
  268. package/src/wrappers/text/AttributeHandler.test.ts +0 -118
  269. package/src/wrappers/text/AttributeHandler.ts +0 -25
  270. package/src/wrappers/text/Coder.test.ts +0 -298
  271. package/src/wrappers/text/Coder.ts +0 -202
  272. package/src/wrappers/text/ContentHandler.test.ts +0 -185
  273. package/src/wrappers/text/ContentHandler.ts +0 -21
  274. package/src/wrappers/text/CoreHandler.test.ts +0 -106
  275. package/src/wrappers/text/CoreHandler.ts +0 -45
  276. package/src/wrappers/text/TextWrapper.ts +0 -69
@@ -0,0 +1,22 @@
1
+ import { CacheDescriptor, CacheDescriptorInternal, CacheDescriptorWithKey, EventEmitterType, FallbackNSTranslation, Options, TranslationsFlat, TranslationValue, TreeTranslationsData, BackendGetRecord, BackendGetDevRecord } from '../../types';
2
+ import { ValueObserverInstance } from '../ValueObserver';
3
+ export declare const Cache: (onCacheChange: EventEmitterType<CacheDescriptorWithKey>, backendGetRecord: BackendGetRecord, backendGetDevRecord: BackendGetDevRecord, withDefaultNs: (descriptor: CacheDescriptor) => CacheDescriptorInternal, isInitialLoading: () => boolean, fetchingObserver: ValueObserverInstance<boolean>, loadingObserver: ValueObserverInstance<boolean>) => Readonly<{
4
+ addStaticData: (data: Options['staticData']) => void;
5
+ invalidate: () => void;
6
+ addRecord: (descriptor: CacheDescriptorInternal, data: TreeTranslationsData) => void;
7
+ exists: (descriptor: CacheDescriptorInternal, strict?: boolean) => boolean;
8
+ getRecord: (descriptor: CacheDescriptor) => TranslationsFlat | undefined;
9
+ getTranslation: (descriptor: CacheDescriptorInternal, key: string) => TranslationValue;
10
+ getTranslationNs: (namespaces: string[], languages: string[], key: string) => string | string[];
11
+ getTranslationFallback: (namespaces: string[], languages: string[], key: string) => string | undefined;
12
+ changeTranslation: (descriptor: CacheDescriptorInternal, key: string, value: TranslationValue) => void;
13
+ isFetching: (ns?: FallbackNSTranslation) => boolean;
14
+ isLoading: (language: string | undefined, ns?: FallbackNSTranslation) => boolean;
15
+ loadRecords: (descriptors: CacheDescriptor[], isDev: boolean) => Promise<TranslationsFlat[]>;
16
+ getAllRecords: () => {
17
+ data: TranslationsFlat;
18
+ language: string;
19
+ namespace: string;
20
+ }[];
21
+ }>;
22
+ export declare type CacheType = ReturnType<typeof Cache>;
@@ -0,0 +1,4 @@
1
+ import { CacheDescriptorInternal, TreeTranslationsData } from '../../types';
2
+ export declare const flattenTranslations: (data: TreeTranslationsData) => Map<string, string>;
3
+ export declare const decodeCacheKey: (key: string) => CacheDescriptorInternal;
4
+ export declare const encodeCacheKey: ({ language, namespace, }: CacheDescriptorInternal) => string;
@@ -0,0 +1,146 @@
1
+ import { CacheDescriptor, FallbackNSTranslation, Options, TFnType, TranslatePropsInternal } from '../types';
2
+ declare type StateServiceProps = {
3
+ options?: Partial<Options>;
4
+ };
5
+ export declare const Controller: ({ options }: StateServiceProps) => Readonly<{
6
+ init: (options: Partial<Options>) => void;
7
+ changeLanguage: (language: string) => Promise<void>;
8
+ getTranslation: ({ key, ns, }: Pick<TranslatePropsInternal, 'key' | 'ns'>) => string | undefined;
9
+ changeTranslation: (descriptor: CacheDescriptor, key: string, value: string) => {
10
+ revert: () => void;
11
+ };
12
+ addActiveNs: (ns: FallbackNSTranslation, forget?: boolean) => Promise<void>;
13
+ loadRequiredRecords: (lang?: string, ns?: FallbackNSTranslation) => void | Promise<void>;
14
+ loadRecords: (descriptors: CacheDescriptor[]) => Promise<import("../types").TranslationsFlat[]>;
15
+ loadRecord: (descriptor: CacheDescriptor) => Promise<import("../types").TranslationsFlat>;
16
+ isLoading: (ns?: FallbackNSTranslation) => boolean;
17
+ isLoaded: (ns?: FallbackNSTranslation) => boolean;
18
+ t: TFnType<import("../types").DefaultParamType, string>;
19
+ isDev: () => boolean;
20
+ run: () => Promise<void | undefined>;
21
+ stop: () => void;
22
+ addStaticData: (data: {
23
+ [key: string]: import("../types").TreeTranslationsData | (() => Promise<import("../types").TreeTranslationsData>);
24
+ } | undefined) => void;
25
+ invalidate: () => void;
26
+ addRecord: (descriptor: import("../types").CacheDescriptorInternal, data: import("../types").TreeTranslationsData) => void;
27
+ exists: (descriptor: import("../types").CacheDescriptorInternal, strict?: boolean) => boolean;
28
+ getRecord: (descriptor: CacheDescriptor) => import("../types").TranslationsFlat | undefined;
29
+ getTranslationNs: (namespaces: string[], languages: string[], key: string) => string | string[];
30
+ getTranslationFallback: (namespaces: string[], languages: string[], key: string) => string | undefined;
31
+ isFetching: (ns?: FallbackNSTranslation) => boolean;
32
+ getAllRecords: () => {
33
+ data: import("../types").TranslationsFlat;
34
+ language: string;
35
+ namespace: string;
36
+ }[];
37
+ setFinalFormatter: (formatter: import("../types").FinalFormatterInterface | undefined) => void;
38
+ addFormatter: (formatter: import("../types").FormatterInterface | undefined) => void;
39
+ formatTranslation: ({ key, translation, defaultValue, noWrap, params, orEmpty, ns, formatEnabled, }: {
40
+ key: string;
41
+ defaultValue?: string | undefined;
42
+ } & import("../types").TranslateOptions<import("../types").DefaultParamType> & {
43
+ translation?: string | undefined;
44
+ } & {
45
+ formatEnabled?: boolean | undefined;
46
+ }) => string;
47
+ setObserver: (observer: import("../types").ObserverInterface | undefined) => void;
48
+ hasObserver: () => boolean;
49
+ setUi: (ui: import("../types").UiType | undefined) => void;
50
+ hasUi: () => boolean;
51
+ addBackend: (backend: import("../types").BackendInterface | undefined) => void;
52
+ setDevBackend: (backend: import("../types").BackendDevInterface | undefined) => void;
53
+ getDevBackend: () => import("../types").BackendDevInterface | undefined;
54
+ getBackendRecord: import("../types").BackendGetRecord;
55
+ getBackendDevRecord: import("../types").BackendGetRecord;
56
+ setLanguageDetector: (detector: import("../types").LanguageDetectorInterface | undefined) => void;
57
+ getLanguageDetector: () => import("../types").LanguageDetectorInterface | undefined;
58
+ setLanguageStorage: (storage: import("../types").LanguageStorageInterface | undefined) => void;
59
+ getLanguageStorage: () => import("../types").LanguageStorageInterface | undefined;
60
+ getInitialLanguage: () => string | Promise<string | undefined> | Promise<string | Promise<string | undefined> | undefined> | undefined;
61
+ setStoredLanguage: (language: string) => void;
62
+ retranslate: () => void;
63
+ highlight: import("../types").HighlightInterface;
64
+ wrap: (params: import("../types").WrapperWrapProps) => string | undefined;
65
+ unwrap: (text: string) => import("../types").Unwrapped;
66
+ isRunning: () => boolean;
67
+ setRunning: (value: boolean) => void;
68
+ isInitialLoading: () => boolean;
69
+ setInitialLoading: (value: boolean) => void;
70
+ getLanguage: () => string | undefined;
71
+ setLanguage: (language: string) => void;
72
+ getPendingLanguage: () => string | undefined;
73
+ setPendingLanguage: (language: string) => void;
74
+ getInitialOptions: () => {
75
+ apiUrl?: string | undefined;
76
+ apiKey?: string | undefined;
77
+ language?: string | undefined;
78
+ projectId?: number | undefined;
79
+ defaultLanguage?: string | undefined;
80
+ availableLanguages?: string[] | undefined;
81
+ fallbackLanguage?: import("../types").FallbackLanguageOption;
82
+ ns?: string[] | undefined;
83
+ fallbackNs?: import("../types").FallbackGeneral;
84
+ defaultNs: string;
85
+ staticData?: {
86
+ [key: string]: import("../types").TreeTranslationsData | (() => Promise<import("../types").TreeTranslationsData>);
87
+ } | undefined;
88
+ };
89
+ removeActiveNs: (ns: FallbackNSTranslation) => void;
90
+ getRequiredNamespaces: () => string[];
91
+ getFallbackLangs: (lang?: string | undefined) => string[];
92
+ getFallbackNamespaces: () => string[];
93
+ getAvailableLanguages: () => string[] | undefined;
94
+ withDefaultNs: (descriptor: CacheDescriptor) => import("../types").CacheDescriptorInternal;
95
+ overrideCredentials: (credentials: import("../types").DevCredentials) => void;
96
+ setObserverOptions: (options: Partial<import("./State/initObserverOptions").ObserverOptions>) => void;
97
+ getObserverOptions: () => import("./State/initObserverOptions").ObserverOptions;
98
+ onPendingLanguageChange: Readonly<{
99
+ listen: (handler: import("../types").ListenerHandler<string>) => import("../types").Listener;
100
+ emit: (data: string) => void;
101
+ }>;
102
+ onLanguageChange: Readonly<{
103
+ listen: (handler: import("../types").ListenerHandler<string>) => import("../types").Listener;
104
+ emit: (data: string) => void;
105
+ }>;
106
+ onKeyChange: Readonly<{
107
+ listen: (handler: import("../types").ListenerHandler<import("../types").KeyDescriptorInternal>) => import("../types").Listener;
108
+ emit: (data: import("../types").KeyDescriptorInternal) => void;
109
+ }>;
110
+ onKeyUpdate: Readonly<{
111
+ listenSome: (handler: import("../types").ListenerHandler<undefined>) => {
112
+ unsubscribe: () => void;
113
+ subscribeNs: (ns: FallbackNSTranslation) => any;
114
+ unsubscribeNs: (ns: FallbackNSTranslation) => any;
115
+ subscribeKey: (descriptor: import("../types").KeyDescriptor) => any;
116
+ unsubscribeKey: (descriptor: import("../types").KeyDescriptor) => any;
117
+ };
118
+ listen: (handler: import("../types").ListenerHandler<void>) => {
119
+ unsubscribe: () => void;
120
+ };
121
+ emit: (descriptor?: import("../types").KeyDescriptorInternal | undefined, delayed?: boolean | undefined) => void;
122
+ }>;
123
+ onLoadingChange: Readonly<{
124
+ listen: (handler: import("../types").ListenerHandler<boolean>) => import("../types").Listener;
125
+ emit: (data: boolean) => void;
126
+ }>;
127
+ onFetchingChange: Readonly<{
128
+ listen: (handler: import("../types").ListenerHandler<boolean>) => import("../types").Listener;
129
+ emit: (data: boolean) => void;
130
+ }>;
131
+ onInitialLoaded: Readonly<{
132
+ listen: (handler: import("../types").ListenerHandler<void>) => import("../types").Listener;
133
+ emit: (data: void) => void;
134
+ }>;
135
+ onRunningChange: Readonly<{
136
+ listen: (handler: import("../types").ListenerHandler<boolean>) => import("../types").Listener;
137
+ emit: (data: boolean) => void;
138
+ }>;
139
+ onCacheChange: Readonly<{
140
+ listen: (handler: import("../types").ListenerHandler<import("../types").CacheDescriptorWithKey>) => import("../types").Listener;
141
+ emit: (data: import("../types").CacheDescriptorWithKey) => void;
142
+ }>;
143
+ on: import("../types").TolgeeOn;
144
+ }>;
145
+ export declare type StateServiceType = ReturnType<typeof Controller>;
146
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Listener, ListenerHandler } from '../../types';
2
+ export declare const EventEmitter: <T>() => Readonly<{
3
+ listen: (handler: ListenerHandler<T>) => Listener;
4
+ emit: (data: T) => void;
5
+ }>;
6
+ export declare type EventEmitterType<T> = ReturnType<typeof EventEmitter<T>>;
@@ -0,0 +1,15 @@
1
+ import { FallbackNSTranslation, KeyDescriptor, KeyDescriptorInternal, ListenerHandler } from '../../types';
2
+ export declare const EventEmitterSelective: <T>(getFallbackNamespaces: () => string[]) => Readonly<{
3
+ listenSome: (handler: ListenerHandler<undefined>) => {
4
+ unsubscribe: () => void;
5
+ subscribeNs: (ns: FallbackNSTranslation) => any;
6
+ unsubscribeNs: (ns: FallbackNSTranslation) => any;
7
+ subscribeKey: (descriptor: KeyDescriptor) => any;
8
+ unsubscribeKey: (descriptor: KeyDescriptor) => any;
9
+ };
10
+ listen: (handler: ListenerHandler<T>) => {
11
+ unsubscribe: () => void;
12
+ };
13
+ emit: (descriptor?: KeyDescriptorInternal, delayed?: boolean) => void;
14
+ }>;
15
+ export declare type EventEmitterSelectiveType<T> = ReturnType<typeof EventEmitterSelective<T>>;
@@ -0,0 +1,50 @@
1
+ import { CacheDescriptorWithKey, KeyDescriptorInternal, ListenerHandler, TolgeeOn } from '../../types';
2
+ export declare const Events: (getFallbackNamespaces: () => string[]) => Readonly<{
3
+ onPendingLanguageChange: Readonly<{
4
+ listen: (handler: ListenerHandler<string>) => import("../../types").Listener;
5
+ emit: (data: string) => void;
6
+ }>;
7
+ onLanguageChange: Readonly<{
8
+ listen: (handler: ListenerHandler<string>) => import("../../types").Listener;
9
+ emit: (data: string) => void;
10
+ }>;
11
+ onKeyChange: Readonly<{
12
+ listen: (handler: ListenerHandler<KeyDescriptorInternal>) => import("../../types").Listener;
13
+ emit: (data: KeyDescriptorInternal) => void;
14
+ }>;
15
+ onKeyUpdate: Readonly<{
16
+ listenSome: (handler: ListenerHandler<undefined>) => {
17
+ unsubscribe: () => void;
18
+ subscribeNs: (ns: import("../../types").FallbackNSTranslation) => any;
19
+ unsubscribeNs: (ns: import("../../types").FallbackNSTranslation) => any;
20
+ subscribeKey: (descriptor: import("../../types").KeyDescriptor) => any;
21
+ unsubscribeKey: (descriptor: import("../../types").KeyDescriptor) => any;
22
+ };
23
+ listen: (handler: ListenerHandler<void>) => {
24
+ unsubscribe: () => void;
25
+ };
26
+ emit: (descriptor?: KeyDescriptorInternal | undefined, delayed?: boolean | undefined) => void;
27
+ }>;
28
+ onLoadingChange: Readonly<{
29
+ listen: (handler: ListenerHandler<boolean>) => import("../../types").Listener;
30
+ emit: (data: boolean) => void;
31
+ }>;
32
+ onFetchingChange: Readonly<{
33
+ listen: (handler: ListenerHandler<boolean>) => import("../../types").Listener;
34
+ emit: (data: boolean) => void;
35
+ }>;
36
+ onInitialLoaded: Readonly<{
37
+ listen: (handler: ListenerHandler<void>) => import("../../types").Listener;
38
+ emit: (data: void) => void;
39
+ }>;
40
+ onRunningChange: Readonly<{
41
+ listen: (handler: ListenerHandler<boolean>) => import("../../types").Listener;
42
+ emit: (data: boolean) => void;
43
+ }>;
44
+ onCacheChange: Readonly<{
45
+ listen: (handler: ListenerHandler<CacheDescriptorWithKey>) => import("../../types").Listener;
46
+ emit: (data: CacheDescriptorWithKey) => void;
47
+ }>;
48
+ on: TolgeeOn;
49
+ }>;
50
+ export declare type EventServiceType = ReturnType<typeof Events>;
@@ -0,0 +1,36 @@
1
+ import { BackendDevInterface, BackendGetRecord, BackendInterface, FormatterInterface, ObserverInterface, TranslatePropsInternal, UiType, FinalFormatterInterface, HighlightInterface, LanguageDetectorInterface, LanguageStorageInterface, Options, ChangeTranslationInterface, WrapperWrapProps, Unwrapped } from '../../types';
2
+ import { ObserverOptions } from '../State/initObserverOptions';
3
+ export declare const PluginService: (getLanguage: () => string | undefined, getInitialOptions: () => Options, getObserverOptions: () => ObserverOptions, getAvailableLanguages: () => string[] | undefined, getTranslationNs: (props: TranslatePropsInternal) => string[] | string, getTranslation: (props: TranslatePropsInternal) => string | undefined, changeTranslation: ChangeTranslationInterface) => Readonly<{
4
+ setFinalFormatter: (formatter: FinalFormatterInterface | undefined) => void;
5
+ addFormatter: (formatter: FormatterInterface | undefined) => void;
6
+ formatTranslation: ({ key, translation, defaultValue, noWrap, params, orEmpty, ns, formatEnabled, }: {
7
+ key: string;
8
+ defaultValue?: string | undefined;
9
+ } & import("../../types").TranslateOptions<import("../../types").DefaultParamType> & {
10
+ translation?: string | undefined;
11
+ } & {
12
+ formatEnabled?: boolean | undefined;
13
+ }) => string;
14
+ setObserver: (observer: ObserverInterface | undefined) => void;
15
+ hasObserver: () => boolean;
16
+ setUi: (ui: UiType | undefined) => void;
17
+ hasUi: () => boolean;
18
+ addBackend: (backend: BackendInterface | undefined) => void;
19
+ setDevBackend: (backend: BackendDevInterface | undefined) => void;
20
+ getDevBackend: () => BackendDevInterface | undefined;
21
+ getBackendRecord: BackendGetRecord;
22
+ getBackendDevRecord: BackendGetRecord;
23
+ setLanguageDetector: (detector: LanguageDetectorInterface | undefined) => void;
24
+ getLanguageDetector: () => LanguageDetectorInterface | undefined;
25
+ setLanguageStorage: (storage: LanguageStorageInterface | undefined) => void;
26
+ getLanguageStorage: () => LanguageStorageInterface | undefined;
27
+ getInitialLanguage: () => string | Promise<string | undefined> | Promise<string | Promise<string | undefined> | undefined> | undefined;
28
+ setStoredLanguage: (language: string) => void;
29
+ run: (isDev: boolean) => void;
30
+ stop: () => void;
31
+ retranslate: () => void;
32
+ highlight: HighlightInterface;
33
+ wrap: (params: WrapperWrapProps) => string | undefined;
34
+ unwrap: (text: string) => Unwrapped;
35
+ }>;
36
+ export declare type PluginServiceType = ReturnType<typeof PluginService>;
@@ -0,0 +1,39 @@
1
+ import { CacheDescriptor, CacheDescriptorInternal, DevCredentials, EventEmitterType, FallbackNSTranslation } from '../../types';
2
+ import { ObserverOptions } from './initObserverOptions';
3
+ import { Options } from './initState';
4
+ export declare const State: (onLanguageChange: EventEmitterType<string>, onPendingLanguageChange: EventEmitterType<string>, onRunningChange: EventEmitterType<boolean>) => Readonly<{
5
+ init: (options?: Partial<Options>) => void;
6
+ isRunning: () => boolean;
7
+ setRunning: (value: boolean) => void;
8
+ isInitialLoading: () => boolean;
9
+ setInitialLoading: (value: boolean) => void;
10
+ getLanguage: () => string | undefined;
11
+ setLanguage: (language: string) => void;
12
+ getPendingLanguage: () => string | undefined;
13
+ setPendingLanguage: (language: string) => void;
14
+ getInitialOptions: () => {
15
+ apiUrl?: string | undefined;
16
+ apiKey?: string | undefined;
17
+ language?: string | undefined;
18
+ projectId?: number | undefined;
19
+ defaultLanguage?: string | undefined;
20
+ availableLanguages?: string[] | undefined;
21
+ fallbackLanguage?: import("../../types").FallbackLanguageOption;
22
+ ns?: string[] | undefined;
23
+ fallbackNs?: import("../../types").FallbackGeneral;
24
+ defaultNs: string;
25
+ staticData?: {
26
+ [key: string]: import("../../types").TreeTranslationsData | (() => Promise<import("../../types").TreeTranslationsData>);
27
+ } | undefined;
28
+ };
29
+ addActiveNs: (ns: FallbackNSTranslation) => void;
30
+ removeActiveNs: (ns: FallbackNSTranslation) => void;
31
+ getRequiredNamespaces: () => string[];
32
+ getFallbackLangs: (lang?: string) => string[];
33
+ getFallbackNamespaces: () => string[];
34
+ getAvailableLanguages: () => string[] | undefined;
35
+ withDefaultNs: (descriptor: CacheDescriptor) => CacheDescriptorInternal;
36
+ overrideCredentials: (credentials: DevCredentials) => void;
37
+ setObserverOptions: (options: Partial<ObserverOptions>) => void;
38
+ getObserverOptions: () => ObserverOptions;
39
+ }>;
@@ -0,0 +1,6 @@
1
+ import { FallbackGeneral, FallbackLanguageOption } from '../../types';
2
+ export declare function isObject(item: any): boolean;
3
+ export declare function getFallback(value: FallbackGeneral): string[] | undefined;
4
+ export declare function getFallbackArray(value: FallbackGeneral): string[];
5
+ export declare function getFallbackFromStruct(language: string, fallbackLanguage: FallbackLanguageOption): string[];
6
+ export declare function unique<T>(arr: T[]): T[];
@@ -0,0 +1,13 @@
1
+ export declare type ObserverOptions = {
2
+ tagAttributes: Record<string, string[]>;
3
+ highlightKeys: ModifierKey[];
4
+ highlightColor: string;
5
+ highlightWidth: number;
6
+ targetElement?: HTMLElement;
7
+ restrictedElements: string[];
8
+ inputPrefix: string;
9
+ inputSuffix: string;
10
+ passToParent: (keyof HTMLElementTagNameMap)[] | ((node: Element) => boolean);
11
+ };
12
+ export declare type ModifierKey = 'Alt' | 'Control' | 'Shift' | 'Meta';
13
+ export declare const initObserverOptions: (options?: Partial<ObserverOptions>) => ObserverOptions;
@@ -0,0 +1,47 @@
1
+ import { FallbackLanguageOption, FallbackNS, TreeTranslationsData } from '../../types';
2
+ export declare type Options = {
3
+ /**
4
+ * Initial language
5
+ */
6
+ language?: string;
7
+ apiUrl?: string;
8
+ apiKey?: string;
9
+ projectId?: number;
10
+ /**
11
+ * Used when auto detection is not available or is turned off
12
+ */
13
+ defaultLanguage?: string;
14
+ /**
15
+ * Languages which can be used for language detection
16
+ * and also limits which values can be stored
17
+ */
18
+ availableLanguages?: string[];
19
+ /**
20
+ * Language which is used when no translation is available for current one
21
+ */
22
+ fallbackLanguage?: FallbackLanguageOption;
23
+ /**
24
+ * Namespaces which should be always fetched
25
+ */
26
+ ns?: string[];
27
+ /**
28
+ * Namespaces to be used to find translation when no explicit namespace set.
29
+ */
30
+ fallbackNs?: FallbackNS;
31
+ /**
32
+ * Default namespace when no namespace defined (default: '')
33
+ */
34
+ defaultNs: string;
35
+ staticData?: {
36
+ [key: string]: TreeTranslationsData | (() => Promise<TreeTranslationsData>);
37
+ };
38
+ };
39
+ export declare type State = {
40
+ initialOptions: Options;
41
+ activeNamespaces: Map<string, number>;
42
+ language: string | undefined;
43
+ pendingLanguage: string | undefined;
44
+ isInitialLoading: boolean;
45
+ isRunning: boolean;
46
+ };
47
+ export declare const initState: (options?: Partial<Options>, previousState?: State) => State;
@@ -0,0 +1,5 @@
1
+ export declare const ValueObserver: <T = any>(initialValue: T, valueGetter: () => T, handler: (value: T) => void) => Readonly<{
2
+ init: (value: T) => void;
3
+ notify: () => void;
4
+ }>;
5
+ export declare type ValueObserverInstance<T> = ReturnType<typeof ValueObserver<T>>;
package/lib/Tolgee.d.ts CHANGED
@@ -1,68 +1,2 @@
1
- import { TolgeeConfig } from './TolgeeConfig';
2
- import { InstantProps, InstantPropsTags, TolgeeModule, TranslateProps, TranslatePropsTags, TranslationTags, TranslationParams, TranslationParamsTags } from './types';
3
- export declare class Tolgee {
4
- private dependencyService;
5
- private constructor();
6
- get properties(): import("./Properties").Properties;
7
- get lang(): string;
8
- /**
9
- * This sets a new language.
10
- *
11
- * Using this setter can behave buggy when you change languages
12
- * too fast, since it changes the language property before
13
- * translations are actually loaded.
14
- * @deprecated use asynchronous changeLanguage method.
15
- */
16
- set lang(newLanguage: string);
17
- get defaultLanguage(): string;
18
- get onLangChange(): import("./services/EventEmitter").EventEmitter<string>;
19
- get onTranslationChange(): import("./services/EventEmitter").EventEmitter<import(".").TranslationData>;
20
- /**
21
- * Is emitted when language is loaded for the first time
22
- */
23
- get onLangLoaded(): import("./services/EventEmitter").EventEmitter<string>;
24
- /**
25
- * True if loading is needed to wait for Tolgee init.
26
- * When translation data are provided statically (using import
27
- * as staticData config property) then there is no need for translation
28
- * fetching so initial loading is not needed at all.
29
- */
30
- get initialLoading(): boolean;
31
- private get coreService();
32
- static use(module: TolgeeModule): Tolgee;
33
- static init(config: TolgeeConfig): Tolgee;
34
- /**
35
- * Sets the new language.
36
- *
37
- * Emits the onLangChange and onLangChangeAndLoad events after
38
- * the translations are loaded.
39
- *
40
- * @return Promise<void> Resolves when translations are loaded
41
- */
42
- changeLanguage(newLanguage: string): Promise<void>;
43
- use(module: TolgeeModule): this;
44
- init(config: TolgeeConfig): this;
45
- run(): Promise<void>;
46
- refresh(): Promise<void>;
47
- translate(props: TranslateProps): Promise<string>;
48
- translate<T>(props: TranslatePropsTags<T>): Promise<TranslationTags<T>>;
49
- translate(key: string, params?: TranslationParams, noWrap?: boolean, defaultValue?: string): Promise<string>;
50
- translate<T>(key: string, params?: TranslationParamsTags<T>, noWrap?: boolean, defaultValue?: string): Promise<TranslationTags<T>>;
51
- wrap(key: string, params?: TranslationParams, defaultValue?: string | undefined, translation?: string): string;
52
- wrap<T>(key: string, params?: TranslationTags<T>, defaultValue?: string | undefined, translation?: TranslationTags<T>): TranslationTags<T>;
53
- instant(key: string, params?: TranslationParams, noWrap?: boolean, orEmpty?: boolean, defaultValue?: string): string;
54
- instant<T>(key: string, params?: TranslationParamsTags<T>, noWrap?: boolean, orEmpty?: boolean, defaultValue?: string): TranslationTags<T>;
55
- instant(props: InstantProps): string;
56
- instant<T>(props: InstantPropsTags<T>): TranslationTags<T>;
57
- /**
58
- * Get currently cached translations for all languages
59
- */
60
- getCachedTranslations(): Map<string, import("./types").Translations>;
61
- /**
62
- * Loads translations for given language or returns them from cache
63
- * @returns Loaded translations
64
- */
65
- loadTranslations(lang: string): Promise<import("./types").Translations>;
66
- stop: () => void;
67
- private emitLangChangeEvent;
68
- }
1
+ import { Options, TolgeeInstance } from './types';
2
+ export declare const Tolgee: (options?: Partial<Options>) => TolgeeInstance;
@@ -0,0 +1,2 @@
1
+ import { TFnType, TranslateProps } from './types';
2
+ export declare const getTranslateParams: TFnType<any, TranslateProps<any>>;
@@ -1,6 +1,5 @@
1
1
  export declare const RESTRICTED_ASCENDANT_ATTRIBUTE = "data-tolgee-restricted";
2
2
  export declare const TOLGEE_ATTRIBUTE_NAME = "_tolgee";
3
- export declare const TOLGEE_TARGET_ATTRIBUTE = "_tolgee-target";
4
- export declare const TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE = "data-tolgee-key-only";
5
3
  export declare const TOLGEE_HIGHLIGHTER_CLASS = "_tolgee-highlighter";
4
+ export declare const TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE = "data-tolgee-key-only";
6
5
  export declare const DEVTOOLS_ID = "__tolgee_dev_tools";
@@ -0,0 +1,3 @@
1
+ export declare function isPromise(value: any): boolean;
2
+ export declare const valueOrPromise: <T, R>(value: T | Promise<T>, callback: (value: T) => R) => R | Promise<R>;
3
+ export declare const missingOptionError: (option: string) => string;
package/lib/index.d.ts CHANGED
@@ -1,10 +1,5 @@
1
1
  export { Tolgee } from './Tolgee';
2
- export { TolgeeConfig } from './TolgeeConfig';
3
- export { ModifierKey } from './Constants/ModifierKey';
4
- export { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from './Constants/Global';
5
- export * from './modules';
6
- export * from './types/DTOs';
2
+ export { RESTRICTED_ASCENDANT_ATTRIBUTE, DEVTOOLS_ID, TOLGEE_ATTRIBUTE_NAME, TOLGEE_HIGHLIGHTER_CLASS, TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, } from './constants';
7
3
  export * from './types';
8
- export * from './Constants/Global';
9
- export * from './helpers/NodeHelper';
10
- export * from './helpers/TextHelper';
4
+ export { getTranslateParams } from './TranslateParams';
5
+ export { getFallback, getFallbackArray } from './Controller/State/helpers';