@tolgee/core 4.9.2 → 5.0.0-rc.0b3e627.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 (273) hide show
  1. package/dist/tolgee.cjs.js +1069 -7029
  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 +1067 -7024
  8. package/dist/tolgee.esm.mjs.map +1 -1
  9. package/dist/tolgee.umd.js +1069 -7029
  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 +23 -0
  14. package/lib/Controller/Cache/helpers.d.ts +4 -0
  15. package/lib/Controller/Controller.d.ts +93 -0
  16. package/lib/Controller/Plugins/Plugins.d.ts +41 -0
  17. package/lib/Controller/State/State.d.ts +22 -0
  18. package/lib/Controller/State/helpers.d.ts +6 -0
  19. package/lib/Controller/State/initState.d.ts +55 -0
  20. package/lib/Controller/ValueObserver.d.ts +5 -0
  21. package/lib/Events/EventEmitter.d.ts +6 -0
  22. package/lib/Events/EventEmitterSelective.d.ts +15 -0
  23. package/lib/Events/Events.d.ts +50 -0
  24. package/lib/Tolgee.d.ts +2 -68
  25. package/lib/TranslateParams.d.ts +2 -0
  26. package/lib/{Constants/Global.d.ts → constants.d.ts} +1 -2
  27. package/lib/helpers.d.ts +3 -0
  28. package/lib/index.d.ts +3 -8
  29. package/lib/types.d.ts +235 -84
  30. package/package.json +20 -29
  31. package/src/Controller/Cache/Cache.ts +295 -0
  32. package/src/Controller/Cache/helpers.ts +39 -0
  33. package/src/Controller/Controller.ts +289 -0
  34. package/src/Controller/Plugins/Plugins.ts +305 -0
  35. package/src/Controller/State/State.ts +165 -0
  36. package/src/Controller/State/helpers.ts +41 -0
  37. package/src/Controller/State/initState.ts +90 -0
  38. package/src/Controller/ValueObserver.ts +23 -0
  39. package/src/Events/EventEmitter.ts +27 -0
  40. package/src/Events/EventEmitterSelective.test.ts +108 -0
  41. package/src/Events/EventEmitterSelective.ts +160 -0
  42. package/src/Events/Events.ts +66 -0
  43. package/src/Tolgee.ts +75 -333
  44. package/src/TranslateParams.test.ts +41 -0
  45. package/src/TranslateParams.ts +51 -0
  46. package/src/__test/backend.test.ts +48 -0
  47. package/src/__test/client.test.ts +48 -0
  48. package/src/__test/events.test.ts +33 -0
  49. package/src/__test/initialization.test.ts +73 -0
  50. package/src/__test/jest-setup.ts +2 -0
  51. package/src/__test/languageDetection.test.ts +123 -0
  52. package/src/__test/languageStorage.test.ts +145 -0
  53. package/src/__test/languages.test.ts +106 -0
  54. package/src/__test/loading.test.ts +39 -0
  55. package/src/__test/namespaces.test.ts +99 -0
  56. package/src/__test/namespacesFallback.test.ts +73 -0
  57. package/src/__test/plugins.test.ts +98 -0
  58. package/src/__test/testTools.ts +7 -0
  59. package/src/{Constants/Global.ts → constants.ts} +1 -3
  60. package/src/helpers.ts +17 -0
  61. package/src/index.ts +9 -8
  62. package/src/types.ts +324 -90
  63. package/README.md +0 -45
  64. package/dist/Constants/Global.d.ts +0 -6
  65. package/dist/Constants/ModifierKey.d.ts +0 -6
  66. package/dist/Errors/ApiHttpError.d.ts +0 -5
  67. package/dist/Observer.d.ts +0 -14
  68. package/dist/Observer.test.d.ts +0 -2
  69. package/dist/Properties.d.ts +0 -17
  70. package/dist/Properties.test.d.ts +0 -1
  71. package/dist/Tolgee.d.ts +0 -68
  72. package/dist/Tolgee.test.d.ts +0 -1
  73. package/dist/TolgeeConfig.d.ts +0 -69
  74. package/dist/TolgeeConfig.test.d.ts +0 -1
  75. package/dist/__integration/FormatterIcu.test.d.ts +0 -1
  76. package/dist/__integration/FormatterMissing.d.ts +0 -1
  77. package/dist/__integration/Tolgee.test.d.ts +0 -1
  78. package/dist/__integration/TolgeeInvisible.test.d.ts +0 -1
  79. package/dist/__integration/mockTranslations.d.ts +0 -7
  80. package/dist/__integration/testConfig.d.ts +0 -9
  81. package/dist/__testFixtures/classMock.d.ts +0 -3
  82. package/dist/__testFixtures/createElement.d.ts +0 -2
  83. package/dist/__testFixtures/createTestDom.d.ts +0 -9
  84. package/dist/__testFixtures/mocked.d.ts +0 -20
  85. package/dist/__testFixtures/setupAfterEnv.d.ts +0 -8
  86. package/dist/helpers/NodeHelper.d.ts +0 -14
  87. package/dist/helpers/TextHelper.d.ts +0 -5
  88. package/dist/helpers/TextHelper.test.d.ts +0 -1
  89. package/dist/helpers/commonTypes.d.ts +0 -2
  90. package/dist/helpers/encoderPolyfill.d.ts +0 -8
  91. package/dist/helpers/secret.d.ts +0 -6
  92. package/dist/helpers/secret.test.d.ts +0 -1
  93. package/dist/helpers/sleep.d.ts +0 -1
  94. package/dist/highlighter/HighlightFunctionsInitializer.d.ts +0 -10
  95. package/dist/highlighter/HighlightFunctionsInitializer.test.d.ts +0 -1
  96. package/dist/highlighter/MouseEventHandler.d.ts +0 -29
  97. package/dist/highlighter/MouseEventHandler.test.d.ts +0 -1
  98. package/dist/highlighter/TranslationHighlighter.d.ts +0 -14
  99. package/dist/highlighter/TranslationHighlighter.test.d.ts +0 -1
  100. package/dist/index.d.ts +0 -10
  101. package/dist/internal.d.ts +0 -2
  102. package/dist/modules/IcuFormatter.d.ts +0 -2
  103. package/dist/modules/IcuFormatter.test.d.ts +0 -1
  104. package/dist/modules/index.d.ts +0 -1
  105. package/dist/services/ApiHttpService.d.ts +0 -15
  106. package/dist/services/CoreService.d.ts +0 -18
  107. package/dist/services/CoreService.test.d.ts +0 -1
  108. package/dist/services/DependencyService.d.ts +0 -39
  109. package/dist/services/DependencyService.test.d.ts +0 -1
  110. package/dist/services/ElementRegistrar.d.ts +0 -19
  111. package/dist/services/ElementRegistrar.test.d.ts +0 -1
  112. package/dist/services/EventEmitter.d.ts +0 -13
  113. package/dist/services/EventService.d.ts +0 -9
  114. package/dist/services/ModuleService.d.ts +0 -5
  115. package/dist/services/ScreenshotService.d.ts +0 -15
  116. package/dist/services/Subscription.d.ts +0 -5
  117. package/dist/services/TextService.d.ts +0 -14
  118. package/dist/services/TextService.test.d.ts +0 -1
  119. package/dist/services/TranslationService.d.ts +0 -75
  120. package/dist/services/TranslationService.test.d.ts +0 -1
  121. package/dist/services/__mocks__/CoreService.d.ts +0 -2
  122. package/dist/toolsManager/Messages.d.ts +0 -8
  123. package/dist/toolsManager/Messages.test.d.ts +0 -1
  124. package/dist/toolsManager/PluginManager.d.ts +0 -21
  125. package/dist/toolsManager/PluginManager.test.d.ts +0 -1
  126. package/dist/types/DTOs.d.ts +0 -20
  127. package/dist/types/apiSchema.generated.d.ts +0 -6185
  128. package/dist/types.d.ts +0 -123
  129. package/dist/wrappers/AbstractWrapper.d.ts +0 -8
  130. package/dist/wrappers/NodeHandler.d.ts +0 -18
  131. package/dist/wrappers/WrappedHandler.d.ts +0 -8
  132. package/dist/wrappers/invisible/AttributeHandler.d.ts +0 -8
  133. package/dist/wrappers/invisible/Coder.d.ts +0 -7
  134. package/dist/wrappers/invisible/ContentHandler.d.ts +0 -6
  135. package/dist/wrappers/invisible/CoreHandler.d.ts +0 -10
  136. package/dist/wrappers/invisible/InvisibleWrapper.d.ts +0 -18
  137. package/dist/wrappers/invisible/ValueMemory.d.ts +0 -5
  138. package/dist/wrappers/invisible/ValueMemory.test.d.ts +0 -1
  139. package/dist/wrappers/text/AttributeHandler.d.ts +0 -8
  140. package/dist/wrappers/text/AttributeHandler.test.d.ts +0 -1
  141. package/dist/wrappers/text/Coder.d.ts +0 -15
  142. package/dist/wrappers/text/Coder.test.d.ts +0 -1
  143. package/dist/wrappers/text/ContentHandler.d.ts +0 -8
  144. package/dist/wrappers/text/ContentHandler.test.d.ts +0 -1
  145. package/dist/wrappers/text/CoreHandler.d.ts +0 -17
  146. package/dist/wrappers/text/CoreHandler.test.d.ts +0 -1
  147. package/dist/wrappers/text/TextWrapper.d.ts +0 -20
  148. package/index.js +0 -7
  149. package/lib/Constants/ModifierKey.d.ts +0 -6
  150. package/lib/Errors/ApiHttpError.d.ts +0 -5
  151. package/lib/Observer.d.ts +0 -14
  152. package/lib/Properties.d.ts +0 -17
  153. package/lib/TolgeeConfig.d.ts +0 -69
  154. package/lib/helpers/NodeHelper.d.ts +0 -14
  155. package/lib/helpers/TextHelper.d.ts +0 -5
  156. package/lib/helpers/commonTypes.d.ts +0 -2
  157. package/lib/helpers/encoderPolyfill.d.ts +0 -8
  158. package/lib/helpers/secret.d.ts +0 -6
  159. package/lib/helpers/sleep.d.ts +0 -1
  160. package/lib/highlighter/HighlightFunctionsInitializer.d.ts +0 -10
  161. package/lib/highlighter/MouseEventHandler.d.ts +0 -29
  162. package/lib/highlighter/TranslationHighlighter.d.ts +0 -14
  163. package/lib/modules/IcuFormatter.d.ts +0 -2
  164. package/lib/modules/index.d.ts +0 -1
  165. package/lib/services/ApiHttpService.d.ts +0 -15
  166. package/lib/services/CoreService.d.ts +0 -18
  167. package/lib/services/DependencyService.d.ts +0 -39
  168. package/lib/services/ElementRegistrar.d.ts +0 -19
  169. package/lib/services/EventEmitter.d.ts +0 -13
  170. package/lib/services/EventService.d.ts +0 -9
  171. package/lib/services/ModuleService.d.ts +0 -5
  172. package/lib/services/ScreenshotService.d.ts +0 -15
  173. package/lib/services/Subscription.d.ts +0 -5
  174. package/lib/services/TextService.d.ts +0 -14
  175. package/lib/services/TranslationService.d.ts +0 -75
  176. package/lib/toolsManager/Messages.d.ts +0 -8
  177. package/lib/toolsManager/PluginManager.d.ts +0 -21
  178. package/lib/types/DTOs.d.ts +0 -20
  179. package/lib/types/apiSchema.generated.d.ts +0 -6185
  180. package/lib/wrappers/AbstractWrapper.d.ts +0 -8
  181. package/lib/wrappers/NodeHandler.d.ts +0 -18
  182. package/lib/wrappers/WrappedHandler.d.ts +0 -8
  183. package/lib/wrappers/invisible/AttributeHandler.d.ts +0 -8
  184. package/lib/wrappers/invisible/Coder.d.ts +0 -7
  185. package/lib/wrappers/invisible/ContentHandler.d.ts +0 -6
  186. package/lib/wrappers/invisible/CoreHandler.d.ts +0 -10
  187. package/lib/wrappers/invisible/InvisibleWrapper.d.ts +0 -18
  188. package/lib/wrappers/invisible/ValueMemory.d.ts +0 -5
  189. package/lib/wrappers/text/AttributeHandler.d.ts +0 -8
  190. package/lib/wrappers/text/Coder.d.ts +0 -15
  191. package/lib/wrappers/text/ContentHandler.d.ts +0 -8
  192. package/lib/wrappers/text/CoreHandler.d.ts +0 -17
  193. package/lib/wrappers/text/TextWrapper.d.ts +0 -20
  194. package/src/Constants/ModifierKey.ts +0 -6
  195. package/src/Errors/ApiHttpError.ts +0 -8
  196. package/src/Observer.test.ts +0 -119
  197. package/src/Observer.ts +0 -68
  198. package/src/Properties.test.ts +0 -150
  199. package/src/Properties.ts +0 -112
  200. package/src/Tolgee.test.ts +0 -473
  201. package/src/TolgeeConfig.test.ts +0 -21
  202. package/src/TolgeeConfig.ts +0 -134
  203. package/src/__integration/FormatterIcu.test.ts +0 -80
  204. package/src/__integration/FormatterMissing.ts +0 -54
  205. package/src/__integration/Tolgee.test.ts +0 -90
  206. package/src/__integration/TolgeeInvisible.test.ts +0 -145
  207. package/src/__integration/mockTranslations.ts +0 -6
  208. package/src/__integration/testConfig.ts +0 -16
  209. package/src/__testFixtures/classMock.ts +0 -11
  210. package/src/__testFixtures/createElement.ts +0 -43
  211. package/src/__testFixtures/createTestDom.ts +0 -26
  212. package/src/__testFixtures/mocked.ts +0 -25
  213. package/src/__testFixtures/setupAfterEnv.ts +0 -34
  214. package/src/helpers/NodeHelper.ts +0 -90
  215. package/src/helpers/TextHelper.test.ts +0 -62
  216. package/src/helpers/TextHelper.ts +0 -58
  217. package/src/helpers/commonTypes.ts +0 -8
  218. package/src/helpers/encoderPolyfill.ts +0 -96
  219. package/src/helpers/secret.test.ts +0 -61
  220. package/src/helpers/secret.ts +0 -68
  221. package/src/helpers/sleep.ts +0 -2
  222. package/src/highlighter/HighlightFunctionsInitializer.test.ts +0 -40
  223. package/src/highlighter/HighlightFunctionsInitializer.ts +0 -61
  224. package/src/highlighter/MouseEventHandler.test.ts +0 -151
  225. package/src/highlighter/MouseEventHandler.ts +0 -191
  226. package/src/highlighter/TranslationHighlighter.test.ts +0 -177
  227. package/src/highlighter/TranslationHighlighter.ts +0 -113
  228. package/src/internal.ts +0 -2
  229. package/src/modules/IcuFormatter.test.ts +0 -21
  230. package/src/modules/IcuFormatter.ts +0 -39
  231. package/src/modules/index.ts +0 -1
  232. package/src/services/ApiHttpService.ts +0 -85
  233. package/src/services/CoreService.test.ts +0 -141
  234. package/src/services/CoreService.ts +0 -76
  235. package/src/services/DependencyService.test.ts +0 -51
  236. package/src/services/DependencyService.ts +0 -116
  237. package/src/services/ElementRegistrar.test.ts +0 -131
  238. package/src/services/ElementRegistrar.ts +0 -108
  239. package/src/services/EventEmitter.ts +0 -52
  240. package/src/services/EventService.ts +0 -14
  241. package/src/services/ModuleService.ts +0 -14
  242. package/src/services/ScreenshotService.ts +0 -31
  243. package/src/services/Subscription.ts +0 -7
  244. package/src/services/TextService.test.ts +0 -88
  245. package/src/services/TextService.ts +0 -82
  246. package/src/services/TranslationService.test.ts +0 -358
  247. package/src/services/TranslationService.ts +0 -417
  248. package/src/services/__mocks__/CoreService.ts +0 -17
  249. package/src/toolsManager/Messages.test.ts +0 -79
  250. package/src/toolsManager/Messages.ts +0 -60
  251. package/src/toolsManager/PluginManager.test.ts +0 -108
  252. package/src/toolsManager/PluginManager.ts +0 -129
  253. package/src/types/DTOs.ts +0 -25
  254. package/src/types/apiSchema.generated.ts +0 -6208
  255. package/src/wrappers/AbstractWrapper.ts +0 -14
  256. package/src/wrappers/NodeHandler.ts +0 -143
  257. package/src/wrappers/WrappedHandler.ts +0 -28
  258. package/src/wrappers/invisible/AttributeHandler.ts +0 -23
  259. package/src/wrappers/invisible/Coder.ts +0 -65
  260. package/src/wrappers/invisible/ContentHandler.ts +0 -15
  261. package/src/wrappers/invisible/CoreHandler.ts +0 -17
  262. package/src/wrappers/invisible/InvisibleWrapper.ts +0 -59
  263. package/src/wrappers/invisible/ValueMemory.test.ts +0 -25
  264. package/src/wrappers/invisible/ValueMemory.ts +0 -16
  265. package/src/wrappers/text/AttributeHandler.test.ts +0 -118
  266. package/src/wrappers/text/AttributeHandler.ts +0 -25
  267. package/src/wrappers/text/Coder.test.ts +0 -298
  268. package/src/wrappers/text/Coder.ts +0 -202
  269. package/src/wrappers/text/ContentHandler.test.ts +0 -185
  270. package/src/wrappers/text/ContentHandler.ts +0 -21
  271. package/src/wrappers/text/CoreHandler.test.ts +0 -106
  272. package/src/wrappers/text/CoreHandler.ts +0 -45
  273. package/src/wrappers/text/TextWrapper.ts +0 -69
