@tolgee/core 4.9.2 → 4.9.3-rc.730f576.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 +110 -0
  16. package/lib/Controller/Events/EventEmitter.d.ts +6 -0
  17. package/lib/Controller/Events/EventEmitterSelective.d.ts +7 -0
  18. package/lib/Controller/Events/Events.d.ts +14 -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 +30 -0
  36. package/src/Controller/Events/EventEmitterSelective.test.ts +125 -0
  37. package/src/Controller/Events/EventEmitterSelective.ts +188 -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 +26 -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, EventEmitterInstance, FallbackNSTranslation, Options, TranslationsFlat, TranslationValue, TreeTranslationsData, BackendGetRecord, BackendGetDevRecord } from '../../types';
2
+ import { ValueObserverInstance } from '../ValueObserver';
3
+ export declare const Cache: (onCacheChange: EventEmitterInstance<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,110 @@
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: import("./Events/EventEmitter").EventEmitterInstance<string>;
99
+ onLanguageChange: import("./Events/EventEmitter").EventEmitterInstance<string>;
100
+ onKeyChange: import("./Events/EventEmitter").EventEmitterInstance<import("../types").KeyDescriptorInternal>;
101
+ onKeyUpdate: import("./Events/EventEmitterSelective").EventEmitterSelectiveInstance;
102
+ onLoadingChange: import("./Events/EventEmitter").EventEmitterInstance<boolean>;
103
+ onFetchingChange: import("./Events/EventEmitter").EventEmitterInstance<boolean>;
104
+ onInitialLoaded: import("./Events/EventEmitter").EventEmitterInstance<void>;
105
+ onRunningChange: import("./Events/EventEmitter").EventEmitterInstance<boolean>;
106
+ onCacheChange: import("./Events/EventEmitter").EventEmitterInstance<import("../types").CacheDescriptorWithKey>;
107
+ on: import("../types").TolgeeOn;
108
+ }>;
109
+ export declare type StateServiceType = ReturnType<typeof Controller>;
110
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Listener, ListenerHandler } from '../../types';
2
+ export declare const EventEmitter: <T>() => EventEmitterInstance<T>;
3
+ export declare type EventEmitterInstance<T> = {
4
+ readonly listen: (handler: ListenerHandler<T>) => Listener;
5
+ readonly emit: (data: T) => void;
6
+ };
@@ -0,0 +1,7 @@
1
+ import { KeyDescriptorInternal, Listener, ListenerHandler, ListenerSelective } from '../../types';
2
+ export declare const EventEmitterSelective: (getFallbackNamespaces: () => string[]) => EventEmitterSelectiveInstance;
3
+ export declare type EventEmitterSelectiveInstance = {
4
+ readonly listenSome: (handler: ListenerHandler<undefined>) => ListenerSelective;
5
+ readonly listen: (handler: ListenerHandler<undefined>) => Listener;
6
+ readonly emit: (descriptor?: KeyDescriptorInternal, delayed?: boolean) => void;
7
+ };
@@ -0,0 +1,14 @@
1
+ import { CacheDescriptorWithKey, KeyDescriptorInternal, TolgeeOn } from '../../types';
2
+ export declare const Events: (getFallbackNamespaces: () => string[]) => Readonly<{
3
+ onPendingLanguageChange: import("./EventEmitter").EventEmitterInstance<string>;
4
+ onLanguageChange: import("./EventEmitter").EventEmitterInstance<string>;
5
+ onKeyChange: import("./EventEmitter").EventEmitterInstance<KeyDescriptorInternal>;
6
+ onKeyUpdate: import("./EventEmitterSelective").EventEmitterSelectiveInstance;
7
+ onLoadingChange: import("./EventEmitter").EventEmitterInstance<boolean>;
8
+ onFetchingChange: import("./EventEmitter").EventEmitterInstance<boolean>;
9
+ onInitialLoaded: import("./EventEmitter").EventEmitterInstance<void>;
10
+ onRunningChange: import("./EventEmitter").EventEmitterInstance<boolean>;
11
+ onCacheChange: import("./EventEmitter").EventEmitterInstance<CacheDescriptorWithKey>;
12
+ on: TolgeeOn;
13
+ }>;
14
+ 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, EventEmitterInstance, FallbackNSTranslation } from '../../types';
2
+ import { ObserverOptions } from './initObserverOptions';
3
+ import { Options } from './initState';
4
+ export declare const State: (onLanguageChange: EventEmitterInstance<string>, onPendingLanguageChange: EventEmitterInstance<string>, onRunningChange: EventEmitterInstance<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) => ValueObserverInstance<T>;
2
+ export declare type ValueObserverInstance<T> = {
3
+ readonly init: (value: T) => void;
4
+ readonly notify: () => void;
5
+ };
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';