@lionrapid/core 0.6.4 → 0.6.5

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 (39) hide show
  1. package/dist/browser/auto-init.d.ts.map +1 -1
  2. package/dist/browser/auto-init.js +2 -1
  3. package/dist/browser/auto-init.js.map +1 -1
  4. package/dist/browser/lionrapid.auto.dev.js +73 -9
  5. package/dist/browser/lionrapid.auto.dev.js.map +3 -3
  6. package/dist/browser/lionrapid.auto.js +73 -9
  7. package/dist/browser/lionrapid.auto.js.map +3 -3
  8. package/dist/browser/lionrapid.auto.min.js +4 -4
  9. package/dist/browser/lionrapid.auto.min.js.map +4 -4
  10. package/dist/browser/lionrapid.esm.js +77 -9
  11. package/dist/browser/lionrapid.esm.js.map +3 -3
  12. package/dist/browser/lionrapid.esm.min.js +3 -3
  13. package/dist/browser/lionrapid.esm.min.js.map +4 -4
  14. package/dist/browser/lionrapid.iife.dev.js +77 -9
  15. package/dist/browser/lionrapid.iife.dev.js.map +3 -3
  16. package/dist/browser/lionrapid.iife.js +77 -9
  17. package/dist/browser/lionrapid.iife.js.map +3 -3
  18. package/dist/browser/lionrapid.iife.min.js +3 -3
  19. package/dist/browser/lionrapid.iife.min.js.map +4 -4
  20. package/dist/browser/lionrapid.umd.js +77 -9
  21. package/dist/browser/lionrapid.umd.js.map +3 -3
  22. package/dist/browser/lionrapid.umd.min.js +3 -3
  23. package/dist/browser/lionrapid.umd.min.js.map +4 -4
  24. package/dist/browser/storage/cache-names.d.ts +51 -0
  25. package/dist/browser/storage/cache-names.d.ts.map +1 -0
  26. package/dist/browser/storage/cache-names.js +51 -0
  27. package/dist/browser/storage/cache-names.js.map +1 -0
  28. package/dist/browser/storage/cache-storage-repository.d.ts.map +1 -1
  29. package/dist/browser/storage/cache-storage-repository.js +6 -2
  30. package/dist/browser/storage/cache-storage-repository.js.map +1 -1
  31. package/dist/index.d.ts +3 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +11 -5
  34. package/dist/index.js.map +1 -1
  35. package/dist/utils/locale.d.ts +50 -7
  36. package/dist/utils/locale.d.ts.map +1 -1
  37. package/dist/utils/locale.js +83 -15
  38. package/dist/utils/locale.js.map +1 -1
  39. package/package.json +2 -1
@@ -371,6 +371,65 @@ function normalizeLocale(tag) {
371
371
  }
372
372
  return out.join("-");
373
373
  }
