@tolgee/core 5.10.2-prerelease.efacb842.0 → 5.10.2
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.
- package/dist/tolgee.cjs.js +12 -24
- package/dist/tolgee.cjs.js.map +1 -1
- package/dist/tolgee.cjs.min.js +1 -1
- package/dist/tolgee.cjs.min.js.map +1 -1
- package/dist/tolgee.esm.js +12 -24
- package/dist/tolgee.esm.js.map +1 -1
- package/dist/tolgee.esm.min.js +1 -1
- package/dist/tolgee.esm.min.js.map +1 -1
- package/dist/tolgee.esm.min.mjs +1 -1
- package/dist/tolgee.esm.min.mjs.map +1 -1
- package/dist/tolgee.esm.mjs +12 -24
- package/dist/tolgee.esm.mjs.map +1 -1
- package/dist/tolgee.umd.js +12 -24
- package/dist/tolgee.umd.js.map +1 -1
- package/dist/tolgee.umd.min.js +1 -1
- package/dist/tolgee.umd.min.js.map +1 -1
- package/lib/Controller/Cache/Cache.d.ts +2 -2
- package/lib/Controller/Controller.d.ts +3 -5
- package/lib/Controller/Events/Events.d.ts +1 -2
- package/lib/Controller/Plugins/Plugins.d.ts +4 -4
- package/lib/Controller/State/State.d.ts +0 -1
- package/lib/Controller/State/initState.d.ts +1 -5
- package/lib/Controller/State/observerOptions.d.ts +0 -4
- package/lib/TolgeeCore.d.ts +3 -2
- package/lib/types/events.d.ts +1 -10
- package/lib/types/general.d.ts +0 -1
- package/lib/types/plugin.d.ts +5 -12
- package/package.json +2 -2
- package/src/Controller/Cache/Cache.ts +4 -3
- package/src/Controller/Controller.ts +1 -10
- package/src/Controller/Events/Events.ts +1 -8
- package/src/Controller/Plugins/Plugins.ts +7 -22
- package/src/Controller/State/initState.ts +0 -7
- package/src/Controller/State/observerOptions.ts +0 -6
- package/src/types/events.ts +1 -17
- package/src/types/general.ts +0 -5
- package/src/types/plugin.ts +3 -17
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CacheDescriptor, CacheDescriptorInternal, CacheDescriptorWithKey, NsFallback, TranslationsFlat, TranslationValue, TreeTranslationsData,
|
|
1
|
+
import { CacheDescriptor, CacheDescriptorInternal, CacheDescriptorWithKey, NsFallback, TranslationsFlat, TranslationValue, TreeTranslationsData, BackendGetRecord, BackendGetDevRecord } from '../../types';
|
|
2
2
|
import { EventEmitterInstance } from '../Events/EventEmitter';
|
|
3
3
|
import { TolgeeStaticData } from '../State/initState';
|
|
4
4
|
import { ValueObserverInstance } from '../ValueObserver';
|
|
5
|
-
export declare function Cache(onCacheChange: EventEmitterInstance<CacheDescriptorWithKey>, backendGetRecord:
|
|
5
|
+
export declare function Cache(onCacheChange: EventEmitterInstance<CacheDescriptorWithKey>, backendGetRecord: BackendGetRecord, backendGetDevRecord: BackendGetDevRecord, withDefaultNs: (descriptor: CacheDescriptor) => CacheDescriptorInternal, isInitialLoading: () => boolean, fetchingObserver: ValueObserverInstance<boolean>, loadingObserver: ValueObserverInstance<boolean>): Readonly<{
|
|
6
6
|
addStaticData(data: TolgeeStaticData | undefined): void;
|
|
7
7
|
invalidate(): void;
|
|
8
8
|
addRecord(descriptor: CacheDescriptorInternal, data: TreeTranslationsData): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CacheDescriptor, NsFallback, TolgeeOptions, TFnType, KeyAndNamespacesInternal
|
|
1
|
+
import { CacheDescriptor, NsFallback, TolgeeOptions, TFnType, KeyAndNamespacesInternal } from '../types';
|
|
2
2
|
declare type StateServiceProps = {
|
|
3
3
|
options?: Partial<TolgeeOptions>;
|
|
4
4
|
};
|
|
@@ -36,8 +36,8 @@ export declare function Controller({ options }: StateServiceProps): Readonly<{
|
|
|
36
36
|
getInitialLanguage: () => string | Promise<string | undefined> | Promise<string | Promise<string | undefined> | undefined> | undefined;
|
|
37
37
|
setStoredLanguage: (language: string) => void;
|
|
38
38
|
getDevBackend: () => import("../types").BackendDevMiddleware | undefined;
|
|
39
|
-
getBackendRecord: import("../types").
|
|
40
|
-
getBackendDevRecord: import("../types").
|
|
39
|
+
getBackendRecord: import("../types").BackendGetRecord;
|
|
40
|
+
getBackendDevRecord: import("../types").BackendGetRecord;
|
|
41
41
|
getLanguageDetector: () => import("../types").LanguageDetectorMiddleware | undefined;
|
|
42
42
|
retranslate: () => void;
|
|
43
43
|
highlight: import("../types").HighlightInterface;
|
|
@@ -76,7 +76,6 @@ export declare function Controller({ options }: StateServiceProps): Readonly<{
|
|
|
76
76
|
observerType: "invisible" | "text";
|
|
77
77
|
observerOptions: import("./State/observerOptions").ObserverOptionsInternal;
|
|
78
78
|
onFormatError: import("../types").OnFormatError;
|
|
79
|
-
fetch: import("../types").FetchFn;
|
|
80
79
|
};
|
|
81
80
|
removeActiveNs: (ns: NsFallback) => void;
|
|
82
81
|
getRequiredNamespaces: () => string[];
|
|
@@ -94,7 +93,6 @@ export declare function Controller({ options }: StateServiceProps): Readonly<{
|
|
|
94
93
|
onRunningChange: import("./Events/EventEmitter").EventEmitterInstance<boolean>;
|
|
95
94
|
onCacheChange: import("./Events/EventEmitter").EventEmitterInstance<import("../types").CacheDescriptorWithKey>;
|
|
96
95
|
onUpdate: import("./Events/EventEmitterSelective").EventEmitterSelectiveInstance;
|
|
97
|
-
onPermanentChange: import("./Events/EventEmitter").EventEmitterInstance<TranslationDescriptor>;
|
|
98
96
|
setEmitterActive: (active: boolean) => void;
|
|
99
97
|
on: import("../types").TolgeeOn<keyof import("../types").EventType>;
|
|
100
98
|
}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CacheDescriptorWithKey, TolgeeOn
|
|
1
|
+
import { CacheDescriptorWithKey, TolgeeOn } from '../../types';
|
|
2
2
|
export declare function Events(getFallbackNs: () => string[], getDefaultNs: () => string): Readonly<{
|
|
3
3
|
onPendingLanguageChange: import("./EventEmitter").EventEmitterInstance<string>;
|
|
4
4
|
onLanguageChange: import("./EventEmitter").EventEmitterInstance<string>;
|
|
@@ -8,7 +8,6 @@ export declare function Events(getFallbackNs: () => string[], getDefaultNs: () =
|
|
|
8
8
|
onRunningChange: import("./EventEmitter").EventEmitterInstance<boolean>;
|
|
9
9
|
onCacheChange: import("./EventEmitter").EventEmitterInstance<CacheDescriptorWithKey>;
|
|
10
10
|
onUpdate: import("./EventEmitterSelective").EventEmitterSelectiveInstance;
|
|
11
|
-
onPermanentChange: import("./EventEmitter").EventEmitterInstance<TranslationDescriptor>;
|
|
12
11
|
setEmitterActive(active: boolean): void;
|
|
13
12
|
on: TolgeeOn<keyof import("../../types").EventType>;
|
|
14
13
|
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BackendDevMiddleware, TranslatePropsInternal, HighlightInterface, LanguageDetectorMiddleware, LanguageStorageMiddleware, ChangeTranslationInterface, WrapperWrapProps, Unwrapped, KeyAndNamespacesInternal, TolgeePlugin, TolgeeInstance, TolgeeOptionsInternal
|
|
2
|
-
export declare function Plugins(getLanguage: () => string | undefined, getInitialOptions: () => TolgeeOptionsInternal, getAvailableLanguages: () => string[] | undefined, getTranslationNs: (props: KeyAndNamespacesInternal) => string[], getTranslation: (props: KeyAndNamespacesInternal) => string | undefined, changeTranslation: ChangeTranslationInterface
|
|
1
|
+
import { BackendDevMiddleware, BackendGetRecord, TranslatePropsInternal, HighlightInterface, LanguageDetectorMiddleware, LanguageStorageMiddleware, ChangeTranslationInterface, WrapperWrapProps, Unwrapped, KeyAndNamespacesInternal, TolgeePlugin, TolgeeInstance, TolgeeOptionsInternal } from '../../types';
|
|
2
|
+
export declare function Plugins(getLanguage: () => string | undefined, getInitialOptions: () => TolgeeOptionsInternal, getAvailableLanguages: () => string[] | undefined, getTranslationNs: (props: KeyAndNamespacesInternal) => string[], getTranslation: (props: KeyAndNamespacesInternal) => string | undefined, changeTranslation: ChangeTranslationInterface): Readonly<{
|
|
3
3
|
addPlugin: (tolgeeInstance: TolgeeInstance, plugin: TolgeePlugin) => void;
|
|
4
4
|
run(): void;
|
|
5
5
|
stop(): void;
|
|
@@ -7,8 +7,8 @@ export declare function Plugins(getLanguage: () => string | undefined, getInitia
|
|
|
7
7
|
getInitialLanguage(): string | Promise<string | undefined> | Promise<string | Promise<string | undefined> | undefined> | undefined;
|
|
8
8
|
setStoredLanguage(language: string): void;
|
|
9
9
|
getDevBackend(): BackendDevMiddleware | undefined;
|
|
10
|
-
getBackendRecord:
|
|
11
|
-
getBackendDevRecord:
|
|
10
|
+
getBackendRecord: BackendGetRecord;
|
|
11
|
+
getBackendDevRecord: BackendGetRecord;
|
|
12
12
|
getLanguageDetector(): LanguageDetectorMiddleware | undefined;
|
|
13
13
|
retranslate(): void;
|
|
14
14
|
highlight: HighlightInterface;
|
|
@@ -26,7 +26,6 @@ export declare function State(onLanguageChange: EventEmitterInstance<string>, on
|
|
|
26
26
|
observerType: "invisible" | "text";
|
|
27
27
|
observerOptions: import("./observerOptions").ObserverOptionsInternal;
|
|
28
28
|
onFormatError: import("../../types").OnFormatError;
|
|
29
|
-
fetch: import("../../types").FetchFn;
|
|
30
29
|
};
|
|
31
30
|
addActiveNs(ns: NsFallback): void;
|
|
32
31
|
removeActiveNs(ns: NsFallback): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FallbackGeneral, FallbackLanguageOption, TreeTranslationsData, OnFormatError
|
|
1
|
+
import { FallbackGeneral, FallbackLanguageOption, TreeTranslationsData, OnFormatError } from '../../types';
|
|
2
2
|
import { ObserverOptions, ObserverOptionsInternal } from './observerOptions';
|
|
3
3
|
export declare const DEFAULT_FORMAT_ERROR = "invalid";
|
|
4
4
|
export declare const DEFAULT_API_URL = "https://app.tolgee.io";
|
|
@@ -71,10 +71,6 @@ export declare type TolgeeOptionsInternal = {
|
|
|
71
71
|
* Define what to display in case of formatting error. (Default: 'invalid')
|
|
72
72
|
*/
|
|
73
73
|
onFormatError: OnFormatError;
|
|
74
|
-
/**
|
|
75
|
-
* Define custom fetch function, used for fetching the translations
|
|
76
|
-
*/
|
|
77
|
-
fetch: FetchFn;
|
|
78
74
|
};
|
|
79
75
|
export declare type TolgeeOptions = Partial<Omit<TolgeeOptionsInternal, 'observerOptions'>> & {
|
|
80
76
|
observerOptions?: ObserverOptions;
|
|
@@ -35,10 +35,6 @@ export declare type ObserverOptionsInternal = {
|
|
|
35
35
|
* Html elements which will pass click listener to their parent (default: ['option', 'optgroup'])
|
|
36
36
|
*/
|
|
37
37
|
passToParent: (keyof HTMLElementTagNameMap)[] | ((node: Element) => boolean);
|
|
38
|
-
/**
|
|
39
|
-
* Encodes full key info into the invisble characters (default: false)
|
|
40
|
-
*/
|
|
41
|
-
fullKeyEncode: boolean;
|
|
42
38
|
};
|
|
43
39
|
export declare type ObserverOptions = Partial<ObserverOptionsInternal>;
|
|
44
40
|
export declare type ModifierKey = 'Alt' | 'Control' | 'Shift' | 'Meta';
|
package/lib/TolgeeCore.d.ts
CHANGED
|
@@ -134,7 +134,9 @@ declare function createTolgee(options: TolgeeOptions): Readonly<{
|
|
|
134
134
|
language?: string | undefined;
|
|
135
135
|
defaultLanguage?: string | undefined;
|
|
136
136
|
availableLanguages?: string[] | undefined;
|
|
137
|
-
fallbackLanguage?: import("./types").FallbackLanguageOption;
|
|
137
|
+
fallbackLanguage?: import("./types").FallbackLanguageOption; /**
|
|
138
|
+
* Turn off/on events emitting. Is on by default.
|
|
139
|
+
*/
|
|
138
140
|
ns?: string[] | undefined;
|
|
139
141
|
fallbackNs?: import("./types").FallbackGeneral;
|
|
140
142
|
defaultNs: string;
|
|
@@ -142,7 +144,6 @@ declare function createTolgee(options: TolgeeOptions): Readonly<{
|
|
|
142
144
|
observerType: "invisible" | "text";
|
|
143
145
|
observerOptions: import("./types").ObserverOptionsInternal;
|
|
144
146
|
onFormatError: import("./types").OnFormatError;
|
|
145
|
-
fetch: import("./types").FetchFn;
|
|
146
147
|
};
|
|
147
148
|
/**
|
|
148
149
|
* Tolgee is in dev mode if `DevTools` plugin is used and `apiKey` + `apiUrl` are specified.
|
package/lib/types/events.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare type ListenerEvent<T> = {
|
|
|
17
17
|
value: T;
|
|
18
18
|
};
|
|
19
19
|
export declare type Listener<T> = (e: ListenerEvent<T>) => void;
|
|
20
|
-
export declare type TolgeeEvent = 'language' | 'pendingLanguage' | 'loading' | 'fetching' | 'initialLoad' | 'running' | 'cache' | 'update'
|
|
20
|
+
export declare type TolgeeEvent = 'language' | 'pendingLanguage' | 'loading' | 'fetching' | 'initialLoad' | 'running' | 'cache' | 'update';
|
|
21
21
|
export interface EventType {
|
|
22
22
|
language: string;
|
|
23
23
|
pendingLanguage: string;
|
|
@@ -27,7 +27,6 @@ export interface EventType {
|
|
|
27
27
|
running: boolean;
|
|
28
28
|
cache: CacheDescriptorWithKey;
|
|
29
29
|
update: void;
|
|
30
|
-
permanentChange: CacheDescriptorWithKey;
|
|
31
30
|
}
|
|
32
31
|
export declare type TolgeeOn<E extends keyof EventType = keyof EventType> = {
|
|
33
32
|
/**
|
|
@@ -63,13 +62,5 @@ export declare type TolgeeOn<E extends keyof EventType = keyof EventType> = {
|
|
|
63
62
|
* Emitted when cache changes.
|
|
64
63
|
*/
|
|
65
64
|
(event: 'cache', handler: Listener<CacheDescriptorWithKey>): Subscription;
|
|
66
|
-
/**
|
|
67
|
-
* Translation was changed or created via dev tools
|
|
68
|
-
*/
|
|
69
|
-
(event: 'permanentChange', handler: Listener<CacheDescriptorWithKey>): Subscription;
|
|
70
65
|
(event: E, handler: unknown): Subscription;
|
|
71
66
|
};
|
|
72
|
-
export declare type TranslationDescriptor = {
|
|
73
|
-
key: string;
|
|
74
|
-
namespace: string | undefined;
|
|
75
|
-
};
|
package/lib/types/general.d.ts
CHANGED
|
@@ -32,5 +32,4 @@ export declare type TFnType<T = DefaultParamType, R = string, K extends string =
|
|
|
32
32
|
(props: TranslateProps<T, K>): R;
|
|
33
33
|
};
|
|
34
34
|
export declare type KeyAndNamespacesInternal = Pick<TranslatePropsInternal, 'key' | 'ns' | 'language'>;
|
|
35
|
-
export declare type FetchFn = (input: string | URL, init?: RequestInit | undefined) => Promise<Response>;
|
|
36
35
|
export {};
|
package/lib/types/plugin.d.ts
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
import { ChangeTranslationInterface, TreeTranslationsData } from './cache';
|
|
2
|
-
import {
|
|
2
|
+
import { NsFallback, NsType, TranslateParams, TranslatePropsInternal } from './general';
|
|
3
3
|
import type { ObserverOptionsInternal } from '../Controller/State/observerOptions';
|
|
4
4
|
import { TolgeeInstance } from '../TolgeeCore';
|
|
5
|
-
import { TranslationDescriptor } from './events';
|
|
6
5
|
export declare type BackendDevProps = {
|
|
7
6
|
apiUrl?: string;
|
|
8
7
|
apiKey?: string;
|
|
9
8
|
projectId?: number | string;
|
|
10
9
|
};
|
|
11
|
-
export declare type CommonProps = {
|
|
12
|
-
fetch: FetchFn;
|
|
13
|
-
};
|
|
14
10
|
export declare type BackendGetRecordProps = {
|
|
15
11
|
language: string;
|
|
16
12
|
namespace?: string;
|
|
17
13
|
};
|
|
18
|
-
export declare type BackendGetRecord = (data: BackendGetRecordProps
|
|
14
|
+
export declare type BackendGetRecord = (data: BackendGetRecordProps) => Promise<TreeTranslationsData | undefined> | undefined;
|
|
19
15
|
export interface BackendMiddleware {
|
|
20
16
|
getRecord: BackendGetRecord;
|
|
21
17
|
}
|
|
22
|
-
export declare type BackendGetDevRecord = (data: BackendGetRecordProps &
|
|
23
|
-
export declare type BackendGetRecordInternal = (data: BackendGetRecordProps & BackendDevProps) => Promise<TreeTranslationsData | undefined> | undefined;
|
|
18
|
+
export declare type BackendGetDevRecord = (data: BackendGetRecordProps & BackendDevProps) => Promise<TreeTranslationsData | undefined> | undefined;
|
|
24
19
|
export declare type BackendDevMiddleware = {
|
|
25
20
|
getRecord: BackendGetDevRecord;
|
|
26
21
|
};
|
|
@@ -61,14 +56,13 @@ export declare type ObserverMiddleware = () => {
|
|
|
61
56
|
};
|
|
62
57
|
export declare type LanguageDetectorProps = {
|
|
63
58
|
availableLanguages: string[];
|
|
64
|
-
fetch: FetchFn;
|
|
65
59
|
};
|
|
66
60
|
export declare type LanguageDetectorMiddleware = {
|
|
67
61
|
getLanguage: (props: LanguageDetectorProps) => string | undefined | Promise<string | undefined>;
|
|
68
62
|
};
|
|
69
63
|
export declare type LanguageStorageMiddleware = {
|
|
70
|
-
getLanguage: (
|
|
71
|
-
setLanguage: (language: string
|
|
64
|
+
getLanguage: () => string | undefined | Promise<string | undefined>;
|
|
65
|
+
setLanguage: (language: string) => void | Promise<void>;
|
|
72
66
|
};
|
|
73
67
|
export declare type DevCredentials = undefined | {
|
|
74
68
|
apiUrl?: string;
|
|
@@ -116,7 +110,6 @@ export declare type UiProps = {
|
|
|
116
110
|
highlight: HighlightInterface;
|
|
117
111
|
findPositions: (key?: string | undefined, ns?: NsFallback) => KeyPosition[];
|
|
118
112
|
changeTranslation: ChangeTranslationInterface;
|
|
119
|
-
onPermanentChange: (props: TranslationDescriptor) => void;
|
|
120
113
|
};
|
|
121
114
|
export declare type UiKeyOption = {
|
|
122
115
|
key: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tolgee/core",
|
|
3
|
-
"version": "5.10.2
|
|
3
|
+
"version": "5.10.2",
|
|
4
4
|
"description": "Library providing ability to translate messages directly in context of developed application.",
|
|
5
5
|
"main": "./dist/tolgee.cjs.js",
|
|
6
6
|
"module": "./dist/tolgee.esm.js",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"access": "public"
|
|
69
69
|
},
|
|
70
70
|
"sideEffects": false,
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "38d4c0acf8a1bb14976fac3b9391afde580ee261"
|
|
72
72
|
}
|
|
@@ -6,7 +6,8 @@ import {
|
|
|
6
6
|
TranslationsFlat,
|
|
7
7
|
TranslationValue,
|
|
8
8
|
TreeTranslationsData,
|
|
9
|
-
|
|
9
|
+
BackendGetRecord,
|
|
10
|
+
BackendGetDevRecord,
|
|
10
11
|
} from '../../types';
|
|
11
12
|
import { getFallbackArray, unique } from '../../helpers';
|
|
12
13
|
import { EventEmitterInstance } from '../Events/EventEmitter';
|
|
@@ -29,8 +30,8 @@ type StateCache = Map<string, CacheRecord>;
|
|
|
29
30
|
|
|
30
31
|
export function Cache(
|
|
31
32
|
onCacheChange: EventEmitterInstance<CacheDescriptorWithKey>,
|
|
32
|
-
backendGetRecord:
|
|
33
|
-
backendGetDevRecord:
|
|
33
|
+
backendGetRecord: BackendGetRecord,
|
|
34
|
+
backendGetDevRecord: BackendGetDevRecord,
|
|
34
35
|
withDefaultNs: (descriptor: CacheDescriptor) => CacheDescriptorInternal,
|
|
35
36
|
isInitialLoading: () => boolean,
|
|
36
37
|
fetchingObserver: ValueObserverInstance<boolean>,
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
TFnType,
|
|
7
7
|
NsType,
|
|
8
8
|
KeyAndNamespacesInternal,
|
|
9
|
-
TranslationDescriptor,
|
|
10
9
|
} from '../types';
|
|
11
10
|
import { Cache } from './Cache/Cache';
|
|
12
11
|
import { getFallbackArray } from '../helpers';
|
|
@@ -45,8 +44,7 @@ export function Controller({ options }: StateServiceProps) {
|
|
|
45
44
|
state.getAvailableLanguages,
|
|
46
45
|
getTranslationNs,
|
|
47
46
|
getTranslation,
|
|
48
|
-
changeTranslation
|
|
49
|
-
onPermanentChange
|
|
47
|
+
changeTranslation
|
|
50
48
|
);
|
|
51
49
|
|
|
52
50
|
const cache = Cache(
|
|
@@ -107,13 +105,6 @@ export function Controller({ options }: StateServiceProps) {
|
|
|
107
105
|
};
|
|
108
106
|
}
|
|
109
107
|
|
|
110
|
-
function onPermanentChange(props: TranslationDescriptor) {
|
|
111
|
-
events.onPermanentChange.emit({
|
|
112
|
-
key: props.key,
|
|
113
|
-
namespace: props.namespace,
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
|
|
117
108
|
function init(options: Partial<TolgeeOptions>) {
|
|
118
109
|
state.init(options);
|
|
119
110
|
cache.addStaticData(state.getInitialOptions().staticData);
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from './EventEmitter';
|
|
2
2
|
import { EventEmitterSelective } from './EventEmitterSelective';
|
|
3
|
-
import {
|
|
4
|
-
CacheDescriptorWithKey,
|
|
5
|
-
TolgeeOn,
|
|
6
|
-
TranslationDescriptor,
|
|
7
|
-
} from '../../types';
|
|
3
|
+
import { CacheDescriptorWithKey, TolgeeOn } from '../../types';
|
|
8
4
|
|
|
9
5
|
export function Events(
|
|
10
6
|
getFallbackNs: () => string[],
|
|
@@ -25,7 +21,6 @@ export function Events(
|
|
|
25
21
|
onRunningChange: EventEmitter<boolean>(isActive),
|
|
26
22
|
onCacheChange: EventEmitter<CacheDescriptorWithKey>(isActive),
|
|
27
23
|
onUpdate: EventEmitterSelective(isActive, getFallbackNs, getDefaultNs),
|
|
28
|
-
onPermanentChange: EventEmitter<TranslationDescriptor>(isActive),
|
|
29
24
|
setEmitterActive(active: boolean) {
|
|
30
25
|
emitterActive = active;
|
|
31
26
|
},
|
|
@@ -47,8 +42,6 @@ export function Events(
|
|
|
47
42
|
return self.onCacheChange.listen(handler as any);
|
|
48
43
|
case 'update':
|
|
49
44
|
return self.onUpdate.listen(handler as any);
|
|
50
|
-
case 'permanentChange':
|
|
51
|
-
return self.onPermanentChange.listen(handler as any);
|
|
52
45
|
}
|
|
53
46
|
}) as TolgeeOn,
|
|
54
47
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getErrorMessage, isPromise, valueOrPromise } from '../../helpers';
|
|
2
2
|
import {
|
|
3
3
|
BackendDevMiddleware,
|
|
4
|
+
BackendGetRecord,
|
|
4
5
|
BackendMiddleware,
|
|
5
6
|
FormatterMiddleware,
|
|
6
7
|
ObserverMiddleware,
|
|
@@ -21,8 +22,6 @@ import {
|
|
|
21
22
|
TolgeeOptionsInternal,
|
|
22
23
|
FormatErrorHandler,
|
|
23
24
|
FindPositionsInterface,
|
|
24
|
-
BackendGetRecordInternal,
|
|
25
|
-
TranslationDescriptor,
|
|
26
25
|
} from '../../types';
|
|
27
26
|
import { DEFAULT_FORMAT_ERROR } from '../State/initState';
|
|
28
27
|
|
|
@@ -32,8 +31,7 @@ export function Plugins(
|
|
|
32
31
|
getAvailableLanguages: () => string[] | undefined,
|
|
33
32
|
getTranslationNs: (props: KeyAndNamespacesInternal) => string[],
|
|
34
33
|
getTranslation: (props: KeyAndNamespacesInternal) => string | undefined,
|
|
35
|
-
changeTranslation: ChangeTranslationInterface
|
|
36
|
-
onPermanentChange: (props: TranslationDescriptor) => void
|
|
34
|
+
changeTranslation: ChangeTranslationInterface
|
|
37
35
|
) {
|
|
38
36
|
const plugins = {
|
|
39
37
|
ui: undefined as UiMiddleware | undefined,
|
|
@@ -83,10 +81,6 @@ export function Plugins(
|
|
|
83
81
|
});
|
|
84
82
|
}
|
|
85
83
|
|
|
86
|
-
function getCommonProps() {
|
|
87
|
-
return { fetch: getInitialOptions().fetch };
|
|
88
|
-
}
|
|
89
|
-
|
|
90
84
|
function setObserver(observer: ObserverMiddleware | undefined) {
|
|
91
85
|
instances.observer = observer?.();
|
|
92
86
|
}
|
|
@@ -132,7 +126,6 @@ export function Plugins(
|
|
|
132
126
|
|
|
133
127
|
return instances.languageDetector.getLanguage({
|
|
134
128
|
availableLanguages,
|
|
135
|
-
...getCommonProps(),
|
|
136
129
|
});
|
|
137
130
|
}
|
|
138
131
|
|
|
@@ -175,7 +168,6 @@ export function Plugins(
|
|
|
175
168
|
highlight: self.highlight,
|
|
176
169
|
changeTranslation,
|
|
177
170
|
findPositions,
|
|
178
|
-
onPermanentChange,
|
|
179
171
|
});
|
|
180
172
|
|
|
181
173
|
instances.observer?.run({
|
|
@@ -197,9 +189,7 @@ export function Plugins(
|
|
|
197
189
|
|
|
198
190
|
getInitialLanguage() {
|
|
199
191
|
const availableLanguages = getAvailableLanguages();
|
|
200
|
-
const languageOrPromise = instances.languageStorage?.getLanguage(
|
|
201
|
-
getCommonProps()
|
|
202
|
-
);
|
|
192
|
+
const languageOrPromise = instances.languageStorage?.getLanguage();
|
|
203
193
|
|
|
204
194
|
return valueOrPromise(languageOrPromise, (language) => {
|
|
205
195
|
if (
|
|
@@ -213,7 +203,7 @@ export function Plugins(
|
|
|
213
203
|
},
|
|
214
204
|
|
|
215
205
|
setStoredLanguage(language: string) {
|
|
216
|
-
instances.languageStorage?.setLanguage(language
|
|
206
|
+
instances.languageStorage?.setLanguage(language);
|
|
217
207
|
},
|
|
218
208
|
|
|
219
209
|
getDevBackend() {
|
|
@@ -222,11 +212,7 @@ export function Plugins(
|
|
|
222
212
|
|
|
223
213
|
getBackendRecord: (({ language, namespace }) => {
|
|
224
214
|
for (const backend of instances.backends) {
|
|
225
|
-
const data = backend.getRecord({
|
|
226
|
-
language,
|
|
227
|
-
namespace,
|
|
228
|
-
...getCommonProps(),
|
|
229
|
-
});
|
|
215
|
+
const data = backend.getRecord({ language, namespace });
|
|
230
216
|
if (isPromise(data)) {
|
|
231
217
|
return data?.catch((e) => {
|
|
232
218
|
// eslint-disable-next-line no-console
|
|
@@ -239,7 +225,7 @@ export function Plugins(
|
|
|
239
225
|
}
|
|
240
226
|
}
|
|
241
227
|
return undefined;
|
|
242
|
-
}) as
|
|
228
|
+
}) as BackendGetRecord,
|
|
243
229
|
|
|
244
230
|
getBackendDevRecord: (({ language, namespace }) => {
|
|
245
231
|
const { apiKey, apiUrl, projectId } = getInitialOptions();
|
|
@@ -249,9 +235,8 @@ export function Plugins(
|
|
|
249
235
|
projectId,
|
|
250
236
|
language,
|
|
251
237
|
namespace,
|
|
252
|
-
...getCommonProps(),
|
|
253
238
|
});
|
|
254
|
-
}) as
|
|
239
|
+
}) as BackendGetRecord,
|
|
255
240
|
|
|
256
241
|
getLanguageDetector() {
|
|
257
242
|
return instances.languageDetector;
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
FallbackLanguageOption,
|
|
4
4
|
TreeTranslationsData,
|
|
5
5
|
OnFormatError,
|
|
6
|
-
FetchFn,
|
|
7
6
|
} from '../../types';
|
|
8
7
|
import { sanitizeUrl } from '../../helpers';
|
|
9
8
|
import {
|
|
@@ -98,11 +97,6 @@ export type TolgeeOptionsInternal = {
|
|
|
98
97
|
* Define what to display in case of formatting error. (Default: 'invalid')
|
|
99
98
|
*/
|
|
100
99
|
onFormatError: OnFormatError;
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Define custom fetch function, used for fetching the translations
|
|
104
|
-
*/
|
|
105
|
-
fetch: FetchFn;
|
|
106
100
|
};
|
|
107
101
|
|
|
108
102
|
export type TolgeeOptions = Partial<
|
|
@@ -126,7 +120,6 @@ const defaultValues: TolgeeOptionsInternal = {
|
|
|
126
120
|
observerType: 'invisible',
|
|
127
121
|
onFormatError: DEFAULT_FORMAT_ERROR,
|
|
128
122
|
apiUrl: DEFAULT_API_URL,
|
|
129
|
-
fetch: (input, options) => fetch(input, options),
|
|
130
123
|
};
|
|
131
124
|
|
|
132
125
|
export const combineOptions = <T extends TolgeeOptions>(
|
|
@@ -43,11 +43,6 @@ export type ObserverOptionsInternal = {
|
|
|
43
43
|
* Html elements which will pass click listener to their parent (default: ['option', 'optgroup'])
|
|
44
44
|
*/
|
|
45
45
|
passToParent: (keyof HTMLElementTagNameMap)[] | ((node: Element) => boolean);
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Encodes full key info into the invisble characters (default: false)
|
|
49
|
-
*/
|
|
50
|
-
fullKeyEncode: boolean;
|
|
51
46
|
};
|
|
52
47
|
|
|
53
48
|
export type ObserverOptions = Partial<ObserverOptionsInternal>;
|
|
@@ -68,5 +63,4 @@ export const defaultObserverOptions: ObserverOptionsInternal = {
|
|
|
68
63
|
inputPrefix: '%-%tolgee:',
|
|
69
64
|
inputSuffix: '%-%',
|
|
70
65
|
passToParent: ['option', 'optgroup'],
|
|
71
|
-
fullKeyEncode: false,
|
|
72
66
|
};
|
package/src/types/events.ts
CHANGED
|
@@ -27,8 +27,7 @@ export type TolgeeEvent =
|
|
|
27
27
|
| 'initialLoad'
|
|
28
28
|
| 'running'
|
|
29
29
|
| 'cache'
|
|
30
|
-
| 'update'
|
|
31
|
-
| 'permanentChange';
|
|
30
|
+
| 'update';
|
|
32
31
|
|
|
33
32
|
export interface EventType {
|
|
34
33
|
language: string;
|
|
@@ -39,7 +38,6 @@ export interface EventType {
|
|
|
39
38
|
running: boolean;
|
|
40
39
|
cache: CacheDescriptorWithKey;
|
|
41
40
|
update: void;
|
|
42
|
-
permanentChange: CacheDescriptorWithKey;
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
export type TolgeeOn<E extends keyof EventType = keyof EventType> = {
|
|
@@ -83,19 +81,5 @@ export type TolgeeOn<E extends keyof EventType = keyof EventType> = {
|
|
|
83
81
|
* Emitted when cache changes.
|
|
84
82
|
*/
|
|
85
83
|
(event: 'cache', handler: Listener<CacheDescriptorWithKey>): Subscription;
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Translation was changed or created via dev tools
|
|
89
|
-
*/
|
|
90
|
-
(
|
|
91
|
-
event: 'permanentChange',
|
|
92
|
-
handler: Listener<CacheDescriptorWithKey>
|
|
93
|
-
): Subscription;
|
|
94
|
-
|
|
95
84
|
(event: E, handler: unknown): Subscription;
|
|
96
85
|
};
|
|
97
|
-
|
|
98
|
-
export type TranslationDescriptor = {
|
|
99
|
-
key: string;
|
|
100
|
-
namespace: string | undefined;
|
|
101
|
-
};
|
package/src/types/general.ts
CHANGED
package/src/types/plugin.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ChangeTranslationInterface, TreeTranslationsData } from './cache';
|
|
2
2
|
import {
|
|
3
|
-
FetchFn,
|
|
4
3
|
NsFallback,
|
|
5
4
|
NsType,
|
|
6
5
|
TranslateParams,
|
|
@@ -8,7 +7,6 @@ import {
|
|
|
8
7
|
} from './general';
|
|
9
8
|
import type { ObserverOptionsInternal } from '../Controller/State/observerOptions';
|
|
10
9
|
import { TolgeeInstance } from '../TolgeeCore';
|
|
11
|
-
import { TranslationDescriptor } from './events';
|
|
12
10
|
|
|
13
11
|
export type BackendDevProps = {
|
|
14
12
|
apiUrl?: string;
|
|
@@ -16,17 +14,13 @@ export type BackendDevProps = {
|
|
|
16
14
|
projectId?: number | string;
|
|
17
15
|
};
|
|
18
16
|
|
|
19
|
-
export type CommonProps = {
|
|
20
|
-
fetch: FetchFn;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
17
|
export type BackendGetRecordProps = {
|
|
24
18
|
language: string;
|
|
25
19
|
namespace?: string;
|
|
26
20
|
};
|
|
27
21
|
|
|
28
22
|
export type BackendGetRecord = (
|
|
29
|
-
data: BackendGetRecordProps
|
|
23
|
+
data: BackendGetRecordProps
|
|
30
24
|
) => Promise<TreeTranslationsData | undefined> | undefined;
|
|
31
25
|
|
|
32
26
|
export interface BackendMiddleware {
|
|
@@ -34,10 +28,6 @@ export interface BackendMiddleware {
|
|
|
34
28
|
}
|
|
35
29
|
|
|
36
30
|
export type BackendGetDevRecord = (
|
|
37
|
-
data: BackendGetRecordProps & CommonProps & BackendDevProps
|
|
38
|
-
) => Promise<TreeTranslationsData | undefined> | undefined;
|
|
39
|
-
|
|
40
|
-
export type BackendGetRecordInternal = (
|
|
41
31
|
data: BackendGetRecordProps & BackendDevProps
|
|
42
32
|
) => Promise<TreeTranslationsData | undefined> | undefined;
|
|
43
33
|
|
|
@@ -92,7 +82,6 @@ export type ObserverMiddleware = () => {
|
|
|
92
82
|
|
|
93
83
|
export type LanguageDetectorProps = {
|
|
94
84
|
availableLanguages: string[];
|
|
95
|
-
fetch: FetchFn;
|
|
96
85
|
};
|
|
97
86
|
|
|
98
87
|
export type LanguageDetectorMiddleware = {
|
|
@@ -102,10 +91,8 @@ export type LanguageDetectorMiddleware = {
|
|
|
102
91
|
};
|
|
103
92
|
|
|
104
93
|
export type LanguageStorageMiddleware = {
|
|
105
|
-
getLanguage: (
|
|
106
|
-
|
|
107
|
-
) => string | undefined | Promise<string | undefined>;
|
|
108
|
-
setLanguage: (language: string, props: CommonProps) => void | Promise<void>;
|
|
94
|
+
getLanguage: () => string | undefined | Promise<string | undefined>;
|
|
95
|
+
setLanguage: (language: string) => void | Promise<void>;
|
|
109
96
|
};
|
|
110
97
|
|
|
111
98
|
export type DevCredentials =
|
|
@@ -163,7 +150,6 @@ export type UiProps = {
|
|
|
163
150
|
highlight: HighlightInterface;
|
|
164
151
|
findPositions: (key?: string | undefined, ns?: NsFallback) => KeyPosition[];
|
|
165
152
|
changeTranslation: ChangeTranslationInterface;
|
|
166
|
-
onPermanentChange: (props: TranslationDescriptor) => void;
|
|
167
153
|
};
|
|
168
154
|
|
|
169
155
|
export type UiKeyOption = {
|