@lionrapid/core 0.1.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.
- package/README.md +106 -0
- package/dist/base/event-emitter.d.ts +91 -0
- package/dist/base/event-emitter.d.ts.map +1 -0
- package/dist/base/event-emitter.js +330 -0
- package/dist/base/event-emitter.js.map +1 -0
- package/dist/base/index.d.ts +5 -0
- package/dist/base/index.d.ts.map +1 -0
- package/dist/base/index.js +5 -0
- package/dist/base/index.js.map +1 -0
- package/dist/browser/auto-init.d.ts +57 -0
- package/dist/browser/auto-init.d.ts.map +1 -0
- package/dist/browser/auto-init.js +304 -0
- package/dist/browser/auto-init.js.map +1 -0
- package/dist/browser/auto-translator.d.ts +98 -0
- package/dist/browser/auto-translator.d.ts.map +1 -0
- package/dist/browser/auto-translator.js +218 -0
- package/dist/browser/auto-translator.js.map +1 -0
- package/dist/browser/block-extractor.d.ts +26 -0
- package/dist/browser/block-extractor.d.ts.map +1 -0
- package/dist/browser/block-extractor.js +143 -0
- package/dist/browser/block-extractor.js.map +1 -0
- package/dist/browser/dom-observer.d.ts +42 -0
- package/dist/browser/dom-observer.d.ts.map +1 -0
- package/dist/browser/dom-observer.js +109 -0
- package/dist/browser/dom-observer.js.map +1 -0
- package/dist/browser/editor/editor-api.d.ts +67 -0
- package/dist/browser/editor/editor-api.d.ts.map +1 -0
- package/dist/browser/editor/editor-api.js +233 -0
- package/dist/browser/editor/editor-api.js.map +1 -0
- package/dist/browser/editor/editor-init.d.ts +11 -0
- package/dist/browser/editor/editor-init.d.ts.map +1 -0
- package/dist/browser/editor/editor-init.js +181 -0
- package/dist/browser/editor/editor-init.js.map +1 -0
- package/dist/browser/editor/editor-styles.d.ts +6 -0
- package/dist/browser/editor/editor-styles.d.ts.map +1 -0
- package/dist/browser/editor/editor-styles.js +419 -0
- package/dist/browser/editor/editor-styles.js.map +1 -0
- package/dist/browser/editor/inspector.d.ts +22 -0
- package/dist/browser/editor/inspector.d.ts.map +1 -0
- package/dist/browser/editor/inspector.js +125 -0
- package/dist/browser/editor/inspector.js.map +1 -0
- package/dist/browser/editor/key-resolver.d.ts +19 -0
- package/dist/browser/editor/key-resolver.d.ts.map +1 -0
- package/dist/browser/editor/key-resolver.js +49 -0
- package/dist/browser/editor/key-resolver.js.map +1 -0
- package/dist/browser/editor/live-preview.d.ts +10 -0
- package/dist/browser/editor/live-preview.d.ts.map +1 -0
- package/dist/browser/editor/live-preview.js +57 -0
- package/dist/browser/editor/live-preview.js.map +1 -0
- package/dist/browser/editor/sidebar.d.ts +50 -0
- package/dist/browser/editor/sidebar.d.ts.map +1 -0
- package/dist/browser/editor/sidebar.js +353 -0
- package/dist/browser/editor/sidebar.js.map +1 -0
- package/dist/browser/editor/toolbar.d.ts +29 -0
- package/dist/browser/editor/toolbar.d.ts.map +1 -0
- package/dist/browser/editor/toolbar.js +131 -0
- package/dist/browser/editor/toolbar.js.map +1 -0
- package/dist/browser/exclude-filter.d.ts +21 -0
- package/dist/browser/exclude-filter.d.ts.map +1 -0
- package/dist/browser/exclude-filter.js +51 -0
- package/dist/browser/exclude-filter.js.map +1 -0
- package/dist/browser/index.d.ts +32 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +28 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/language-switcher.d.ts +70 -0
- package/dist/browser/language-switcher.d.ts.map +1 -0
- package/dist/browser/language-switcher.js +339 -0
- package/dist/browser/language-switcher.js.map +1 -0
- package/dist/browser/lionrapid.auto.dev.js +5757 -0
- package/dist/browser/lionrapid.auto.dev.js.map +7 -0
- package/dist/browser/lionrapid.auto.js +5757 -0
- package/dist/browser/lionrapid.auto.js.map +7 -0
- package/dist/browser/lionrapid.auto.min.js +80 -0
- package/dist/browser/lionrapid.auto.min.js.map +7 -0
- package/dist/browser/lionrapid.editor.js +1869 -0
- package/dist/browser/lionrapid.editor.js.map +7 -0
- package/dist/browser/lionrapid.editor.min.js +415 -0
- package/dist/browser/lionrapid.editor.min.js.map +7 -0
- package/dist/browser/lionrapid.esm.js +4786 -0
- package/dist/browser/lionrapid.esm.js.map +7 -0
- package/dist/browser/lionrapid.esm.min.js +3 -0
- package/dist/browser/lionrapid.esm.min.js.map +7 -0
- package/dist/browser/lionrapid.iife.dev.js +4809 -0
- package/dist/browser/lionrapid.iife.dev.js.map +7 -0
- package/dist/browser/lionrapid.iife.js +4809 -0
- package/dist/browser/lionrapid.iife.js.map +7 -0
- package/dist/browser/lionrapid.iife.min.js +3 -0
- package/dist/browser/lionrapid.iife.min.js.map +7 -0
- package/dist/browser/lionrapid.umd.js +4822 -0
- package/dist/browser/lionrapid.umd.js.map +7 -0
- package/dist/browser/lionrapid.umd.min.js +18 -0
- package/dist/browser/lionrapid.umd.min.js.map +7 -0
- package/dist/browser/markup-parser.d.ts +13 -0
- package/dist/browser/markup-parser.d.ts.map +1 -0
- package/dist/browser/markup-parser.js +56 -0
- package/dist/browser/markup-parser.js.map +1 -0
- package/dist/browser/md5.d.ts +16 -0
- package/dist/browser/md5.d.ts.map +1 -0
- package/dist/browser/md5.js +145 -0
- package/dist/browser/md5.js.map +1 -0
- package/dist/browser/storage/cache-storage-repository.d.ts +44 -0
- package/dist/browser/storage/cache-storage-repository.d.ts.map +1 -0
- package/dist/browser/storage/cache-storage-repository.js +186 -0
- package/dist/browser/storage/cache-storage-repository.js.map +1 -0
- package/dist/browser/storage/localstorage-repository.d.ts +51 -0
- package/dist/browser/storage/localstorage-repository.d.ts.map +1 -0
- package/dist/browser/storage/localstorage-repository.js +270 -0
- package/dist/browser/storage/localstorage-repository.js.map +1 -0
- package/dist/builder.d.ts +24 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +169 -0
- package/dist/builder.js.map +1 -0
- package/dist/cache/CacheManager.d.ts +132 -0
- package/dist/cache/CacheManager.d.ts.map +1 -0
- package/dist/cache/CacheManager.js +277 -0
- package/dist/cache/CacheManager.js.map +1 -0
- package/dist/cache/index.d.ts +6 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/lionrapid.config.d.ts +12 -0
- package/dist/config/lionrapid.config.d.ts.map +1 -0
- package/dist/config/lionrapid.config.js +2 -0
- package/dist/config/lionrapid.config.js.map +1 -0
- package/dist/config/logger.config.d.ts +19 -0
- package/dist/config/logger.config.d.ts.map +1 -0
- package/dist/config/logger.config.js +9 -0
- package/dist/config/logger.config.js.map +1 -0
- package/dist/config/repository.config.d.ts +87 -0
- package/dist/config/repository.config.d.ts.map +1 -0
- package/dist/config/repository.config.js +5 -0
- package/dist/config/repository.config.js.map +1 -0
- package/dist/content/index.d.ts +20 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +13 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/parser/IParser.d.ts +33 -0
- package/dist/content/parser/IParser.d.ts.map +1 -0
- package/dist/content/parser/IParser.js +6 -0
- package/dist/content/parser/IParser.js.map +1 -0
- package/dist/content/parser/MarkupParser.d.ts +67 -0
- package/dist/content/parser/MarkupParser.d.ts.map +1 -0
- package/dist/content/parser/MarkupParser.js +231 -0
- package/dist/content/parser/MarkupParser.js.map +1 -0
- package/dist/content/serializer/HTMLSerializer.d.ts +61 -0
- package/dist/content/serializer/HTMLSerializer.d.ts.map +1 -0
- package/dist/content/serializer/HTMLSerializer.js +100 -0
- package/dist/content/serializer/HTMLSerializer.js.map +1 -0
- package/dist/content/serializer/ISerializer.d.ts +33 -0
- package/dist/content/serializer/ISerializer.d.ts.map +1 -0
- package/dist/content/serializer/ISerializer.js +6 -0
- package/dist/content/serializer/ISerializer.js.map +1 -0
- package/dist/content/style-mapper/DefaultStyleMapper.d.ts +59 -0
- package/dist/content/style-mapper/DefaultStyleMapper.d.ts.map +1 -0
- package/dist/content/style-mapper/DefaultStyleMapper.js +128 -0
- package/dist/content/style-mapper/DefaultStyleMapper.js.map +1 -0
- package/dist/content/style-mapper/IStyleMapper.d.ts +50 -0
- package/dist/content/style-mapper/IStyleMapper.d.ts.map +1 -0
- package/dist/content/style-mapper/IStyleMapper.js +6 -0
- package/dist/content/style-mapper/IStyleMapper.js.map +1 -0
- package/dist/content/types.d.ts +39 -0
- package/dist/content/types.d.ts.map +1 -0
- package/dist/content/types.js +6 -0
- package/dist/content/types.js.map +1 -0
- package/dist/content/validator/ContentValidator.d.ts +57 -0
- package/dist/content/validator/ContentValidator.d.ts.map +1 -0
- package/dist/content/validator/ContentValidator.js +215 -0
- package/dist/content/validator/ContentValidator.js.map +1 -0
- package/dist/content/validator/IValidator.d.ts +82 -0
- package/dist/content/validator/IValidator.d.ts.map +1 -0
- package/dist/content/validator/IValidator.js +6 -0
- package/dist/content/validator/IValidator.js.map +1 -0
- package/dist/errors/translation-errors.d.ts +55 -0
- package/dist/errors/translation-errors.d.ts.map +1 -0
- package/dist/errors/translation-errors.js +85 -0
- package/dist/errors/translation-errors.js.map +1 -0
- package/dist/handlers/async-storage-handler.d.ts +77 -0
- package/dist/handlers/async-storage-handler.d.ts.map +1 -0
- package/dist/handlers/async-storage-handler.js +239 -0
- package/dist/handlers/async-storage-handler.js.map +1 -0
- package/dist/handlers/handler-chain.d.ts +79 -0
- package/dist/handlers/handler-chain.d.ts.map +1 -0
- package/dist/handlers/handler-chain.js +366 -0
- package/dist/handlers/handler-chain.js.map +1 -0
- package/dist/handlers/index.d.ts +7 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +7 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/network-handler.d.ts +90 -0
- package/dist/handlers/network-handler.d.ts.map +1 -0
- package/dist/handlers/network-handler.js +283 -0
- package/dist/handlers/network-handler.js.map +1 -0
- package/dist/handlers/sync-storage-handler.d.ts +88 -0
- package/dist/handlers/sync-storage-handler.d.ts.map +1 -0
- package/dist/handlers/sync-storage-handler.js +270 -0
- package/dist/handlers/sync-storage-handler.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/emitter.interface.d.ts +33 -0
- package/dist/interfaces/emitter.interface.d.ts.map +1 -0
- package/dist/interfaces/emitter.interface.js +2 -0
- package/dist/interfaces/emitter.interface.js.map +1 -0
- package/dist/interfaces/handler.interface.d.ts +50 -0
- package/dist/interfaces/handler.interface.d.ts.map +1 -0
- package/dist/interfaces/handler.interface.js +5 -0
- package/dist/interfaces/handler.interface.js.map +1 -0
- package/dist/interfaces/index.d.ts +8 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +8 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/plugin.interface.d.ts +49 -0
- package/dist/interfaces/plugin.interface.d.ts.map +1 -0
- package/dist/interfaces/plugin.interface.js +6 -0
- package/dist/interfaces/plugin.interface.js.map +1 -0
- package/dist/interfaces/repository.interface.d.ts +56 -0
- package/dist/interfaces/repository.interface.d.ts.map +1 -0
- package/dist/interfaces/repository.interface.js +2 -0
- package/dist/interfaces/repository.interface.js.map +1 -0
- package/dist/lionRapid.d.ts +225 -0
- package/dist/lionRapid.d.ts.map +1 -0
- package/dist/lionRapid.js +596 -0
- package/dist/lionRapid.js.map +1 -0
- package/dist/repositories/index.d.ts +3 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/index.js +3 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/memory-repository.d.ts +30 -0
- package/dist/repositories/memory-repository.d.ts.map +1 -0
- package/dist/repositories/memory-repository.js +100 -0
- package/dist/repositories/memory-repository.js.map +1 -0
- package/dist/repositories/network-repository.d.ts +138 -0
- package/dist/repositories/network-repository.d.ts.map +1 -0
- package/dist/repositories/network-repository.js +516 -0
- package/dist/repositories/network-repository.js.map +1 -0
- package/dist/sync/missing-translation-queue.d.ts +64 -0
- package/dist/sync/missing-translation-queue.d.ts.map +1 -0
- package/dist/sync/missing-translation-queue.js +184 -0
- package/dist/sync/missing-translation-queue.js.map +1 -0
- package/dist/types/cache.types.d.ts +62 -0
- package/dist/types/cache.types.d.ts.map +1 -0
- package/dist/types/cache.types.js +6 -0
- package/dist/types/cache.types.js.map +1 -0
- package/dist/types/event-payloads.types.d.ts +46 -0
- package/dist/types/event-payloads.types.d.ts.map +1 -0
- package/dist/types/event-payloads.types.js +6 -0
- package/dist/types/event-payloads.types.js.map +1 -0
- package/dist/types/generated.types.d.ts +31 -0
- package/dist/types/generated.types.d.ts.map +1 -0
- package/dist/types/generated.types.js +6 -0
- package/dist/types/generated.types.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lionRapid.types.d.ts +169 -0
- package/dist/types/lionRapid.types.d.ts.map +1 -0
- package/dist/types/lionRapid.types.js +8 -0
- package/dist/types/lionRapid.types.js.map +1 -0
- package/dist/types/parameters.types.d.ts +36 -0
- package/dist/types/parameters.types.d.ts.map +1 -0
- package/dist/types/parameters.types.js +6 -0
- package/dist/types/parameters.types.js.map +1 -0
- package/dist/types/translation-data.types.d.ts +54 -0
- package/dist/types/translation-data.types.d.ts.map +1 -0
- package/dist/types/translation-data.types.js +6 -0
- package/dist/types/translation-data.types.js.map +1 -0
- package/dist/types/translation.types.d.ts +94 -0
- package/dist/types/translation.types.d.ts.map +1 -0
- package/dist/types/translation.types.js +5 -0
- package/dist/types/translation.types.js.map +1 -0
- package/dist/utils/context-utils.d.ts +23 -0
- package/dist/utils/context-utils.d.ts.map +1 -0
- package/dist/utils/context-utils.js +36 -0
- package/dist/utils/context-utils.js.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +229 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +345 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/namespace-utils.d.ts +30 -0
- package/dist/utils/namespace-utils.d.ts.map +1 -0
- package/dist/utils/namespace-utils.js +56 -0
- package/dist/utils/namespace-utils.js.map +1 -0
- package/dist/utils/translation-flow.d.ts +18 -0
- package/dist/utils/translation-flow.d.ts.map +1 -0
- package/dist/utils/translation-flow.js +74 -0
- package/dist/utils/translation-flow.js.map +1 -0
- package/dist/utils/translation-value-utils.d.ts +57 -0
- package/dist/utils/translation-value-utils.d.ts.map +1 -0
- package/dist/utils/translation-value-utils.js +194 -0
- package/dist/utils/translation-value-utils.js.map +1 -0
- package/package.json +76 -0
package/README.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# @lionrapid/core
|
|
2
|
+
|
|
3
|
+
Core translation engine for LionRapid. TypeScript-first i18n with multi-layer caching, server sync, and browser auto-translation.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @lionrapid/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Developer mode (npm)
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { LionRapidBuilder, MemoryRepository, NetworkRepository } from '@lionrapid/core';
|
|
17
|
+
|
|
18
|
+
const lionRapid = await LionRapidBuilder.init({
|
|
19
|
+
defaultLocale: 'en',
|
|
20
|
+
namespace: 'app',
|
|
21
|
+
})
|
|
22
|
+
.use(new MemoryRepository({ enabled: true }))
|
|
23
|
+
.use(new NetworkRepository({
|
|
24
|
+
enabled: true,
|
|
25
|
+
options: { baseUrl: 'https://api.lionrapid.com' },
|
|
26
|
+
}))
|
|
27
|
+
.build();
|
|
28
|
+
|
|
29
|
+
// Translate
|
|
30
|
+
const text = lionRapid.t('welcome', 'Welcome!');
|
|
31
|
+
|
|
32
|
+
// With parameters (ICU MessageFormat)
|
|
33
|
+
const greeting = lionRapid.t('greeting', { name: 'John' });
|
|
34
|
+
|
|
35
|
+
// Change language
|
|
36
|
+
await lionRapid.changeLanguage('es');
|
|
37
|
+
|
|
38
|
+
// Get current locale
|
|
39
|
+
const locale = lionRapid.getCurrentLocale(); // 'es'
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Auto-init mode (script tag)
|
|
43
|
+
|
|
44
|
+
No build step required. Add to any HTML page:
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<script
|
|
48
|
+
src="https://cdn.lionrapid.com/lionrapid.auto.min.js"
|
|
49
|
+
data-api-key="pk_eng_xxx"
|
|
50
|
+
data-base-url="https://api.lionrapid.com"
|
|
51
|
+
data-default-locale="en"
|
|
52
|
+
data-languages="en,es,fr"
|
|
53
|
+
data-mode="full"
|
|
54
|
+
async
|
|
55
|
+
></script>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Auto-init scans the DOM, extracts text blocks, fetches translations, and applies them in-place. Includes a floating language switcher.
|
|
59
|
+
|
|
60
|
+
## Features
|
|
61
|
+
|
|
62
|
+
- **Multi-layer cache**: Memory (sync) -> LocalStorage -> Cache API -> Network
|
|
63
|
+
- **Auto-sync missing keys**: Batched POST of untranslated content to your backend
|
|
64
|
+
- **ICU MessageFormat**: Plurals, select, date/time, number formatting (via `@lionrapid/formatters` plugin)
|
|
65
|
+
- **Event-driven**: Subscribe to `language:change:success`, `repo:set:success`, and more
|
|
66
|
+
- **Block-level translation**: ContentUnit format preserves inline styles (`<1>bold</1>`)
|
|
67
|
+
- **Visual editor**: Built-in editor activated via `?__lr_editor=grant_xxx` query param
|
|
68
|
+
- **Tree-shakable**: Import only what you use
|
|
69
|
+
|
|
70
|
+
## API
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
// Translation
|
|
74
|
+
t(key: string, fallback?: string): string
|
|
75
|
+
t(key: string, params: Record<string, unknown>, fallback?: string): string
|
|
76
|
+
|
|
77
|
+
// Language
|
|
78
|
+
await lionRapid.changeLanguage('fr');
|
|
79
|
+
lionRapid.getCurrentLocale(); // 'fr'
|
|
80
|
+
|
|
81
|
+
// Events
|
|
82
|
+
lionRapid.bus.on('language:change:success', (envelope) => {
|
|
83
|
+
console.log(envelope.payload.newLocale);
|
|
84
|
+
});
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Browser Bundles
|
|
88
|
+
|
|
89
|
+
| Bundle | Use case |
|
|
90
|
+
|--------|----------|
|
|
91
|
+
| `lionrapid.auto.min.js` | Script tag auto-translation |
|
|
92
|
+
| `lionrapid.iife.min.js` | Script tag (developer mode) |
|
|
93
|
+
| `lionrapid.esm.min.js` | ES modules |
|
|
94
|
+
| `lionrapid.umd.min.js` | Universal (CommonJS + AMD) |
|
|
95
|
+
| `lionrapid.editor.min.js` | Visual editor (lazy-loaded) |
|
|
96
|
+
|
|
97
|
+
## Related Packages
|
|
98
|
+
|
|
99
|
+
- [@lionrapid/react](https://www.npmjs.com/package/@lionrapid/react) - React hooks and `<Trans>` component
|
|
100
|
+
- [@lionrapid/formatters](https://www.npmjs.com/package/@lionrapid/formatters) - ICU MessageFormat plugin
|
|
101
|
+
- [@lionrapid/storage](https://www.npmjs.com/package/@lionrapid/storage) - LocalStorage and Cache API adapters
|
|
102
|
+
- [@lionrapid/types](https://www.npmjs.com/package/@lionrapid/types) - TypeScript type generation CLI
|
|
103
|
+
|
|
104
|
+
## License
|
|
105
|
+
|
|
106
|
+
MIT
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced event emitter with language change helpers
|
|
3
|
+
* filepath: /home/janrau/tm-integration/packages/core/src/base/event-emitter.ts
|
|
4
|
+
*/
|
|
5
|
+
import type { LionRapidEventEnvelope, LionRapidEventPayloads } from '../types/lionRapid.types.js';
|
|
6
|
+
import type { TranslationRequest } from '../types/translation.types.js';
|
|
7
|
+
type EventListener<T extends Record<string, unknown>, K extends keyof T> = (envelope: LionRapidEventEnvelope<T, K>) => void;
|
|
8
|
+
export declare class EventEmitter {
|
|
9
|
+
private eventListeners;
|
|
10
|
+
private debugMode;
|
|
11
|
+
/**
|
|
12
|
+
* Subscribe to events (PUBLIC API) - Fully type-safe
|
|
13
|
+
*/
|
|
14
|
+
on<K extends keyof LionRapidEventPayloads>(event: K, listener: EventListener<LionRapidEventPayloads, K>): void;
|
|
15
|
+
/**
|
|
16
|
+
* Unsubscribe from events (PUBLIC API) - Fully type-safe
|
|
17
|
+
*/
|
|
18
|
+
off<K extends keyof LionRapidEventPayloads>(event: K, listener: EventListener<LionRapidEventPayloads, K>): void;
|
|
19
|
+
/**
|
|
20
|
+
* ✅ Type-safe emit with proper generic constraint
|
|
21
|
+
*/
|
|
22
|
+
emit<K extends keyof LionRapidEventPayloads>(event: K, envelope: LionRapidEventEnvelope<LionRapidEventPayloads, K>): void;
|
|
23
|
+
hasListeners<K extends keyof LionRapidEventPayloads>(event: K): boolean;
|
|
24
|
+
clearEvents(): void;
|
|
25
|
+
/**
|
|
26
|
+
* ✅ Create base context once per request
|
|
27
|
+
*/
|
|
28
|
+
private createContext;
|
|
29
|
+
/**
|
|
30
|
+
* ✅ Type-safe event emission helper
|
|
31
|
+
*/
|
|
32
|
+
private emitEvent;
|
|
33
|
+
/**
|
|
34
|
+
* ✅ Translation event builder with proper typing
|
|
35
|
+
*/
|
|
36
|
+
translation(request: TranslationRequest, handler?: string): {
|
|
37
|
+
request: () => void;
|
|
38
|
+
success: (value: string) => void;
|
|
39
|
+
fallback: (value: string) => void;
|
|
40
|
+
missing: (fallbackValue: string, locale: string, namespace: string) => void;
|
|
41
|
+
notFound: (fallbackValue: string, locale: string, namespace: string) => void;
|
|
42
|
+
locked: (fallbackValue: string, locale: string, namespace: string) => void;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* ✅ Repository event builder with better typing
|
|
46
|
+
*/
|
|
47
|
+
repo(request: TranslationRequest | string, source: string): {
|
|
48
|
+
getStart: () => void;
|
|
49
|
+
getSuccess: (value: string) => void;
|
|
50
|
+
getMiss: () => void;
|
|
51
|
+
setStart: (value: string) => void;
|
|
52
|
+
setSuccess: (value: string) => void;
|
|
53
|
+
error: (error: Error) => void;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* ✅ Network event builder
|
|
57
|
+
*/
|
|
58
|
+
network(request: TranslationRequest | string, method?: string): {
|
|
59
|
+
start: () => void;
|
|
60
|
+
success: (value: string) => void;
|
|
61
|
+
error: (error: unknown, status?: number) => void;
|
|
62
|
+
retry: (attempt: number, delayMs: number, reason?: string) => void;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* ✅ Builder event builder
|
|
66
|
+
*/
|
|
67
|
+
builder(): {
|
|
68
|
+
use: (type: "plugin" | "sync" | "async" | "network") => void;
|
|
69
|
+
buildStart: (locale: string, namespace: string) => void;
|
|
70
|
+
buildDone: (repositories: string[], plugins: string[]) => void;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* ✅ Language change event builder
|
|
74
|
+
*/
|
|
75
|
+
language(oldLocale: string, newLocale: string): {
|
|
76
|
+
start: () => void;
|
|
77
|
+
complete: () => void;
|
|
78
|
+
error: (error: Error) => void;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* ✅ Cache operations (debug only)
|
|
82
|
+
*/
|
|
83
|
+
cache(operation: 'clear', reason: string, stats?: {
|
|
84
|
+
clearedCount: number;
|
|
85
|
+
}): {
|
|
86
|
+
start: () => void;
|
|
87
|
+
complete: () => void;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/base/event-emitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CACzE,QAAQ,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,KACnC,IAAI,CAAC;AASV,qBAAa,YAAY;IAEvB,OAAO,CAAC,cAAc,CAGlB;IAEJ,OAAO,CAAC,SAAS,CAAmD;IAEpE;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,GACjD,IAAI;IAYP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACxC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,GACjD,IAAI;IASP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACzC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAC1D,IAAI;IAeP,YAAY,CAAC,CAAC,SAAS,MAAM,sBAAsB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAMvE,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM;;yBAYpC,MAAM;0BAOL,MAAM;iCAOC,MAAM,UAAU,MAAM,aAAa,MAAM;kCAYxC,MAAM,UAAU,MAAM,aAAa,MAAM;gCAa3C,MAAM,UAAU,MAAM,aAAa,MAAM;;IAerE;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM;;4BAgBjC,MAAM;;0BAwBR,MAAM;4BAYJ,MAAM;uBASX,KAAK;;IAUxB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;yBAaxC,MAAM;uBAOR,OAAO,WAAW,MAAM;yBAYtB,MAAM,WAAW,MAAM,WAAW,MAAM;;IAS7D;;OAEG;IACH,OAAO;oBAKS,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;6BAO9B,MAAM,aAAa,MAAM;kCAWpB,MAAM,EAAE,WAAW,MAAM,EAAE;;IAazD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;uBAmB1B,KAAK;;IASxB;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE;;;;CAgB3E"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced event emitter with language change helpers
|
|
3
|
+
* filepath: /home/janrau/tm-integration/packages/core/src/base/event-emitter.ts
|
|
4
|
+
*/
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
6
|
+
// ✅ Type-safe listener storage
|
|
7
|
+
// type EventListenerMap = {
|
|
8
|
+
// [K in keyof LionRapidEventPayloads]: Set<
|
|
9
|
+
// EventListener<LionRapidEventPayloads, K>
|
|
10
|
+
// >;
|
|
11
|
+
// };
|
|
12
|
+
export class EventEmitter {
|
|
13
|
+
// ✅ Properly typed event listeners without `any`
|
|
14
|
+
eventListeners = new Map();
|
|
15
|
+
debugMode = process.env.NODE_ENV === 'development';
|
|
16
|
+
/**
|
|
17
|
+
* Subscribe to events (PUBLIC API) - Fully type-safe
|
|
18
|
+
*/
|
|
19
|
+
on(event, listener) {
|
|
20
|
+
if (!this.eventListeners.has(event)) {
|
|
21
|
+
this.eventListeners.set(event, new Set());
|
|
22
|
+
}
|
|
23
|
+
// ✅ Type assertion is safe here because we control the map structure
|
|
24
|
+
const listeners = this.eventListeners.get(event);
|
|
25
|
+
listeners.add(listener);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Unsubscribe from events (PUBLIC API) - Fully type-safe
|
|
29
|
+
*/
|
|
30
|
+
off(event, listener) {
|
|
31
|
+
const listeners = this.eventListeners.get(event);
|
|
32
|
+
if (listeners) {
|
|
33
|
+
listeners.delete(listener);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* ✅ Type-safe emit with proper generic constraint
|
|
38
|
+
*/
|
|
39
|
+
emit(event, envelope) {
|
|
40
|
+
const listeners = this.eventListeners.get(event);
|
|
41
|
+
if (listeners) {
|
|
42
|
+
listeners.forEach(listener => {
|
|
43
|
+
try {
|
|
44
|
+
listener(envelope);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.error(`Error in event listener for ${String(event)}:`, error);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
hasListeners(event) {
|
|
53
|
+
return (this.eventListeners.has(event) && this.eventListeners.get(event).size > 0);
|
|
54
|
+
}
|
|
55
|
+
clearEvents() {
|
|
56
|
+
this.eventListeners.clear();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* ✅ Create base context once per request
|
|
60
|
+
*/
|
|
61
|
+
createContext(requestId, trace, extra) {
|
|
62
|
+
return {
|
|
63
|
+
requestId,
|
|
64
|
+
timestamp: performance.now(),
|
|
65
|
+
trace,
|
|
66
|
+
...extra,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* ✅ Type-safe event emission helper
|
|
71
|
+
*/
|
|
72
|
+
emitEvent(event, payload, requestId, trace) {
|
|
73
|
+
this.emit(event, {
|
|
74
|
+
context: this.createContext(requestId, trace),
|
|
75
|
+
payload,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* ✅ Translation event builder with proper typing
|
|
80
|
+
*/
|
|
81
|
+
translation(request, handler) {
|
|
82
|
+
const baseTrace = ['translation'];
|
|
83
|
+
const handlerTrace = handler ? [...baseTrace, handler] : baseTrace;
|
|
84
|
+
return {
|
|
85
|
+
request: () => {
|
|
86
|
+
this.emit('translation:request', {
|
|
87
|
+
context: this.createContext(request.id, [...baseTrace, 'request']),
|
|
88
|
+
payload: { key: request.cleanKey },
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
success: (value) => {
|
|
92
|
+
this.emit('translation:success', {
|
|
93
|
+
context: this.createContext(request.id, [...handlerTrace, 'success']),
|
|
94
|
+
payload: { key: request.cleanKey, value },
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
fallback: (value) => {
|
|
98
|
+
this.emit('translation:fallback', {
|
|
99
|
+
context: this.createContext(request.id, [...baseTrace, 'fallback']),
|
|
100
|
+
payload: { key: request.cleanKey, value },
|
|
101
|
+
});
|
|
102
|
+
},
|
|
103
|
+
missing: (fallbackValue, locale, namespace) => {
|
|
104
|
+
this.emit('translation:missing', {
|
|
105
|
+
context: this.createContext(request.id, [...baseTrace, 'missing']),
|
|
106
|
+
payload: {
|
|
107
|
+
key: request.cleanKey,
|
|
108
|
+
fallbackValue,
|
|
109
|
+
locale,
|
|
110
|
+
namespace,
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
notFound: (fallbackValue, locale, namespace) => {
|
|
115
|
+
this.emit('translation:not-found', {
|
|
116
|
+
context: this.createContext(request.id, [...baseTrace, 'not-found']),
|
|
117
|
+
payload: {
|
|
118
|
+
key: request.cleanKey,
|
|
119
|
+
fallbackValue,
|
|
120
|
+
locale,
|
|
121
|
+
namespace,
|
|
122
|
+
status: 404,
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
locked: (fallbackValue, locale, namespace) => {
|
|
127
|
+
this.emit('translation:locked', {
|
|
128
|
+
context: this.createContext(request.id, [...baseTrace, 'locked']),
|
|
129
|
+
payload: {
|
|
130
|
+
key: request.cleanKey,
|
|
131
|
+
fallbackValue,
|
|
132
|
+
locale,
|
|
133
|
+
namespace,
|
|
134
|
+
status: 423,
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* ✅ Repository event builder with better typing
|
|
142
|
+
*/
|
|
143
|
+
repo(request, source) {
|
|
144
|
+
const baseTrace = ['repo', source];
|
|
145
|
+
return {
|
|
146
|
+
getStart: () => {
|
|
147
|
+
if (typeof request === 'string')
|
|
148
|
+
return;
|
|
149
|
+
this.emit('repo:get:start', {
|
|
150
|
+
context: this.createContext(request.id, [
|
|
151
|
+
...baseTrace,
|
|
152
|
+
'get',
|
|
153
|
+
'start',
|
|
154
|
+
]),
|
|
155
|
+
payload: { key: request.cleanKey, source },
|
|
156
|
+
});
|
|
157
|
+
},
|
|
158
|
+
getSuccess: (value) => {
|
|
159
|
+
if (typeof request === 'string')
|
|
160
|
+
return;
|
|
161
|
+
this.emit('repo:get:success', {
|
|
162
|
+
context: this.createContext(request.id, [
|
|
163
|
+
...baseTrace,
|
|
164
|
+
'get',
|
|
165
|
+
'success',
|
|
166
|
+
]),
|
|
167
|
+
payload: { key: request.cleanKey, value, source },
|
|
168
|
+
});
|
|
169
|
+
},
|
|
170
|
+
getMiss: () => {
|
|
171
|
+
if (typeof request === 'string')
|
|
172
|
+
return;
|
|
173
|
+
this.emit('repo:get:miss', {
|
|
174
|
+
context: this.createContext(request.id, [
|
|
175
|
+
...baseTrace,
|
|
176
|
+
'get',
|
|
177
|
+
'miss',
|
|
178
|
+
]),
|
|
179
|
+
payload: { key: request.cleanKey, source },
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
setStart: (value) => {
|
|
183
|
+
if (typeof request === 'string')
|
|
184
|
+
return;
|
|
185
|
+
this.emit('repo:set:start', {
|
|
186
|
+
context: this.createContext(request.id, [
|
|
187
|
+
...baseTrace,
|
|
188
|
+
'set',
|
|
189
|
+
'start',
|
|
190
|
+
]),
|
|
191
|
+
payload: { key: request.cleanKey, value, source },
|
|
192
|
+
});
|
|
193
|
+
},
|
|
194
|
+
setSuccess: (value) => {
|
|
195
|
+
const id = typeof request === 'string' ? 'system' : request.id;
|
|
196
|
+
const key = typeof request === 'string' ? request : request.cleanKey;
|
|
197
|
+
this.emit('repo:set:success', {
|
|
198
|
+
context: this.createContext(id, [...baseTrace, 'set', 'success']),
|
|
199
|
+
payload: { key: key, value, source },
|
|
200
|
+
});
|
|
201
|
+
},
|
|
202
|
+
error: (error) => {
|
|
203
|
+
if (typeof request === 'string')
|
|
204
|
+
return;
|
|
205
|
+
this.emit('repo:error', {
|
|
206
|
+
context: this.createContext(request.id, [...baseTrace, 'error']),
|
|
207
|
+
payload: { key: request.cleanKey, source, error },
|
|
208
|
+
});
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* ✅ Network event builder
|
|
214
|
+
*/
|
|
215
|
+
network(request, method) {
|
|
216
|
+
const key = typeof request === 'string' ? request : request.cleanKey;
|
|
217
|
+
const requestId = typeof request === 'string' ? 'network' : request.id;
|
|
218
|
+
const baseTrace = ['network', method || 'request'];
|
|
219
|
+
return {
|
|
220
|
+
start: () => {
|
|
221
|
+
this.emit('network:request:start', {
|
|
222
|
+
context: this.createContext(requestId, [...baseTrace, 'start']),
|
|
223
|
+
payload: { key },
|
|
224
|
+
});
|
|
225
|
+
},
|
|
226
|
+
success: (value) => {
|
|
227
|
+
this.emit('network:request:success', {
|
|
228
|
+
context: this.createContext(requestId, [...baseTrace, 'success']),
|
|
229
|
+
payload: { key, value, method: method || 'GET' },
|
|
230
|
+
});
|
|
231
|
+
},
|
|
232
|
+
error: (error, status) => {
|
|
233
|
+
this.emit('network:request:error', {
|
|
234
|
+
context: this.createContext(requestId, [...baseTrace, 'error']),
|
|
235
|
+
payload: {
|
|
236
|
+
key,
|
|
237
|
+
method: method || 'GET',
|
|
238
|
+
error,
|
|
239
|
+
...(status && { status }),
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
},
|
|
243
|
+
retry: (attempt, delayMs, reason) => {
|
|
244
|
+
this.emit('network:retry', {
|
|
245
|
+
context: this.createContext(requestId, [...baseTrace, 'retry']),
|
|
246
|
+
payload: { key, attempt, delayMs, ...(reason && { reason }) },
|
|
247
|
+
});
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* ✅ Builder event builder
|
|
253
|
+
*/
|
|
254
|
+
builder() {
|
|
255
|
+
const baseTrace = ['builder'];
|
|
256
|
+
const systemId = `build-${Date.now()}`;
|
|
257
|
+
return {
|
|
258
|
+
use: (type) => {
|
|
259
|
+
this.emit('builder:use', {
|
|
260
|
+
context: this.createContext(systemId, [...baseTrace, 'use']),
|
|
261
|
+
payload: { type },
|
|
262
|
+
});
|
|
263
|
+
},
|
|
264
|
+
buildStart: (locale, namespace) => {
|
|
265
|
+
this.emit('builder:build:start', {
|
|
266
|
+
context: this.createContext(systemId, [
|
|
267
|
+
...baseTrace,
|
|
268
|
+
'build',
|
|
269
|
+
'start',
|
|
270
|
+
]),
|
|
271
|
+
payload: { locale, namespace },
|
|
272
|
+
});
|
|
273
|
+
},
|
|
274
|
+
buildDone: (repositories, plugins) => {
|
|
275
|
+
this.emit('builder:build:done', {
|
|
276
|
+
context: this.createContext(systemId, [
|
|
277
|
+
...baseTrace,
|
|
278
|
+
'build',
|
|
279
|
+
'done',
|
|
280
|
+
]),
|
|
281
|
+
payload: { repositories, plugins },
|
|
282
|
+
});
|
|
283
|
+
},
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* ✅ Language change event builder
|
|
288
|
+
*/
|
|
289
|
+
language(oldLocale, newLocale) {
|
|
290
|
+
const requestId = `lang-change-${Date.now()}`;
|
|
291
|
+
const baseTrace = ['language', 'change'];
|
|
292
|
+
return {
|
|
293
|
+
start: () => {
|
|
294
|
+
this.emit('language:change:start', {
|
|
295
|
+
context: this.createContext(requestId, [...baseTrace, 'start']),
|
|
296
|
+
payload: { oldLocale, newLocale },
|
|
297
|
+
});
|
|
298
|
+
},
|
|
299
|
+
complete: () => {
|
|
300
|
+
this.emit('language:change:success', {
|
|
301
|
+
context: this.createContext(requestId, [...baseTrace, 'complete']),
|
|
302
|
+
payload: { oldLocale, newLocale },
|
|
303
|
+
});
|
|
304
|
+
},
|
|
305
|
+
error: (error) => {
|
|
306
|
+
this.emit('language:change:error', {
|
|
307
|
+
context: this.createContext(requestId, [...baseTrace, 'error']),
|
|
308
|
+
payload: { oldLocale, newLocale, error },
|
|
309
|
+
});
|
|
310
|
+
},
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* ✅ Cache operations (debug only)
|
|
315
|
+
*/
|
|
316
|
+
cache(operation, reason, stats) {
|
|
317
|
+
// Only emit in debug mode
|
|
318
|
+
if (!this.debugMode)
|
|
319
|
+
return { start: () => { }, complete: () => { } };
|
|
320
|
+
return {
|
|
321
|
+
start: () => {
|
|
322
|
+
logger.debug(`🧹 Cache ${operation} starting: ${reason}`);
|
|
323
|
+
},
|
|
324
|
+
complete: () => {
|
|
325
|
+
logger.debug(`✅ Cache ${operation} complete: ${stats?.clearedCount || 0} entries`);
|
|
326
|
+
},
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=event-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/base/event-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-Init for Browser Bundle
|
|
3
|
+
* Reads script tag attributes and auto-configures LionRapid
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* <script
|
|
7
|
+
* src="https://cdn.lionrapid.com/lionrapid.min.js"
|
|
8
|
+
* data-api-key="pk_live_xxx"
|
|
9
|
+
* data-default-locale="en"
|
|
10
|
+
* data-namespace="default"
|
|
11
|
+
* data-languages="en,es,fr,de"
|
|
12
|
+
* ></script>
|
|
13
|
+
*/
|
|
14
|
+
import { AutoTranslator } from './auto-translator.js';
|
|
15
|
+
import { LanguageSwitcher } from './language-switcher.js';
|
|
16
|
+
export interface AutoInitConfig {
|
|
17
|
+
apiKey: string;
|
|
18
|
+
baseUrl: string;
|
|
19
|
+
defaultLocale: string;
|
|
20
|
+
namespace: string;
|
|
21
|
+
languages: string[];
|
|
22
|
+
excludeSelectors: string[];
|
|
23
|
+
autoDetect: boolean;
|
|
24
|
+
mode: 'full' | 'dynamic-only';
|
|
25
|
+
switcherStyle?: string;
|
|
26
|
+
switcherPosition?: string;
|
|
27
|
+
switcherShowFlags?: boolean;
|
|
28
|
+
switcherShowNames?: boolean;
|
|
29
|
+
switcherCustomCss?: string;
|
|
30
|
+
}
|
|
31
|
+
declare global {
|
|
32
|
+
interface Window {
|
|
33
|
+
LionRapid: LionRapidInstance | undefined;
|
|
34
|
+
__lionrapidConfig?: AutoInitConfig;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export interface LionRapidInstance {
|
|
38
|
+
t: (key: string, params?: Record<string, unknown>, defaultValue?: string) => string;
|
|
39
|
+
tHtml: (key: string, params?: Record<string, unknown>, defaultValue?: string) => string;
|
|
40
|
+
changeLanguage: (locale: string) => Promise<void>;
|
|
41
|
+
getCurrentLocale: () => string;
|
|
42
|
+
on: (event: string, callback: (payload: unknown) => void) => void;
|
|
43
|
+
retranslate: () => void;
|
|
44
|
+
reloadTranslations: () => Promise<void>;
|
|
45
|
+
autoTranslator: AutoTranslator;
|
|
46
|
+
languageSwitcher: LanguageSwitcher;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Parse script tag attributes
|
|
50
|
+
*/
|
|
51
|
+
declare function parseConfig(script: HTMLScriptElement): AutoInitConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Initialize LionRapid from script tag
|
|
54
|
+
*/
|
|
55
|
+
declare function autoInit(): Promise<void>;
|
|
56
|
+
export { autoInit, parseConfig };
|
|
57
|
+
//# sourceMappingURL=auto-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-init.d.ts","sourceRoot":"","sources":["../../src/browser/auto-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,SAAS,EAAE,iBAAiB,GAAG,SAAS,CAAC;QACzC,iBAAiB,CAAC,EAAE,cAAc,CAAC;KACpC;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpF,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACxF,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAClE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAsC9D;AAqCD;;GAEG;AACH,iBAAe,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgOvC;AAKD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
|