374
+ var ISO639_2_TO_1 = Object.freeze({
375
+ ara: "ar",
376
+ ben: "bn",
377
+ bul: "bg",
378
+ ces: "cs",
379
+ cmn: "zh",
380
+ dan: "da",
381
+ deu: "de",
382
+ ell: "el",
383
+ eng: "en",
384
+ est: "et",
385
+ fas: "fa",
386
+ fin: "fi",
387
+ fra: "fr",
388
+ heb: "he",
389
+ hin: "hi",
390
+ hrv: "hr",
391
+ hun: "hu",
392
+ ind: "id",
393
+ isl: "is",
394
+ ita: "it",
395
+ jpn: "ja",
396
+ kor: "ko",
397
+ lav: "lv",
398
+ lit: "lt",
399
+ msa: "ms",
400
+ nld: "nl",
401
+ nor: "no",
402
+ pol: "pl",
403
+ por: "pt",
404
+ ron: "ro",
405
+ rus: "ru",
406
+ slk: "sk",
407
+ slv: "sl",
408
+ spa: "es",
409
+ srp: "sr",
410
+ swe: "sv",
411
+ tha: "th",
412
+ tur: "tr",
413
+ ukr: "uk",
414
+ urd: "ur",
415
+ vie: "vi",
416
+ yid: "yi",
417
+ zho: "zh"
418
+ });
419
+ function localeCandidates(tag) {
420
+ const normalized = tag.trim().toLowerCase();
421
+ if (!normalized) return [];
422
+ const parts = normalized.split("-");
423
+ const out = [];
424
+ while (parts.length > 0) {
425
+ const candidate = parts.join("-");
426
+ if (!out.includes(candidate)) out.push(candidate);
427
+ const twoLetter = ISO639_2_TO_1[candidate];
428
+ if (twoLetter && !out.includes(twoLetter)) out.push(twoLetter);
429
+ parts.pop();
430
+ }
431
+ return out;
432
+ }
374
433
  function matchLocale(requested, available, fallback) {
375
434
  if (available.length === 0) return fallback;
376
435
  const avail = available.map((raw) => ({
@@ -379,12 +438,10 @@ function matchLocale(requested, available, fallback) {
379
438
  }));
380
439
  for (const req of requested) {
381
440
  if (!req) continue;
382
- const reqLower = normalizeLocale(req).toLowerCase();
383
- const exact = avail.find((a) => a.lower === reqLower);
384
- if (exact) return exact.raw;
385
- const primary = primarySubtag(req);
386
- const byPrimary = avail.find((a) => a.lower === primary);
387
- if (byPrimary) return byPrimary.raw;
441
+ for (const candidate of localeCandidates(req)) {
442
+ const hit = avail.find((a) => a.lower === candidate);
443
+ if (hit) return hit.raw;
444
+ }
388
445
  }
389
446
  return fallback;
390
447
  }
@@ -5383,9 +5440,16 @@ var LocalStorageRepository = class {
5383
5440
  }
5384
5441
  };
5385
5442
 
5443
+ // src/browser/storage/cache-names.ts
5444
+ var CORE_CACHE_NAMES = Object.freeze({
5445
+ translations: "lionrapid-v1",
5446
+ offlineFloor: "lionrapid-offline-v1"
5447
+ });
5448
+ var CORE_CACHE_ENTRY_PREFIX = "https://cache.lionrapid.internal/";
5449
+
5386
5450
  // src/browser/storage/cache-storage-repository.ts
5387
- var CACHE_NAME = "lionrapid-v1";
5388
- var CACHE_PREFIX = "https://cache.lionrapid.internal/";
5451
+ var CACHE_NAME = CORE_CACHE_NAMES.translations;
5452
+ var CACHE_PREFIX = CORE_CACHE_ENTRY_PREFIX;
5389
5453
  var CacheStorageRepository = class {
5390
5454
  constructor(config = {}) {
5391
5455
  __publicField(this, "name", "CacheStorageRepository");
@@ -5586,8 +5650,10 @@ var CacheStorageRepository = class {
5586
5650
  };
5587
5651
 
5588
5652
  // src/index.ts
5589
- var VERSION = "1.0.0";
5653
+ var VERSION = "0.6.5";
5590
5654
  export {
5655
+ CORE_CACHE_ENTRY_PREFIX,
5656
+ CORE_CACHE_NAMES,
5591
5657
  CacheManager,
5592
5658
  CacheStorageRepository,
5593
5659
  Colors,
@@ -5596,6 +5662,7 @@ export {
5596
5662
  ExcludeFilter,
5597
5663
  HTMLSerializer,
5598
5664
  HandlerChain,
5665
+ ISO639_2_TO_1,
5599
5666
  LOCALE_TAG_REGEX,
5600
5667
  LionRapidBuilder,
5601
5668
  LionRapidCore,
@@ -5624,6 +5691,7 @@ export {
5624
5691
  isClientError,
5625
5692
  isRetryableError,
5626
5693
  isTranslationError,
5694
+ localeCandidates,
5627
5695
  localeDir,
5628
5696
  logger,
5629
5697
  matchLocale,