@@ -0,0 +1,23 @@
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: CacheDescriptorInternal) => 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
+ clear: () => void;
17
+ getAllRecords: () => {
18
+ data: TranslationsFlat;
19
+ language: string;
20
+ namespace: string;
21
+ }[];
22
+ }>;
23
+ 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,93 @@
1
+ import type { EventServiceType } from '../Events/Events';
2
+ import { CacheDescriptor, FallbackNSTranslation, Options, TFnType, TranslatePropsInternal } from '../types';
3
+ declare type StateServiceProps = {
4
+ events: EventServiceType;
5
+ options?: Partial<Options>;
6
+ };
7
+ export declare const Controller: ({ events, options }: StateServiceProps) => Readonly<{
8
+ init: (options: Partial<Options>) => void;
9
+ changeLanguage: (language: string) => Promise<void>;
10
+ getTranslation: ({ key, ns, }: Pick<TranslatePropsInternal, 'key' | 'ns'>) => string | undefined;
11
+ changeTranslation: (descriptor: CacheDescriptor, key: string, value: string) => {
12
+ revert: () => void;
13
+ };
14
+ addActiveNs: (ns: FallbackNSTranslation, forget?: boolean) => Promise<void>;
15
+ loadRequiredRecords: (lang?: string, ns?: FallbackNSTranslation) => void | Promise<void>;
16
+ loadRecords: (descriptors: CacheDescriptor[]) => Promise<import("../types").TranslationsFlat[]>;
17
+ loadRecord: (descriptor: CacheDescriptor) => Promise<import("../types").TranslationsFlat>;
18
+ isLoading: (ns?: FallbackNSTranslation) => boolean;
19
+ isLoaded: (ns?: FallbackNSTranslation) => boolean;
20
+ t: TFnType<import("../types").DefaultParamType, string>;
21
+ isDev: () => boolean;
22
+ run: () => Promise<void | undefined>;
23
+ stop: () => void;
24
+ addStaticData: (data: {
25
+ [key: string]: import("../types").TreeTranslationsData | (() => Promise<import("../types").TreeTranslationsData>);
26
+ } | undefined) => void;
27
+ invalidate: () => void;
28
+ addRecord: (descriptor: import("../types").CacheDescriptorInternal, data: import("../types").TreeTranslationsData) => void;
29
+ exists: (descriptor: import("../types").CacheDescriptorInternal, strict?: boolean) => boolean;
30
+ getRecord: (descriptor: import("../types").CacheDescriptorInternal) => import("../types").TranslationsFlat | undefined;
31
+ getTranslationNs: (namespaces: string[], languages: string[], key: string) => string | string[];
32
+ getTranslationFallback: (namespaces: string[], languages: string[], key: string) => string | undefined;
33
+ isFetching: (ns?: FallbackNSTranslation) => boolean;
34
+ clear: () => void;
35
+ getAllRecords: () => {
36
+ data: import("../types").TranslationsFlat;
37
+ language: string;
38
+ namespace: string;
39
+ }[];
40
+ setFinalFormatter: (formatter: import("../types").FinalFormatterInterface | undefined) => void;
41
+ addFormatter: (formatter: import("../types").FormatterInterface | undefined) => void;
42
+ formatTranslation: ({ key, translation, defaultValue, noWrap, params, orEmpty, ns, formatEnabled, }: {
43
+ key: string;
44
+ defaultValue?: string | undefined;
45
+ } & import("../types").TranslateOptions<import("../types").DefaultParamType> & {
46
+ translation?: string | undefined;
47
+ } & {
48
+ formatEnabled?: boolean | undefined;
49
+ }) => string;
50
+ setObserver: (observer: import("../types").ObserverInterface | undefined) => void;
51
+ getObserver: () => {
52
+ unwrap: (text: string) => import("../types").Unwrapped;
53
+ wrap: import("../types").WrapperWrapFunction;
54
+ retranslate: () => void;
55
+ stop: () => void;
56
+ run: (props: import("../types").ObserverRunProps) => void;
57
+ highlight: import("../types").HighlightInterface;
58
+ outputNotFormattable: boolean;
59
+ } | undefined;
60
+ setUi: (ui: import("../types").UiType | undefined) => void;
61
+ getUi: () => import("../types").UiConstructor | undefined;
62
+ addBackend: (backend: import("../types").BackendInterface | undefined) => void;
63
+ setDevBackend: (backend: import("../types").BackendDevInterface | undefined) => void;
64
+ getDevBackend: () => import("../types").BackendDevInterface | undefined;
65
+ getBackendRecord: import("../types").BackendGetRecord;
66
+ getBackendDevRecord: import("../types").BackendGetRecord;
67
+ setLanguageDetector: (detector: import("../types").LanguageDetectorInterface | undefined) => void;
68
+ setLanguageStorage: (storage: import("../types").LanguageStorageInterface | undefined) => void;
69
+ getInitialLanguage: () => string | Promise<string | undefined> | Promise<string | Promise<string | undefined> | undefined> | undefined;
70
+ setStoredLanguage: (language: string) => void;
71
+ retranslate: () => void;
72
+ highlight: import("../types").HighlightInterface;
73
+ wrap: (params: import("../types").WrapperWrapProps) => string | undefined;
74
+ unwrap: (text: string) => import("../types").Unwrapped;
75
+ isRunning: () => boolean;
76
+ setRunning: (value: boolean) => void;
77
+ isInitialLoading: () => boolean;
78
+ setInitialLoading: (value: boolean) => void;
79
+ getLanguage: () => string | undefined;
80
+ getLanguageOrFail: () => string;
81
+ setLanguage: (language: string) => void;
82
+ getPendingLanguage: () => string | undefined;
83
+ setPendingLanguage: (language: string) => void;
84
+ getInitialOptions: () => Options;
85
+ removeActiveNs: (ns: FallbackNSTranslation) => void;
86
+ getRequiredNamespaces: () => string[];
87
+ getFallbackLangs: (lang?: string | undefined) => string[];
88
+ getFallbackNamespaces: () => string[];
89
+ getAvailableLanguages: () => string[] | undefined;
90
+ withDefaultNs: (descriptor: CacheDescriptor) => import("../types").CacheDescriptorInternal;
91
+ }>;
92
+ export declare type StateServiceType = ReturnType<typeof Controller>;
93
+ export {};
@@ -0,0 +1,41 @@
1
+ import { BackendDevInterface, BackendGetRecord, BackendInterface, FormatterInterface, ObserverInterface, TranslatePropsInternal, UiType, FinalFormatterInterface, HighlightInterface, UiConstructor, LanguageDetectorInterface, LanguageStorageInterface, Options, ChangeTranslationInterface, WrapperWrapProps, Unwrapped } from '../../types';
2
+ export declare const PluginService: (getLanguage: () => string | undefined, getInitialOptions: () => Options, getAvailableLanguages: () => string[] | undefined, getTranslationNs: (props: TranslatePropsInternal) => string[] | string, getTranslation: (props: TranslatePropsInternal) => string | undefined, changeTranslation: ChangeTranslationInterface) => Readonly<{
3
+ setFinalFormatter: (formatter: FinalFormatterInterface | undefined) => void;
4
+ addFormatter: (formatter: FormatterInterface | undefined) => void;
5
+ formatTranslation: ({ key, translation, defaultValue, noWrap, params, orEmpty, ns, formatEnabled, }: {
6
+ key: string;
7
+ defaultValue?: string | undefined;
8
+ } & import("../../types").TranslateOptions<import("../../types").DefaultParamType> & {
9
+ translation?: string | undefined;
10
+ } & {
11
+ formatEnabled?: boolean | undefined;
12
+ }) => string;
13
+ setObserver: (observer: ObserverInterface | undefined) => void;
14
+ getObserver: () => {
15
+ unwrap: (text: string) => Unwrapped;
16
+ wrap: import("../../types").WrapperWrapFunction;
17
+ retranslate: () => void;
18
+ stop: () => void;
19
+ run: (props: import("../../types").ObserverRunProps) => void;
20
+ highlight: HighlightInterface;
21
+ outputNotFormattable: boolean;
22
+ } | undefined;
23
+ setUi: (ui: UiType | undefined) => void;
24
+ getUi: () => UiConstructor | undefined;
25
+ addBackend: (backend: BackendInterface | undefined) => void;
26
+ setDevBackend: (backend: BackendDevInterface | undefined) => void;
27
+ getDevBackend: () => BackendDevInterface | undefined;
28
+ getBackendRecord: BackendGetRecord;
29
+ getBackendDevRecord: BackendGetRecord;
30
+ setLanguageDetector: (detector: LanguageDetectorInterface | undefined) => void;
31
+ setLanguageStorage: (storage: LanguageStorageInterface | undefined) => void;
32
+ getInitialLanguage: () => string | Promise<string | undefined> | Promise<string | Promise<string | undefined> | undefined> | undefined;
33
+ setStoredLanguage: (language: string) => void;
34
+ run: () => void;
35
+ stop: () => void;
36
+ retranslate: () => void;
37
+ highlight: HighlightInterface;
38
+ wrap: (params: WrapperWrapProps) => string | undefined;
39
+ unwrap: (text: string) => Unwrapped;
40
+ }>;
41
+ export declare type PluginServiceType = ReturnType<typeof PluginService>;
@@ -0,0 +1,22 @@
1
+ import { CacheDescriptor, CacheDescriptorInternal, EventEmitterType, FallbackNSTranslation } from '../../types';
2
+ import { Options } from './initState';
3
+ export declare const State: (onLanguageChange: EventEmitterType<string>, onPendingLanguageChange: EventEmitterType<string>, onRunningChange: EventEmitterType<boolean>) => Readonly<{
4
+ init: (options?: Partial<Options>) => void;
5
+ isRunning: () => boolean;
6
+ setRunning: (value: boolean) => void;
7
+ isInitialLoading: () => boolean;
8
+ setInitialLoading: (value: boolean) => void;
9
+ getLanguage: () => string | undefined;
10
+ getLanguageOrFail: () => string;
11
+ setLanguage: (language: string) => void;
12
+ getPendingLanguage: () => string | undefined;
13
+ setPendingLanguage: (language: string) => void;
14
+ getInitialOptions: () => Options;
15
+ addActiveNs: (ns: FallbackNSTranslation) => void;
16
+ removeActiveNs: (ns: FallbackNSTranslation) => void;
17
+ getRequiredNamespaces: () => string[];
18
+ getFallbackLangs: (lang?: string) => string[];
19
+ getFallbackNamespaces: () => string[];
20
+ getAvailableLanguages: () => string[] | undefined;
21
+ withDefaultNs: (descriptor: CacheDescriptor) => CacheDescriptorInternal;
22
+ }>;
@@ -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,55 @@
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
+ * Store user language in localStorage (default: true)
25
+ */
26
+ enableLanguageStore?: boolean;
27
+ /**
28
+ * Namespaces which should be always fetched
29
+ */
30
+ ns?: string[];
31
+ /**
32
+ * Namespaces to be used to find translation when no explicit namespace set.
33
+ */
34
+ fallbackNs?: FallbackNS;
35
+ /**
36
+ * Default namespace when no namespace defined (default: '')
37
+ */
38
+ defaultNs: string;
39
+ /**
40
+ * Prefix used for fetching languages (default: 'i18n/')
41
+ */
42
+ filesUrlPrefix: string;
43
+ staticData?: {
44
+ [key: string]: TreeTranslationsData | (() => Promise<TreeTranslationsData>);
45
+ };
46
+ };
47
+ export declare type State = {
48
+ initialOptions: Options;
49
+ activeNamespaces: Map<string, number>;
50
+ language: string | undefined;
51
+ pendingLanguage: string | undefined;
52
+ isInitialLoading: boolean;
53
+ isRunning: boolean;
54
+ };
55
+ 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>>;
@@ -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>() => 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: () => 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>;
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';